build: update npm install command to use --legacy-peer-deps
This change modifies the build scripts to use --legacy-peer-deps flag when installing npm dependencies to resolve potential peer dependency conflicts during the build process. The change is applied to both bash (build.sh) and batch (build.bat) build scripts.
This commit is contained in:
+27
-73
@@ -1,54 +1,20 @@
|
||||
[](https://www.npmjs.com/package/@eslint/js)
|
||||
[](https://www.npmjs.com/package/@eslint/js)
|
||||
[](https://github.com/eslint/eslint/actions)
|
||||
<br>
|
||||
[](https://opencollective.com/eslint)
|
||||
[](https://opencollective.com/eslint)
|
||||
|
||||
# ESLint JavaScript Plugin
|
||||
|
||||
[Website](https://eslint.org) |
|
||||
[Configure ESLint](https://eslint.org/docs/latest/use/configure) |
|
||||
[Rules](https://eslint.org/docs/rules/) |
|
||||
[Contribute to ESLint](https://eslint.org/docs/latest/contribute) |
|
||||
[Report Bugs](https://eslint.org/docs/latest/contribute/report-bugs) |
|
||||
[Code of Conduct](https://eslint.org/conduct) |
|
||||
[X](https://x.com/geteslint) |
|
||||
[Discord](https://eslint.org/chat) |
|
||||
[Mastodon](https://fosstodon.org/@eslint) |
|
||||
[Bluesky](https://bsky.app/profile/eslint.org)
|
||||
[Website](https://eslint.org) | [Configure ESLint](https://eslint.org/docs/latest/use/configure) | [Rules](https://eslint.org/docs/rules/) | [Contributing](https://eslint.org/docs/latest/contribute) | [Twitter](https://twitter.com/geteslint) | [Chatroom](https://eslint.org/chat)
|
||||
|
||||
The beginnings of separating out JavaScript-specific functionality from ESLint.
|
||||
|
||||
Right now, this plugin contains two configurations:
|
||||
|
||||
- `recommended` - enables the rules recommended by the ESLint team (the replacement for `"eslint:recommended"`)
|
||||
- `all` - enables all ESLint rules (the replacement for `"eslint:all"`)
|
||||
* `recommended` - enables the rules recommended by the ESLint team (the replacement for `"eslint:recommended"`)
|
||||
* `all` - enables all ESLint rules (the replacement for `"eslint:all"`)
|
||||
|
||||
## Installation
|
||||
|
||||
You can install ESLint using npm or other package managers:
|
||||
|
||||
```shell
|
||||
npm install eslint -D
|
||||
# or
|
||||
yarn add eslint -D
|
||||
# or
|
||||
pnpm install eslint -D
|
||||
# or
|
||||
bun add eslint -D
|
||||
```
|
||||
|
||||
Then install this plugin:
|
||||
|
||||
```shell
|
||||
npm install @eslint/js -D
|
||||
# or
|
||||
yarn add @eslint/js -D
|
||||
# or
|
||||
pnpm install @eslint/js -D
|
||||
# or
|
||||
bun add @eslint/js -D
|
||||
```
|
||||
|
||||
## Usage
|
||||
@@ -56,46 +22,34 @@ bun add @eslint/js -D
|
||||
Use in your `eslint.config.js` file anytime you want to extend one of the configs:
|
||||
|
||||
```js
|
||||
import { defineConfig } from "eslint/config";
|
||||
import js from "@eslint/js";
|
||||
|
||||
export default defineConfig([
|
||||
// apply recommended rules to JS files
|
||||
{
|
||||
name: "your-project/recommended-rules",
|
||||
files: ["**/*.js"],
|
||||
plugins: {
|
||||
js,
|
||||
},
|
||||
extends: ["js/recommended"],
|
||||
},
|
||||
export default [
|
||||
|
||||
// apply recommended rules to JS files with an override
|
||||
{
|
||||
name: "your-project/recommended-rules-with-override",
|
||||
files: ["**/*.js"],
|
||||
plugins: {
|
||||
js,
|
||||
},
|
||||
extends: ["js/recommended"],
|
||||
rules: {
|
||||
"no-unused-vars": "warn",
|
||||
},
|
||||
},
|
||||
// apply recommended rules to JS files
|
||||
{
|
||||
files: ["**/*.js"],
|
||||
rules: js.configs.recommended.rules
|
||||
},
|
||||
|
||||
// apply all rules to JS files
|
||||
{
|
||||
name: "your-project/all-rules",
|
||||
files: ["**/*.js"],
|
||||
plugins: {
|
||||
js,
|
||||
},
|
||||
extends: ["js/all"],
|
||||
rules: {
|
||||
"no-unused-vars": "warn",
|
||||
},
|
||||
},
|
||||
]);
|
||||
// apply recommended rules to JS files with an override
|
||||
{
|
||||
files: ["**/*.js"],
|
||||
rules: {
|
||||
...js.configs.recommended.rules,
|
||||
"no-unused-vars": "warn"
|
||||
}
|
||||
},
|
||||
|
||||
// apply all rules to JS files
|
||||
{
|
||||
files: ["**/*.js"],
|
||||
rules: {
|
||||
...js.configs.all.rules,
|
||||
"no-unused-vars": "warn"
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
+4
-9
@@ -1,18 +1,13 @@
|
||||
{
|
||||
"name": "@eslint/js",
|
||||
"version": "9.39.1",
|
||||
"version": "8.57.1",
|
||||
"description": "ESLint JavaScript language implementation",
|
||||
"funding": "https://eslint.org/donate",
|
||||
"main": "./src/index.js",
|
||||
"types": "./types/index.d.ts",
|
||||
"scripts": {
|
||||
"test:types": "tsc -p tests/types/tsconfig.json"
|
||||
},
|
||||
"scripts": {},
|
||||
"files": [
|
||||
"LICENSE",
|
||||
"README.md",
|
||||
"src",
|
||||
"types"
|
||||
"src"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
@@ -31,6 +26,6 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
+6
-12
@@ -4,16 +4,10 @@
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/*
|
||||
* IMPORTANT!
|
||||
*
|
||||
* We cannot add a "name" property to this object because it's still used in eslintrc
|
||||
* which doesn't support the "name" property. If we add a "name" property, it will
|
||||
* cause an error.
|
||||
*/
|
||||
/* eslint quote-props: off -- autogenerated so don't lint */
|
||||
|
||||
module.exports = Object.freeze({
|
||||
rules: Object.freeze({
|
||||
"rules": {
|
||||
"accessor-pairs": "error",
|
||||
"array-callback-return": "error",
|
||||
"arrow-body-style": "error",
|
||||
@@ -42,6 +36,7 @@ module.exports = Object.freeze({
|
||||
"id-length": "error",
|
||||
"id-match": "error",
|
||||
"init-declarations": "error",
|
||||
"line-comment-position": "error",
|
||||
"logical-assignment-operators": "error",
|
||||
"max-classes-per-file": "error",
|
||||
"max-depth": "error",
|
||||
@@ -50,6 +45,7 @@ module.exports = Object.freeze({
|
||||
"max-nested-callbacks": "error",
|
||||
"max-params": "error",
|
||||
"max-statements": "error",
|
||||
"multiline-comment-style": "error",
|
||||
"new-cap": "error",
|
||||
"no-alert": "error",
|
||||
"no-array-constructor": "error",
|
||||
@@ -118,6 +114,7 @@ module.exports = Object.freeze({
|
||||
"no-new": "error",
|
||||
"no-new-func": "error",
|
||||
"no-new-native-nonconstructor": "error",
|
||||
"no-new-symbol": "error",
|
||||
"no-new-wrappers": "error",
|
||||
"no-nonoctal-decimal-escape": "error",
|
||||
"no-obj-calls": "error",
|
||||
@@ -149,7 +146,6 @@ module.exports = Object.freeze({
|
||||
"no-ternary": "error",
|
||||
"no-this-before-super": "error",
|
||||
"no-throw-literal": "error",
|
||||
"no-unassigned-vars": "error",
|
||||
"no-undef": "error",
|
||||
"no-undef-init": "error",
|
||||
"no-undefined": "error",
|
||||
@@ -167,7 +163,6 @@ module.exports = Object.freeze({
|
||||
"no-unused-private-class-members": "error",
|
||||
"no-unused-vars": "error",
|
||||
"no-use-before-define": "error",
|
||||
"no-useless-assignment": "error",
|
||||
"no-useless-backreference": "error",
|
||||
"no-useless-call": "error",
|
||||
"no-useless-catch": "error",
|
||||
@@ -197,7 +192,6 @@ module.exports = Object.freeze({
|
||||
"prefer-rest-params": "error",
|
||||
"prefer-spread": "error",
|
||||
"prefer-template": "error",
|
||||
"preserve-caught-error": "error",
|
||||
"radix": "error",
|
||||
"require-atomic-updates": "error",
|
||||
"require-await": "error",
|
||||
@@ -213,5 +207,5 @@ module.exports = Object.freeze({
|
||||
"valid-typeof": "error",
|
||||
"vars-on-top": "error",
|
||||
"yoda": "error"
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
+12
-15
@@ -1,17 +1,14 @@
|
||||
/*
|
||||
* WARNING: This file is autogenerated using the tools/update-eslint-recommended.js
|
||||
* script. Do not edit manually.
|
||||
/**
|
||||
* @fileoverview Configuration applied when a user configuration extends from
|
||||
* eslint:recommended.
|
||||
* @author Nicholas C. Zakas
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
/*
|
||||
* IMPORTANT!
|
||||
*
|
||||
* We cannot add a "name" property to this object because it's still used in eslintrc
|
||||
* which doesn't support the "name" property. If we add a "name" property, it will
|
||||
* cause an error.
|
||||
*/
|
||||
/* eslint sort-keys: ["error", "asc"] -- Long, so make more readable */
|
||||
|
||||
/** @type {import("../lib/shared/types").ConfigData} */
|
||||
module.exports = Object.freeze({
|
||||
rules: Object.freeze({
|
||||
"constructor-super": "error",
|
||||
@@ -23,7 +20,6 @@ module.exports = Object.freeze({
|
||||
"no-compare-neg-zero": "error",
|
||||
"no-cond-assign": "error",
|
||||
"no-const-assign": "error",
|
||||
"no-constant-binary-expression": "error",
|
||||
"no-constant-condition": "error",
|
||||
"no-control-regex": "error",
|
||||
"no-debugger": "error",
|
||||
@@ -36,18 +32,20 @@ module.exports = Object.freeze({
|
||||
"no-empty": "error",
|
||||
"no-empty-character-class": "error",
|
||||
"no-empty-pattern": "error",
|
||||
"no-empty-static-block": "error",
|
||||
"no-ex-assign": "error",
|
||||
"no-extra-boolean-cast": "error",
|
||||
"no-extra-semi": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-func-assign": "error",
|
||||
"no-global-assign": "error",
|
||||
"no-import-assign": "error",
|
||||
"no-inner-declarations": "error",
|
||||
"no-invalid-regexp": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-loss-of-precision": "error",
|
||||
"no-misleading-character-class": "error",
|
||||
"no-new-native-nonconstructor": "error",
|
||||
"no-mixed-spaces-and-tabs": "error",
|
||||
"no-new-symbol": "error",
|
||||
"no-nonoctal-decimal-escape": "error",
|
||||
"no-obj-calls": "error",
|
||||
"no-octal": "error",
|
||||
@@ -66,7 +64,6 @@ module.exports = Object.freeze({
|
||||
"no-unsafe-negation": "error",
|
||||
"no-unsafe-optional-chaining": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-unused-private-class-members": "error",
|
||||
"no-unused-vars": "error",
|
||||
"no-useless-backreference": "error",
|
||||
"no-useless-catch": "error",
|
||||
@@ -75,5 +72,5 @@ module.exports = Object.freeze({
|
||||
"require-yield": "error",
|
||||
"use-isnan": "error",
|
||||
"valid-typeof": "error"
|
||||
}),
|
||||
})
|
||||
});
|
||||
|
||||
+4
-10
@@ -5,19 +5,13 @@
|
||||
|
||||
"use strict";
|
||||
|
||||
const { name, version } = require("../package.json");
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Public Interface
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
module.exports = {
|
||||
meta: {
|
||||
name,
|
||||
version,
|
||||
},
|
||||
configs: {
|
||||
all: require("./configs/eslint-all"),
|
||||
recommended: require("./configs/eslint-recommended"),
|
||||
},
|
||||
configs: {
|
||||
all: require("./configs/eslint-all"),
|
||||
recommended: require("./configs/eslint-recommended")
|
||||
}
|
||||
};
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
import type { Linter } from "eslint";
|
||||
|
||||
declare const js: {
|
||||
readonly meta: {
|
||||
readonly name: string;
|
||||
readonly version: string;
|
||||
};
|
||||
readonly configs: {
|
||||
readonly recommended: { readonly rules: Readonly<Linter.RulesRecord> };
|
||||
readonly all: { readonly rules: Readonly<Linter.RulesRecord> };
|
||||
};
|
||||
};
|
||||
|
||||
export = js;
|
||||
Reference in New Issue
Block a user