@@ -34,22 +34,6 @@ const sortObjectBy = (comparator, deep) => {
3434
3535 return over
3636}
37- const objectGroupBy =
38- // eslint-disable-next-line n/no-unsupported-features/es-builtins, n/no-unsupported-features/es-syntax -- Safe
39- Object . groupBy ||
40- // Remove this when we drop support for Node.js 20
41- ( ( array , callback ) => {
42- const result = Object . create ( null )
43- for ( const value of array ) {
44- const key = callback ( value )
45- if ( result [ key ] ) {
46- result [ key ] . push ( value )
47- } else {
48- result [ key ] = [ value ]
49- }
50- }
51- return result
52- } )
5337const sortObject = sortObjectBy ( )
5438const sortURLObject = sortObjectBy ( [ 'type' , 'url' ] )
5539const sortPeopleObject = sortObjectBy ( [ 'name' , 'email' , 'url' ] )
@@ -393,7 +377,7 @@ const sortScripts = onObject((scripts, packageJson) => {
393377- Move `default` condition to bottom
394378*/
395379const sortConditions = ( conditions ) => {
396- const { defaultConditions = [ ] , restConditions = [ ] } = objectGroupBy (
380+ const { defaultConditions = [ ] , restConditions = [ ] } = Object . groupBy (
397381 conditions ,
398382 ( condition ) => {
399383 if ( condition === 'default' ) {
@@ -408,7 +392,7 @@ const sortConditions = (conditions) => {
408392}
409393
410394const sortExports = onObject ( ( exports ) => {
411- const { paths = [ ] , conditions = [ ] } = objectGroupBy (
395+ const { paths = [ ] , conditions = [ ] } = Object . groupBy (
412396 Object . keys ( exports ) ,
413397 ( key ) => ( key . startsWith ( '.' ) ? 'paths' : 'conditions' ) ,
414398 )
@@ -597,7 +581,7 @@ function sortPackageJson(jsonIsh, options = {}) {
597581
598582 if ( Array . isArray ( sortOrder ) ) {
599583 const keys = Object . keys ( json )
600- const { privateKeys = [ ] , publicKeys = [ ] } = objectGroupBy (
584+ const { privateKeys = [ ] , publicKeys = [ ] } = Object . groupBy (
601585 keys ,
602586 ( key ) => ( key [ 0 ] === '_' ? 'privateKeys' : 'publicKeys' ) ,
603587 )
0 commit comments