11#!/usr/bin/env node
2- import fs from 'node:fs'
2+ import fs from 'node:fs/promises '
33import streamConsumers from 'node:stream/consumers'
44import { parseArgs } from 'node:util'
5- import { globSync } from 'tinyglobby'
5+ import { glob } from 'tinyglobby'
66import sortPackageJson from './index.js'
77import Reporter from './reporter.js'
8+ import packageJson from './package.json' with { type : 'json' }
89
910function showVersion ( ) {
10- const { name, version } = JSON . parse (
11- fs . readFileSync ( new URL ( 'package.json' , import . meta. url ) ) ,
12- )
11+ const { name, version } = packageJson
1312
1413 console . log ( `${ name } ${ version } ` )
1514}
@@ -57,33 +56,36 @@ function parseCliArguments() {
5756 return { options, patterns }
5857}
5958
60- function sortPackageJsonFile ( file , reporter , isCheck ) {
61- const original = fs . readFileSync ( file , 'utf8' )
59+ async function sortPackageJsonFile ( file , reporter , isCheck ) {
60+ const original = await fs . readFile ( file , 'utf8' )
6261 const sorted = sortPackageJson ( original )
6362 if ( sorted === original ) {
6463 return reporter . reportNotChanged ( file )
6564 }
6665
6766 if ( ! isCheck ) {
68- fs . writeFileSync ( file , sorted )
67+ await fs . writeFile ( file , sorted )
6968 }
7069
7170 reporter . reportChanged ( file )
7271}
7372
74- function sortPackageJsonFiles ( patterns , { ignore, ...options } ) {
75- const files = globSync ( patterns , { ignore } )
73+ async function sortPackageJsonFiles ( patterns , { ignore, ...options } ) {
74+ const files = await glob ( patterns , { ignore } )
7675
77- const reporter = new Reporter ( files , options )
76+ const reporter = new Reporter ( options )
7877 const { isCheck } = options
7978
8079 for ( const file of files ) {
80+ reporter . reportFound ( file )
81+
8182 try {
82- sortPackageJsonFile ( file , reporter , isCheck )
83+ await sortPackageJsonFile ( file , reporter , isCheck )
8384 } catch ( error ) {
8485 reporter . reportFailed ( file , error )
8586 }
8687 }
88+
8789 reporter . printSummary ( )
8890}
8991
@@ -93,7 +95,7 @@ async function sortPackageJsonFromStdin() {
9395 )
9496}
9597
96- function run ( ) {
98+ async function run ( ) {
9799 let options , patterns
98100 try {
99101 ; ( { options, patterns } = parseCliArguments ( ) )
@@ -121,11 +123,11 @@ function run() {
121123 return sortPackageJsonFromStdin ( )
122124 }
123125
124- sortPackageJsonFiles ( patterns , {
126+ await sortPackageJsonFiles ( patterns , {
125127 ignore : options . ignore ,
126128 isCheck : options . check ,
127129 shouldBeQuiet : options . quiet ,
128130 } )
129131}
130132
131- run ( )
133+ await run ( )
0 commit comments