@ota-meshi/eslint-plugin 0.17.0 → 0.17.1

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.
@@ -9,7 +9,12 @@ const fallback_js_1 = require("./fallback.js");
9
9
  const any_parser_js_1 = require("../parsers/any-parser.js");
10
10
  const _astro_js_2 = require("./+astro.js");
11
11
  function buildAstroTs() {
12
- return (0, module_js_1.requireOf)(["eslint-plugin-astro", "astro-eslint-parser", "@typescript-eslint/parser"], () => {
12
+ return (0, module_js_1.requireOf)([
13
+ "eslint-plugin-astro",
14
+ "astro-eslint-parser",
15
+ "typescript-eslint",
16
+ "@typescript-eslint/parser",
17
+ ], () => {
13
18
  return [
14
19
  ...(0, index_js_1.buildTS)(_astro_js_1.astroFiles),
15
20
  {
@@ -26,13 +31,12 @@ function buildAstroTs() {
26
31
  ...(0, _astro_js_2.buildAstro)(),
27
32
  ];
28
33
  }, (missingList) => [
29
- {
34
+ ...(0, fallback_js_1.buildFallback)(missingList, {
30
35
  files: _astro_js_1.astroFiles,
31
36
  languageOptions: {
32
37
  parser: any_parser_js_1.anyParser,
33
38
  },
34
- ...(0, fallback_js_1.buildFallback)(missingList),
35
- },
39
+ }),
36
40
  ]);
37
41
  }
38
42
  exports.buildAstroTs = buildAstroTs;
@@ -18,13 +18,12 @@ function buildAstro() {
18
18
  },
19
19
  ];
20
20
  }, (missingList) => [
21
- {
21
+ ...(0, fallback_js_1.buildFallback)(missingList, {
22
22
  files: _astro_js_1.astroFiles,
23
23
  languageOptions: {
24
24
  parser: any_parser_js_1.anyParser,
25
25
  },
26
- ...(0, fallback_js_1.buildFallback)(missingList),
27
- },
26
+ }),
28
27
  ]);
29
28
  }
30
29
  exports.buildAstro = buildAstro;
@@ -20,13 +20,12 @@ function buildJson() {
20
20
  ...(0, json_schema_js_1.buildJsonSchema)(_json_js_1.jsonFiles),
21
21
  ];
22
22
  }, (missingList) => [
23
- {
23
+ ...(0, fallback_js_1.buildFallback)(missingList, {
24
24
  files: _json_js_1.jsonFiles,
25
25
  languageOptions: {
26
26
  parser: any_parser_js_1.anyParser,
27
27
  },
28
- ...(0, fallback_js_1.buildFallback)(missingList),
29
- },
28
+ }),
30
29
  ]);
31
30
  }
32
31
  exports.buildJson = buildJson;
@@ -32,13 +32,12 @@ function buildMd() {
32
32
  },
33
33
  ];
34
34
  }, (missingList) => [
35
- {
35
+ ...(0, fallback_js_1.buildFallback)(missingList, {
36
36
  files: _md_js_1.mdFiles,
37
37
  languageOptions: {
38
38
  parser: any_parser_js_1.anyParser,
39
39
  },
40
- ...(0, fallback_js_1.buildFallback)(missingList),
41
- },
40
+ }),
42
41
  ]);
43
42
  }
44
43
  exports.buildMd = buildMd;
@@ -21,9 +21,6 @@ function buildNode() {
21
21
  },
22
22
  },
23
23
  ];
24
- }, (missingList) => (0, fallback_js_1.buildFallback)(missingList).map((config) => ({
25
- ...config,
26
- files: _node_js_1.nodeFiles,
27
- })));
24
+ }, (missingList) => (0, fallback_js_1.buildFallback)(missingList, { files: _node_js_1.nodeFiles }));
28
25
  }
29
26
  exports.buildNode = buildNode;
@@ -17,13 +17,12 @@ function buildPackageJson() {
17
17
  ...nodeDependenciesPlugin.configs["flat/recommended"],
18
18
  ];
19
19
  }, (missingList) => [
20
- {
20
+ ...(0, fallback_js_1.buildFallback)(missingList, {
21
21
  files: _package_json_js_1.packageJsonFiles,
22
22
  languageOptions: {
23
23
  parser: any_parser_js_1.anyParser,
24
24
  },
25
- ...(0, fallback_js_1.buildFallback)(missingList),
26
- },
25
+ }),
27
26
  ]);
