@@ -45,25 +45,33 @@ const sortESLintConfig = sortObjectBy([
45
45
] )
46
46
const sortVSCodeBadgeObject = sortObjectBy ( [ 'description' , 'url' , 'href' ] )
47
47
48
- const sortPrettierConfigKeys = onObject ( config =>
49
- sortObjectKeys ( config , [
50
- ...Object . keys ( config )
51
- . filter ( key => key !== 'overrides' )
52
- . sort ( ) ,
53
- 'overrides' ,
48
+ const sortPrettierConfig = onObject (
49
+ pipe ( [
50
+ // sort keys alphabetically, but put `overrides` at bottom
51
+ config =>
52
+ sortObjectKeys ( config , [
53
+ ...Object . keys ( config )
54
+ . filter ( key => key !== 'overrides' )
55
+ . sort ( ) ,
56
+ 'overrides' ,
57
+ ] ) ,
58
+ // if `config.overrides` exists
59
+ overProperty (
60
+ 'overrides' ,
61
+ // and `config.overrides` is an array
62
+ onArray ( overrides =>
63
+ overrides . map (
64
+ pipe ( [
65
+ // sort `config.overrides[]` alphabetically
66
+ sortObject ,
67
+ // sort `config.overrides[].options` alphabetically
68
+ overProperty ( 'options' , sortObject ) ,
69
+ ] ) ,
70
+ ) ,
71
+ ) ,
72
+ ) ,
54
73
] ) ,
55
74
)
56
- const sortPrettierConfigOptions = pipe ( [
57
- sortObject ,
58
- overProperty ( 'options' , sortObject ) ,
59
- ] )
60
- const sortPrettierConfigOverrides = onArray ( overrides =>
61
- overrides . map ( sortPrettierConfigOptions ) ,
62
- )
63
- const sortPrettierConfig = pipe ( [
64
- sortPrettierConfigKeys ,
65
- onObject ( overProperty ( 'overrides' , sortPrettierConfigOverrides ) ) ,
66
- ] )
67
75
68
76
// See https://docs.npmjs.com/misc/scripts
69
77
const defaultNpmScripts = new Set ( [
0 commit comments