@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
67 lines • 7.64 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: commands/canonicalize.assets.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { canonicalizeAssets, createChalkLoggerService, createReadDirectory, 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';
/** @type {?} */
export const CANONICALIZE_ASSETS = 'canonicalize-assets';
/**
* @param {?} program
* @return {?}
*/
export function canonicalizeAssetsCommand(program) {
// register our commands
/** @type {?} */
const cmd = program
.command(CANONICALIZE_ASSETS)
.description('Rewrites the wchtools data folder in a canonical format.')
.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.')
.action((/**
* @param {?} aLayoutName
* @return {?}
*/
(aLayoutName) => {
// 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 = canonicalizeAssets({
data: '/',
include: splitParams(cmd.include),
exclude: splitParams(cmd.exclude)
});
// 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fub25pY2FsaXplLmFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY291c3RpYy1jb250ZW50LXNkay9jbGkvIiwic291cmNlcyI6WyJjb21tYW5kcy9jYW5vbmljYWxpemUuYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEMsTUFBTSxPQUFPLG1CQUFtQixHQUFHLHFCQUFxQjs7Ozs7QUFFeEQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BQWdCOzs7VUFFbEQsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1NBQzVCLFdBQVcsQ0FBQywwREFBMEQsQ0FBQztTQUN2RSxNQUFNLENBQUMsZUFBZSxFQUFFLGlDQUFpQyxDQUFDO1NBQzFELE1BQU0sQ0FDTCxhQUFhLEVBQ2IsbUVBQW1FLENBQ3BFO1NBQ0EsTUFBTSxDQUNMLHFCQUFxQixFQUNyQiw2Q0FBNkMsQ0FDOUM7U0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZDQUE2QyxDQUM5QztTQUNBLE1BQU07Ozs7SUFBQyxDQUFDLFdBQVcsRUFBRSxFQUFFOzs7Y0FFaEIsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQzVCLENBQUMsQ0FBQyx3QkFBd0IsRUFBRTtZQUM1QixDQUFDLENBQUMsbUJBQW1COzs7Y0FFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDOzs7Y0FFL0IsVUFBVSxHQUFHLEdBQUcsRUFBRTs7Y0FDbEIsT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7OztjQUV6RCxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDO1FBQzVDLFdBQVc7UUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Y0FFNUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDO1lBQ2pDLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztTQUNsQyxDQUFDOzs7Y0FFSSxNQUFNLEdBQUcsTUFBTSxDQUNuQixPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFDbEIsaUJBQWlCLEVBQUUsRUFDbkIsY0FBYyxFQUFFLENBQ2pCO1FBQ0QsWUFBWTtRQUNaLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUMsRUFBQztJQUVKLEtBQUs7SUFDTCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjYW5vbmljYWxpemVBc3NldHMsXG4gIGNyZWF0ZUNoYWxrTG9nZ2VyU2VydmljZSxcbiAgY3JlYXRlUmVhZERpcmVjdG9yeSxcbiAgbG9nRmlsZURlc2NyaXB0b3IsXG4gIHdyaXRlRmlsZXNcbn0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3Rvb2xpbmcnO1xuaW1wb3J0IHsgTk9PUF9MT0dHRVJfU0VSVklDRSwgcnhQaXBlIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgam9pbiwgbm9ybWFsaXplIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IGlnbm9yZUVsZW1lbnRzIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBzcGxpdFBhcmFtcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgQ0FOT05JQ0FMSVpFX0FTU0VUUyA9ICdjYW5vbmljYWxpemUtYXNzZXRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbm9uaWNhbGl6ZUFzc2V0c0NvbW1hbmQocHJvZ3JhbTogQ29tbWFuZCk6IENvbW1hbmQge1xuICAvLyByZWdpc3RlciBvdXIgY29tbWFuZHNcbiAgY29uc3QgY21kID0gcHJvZ3JhbVxuICAgIC5jb21tYW5kKENBTk9OSUNBTElaRV9BU1NFVFMpXG4gICAgLmRlc2NyaXB0aW9uKCdSZXdyaXRlcyB0aGUgd2NodG9vbHMgZGF0YSBmb2xkZXIgaW4gYSBjYW5vbmljYWwgZm9ybWF0LicpXG4gICAgLm9wdGlvbignLS1kYXRhIDxkYXRhPicsICdMb2NhdGlvbiBvZiB0aGUgZGF0YSBkaXJlY3RvcnkuJylcbiAgICAub3B0aW9uKFxuICAgICAgJy0tZGlyIDxkaXI+JyxcbiAgICAgICdMb2NhdGlvbiBvZiB0aGUgdGFyZ2V0IGRpcmVjdG9yeS4gRGVmYXVsdHMgdG8gdGhlIGRhdGEgZGlyZWN0b3J5LidcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctLWluY2x1ZGUgPGluY2x1ZGU+JyxcbiAgICAgICdSZWd1bGFyIGV4cHJlc3Npb24gb2YgdGhlIHR5cGVzIHRvIGluY2x1ZGUuJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy0tZXhjbHVkZSA8ZXhjbHVkZT4nLFxuICAgICAgJ1JlZ3VsYXIgZXhwcmVzc2lvbiBvZiB0aGUgdHlwZXMgdG8gZXhjbHVkZS4nXG4gICAgKVxuICAgIC5hY3Rpb24oKGFMYXlvdXROYW1lKSA9PiB7XG4gICAgICAvLyBzZXJ2aWNlXG4gICAgICBjb25zdCBsb2dTdmMgPSBwcm9ncmFtLnZlcmJvc2VcbiAgICAgICAgPyBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UoKVxuICAgICAgICA6IE5PT1BfTE9HR0VSX1NFUlZJQ0U7XG4gICAgICAvLyBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoY21kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3QgY3VycmVudERpciA9IGN3ZCgpO1xuICAgICAgY29uc3QgZGF0YURpciA9IG5vcm1hbGl6ZShjbWQuZGF0YSB8fCBqb2luKGN1cnJlbnREaXIsICdkYXRhJykpO1xuICAgICAgLy8gdGFyZ2V0IGRpcmVcbiAgICAgIGNvbnN0IGRzdERpciA9IG5vcm1hbGl6ZShjbWQuZGlyIHx8IGRhdGFEaXIpO1xuICAgICAgLy8gbG9nIHRoaXNcbiAgICAgIGxvZ2dlci5pbmZvKCdkYXRhRGlyJywgZGF0YURpciwgJ2RzdERpcicsIGRzdERpcik7XG4gICAgICAvLyBleGVjdXRlIHRoZSBjb21tYW5kXG4gICAgICBjb25zdCBjb21tYW5kID0gY2Fub25pY2FsaXplQXNzZXRzKHtcbiAgICAgICAgZGF0YTogJy8nLFxuICAgICAgICBpbmNsdWRlOiBzcGxpdFBhcmFtcyhjbWQuaW5jbHVkZSksXG4gICAgICAgIGV4Y2x1ZGU6IHNwbGl0UGFyYW1zKGNtZC5leGNsdWRlKVxuICAgICAgfSk7XG4gICAgICAvLyBleGVjdXRlIHRoZSBjb21tYW5kXG4gICAgICBjb25zdCBmaWxlcyQgPSByeFBpcGUoXG4gICAgICAgIGNvbW1hbmQoY3JlYXRlUmVhZERpcmVjdG9yeShkYXRhRGlyKSwgbG9nU3ZjKSxcbiAgICAgICAgd3JpdGVGaWxlcyhkc3REaXIpLFxuICAgICAgICBsb2dGaWxlRGVzY3JpcHRvcigpLFxuICAgICAgICBpZ25vcmVFbGVtZW50cygpXG4gICAgICApO1xuICAgICAgLy8gc3Vic2NyaWJlXG4gICAgICByZXR1cm4gZmlsZXMkLnRvUHJvbWlzZSgpO1xuICAgIH0pO1xuXG4gIC8vIG9rXG4gIHJldHVybiBjbWQ7XG59XG4iXX0=