diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 000000000..e5b6d8d6a --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 000000000..43b72b358 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://unpkg.com/@changesets/config/schema.json", + "changelog": [ + "@svitejs/changesets-changelog-github-compact", + { + "repo": "vuejs/eslint-plugin-vue" + } + ], + "commit": false, + "linked": [], + "access": "public", + "baseBranch": "master", + "bumpVersionsWithWorkspaceProtocolOnly": true, + "ignore": [] +} diff --git a/.changeset/grumpy-humans-tickle.md b/.changeset/grumpy-humans-tickle.md new file mode 100644 index 000000000..e5f3a14a8 --- /dev/null +++ b/.changeset/grumpy-humans-tickle.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-vue": patch +--- + +Updates resources diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml new file mode 100644 index 000000000..260b73582 --- /dev/null +++ b/.github/workflows/Release.yml @@ -0,0 +1,35 @@ +name: Release + +on: + push: + branches: + - master + +permissions: {} + +jobs: + release: + # prevents this action from running on forks + if: github.repository == 'vuejs/eslint-plugin-vue' + permissions: + contents: write # to create release (changesets/action) + pull-requests: write # to create pull request (changesets/action) + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + - name: Install Dependencies + run: npm install -f + + - name: Create Release Pull Request or Publish to npm + id: changesets + uses: changesets/action@v1 + with: + version: npm run changeset:version + publish: npm run changeset:publish + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/lib/utils/vue3-export-names.json b/lib/utils/vue3-export-names.json index 349779da1..395090026 100644 --- a/lib/utils/vue3-export-names.json +++ b/lib/utils/vue3-export-names.json @@ -235,6 +235,7 @@ "AsyncComponentOptions", "defineAsyncComponent", "useModel", + "TemplateRef", "useTemplateRef", "useId", "h", @@ -263,8 +264,8 @@ "devtools", "setDevtoolsHook", "DeprecationTypes", - "WatchOptionsBase", "createElementVNode", + "WatchOptionsBase", "TransitionProps", "Transition", "TransitionGroupProps", diff --git a/package.json b/package.json index 7e44aeb84..ff0a4b00a 100644 --- a/package.json +++ b/package.json @@ -18,12 +18,15 @@ "lint:fix": "eslint . --fix && markdownlint \"**/*.md\" --fix", "tsc": "tsc", "preversion": "npm test && git add .", - "version": "env-cmd -e version npm run update && npm run lint -- --fix && git add .", + "version": "npm run generate:version && git add .", "update": "node ./tools/update.js", "update-resources": "node ./tools/update-resources.js", "docs:watch": "vitepress dev docs", "predocs:build": "npm run update", - "docs:build": "vitepress build docs" + "docs:build": "vitepress build docs", + "generate:version": "env-cmd -e version npm run update && npm run lint -- --fix", + "changeset:version": "changeset version && npm run generate:version && git add --all", + "changeset:publish": "changeset publish" }, "files": [ "lib" @@ -66,8 +69,10 @@ "xml-name-validator": "^4.0.0" }, "devDependencies": { + "@changesets/cli": "^2.29.2", "@ota-meshi/site-kit-eslint-editor-vue": "^0.2.4", "@stylistic/eslint-plugin": "^2.12.1", + "@svitejs/changesets-changelog-github-compact": "^1.2.0", "@types/eslint": "^8.56.2", "@types/natural-compare": "^1.4.3", "@types/node": "^14.18.63", diff --git a/tests/lib/rules/eqeqeq.js b/tests/lib/rules/eqeqeq.js index afd458248..8089ebaaa 100644 --- a/tests/lib/rules/eqeqeq.js +++ b/tests/lib/rules/eqeqeq.js @@ -3,7 +3,8 @@ */ 'use strict' -const RuleTester = require('../../eslint-compat').RuleTester +const semver = require('semver') +const { RuleTester, ESLint } = require('../../eslint-compat') const rule = require('../../../lib/rules/eqeqeq') const tester = new RuleTester({ @@ -24,7 +25,19 @@ tester.run('eqeqeq', rule, { invalid: [ { code: '', - errors: ["Expected '===' and instead saw '=='."] + errors: [ + { + message: "Expected '===' and instead saw '=='.", + suggestions: semver.gte(ESLint.version, '9.26.0') + ? [ + { + desc: "Use '===' instead of '=='.", + output: `` + } + ] + : null + } + ] }, // CSS vars injection { @@ -34,7 +47,24 @@ tester.run('eqeqeq', rule, { color: v-bind(a == 1 ? 'red' : 'blue') } `, - errors: ["Expected '===' and instead saw '=='."] + errors: [ + { + message: "Expected '===' and instead saw '=='.", + suggestions: semver.gte(ESLint.version, '9.26.0') + ? [ + { + desc: "Use '===' instead of '=='.", + output: ` + ` + } + ] + : null + } + ] } ] })