Skip to content

Makes using coffeescript nicer in ember-cli by supporting es6 syntax natively

Notifications You must be signed in to change notification settings

alexspeller/ember-cli-coffees6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecation Notice

This addon is no longer needed, since version 1.16.0 of ember-cli-coffeescript.

ember-cli-coffees6 Ember Observer Score Build Status

ember-cli-coffeescript works great with ember-cli, but the syntax for module imports and exports is less than ideal:

`import Ember from 'ember'`

DummyController = Ember.Controller.extend()

`export default DummyController`

Enhance ember-cli-coffeescript with ember-cli-coffees6 and you can use a much more natural syntax:

import Ember from 'ember'

export default Ember.Controller.extend()

ember-cli-coffees6 depends on ember-cli-coffeescript, and does simple string substitution on the .coffee files before passing them through to the regular coffeescript compiler. It should work out of the box with anything that currently works with ember-cli-coffeescript, and changing to the new module syntax is option so it can be done one file at a time. If you find a case where this isn't true, please report an issue and it will be fixed!

Upgrading

If you are upgrading from a version before 0.3.0, you will need to add ember-cli-coffeescript to your package.json, as it's no longer included with ember-cli-coffees6

Installation

# if coffeescript is not already installed
ember install ember-cli-coffeescript

ember install ember-cli-coffees6

Supported syntax

This plugin aims to support all ES6 module syntax, see the tests for full examples.

Debugging

You can turn on verbose debugging output by adding the option in your Brocfile.js:

var app = new EmberApp({
  coffeeES6: {
    debug: true
  }
});

Running tests

npm test

Warnings / disclaimers

  1. export, default, and import are reserved words in coffeescript. It's possible that in future they will be implemented with a different meaning. You may have to refactor this code to work with possible future versions of coffeescript
  2. This currently works with ugly regex substitution and not a full parsing. It won't work for every possible expression or indentation etc.

Help us figure out more elegant ways to use new es6 features like imports and exports in coffeescript! It's a challenging ordeal.

About

Makes using coffeescript nicer in ember-cli by supporting es6 syntax natively

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •