Skip to content

Commit d328956

Browse files
committed
Merge branch 'master' into pnpm-workspace
# Conflicts: # docs/.vitepress/theme/index.ts
2 parents 866ca8d + c36cae5 commit d328956

File tree

14 files changed

+95
-66
lines changed

14 files changed

+95
-66
lines changed

.changeset/add-callexpression-support.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/improve-define-macros-order-messages.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/lemon-socks-follow.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/neat-coats-allow.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/ten-lines-fail.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# eslint-plugin-vue
22

3+
## 10.6.0
4+
5+
### Minor Changes
6+
7+
- Updated [`vue/no-import-compiler-macros`](https://eslint.vuejs.org/rules/no-import-compiler-macros.html) to clarify that macros are not allowed outside `<script setup>` ([#2938](https://github.com/vuejs/eslint-plugin-vue/pull/2938))
8+
9+
- Added new [`vue/no-duplicate-class-names`](https://eslint.vuejs.org/rules/no-duplicate-class-names.html) rule ([#2934](https://github.com/vuejs/eslint-plugin-vue/pull/2934))
10+
11+
### Patch Changes
12+
13+
- Fixed [`vue/no-v-html`](https://eslint.vuejs.org/rules/no-v-html.html) rule to allow ignoring call expressions ([#2950](https://github.com/vuejs/eslint-plugin-vue/pull/2950))
14+
15+
- Improved [`vue/define-macros-order`](https://eslint.vuejs.org/rules/define-macros-order.html) error messages to distinguish between macro placement and ordering issues ([#2953](https://github.com/vuejs/eslint-plugin-vue/pull/2953))
16+
17+
- Updated dependency [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) to v7.1.0 ([#2947](https://github.com/vuejs/eslint-plugin-vue/pull/2947))
18+
319
## 10.5.1
420

521
### Patch Changes

docs/.eslintrc.js

Lines changed: 0 additions & 7 deletions
This file was deleted.

docs/.vitepress/config.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import './build-system/build'
1010

1111
const dirname = path.dirname(fileURLToPath(import.meta.url))
1212

13+
// eslint-disable-next-line unicorn/no-anonymous-default-export
1314
export default async () => {
1415
const rulesPath = '../../tools/lib/rules.js' // Avoid bundle
1516
const rules: typeof import('../../tools/lib/rules.js') = await import(
@@ -87,12 +88,10 @@ export default async () => {
8788
)
8889
return !exists
8990
})
90-
.map(({ ruleId, name }) => {
91-
return {
92-
text: ruleId,
93-
link: `/rules/${name}`
94-
}
95-
})
91+
.map(({ ruleId, name }) => ({
92+
text: ruleId,
93+
link: `/rules/${name}`
94+
}))
9695

9796
if (children.length === 0) {
9897
continue

docs/.vitepress/vite-plugin.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const libRoot = path.join(fileURLToPath(import.meta.url), '../../../lib')
1212
export function vitePluginRequireResolve(): Plugin {
1313
return {
1414
name: 'vite-plugin-require.resolve',
15-
transform(code, id, _options) {
15+
transform(code, id) {
1616
if (id.startsWith(libRoot)) {
1717
return code.replace(/require\.resolve/gu, '(function(){return 0})')
1818
}
@@ -35,8 +35,9 @@ export function viteCommonjs(): Plugin {
3535
format: 'esm'
3636
})
3737
return transformed.code
38-
} catch (e) {
39-
console.error('Transform error. base code:\n' + base, e)
38+
} catch (error) {
39+
// eslint-disable-next-line no-console
40+
console.error(`Transform error. base code:\n${base}`, error)
4041
}
4142
return undefined
4243
}
@@ -59,24 +60,26 @@ function transformRequire(code: string) {
5960
}
6061

6162
let id =
63+
// eslint-disable-next-line prefer-template
6264
'__' +
6365
moduleString.replace(/[^a-zA-Z0-9_$]+/gu, '_') +
64-
Math.random().toString(32).substring(2)
66+
Math.random().toString(32).slice(2)
6567
while (code.includes(id) || modules.has(id)) {
66-
id += Math.random().toString(32).substring(2)
68+
id += Math.random().toString(32).slice(2)
6769
}
6870
modules.set(id, moduleString)
69-
return id + '()'
71+
return `${id}()`
7072
}
7173
)
7274

7375
return (
76+
// eslint-disable-next-line prefer-template
7477
[...modules]
75-
.map(([id, moduleString]) => {
76-
return `import * as __temp_${id} from ${moduleString};
78+
.map(
79+
([id, moduleString]) => `import * as __temp_${id} from ${moduleString};
7780
const ${id} = () => __temp_${id}.default || __temp_${id};
7881
`
79-
})
82+
)
8083
.join('') +
8184
';\n' +
8285
replaced

docs/rules/no-duplicate-class-names.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ pageClass: rule-details
33
sidebarDepth: 0
44
title: vue/no-duplicate-class-names
55
description: disallow duplication of class names in class attributes
6+
since: v10.6.0
67
---
78

89
# vue/no-duplicate-class-names
910

1011
> disallow duplication of class names in class attributes
1112
12-
- :exclamation: <badge text="This rule has not been released yet." vertical="middle" type="error"> _**This rule has not been released yet.**_ </badge>
1313
- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fix-problems) can automatically fix some of the problems reported by this rule.
1414

1515
## :book: Rule Details
@@ -51,6 +51,10 @@ This rule prevents the same class name from appearing multiple times within the
5151

5252
Nothing.
5353

54+
## :rocket: Version
55+
56+
This rule was introduced in eslint-plugin-vue v10.6.0
57+
5458
## :mag: Implementation
5559

5660
- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/no-duplicate-class-names.js)

0 commit comments

Comments
 (0)