-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathinit-argv.ts
More file actions
33 lines (28 loc) · 1.08 KB
/
init-argv.ts
File metadata and controls
33 lines (28 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { ParsedArgs } from 'minimist';
import { DEFAULT_TEMPLATE_REPO } from '@pgpmjs/core';
export const addInitDefaults = (argv: ParsedArgs): ParsedArgs => {
const baseName = (argv.moduleName as string) || (argv.name as string) || 'module';
const defaults = {
fullName: 'Tester',
email: 'tester@example.com',
moduleName: argv.workspace ? 'starter-module' : baseName,
username: 'tester',
repoName: baseName,
license: 'MIT',
access: 'public',
packageIdentifier: baseName,
moduleDesc: baseName
};
return { ...defaults, ...argv };
};
export const withInitDefaults = (argv: ParsedArgs, defaultRepo: string = DEFAULT_TEMPLATE_REPO): ParsedArgs => {
const args = addInitDefaults(argv);
if (!Array.isArray(args._) || !args._.includes('init')) return args;
return {
...args,
repo: args.repo ?? defaultRepo,
// TODO: remove fromBranch after merging restructuring to main
fromBranch: args.fromBranch ?? 'restructuring'
// Don't set default templatePath - let scaffoldTemplate use metadata-driven resolution from .boilerplates.json
};
};