@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
64 lines • 7.26 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: commands/generate.keys.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { createChalkLoggerService, createReadDirectory, generateKeys, 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 generateKeysCommand(program) {
// register our commands
/** @type {?} */
const cmd = program
.command('generate-keys')
.description('Generates keys into the content.')
.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 content items to include.')
.option('--exclude <exclude>', 'Regular expression of the content items to exclude.')
.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 = generateKeys({
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUua2V5cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY291c3RpYy1jb250ZW50LXNkay9jbGkvIiwic291cmNlcyI6WyJjb21tYW5kcy9nZW5lcmF0ZS5rZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFFdEMsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE9BQWdCOzs7VUFFNUMsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLGVBQWUsQ0FBQztTQUN4QixXQUFXLENBQUMsa0NBQWtDLENBQUM7U0FDL0MsTUFBTSxDQUFDLGVBQWUsRUFBRSxpQ0FBaUMsQ0FBQztTQUMxRCxNQUFNLENBQ0wsYUFBYSxFQUNiLG1FQUFtRSxDQUNwRTtTQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIscURBQXFELENBQ3REO1NBQ0EsTUFBTSxDQUNMLHFCQUFxQixFQUNyQixxREFBcUQsQ0FDdEQ7U0FDQSxNQUFNOzs7SUFBQyxHQUFHLEVBQUU7OztjQUVMLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTztZQUM1QixDQUFDLENBQUMsd0JBQXdCLEVBQUU7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQjs7O2NBRWpCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7O2NBRS9CLFVBQVUsR0FBRyxHQUFHLEVBQUU7O2NBQ2xCLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7Y0FFekQsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUM1QyxXQUFXO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzs7O2NBRTVDLE9BQU8sR0FBRyxZQUFZLENBQUM7WUFDM0IsSUFBSSxFQUFFLEdBQUc7WUFDVCxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1NBQ2xDLENBQUM7OztjQUVJLE1BQU0sR0FBRyxNQUFNLENBQ25CLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDN0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUNsQixpQkFBaUIsRUFBRSxFQUNuQixjQUFjLEVBQUUsQ0FDakI7UUFDRCxZQUFZO1FBQ1osT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQyxFQUFDO0lBRUosS0FBSztJQUNMLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUNoYWxrTG9nZ2VyU2VydmljZSxcbiAgY3JlYXRlUmVhZERpcmVjdG9yeSxcbiAgZ2VuZXJhdGVLZXlzLFxuICBsb2dGaWxlRGVzY3JpcHRvcixcbiAgd3JpdGVGaWxlc1xufSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdG9vbGluZyc7XG5pbXBvcnQgeyBOT09QX0xPR0dFUl9TRVJWSUNFLCByeFBpcGUgfSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgeyBqb2luLCBub3JtYWxpemUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IGN3ZCB9IGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0IHsgaWdub3JlRWxlbWVudHMgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHNwbGl0UGFyYW1zIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUtleXNDb21tYW5kKHByb2dyYW06IENvbW1hbmQpOiBDb21tYW5kIHtcbiAgLy8gcmVnaXN0ZXIgb3VyIGNvbW1hbmRzXG4gIGNvbnN0IGNtZCA9IHByb2dyYW1cbiAgICAuY29tbWFuZCgnZ2VuZXJhdGUta2V5cycpXG4gICAgLmRlc2NyaXB0aW9uKCdHZW5lcmF0ZXMga2V5cyBpbnRvIHRoZSBjb250ZW50LicpXG4gICAgLm9wdGlvbignLS1kYXRhIDxkYXRhPicsICdMb2NhdGlvbiBvZiB0aGUgZGF0YSBkaXJlY3RvcnkuJylcbiAgICAub3B0aW9uKFxuICAgICAgJy0tZGlyIDxkaXI+JyxcbiAgICAgICdMb2NhdGlvbiBvZiB0aGUgdGFyZ2V0IGRpcmVjdG9yeS4gRGVmYXVsdHMgdG8gdGhlIGRhdGEgZGlyZWN0b3J5LidcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctLWluY2x1ZGUgPGluY2x1ZGU+JyxcbiAgICAgICdSZWd1bGFyIGV4cHJlc3Npb24gb2YgdGhlIGNvbnRlbnQgaXRlbXMgdG8gaW5jbHVkZS4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS1leGNsdWRlIDxleGNsdWRlPicsXG4gICAgICAnUmVndWxhciBleHByZXNzaW9uIG9mIHRoZSBjb250ZW50IGl0ZW1zIHRvIGV4Y2x1ZGUuJ1xuICAgIClcbiAgICAuYWN0aW9uKCgpID0+IHtcbiAgICAgIC8vIHNlcnZpY2VcbiAgICAgIGNvbnN0IGxvZ1N2YyA9IHByb2dyYW0udmVyYm9zZVxuICAgICAgICA/IGNyZWF0ZUNoYWxrTG9nZ2VyU2VydmljZSgpXG4gICAgICAgIDogTk9PUF9MT0dHRVJfU0VSVklDRTtcbiAgICAgIC8vIGxvZ2dlclxuICAgICAgY29uc3QgbG9nZ2VyID0gbG9nU3ZjLmdldChjbWQubmFtZSgpKTtcbiAgICAgIC8vIHdyaXRlIGNhbGxiYWNrXG4gICAgICBjb25zdCBjdXJyZW50RGlyID0gY3dkKCk7XG4gICAgICBjb25zdCBkYXRhRGlyID0gbm9ybWFsaXplKGNtZC5kYXRhIHx8IGpvaW4oY3VycmVudERpciwgJ2RhdGEnKSk7XG4gICAgICAvLyB0YXJnZXQgZGlyZVxuICAgICAgY29uc3QgZHN0RGlyID0gbm9ybWFsaXplKGNtZC5kaXIgfHwgZGF0YURpcik7XG4gICAgICAvLyBsb2cgdGhpc1xuICAgICAgbG9nZ2VyLmluZm8oJ2RhdGFEaXInLCBkYXRhRGlyLCAnZHN0RGlyJywgZHN0RGlyKTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBnZW5lcmF0ZUtleXMoe1xuICAgICAgICBkYXRhOiAnLycsXG4gICAgICAgIGluY2x1ZGU6IHNwbGl0UGFyYW1zKGNtZC5pbmNsdWRlKSxcbiAgICAgICAgZXhjbHVkZTogc3BsaXRQYXJhbXMoY21kLmV4Y2x1ZGUpXG4gICAgICB9KTtcbiAgICAgIC8vIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgIGNvbnN0IGZpbGVzJCA9IHJ4UGlwZShcbiAgICAgICAgY29tbWFuZChjcmVhdGVSZWFkRGlyZWN0b3J5KGRhdGFEaXIpLCBsb2dTdmMpLFxuICAgICAgICB3cml0ZUZpbGVzKGRzdERpciksXG4gICAgICAgIGxvZ0ZpbGVEZXNjcmlwdG9yKCksXG4gICAgICAgIGlnbm9yZUVsZW1lbnRzKClcbiAgICAgICk7XG4gICAgICAvLyBzdWJzY3JpYmVcbiAgICAgIHJldHVybiBmaWxlcyQudG9Qcm9taXNlKCk7XG4gICAgfSk7XG5cbiAgLy8gb2tcbiAgcmV0dXJuIGNtZDtcbn1cbiJdfQ==