@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
66 lines • 7.32 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: commands/generate.feature.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { createChalkLoggerService, createReadTextFile, logFileDescriptor, writeFiles } from '@acoustic-content-sdk/tooling';
import { generateFeatureModule } from '@acoustic-content-sdk/tooling-feature-module';
import { NOOP_LOGGER_SERVICE, rxPipe } from '@acoustic-content-sdk/utils';
import { cwd } from 'process';
import { ignoreElements } from 'rxjs/operators';
import { getFullPath } from './utils';
/** @type {?} */
export const GENERATE_FEATURE_MODULE_COMMAND = 'generate-feature-module';
/**
*
*
* @param {?} program - the commander instance to attach the command to
* @return {?} the commander instance
*/
export function generateFeatureModuleCommand(program) {
// register our commands
/** @type {?} */
const cmd = program
.command(`${GENERATE_FEATURE_MODULE_COMMAND}`)
.description('Adds support for the ng-add schematic to feature modules.')
.option('--src <dir>', 'Location of the directory that contains the package.json to analyze. Defaults to the current working directory.')
.requiredOption('--module <modules>', 'NgModule to export from the feature module. May be a comma separated list.')
.action((/**
* @return {?}
*/
() => {
// service
/** @type {?} */
const logSvc = program.verbose
? createChalkLoggerService()
: NOOP_LOGGER_SERVICE;
// logger
/** @type {?} */
const logger = logSvc.get(cmd.name());
// write callback
/** @type {?} */
const currentDir = cwd();
// module
/** @type {?} */
const module = cmd.module;
// source dir
/** @type {?} */
const srcDir = getFullPath(currentDir, cmd.src || '');
// log this
logger.info('module', module);
logger.info('srcDir', srcDir);
// execute the command
/** @type {?} */
const command = generateFeatureModule({
module
});
// execute the command
/** @type {?} */
const files$ = rxPipe(command(createReadTextFile(srcDir), logSvc), writeFiles(srcDir), logFileDescriptor(), ignoreElements());
// subscribe
return files$.toPromise();
}));
// ok
return cmd;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvdXN0aWMtY29udGVudC1zZGsvY2xpLyIsInNvdXJjZXMiOlsiY29tbWFuZHMvZ2VuZXJhdGUuZmVhdHVyZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsVUFBVSxFQUNYLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXRDLE1BQU0sT0FBTywrQkFBK0IsR0FBRyx5QkFBeUI7Ozs7Ozs7QUFReEUsTUFBTSxVQUFVLDRCQUE0QixDQUFDLE9BQWdCOzs7VUFFckQsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLEdBQUcsK0JBQStCLEVBQUUsQ0FBQztTQUM3QyxXQUFXLENBQUMsMkRBQTJELENBQUM7U0FDeEUsTUFBTSxDQUNMLGFBQWEsRUFDYixpSEFBaUgsQ0FDbEg7U0FDQSxjQUFjLENBQ2Isb0JBQW9CLEVBQ3BCLDRFQUE0RSxDQUM3RTtTQUNBLE1BQU07OztJQUFDLEdBQUcsRUFBRTs7O2NBRUwsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQzVCLENBQUMsQ0FBQyx3QkFBd0IsRUFBRTtZQUM1QixDQUFDLENBQUMsbUJBQW1COzs7Y0FFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDOzs7Y0FFL0IsVUFBVSxHQUFHLEdBQUcsRUFBRTs7O2NBRWxCLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7O2NBRW5CLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQ3JELFdBQVc7UUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzs7O2NBRXhCLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztZQUNwQyxNQUFNO1NBQ1AsQ0FBQzs7O2NBRUksTUFBTSxHQUFHLE1BQU0sQ0FDbkIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUMzQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ2xCLGlCQUFpQixFQUFFLEVBQ25CLGNBQWMsRUFBRSxDQUNqQjtRQUNELFlBQVk7UUFDWixPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDLEVBQUM7SUFFSixLQUFLO0lBQ0wsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQ2hhbGtMb2dnZXJTZXJ2aWNlLFxuICBjcmVhdGVSZWFkVGV4dEZpbGUsXG4gIGxvZ0ZpbGVEZXNjcmlwdG9yLFxuICB3cml0ZUZpbGVzXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay90b29saW5nJztcbmltcG9ydCB7IGdlbmVyYXRlRmVhdHVyZU1vZHVsZSB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay90b29saW5nLWZlYXR1cmUtbW9kdWxlJztcbmltcG9ydCB7IE5PT1BfTE9HR0VSX1NFUlZJQ0UsIHJ4UGlwZSB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay91dGlscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGN3ZCB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgaWdub3JlRWxlbWVudHMgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGdldEZ1bGxQYXRoIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBHRU5FUkFURV9GRUFUVVJFX01PRFVMRV9DT01NQU5EID0gJ2dlbmVyYXRlLWZlYXR1cmUtbW9kdWxlJztcblxuLyoqXG4gKlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIC0gdGhlIGNvbW1hbmRlciBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG9cbiAqIEByZXR1cm5zIHRoZSBjb21tYW5kZXIgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmVhdHVyZU1vZHVsZUNvbW1hbmQocHJvZ3JhbTogQ29tbWFuZCk6IENvbW1hbmQge1xuICAvLyByZWdpc3RlciBvdXIgY29tbWFuZHNcbiAgY29uc3QgY21kID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKGAke0dFTkVSQVRFX0ZFQVRVUkVfTU9EVUxFX0NPTU1BTkR9YClcbiAgICAuZGVzY3JpcHRpb24oJ0FkZHMgc3VwcG9ydCBmb3IgdGhlIG5nLWFkZCBzY2hlbWF0aWMgdG8gZmVhdHVyZSBtb2R1bGVzLicpXG4gICAgLm9wdGlvbihcbiAgICAgICctLXNyYyA8ZGlyPicsXG4gICAgICAnTG9jYXRpb24gb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRoZSBwYWNrYWdlLmpzb24gdG8gYW5hbHl6ZS4gRGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuJ1xuICAgIClcbiAgICAucmVxdWlyZWRPcHRpb24oXG4gICAgICAnLS1tb2R1bGUgPG1vZHVsZXM+JyxcbiAgICAgICdOZ01vZHVsZSB0byBleHBvcnQgZnJvbSB0aGUgZmVhdHVyZSBtb2R1bGUuIE1heSBiZSBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0LidcbiAgICApXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgICAvLyBzZXJ2aWNlXG4gICAgICBjb25zdCBsb2dTdmMgPSBwcm9ncmFtLnZlcmJvc2VcbiAgICAgICAgPyBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UoKVxuICAgICAgICA6IE5PT1BfTE9HR0VSX1NFUlZJQ0U7XG4gICAgICAvLyBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoY21kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3QgY3VycmVudERpciA9IGN3ZCgpO1xuICAgICAgLy8gbW9kdWxlXG4gICAgICBjb25zdCBtb2R1bGUgPSBjbWQubW9kdWxlO1xuICAgICAgLy8gc291cmNlIGRpclxuICAgICAgY29uc3Qgc3JjRGlyID0gZ2V0RnVsbFBhdGgoY3VycmVudERpciwgY21kLnNyYyB8fCAnJyk7XG4gICAgICAvLyBsb2cgdGhpc1xuICAgICAgbG9nZ2VyLmluZm8oJ21vZHVsZScsIG1vZHVsZSk7XG4gICAgICBsb2dnZXIuaW5mbygnc3JjRGlyJywgc3JjRGlyKTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBnZW5lcmF0ZUZlYXR1cmVNb2R1bGUoe1xuICAgICAgICBtb2R1bGVcbiAgICAgIH0pO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgZmlsZXMkID0gcnhQaXBlKFxuICAgICAgICBjb21tYW5kKGNyZWF0ZVJlYWRUZXh0RmlsZShzcmNEaXIpLCBsb2dTdmMpLFxuICAgICAgICB3cml0ZUZpbGVzKHNyY0RpciksXG4gICAgICAgIGxvZ0ZpbGVEZXNjcmlwdG9yKCksXG4gICAgICAgIGlnbm9yZUVsZW1lbnRzKClcbiAgICAgICk7XG4gICAgICAvLyBzdWJzY3JpYmVcbiAgICAgIHJldHVybiBmaWxlcyQudG9Qcm9taXNlKCk7XG4gICAgfSk7XG5cbiAgLy8gb2tcbiAgcmV0dXJuIGNtZDtcbn1cbiJdfQ==