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
+ }
+ ]
}
]
})