Cannot find module 'babel-runtime/core-js/object/keys'
DanielPritchard opened this issue · 8 comments
I am getting this error after updating to version 3.0.4 (it also occurs for 3.0.5)
Error: Cannot find module 'babel-runtime/core-js/object/keys'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/Users/danpritchard/dev/pucbroker-puchandler-lambda/node_modules/jscs/node_modules/cst/lib/Parser.js:7:13)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
You probably need to reinstall your node_modules
No, I'm getting the same thing in a clean build on travis. One of your dependencies broke w/ the jscs 3.0.5 release it seems.
This fails:
https://travis-ci.org/cscott/node-libzim/jobs/139508554
This (yesterday) succeeded:
https://travis-ci.org/cscott/node-libzim/jobs/139420369
Was:
jscs@3.0.5 node_modules/jscs
├── to-double-quotes@2.0.0
├── estraverse@4.2.0
├── to-single-quotes@2.0.0
├── strip-json-comments@1.0.4
├── reserved-words@0.1.1
├── natural-compare@1.2.2
├── vow@0.4.12
├── pathval@0.1.1
├── jscs-preset-wikimedia@1.0.0
├── commander@2.9.0 (graceful-readlink@1.0.1)
├── exit@0.1.2
├── xmlbuilder@3.1.0
├── strip-bom@2.0.0 (is-utf8@0.2.1)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, supports-color@2.0.0, ansi-styles@2.2.1, has-ansi@2.0.0, strip-ansi@3.0.1)
├── minimatch@3.0.2 (brace-expansion@1.1.5)
├── glob@5.0.15 (path-is-absolute@1.0.0, inherits@2.0.1, once@1.3.3, inflight@1.0.5)
├── cli-table@0.3.1 (colors@1.0.3)
├── vow-fs@0.3.5 (vow-queue@0.4.2, uuid@2.0.2, glob@4.5.3)
├── resolve@1.1.7
├── jscs-jsdoc@2.0.0 (jsdoctypeparser@1.2.0, comment-parser@0.3.1)
├── htmlparser2@3.8.3 (domelementtype@1.3.0, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.14, domutils@1.5.1)
├── js-yaml@3.4.6 (inherit@2.2.3, esprima@2.7.2, argparse@1.0.7)
├── prompt@0.2.14 (revalidator@0.1.8, pkginfo@0.4.0, read@1.0.7, utile@0.2.1, winston@0.8.3)
├── jsonlint@1.6.2 (nomnom@1.8.1, JSV@4.0.2)
├── lodash@3.10.1
└── cst@0.4.0 (babylon@6.8.1, source-map-support@0.4.0, babel-types@6.10.2, babel-runtime@6.9.2)
Now is:
jscs@3.0.5 node_modules/jscs
├── to-double-quotes@2.0.0
├── estraverse@4.2.0
├── to-single-quotes@2.0.0
├── strip-json-comments@1.0.4
├── reserved-words@0.1.1
├── natural-compare@1.2.2
├── vow@0.4.12
├── pathval@0.1.1
├── jscs-preset-wikimedia@1.0.0
├── exit@0.1.2
├── commander@2.9.0 (graceful-readlink@1.0.1)
├── xmlbuilder@3.1.0
├── strip-bom@2.0.0 (is-utf8@0.2.1)
├── chalk@1.1.3 (escape-string-regexp@1.0.5, ansi-styles@2.2.1, supports-color@2.0.0, strip-ansi@3.0.1, has-ansi@2.0.0)
├── minimatch@3.0.2 (brace-expansion@1.1.5)
├── glob@5.0.15 (path-is-absolute@1.0.0, inherits@2.0.1, inflight@1.0.5, once@1.3.3)
├── cli-table@0.3.1 (colors@1.0.3)
├── vow-fs@0.3.5 (vow-queue@0.4.2, uuid@2.0.2, glob@4.5.3)
├── resolve@1.1.7
├── jscs-jsdoc@2.0.0 (jsdoctypeparser@1.2.0, comment-parser@0.3.1)
├── js-yaml@3.4.6 (inherit@2.2.3, esprima@2.7.2, argparse@1.0.7)
├── htmlparser2@3.8.3 (domelementtype@1.3.0, entities@1.0.0, domhandler@2.3.0, readable-stream@1.1.14, domutils@1.5.1)
├── prompt@0.2.14 (revalidator@0.1.8, pkginfo@0.4.0, read@1.0.7, utile@0.2.1, winston@0.8.3)
├── jsonlint@1.6.2 (nomnom@1.8.1, JSV@4.0.2)
├── lodash@3.10.1
└── cst@0.4.1 (source-map-support@0.4.0, babylon@6.8.1)
It seems to be cst@0.4.1
which kills jscs
, it dropped its babel
deps.
Root cause seems to be cst/cst#111, which dropped support for node < 4.
Should be fine now
This reared it's head for me again today, since cst
eliminated support for older versions of node again in v0.4.8 (and I'm still on Node 0.10.33...)
For anyone else coming here, I got around this by creating an npm-shrinkwrap.json
file, and setting the cst
version to 0.4.7:
{
"dependencies": {
"jscs": {
"version": "3.0.7",
"from": "jscs@3.0.7",
"dependencies": {
"cst": {
"version": "0.4.7",
"from": "cst@^0.4.3"
}
}
}
}
}
(If you've never used shrinkwrap before, I recommend reading here: https://docs.npmjs.com/cli/shrinkwrap)
@mattgrande it didn't remove support yet - the package didn't publish a lib directory so there were no files cst/cst#151
Oh! I just assumed it was the same issue, should've checked cst
to be sure.
Looks like they've released 0.4.9, so this is no longer needed!