@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
67 lines • 7.61 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 var CANONICALIZE_ASSETS = 'canonicalize-assets';
/**
* @param {?} program
* @return {?}
*/
export function canonicalizeAssetsCommand(program) {
// register our commands
/** @type {?} */
var 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 {?}
*/
function (aLayoutName) {
// service
/** @type {?} */
var logSvc = program.verbose
? createChalkLoggerService()
: NOOP_LOGGER_SERVICE;
// logger
/** @type {?} */
var logger = logSvc.get(cmd.name());
// write callback
/** @type {?} */
var currentDir = cwd();
/** @type {?} */
var dataDir = normalize(cmd.data || join(currentDir, 'data'));
// target dire
/** @type {?} */
var dstDir = normalize(cmd.dir || dataDir);
// log this
logger.info('dataDir', dataDir, 'dstDir', dstDir);
// execute the command
/** @type {?} */
var command = canonicalizeAssets({
data: '/',
include: splitParams(cmd.include),
exclude: splitParams(cmd.exclude)
});
// execute the command
/** @type {?} */
var files$ = rxPipe(command(createReadDirectory(dataDir), logSvc), writeFiles(dstDir), logFileDescriptor(), ignoreElements());
// subscribe
return files$.toPromise();
}));
// ok
return cmd;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fub25pY2FsaXplLmFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY291c3RpYy1jb250ZW50LXNkay9jbGkvIiwic291cmNlcyI6WyJjb21tYW5kcy9jYW5vbmljYWxpemUuYXNzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEMsTUFBTSxLQUFPLG1CQUFtQixHQUFHLHFCQUFxQjs7Ozs7QUFFeEQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BQWdCOzs7UUFFbEQsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1NBQzVCLFdBQVcsQ0FBQywwREFBMEQsQ0FBQztTQUN2RSxNQUFNLENBQUMsZUFBZSxFQUFFLGlDQUFpQyxDQUFDO1NBQzFELE1BQU0sQ0FDTCxhQUFhLEVBQ2IsbUVBQW1FLENBQ3BFO1NBQ0EsTUFBTSxDQUNMLHFCQUFxQixFQUNyQiw2Q0FBNkMsQ0FDOUM7U0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZDQUE2QyxDQUM5QztTQUNBLE1BQU07Ozs7SUFBQyxVQUFDLFdBQVc7OztZQUVaLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTztZQUM1QixDQUFDLENBQUMsd0JBQXdCLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQjs7O1lBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7O1lBRS9CLFVBQVUsR0FBRyxHQUFHLEVBQUU7O1lBQ2xCLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7WUFFekQsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUM1QyxXQUFXO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzs7O1lBRTVDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztZQUNqQyxJQUFJLEVBQUUsR0FBRztZQUNULE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDbEMsQ0FBQzs7O1lBRUksTUFBTSxHQUFHLE1BQU0sQ0FDbkIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUM3QyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQ2xCLGlCQUFpQixFQUFFLEVBQ25CLGNBQWMsRUFBRSxDQUNqQjtRQUNELFlBQVk7UUFDWixPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDLEVBQUM7SUFFSixLQUFLO0lBQ0wsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2Fub25pY2FsaXplQXNzZXRzLFxuICBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UsXG4gIGNyZWF0ZVJlYWREaXJlY3RvcnksXG4gIGxvZ0ZpbGVEZXNjcmlwdG9yLFxuICB3cml0ZUZpbGVzXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay90b29saW5nJztcbmltcG9ydCB7IE5PT1BfTE9HR0VSX1NFUlZJQ0UsIHJ4UGlwZSB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay91dGlscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnY29tbWFuZGVyJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSAncHJvY2Vzcyc7XG5pbXBvcnQgeyBpZ25vcmVFbGVtZW50cyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgc3BsaXRQYXJhbXMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IENBTk9OSUNBTElaRV9BU1NFVFMgPSAnY2Fub25pY2FsaXplLWFzc2V0cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5vbmljYWxpemVBc3NldHNDb21tYW5kKHByb2dyYW06IENvbW1hbmQpOiBDb21tYW5kIHtcbiAgLy8gcmVnaXN0ZXIgb3VyIGNvbW1hbmRzXG4gIGNvbnN0IGNtZCA9IHByb2dyYW1cbiAgICAuY29tbWFuZChDQU5PTklDQUxJWkVfQVNTRVRTKVxuICAgIC5kZXNjcmlwdGlvbignUmV3cml0ZXMgdGhlIHdjaHRvb2xzIGRhdGEgZm9sZGVyIGluIGEgY2Fub25pY2FsIGZvcm1hdC4nKVxuICAgIC5vcHRpb24oJy0tZGF0YSA8ZGF0YT4nLCAnTG9jYXRpb24gb2YgdGhlIGRhdGEgZGlyZWN0b3J5LicpXG4gICAgLm9wdGlvbihcbiAgICAgICctLWRpciA8ZGlyPicsXG4gICAgICAnTG9jYXRpb24gb2YgdGhlIHRhcmdldCBkaXJlY3RvcnkuIERlZmF1bHRzIHRvIHRoZSBkYXRhIGRpcmVjdG9yeS4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1pbmNsdWRlIDxpbmNsdWRlPicsXG4gICAgICAnUmVndWxhciBleHByZXNzaW9uIG9mIHRoZSB0eXBlcyB0byBpbmNsdWRlLidcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctLWV4Y2x1ZGUgPGV4Y2x1ZGU+JyxcbiAgICAgICdSZWd1bGFyIGV4cHJlc3Npb24gb2YgdGhlIHR5cGVzIHRvIGV4Y2x1ZGUuJ1xuICAgIClcbiAgICAuYWN0aW9uKChhTGF5b3V0TmFtZSkgPT4ge1xuICAgICAgLy8gc2VydmljZVxuICAgICAgY29uc3QgbG9nU3ZjID0gcHJvZ3JhbS52ZXJib3NlXG4gICAgICAgID8gY3JlYXRlQ2hhbGtMb2dnZXJTZXJ2aWNlKClcbiAgICAgICAgOiBOT09QX0xPR0dFUl9TRVJWSUNFO1xuICAgICAgLy8gbG9nZ2VyXG4gICAgICBjb25zdCBsb2dnZXIgPSBsb2dTdmMuZ2V0KGNtZC5uYW1lKCkpO1xuICAgICAgLy8gd3JpdGUgY2FsbGJhY2tcbiAgICAgIGNvbnN0IGN1cnJlbnREaXIgPSBjd2QoKTtcbiAgICAgIGNvbnN0IGRhdGFEaXIgPSBub3JtYWxpemUoY21kLmRhdGEgfHwgam9pbihjdXJyZW50RGlyLCAnZGF0YScpKTtcbiAgICAgIC8vIHRhcmdldCBkaXJlXG4gICAgICBjb25zdCBkc3REaXIgPSBub3JtYWxpemUoY21kLmRpciB8fCBkYXRhRGlyKTtcbiAgICAgIC8vIGxvZyB0aGlzXG4gICAgICBsb2dnZXIuaW5mbygnZGF0YURpcicsIGRhdGFEaXIsICdkc3REaXInLCBkc3REaXIpO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgY29tbWFuZCA9IGNhbm9uaWNhbGl6ZUFzc2V0cyh7XG4gICAgICAgIGRhdGE6ICcvJyxcbiAgICAgICAgaW5jbHVkZTogc3BsaXRQYXJhbXMoY21kLmluY2x1ZGUpLFxuICAgICAgICBleGNsdWRlOiBzcGxpdFBhcmFtcyhjbWQuZXhjbHVkZSlcbiAgICAgIH0pO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgZmlsZXMkID0gcnhQaXBlKFxuICAgICAgICBjb21tYW5kKGNyZWF0ZVJlYWREaXJlY3RvcnkoZGF0YURpciksIGxvZ1N2YyksXG4gICAgICAgIHdyaXRlRmlsZXMoZHN0RGlyKSxcbiAgICAgICAgbG9nRmlsZURlc2NyaXB0b3IoKSxcbiAgICAgICAgaWdub3JlRWxlbWVudHMoKVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmliZVxuICAgICAgcmV0dXJuIGZpbGVzJC50b1Byb21pc2UoKTtcbiAgICB9KTtcblxuICAvLyBva1xuICByZXR1cm4gY21kO1xufVxuIl19