UNPKG

@acoustic-content-sdk/cli

Version:

Command line utility for the Acoustic Content SDK.

68 lines 8.46 kB
/** * @fileoverview added by tsickle * Generated from: commands/generate.layouts.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { createChalkLoggerService, createReadDirectory, generateLayouts, logFileDescriptor, writeFiles } from '@acoustic-content-sdk/tooling'; import { NOOP_LOGGER_SERVICE, rxPipe } from '@acoustic-content-sdk/utils'; import { join, normalize } from 'path'; import { cwd } from 'process'; import { ignoreElements } from 'rxjs/operators'; import { splitParams } from './utils'; /** * @param {?} program * @return {?} */ export function generateLayoutsCommand(program) { // register our commands /** @type {?} */ const cmd = program .command('generate-layouts') .description('Generates layouts and layout mappings based on type information in a batch in the wchtools folder. The names of the artifacts are derived from the type names.') .option('--data <data>', 'Location of the data directory.') .option('--dir <dir>', 'Location of the target directory. Defaults to the data directory.') .option('--include <include>', 'Regular expression of the types to include.') .option('--exclude <exclude>', 'Regular expression of the types to exclude.') .option('--templateType <templateType>', 'Type of the rendering template to use, can be "angular" or "handlebars".') .option('--tags <tags>', 'Tags to add to the new layouts.') .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(); /** @type {?} */ const dataDir = normalize(cmd.data || join(currentDir, 'data')); // target dire /** @type {?} */ const dstDir = normalize(cmd.dir || dataDir); // log this logger.info('dataDir', dataDir, 'dstDir', dstDir); // execute the command /** @type {?} */ const command = generateLayouts({ data: '/', tags: splitParams(cmd.tags), include: splitParams(cmd.include), exclude: splitParams(cmd.exclude), templateType: cmd.templateType }); // execute the command /** @type {?} */ const files$ = rxPipe(command(createReadDirectory(dataDir), logSvc), writeFiles(dstDir), logFileDescriptor(), ignoreElements()); // subscribe return files$.toPromise(); })); // ok return cmd; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUubGF5b3V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY291c3RpYy1jb250ZW50LXNkay9jbGkvIiwic291cmNlcyI6WyJjb21tYW5kcy9nZW5lcmF0ZS5sYXlvdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFFdEMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQWdCOzs7VUFFL0MsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1NBQzNCLFdBQVcsQ0FDVixnS0FBZ0ssQ0FDaks7U0FDQSxNQUFNLENBQUMsZUFBZSxFQUFFLGlDQUFpQyxDQUFDO1NBQzFELE1BQU0sQ0FDTCxhQUFhLEVBQ2IsbUVBQW1FLENBQ3BFO1NBQ0EsTUFBTSxDQUNMLHFCQUFxQixFQUNyQiw2Q0FBNkMsQ0FDOUM7U0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZDQUE2QyxDQUM5QztTQUNBLE1BQU0sQ0FDTCwrQkFBK0IsRUFDL0IsMEVBQTBFLENBQzNFO1NBQ0EsTUFBTSxDQUFDLGVBQWUsRUFBRSxpQ0FBaUMsQ0FBQztTQUMxRCxNQUFNOzs7SUFBQyxHQUFHLEVBQUU7OztjQUVMLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTztZQUM1QixDQUFDLENBQUMsd0JBQXdCLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQjs7O2NBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7O2NBRS9CLFVBQVUsR0FBRyxHQUFHLEVBQUU7O2NBQ2xCLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Y0FFekQsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUM1QyxXQUFXO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzs7O2NBRTVDLE9BQU8sR0FBRyxlQUFlLENBQUM7WUFDOUIsSUFBSSxFQUFFLEdBQUc7WUFDVCxJQUFJLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDM0IsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7U0FDL0IsQ0FBQzs7O2NBRUksTUFBTSxHQUFHLE1BQU0sQ0FDbkIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUM3QyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ2xCLGlCQUFpQixFQUFFLEVBQ25CLGNBQWMsRUFBRSxDQUNqQjtRQUNELFlBQVk7UUFDWixPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDLEVBQUM7SUFFSixLQUFLO0lBQ0wsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQ2hhbGtMb2dnZXJTZXJ2aWNlLFxuICBjcmVhdGVSZWFkRGlyZWN0b3J5LFxuICBnZW5lcmF0ZUxheW91dHMsXG4gIGxvZ0ZpbGVEZXNjcmlwdG9yLFxuICB3cml0ZUZpbGVzXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay90b29saW5nJztcbmltcG9ydCB7IE5PT1BfTE9HR0VSX1NFUlZJQ0UsIHJ4UGlwZSB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay91dGlscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBpZ25vcmVFbGVtZW50cyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgc3BsaXRQYXJhbXMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlTGF5b3V0c0NvbW1hbmQocHJvZ3JhbTogQ29tbWFuZCk6IENvbW1hbmQge1xuICAvLyByZWdpc3RlciBvdXIgY29tbWFuZHNcbiAgY29uc3QgY21kID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdnZW5lcmF0ZS1sYXlvdXRzJylcbiAgICAuZGVzY3JpcHRpb24oXG4gICAgICAnR2VuZXJhdGVzIGxheW91dHMgYW5kIGxheW91dCBtYXBwaW5ncyBiYXNlZCBvbiB0eXBlIGluZm9ybWF0aW9uIGluIGEgYmF0Y2ggaW4gdGhlIHdjaHRvb2xzIGZvbGRlci4gVGhlIG5hbWVzIG9mIHRoZSBhcnRpZmFjdHMgYXJlIGRlcml2ZWQgZnJvbSB0aGUgdHlwZSBuYW1lcy4nXG4gICAgKVxuICAgIC5vcHRpb24oJy0tZGF0YSA8ZGF0YT4nLCAnTG9jYXRpb24gb2YgdGhlIGRhdGEgZGlyZWN0b3J5LicpXG4gICAgLm9wdGlvbihcbiAgICAgICctLWRpciA8ZGlyPicsXG4gICAgICAnTG9jYXRpb24gb2YgdGhlIHRhcmdldCBkaXJlY3RvcnkuIERlZmF1bHRzIHRvIHRoZSBkYXRhIGRpcmVjdG9yeS4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1pbmNsdWRlIDxpbmNsdWRlPicsXG4gICAgICAnUmVndWxhciBleHByZXNzaW9uIG9mIHRoZSB0eXBlcyB0byBpbmNsdWRlLidcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctLWV4Y2x1ZGUgPGV4Y2x1ZGU+JyxcbiAgICAgICdSZWd1bGFyIGV4cHJlc3Npb24gb2YgdGhlIHR5cGVzIHRvIGV4Y2x1ZGUuJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy0tdGVtcGxhdGVUeXBlIDx0ZW1wbGF0ZVR5cGU+JyxcbiAgICAgICdUeXBlIG9mIHRoZSByZW5kZXJpbmcgdGVtcGxhdGUgdG8gdXNlLCBjYW4gYmUgXCJhbmd1bGFyXCIgb3IgXCJoYW5kbGViYXJzXCIuJ1xuICAgIClcbiAgICAub3B0aW9uKCctLXRhZ3MgPHRhZ3M+JywgJ1RhZ3MgdG8gYWRkIHRvIHRoZSBuZXcgbGF5b3V0cy4nKVxuICAgIC5hY3Rpb24oKCkgPT4ge1xuICAgICAgLy8gc2VydmljZVxuICAgICAgY29uc3QgbG9nU3ZjID0gcHJvZ3JhbS52ZXJib3NlXG4gICAgICAgID8gY3JlYXRlQ2hhbGtMb2dnZXJTZXJ2aWNlKClcbiAgICAgICAgOiBOT09QX0xPR0dFUl9TRVJWSUNFO1xuICAgICAgLy8gbG9nZ2VyXG4gICAgICBjb25zdCBsb2dnZXIgPSBsb2dTdmMuZ2V0KGNtZC5uYW1lKCkpO1xuICAgICAgLy8gd3JpdGUgY2FsbGJhY2tcbiAgICAgIGNvbnN0IGN1cnJlbnREaXIgPSBjd2QoKTtcbiAgICAgIGNvbnN0IGRhdGFEaXIgPSBub3JtYWxpemUoY21kLmRhdGEgfHwgam9pbihjdXJyZW50RGlyLCAnZGF0YScpKTtcbiAgICAgIC8vIHRhcmdldCBkaXJlXG4gICAgICBjb25zdCBkc3REaXIgPSBub3JtYWxpemUoY21kLmRpciB8fCBkYXRhRGlyKTtcbiAgICAgIC8vIGxvZyB0aGlzXG4gICAgICBsb2dnZXIuaW5mbygnZGF0YURpcicsIGRhdGFEaXIsICdkc3REaXInLCBkc3REaXIpO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgY29tbWFuZCA9IGdlbmVyYXRlTGF5b3V0cyh7XG4gICAgICAgIGRhdGE6ICcvJyxcbiAgICAgICAgdGFnczogc3BsaXRQYXJhbXMoY21kLnRhZ3MpLFxuICAgICAgICBpbmNsdWRlOiBzcGxpdFBhcmFtcyhjbWQuaW5jbHVkZSksXG4gICAgICAgIGV4Y2x1ZGU6IHNwbGl0UGFyYW1zKGNtZC5leGNsdWRlKSxcbiAgICAgICAgdGVtcGxhdGVUeXBlOiBjbWQudGVtcGxhdGVUeXBlXG4gICAgICB9KTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGZpbGVzJCA9IHJ4UGlwZShcbiAgICAgICAgY29tbWFuZChjcmVhdGVSZWFkRGlyZWN0b3J5KGRhdGFEaXIpLCBsb2dTdmMpLFxuICAgICAgICB3cml0ZUZpbGVzKGRzdERpciksXG4gICAgICAgIGxvZ0ZpbGVEZXNjcmlwdG9yKCksXG4gICAgICAgIGlnbm9yZUVsZW1lbnRzKClcbiAgICAgICk7XG4gICAgICAvLyBzdWJzY3JpYmVcbiAgICAgIHJldHVybiBmaWxlcyQudG9Qcm9taXNlKCk7XG4gICAgfSk7XG5cbiAgLy8gb2tcbiAgcmV0dXJuIGNtZDtcbn1cbiJdfQ==