# repos_asf_cordova-eslint **Repository Path**: mirrors_community_gitbox_apache/repos_asf_cordova-eslint ## Basic Information - **Project Name**: repos_asf_cordova-eslint - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-29 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @cordova/eslint-config [![NPM](https://nodei.co/npm/@cordova/eslint-config.svg?style=flat&data=n,v,u&color=blue)](https://www.npmjs.com/package/@cordova/eslint-config) [![Node CI](https://github.com/apache/cordova-eslint/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/apache/cordova-eslint/actions/workflows/ci.yml?query=branch%3Amaster) [![Release Audit](https://github.com/apache/cordova-eslint/actions/workflows/release-audit.yml/badge.svg?branch=master)](https://github.com/apache/cordova-eslint/actions/workflows/release-audit.yml?query=branch%3Amaster) [![codecov.io](https://codecov.io/github/apache/cordova-eslint/coverage.svg?branch=master)](https://codecov.io/github/apache/cordova-eslint?branch=master) This repository centralizes the ESLint configuration used for Cordova's development, specifically repositories that start with `apache/cordova-`. ## Installation `@cordova/eslint-config` comes with all plugins configs and even `eslint` itself. So all you need to do to get started is: ```shell npm i -D @cordova/eslint-config ``` ## Usage ```yml # In package.json { "scripts": { "lint": "eslint" } } ``` ```javascript // 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', } } })) ]); ``` ## Reference This package exposes the following shareable ESLint configurations: ### `@cordova/eslint-config/node` (or simply `@cordova`) For linting scripts intended to be run with Node.js. ### `@cordova/eslint-config/node-tests` For linting Jasmine tests of Cordova's Node.js scripts. ### `@cordova/eslint-config/browser` For linting cordova-style CommonJS modules intended to be run in the browser (before they are bundled). ### `@cordova/eslint-config/browser-tests` For linting Jasmine tests of Cordova's browser code.