From e4b1d512cd01175583a615a8493b0ee75ec8f73e Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Tue, 18 Aug 2015 15:49:34 -0700 Subject: [PATCH] Honor /** use babel */ in addition to 'use babel' --- spec/babel-spec.coffee | 6 ++++++ spec/fixtures/babel/babel-comment.js | 3 +++ src/babel.coffee | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 spec/fixtures/babel/babel-comment.js 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