Skip to content

Commit 6547467

Browse files
committed
feat(programmatic-usage): enable inline usage
1 parent 0c42216 commit 6547467

File tree

2 files changed

+92
-91
lines changed

2 files changed

+92
-91
lines changed

index.js

Lines changed: 1 addition & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,4 @@
11
#!/usr/bin/env node
2-
const prog = require('caporal');
3-
const packageJSON = require('./package.json');
4-
const surfaceAction = require('./cli/surface');
5-
const dependenciesAction = require('./cli/dependencies');
6-
const dependentAction = require('./cli/dependent');
7-
const nayliasAction = require('./cli/naylias');
8-
9-
prog.version(packageJSON.version);
10-
11-
const GLOBAL_OPTIONS = [
12-
['--targetDir <path>', 'Target scan directory', prog.STRING, '.'],
13-
['--projectRoot <path>', 'Project root path', prog.STRING, process.cwd()],
14-
['--ext <extensions>', 'File extensions to be matched', prog.LIST, 'js'],
15-
[
16-
'--incl <glob-patterns>',
17-
'Glob patterns to include in scan',
18-
prog.LIST,
19-
'**/*.js'
20-
],
21-
[
22-
'--excl <glob-patterns>',
23-
'Glob patterns to exclude in scan',
24-
prog.LIST,
25-
'node_modules/**'
26-
],
27-
[
28-
'--alias <aliases>',
29-
'Alias used within your project. E.g: my-alias-name:path/to/my/alias',
30-
prog.REPEATABLE,
31-
'',
32-
false
33-
],
34-
[
35-
'--rescan <boolean>',
36-
'Invalidates chipper cache and forces a rescan',
37-
prog.BOOL,
38-
false,
39-
false
40-
]
41-
];
42-
43-
const surfaceCmd = prog
44-
.command(
45-
'surface',
46-
'Examine the surface area of a module or a directory of modules'
47-
)
48-
.alias('surf')
49-
.argument(
50-
'target',
51-
'Target module or directory of modules to analyse usage.',
52-
prog.STRING
53-
)
54-
.action(surfaceAction);
55-
56-
const depsCmd = prog
57-
.command(
58-
'dependencies',
59-
'List all imports by a module or a directory of modules'
60-
)
61-
.alias('dep')
62-
.argument(
63-
'target',
64-
'Target module or directory of modules to see all imports for',
65-
prog.STRING
66-
)
67-
.action(dependenciesAction);
68-
69-
const dependentCmd = prog
70-
.command('dependent', 'Check if a module depends on another module')
71-
.argument(
72-
'source',
73-
'Source module to check if it is dependent on target module',
74-
prog.STRING
75-
)
76-
.argument('target', 'target module', prog.STRING)
77-
.action(dependentAction);
78-
79-
const nayliasCmd = prog
80-
.command('naylias', 'List all modules where an alias could be utilized')
81-
.alias('nay')
82-
.argument('alias', 'Alias to check for utilization', prog.STRING)
83-
.action(nayliasAction);
84-
85-
GLOBAL_OPTIONS.forEach(o => {
86-
surfaceCmd.option(...o);
87-
depsCmd.option(...o);
88-
nayliasCmd.option(...o);
89-
dependentCmd.option(...o);
90-
});
2+
const prog = require('./prog');
913

924
prog.parse(process.argv);
93-
94-
module.exports = prog;

prog.js

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
const prog = require('caporal');
2+
const packageJSON = require('./package.json');
3+
const surfaceAction = require('./cli/surface');
4+
const dependenciesAction = require('./cli/dependencies');
5+
const dependentAction = require('./cli/dependent');
6+
const nayliasAction = require('./cli/naylias');
7+
8+
prog.version(packageJSON.version);
9+
10+
const GLOBAL_OPTIONS = [
11+
['--targetDir <path>', 'Target scan directory', prog.STRING, '.'],
12+
['--projectRoot <path>', 'Project root path', prog.STRING, process.cwd()],
13+
['--ext <extensions>', 'File extensions to be matched', prog.LIST, 'js'],
14+
[
15+
'--incl <glob-patterns>',
16+
'Glob patterns to include in scan',
17+
prog.LIST,
18+
'**/*.js'
19+
],
20+
[
21+
'--excl <glob-patterns>',
22+
'Glob patterns to exclude in scan',
23+
prog.LIST,
24+
'node_modules/**'
25+
],
26+
[
27+
'--alias <aliases>',
28+
'Alias used within your project. E.g: my-alias-name:path/to/my/alias',
29+
prog.REPEATABLE,
30+
'',
31+
false
32+
],
33+
[
34+
'--rescan <boolean>',
35+
'Invalidates chipper cache and forces a rescan',
36+
prog.BOOL,
37+
false,
38+
false
39+
]
40+
];
41+
42+
const surfaceCmd = prog
43+
.command(
44+
'surface',
45+
'Examine the surface area of a module or a directory of modules'
46+
)
47+
.alias('surf')
48+
.argument(
49+
'target',
50+
'Target module or directory of modules to analyse usage.',
51+
prog.STRING
52+
)
53+
.action(surfaceAction);
54+
55+
const depsCmd = prog
56+
.command(
57+
'dependencies',
58+
'List all imports by a module or a directory of modules'
59+
)
60+
.alias('dep')
61+
.argument(
62+
'target',
63+
'Target module or directory of modules to see all imports for',
64+
prog.STRING
65+
)
66+
.action(dependenciesAction);
67+
68+
const dependentCmd = prog
69+
.command('dependent', 'Check if a module depends on another module')
70+
.argument(
71+
'source',
72+
'Source module to check if it is dependent on target module',
73+
prog.STRING
74+
)
75+
.argument('target', 'target module', prog.STRING)
76+
.action(dependentAction);
77+
78+
const nayliasCmd = prog
79+
.command('naylias', 'List all modules where an alias could be utilized')
80+
.alias('nay')
81+
.argument('alias', 'Alias to check for utilization', prog.STRING)
82+
.action(nayliasAction);
83+
84+
GLOBAL_OPTIONS.forEach(o => {
85+
surfaceCmd.option(...o);
86+
depsCmd.option(...o);
87+
nayliasCmd.option(...o);
88+
dependentCmd.option(...o);
89+
});
90+
91+
module.exports = prog;

0 commit comments

Comments
 (0)