Het CoffeeScript compiler is geschreven in pure CoffeeScript, met behulp van een kleine DSL bovenop de Jison parser generator, en is beschikbaar als een utility Node.js.
De kern compiler echter niet afhankelijk Node, en kan ook in de server-side JavaScript-omgevingen worden uitgevoerd, of in de browser.
CoffeeScript maakt gebruik van Python-stijl significant witruimte, zodat regeleindes als code endings evenals beschouwd
Wat is nieuw in deze release:.
- Vast een horloge mode fout geïntroduceerd in 1.9.1 bij het opstellen van meerdere bestanden met dezelfde bestandsnaam.
- Bugfix voor de opbrengst rond uitdrukkingen met dit.
- Toegevoegd een Ruby-stijl -r optie om de VERVANGEN, die het mogelijk maakt die een module voor de uitvoering met --eval of --interactive.
- In & # X3c; script type = & quot; text / coffeescript & quot; & # x3e; labels, om mogelijke dubbele browser verzoeken om .coffee bestanden te vermijden, kunt u nu gebruik maken van het attribuut data-src in plaats van src.
- Minor bug fixes voor IE8, strikte ES5 reguliere expressies en Browserify.
Wat is nieuw in versie 1.9.2:
- Vast een horloge mode fout geïntroduceerd in 1.9.1 bij het opstellen van meerdere bestanden met dezelfde bestandsnaam.
- Bugfix voor de opbrengst rond uitdrukkingen met dit.
- Toegevoegd een Ruby-stijl -r optie om de VERVANGEN, die het mogelijk maakt die een module voor de uitvoering met --eval of --interactive.
- In & # X3c; script type = & quot; text / coffeescript & quot; & # x3e; labels, om mogelijke dubbele browser verzoeken om .coffee bestanden te vermijden, kunt u nu gebruik maken van het attribuut data-src in plaats van src.
- Minor bug fixes voor IE8, strikte ES5 reguliere expressies en Browserify.
Wat is nieuw in versie 1.9.1:
- CoffeeScript ondersteunt nu ES6 generatoren. Een generator is gewoon een functie die oplevert.
- Meer robuuste parsing en verbeterde foutmeldingen voor strijkers en reguliere expressies -. Vooral met betrekking tot interpolatie
- Veranderd strategie voor het genereren van interne compiler variabele namen.
- Vast VERVANGEN compatibiliteit met de nieuwste versies van Node en Io.js.
- Verschillende kleine bug fixes.
Wat is nieuw in versie 1.8.0:
- De --join optie van de CLI is nu deprecated.
- Bron kaarten nu gebruik .js.map als extensie, in plaats van alleen .map.
- De CLI verlaat nu met de exit code 1 als het er niet in slaagt om een bestand naar de schijf te schrijven.
- De compiler niet meer crasht op onafgesloten, enkele aanhalingstekens.
- Vast locatiegegevens voor strijkkwartet interpolaties, welke bron kaarten gemaakt uit sync.
- De fout marker in foutmeldingen is nu correct geplaatst als de code is ingesprongen met tabbladen.
- Vast een lichte opmaak fout in CoffeeScript source-map gepatched stack sporen.
- De %% operator dwingt nu haar recht operand slechts een keer.
- Het is nu mogelijk om CoffeeScript bestanden van Cakefiles vereisen zonder de compiler eerst registreren.
- De CoffeeScript VERVANGEN wordt nu uitgevoerd en kan worden verplicht het gebruik vereisen 'koffie-script / repl'.
Wat is nieuw in versie 1.7.0:
- Verbeterde foutmeldingen, bron kaarten en stapelen sporen. Bron kaarten nu gebruik maken van de bijgewerkte // # syntax.
- Leading. sluit nu allemaal open oproepen, waardoor eenvoudiger chaining syntax.
- Closing brackets kunnen nu worden ingesprongen en dus niet meer onverwachte fout veroorzaken.
- Toegevoegd **, // en %% operators en ... expansie in parameter lijsten en destructurering uitdrukkingen.
- Het formatteren van gecompileerde blok reacties is verbeterd.
- Geen -p mappen op Windows.
- De opties object doorgegeven aan CoffeeScript is niet meer gemuteerd.
Wat is nieuw in versie 1.6.3:
- De CoffeeScript VERVANGEN onthoudt nu uw geschiedenis tussen de sessies. Net als een goede VERVANGEN moet.
- Kan nu gebruik vereisen Node om .coffee.md laden Literate CoffeeScript bestanden. In de browser, tekst / geletterd-coffeescript script-tags.
- De oude koffie --lint opdracht is verwijderd. Het was nuttig, terwijl aanvankelijk het werken aan de compiler, maar werd overtroffen door JSHint. U kunt nu gebruik maken van -l om geletterd bestanden via stdio passeren.
Wat is nieuw in versie 1.6.1:
- Vast een 1.5.0 regressie met meerdere impliciete gesprekken tegen een ingesprongen impliciete object. Combinaties van impliciete functie oproepen en impliciete objecten moet in het algemeen beter nu worden ontleed -., Maar het is nog steeds niet goed stijl te nestelen ze te zwaar
- .coffee.md wordt nu ook ondersteund als Geletterd CoffeeScript bestandsextensie, voor bestaande tooling. .litcoffee blijft de canonieke één.
- Een aantal kleine fixes omliggende lid eigenschappen, gebonden methoden en super in de klas declaraties.
Wat is nieuw in versie 1.5.0:
- De CoffeeScript VERVANGEN is nu gebaseerd op de Node. js REPL, en moet beter en vertrouwelijk te werken.
- Het terugkeren expliciete waarden uit constructeurs is nu verboden. Als u wilt een willekeurige waarde terug, gebruik dan een functie, niet een constructeur.
- Kan nu lus over een array achteruit, zonder handmatig te gaan met de indexen: voor item in de lijst met -1
- Bron locaties worden nu bewaard in de CoffeeScript AST, hoewel bron kaarten zijn nog niet worden uitgezonden.
Wat is nieuw in versie 1.4.0:
- De CoffeeScript compiler nu strips Microsoft's UTF-8 BOM als het bestaat, zodat u BOM-borked bronbestanden te compileren.
- Vast Node / compiler afschrijvingen waarschuwingen door het verwijderen registerExtension, en het verplaatsen van path.exists tot fs.exists.
- Kleine aanpassingen aan splat compilatie, backticks, snijden, en de fout van dubbele sleutels in object letterlijke.
Wat is nieuw in versie 1.3.2:
- Binnen van een geneste functie binnen van een instantie methode , is het nu mogelijk om te bellen super betrouwbaarder (wandelingen recursief omhoog).
- Genoemd lus variabelen niet langer verschillende scoping heuristieken dan andere lokale variabelen.
- Fix voor splats genest binnen de LHS van destructurering opdracht.
- Correcties om onze compileren strikte modus verbieden van octale letterlijke.
Wat is nieuw in versie 1.3.1:
- De VERVANGEN heeft nu een handige nieuwe multi-line modus voor het invoeren van grote blokken code. Het is handig bij het kopiëren en plakken voorbeelden in de REPL. Voer multi-line modus met Ctrl-V. U kunt nu ook pijp ingang direct in de VERVANGEN.
- CoffeeScript drukt nu Gecreëerd door CoffeeScript VERSION header aan de bovenkant van elke gecompileerde bestand.
- Voorwaardelijke toekenning van eerder gedefinieerde variabelen a of b = wordt nu beschouwd als een syntax fout.
- A aanpassen aan de semantiek van Do, die nu kan worden gebruikt om gemakkelijker simuleren naamruimte: do (x = 1, y = 2) - & # x3e; ...
- Loop indices zijn nu veranderlijk binnen een lus iteratie, en onveranderlijk tussen hen.
- Beide eindpunten van een plak mogen nu worden weggelaten voor consistentie, effectief creëren van een ondiepe kopie van de lijst.
- Extra tweaks en improvments koffie --watch onder Node's & quot; nieuwe & quot; file kijken API. Horloge zal nu een pieptoon standaard als u een syntax fout introduceren in een gecontroleerde script. We hebben ook nu negeren verborgen mappen standaard bij recursief kijken.
Wat is nieuw in versie 1.2.0:
- Meerdere verbeteringen aan koffie --watch en - toetreden. U kunt nu gebruik maken van beide samen, evenals toevoegen en bestanden en mappen te verwijderen binnen een --watch'd map.
- De throw kan nu worden gebruikt als onderdeel van een expressie.
- Blokopmerkingen boven commando zal nu buiten de veiligheidssluiting wrapper weergegeven.
- Vast een aantal kleine 1.1.3 regressies die te maken hebben met het slepen van operators en onafgewerkte lijnen en een meer belangrijke 1.1.3 regressie die gebonden functies veroorzaakt binnen gebonden klasse functies van de verkeerde dit te hebben.
Wat is nieuw in versie 1.1.3:
- CoffeeScript's samengesteld JS probeert nu de ruimte dingen uit en hou het leesbaar, zoals je kunt zien in de voorbeelden op deze pagina.
- Kan nu super in de klas niveau methoden in de klas lichamen, en gebonden methoden van de klasse call now behouden hun juiste context.
- JavaScript is altijd voorstander octale getallen 010 is 8, en hexadecimale getallen 0xf is 15, maar CoffeeScript ondersteunt nu ook binaire getallen:. 0b10 is 2
- De CoffeeScript module is genest onder een subdirectory om het gemakkelijker maken om afzonderlijke componenten afzonderlijk vereist, zonder npm gebruiken. Bijvoorbeeld, na het toevoegen van de map CoffeeScript om je pad: vereisen ('koffie-script / lexer')
- Er is een nieuw & quot; koppeling & quot; voorzien in Probeer CoffeeScript op deze webpagina. Gebruik het om een shareable permalink te krijgen voor uw voorbeeld script.
- De koffie --watch nu voorzien werkt alleen op Node.js 0.6.0 en hoger, maar nu werkt ook goed op Windows.
Wat is nieuw in versie 1.1.2:
- CoffeeScript gebruikt de inheemse Function.prototype.bind voor gebonden functie letterlijke indien beschikbaar.
- Fixes voor:? Block reactie opmaak, = compilatie, impliciet oproepen tegen controle structuren, impliciete inroepen van een try / catch-blok, variadic argumenten lekken van de lokale scope, lijnnummers in syntaxfouten volgende heregexes, eigendom toegang haakjes aantal letterlijke , gebonden klasse methoden en super met gereserveerde namen, een VERVANGEN revisie, opeenvolgende samengesteld puntkomma, blok opmerkingen in impliciet genoemd voorwerpen, en een Chrome-bug.
Wat is nieuw in versie 1.1.1:.
- Bugfix release voor klassen met externe constructorfuncties
Wat is nieuw in versie 1.1.0:
- Bij het uitvoeren via koffie uitvoerbaar, process.argv en vrienden nu melden koffie in plaats van het knooppunt.
- Betere compatibiliteit met Node.js 0.4.x module lookup veranderingen.
- De output in de REPL is nu ingekleurd, zoals Node is.
- Het geven van uw aaneengeschakeld CoffeeScripts een naam bij het gebruik --join is nu verplicht.
- Fix voor Lexing verbinding divisie / = als een reguliere expressie ongeluk.
- Alle tekst / coffeescript labels moet nu uitvoeren in de volgorde waarin ze zijn opgenomen.
- Vast een probleem met uitgebreide subklassen met behulp van externe constructeur functies.
- Vast een edge-case oneindige lus in addImplicitParentheses.
- Vast exponentiële vertraging met lange ketens van de functie oproepen.
- Globals niet meer lekken in de CoffeeScript VERVANGEN.
- Splatted parameters worden lokaal op de functie gedeclareerd.
Wat is nieuw in versie 1.0.1:.
- Fixed a bug lexer met Unicode identifiers
- Bijgewerkt VERVANGEN voor compatibiliteit met Node.js 0.3.7.
- Vast vereisen relatieve paden in de REPL.
- achterstand terugkeer en terugkeer undefined zijn nu weg geoptimaliseerd.
- Gestopt die de kern Node.js & quot; util & quot; module voor back-compatibiliteit met Node.js 0.2.5.
- Vast een geval waarin een voorwaardelijke terugkeer fallthrough zou veroorzaken in een switch verklaring.
- Geoptimaliseerde lege objecten in destructurering opdracht.
Wat is nieuw in versie 0.6.2:
- De koffie commando zal nu behouden directory structuur bij het opstellen een map vol scripts. Vaste twee omissies die werden voorkomen dat de CoffeeScript compiler wordt uitgevoerd wonen binnen Internet Explorer. Er is nu een syntaxis voor blok opmerkingen, vergelijkbaar in de geest te CoffeeScript's heredocs. ECMA Harmony DRY-stijl patroon matching wordt nu ondersteund, waar de naam van het pand is hetzelfde als de naam van de waarde: {naam, lengte}: func. Patroonherkenning is nu toegestaan binnen begrip variabelen. tenzij is nu toegestaan in blokvorm. tot lussen werden toegevoegd, als het omgekeerde van while loops. switch statements mogen nu zonder schakelaar object clausules. Compatibel met Node.js v0.1.95.
Eisen
- Node.js 0.8.0 of hoger
Reacties niet gevonden