1 | module.exports = espresso
|
2 |
|
3 | var coffeeScript = require('coffee-script')
|
4 | var jsCodeShift = require('jscodeshift')
|
5 | var coreTransform = require('./transforms/core')
|
6 | var jsxTransform = require('./transforms/jsx')
|
7 | var backboneTransform = require('./transforms/backbone-classes')
|
8 |
|
9 | function espresso (content, opts) {
|
10 | var newContent = coffeeScript.compile(content, {bare: true})
|
11 | var api = {jscodeshift: jsCodeShift}
|
12 |
|
13 | if (opts.core) {
|
14 | newContent = coreTransform({source: newContent}, api)
|
15 | }
|
16 |
|
17 | if (opts.backbone) {
|
18 | newContent = backboneTransform({source: newContent}, api)
|
19 | }
|
20 |
|
21 | if (opts.jsx) {
|
22 | newContent = jsxTransform({source: newContent}, api)
|
23 | }
|
24 |
|
25 | return newContent
|
26 | }
|