Ο compiler CoffeeScript είναι γραμμένο σε καθαρή CoffeeScript, χρησιμοποιώντας ένα μικρό DSL στην κορυφή της γεννήτριας αναλυτή Jison, και είναι διαθέσιμο ως ένα βοηθητικό πρόγραμμα Node.js.
Ο πυρήνας compiler, ωστόσο, δεν εξαρτάται από Κόμβος, και μπορεί να τρέξει σε άλλα περιβάλλοντα server-side-το JavaScript, ή στο πρόγραμμα περιήγησης.
CoffeeScript χρησιμοποιεί Python στιλ σημαντικά κενά, τόσο οι απολήξεις γραμμής θεωρούνται απολήξεις κωδικός καθώς
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Διορθώθηκε ένα σφάλμα λειτουργία ρολόι εισήχθη σε 1.9.1 κατά την κατάρτιση των πολλαπλών αρχείων με το ίδιο όνομα.
- Διόρθωση bug για απόδοση γύρω από τις εκφράσεις που περιέχουν αυτό.
- Προστέθηκε Ruby στιλ επιλογή -r για το REPL, η οποία επιτρέπει απαιτείται μονάδα πριν από την εκτέλεση με --eval ή --interactive.
- Στο & # X3C? Script type = & quot? Text / CoffeeScript & quot? & # X3e? ετικέτες, για να αποφευχθούν πιθανές διπλές αιτήσεις για το πρόγραμμα περιήγησης .coffee αρχεία, μπορείτε τώρα να χρησιμοποιήσετε το χαρακτηριστικό δεδομένων src αντί του SRC.
- Μικρά διορθώσεις σφαλμάτων για IE8, αυστηρή ES5 κανονικές εκφράσεις και Browserify.
Τι είναι καινούργιο στην έκδοση 1.9.2:
- Διορθώθηκε ένα σφάλμα λειτουργία ρολόι εισήχθη σε 1.9.1 κατά την κατάρτιση πολλαπλά αρχεία με το ίδιο όνομα.
- Διόρθωση bug για απόδοση γύρω από τις εκφράσεις που περιέχουν αυτό.
- Προστέθηκε Ruby στιλ επιλογή -r για το REPL, η οποία επιτρέπει απαιτείται μονάδα πριν από την εκτέλεση με --eval ή --interactive.
- Στο & # X3C? Script type = & quot? Text / CoffeeScript & quot? & # X3e? ετικέτες, για να αποφευχθούν πιθανές διπλές αιτήσεις για το πρόγραμμα περιήγησης .coffee αρχεία, μπορείτε τώρα να χρησιμοποιήσετε το χαρακτηριστικό δεδομένων src αντί του SRC.
- Μικρά διορθώσεις σφαλμάτων για IE8, αυστηρή ES5 κανονικές εκφράσεις και Browserify.
Τι είναι καινούργιο στην έκδοση 1.9.1:
- CoffeeScript υποστηρίζει τώρα ES6 γεννήτριες. Μια γεννήτρια είναι απλώς μια λειτουργία που παράγει.
- Περισσότερα ισχυρή ανάλυση και τη βελτιωμένη λάθους για έγχορδα και regexes -., Ιδίως όσον αφορά την παρεμβολή
- Αλλαγή στρατηγικής για την δημιουργία της εσωτερικής compiler ονόματα των μεταβλητών.
- Σταθερή συμβατότητα REPL με τις τελευταίες εκδόσεις του κόμβου και Io.js.
- Διάφορα μικρές διορθώσεις σφαλμάτων.
Μηνύματα
Τι είναι καινούργιο στην έκδοση 1.8.0:
- Η --join επιλογή του CLI είναι τώρα αποδοκιμαστεί.
- Πηγή χάρτες πλέον να χρησιμοποιούν .js.map ως επέκταση του αρχείου, αντί απλώς .map.
- Το CLI βγαίνει τώρα με τον κωδικό εξόδου 1 όταν αποτυγχάνει να γράψει ένα αρχείο στο δίσκο.
- Ο compiler δεν κολλάει στο τερματισμένο, ενιαίο εισαγωγικά.
- Σταθερή δεδομένα θέσης για παρεμβολές χορδών, η οποία έκανε χάρτες πηγή εκτός συγχρονισμού.
- Ο δείκτης σφάλματος σε μηνύματα λάθους είναι πλέον τοποθετηθεί σωστά, εάν ο κωδικός έχει εσοχή με καρτέλες.
- Διορθώθηκε ένα μικρό μορφοποίηση λάθος στην πηγή χάρτη-patched στοίβα ίχνη CoffeeScript του.
- Ο χειριστής %% εξαναγκάζει τώρα δεξιά του τελεστή της μόνο μία φορά.
- Τώρα είναι δυνατόν να απαιτείται CoffeeScript αρχεία από Cakefiles χωρίς να χρειάζεται να καταχωρήσετε το μεταγλωττιστή πρώτα.
- Η CoffeeScript REPL τώρα εξάγονται και μπορεί να απαιτείται χρήση απαιτούν «καφέ-γραφή / repl».
Τι είναι καινούργιο στην έκδοση 1.7.0:
- Βελτιωμένη μηνύματα λάθους, χάρτες πηγή και στοίβα ίχνη. Πηγή χάρτες χρησιμοποιούν πλέον την ενημερωμένη // # σύνταξη.
- Κορυφαίοι. κλείνει τώρα όλες τις ανοιχτές προσκλήσεις, επιτρέποντας την εύκολη σύνταξη αλυσιδωτή σύνδεση.
- κλεισίματος μπορεί τώρα να είναι στοιχισμένες και ως εκ τούτου δεν προκαλούν πλέον αναμενόμενο σφάλμα.
- Προστέθηκε **, // και %% επιχειρηματίες και ... επέκταση στις λίστες των παραμέτρων και εκφράσεις αποδόμησης.
- Η μορφοποίηση του καταρτίζονται σχόλια μπλοκ έχει βελτιωθεί.
- Δεν υπάρχει πλέον -p φακέλων στα Windows.
- Οι επιλογές αντικειμένου που μεταβιβάστηκε στην CoffeeScript δεν είναι πλέον μεταλλαχθεί.
Αγκύλες
Τι είναι καινούργιο στην έκδοση 1.6.3:
- Η CoffeeScript REPL θυμάται τώρα την ιστορία σας μεταξύ των συνόδων. Ακριβώς όπως μια σωστή REPL έπρεπε.
- μπορούν πλέον να χρησιμοποιούν απαιτούν Κόμβος για να φορτώσετε τα αρχεία .coffee.md Εγγράμματος CoffeeScript. Στο πρόγραμμα περιήγησης, κείμενο / εγγράμματοι-CoffeeScript ετικέτες script.
- Η παλιά εντολή --lint καφέ έχει αφαιρεθεί. Ήταν χρήσιμο, ενώ αρχικά εργάζονται για τον compiler, αλλά έχει ξεπεραστεί από JSHint. Τώρα μπορείτε να χρησιμοποιήσετε -l για να περάσει παιδεία αρχεία σε πάνω από stdio.
Τι είναι καινούργιο στην έκδοση 1.6.1:
- Διορθώθηκε ένα 1.5.0 παλινδρόμησης με πολλαπλές σιωπηρή κλήσεις έναντι δαντελωτές σιωπηρή αντικείμενο. Συνδυασμοί σιωπηρή κλήσεων λειτουργίας και έμμεσων αντικείμενα πρέπει γενικά να αναλυθεί καλύτερα τώρα. - Αλλά ακόμα δεν είναι καλό στυλ σε φωλιά τους πάρα πολύ βαριά
- .coffee.md τώρα υποστήριξε επίσης την επέκταση του αρχείου Εγγράμματος CoffeeScript, για τα υπάρχοντα εργαλεία. .litcoffee παραμένει η κανονική μία.
- Πολλές μικρές διορθώσεις που περιβάλλει τις ιδιότητες μέλους, δεσμεύεται μεθόδους και σούπερ στις δηλώσεις τάξη.
Τι είναι καινούργιο στην έκδοση 1.5.0:
- Η CoffeeScript REPL βασίζεται πλέον στον κόμβο. js REPL, και θα πρέπει να λειτουργήσει καλύτερα και είναι περισσότερο γνωστή.
- Επιστρέφοντας ρητές τιμές από κατασκευαστές σήμερα απαγορεύεται. Αν θέλετε να επιστρέψετε μια αυθαίρετη τιμή, χρησιμοποιήστε μια λειτουργία και όχι ένα κατασκευαστή.
- Μπορεί τώρα βρόχο πάνω από μια σειρά προς τα πίσω, χωρίς να χρειάζεται να ασχοληθεί με το χέρι με τους δείκτες: για τη θέση στη λίστα με -1
- σημεία προέλευσης είναι τώρα διατηρούνται στην CoffeeScript AST, αν και χάρτες πηγή δεν έχουν ακόμη εκπέμπονται.
Τι είναι καινούργιο στην έκδοση 1.4.0:
- Ο compiler CoffeeScript ταινίες τώρα η Microsoft UTF-8 BOM αν υπάρχει, επιτρέποντάς σας να συγκεντρώσει BOM-borked αρχεία προέλευσης.
- Σταθερή Κόμβος / compiler υποτίμηση αφαιρώντας registerExtension, και κινείται από path.exists να fs.exists.
- Μικρό τσιμπήματα με τη συλλογή ράντισμα, βαρεία, τον τεμαχισμό, και το σφάλμα για διπλά κλειδιά στο κατεξοχήν αντικείμενο.
Προειδοποιήσεις
Τι είναι καινούργιο στην έκδοση 1.3.2:
- Μέσα από μια ένθετη συνάρτηση μέσα σε μια μέθοδο π.χ. , είναι δυνατόν τώρα να καλέσετε σούπερ πιο αξιόπιστα (βόλτες αναδρομικά επάνω).
- Named μεταβλητές βρόχο δεν έχουν πλέον διαφορετική heuristics οριοθέτηση του πεδίου εφαρμογής σε σχέση με άλλες τοπικές μεταβλητές.
- Fix για εκτιναγμάτων ένθετα εντός του LHS της αποδόμησης ανάθεσης.
- Διορθώσεις χρόνο μεταγλώττισης αυστηρή λειτουργία μας απαγορεύουν οκταδικών λεκτικές.
Τι είναι καινούργιο στην έκδοση 1.3.1:
- Η REPL έχει τώρα ένα εύχρηστο νέο multi-line Λειτουργία για την εισαγωγή μεγάλα τμήματα του κώδικα. Είναι χρήσιμο όταν τα παραδείγματα αντιγραφής και επικόλλησης στο REPL. Εισάγετε τη λειτουργία πολλαπλών γραμμών με Ctrl-V. Μπορείτε, επίσης, τώρα εισόδου του σωλήνα απευθείας στο REPL.
- CoffeeScript τυπώνει τώρα δημιουργούνται από CoffeeScript κεφαλίδα ΕΚΔΟΣΗ στην κορυφή της κάθε μεταγλωττισμένο αρχείο.
- Υπό όρους εκχώρησης προηγουμένως απροσδιόριστες μεταβλητές ή = β θεωρείται σήμερα ένα συντακτικό λάθος.
- Ένα τσίμπημα στη σημασιολογία του Do, το οποίο μπορεί πλέον να χρησιμοποιηθεί για την προσομοίωση πιο εύκολα ένα χώρο ονομάτων: do (x = 1, y = 2) - & # x3e? ...
- δείκτες Loop είναι πλέον ευμετάβλητος μέσα σε μια επανάληψη βρόχου, και αμετάβλητο μεταξύ τους.
- Και τα δύο άκρα του ένα κομμάτι τώρα επιτρέπεται να παραλειφθεί για λόγους συνέπειας, δημιουργώντας έτσι ένα ρηχό αντίγραφο της λίστας.
- επιπρόσθετες παρεμβάσεις και βελτιώσεων σε --watch καφέ κάτω Κόμβου & quot? Νέα & quot? αρχείο βλέποντας API. Ρολόι θα ηχεί πλέον από προεπιλογή, αν εισάγετε ένα σφάλμα σύνταξης σε παρακολουθούσα σενάριο. Επίσης, τώρα αγνοεί κρυφά καταλόγους από προεπιλογή όταν παρακολουθούν αναδρομικά.
Τι είναι καινούργιο στην έκδοση 1.2.0:
- Πολλαπλές βελτιώσεις στον καφέ --watch και - ενταχθούν. Τώρα μπορείτε να χρησιμοποιήσετε και τα δύο μαζί, καθώς και να προσθέσετε και να καταργήσετε τα αρχεία και καταλόγους μέσα σε ένα --watch'd φάκελο.
- Η δήλωση πέταγμα μπορεί πλέον να χρησιμοποιηθεί ως μέρος μιας έκφρασης.
- σχόλια μπλοκ στην κορυφή του αρχείου θα εμφανιστεί τώρα έξω από το περιτύλιγμα πώματος ασφαλείας.
- Διορθώθηκε ένα αριθμό μικρών 1.1.3 παλινδρομήσεις που έχουν να κάνουν με καταληκτικά φορείς και ημιτελή γραμμές, καθώς και μια πιο μεγάλες 1.1.3 παλινδρόμησης που προκάλεσε δεσμευμένο λειτουργίες μέσα σε δεσμευμένο λειτουργίες κατηγορίας να έχουν την εσφαλμένη αυτή.
Τι είναι καινούργιο στην έκδοση 1.1.3:
- CoffeeScript καταρτίζονται JS προσπαθεί τώρα να το διάστημα τα πράγματα και κρατήσει αναγνώσιμη, όπως μπορείτε να δείτε στα παραδείγματα αυτής της σελίδας.
- Μπορείτε τώρα να καλέσετε σούπερ μεθόδους επίπεδο τάξης στο σώμα τάξη, και δεσμεύεται τάξη μεθόδους διατηρούν πλέον σωστό τους πλαίσιο.
- JavaScript ανέκαθεν υποστήριζε οκταδικό αριθμό 010 είναι 8 και αριθμούς δεκαεξαδικό 0xf είναι 15, αλλά CoffeeScript τώρα υποστηρίζει επίσης δυαδικούς αριθμούς:. 0b10 είναι 2
- Η μονάδα CoffeeScript έχει ένθετα και σε έναν υποκατάλογο για να καταστεί ευκολότερη για να απαιτήσει ξεχωριστά μεμονωμένα συστατικά, χωρίς να χρειάζεται να χρησιμοποιήσετε ΝΡΜ. Για παράδειγμα, μετά την προσθήκη του φακέλου CoffeeScript στο μονοπάτι σας: απαιτούν («καφέ-γραφή / lexer ')
- Υπάρχει ένας νέος & quot? Σύνδεσμο & quot? διαθέτουν στην Προσπαθήστε CoffeeScript σε αυτήν την ιστοσελίδα. Χρησιμοποιήστε το για να πάρει ένα κοινόχρηστο permalink για παράδειγμα script σας.
- Ο καφές --watch διαθέτουν πλέον λειτουργεί μόνο σε Node.js 0.6.0 και άνω, αλλά λειτουργεί και σωστά στα Windows.
Τι είναι καινούργιο στην έκδοση 1.1.2:
- CoffeeScript χρησιμοποιεί το γηγενές Function.prototype.bind για δεσμεύεται κατεξοχήν λειτουργία όπου αυτά είναι διαθέσιμα.
- Διορθώσεις για: μπλοκ μορφοποίηση σχόλιο, = σύνταξη, σιωπηρή κλήσεις κατά δομές ελέγχου, σιωπηρή επίκληση ενός μπλοκ try / αλιευμάτων, variadic επιχειρήματα που διαρρέει από το τοπικό πεδίο εφαρμογής, τους αριθμούς γραμμών σε σφάλματα σύνταξης παρακάτω heregexes, πρόσβαση ακίνητο σε παρενθέσεις λεκτικές αριθμό , δεσμεύεται τάξη μεθόδους και σούπερ με δεσμευμένα ονόματα, μια αναμόρφωση REPL, διαδοχικές καταρτίζονται ερωτηματικά, σχόλια μπλοκ εμμέσως αντικείμενα, και ένα bug του Chrome.
Τι είναι καινούργιο στην έκδοση 1.1.1:.
- Διόρθωση bug απελευθέρωση για τις κατηγορίες με τις εξωτερικές λειτουργίες κατασκευαστή
Τι είναι καινούργιο στην έκδοση 1.1.0:
- Κατά την εκτέλεση μέσω του καφέ εκτελέσιμο, process.argv και φίλοι αναφέρουν πλέον τον καφέ αντί του κόμβου.
- Η καλύτερη συμβατότητα με Node.js αλλαγές μονάδα 0.4.x αναζήτησης.
- Η έξοδος στην REPL είναι τώρα χρωματιστούν, όπως Κόμβος είναι.
- Δίνοντας συνεχόμενα CoffeeScripts σας ένα όνομα, όταν χρησιμοποιεί το --join είναι πλέον υποχρεωτική.
- Fix για lexing ένωση διαίρεση / = ως regex λάθος.
- Όλες οι ετικέτες κείμενο / CoffeeScript πρέπει τώρα να εκτελέσει με τη σειρά όπου και αν περιλαμβάνονται.
- Διορθώθηκε το πρόβλημα με εκτεταμένη υποκατηγορίες χρήση εξωτερικών λειτουργιών κατασκευαστή.
- Διορθώθηκε άκρη περίπτωση άπειρο βρόχο στην addImplicitParentheses.
- Σταθερή εκθετική επιβράδυνση με μακριές αλυσίδες των κλήσεων λειτουργίας.
- Globals διαρρεύσει πλέον στο CoffeeScript REPL.
- Οι σανίδα παράμετροι δηλώνονται τοπικά στη συνάρτηση.
Τι είναι καινούργιο στην έκδοση 1.0.1:.
- Διορθώθηκε ένα bug lexer με αναγνωριστικά Unicode
- Ενημέρωση REPL για συμβατότητα με Node.js 0.3.7.
- Διορθώθηκε το απαιτούν οι σχετικές διαδρομές στην REPL.
- Να σύρει την επιστροφή και να επιστρέψει απροσδιόριστο τώρα βελτιστοποιημένη μακριά.
- Σταμάτησε απαιτεί τον πυρήνα Node.js & quot? Util & quot? ενότητα για πίσω συμβατότητα με Node.js 0.2.5.
- Διορθώθηκε η περίπτωση όπου μια υπό όρους επιστροφή θα προκαλέσει fallthrough σε δήλωσή του διακόπτη.
- Βελτιστοποιημένη άδειο αντικείμενα στην εκχώρηση αποδόμησης.
Τι είναι καινούργιο στην έκδοση 0.6.2:
- Η εντολή του καφέ θα διατηρήσει τώρα δομή του καταλόγου κατά την κατάρτιση των ένα κατάλογο με πολλά σενάρια. Σταθερή δύο παραλείψεις που εμπόδιζαν την compiler CoffeeScript από το τρέξιμο ζωντανή μέσα στον Internet Explorer. Υπάρχει τώρα μια σύνταξη για τα σχόλια μπλοκ, παρόμοια στο πνεύμα με heredocs CoffeeScript του. ECMA Harmony DRY στιλ μοτίβο που ταιριάζουν υποστηρίζεται τώρα, όπου το όνομα του ακινήτου είναι το ίδιο με το όνομα της τιμής: {όνομα, μήκους}: func. Ταύτιση προτύπων τώρα επιτρέπεται εντός μεταβλητές κατανόηση. εκτός αν επιτρέπεται τώρα σε μορφή μπλοκ. μέχρι προστέθηκαν βρόχους, ως το αντίστροφο της, ενώ βρόχους. Δηλώσεις διακόπτη τώρα επιτρέπεται χωρίς ρήτρες αντικείμενο διακόπτη. Συμβατό με Node.js v0.1.95.
Απαιτήσεις :
- Node.js 0.8.0 ή νεότερη έκδοση
Τα σχόλια δεν βρέθηκε