28
27
  }
29
28
  exports.buildPackageJson = buildPackageJson;
@@ -12,6 +12,7 @@ function buildSvelteTs() {
12
12
  return (0, module_js_1.requireOf)([
13
13
  "eslint-plugin-svelte",
14
14
  "svelte-eslint-parser",
15
+ "typescript-eslint",
15
16
  "@typescript-eslint/parser",
16
17
  ], () => {
17
18
  return [
@@ -30,13 +31,12 @@ function buildSvelteTs() {
30
31
  ...(0, _svelte_js_2.buildSvelte)(),
31
32
  ];
32
33
  }, (missingList) => [
33
- {
34
+ ...(0, fallback_js_1.buildFallback)(missingList, {
34
35
  files: _svelte_js_1.svelteFiles,
35
36
  languageOptions: {
36
37
  parser: any_parser_js_1.anyParser,
37
38
  },
38
- ...(0, fallback_js_1.buildFallback)(missingList),
39
- },
39
+ }),
40
40
  ]);
41
41
  }
42
42
  exports.buildSvelteTs = buildSvelteTs;
@@ -15,16 +15,24 @@ function buildSvelte() {
15
15
  rules: {
16
16
  ..._svelte_js_1.svelteExtendRules,
17
17
  },
18
+ ...((0, module_js_1.has)("@typescript-eslint/parser")
19
+ ? {
20
+ languageOptions: {
21
+ parserOptions: {
22
+ parser: { ts: (0, module_js_1.requireFromCwd)("@typescript-eslint/parser") },
23
+ },
24
+ },
25
+ }
26
+ : {}),
18
27
  },
19
28
  ];
20
29
  }, (missingList) => [
21
- {
30
+ ...(0, fallback_js_1.buildFallback)(missingList, {
22
31
  files: _svelte_js_1.svelteFiles,
23
32
  languageOptions: {
24
33
  parser: any_parser_js_1.anyParser,
25
34
  },
26
- ...(0, fallback_js_1.buildFallback)(missingList),
27
- },
35
+ }),
28
36
  ]);
29
37
  }
30
38
  exports.buildSvelte = buildSvelte;
@@ -20,13 +20,12 @@ function buildToml() {
20
20
  },
21
21
  ];
22
22
  }, (missingList) => [
23
- {
23
+ ...(0, fallback_js_1.buildFallback)(missingList, {
24
24
  files: _toml_js_1.tomlFiles,
25
25
  languageOptions: {
26
26
  parser: any_parser_js_1.anyParser,
27
27
  },
28
- ...(0, fallback_js_1.buildFallback)(missingList),
29
- },
28
+ }),
30
29
  ]);
31
30
  }
32
31
  exports.buildToml = buildToml;
@@ -9,7 +9,12 @@ const base_config_js_1 = require("../config-helpers/plugins/ts/base-config.js");
9
9
  const any_parser_js_1 = require("../parsers/any-parser.js");
10
10
  const fallback_js_1 = require("./fallback.js");
