1
1
#!/usr/bin/env node
2
- import { globbySync } from 'globby'
3
- import fs from 'node:fs'
2
+ import { globbyStream } from 'globby'
3
+ import fs from 'node:fs/promises '
4
4
import sortPackageJson from './index.js'
5
5
import Reporter from './reporter.js'
6
6
7
- function showVersion ( ) {
7
+ async function showVersion ( ) {
8
8
const { name, version } = JSON . parse (
9
- fs . readFileSync ( new URL ( 'package.json' , import . meta. url ) ) ,
9
+ await fs . readFile ( new URL ( 'package.json' , import . meta. url ) ) ,
10
10
)
11
11
12
12
console . log ( `${ name } ${ version } ` )
@@ -27,28 +27,29 @@ If file/glob is omitted, './package.json' file will be processed.
27
27
)
28
28
}
29
29
30
- function sortPackageJsonFile ( file , reporter , isCheck ) {
31
- const original = fs . readFileSync ( file , 'utf8' )
30
+ async function sortPackageJsonFile ( file , reporter , isCheck ) {
31
+ const original = await fs . readFile ( file , 'utf8' )
32
32
const sorted = sortPackageJson ( original )
33
33
if ( sorted === original ) {
34
34
return reporter . reportNotChanged ( file )
35
35
}
36
36
37
37
if ( ! isCheck ) {
38
- fs . writeFileSync ( file , sorted )
38
+ await fs . writeFile ( file , sorted )
39
39
}
40
40
41
41
reporter . reportChanged ( file )
42
42
}
43
43
44
- function sortPackageJsonFiles ( patterns , options ) {
45
- const files = globbySync ( patterns )
46
- const reporter = new Reporter ( files , options )
44
+ async function sortPackageJsonFiles ( patterns , options ) {
45
+ const reporter = new Reporter ( options )
47
46
const { isCheck } = options
48
47
49
- for ( const file of files ) {
48
+ for await ( const file of globbyStream ( patterns ) ) {
49
+ reporter . reportFound ( file ) ;
50
+
50
51
try {
51
- sortPackageJsonFile ( file , reporter , isCheck )
52
+ await sortPackageJsonFile ( file , reporter , isCheck )
52
53
} catch ( error ) {
53
54
reporter . reportFailed ( file , error )
54
55
}
@@ -57,7 +58,7 @@ function sortPackageJsonFiles(patterns, options) {
57
58
reporter . printSummary ( )
58
59
}
59
60
60
- function run ( ) {
61
+ async function run ( ) {
61
62
const cliArguments = process . argv . slice ( 2 )
62
63
63
64
if (
@@ -92,7 +93,7 @@ function run() {
92
93
patterns [ 0 ] = 'package.json'
93
94
}
94
95
95
- sortPackageJsonFiles ( patterns , { isCheck, shouldBeQuiet } )
96
+ await sortPackageJsonFiles ( patterns , { isCheck, shouldBeQuiet } )
96
97
}
97
98
98
- run ( )
99
+ await run ( )
0 commit comments