({
'target': targetFolder,
'log-level': inputLogLevel,
'output-folder': outputDir,
'force-clean-output-folder': forceCleanOutputDir,
}: FeaturesPackageArgs)
| 19 | } |
| 20 | |
| 21 | async function featuresPackage({ |
| 22 | 'target': targetFolder, |
| 23 | 'log-level': inputLogLevel, |
| 24 | 'output-folder': outputDir, |
| 25 | 'force-clean-output-folder': forceCleanOutputDir, |
| 26 | }: FeaturesPackageArgs) { |
| 27 | const disposables: (() => Promise<unknown> | undefined)[] = []; |
| 28 | const dispose = async () => { |
| 29 | await Promise.all(disposables.map(d => d())); |
| 30 | }; |
| 31 | |
| 32 | const pkg = getPackageConfig(); |
| 33 | |
| 34 | const cwd = process.cwd(); |
| 35 | const cliHost = await getCLIHost(cwd, loadNativeModule, true); |
| 36 | const output = createLog({ |
| 37 | logLevel: mapLogLevel(inputLogLevel), |
| 38 | logFormat: 'text', |
| 39 | log: (str) => process.stderr.write(str), |
| 40 | terminalDimensions: undefined, |
| 41 | }, pkg, new Date(), disposables); |
| 42 | |
| 43 | |
| 44 | const args: PackageCommandInput = { |
| 45 | cliHost, |
| 46 | targetFolder, |
| 47 | outputDir, |
| 48 | output, |
| 49 | disposables, |
| 50 | forceCleanOutputDir: forceCleanOutputDir |
| 51 | }; |
| 52 | |
| 53 | const exitCode = !!(await doFeaturesPackageCommand(args)) ? 0 : 1; |
| 54 | |
| 55 | await dispose(); |
| 56 | process.exit(exitCode); |
| 57 | } |
nothing calls this directly
no test coverage detected