Skip to content

Commit dc4a815

Browse files
Configure Prettier to sort imports
1 parent 062b096 commit dc4a815

4 files changed

Lines changed: 71 additions & 13 deletions

File tree

.prettierrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{
2+
"importOrder": ["<BUILTIN_MODULES>", "<THIRD_PARTY_MODULES>", "^#(.*)$", "^[./]"],
3+
"importOrderSeparation": true,
4+
"importOrderSortSpecifiers": true,
5+
"plugins": ["@trivago/prettier-plugin-sort-imports"],
26
"printWidth": 100,
37
"quoteProps": "consistent",
48
"semi": true,

eslint.config.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,6 @@ export default defineConfig([
4848
// Always import Node.js packages from `node:*`
4949
'import/enforce-node-protocol-usage': ['error', 'always'],
5050

51-
// Check import or require statements are A-Z ordered
52-
'import/order': [
53-
'error',
54-
{
55-
'alphabetize': { order: 'asc' },
56-
'newlines-between': 'always',
57-
},
58-
],
59-
6051
// Prefer rules that are type aware
6152
'no-redeclare': 'off',
6253
'no-undef': 'off',

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"@testing-library/dom": "^10.4.1",
8181
"@testing-library/jest-dom": "^6.9.1",
8282
"@testing-library/react": "^16.3.2",
83+
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
8384
"@types/eslint": "^9.6.1",
8485
"@types/eslint-plugin-jsx-a11y": "^6.10.1",
8586
"@types/jest": "^30.0.0",

yarn.lock

Lines changed: 66 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ __metadata:
7373
languageName: node
7474
linkType: hard
7575

76-
"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.0":
76+
"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.28.0, @babel/generator@npm:^7.29.0":
7777
version: 7.29.1
7878
resolution: "@babel/generator@npm:7.29.1"
7979
dependencies:
@@ -298,7 +298,7 @@ __metadata:
298298
languageName: node
299299
linkType: hard
300300

301-
"@babel/parser@npm:^7.23.9":
301+
"@babel/parser@npm:^7.23.9, @babel/parser@npm:^7.28.0":
302302
version: 7.29.2
303303
resolution: "@babel/parser@npm:7.29.2"
304304
dependencies:
@@ -1409,7 +1409,7 @@ __metadata:
14091409
languageName: node
14101410
linkType: hard
14111411

1412-
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.4.4":
1412+
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.0, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0, @babel/types@npm:^7.4.4":
14131413
version: 7.29.0
14141414
resolution: "@babel/types@npm:7.29.0"
14151415
dependencies:
@@ -3336,6 +3336,37 @@ __metadata:
33363336
languageName: node
33373337
linkType: hard
33383338

3339+
"@trivago/prettier-plugin-sort-imports@npm:^6.0.2":
3340+
version: 6.0.2
3341+
resolution: "@trivago/prettier-plugin-sort-imports@npm:6.0.2"
3342+
dependencies:
3343+
"@babel/generator": "npm:^7.28.0"
3344+
"@babel/parser": "npm:^7.28.0"
3345+
"@babel/traverse": "npm:^7.28.0"
3346+
"@babel/types": "npm:^7.28.0"
3347+
javascript-natural-sort: "npm:^0.7.1"
3348+
lodash-es: "npm:^4.17.21"
3349+
minimatch: "npm:^9.0.0"
3350+
parse-imports-exports: "npm:^0.2.4"
3351+
peerDependencies:
3352+
"@vue/compiler-sfc": 3.x
3353+
prettier: 2.x - 3.x
3354+
prettier-plugin-ember-template-tag: ">= 2.0.0"
3355+
prettier-plugin-svelte: 3.x
3356+
svelte: 4.x || 5.x
3357+
peerDependenciesMeta:
3358+
"@vue/compiler-sfc":
3359+
optional: true
3360+
prettier-plugin-ember-template-tag:
3361+
optional: true
3362+
prettier-plugin-svelte:
3363+
optional: true
3364+
svelte:
3365+
optional: true
3366+
checksum: 10c0/62ee7d74c9cb6318cf7b3a6faf8fb794853c30bae6dc9e27c9ae1b22ffd160d45286c0c143881064020329edd6ec8ae529d625dbe5e2867e092886d84b1a13fe
3367+
languageName: node
3368+
linkType: hard
3369+
33393370
"@tybys/wasm-util@npm:^0.10.0":
33403371
version: 0.10.1
33413372
resolution: "@tybys/wasm-util@npm:0.10.1"
@@ -6767,6 +6798,13 @@ __metadata:
67676798
languageName: node
67686799
linkType: hard
67696800

6801+
"javascript-natural-sort@npm:^0.7.1":
6802+
version: 0.7.1
6803+
resolution: "javascript-natural-sort@npm:0.7.1"
6804+
checksum: 10c0/340f8ffc5d30fb516e06dc540e8fa9e0b93c865cf49d791fed3eac3bdc5fc71f0066fc81d44ec1433edc87caecaf9f13eec4a1fce8c5beafc709a71eaedae6fe
6805+
languageName: node
6806+
linkType: hard
6807+
67706808
"jest-axe@npm:^10.0.0":
67716809
version: 10.0.0
67726810
resolution: "jest-axe@npm:10.0.0"
@@ -7538,6 +7576,13 @@ __metadata:
75387576
languageName: node
75397577
linkType: hard
75407578

7579+
"lodash-es@npm:^4.17.21":
7580+
version: 4.18.1
7581+
resolution: "lodash-es@npm:4.18.1"
7582+
checksum: 10c0/35d4dcf87ef07f8d090f409447575800108057e360b445f590d0d25d09e3d1e33a163d2fc100d4d072b0f901d5e2fc533cd7c4bfd8eeb38a06abec693823c8b8
7583+
languageName: node
7584+
linkType: hard
7585+
75417586
"lodash.debounce@npm:^4.0.8":
75427587
version: 4.0.8
75437588
resolution: "lodash.debounce@npm:4.0.8"
@@ -7721,7 +7766,7 @@ __metadata:
77217766
languageName: node
77227767
linkType: hard
77237768

7724-
"minimatch@npm:^9.0.4":
7769+
"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4":
77257770
version: 9.0.9
77267771
resolution: "minimatch@npm:9.0.9"
77277772
dependencies:
@@ -7886,6 +7931,7 @@ __metadata:
78867931
"@testing-library/dom": "npm:^10.4.1"
78877932
"@testing-library/jest-dom": "npm:^6.9.1"
78887933
"@testing-library/react": "npm:^16.3.2"
7934+
"@trivago/prettier-plugin-sort-imports": "npm:^6.0.2"
78897935
"@types/eslint": "npm:^9.6.1"
78907936
"@types/eslint-plugin-jsx-a11y": "npm:^6.10.1"
78917937
"@types/jest": "npm:^30.0.0"
@@ -8227,6 +8273,15 @@ __metadata:
82278273
languageName: node
82288274
linkType: hard
82298275

8276+
"parse-imports-exports@npm:^0.2.4":
8277+
version: 0.2.4
8278+
resolution: "parse-imports-exports@npm:0.2.4"
8279+
dependencies:
8280+
parse-statements: "npm:1.0.11"
8281+
checksum: 10c0/51b729037208abdf65c4a1f8e9ed06f4e7ccd907c17c668a64db54b37d95bb9e92081f8b16e4133e14102af3cb4e89870975b6ad661b4d654e9ec8f4fb5c77d6
8282+
languageName: node
8283+
linkType: hard
8284+
82308285
"parse-json@npm:^5.2.0":
82318286
version: 5.2.0
82328287
resolution: "parse-json@npm:5.2.0"
@@ -8239,6 +8294,13 @@ __metadata:
82398294
languageName: node
82408295
linkType: hard
82418296

8297+
"parse-statements@npm:1.0.11":
8298+
version: 1.0.11
8299+
resolution: "parse-statements@npm:1.0.11"
8300+
checksum: 10c0/48960e085019068a5f5242e875fd9d21ec87df2e291acf5ad4e4887b40eab6929a8c8d59542acb85a6497e870c5c6a24f5ab7f980ef5f907c14cc5f7984a93f3
8301+
languageName: node
8302+
linkType: hard
8303+
82428304
"parse5@npm:^7.0.0, parse5@npm:^7.2.1":
82438305
version: 7.3.0
82448306
resolution: "parse5@npm:7.3.0"

0 commit comments

Comments
 (0)