Skip to content

Commit a5018d6

Browse files
fix: typescript loading logic (#90)
1 parent 48339c5 commit a5018d6

File tree

4 files changed

+31
-16
lines changed

4 files changed

+31
-16
lines changed

configs/javascript.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import javascriptConfig from "@eslint/js";
22
import importPlugin from "eslint-plugin-import";
33
import unicornPlugin from "eslint-plugin-unicorn";
44
import globals from "globals";
5-
import { allExtensions } from "./utils/extensions.js";
5+
import { allExtensions, javascriptExtensions } from "./utils/extensions.js";
6+
import isTypescriptInstalled from "./utils/is-typescript-installed.js";
67

78
const possibleProblems = {
89
"array-callback-return": [
@@ -1182,20 +1183,23 @@ const importRules = {
11821183
* @returns {Record<string, string | number>} config
11831184
*/
11841185
function getConfig(esVersion) {
1186+
const extensions = isTypescriptInstalled()
1187+
? allExtensions
1188+
: javascriptExtensions;
11851189
const config = {
11861190
...javascriptConfig.configs.recommended,
11871191
name: `javascript/es${esVersion}`,
1188-
files: [`**/*.{${allExtensions.map((item) => item.slice(1)).join(",")}}`],
1192+
files: [`**/*.{${extensions.map((item) => item.slice(1)).join(",")}}`],
11891193
ignores: ["**/*.d.ts"],
11901194
settings: {
1191-
"import/extensions": allExtensions,
1195+
"import/extensions": extensions,
11921196
"import/ignore": [
11931197
"eslint-plugin-.*",
11941198
"\\.(coffee|scss|css|less|hbs|svg|md|jpg|jpeg|png|gif|webp|avif)$",
11951199
],
11961200
"import/resolver": {
11971201
node: {
1198-
extensions: [...allExtensions],
1202+
extensions: [...extensions],
11991203
},
12001204
},
12011205
},

configs/markdown.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async function getMarkdownRecommendedConfig() {
2424
},
2525
{
2626
name: "markdown/code-blocks/js",
27-
files: isTypescriptInstalled
27+
files: isTypescriptInstalled()
2828
? ["**/*.md/*.js", "**/*.md/*.ts"]
2929
: ["**/*.md/*.js"],
3030
languageOptions: {

configs/node.js

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import importPlugin from "eslint-plugin-import";
22
import globals from "globals";
3+
import isTypescriptInstalled from "./utils/is-typescript-installed.js";
34

45
const commonRules = {
56
// No need
@@ -263,50 +264,60 @@ async function getDirtyConfig() {
263264

264265
const dirtyConfig = await getDirtyConfig();
265266

267+
const jsExtensions = isTypescriptInstalled()
268+
? ["**/*.{js,jsx,ts,tsx}"]
269+
: ["**/*.{js,jsx}"];
270+
const cjsExtensions = isTypescriptInstalled()
271+
? ["**/*.{cjs,cts}"]
272+
: ["**/*.{cjs}"];
273+
const mjsExtensions = isTypescriptInstalled()
274+
? ["**/*.{mjs,mts}"]
275+
: ["**/*.{mjs}"];
276+
266277
export default {
267278
"node/dirty": dirtyConfig,
268279
"node/commonjs": commonjsConfig,
269280
"node/module": moduleConfig,
270281
"node/recommended": moduleConfig,
271282
"node/mixed-dirty": [
272283
{
273-
files: ["**/*.{js,jsx,ts,tsx}"],
284+
files: jsExtensions,
274285
...dirtyConfig,
275286
},
276287
{
277-
files: ["**/*.{cjs,cts}"],
288+
files: cjsExtensions,
278289
...commonjsConfig,
279290
},
280291
{
281-
files: ["**/*.{mjs,mts}"],
292+
files: mjsExtensions,
282293
...moduleConfig,
283294
},
284295
],
285296
"node/mixed-module-and-commonjs": [
286297
{
287-
files: ["**/*.{js,jsx,ts,tsx}"],
298+
files: jsExtensions,
288299
...moduleConfig,
289300
},
290301
{
291-
files: ["**/*.{cjs,cts}"],
302+
files: cjsExtensions,
292303
...commonjsConfig,
293304
},
294305
{
295-
files: ["**/*.{mjs,mts}"],
306+
files: mjsExtensions,
296307
...moduleConfig,
297308
},
298309
],
299310
"node/mixed-commonjs-and-module": [
300311
{
301-
files: ["**/*.{js,jsx,ts,tsx}"],
312+
files: jsExtensions,
302313
...commonjsConfig,
303314
},
304315
{
305-
files: ["**/*.{cjs,cts}"],
316+
files: cjsExtensions,
306317
...commonjsConfig,
307318
},
308319
{
309-
files: ["**/*.{mjs,mts}"],
320+
files: mjsExtensions,
310321
...moduleConfig,
311322
},
312323
],

configs/typescript.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,6 @@ async function getTypescriptJSDocRecommendedConfig() {
279279
};
280280
}
281281

282-
const allExtensions = [...typescriptExtensions, ...javascriptExtensions];
283-
284282
/**
285283
* @returns {Promise<Record<string, string>>} config
286284
*/
@@ -311,6 +309,8 @@ async function getTypescriptRecommendedConfig() {
311309
(item) => item.name === "typescript-eslint/stylistic",
312310
);
313311

312+
const allExtensions = [...typescriptExtensions, ...javascriptExtensions];
313+
314314
return {
315315
...baseConfig,
316316
name: "typescript/recommended",

0 commit comments

Comments
 (0)