diff --git a/docs/rules/block-order.md b/docs/rules/block-order.md new file mode 100644 index 000000000..fe32e99e2 --- /dev/null +++ b/docs/rules/block-order.md @@ -0,0 +1,194 @@ +--- +pageClass: rule-details +sidebarDepth: 0 +title: vue/block-order +description: enforce order of component top-level elements +--- +# vue/block-order + +> enforce order of component top-level elements + +- :exclamation: ***This rule has not been released yet.*** +- :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule. + +## :book: Rule Details + +This rule warns about the order of the top-level tags, such as ` + + +``` + + + + + +```vue + + + + +``` + + + + + +```vue + + + + +``` + + + +### `{ "order": ["template", "script", "style"] }` + + + +```vue + + + + +``` + + + + + +```vue + + + + +``` + + + +### `{ "order": ["docs", "template", "script", "style"] }` + + + +```vue + + documentation + + + +``` + + + + + +```vue + + + + documentation + +``` + + + +### `{ 'order': ['template', 'script:not([setup])', 'script[setup]'] }` + + + +```vue + + + + +``` + + + + + +```vue + + + + +``` + + + +### `{ 'order': ['template', 'style:not([scoped])', 'style[scoped]'] }` + + + +```vue + + + + +``` + + + + + +```vue + + + + +``` + + + +### `{ 'order': ['template', 'i18n:not([locale=en])', 'i18n[locale=en]'] }` + + + +```vue + + +/* ... */ +/* ... */ +``` + + + + + +```vue + + +/* ... */ +/* ... */ +``` + + + +## :books: Further Reading + +- [Style guide - Single-file component top-level element order](https://vuejs.org/style-guide/rules-recommended.html#single-file-component-top-level-element-order) + +## :mag: Implementation + +- [Rule source](https://github.com/vuejs/eslint-plugin-vue/blob/master/lib/rules/block-order.js) +- [Test source](https://github.com/vuejs/eslint-plugin-vue/blob/master/tests/lib/rules/block-order.js) diff --git a/docs/rules/component-tags-order.md b/docs/rules/component-tags-order.md index 4fc8d245e..22b161aa0 100644 --- a/docs/rules/component-tags-order.md +++ b/docs/rules/component-tags-order.md @@ -9,6 +9,7 @@ since: v6.1.0 > enforce order of component top-level elements +- :no_entry_sign: This rule was **deprecated** and replaced by [vue/block-order](block-order.md) rule. - :gear: This rule is included in `"plugin:vue/vue3-recommended"` and `"plugin:vue/recommended"`. - :wrench: The `--fix` option on the [command line](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems) can automatically fix some of the problems reported by this rule. diff --git a/docs/rules/index.md b/docs/rules/index.md index bdf3a2d19..6b06a7c71 100644 --- a/docs/rules/index.md +++ b/docs/rules/index.md @@ -178,7 +178,7 @@ Rules in this category are enabled for all presets provided by eslint-plugin-vue | Rule ID | Description | | | |:--------|:------------|:--:|:--:| | [vue/attributes-order](./attributes-order.md) | enforce order of attributes | :wrench: | :three::two::hammer: | -| [vue/component-tags-order](./component-tags-order.md) | enforce order of component top-level elements | :wrench: | :three::two::hammer: | +| [vue/component-tags-order](./component-tags-order.md) | enforce order of component top-level elements | :wrench::no_entry_sign: | :three::two::hammer: | | [vue/no-lone-template](./no-lone-template.md) | disallow unnecessary `