11
11
  function buildVue2Ts() {
12
- return (0, module_js_1.requireOf)(["eslint-plugin-vue", "vue-eslint-parser", "@typescript-eslint/parser"], () => {
12
+ return (0, module_js_1.requireOf)([
13
+ "eslint-plugin-vue",
14
+ "vue-eslint-parser",
15
+ "typescript-eslint",
16
+ "@typescript-eslint/parser",
17
+ ], () => {
13
18
  return [
14
19
  ...(0, index_js_1.buildTS)(_vue_js_1.vueFiles),
15
20
  {
@@ -26,13 +31,12 @@ function buildVue2Ts() {
26
31
  ...(0, _vue2_js_1.buildVue2)(),
27
32
  ];
28
33
  }, (missingList) => [
29
- {
34
+ ...(0, fallback_js_1.buildFallback)(missingList, {
30
35
  files: _vue_js_1.vueFiles,
31
36
  languageOptions: {
32
37
  parser: any_parser_js_1.anyParser,
33
38
  },
34
- ...(0, fallback_js_1.buildFallback)(missingList),
35
- },
39
+ }),
36
40
  ]);
37
41
  }
38
42
  exports.buildVue2Ts = buildVue2Ts;
@@ -15,16 +15,24 @@ function buildVue2() {
15
15
  rules: {
16
16
  ..._vue_js_1.vueExtendRules,
17
17
  },
18
+ ...((0, module_js_1.has)("@typescript-eslint/parser")
19
+ ? {
20
+ languageOptions: {
21
+ parserOptions: {
22
+ parser: { ts: (0, module_js_1.requireFromCwd)("@typescript-eslint/parser") },
23
+ },
24
+ },
25
+ }
26
+ : {}),
18
27
  },
19
28
  ];
20
29
  }, (missingList) => [
21
- {
30
+ ...(0, fallback_js_1.buildFallback)(missingList, {
22
31
  files: _vue_js_1.vueFiles,
23
32
  languageOptions: {
24
33
  parser: any_parser_js_1.anyParser,
25
34
  },
26
- ...(0, fallback_js_1.buildFallback)(missingList),
27
- },
35
+ }),
28
36
  ]);
29
37
  }
30
38
  exports.buildVue2 = buildVue2;
@@ -9,7 +9,12 @@ const any_parser_js_1 = require("../parsers/any-parser.js");
9
9
  const fallback_js_1 = require("./fallback.js");
10
10
  const _vue3_js_1 = require("./+vue3.js");
11
11
  function buildVue3Ts() {
12
- return (0, module_js_1.requireOf)(["eslint-plugin-vue", "vue-eslint-parser", "@typescript-eslint/parser"], () => {
12
+ return (0, module_js_1.requireOf)([
13
+ "eslint-plugin-vue",
14
+ "vue-eslint-parser",
15
+ "typescript-eslint",
16
+ "@typescript-eslint/parser",
17
+ ], () => {
13
18
  return [
14
19
  ...(0, index_js_1.buildTS)(_vue_js_1.vueFiles),
15
20
  {
@@ -26,13 +31,12 @@ function buildVue3Ts() {
26
31
  ...(0, _vue3_js_1.buildVue3)(),
27
32
  ];
28
33
  }, (missingList) => [
29
- {
34
+ ...(0, fallback_js_1.buildFallback)(missingList, {
30
35
  files: _vue_js_1.vueFiles,
31
36
  languageOptions: {
32
37
  parser: any_parser_js_1.anyParser,
33
38
  },
34
- ...(0, fallback_js_1.buildFallback)(missingList),
35
- },
39
+ }),
36
40
  ]);
37
41
  }
38
42
  exports.buildVue3Ts = buildVue3Ts;
@@ -15,16 +15,24 @@ function buildVue3() {
15
15
  rules: {
16
16
  ..._vue_js_1.vueExtendRules,
17
17
  },
18
+ ...((0, module_js_1.has)("@typescript-eslint/parser")
19
+ ? {
20
+ languageOptions: {
21
+ parserOptions: {
22
+ parser: { ts: (0, module_js_1.requireFromCwd)("@typescript-eslint/parser") },
23
+ },
24
+ },
25
+ }
26
+ : {}),
18
27
  },
19
28
  ];
20
29
  }, (missingList) => [
21
- {
30
+ ...(0, fallback_js_1.buildFallback)(missingList, {
22
31
  files: _vue_js_1.vueFiles,
23
32
  languageOptions: {
24
33
  parser: any_parser_js_1.anyParser,
25
34
  },
26
- ...(0, fallback_js_1.buildFallback)(missingList),
27
- },
35
+ }),
28
36
  ]);
29
37
  }
30
38
  exports.buildVue3 = buildVue3;
@@ -20,13 +20,12 @@ function buildYaml() {
20
20
  },
21
21
  ];
22
22
  }, (missingList) => [
23
- {
23
+ ...(0, fallback_js_1.buildFallback)(missingList, {
24
24
  files: _yaml_js_1.yamlFiles,
25
25
  languageOptions: {
26
26
  parser: any_parser_js_1.anyParser,
27
27
  },
28
- ...(0, fallback_js_1.buildFallback)(missingList),
29
- },
28
+ }),
30
29
  ]);
31
30
  }
32
31
  exports.buildYaml = buildYaml;
