I'm trying to transpile an ES6 file using Babel - but NPM doesn't like the command babel src --out-dir output which is run using a script in my package.json.
However, when I install Babel globally and run the same command without using the script, it works just fine.
I would like to avoid installing Babel globally if I don't have to.
Error (see debug log below) TypeError: src/person.js: Expected 'input' to be a 'string', got 'number' And looks like the command babel src --out-dir output "fails on your system"
Project setup
-> root
-> node_modules
-> output
-> src
- person.js
- .babelrc
- package.json
package.json
{
"name": "Test",
"version": "0.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "babel src --out-dir output"
},
"author": "Me",
"license": "UNLICENSED",
"devDependencies": {
"babel-cli": "~6.11.4",
"babel-preset-es2015": "^6.9.0"
}
}
person.js
class Person {
constructor(name) {
this.name = name;
}
}
.babelrc
{
"presets": ["es2015"]
}
Debug log
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\node.exe',
1 verbose cli 'C:\\Program Files (x86)\\node_modules\\npm\\bin\\npmcli.js',
1 verbose cli 'run',
1 verbose cli 'build' ]
2 info using npm@2.15.8
3 info using node@v4.4.7
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info prebuild Codemode@0.0.0
6 info build Test@0.0.0
7 verbose unsafe-perm in lifecycle true
8 info Test@0.0.0 Failed to exec build script
9 verbose stack Error: Test@0.0.0 build: `babel src --out-dir output`
9 verbose stack Exit status 1
9 verbose stack at EventEmitter.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\lifecycle.js:217:16)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at EventEmitter.emit (events.js:172:7)
9 verbose stack at ChildProcess.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\spawn.js:24:14)
9 verbose stack at emitTwo (events.js:87:13)
9 verbose stack at ChildProcess.emit (events.js:172:7)
9 verbose stack at maybeClose (internal/child_process.js:827:16)
9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid Codemode@0.0.0
11 verbose cwd C:\Users\me\Dev\Test
12 error Windows_NT 6.1.7601
13 error argv "C:\\Program Files (x86)\\node.exe" "C:\\Program Files (x86)\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
14 error node v4.4.7
15 error npm v2.15.8
16 error code ELIFECYCLE
17 error Test@0.0.0 build: `babel src --out-dir output`
17 error Exit status 1
18 error Failed at the Test@0.0.0 build script 'babel src --out-dir output'.
18 error This is most likely a problem with the Test package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error babel src --out-dir output
18 error You can get information on how to open an issue for this project with:
18 error npm bugs Test
18 error Or if that isn't available, you can get their info via:
18 error
18 error npm owner ls Test
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]
I'm really not sure where this is going wrong, and can't find any posts on the error.
Thanks for your help