UNPKG

@acoustic-content-sdk/cli

Version:

Command line utility for the Acoustic Content SDK.

75 lines 9.08 kB
/** * @fileoverview added by tsickle * Generated from: commands/generate.data.overlay.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { createChalkLoggerService, createReadDirectory, createReadTextFile, generateDataOverlay, logFileDescriptor, writeFiles } from '@acoustic-content-sdk/tooling'; import { NOOP_LOGGER_SERVICE, rxPipe } from '@acoustic-content-sdk/utils'; import { parse, relative } from 'path'; import { cwd } from 'process'; import { ignoreElements } from 'rxjs/operators'; import { getFullPath } from './utils'; /** @type {?} */ export const GENERATE_DATA_OVERLAY_COMMAND = 'generate-data-overlay'; /** * Generates a data overlay of the wchtools folders referenced by a node module and all * of its dependencies. The resulting folder can then be used with {\@link https://www.npmjs.com/package/wchtools-cli|wchtools}. * * @param {?} program - the commander instance to attach the command to * @return {?} the commander instance */ export function generateDataOverlayCommand(program) { // register our commands /** @type {?} */ const cmd = program .command(`${GENERATE_DATA_OVERLAY_COMMAND}`) .description('Generates an overlay of wchtools data folders for referenced modules.') .option('--dir <dir>', 'Location of the target directory. Defaults to "temp".') .option('--src <dir>', 'Location of the directory that contains the package.json to analyze. Defaults to the current working directory.') .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(); // target dir /** @type {?} */ const fullDstDir = getFullPath(currentDir, cmd.dir || 'temp'); // source dir /** @type {?} */ const fullSrcDir = getFullPath(currentDir, cmd.src || ''); // root const { root: srcRoot } = parse(fullSrcDir); const { root: dstRoot } = parse(fullDstDir); // decode relative paths /** @type {?} */ const dstDir = relative(dstRoot, fullDstDir); /** @type {?} */ const srcDir = relative(srcRoot, fullSrcDir); // log this logger.info('srcDir', srcDir); logger.info('dstDir', dstDir); // execute the command /** @type {?} */ const command = generateDataOverlay({ src: srcDir }); // execute the command /** @type {?} */ const files$ = rxPipe(command(createReadTextFile(srcRoot), createReadDirectory(dstRoot), logSvc), writeFiles(fullDstDir), logFileDescriptor(), ignoreElements()); // subscribe return files$.toPromise(); })); // ok return cmd; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuZGF0YS5vdmVybGF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjb3VzdGljLWNvbnRlbnQtc2RrL2NsaS8iLCJzb3VyY2VzIjpbImNvbW1hbmRzL2dlbmVyYXRlLmRhdGEub3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUV0QyxNQUFNLE9BQU8sNkJBQTZCLEdBQUcsdUJBQXVCOzs7Ozs7OztBQVNwRSxNQUFNLFVBQVUsMEJBQTBCLENBQUMsT0FBZ0I7OztVQUVuRCxHQUFHLEdBQUcsT0FBTztTQUNoQixPQUFPLENBQUMsR0FBRyw2QkFBNkIsRUFBRSxDQUFDO1NBQzNDLFdBQVcsQ0FDVix1RUFBdUUsQ0FDeEU7U0FDQSxNQUFNLENBQ0wsYUFBYSxFQUNiLHVEQUF1RCxDQUN4RDtTQUNBLE1BQU0sQ0FDTCxhQUFhLEVBQ2IsaUhBQWlILENBQ2xIO1NBQ0EsTUFBTTs7O0lBQUMsR0FBRyxFQUFFOzs7Y0FFTCxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU87WUFDNUIsQ0FBQyxDQUFDLHdCQUF3QixFQUFFO1lBQzVCLENBQUMsQ0FBQyxtQkFBbUI7OztjQUVqQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7OztjQUUvQixVQUFVLEdBQUcsR0FBRyxFQUFFOzs7Y0FFbEIsVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUM7OztjQUV2RCxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQzs7Y0FFbkQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztjQUNyQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDOzs7Y0FFckMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDOztjQUN0QyxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7UUFDNUMsV0FBVztRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Y0FFeEIsT0FBTyxHQUFHLG1CQUFtQixDQUFDO1lBQ2xDLEdBQUcsRUFBRSxNQUFNO1NBQ1osQ0FBQzs7O2NBRUksTUFBTSxHQUFHLE1BQU0sQ0FDbkIsT0FBTyxDQUNMLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUMzQixtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFDNUIsTUFBTSxDQUNQLEVBQ0QsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUN0QixpQkFBaUIsRUFBRSxFQUNuQixjQUFjLEVBQUUsQ0FDakI7UUFDRCxZQUFZO1FBQ1osT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQyxFQUFDO0lBRUosS0FBSztJQUNMLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUNoYWxrTG9nZ2VyU2VydmljZSxcbiAgY3JlYXRlUmVhZERpcmVjdG9yeSxcbiAgY3JlYXRlUmVhZFRleHRGaWxlLFxuICBnZW5lcmF0ZURhdGFPdmVybGF5LFxuICBsb2dGaWxlRGVzY3JpcHRvcixcbiAgd3JpdGVGaWxlc1xufSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdG9vbGluZyc7XG5pbXBvcnQgeyBOT09QX0xPR0dFUl9TRVJWSUNFLCByeFBpcGUgfSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBwYXJzZSwgcmVsYXRpdmUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IGN3ZCB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgaWdub3JlRWxlbWVudHMgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGdldEZ1bGxQYXRoIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBHRU5FUkFURV9EQVRBX09WRVJMQVlfQ09NTUFORCA9ICdnZW5lcmF0ZS1kYXRhLW92ZXJsYXknO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhIGRhdGEgb3ZlcmxheSBvZiB0aGUgd2NodG9vbHMgZm9sZGVycyByZWZlcmVuY2VkIGJ5IGEgbm9kZSBtb2R1bGUgYW5kIGFsbFxuICogb2YgaXRzIGRlcGVuZGVuY2llcy4gVGhlIHJlc3VsdGluZyBmb2xkZXIgY2FuIHRoZW4gYmUgdXNlZCB3aXRoIHtAbGluayBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS93Y2h0b29scy1jbGl8d2NodG9vbHN9LlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIC0gdGhlIGNvbW1hbmRlciBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG9cbiAqIEByZXR1cm5zIHRoZSBjb21tYW5kZXIgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRGF0YU92ZXJsYXlDb21tYW5kKHByb2dyYW06IENvbW1hbmQpOiBDb21tYW5kIHtcbiAgLy8gcmVnaXN0ZXIgb3VyIGNvbW1hbmRzXG4gIGNvbnN0IGNtZCA9IHByb2dyYW1cbiAgICAuY29tbWFuZChgJHtHRU5FUkFURV9EQVRBX09WRVJMQVlfQ09NTUFORH1gKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgICdHZW5lcmF0ZXMgYW4gb3ZlcmxheSBvZiB3Y2h0b29scyBkYXRhIGZvbGRlcnMgZm9yIHJlZmVyZW5jZWQgbW9kdWxlcy4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1kaXIgPGRpcj4nLFxuICAgICAgJ0xvY2F0aW9uIG9mIHRoZSB0YXJnZXQgZGlyZWN0b3J5LiBEZWZhdWx0cyB0byBcInRlbXBcIi4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1zcmMgPGRpcj4nLFxuICAgICAgJ0xvY2F0aW9uIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZS5qc29uIHRvIGFuYWx5emUuIERlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LidcbiAgICApXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgICAvLyBzZXJ2aWNlXG4gICAgICBjb25zdCBsb2dTdmMgPSBwcm9ncmFtLnZlcmJvc2VcbiAgICAgICAgPyBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UoKVxuICAgICAgICA6IE5PT1BfTE9HR0VSX1NFUlZJQ0U7XG4gICAgICAvLyBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoY21kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3QgY3VycmVudERpciA9IGN3ZCgpO1xuICAgICAgLy8gdGFyZ2V0IGRpclxuICAgICAgY29uc3QgZnVsbERzdERpciA9IGdldEZ1bGxQYXRoKGN1cnJlbnREaXIsIGNtZC5kaXIgfHwgJ3RlbXAnKTtcbiAgICAgIC8vIHNvdXJjZSBkaXJcbiAgICAgIGNvbnN0IGZ1bGxTcmNEaXIgPSBnZXRGdWxsUGF0aChjdXJyZW50RGlyLCBjbWQuc3JjIHx8ICcnKTtcbiAgICAgIC8vIHJvb3RcbiAgICAgIGNvbnN0IHsgcm9vdDogc3JjUm9vdCB9ID0gcGFyc2UoZnVsbFNyY0Rpcik7XG4gICAgICBjb25zdCB7IHJvb3Q6IGRzdFJvb3QgfSA9IHBhcnNlKGZ1bGxEc3REaXIpO1xuICAgICAgLy8gZGVjb2RlIHJlbGF0aXZlIHBhdGhzXG4gICAgICBjb25zdCBkc3REaXIgPSByZWxhdGl2ZShkc3RSb290LCBmdWxsRHN0RGlyKTtcbiAgICAgIGNvbnN0IHNyY0RpciA9IHJlbGF0aXZlKHNyY1Jvb3QsIGZ1bGxTcmNEaXIpO1xuICAgICAgLy8gbG9nIHRoaXNcbiAgICAgIGxvZ2dlci5pbmZvKCdzcmNEaXInLCBzcmNEaXIpO1xuICAgICAgbG9nZ2VyLmluZm8oJ2RzdERpcicsIGRzdERpcik7XG4gICAgICAvLyBleGVjdXRlIHRoZSBjb21tYW5kXG4gICAgICBjb25zdCBjb21tYW5kID0gZ2VuZXJhdGVEYXRhT3ZlcmxheSh7XG4gICAgICAgIHNyYzogc3JjRGlyXG4gICAgICB9KTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGZpbGVzJCA9IHJ4UGlwZShcbiAgICAgICAgY29tbWFuZChcbiAgICAgICAgICBjcmVhdGVSZWFkVGV4dEZpbGUoc3JjUm9vdCksXG4gICAgICAgICAgY3JlYXRlUmVhZERpcmVjdG9yeShkc3RSb290KSxcbiAgICAgICAgICBsb2dTdmNcbiAgICAgICAgKSxcbiAgICAgICAgd3JpdGVGaWxlcyhmdWxsRHN0RGlyKSxcbiAgICAgICAgbG9nRmlsZURlc2NyaXB0b3IoKSxcbiAgICAgICAgaWdub3JlRWxlbWVudHMoKVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmliZVxuICAgICAgcmV0dXJuIGZpbGVzJC50b1Byb21pc2UoKTtcbiAgICB9KTtcblxuICAvLyBva1xuICByZXR1cm4gY21kO1xufVxuIl19