@@ -2,4 +2,7 @@ import type { Linter } from "eslint";
2
2
  /**
3
3
  * Fallback Legacy config builder
4
4
  */
5
- export declare function buildFallback(missingList: string[], files?: string[]): Linter.FlatConfig[];
5
+ export declare function buildFallback(missingList: string[], options?: {
6
+ files?: string[];
7
+ languageOptions?: Linter.FlatConfig["languageOptions"];
8
+ }): Linter.FlatConfig[];
@@ -4,7 +4,7 @@ exports.buildFallback = void 0;
4
4
  /**
5
5
  * Fallback Legacy config builder
6
6
  */
7
- function buildFallback(missingList, files) {
7
+ function buildFallback(missingList, options) {
8
8
  return [
9
9
  {
10
10
  plugins: {
@@ -15,7 +15,7 @@ function buildFallback(missingList, files) {
15
15
  rules: {
16
16
  "@ota-meshi/missing-module-for-config": ["error", missingList],
17
17
  },
18
- ...(files ? { files } : {}),
18
+ ...(options ?? {}),
19
19
  },
20
20
  ];
21
21
  }
@@ -3,10 +3,18 @@ export type BuildConfigOptions = {
3
3
  node?: boolean;
4
4
  packageJson?: boolean;
5
5
  eslintPlugin?: boolean;
6
- vue3?: boolean;
7
- vue2?: boolean;
8
- svelte?: boolean;
9
- astro?: boolean;
6
+ vue3?: boolean | {
7
+ withTs?: boolean;
8
+ };
9
+ vue2?: boolean | {
10
+ withTs?: boolean;
11
+ };
12
+ svelte?: boolean | {
13
+ withTs?: boolean;
14
+ };
15
+ astro?: boolean | {
16
+ withTs?: boolean;
17
+ };
10
18
  ts?: boolean;
11
19
  json?: boolean;
12
20
  yaml?: boolean;
@@ -23,28 +23,30 @@ const _astro_with_ts_js_1 = require("./+astro-with-ts.js");
23
23
  * Build config
24
24
  */
25
25
  function buildConfig(options) {
26
- return [
26
+ const configs = [
27
27
  ...(0, recommended_js_1.buildRecommended)(),
28
28
  ...(options?.node ? (0, _node_js_1.buildNode)() : []),
29
29
  ...(options?.packageJson ? (0, _package_json_js_1.buildPackageJson)() : []),
30
- // kind of package
30
+ // Kind of package
31
31
  ...(options?.eslintPlugin ? (0, _eslint_plugin_js_1.buildESLintPlugin)() : []),
32
- // languages
33
- ...(options?.vue3 ? (0, _vue3_js_1.buildVue3)() : []),
34
- ...(options?.vue3 && options?.ts ? (0, _vue3_with_ts_js_1.buildVue3Ts)() : []),
35
- ...(options?.vue2 ? (0, _vue2_js_1.buildVue2)() : []),
36
- ...(options?.vue2 && options?.ts ? (0, _vue2_with_ts_js_1.buildVue2Ts)() : []),
37
- ...(options?.svelte ? (0, _svelte_js_1.buildSvelte)() : []),
38
- ...(options?.svelte && options?.ts ? (0, _svelte_with_ts_js_1.buildSvelteTs)() : []),
39
- ...(options?.astro ? (0, _astro_js_1.buildAstro)() : []),
40
- ...(options?.astro && options?.ts ? (0, _astro_with_ts_js_1.buildAstroTs)() : []),
41
- ...(options?.ts ? (0, _typescript_js_1.buildTs)() : []),
42
- ...(options?.json ? (0, _json_js_1.buildJson)() : []),
43
- ...(options?.yaml ? (0, _yaml_js_1.buildYaml)() : []),
44
- ...(options?.toml ? (0, _toml_js_1.buildToml)() : []),
45
- ...(options?.md ? (0, _md_js_1.buildMd)() : []),
46
- // format
47
- ...(options?.prettier ? (0, _prettier_js_1.buildPrettier)() : []),
48
32
  ];
33
+ // Frameworks
34
+ applyFw(options.vue3, _vue3_js_1.buildVue3, _vue3_with_ts_js_1.buildVue3Ts);
35
+ applyFw(options.vue2, _vue2_js_1.buildVue2, _vue2_with_ts_js_1.buildVue2Ts);
36
+ applyFw(options.svelte, _svelte_js_1.buildSvelte, _svelte_with_ts_js_1.buildSvelteTs);
37
+ applyFw(options.astro, _astro_js_1.buildAstro, _astro_with_ts_js_1.buildAstroTs);
38
+ configs.push(
39
+ // Languages
40
+ ...(options?.ts ? (0, _typescript_js_1.buildTs)() : []), ...(options?.json ? (0, _json_js_1.buildJson)() : []), ...(options?.yaml ? (0, _yaml_js_1.buildYaml)() : []), ...(options?.toml ? (0, _toml_js_1.buildToml)() : []), ...(options?.md ? (0, _md_js_1.buildMd)() : []),
41
+ // Format
42
+ ...(options?.prettier ? (0, _prettier_js_1.buildPrettier)() : []));
43
+ return configs;
44
+ function applyFw(option, builder, tsBuilder) {
45
+ configs.push(...builder());
46
+ const ts = (typeof option === "object" ? option.withTs : null) ?? options?.ts;
47
+ if (ts) {
48
+ configs.push(...tsBuilder());
49
+ }
50
+ }
49
51
  }
50
52
  exports.buildConfig = buildConfig;
@@ -18,13 +18,12 @@ function buildJsonSchema(files) {
18
18
  },
19
19
  ];
20
20
  }, (missingList) => [
21
- {
21
+ ...(0, fallback_js_1.buildFallback)(missingList, {
22
22
  files,
23
23
  languageOptions: {
24
24
  parser: any_parser_js_1.anyParser,
25
25
  },
26
- ...(0, fallback_js_1.buildFallback)(missingList),
27
- },
26
+ }),
28
27
  ]);
29
28
  }
30
29
  exports.buildJsonSchema = buildJsonSchema;
@@ -36,13 +36,12 @@ function buildTS(files) {
36
36
  }),
