@team23/eslint-config-team23-standard
Version:
A set of eslint rules used by TEAM23 for standard js projects
48 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createJSEslintConfig = void 0;
const tslib_1 = require("tslib");
const globals_1 = tslib_1.__importDefault(require("globals"));
const stylistic_config_js_1 = tslib_1.__importDefault(require("./config/stylistic-config.cjs"));
const jsdoc_config_js_1 = tslib_1.__importDefault(require("./config/jsdoc-config.cjs"));
const js_config_js_1 = tslib_1.__importDefault(require("./config/js-config.cjs"));
const typescript_eslint_1 = tslib_1.__importDefault(require("typescript-eslint"));
const setupConfig = {
name: 'team23/java-script/setup',
ignores: ['dist/', 'node_modules/', '*.min.js'],
languageOptions: {
sourceType: 'module',
ecmaVersion: 2022,
globals: Object.assign(Object.assign(Object.assign({}, globals_1.default.browser), globals_1.default.es2021), globals_1.default.node),
parserOptions: {
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2022,
},
},
linterOptions: {
reportUnusedDisableDirectives: true,
},
};
/**
* Creates an ESLint configuration tailored for JavaScript projects with optional settings.
*
* @param [options] - Optional configuration settings.
*
* @returns Array of ESLint configuration objects for Vue.js.
*/
function createJSEslintConfig(options) {
const { files = ['**/*.js', '**/*.mjs'], } = options !== null && options !== void 0 ? options : {};
return typescript_eslint_1.default.config(setupConfig, {
files,
extends: [
...js_config_js_1.default,
...stylistic_config_js_1.default,
...jsdoc_config_js_1.default,
],
});
}
exports.createJSEslintConfig = createJSEslintConfig;
//# sourceMappingURL=index.cjs.map