diff --git a/package.json b/package.json index f604258..a42d5ff 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "babel-preset-es2015": "^6.1.2", "btoa": "^1.1.2", "cheerio": "^0.19.0", + "coffee-react-transform": "^3.3.0", "coffee-script": "^1.10.0", "debug": "^2.2.0", "jade": "^1.11.0", diff --git a/src/js/coffeescript.js b/src/js/coffeescript.js index 7fe6dde..9826089 100644 --- a/src/js/coffeescript.js +++ b/src/js/coffeescript.js @@ -3,12 +3,13 @@ import path from 'path'; import btoa from 'btoa'; import {SimpleCompilerBase} from '../compiler-base'; -const inputMimeTypes = ['text/coffeescript']; +const inputMimeTypes = ['text/cjsx', 'text/coffeescript']; let coffee = null; +let cjsx = null; /** * @access private - */ + */ export default class CoffeeScriptCompiler extends SimpleCompilerBase { constructor() { super(); @@ -21,9 +22,10 @@ let coffee = null; compileSync(sourceCode, filePath) { coffee = coffee || require('coffee-script'); + cjsx = cjsx || require('coffee-react-transform'); let {js, v3SourceMap} = coffee.compile( - sourceCode, + cjsx(sourceCode), _.extend({ filename: filePath }, this.compilerOptions)); js = `${js}\n` +