37
37
  ];
38
38
  }, (missingList) => [
39
- {
39
+ ...(0, fallback_js_1.buildFallback)(missingList, {
40
40
  files,
41
41
  languageOptions: {
42
42
  parser: any_parser_js_1.anyParser,
43
43
  },
44
- ...(0, fallback_js_1.buildFallback)(missingList),
45
- },
44
+ }),
46
45
  ]);
47
46
  }
48
47
  exports.buildTS = buildTS;
@@ -13,4 +13,5 @@ exports.svelteExtendRules = {
13
13
  "svelte/prefer-class-directive": "warn",
14
14
  "svelte/prefer-style-directive": "warn",
15
15
  "svelte/spaced-html-comment": "warn",
16
+ "no-use-before-define": "off",
16
17
  };
@@ -1,5 +1,13 @@
1
1
  import type { Linter } from "eslint";
2
+ export declare const meta: {
3
+ name: string;
4
+ version: any;
5
+ };
2
6
  export declare function parseForESLint(text: string, _options?: any): Linter.ESLintParseResult;
3
7
  export declare const anyParser: {
4
8
  parseForESLint: typeof parseForESLint;
9
+ meta: {
10
+ name: string;
11
+ version: any;
12
+ };
5
13
  };
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.anyParser = exports.parseForESLint = void 0;
3
+ exports.anyParser = exports.parseForESLint = exports.meta = void 0;
4
4
  const lineBreakPattern = /\r\n|[\n\r\u2028\u2029]/u;
5
+ exports.meta = {
6
+ name: __filename,
7
+ version: require("../../package.json").version,
8
+ };
5
9
  function parseForESLint(text, _options) {
6
10
  const lines = text.split(lineBreakPattern);
7
11
  return {
@@ -26,4 +30,4 @@ function parseForESLint(text, _options) {
26
30
  };
27
31
  }
28
32
  exports.parseForESLint = parseForESLint;
29
- exports.anyParser = { parseForESLint };
33
+ exports.anyParser = { parseForESLint, meta: exports.meta };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ota-meshi/eslint-plugin",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "description": "ESLint configuration plugin for me.",
5
5
  "repository": "git+https://github.com/ota-meshi/eslint-plugin.git",
6
6
  "homepage": "https://github.com/ota-meshi/eslint-plugin#readme",