@cordova/eslint-config
这个寄存器集中了用于 Cordova 开发的 ESLint 配置, 具体地说, 以 apache/cordova-。 。 。 .
安装
@cordova/eslint-config 包含所有插件配置甚至 eslint 自己来 所以,你只需要做 开始是:
npm i -D @cordova/eslint-config
使用量
# In package.json
{
"scripts": {
"lint": "eslint"
}
}
// In eslint.config.js
const { defineConfig, globalIgnores } = require('eslint/config');
const nodeConfig = require('@cordova/eslint-config/node');
const nodeTestConfig = require('@cordova/eslint-config/node-tests');
const browserConfig = require('@cordova/eslint-config/browser');
module.exports = defineConfig([
globalIgnores([
// Add files or folders to ignore...
// For example: exclude everything in the "coverage" directory.
'coverage'
]),
// Node Linting
...nodeConfig.map(config => ({
files: [
// Add files or folders to check...
// For example: include everything in the "lib" directory.
// By default, ESLint lints files with extensions .js, .mjs & .cjs.
'lib'
],
// Spread each shared config to preserve its settings while extending or overriding specific properties
...config
})),
// Node Test Linting
...nodeTestConfig.map(config => ({
// Add files or folders to check...
// For example: include everything in the "spec" directory.
// By default, ESLint lints files with extensions .js, .mjs & .cjs.
files: [
'spec'
],
// Spread each shared config to preserve its settings while extending or overriding specific properties
...config,
// Overriding Rules
rules: {
// Make sure the original rules are applied
...(config.rules || {}),
// Then append or update rules
'prefer-promise-reject-errors': 'off'
}
})),
// Browser Linting
...browserConfig.map(config => ({
files: [
// Add files or folders to check...
// For Example: Platforms usuall has "cordova-js-src" that comiles down into a cordova.js file to runs in the app's WebView.
'cordova-js-src'
],
// Spread each shared config to preserve its settings while extending or overriding specific properties
...config,
// Overriding Language Options
languageOptions: {
// Make sure the original languageOptions are applied if existing
...(config?.languageOptions || {}),
// Overriding Global
globals: {
// Make sure the original languageOptions.globals are applied
...(config.languageOptions?.globals || {})
// Then append or update globals
require: 'readonly',
module: 'readonly',
}
}
}))
]);
参考文献
此套件会曝光以下可共享的 ESLint 配置 :
@cordova/eslint-config/node (或简单 @cordova(中文(简体) )
对于想与Node.js一起运行的林廷脚本.
@cordova/eslint-config/node-tests
用于对克多瓦节点的"茉莉花"作测试. js脚本.
@cordova/eslint-config/browser
对于想在浏览器中运行的linting codova-style CommunityJS模块(在被捆绑之前).
@cordova/eslint-config/browser-tests
用于Linting Jasmine测试 Cordova的浏览器代码.