eslint-config-niieani
Version:
Reusable ESLint config for Beemo configured projects.
52 lines • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const scaffold_config_constants_1 = require("@niieani/scaffold-config-constants");
const nodeVersion = (0, scaffold_config_constants_1.getTargetNodeRuntime)();
const config = {
plugins: ['node'],
env: {
browser: false,
node: true,
},
rules: {
// Ensure proper error handling
'node/no-callback-literal': 'error',
// Ensure NPM packages are valid and can be published to the target engine
'node/no-deprecated-api': 'error',
'node/no-unpublished-bin': 'error',
'node/no-unpublished-import': 'error',
'node/no-unpublished-require': 'error',
'node/no-unsupported-features/es-builtins': 'error',
'node/no-unsupported-features/node-builtins': 'error',
'node/shebang': 'error',
// Prefer exitCode instead of exit as it doesnt abort the script
'no-process-exit': 'error',
'node/process-exit-as-throw': 'error',
// Prefer globals when available
'node/prefer-global/buffer': 'error',
'node/prefer-global/console': 'error',
'node/prefer-global/process': 'error',
'node/prefer-global/text-decoder': 'error',
'node/prefer-global/text-encoder': 'error',
'node/prefer-global/url': 'error',
'node/prefer-global/url-search-params': 'error',
// Prefer promises APIs when they are available
'node/prefer-promises/dns': nodeVersion >= 15 ? 'error' : 'off',
'node/prefer-promises/fs': nodeVersion >= 14 ? 'error' : 'off',
// We use TypeScript/ES modules instead
'node/exports-style': 'off',
'node/no-exports-assign': 'off',
'node/no-unsupported-features/es-syntax': 'off',
// Handled by the import plugin
'node/file-extension-in-import': 'off',
'node/no-extraneous-import': 'off',
'node/no-extraneous-require': 'off',
'node/no-missing-import': 'off',
'node/no-missing-require': 'off',
// This is a common occurrence in node scripts
'global-require': 'off',
'import/no-dynamic-require': 'off',
},
};
module.exports = config;
//# sourceMappingURL=node.js.map