forked from codesandbox/codesandbox-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathload-rules.js
More file actions
24 lines (17 loc) · 791 Bytes
/
load-rules.js
File metadata and controls
24 lines (17 loc) · 791 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const codegen = require('babel-plugin-codegen/macro');
// TODO automate generation:
// babel --plugins babel-macros config/stubs/load-rules.js > config/stubs/load-rules.compiled.js
module.exports = function loadRules() {
// Create list of require statements of all rules during compile time
codegen`
const path = require("path");
const find = require("shelljs").find;
let output = "var rules = Object.create(null);\\n";
find(path.resolve("./node_modules/eslint/lib/rules")).filter(f => path.extname(f) === '.js').forEach((filename) => {
const basename = path.basename(filename, '.js');
output += \`rules["\${basename}"] = require("eslint/lib/rules/\${basename}");\\n\`
});
output += "\\n return rules;\\n";
module.exports = output;
`;
};