coffee-import-loader
coffee-import-loader is a Webpack loader to transpile ES6 import
statements in CoffeeScript files before they're passed to the CoffeeScript compiler.
Installation
npm install coffee-import-loader --save-dev
How it works
CoffeeScript lacks native support for ES6 import
syntax:
import * as MyModule from 'a-package';
import { SomeModule } from 'neat-package';
import SomeDefaultModule from 'other-package';
# error: reserved word 'import'
coffee-import-loader transpiles those import
statements into the equivalent block of CommonJS require
s, giving you succinct syntax while keeping the CoffeeScript compiler happy.
import * as MyModule from 'a-package';
import { SomeModule } from 'neat-package';
import SomeDefaultModule from 'other-package';
# transpiled
MyModule = require('a-package')
SomeModule = require('neat-package').SomeModule
SomeDefaultModule = require('other-package')
Usage
var exportsOfFile = require('coffee!coffee-import!./file.coffee');
Documentation: Using loaders
Recommended configuration
{
module: {
loaders: [
{ test: /\.coffee$/, loaders: ['coffee', 'coffee-import' }
]
}
}
Note that coffee-import
must come at the end, as import
statements are not valid CoffeeScript and must be transpiled first.
Contributing
- Fork it ( https://github.com/schneidmaster/coffee-import-loader/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
License
MIT