@@ -5,6 +5,7 @@ const chalk = require("chalk");
5
5
const langsList = require ( "./countries.json" ) ;
6
6
const prompts = require ( "prompts" ) ;
7
7
// const semver = require("semver");
8
+ const fuzzy = require ( "fuzzy" ) ;
8
9
const ora = require ( "ora" ) ;
9
10
const { extract } = require ( "pacote" ) ;
10
11
const glob = require ( "fast-glob" ) ;
@@ -27,13 +28,13 @@ module.exports = async (argvs) => {
27
28
) . start ( ) ;
28
29
await fs . ensureDir ( tempDir ) ;
29
30
try {
30
- // const { from: nameWithVersion } = await extract(
31
- // packageName + "@" + version,
32
- // tempDir,
33
- // {}
34
- // );
35
- // await fs.copy(tempDir + "/dist", targetDir);
36
- // const timerDownloaded = timer.get();
31
+ const { from : nameWithVersion } = await extract (
32
+ packageName + "@" + version ,
33
+ tempDir ,
34
+ { }
35
+ ) ;
36
+ await fs . copy ( tempDir + "/dist" , targetDir ) ;
37
+ const timerDownloaded = timer . get ( ) ;
37
38
await onLoad ( targetDir , version , argv ) ;
38
39
spinner . succeed (
39
40
`${ nameWithVersion } copied to ${ targetDir } in ${ timerDownloaded } . Have fun!`
@@ -79,9 +80,9 @@ const onLoad = async (targetDir, version, argv) => {
79
80
message : "Select language" ,
80
81
choices : langListOut ,
81
82
suggest : async ( input , choices ) => {
82
- return choices . filter ( ( v ) =>
83
- v . title . toLowerCase ( ) . includes ( input . toLowerCase ( ) )
84
- ) ;
83
+ return fuzzy
84
+ . filter ( input , choices , { extract : ( el ) => el . title } )
85
+ . map ( ( v ) => v . original ) ;
85
86
} ,
86
87
} ,
87
88
] ;
0 commit comments