@jsse/eslint-config 0.1.16 → 0.1.18

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.js CHANGED
@@ -9924,6 +9924,12 @@ async function importPluginJsdoc() {
9924
9924
  pluginJsdoc
9925
9925
  };
9926
9926
  }
9927
+ async function importPluginTsdoc() {
9928
+ const pluginTsdoc = await interopDefault2(import("eslint-plugin-tsdoc"));
9929
+ return {
9930
+ pluginTsdoc
9931
+ };
9932
+ }
9927
9933
  async function importPluginStylistic() {
9928
9934
  const pluginStylistic = await interopDefault2(
9929
9935
  import("@stylistic/eslint-plugin")
@@ -9941,7 +9947,7 @@ async function importPluginTailwind() {
9941
9947
  var antfu = async () => {
9942
9948
  return [
9943
9949
  {
9944
- name: "jsse:antfu",
9950
+ name: "jsse/antfu",
9945
9951
  plugins: {
9946
9952
  antfu: default2
9947
9953
  },
@@ -9953,7 +9959,7 @@ var antfu = async () => {
9953
9959
  },
9954
9960
  {
9955
9961
  files: ["**/src/**/*"],
9956
- name: "jsse:antfu:src",
9962
+ name: "jsse/antfu/src",
9957
9963
  // @ts-expect-error - antfu plugin types err
9958
9964
  rules: {
9959
9965
  "antfu/no-import-dist": "error"
@@ -9961,7 +9967,7 @@ var antfu = async () => {
9961
9967
  },
9962
9968
  {
9963
9969
  files: ["**/bin/**/*", `**/bin.${GLOB_SRC_EXT}`],
9964
- name: "jsse:antfu:bin",
9970
+ name: "jsse/antfu/bin",
9965
9971
  rules: {
9966
9972
  "antfu/no-import-dist": "off",
9967
9973
  "antfu/no-import-node-modules-by-path": "off"
@@ -9973,7 +9979,7 @@ var antfu = async () => {
9973
9979
  // src/configs/comments.ts
9974
9980
  var comments = async () => [
9975
9981
  {
9976
- name: "jsse:eslint-comments",
9982
+ name: "jsse/eslint-comments",
9977
9983
  plugins: {
9978
9984
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
9979
9985
  "eslint-comments": default3
@@ -10001,7 +10007,7 @@ var imports = async (options) => {
10001
10007
  const { stylistic: stylistic2 = true } = options ?? {};
10002
10008
  return [
10003
10009
  {
10004
- name: "jsse:import",
10010
+ name: "jsse/import",
10005
10011
  plugins: {
10006
10012
  import: pluginImport
10007
10013
  },
@@ -10057,7 +10063,7 @@ var javascript = async (options) => {
10057
10063
  linterOptions: {
10058
10064
  reportUnusedDisableDirectives
10059
10065
  },
10060
- name: "jsse:javascript",
10066
+ name: "jsse/javascript",
10061
10067
  plugins: {
10062
10068
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10063
10069
  "unused-imports": default7
@@ -10278,7 +10284,7 @@ var javascript = async (options) => {
10278
10284
  },
10279
10285
  {
10280
10286
  files: [`scripts/${GLOB_SRC}`, `cli.${GLOB_SRC_EXT}`],
10281
- name: "jsse:scripts-overrides",
10287
+ name: "jsse/scripts-overrides",
10282
10288
  rules: {
10283
10289
  "no-console": "off"
10284
10290
  }
@@ -10291,7 +10297,7 @@ var jsdoc = async () => {
10291
10297
  const { pluginJsdoc } = await importPluginJsdoc();
10292
10298
  return [
10293
10299
  {
10294
- name: "jsse:jsdoc",
10300
+ name: "jsse/jsdoc",
10295
10301
  plugins: {
10296
10302
  jsdoc: pluginJsdoc
10297
10303
  },
@@ -10318,6 +10324,23 @@ var jsdoc = async () => {
10318
10324
  ];
10319
10325
  };
10320
10326
 
10327
+ // src/configs/tsdoc.ts
10328
+ var tsdoc = async () => {
10329
+ const { pluginTsdoc } = await importPluginTsdoc();
10330
+ return [
10331
+ {
10332
+ files: ["*.ts", "*.tsx"],
10333
+ name: "jsse/tsdoc",
10334
+ plugins: {
10335
+ tsdoc: pluginTsdoc
10336
+ },
10337
+ rules: {
10338
+ "tsdoc/syntax": "warn"
10339
+ }
10340
+ }
10341
+ ];
10342
+ };
10343
+
10321
10344
  // src/configs/jsonc.ts
10322
10345
  var jsonc = async (options) => {
10323
10346
  const { overrides = {}, stylistic: stylistic2 = true } = options ?? {};
@@ -10325,7 +10348,7 @@ var jsonc = async (options) => {
10325
10348
  const { parserJsonc, pluginJsonc } = await importJsoncLibs();
10326
10349
  return [
10327
10350
  {
10328
- name: "jsse:jsonc:setup",
10351
+ name: "jsse/jsonc/setup",
10329
10352
  plugins: {
10330
10353
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any
10331
10354
  jsonc: pluginJsonc
@@ -10337,7 +10360,7 @@ var jsonc = async (options) => {
10337
10360
  languageOptions: {
10338
10361
  parser: parserJsonc
10339
10362
  },
10340
- name: "jsse:jsonc:rules",
10363
+ name: "jsse/jsonc/rules",
10341
10364
  rules: {
10342
10365
  "jsonc/no-bigint-literals": "error",
10343
10366
  "jsonc/no-binary-expression": "error",
@@ -10848,7 +10871,7 @@ var markdown = async (options) => {
10848
10871
  );
10849
10872
  return [
10850
10873
  {
10851
- name: "jsse:markdown:setup",
10874
+ name: "jsse/markdown/setup",
10852
10875
  plugins: {
10853
10876
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10854
10877
  markdown: pluginMarkdown
@@ -10856,7 +10879,7 @@ var markdown = async (options) => {
10856
10879
  },
10857
10880
  {
10858
10881
  files: [GLOB_MARKDOWN],
10859
- name: "jsse:markdown:processor",
10882
+ name: "jsse/markdown/processor",
10860
10883
  processor: "markdown/markdown"
10861
10884
  },
10862
10885
  {
@@ -10871,7 +10894,7 @@ var markdown = async (options) => {
10871
10894
  }
10872
10895
  }
10873
10896
  },
10874
- name: "jsse:markdown:rules",
10897
+ name: "jsse/markdown/rules",
10875
10898
  rules: {
10876
10899
  "@typescript-eslint/await-thenable": "off",
10877
10900
  "@typescript-eslint/consistent-type-imports": "off",
@@ -10920,7 +10943,7 @@ var markdown = async (options) => {
10920
10943
  var n = async () => {
10921
10944
  return [
10922
10945
  {
10923
- name: "jsse:n",
10946
+ name: "jsse/n",
10924
10947
  plugins: {
10925
10948
  n: default4
10926
10949
  },
@@ -10942,7 +10965,7 @@ var n = async () => {
10942
10965
  var perfectionist = async () => {
10943
10966
  return [
10944
10967
  {
10945
- name: "jsse:perfectionist",
10968
+ name: "jsse/perfectionist",
10946
10969
  plugins: {
10947
10970
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10948
10971
  perfectionist: default5
@@ -11069,7 +11092,7 @@ function eslintConfigPrettierRules() {
11069
11092
  var prettier = async () => {
11070
11093
  return [
11071
11094
  {
11072
- name: "jsse:prettier:config",
11095
+ name: "jsse/prettier/config",
11073
11096
  rules: eslintConfigPrettierRules()
11074
11097
  }
11075
11098
  ];
@@ -11279,14 +11302,14 @@ function reactRefreshFlatConfigRules() {
11279
11302
  return [
11280
11303
  {
11281
11304
  files: [GLOB_SRC],
11282
- name: "jsse:react:refresh",
11305
+ name: "jsse/react/refresh",
11283
11306
  rules: {
11284
11307
  "react-refresh/only-export-components": "error"
11285
11308
  }
11286
11309
  },
11287
11310
  {
11288
11311
  files: ["**/*.stories.tsx"],
11289
- name: "jsse:react:refresh:stories",
11312
+ name: "jsse/react:refresh/stories",
11290
11313
  rules: {
11291
11314
  "react-refresh/only-export-components": "off"
11292
11315
  }
@@ -11339,7 +11362,7 @@ var react = async (options) => {
11339
11362
  react: react2,
11340
11363
  tsconfig
11341
11364
  }),
11342
- name: "jsse:react:setup",
11365
+ name: "jsse/react/setup",
11343
11366
  plugins: {
11344
11367
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11345
11368
  react: pluginReact,
@@ -11376,7 +11399,7 @@ var sortPackageJson = async () => {
11376
11399
  return [
11377
11400
  {
11378
11401
  files: ["**/package.json"],
11379
- name: "jsse:sort:package-json",
11402
+ name: "jsse/sort/package-json",
11380
11403
  rules: {
11381
11404
  "jsonc/sort-array-values": [
11382
11405
  "error",
@@ -11462,7 +11485,7 @@ var sortTsconfig = async () => {
11462
11485
  return [
11463
11486
  {
11464
11487
  files: ["**/tsconfig.json", "**/tsconfig.*.json"],
11465
- name: "jsse:sort:tsconfig",
11488
+ name: "jsse/sort/tsconfig",
11466
11489
  rules: {
11467
11490
  "jsonc/sort-keys": [
11468
11491
  "error",
@@ -11606,7 +11629,7 @@ var stylistic = async (options) => {
11606
11629
  const { pluginStylistic } = await importPluginStylistic();
11607
11630
  return [
11608
11631
  {
11609
- name: "jsse:stylistic",
11632
+ name: "jsse/stylistic",
11610
11633
  plugins: {
11611
11634
  // eslint-disable-next-line @typescript-eslint/naming-convention
11612
11635
  "@stylistic": pluginStylistic
@@ -11651,7 +11674,7 @@ var tailwind = async (options) => {
11651
11674
  return [
11652
11675
  {
11653
11676
  files: [GLOB_SRC],
11654
- name: "jsse:tailwind:rules",
11677
+ name: "jsse/tailwind/rules",
11655
11678
  plugins: {
11656
11679
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11657
11680
  tailwindcss: pluginTailwind
@@ -11677,7 +11700,7 @@ var noOnlyTests = async (options = {}) => {
11677
11700
  );
11678
11701
  return [
11679
11702
  {
11680
- name: "jsse:no-only-tests:setup",
11703
+ name: "jsse/no-only-tests/setup",
11681
11704
  plugins: {
11682
11705
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11683
11706
  "no-only-tests": pluginNoOnlyTests
@@ -11685,7 +11708,7 @@ var noOnlyTests = async (options = {}) => {
11685
11708
  },
11686
11709
  {
11687
11710
  files: GLOB_TESTS,
11688
- name: "jsse:no-only-tests:rules",
11711
+ name: "jsse/no-only-tests/rules",
11689
11712
  rules: {
11690
11713
  "no-only-tests/no-only-tests": isInEditor2 ? "off" : isCI() ? "error" : "warn",
11691
11714
  "unicorn/no-null": "off",
@@ -11722,7 +11745,7 @@ var typescript = async (options) => {
11722
11745
  return [
11723
11746
  {
11724
11747
  // Install the plugins without globs, so they can be configured separately.
11725
- name: "jsse:typescript:setup",
11748
+ name: "jsse/typescript/setup",
11726
11749
  plugins: {
11727
11750
  import: pluginImport,
11728
11751
  [tsPrefixTo]: default8
@@ -11737,17 +11760,17 @@ var typescript = async (options) => {
11737
11760
  react: react2,
11738
11761
  tsconfig: tsconfigPath
11739
11762
  }),
11740
- name: "jsse:typescript:parser"
11763
+ name: "jsse/typescript/parser"
11741
11764
  },
11742
11765
  {
11743
11766
  // only apply ts rules to ts files!
11744
11767
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
11745
- name: "jsse:typescript:rules",
11768
+ name: "jsse/typescript/rules",
11746
11769
  rules: renameRules(tsrules || {}, tsPrefix, tsPrefixTo)
11747
11770
  },
11748
11771
  {
11749
11772
  files: ["**/*.d.ts"],
11750
- name: "jsse:typescript:disables:dts",
11773
+ name: "jsse/typescript:disables/dts",
11751
11774
  rules: {
11752
11775
  "eslint-comments/no-unlimited-disable": "off",
11753
11776
  "import/no-duplicates": "off",
@@ -11757,7 +11780,7 @@ var typescript = async (options) => {
11757
11780
  },
11758
11781
  {
11759
11782
  files: ["**/*.{test,spec}.ts?(x)"],
11760
- name: "jsse:typescript:disable:test",
11783
+ name: "jsse/typescript:disable/test",
11761
11784
  rules: {
11762
11785
  "@typescript-eslint/no-unused-expressions": "off",
11763
11786
  "no-unused-expressions": "off"
@@ -11765,7 +11788,7 @@ var typescript = async (options) => {
11765
11788
  },
11766
11789
  {
11767
11790
  files: ["**/*.js", "**/*.cjs"],
11768
- name: "jsse:typescript:javascript-overrides",
11791
+ name: "jsse/typescript/javascript-overrides",
11769
11792
  rules: {
11770
11793
  "@typescript-eslint/no-require-imports": "off",
11771
11794
  "@typescript-eslint/no-var-requires": "off"
@@ -11797,7 +11820,7 @@ function unicornRecommended() {
11797
11820
  var unicorn = async () => {
11798
11821
  return [
11799
11822
  {
11800
- name: "jsse:unicorn",
11823
+ name: "jsse/unicorn",
11801
11824
  plugins: {
11802
11825
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11803
11826
  unicorn: default6
@@ -11877,7 +11900,7 @@ var unicorn = async () => {
11877
11900
  },
11878
11901
  {
11879
11902
  files: GLOB_TESTS,
11880
- name: "jsse:unicorn:tests",
11903
+ name: "jsse/unicorn/tests",
11881
11904
  rules: {
11882
11905
  "unicorn/no-null": "off",
11883
11906
  "unicorn/no-unused-properties": "off"
@@ -11892,14 +11915,14 @@ var vitest = async (options = {}) => {
11892
11915
  const pluginVitest = await interopDefault2(import("eslint-plugin-vitest"));
11893
11916
  return [
11894
11917
  {
11895
- name: "jsse:vitest:setup",
11918
+ name: "jsse/vitest/setup",
11896
11919
  plugins: {
11897
11920
  vitest: pluginVitest
11898
11921
  }
11899
11922
  },
11900
11923
  {
11901
11924
  files: GLOB_TESTS,
11902
- name: "jsse:vitest:rules",
11925
+ name: "jsse/vitest/rules",
11903
11926
  rules: {
11904
11927
  "vitest/consistent-test-it": [
11905
11928
  "error",
@@ -11929,7 +11952,7 @@ var yml = async (options) => {
11929
11952
  ]);
11930
11953
  return [
11931
11954
  {
11932
- name: "jsse:yaml:setup",
11955
+ name: "jsse/yaml/setup",
11933
11956
  plugins: {
11934
11957
  yaml: pluginYaml
11935
11958
  }
@@ -11939,7 +11962,7 @@ var yml = async (options) => {
11939
11962
  languageOptions: {
11940
11963
  parser: parserYaml
11941
11964
  },
11942
- name: "antfu:yaml:rules",
11965
+ name: "antfu:yaml/rules",
11943
11966
  rules: {
11944
11967
  "style/spaced-comment": "off",
11945
11968
  "yaml/block-mapping": "error",
@@ -12107,7 +12130,7 @@ async function jsse(options = {}, ...userConfigs) {
12107
12130
  react: enableReact,
12108
12131
  typeAware
12109
12132
  });
12110
- configs.push(tscfg);
12133
+ configs.push(tscfg, tsdoc());
12111
12134
  }
12112
12135
  if (normalizedOptions.markdown) {
12113
12136
  configs.push(markdown());
@@ -12198,9 +12221,9 @@ async function jsse(options = {}, ...userConfigs) {
12198
12221
  }
12199
12222
  if (normalizedOptions.rootId !== "jsse") {
12200
12223
  combinedConfigs.forEach((config) => {
12201
- if (config.name && config.name.startsWith("jsse:")) {
12224
+ if (config.name && config.name.startsWith("jsse/")) {
12202
12225
  config.name = config.name.replace(
12203
- "jsse:",
12226
+ "jsse/",
12204
12227
  `${normalizedOptions.rootId}:`
12205
12228
  );
12206
12229
  }
@@ -12275,6 +12298,7 @@ export {
12275
12298
  importPluginReactRefresh,
12276
12299
  importPluginStylistic,
12277
12300
  importPluginTailwind,
12301
+ importPluginTsdoc,
12278
12302
  importReactPlugins,
12279
12303
  importYmlLibs,
12280
12304
  interopDefault2 as interopDefault,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.1.16",
4
+ "version": "0.1.18",
5
5
  "packageManager": "pnpm@8.15.4",
6
6
  "description": "jsse eslint config",
7
7
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@eslint/js": "~8.57.0",
64
- "@stylistic/eslint-plugin": "2.2.2",
64
+ "@stylistic/eslint-plugin": "2.3.0",
65
65
  "@typescript-eslint/eslint-plugin": "^7.13.1",
66
66
  "@typescript-eslint/parser": "^7.13.1",
67
67
  "eslint-config-flat-gitignore": "^0.1.5",
@@ -80,12 +80,13 @@
80
80
  "eslint-plugin-react-refresh": "~0.4.7",
81
81
  "eslint-plugin-tailwindcss": "^3.17.3",
82
82
  "eslint-plugin-toml": "^0.11.0",
83
+ "eslint-plugin-tsdoc": "^0.3.0",
83
84
  "eslint-plugin-unicorn": "^54.0.0",
84
- "eslint-plugin-unused-imports": "^3.2.0",
85
+ "eslint-plugin-unused-imports": "^4.0.0",
85
86
  "eslint-plugin-vitest": "0.5.4",
86
87
  "eslint-plugin-yml": "^1.14.0",
87
88
  "jsonc-eslint-parser": "^2.4.0",
88
- "toml-eslint-parser": "^0.9.3",
89
+ "toml-eslint-parser": "^0.10.0",
89
90
  "typescript-eslint": "^7.13.1",
90
91
  "yaml-eslint-parser": "^1.2.3"
91
92
  },
@@ -94,17 +95,17 @@
94
95
  },
95
96
  "devDependencies": {
96
97
  "@antfu/ni": "^0.21.12",
98
+ "@changesets/cli": "^2.27.6",
97
99
  "@jsse/prettier-config": "^0.1.0",
98
100
  "@types/eslint": "^8.56.10",
99
101
  "@types/eslint__js": "~8.42.3",
100
102
  "@types/fs-extra": "^11.0.4",
101
103
  "@types/node": "^20.12.12",
102
- "bumpp": "^9.4.1",
103
104
  "cac": "^6.7.14",
104
105
  "eslint": "^8.57.0",
105
106
  "eslint-flat-config-utils": "^0.2.5",
106
107
  "eslint-typegen": "^0.2.4",
107
- "execa": "~9.2.0",
108
+ "execa": "~9.3.0",
108
109
  "fast-glob": "^3.3.2",
109
110
  "fs-extra": "^11.2.0",
110
111
  "globals": "^15.6.0",
@@ -126,8 +127,11 @@
126
127
  "fmt": "prettier -w .",
127
128
  "fmtc": "prettier --check .",
128
129
  "lint": "pnpm run build-fast && eslint .",
129
- "release": "bumpp && pnpm publish",
130
+ "change": "changeset",
131
+ "release": "pnpm run ci:version && pnpm run ci:publish",
130
132
  "stub": "tsup src/index.ts --format esm",
133
+ "ci:version": "changeset version && pnpm install && pnpm fmt",
134
+ "ci:publish": "pnpm publish",
131
135
  "test": "vitest run",
132
136
  "typecheck": "tsc --noEmit"
133
137
  }