diff --git a/spec/babel-spec.coffee b/spec/babel-spec.coffee index 4aec0ef8d..1f71faa93 100644 --- a/spec/babel-spec.coffee +++ b/spec/babel-spec.coffee @@ -33,6 +33,12 @@ describe "Babel transpiler support", -> observedDigest = babel.createBabelVersionAndOptionsDigest(version, defaultOptions) expect(observedDigest).toEqual expectedDigest + describe 'when a .js file starts with /** use babel */;', -> + it "transpiles it using babel", -> + transpiled = require('./fixtures/babel/babel-comment.js') + expect(transpiled(3)).toBe 4 + expect(grim.getDeprecationsLength()).toBe 0 + describe "when a .js file starts with 'use babel';", -> it "transpiles it using babel", -> transpiled = require('./fixtures/babel/babel-single-quotes.js') diff --git a/spec/fixtures/babel/babel-comment.js b/spec/fixtures/babel/babel-comment.js new file mode 100644 index 000000000..4fb454999 --- /dev/null +++ b/spec/fixtures/babel/babel-comment.js @@ -0,0 +1,3 @@ +/** use babel */ + +module.exports = v => v + 1 diff --git a/src/babel.coffee b/src/babel.coffee index 201210817..0adc19db4 100644 --- a/src/babel.coffee +++ b/src/babel.coffee @@ -142,7 +142,7 @@ transpile = (sourceCode, filePath, cachePath) -> # either generated on the fly or pulled from cache. loadFile = (module, filePath) -> sourceCode = fs.readFileSync(filePath, 'utf8') - if sourceCode.startsWith('"use babel"') or sourceCode.startsWith("'use babel'") + if sourceCode.startsWith('"use babel"') or sourceCode.startsWith("'use babel'") or sourceCode.startsWith('/** use babel */') # Continue. else if sourceCode.startsWith('"use 6to5"') or sourceCode.startsWith("'use 6to5'") # Create a manual deprecation since the stack is too deep to use Grim