@sap/eslint-plugin-cds
Version:
ESLint plugin including recommended SAP Cloud Application Programming model and environment rules
49 lines (44 loc) • 1.18 kB
JavaScript
const path = require('node:path')
const { FILES, GLOBALS } = require('../constants')
const { parserPath } = require('../api')
function _createJsConfig (plugin, configName) {
return {
name: '@sap/cds/js',
plugins: {
'@sap/cds': plugin
},
files: ['**/*.js'],
rules: require(path.join(__dirname, 'js', configName))
}
}
/**
* @param {object} plugin Plugin implementation used for new configuration layout.
* @param {string} configName
*/
function _createConfig (plugin, configName) {
const config = require(path.join(__dirname, configName))
return {
name: `@sap/cds/${configName}`,
languageOptions: {
globals: GLOBALS,
parser: require(parserPath)
},
plugins: {
'@sap/cds': plugin
},
files: FILES.map(file => file.replace('*.', '**/*.')),
rules: config
}
}
module.exports = function (plugin) {
return {
all: _createConfig(plugin, 'all'),
recommended: _createConfig(plugin, 'recommended'),
experimental: _createConfig(plugin, 'experimental'),
js: {
all: _createJsConfig(plugin, 'all'),
recommended: _createJsConfig(plugin, 'recommended')
}
}
}