@deot/dev-eslint 2.9.1 → 2.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -10,6 +10,8 @@ const pluginJsdoc = require('eslint-plugin-jsdoc');
10
10
  const pluginMarkdown = require('eslint-plugin-markdown');
11
11
  const pluginImport = require('eslint-plugin-import-x');
12
12
  const pluginStylistic = require('@stylistic/eslint-plugin');
13
+ const pluginVue = require('eslint-plugin-vue');
14
+ const parserVue = require('vue-eslint-parser');
13
15
 
14
16
  function _interopNamespaceDefault(e) {
15
17
  const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
@@ -362,6 +364,44 @@ const stylistic = async (options$) => {
362
364
  ];
363
365
  };
364
366
 
367
+ const vue = async (options$) => {
368
+ const options = await pickOptions("vue", options$);
369
+ if (!options.enable) {
370
+ return [];
371
+ }
372
+ const baseRules = pluginVue.configs["base"].rules;
373
+ const essentialRules = pluginVue.configs["essential"].rules;
374
+ const recommendedRules = { ...baseRules, ...essentialRules };
375
+ const rules = {
376
+ ...recommendedRules,
377
+ "vue/html-indent": ["error", "tab"],
378
+ "vue/no-multiple-template-root": 0,
379
+ "vue/multi-word-component-names": 0,
380
+ "vue/no-shared-component-data": 0
381
+ };
382
+ return [
383
+ // 单独安装plugins,
384
+ {
385
+ plugins: {
386
+ vue: pluginVue
387
+ }
388
+ },
389
+ {
390
+ files: ["**/*.vue"],
391
+ languageOptions: {
392
+ parser: parserVue,
393
+ parserOptions: {
394
+ sourceType: "module"
395
+ }
396
+ },
397
+ rules: {
398
+ ...cleanRules("vue", recommendedRules, recommendedRules, rules),
399
+ ...options.overrides
400
+ }
401
+ }
402
+ ];
403
+ };
404
+
365
405
  const configure = async (options, ...userConfigs) => {
366
406
  const configs = [
367
407
  ...await ignores(options?.ignores),
@@ -370,7 +410,8 @@ const configure = async (options, ...userConfigs) => {
370
410
  ...await jsdoc(options),
371
411
  ...await markdown(options),
372
412
  ...await imports(options),
373
- ...await stylistic(options)
413
+ ...await stylistic(options),
414
+ ...await vue(options)
374
415
  ];
375
416
  return configs.concat(userConfigs);
376
417
  };
package/dist/index.js CHANGED
@@ -6,6 +6,8 @@ import pluginJsdoc from 'eslint-plugin-jsdoc';
6
6
  import pluginMarkdown from 'eslint-plugin-markdown';
7
7
  import pluginImport from 'eslint-plugin-import-x';
8
8
  import pluginStylistic from '@stylistic/eslint-plugin';
9
+ import pluginVue from 'eslint-plugin-vue';
10
+ import parserVue from 'vue-eslint-parser';
9
11
 
10
12
  const pickOptions = async (key, options) => {
11
13
  const configOptions = {
@@ -339,6 +341,44 @@ const stylistic = async (options$) => {
339
341
  ];
340
342
  };
341
343
 
344
+ const vue = async (options$) => {
345
+ const options = await pickOptions("vue", options$);
346
+ if (!options.enable) {
347
+ return [];
348
+ }
349
+ const baseRules = pluginVue.configs["base"].rules;
350
+ const essentialRules = pluginVue.configs["essential"].rules;
351
+ const recommendedRules = { ...baseRules, ...essentialRules };
352
+ const rules = {
353
+ ...recommendedRules,
354
+ "vue/html-indent": ["error", "tab"],
355
+ "vue/no-multiple-template-root": 0,
356
+ "vue/multi-word-component-names": 0,
357
+ "vue/no-shared-component-data": 0
358
+ };
359
+ return [
360
+ // 单独安装plugins,
361
+ {
362
+ plugins: {
363
+ vue: pluginVue
364
+ }
365
+ },
366
+ {
367
+ files: ["**/*.vue"],
368
+ languageOptions: {
369
+ parser: parserVue,
370
+ parserOptions: {
371
+ sourceType: "module"
372
+ }
373
+ },
374
+ rules: {
375
+ ...cleanRules("vue", recommendedRules, recommendedRules, rules),
376
+ ...options.overrides
377
+ }
378
+ }
379
+ ];
380
+ };
381
+
342
382
  const configure = async (options, ...userConfigs) => {
343
383
  const configs = [
344
384
  ...await ignores(options?.ignores),
@@ -347,7 +387,8 @@ const configure = async (options, ...userConfigs) => {
347
387
  ...await jsdoc(options),
348
388
  ...await markdown(options),
349
389
  ...await imports(options),
350
- ...await stylistic(options)
390
+ ...await stylistic(options),
391
+ ...await vue(options)
351
392
  ];
352
393
  return configs.concat(userConfigs);
353
394
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deot/dev-eslint",
3
- "version": "2.9.1",
3
+ "version": "2.9.2",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "dist/index.d.ts",
@@ -25,6 +25,7 @@
25
25
  "eslint-plugin-import-x": "^4.10.0",
26
26
  "eslint-plugin-jsdoc": "^50.6.9",
27
27
  "eslint-plugin-markdown": "^5.1.0",
28
+ "eslint-plugin-vue": "^10.0.0",
28
29
  "globals": "^16.0.0"
29
30
  },
30
31
  "devDependencies": {