In https://github.com/babel/babel/issues/9511 (and #9495 is another symptom), @PavelKastornyy reported a node crash becaue the JavaScript heap run out of memory. The problem was that their code was adding enumerable properties to `Object.prototype`: it is something that shouldn't be done, but Babel shouldn't make node crash if someone adds them. I reduced down the problem to `for...in` loops in `@babel/traverse` that grew the memory consumption exponentially because of that unexpected properties.
42 lines
1.0 KiB
JSON
42 lines
1.0 KiB
JSON
{
|
|
"root": true,
|
|
"plugins": ["prettier", "@babel/development", "import"],
|
|
"extends": "babel",
|
|
"rules": {
|
|
"prettier/prettier": "error"
|
|
},
|
|
"env": {
|
|
"node": true
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["packages/*/src/**/*.js", "codemods/*/src/**/*.js"],
|
|
"rules": {
|
|
"@babel/development/no-undefined-identifier": "error",
|
|
"@babel/development/no-deprecated-clone": "error",
|
|
"import/no-extraneous-dependencies": "error",
|
|
"guard-for-in": "error"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"packages/*/test/**/*.js",
|
|
"codemods/*/test/**/*.js",
|
|
"packages/babel-helper-transform-fixture-test-runner/src/helpers.js",
|
|
"test/**/*.js"
|
|
],
|
|
"env": {
|
|
"jest": true
|
|
}
|
|
},
|
|
{
|
|
"files": ["packages/babel-plugin-*/src/index.js"],
|
|
"excludedFiles": ["packages/babel-plugin-transform-regenerator/**/*.js"],
|
|
"rules": {
|
|
"@babel/development/plugin-name": "error",
|
|
"eqeqeq": ["error", "always", { "null": "ignore" }]
|
|
}
|
|
}
|
|
]
|
|
}
|