|
1 | 1 | #!/usr/bin/env node
|
2 |
| -import path from 'path' |
| 2 | +import path from 'path'; |
3 | 3 | import fs from 'fs';
|
4 | 4 |
|
5 |
| -import chalk from 'chalk' |
6 |
| -import yargs from 'yargs' |
| 5 | +import chalk from 'chalk'; |
| 6 | +import yargs from 'yargs'; |
7 | 7 |
|
8 |
| -import generateFromFile from './generateIndexFromFiles' |
9 |
| -import generateFromFolder from './generateIndexFromFolders' |
| 8 | +import generateFromFile from './generateIndexFromFiles'; |
| 9 | +import generateFromFolder from './generateIndexFromFolders'; |
10 | 10 |
|
11 | 11 | export const generateIndexFromFiles = generateFromFile;
|
12 |
| -export const generateIndexFromFolders = generateFromFolder |
| 12 | +export const generateIndexFromFolders = generateFromFolder; |
13 | 13 |
|
14 | 14 | export function runCli() {
|
15 |
| - const argv = yargs(process.argv.slice(2)) |
16 |
| - .option('from', { |
17 |
| - alias: 'from', |
18 |
| - demandOption: false, |
19 |
| - default: 'folder', |
20 |
| - describe: 'specify if you want to use folders or files to generate the index file.', |
21 |
| - type: 'string', |
22 |
| - choices: ['files', 'folders'], |
23 |
| - }) |
24 |
| - .argv |
25 |
| - const folder = argv._[0] as string || './'; |
26 |
| - const sourceFolder = path.join(process.cwd(), folder) |
27 |
| - const fromFiles = argv.from === 'files' |
28 |
| - |
29 |
| - const indexContentFile = fromFiles ? |
30 |
| - generateIndexFromFiles(sourceFolder) : |
31 |
| - generateIndexFromFolders(sourceFolder); |
32 |
| - |
33 |
| - fs.writeFile(path.join(sourceFolder, 'index.ts'), indexContentFile, (err) => { |
34 |
| - if (err) { |
35 |
| - console.error(err) |
36 |
| - } |
37 |
| - |
38 |
| - console.log(chalk.green('\n> Successfully to build the index.ts file :)\n')) |
39 |
| - }) |
40 |
| - |
| 15 | + const argv = yargs(process.argv.slice(2)).option('from', { |
| 16 | + alias: 'from', |
| 17 | + demandOption: false, |
| 18 | + default: 'folder', |
| 19 | + describe: |
| 20 | + 'specify if you want to use folders or files to generate the index file.', |
| 21 | + type: 'string', |
| 22 | + choices: ['files', 'folders'], |
| 23 | + }).argv; |
| 24 | + const folder = (argv._[0] as string) || './'; |
| 25 | + const sourceFolder = path.join(process.cwd(), folder); |
| 26 | + const fromFiles = argv.from === 'files'; |
| 27 | + |
| 28 | + const indexContentFile = fromFiles |
| 29 | + ? generateIndexFromFiles(sourceFolder) |
| 30 | + : generateIndexFromFolders(sourceFolder); |
| 31 | + |
| 32 | + fs.writeFile(path.join(sourceFolder, 'index.ts'), indexContentFile, err => { |
| 33 | + if (err) { |
| 34 | + console.error(err); |
| 35 | + } |
| 36 | + |
| 37 | + console.log( |
| 38 | + chalk.green('\n> Successfully to build the index.ts file :)\n') |
| 39 | + ); |
| 40 | + }); |
41 | 41 | }
|
42 | 42 |
|
43 |
| -runCli() |
| 43 | +runCli(); |
0 commit comments