@elsikora/setup-wizard
Version:
Setup Wizard - CLI scaffolding utility
42 lines (37 loc) • 1.36 kB
JavaScript
import { ESLINT_FEATURE_CONFIG } from '../../../domain/constant/eslint-feature-config.constant.js';
/**
* Configuration constant for ESLint.
* Provides a template function for generating ESLint configuration files.
*/
const ESLINT_CONFIG = {
/**
* Generates an ESLint configuration file content.
* Creates a configuration file that uses @elsikora/eslint-config with the specified features.
* @param ignores - Array of file patterns to ignore in linting
* @param features - Array of ESLint features to enable
* @returns String content for the ESLint configuration file
*/
template: (ignores, features) => {
const featureConfig = features
.map((feature) => {
const featureKey = feature;
if (!(featureKey in ESLINT_FEATURE_CONFIG)) {
throw new Error(`Unknown feature: ${feature}`);
}
const config = ESLINT_FEATURE_CONFIG[featureKey];
return ` ${config.configFlag}: true`;
})
.join(",\n");
return `import { createConfig } from '@elsikora/eslint-config';
const config = {
ignores: ${JSON.stringify(ignores, null, 2)}
};
export default [config,
...(await createConfig({
${featureConfig}
}))];`;
},
};
export { ESLINT_CONFIG };
//# sourceMappingURL=config.constant.js.map