diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 57f6da6..afeeda0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,39 +11,39 @@ jobs: name: Keep Latest runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v1 - with: { fetch-depth: 1 } - - name: Install Node.js - uses: actions/setup-node@v1 - with: { node-version: 12.x } - - name: Install Packages - run: npm install - - name: Check ESLint Version - uses: ./.github/actions/get-eslint-versions - id: versions - - name: Test - run: npm test - if: success() && steps.versions.outputs.installed != steps.versions.outputs.published - - name: Bump Version - run: | - if ! git diff --exit-code --quiet - then - git config user.name "${GITHUB_ACTOR}" - git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" - git add . - git commit -m "🔖 ${VERSION}" - git tag "v$VERSION" - git push "https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" HEAD:master "v${VERSION}" - fi - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VERSION: ${{ steps.versions.outputs.installed }} - if: success() && steps.versions.outputs.installed != steps.versions.outputs.published - - name: Publish - run: | - npm config set //registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN - npm publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - if: success() && steps.versions.outputs.installed != steps.versions.outputs.published + - name: Checkout + uses: actions/checkout@v2 + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: 16 + - name: Install Packages + run: npm install + - name: Check ESLint Version + uses: ./.github/actions/get-eslint-versions + id: versions + - name: Test + run: npm test + if: success() && steps.versions.outputs.installed != steps.versions.outputs.published + - name: Bump Version + run: | + if ! git diff --exit-code --quiet + then + git config user.name "${GITHUB_ACTOR}" + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" + git add . + git commit -m "🔖 ${VERSION}" + git tag "v$VERSION" + git push "https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" HEAD:master "v${VERSION}" + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION: ${{ steps.versions.outputs.installed }} + if: success() && steps.versions.outputs.installed != steps.versions.outputs.published + - name: Publish + run: | + npm config set //registry.npmjs.org/:_authToken=$NODE_AUTH_TOKEN + npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + if: success() && steps.versions.outputs.installed != steps.versions.outputs.published diff --git a/.last-version b/.last-version index 6894417..fa5fce0 100644 --- a/.last-version +++ b/.last-version @@ -1 +1 @@ -7.32.0 \ No newline at end of file +8.0.0 \ No newline at end of file diff --git a/package.json b/package.json index bd6718d..6dacd51 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "eslint4b", - "version": "7.32.0", + "version": "8.0.0", "description": "ESLint which works in browsers.", "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "main": "dist/index.js", "files": [ @@ -13,10 +13,10 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.1.0", - "espree": "^7.3.1", + "eslint-scope": "^6.0.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.0.0", + "espree": "^9.0.0", "esquery": "^1.4.0", "esutils": "^2.0.3", "functional-red-black-tree": "^1.0.1", @@ -30,12 +30,12 @@ "devDependencies": { "@actions/core": "^1.5.0", "@babel/core": "^7.15.0", - "@mysticatea/eslint-plugin": "^11.0.0", + "@mysticatea/eslint-plugin": "^13.0.0", "@types/node": "^12.20.20", "babel-plugin-minify-constant-folding": "^0.5.0", "babel-plugin-minify-dead-code-elimination": "^0.5.1", "babel-plugin-transform-inline-environment-variables": "^0.4.3", - "eslint": "^7.32.0", + "eslint": "^8.0.0", "fancy-log": "^1.3.3", "fs-extra": "^9.1.0", "karma": "^5.2.3", diff --git a/scripts/build.js b/scripts/build.js index 38e0031..18cd4e4 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -6,6 +6,7 @@ const path = require("path") const babel = require("@babel/core") +const { builtinRules } = require("eslint/use-at-your-own-risk"); const log = require("fancy-log") const fs = require("fs-extra") const rollup = require("rollup") @@ -30,26 +31,13 @@ const resolve = require("./rollup-plugin/resolve") //-------------------------------------------------------------------------- log.info("Update 'scripts/shim/core-rules.js'.") - const ruleDir = path.resolve("node_modules/eslint/lib/rules") - const ruleIds = (await fs.readdir(ruleDir)) - .filter( - filename => - /^[a-z-]+\.js$/u.test(filename) && filename !== "index.js", - ) - .map(filename => path.basename(filename, ".js")) - const importDecls = ruleIds - .map( - (ruleId, index) => - `import _${index} from "eslint/lib/rules/${ruleId}"`, - ) - .join("\n") - const exportDecls = ruleIds - .map((ruleId, index) => ` "${ruleId}": _${index},`) + const exportDecls = [...builtinRules.keys()] + .map((ruleId) => ` "${ruleId}": builtinRules.get("${ruleId}"),`) .join("\n") await fs.writeFile( "scripts/shim/core-rules.js", - `${importDecls}\nexport default {\n${exportDecls}\n}\n`, + `const { builtinRules } = require("eslint/use-at-your-own-risk")\nexport default {\n${exportDecls}\n}\n`, ) //-------------------------------------------------------------------------- @@ -81,7 +69,6 @@ const resolve = require("./rollup-plugin/resolve") plugins: [ replace({ debug: "./scripts/shim/debug.js", - "eslint/lib/rules/index.js": "./scripts/shim/rules-index.js", }), resolve(), modify({ diff --git a/scripts/shim/index.js b/scripts/shim/index.js index 77ef2ea..26cb90e 100644 --- a/scripts/shim/index.js +++ b/scripts/shim/index.js @@ -1,4 +1,4 @@ -import { Linter as BaseLinter } from "eslint/lib/linter" +import { Linter as BaseLinter } from "eslint" import coreRules from "./core-rules" /** diff --git a/scripts/shim/linter.js b/scripts/shim/linter.js index 543be28..d41f442 100644 --- a/scripts/shim/linter.js +++ b/scripts/shim/linter.js @@ -1,2 +1,2 @@ -import { Linter } from "eslint/lib/linter" +import { Linter } from "eslint" export default Linter