Skip to content

Commit 4a18956

Browse files
authored
feat: support vite-staged and stage-tool key ordering (#63)
1 parent e151364 commit 4a18956

File tree

4 files changed

+71
-56
lines changed

4 files changed

+71
-56
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ Fields are sorted into 12 logical groups, followed by unknown fields alphabetica
162162

163163
// 8. Git Hooks & Commit Tools
164164
"simple-git-hooks": { "pre-commit": "npx lint-staged" },
165+
"vite-staged": { "*.ts": "vitest related command" },
165166
"lint-staged": { "*.ts": ["eslint --fix", "prettier --write"] },
167+
"nano-staged": { "*.md": "prettier --write" },
166168
"commitlint": { "extends": ["@commitlint/config-conventional"] },
167169

168170
// 9. VSCode Extension Specific

src/lib.rs

Lines changed: 57 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -382,68 +382,69 @@ fn sort_object_keys(obj: Map<String, Value>, options: &SortOptions) -> Map<Strin
382382
// Git Hooks & Commit Tools
383383
78 => "husky" => transform_value(value, sort_object_recursive),
384384
79 => "simple-git-hooks",
385-
80 => "pre-commit",
385+
80 => "vite-staged",
386386
81 => "lint-staged",
387387
82 => "nano-staged",
388-
83 => "commitlint" => transform_value(value, sort_object_recursive),
388+
83 => "pre-commit",
389+
84 => "commitlint" => transform_value(value, sort_object_recursive),
389390
// VSCode Extension Specific
390-
84 => "l10n",
391-
85 => "contributes",
392-
86 => "activationEvents" => transform_array(value, sort_array_unique),
393-
87 => "extensionPack" => transform_array(value, sort_array_unique),
394-
88 => "extensionDependencies" => transform_array(value, sort_array_unique),
395-
89 => "extensionKind" => transform_array(value, sort_array_unique),
396-
90 => "icon",
397-
91 => "badges",
398-
92 => "galleryBanner",
399-
93 => "preview",
400-
94 => "markdown",
391+
85 => "l10n",
392+
86 => "contributes",
393+
87 => "activationEvents" => transform_array(value, sort_array_unique),
394+
88 => "extensionPack" => transform_array(value, sort_array_unique),
395+
89 => "extensionDependencies" => transform_array(value, sort_array_unique),
396+
90 => "extensionKind" => transform_array(value, sort_array_unique),
397+
91 => "icon",
398+
92 => "badges",
399+
93 => "galleryBanner",
400+
94 => "preview",
401+
95 => "markdown",
401402
// Build & Tool Configuration
402-
95 => "napi" => transform_value(value, sort_object_alphabetically),
403-
96 => "flat",
404-
97 => "config" => transform_value(value, sort_object_alphabetically),
405-
98 => "nodemonConfig" => transform_value(value, sort_object_recursive),
406-
99 => "browserify" => transform_value(value, sort_object_recursive),
407-
100 => "babel" => transform_value(value, sort_object_recursive),
408-
101 => "browserslist",
409-
102 => "xo" => transform_value(value, sort_object_recursive),
410-
103 => "prettier" => transform_value(value, sort_object_recursive),
411-
104 => "eslintConfig" => transform_value(value, sort_object_recursive),
412-
105 => "eslintIgnore",
413-
106 => "standard" => transform_value(value, sort_object_recursive),
414-
107 => "npmpkgjsonlint",
415-
108 => "npmPackageJsonLintConfig",
416-
109 => "npmpackagejsonlint",
417-
110 => "release",
418-
111 => "auto-changelog" => transform_value(value, sort_object_recursive),
419-
112 => "remarkConfig" => transform_value(value, sort_object_recursive),
420-
113 => "stylelint" => transform_value(value, sort_object_recursive),
421-
114 => "typescript" => transform_value(value, sort_object_recursive),
422-
115 => "typedoc" => transform_value(value, sort_object_recursive),
423-
116 => "tshy" => transform_value(value, sort_object_recursive),
424-
117 => "tsdown" => transform_value(value, sort_object_recursive),
425-
118 => "size-limit",
403+
96 => "napi" => transform_value(value, sort_object_alphabetically),
404+
97 => "flat",
405+
98 => "config" => transform_value(value, sort_object_alphabetically),
406+
99 => "nodemonConfig" => transform_value(value, sort_object_recursive),
407+
100 => "browserify" => transform_value(value, sort_object_recursive),
408+
101 => "babel" => transform_value(value, sort_object_recursive),
409+
102 => "browserslist",
410+
103 => "xo" => transform_value(value, sort_object_recursive),
411+
104 => "prettier" => transform_value(value, sort_object_recursive),
412+
105 => "eslintConfig" => transform_value(value, sort_object_recursive),
413+
106 => "eslintIgnore",
414+
107 => "standard" => transform_value(value, sort_object_recursive),
415+
108 => "npmpkgjsonlint",
416+
109 => "npmPackageJsonLintConfig",
417+
110 => "npmpackagejsonlint",
418+
111 => "release",
419+
112 => "auto-changelog" => transform_value(value, sort_object_recursive),
420+
113 => "remarkConfig" => transform_value(value, sort_object_recursive),
421+
114 => "stylelint" => transform_value(value, sort_object_recursive),
422+
115 => "typescript" => transform_value(value, sort_object_recursive),
423+
116 => "typedoc" => transform_value(value, sort_object_recursive),
424+
117 => "tshy" => transform_value(value, sort_object_recursive),
425+
118 => "tsdown" => transform_value(value, sort_object_recursive),
426+
119 => "size-limit",
426427
// Testing
427-
119 => "ava" => transform_value(value, sort_object_recursive),
428-
120 => "jest" => transform_value(value, sort_object_recursive),
429-
121 => "jest-junit",
430-
122 => "jest-stare",
431-
123 => "mocha" => transform_value(value, sort_object_recursive),
432-
124 => "nyc" => transform_value(value, sort_object_recursive),
433-
125 => "c8" => transform_value(value, sort_object_recursive),
434-
126 => "tap",
435-
127 => "tsd" => transform_value(value, sort_object_recursive),
436-
128 => "typeCoverage" => transform_value(value, sort_object_recursive),
437-
129 => "oclif" => transform_value(value, sort_object_recursive),
428+
120 => "ava" => transform_value(value, sort_object_recursive),
429+
121 => "jest" => transform_value(value, sort_object_recursive),
430+
122 => "jest-junit",
431+
123 => "jest-stare",
432+
124 => "mocha" => transform_value(value, sort_object_recursive),
433+
125 => "nyc" => transform_value(value, sort_object_recursive),
434+
126 => "c8" => transform_value(value, sort_object_recursive),
435+
127 => "tap",
436+
128 => "tsd" => transform_value(value, sort_object_recursive),
437+
129 => "typeCoverage" => transform_value(value, sort_object_recursive),
438+
130 => "oclif" => transform_value(value, sort_object_recursive),
438439
// Runtime & Package Manager
439-
130 => "languageName",
440-
131 => "preferGlobal",
441-
132 => "devEngines" => transform_value(value, sort_object_alphabetically),
442-
133 => "engines" => transform_value(value, sort_object_alphabetically),
443-
134 => "engineStrict",
444-
135 => "volta" => transform_value(value, sort_object_recursive),
445-
136 => "packageManager",
446-
137 => "pnpm",
440+
131 => "languageName",
441+
132 => "preferGlobal",
442+
133 => "devEngines" => transform_value(value, sort_object_alphabetically),
443+
134 => "engines" => transform_value(value, sort_object_alphabetically),
444+
135 => "engineStrict",
445+
136 => "volta" => transform_value(value, sort_object_recursive),
446+
137 => "packageManager",
447+
138 => "pnpm",
447448
]);
448449
}
449450

tests/fixtures/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,15 @@
128128
"pre-commit": "lint-staged"
129129
}
130130
},
131+
"vite-staged": {
132+
"*.ts": "vitest related command"
133+
},
131134
"lint-staged": {
132135
"*.js": ["eslint --fix", "git add"]
133136
},
137+
"nano-staged": {
138+
"*.md": "prettier --write"
139+
},
134140
"babel": {
135141
"presets": ["@babel/preset-env", "@babel/preset-react"],
136142
"plugins": ["@babel/plugin-proposal-class-properties"]

tests/snapshots/integration_test__sort_package_json.snap

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,18 @@ expression: result
142142
"pre-commit": "lint-staged"
143143
}
144144
},
145+
"vite-staged": {
146+
"*.ts": "vitest related command"
147+
},
145148
"lint-staged": {
146149
"*.js": [
147150
"eslint --fix",
148151
"git add"
149152
]
150153
},
154+
"nano-staged": {
155+
"*.md": "prettier --write"
156+
},
151157
"babel": {
152158
"plugins": [
153159
"@babel/plugin-proposal-class-properties"

0 commit comments

Comments
 (0)