Skip to content

Commit eba14de

Browse files
committed
chore: introduce import order
1 parent 15bd792 commit eba14de

3 files changed

Lines changed: 165 additions & 7 deletions

File tree

packages/shared/eslint-config-web-widgets/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"@mendix/prettier-config-web-widgets": "workspace:*",
1616
"eslint": "^9.39.3",
1717
"eslint-plugin-cypress": "^5.1.1",
18+
"eslint-plugin-import": "^2.32.0",
1819
"eslint-plugin-jest": "^29.15.0",
1920
"eslint-plugin-package-json": "^0.89.1",
2021
"eslint-plugin-prettier": "^5.5.5",

packages/shared/eslint-config-web-widgets/widget-ts.mjs

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,21 @@ import jestPlugin from "eslint-plugin-jest";
77
import packageJson from "eslint-plugin-package-json";
88
import packageJsonFieldsOrder from "@mendix/prettier-config-web-widgets/package-json-fields-order.js";
99
import { defineConfig } from "eslint/config";
10+
import importPlugin from "eslint-plugin-import";
1011

1112
export default defineConfig(
1213
{
1314
name: "generic eslint",
14-
extends: [eslint.configs.recommended],
15+
extends: [eslint.configs.recommended, importPlugin.flatConfigs.recommended],
16+
settings: {
17+
"import/internal-regex": "^@mendix/",
18+
"import/parsers": {
19+
"@typescript-eslint/parser": [".ts", ".tsx"]
20+
}
21+
},
22+
languageOptions: {
23+
ecmaVersion: "latest"
24+
},
1525
rules: {
1626
"no-undef": "warn",
1727
"no-unused-vars": "warn",
@@ -63,11 +73,24 @@ export default defineConfig(
6373
"prefer-spread": "error",
6474
radix: "error",
6575
"spaced-comment": "error",
66-
"sort-imports": [
67-
"error",
76+
"sort-imports": "off",
77+
"import/no-unresolved": "off",
78+
"import/namespace": "off",
79+
"import/named": "off",
80+
"import/order": [
81+
"warn",
6882
{
69-
ignoreDeclarationSort: true,
70-
ignoreCase: true
83+
alphabetize: {
84+
order: "asc",
85+
caseInsensitive: true
86+
},
87+
groups: [
88+
// Imports of builtins are first
89+
"builtin",
90+
"external",
91+
// Then index file imports
92+
"internal"
93+
]
7194
}
7295
]
7396
}

pnpm-lock.yaml

Lines changed: 136 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)