@acoustic-content-sdk/cli
Version:
Command line utility for the Acoustic Content SDK.
68 lines • 8.43 kB
JavaScript
/**
* @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 {?} */
var 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 {?}
*/
function () {
// 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 = generateLayouts({
data: '/',
tags: splitParams(cmd.tags),
include: splitParams(cmd.include),
exclude: splitParams(cmd.exclude),
templateType: cmd.templateType
});
// 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUubGF5b3V0cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY291c3RpYy1jb250ZW50LXNkay9jbGkvIiwic291cmNlcyI6WyJjb21tYW5kcy9nZW5lcmF0ZS5sYXlvdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixVQUFVLEVBQ1gsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFFdEMsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE9BQWdCOzs7UUFFL0MsR0FBRyxHQUFHLE9BQU87U0FDaEIsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1NBQzNCLFdBQVcsQ0FDVixnS0FBZ0ssQ0FDaks7U0FDQSxNQUFNLENBQUMsZUFBZSxFQUFFLGlDQUFpQyxDQUFDO1NBQzFELE1BQU0sQ0FDTCxhQUFhLEVBQ2IsbUVBQW1FLENBQ3BFO1NBQ0EsTUFBTSxDQUNMLHFCQUFxQixFQUNyQiw2Q0FBNkMsQ0FDOUM7U0FDQSxNQUFNLENBQ0wscUJBQXFCLEVBQ3JCLDZDQUE2QyxDQUM5QztTQUNBLE1BQU0sQ0FDTCwrQkFBK0IsRUFDL0IsMEVBQTBFLENBQzNFO1NBQ0EsTUFBTSxDQUFDLGVBQWUsRUFBRSxpQ0FBaUMsQ0FBQztTQUMxRCxNQUFNOzs7SUFBQzs7O1lBRUEsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPO1lBQzVCLENBQUMsQ0FBQyx3QkFBd0IsRUFBRTtZQUM1QixDQUFDLENBQUMsbUJBQW1COzs7WUFFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDOzs7WUFFL0IsVUFBVSxHQUFHLEdBQUcsRUFBRTs7WUFDbEIsT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7OztZQUV6RCxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDO1FBQzVDLFdBQVc7UUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDOzs7WUFFNUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztZQUM5QixJQUFJLEVBQUUsR0FBRztZQUNULElBQUksRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMzQixPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ2pDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtTQUMvQixDQUFDOzs7WUFFSSxNQUFNLEdBQUcsTUFBTSxDQUNuQixPQUFPLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQzdDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFDbEIsaUJBQWlCLEVBQUUsRUFDbkIsY0FBYyxFQUFFLENBQ2pCO1FBQ0QsWUFBWTtRQUNaLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUMsRUFBQztJQUVKLEtBQUs7SUFDTCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UsXG4gIGNyZWF0ZVJlYWREaXJlY3RvcnksXG4gIGdlbmVyYXRlTGF5b3V0cyxcbiAgbG9nRmlsZURlc2NyaXB0b3IsXG4gIHdyaXRlRmlsZXNcbn0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3Rvb2xpbmcnO1xuaW1wb3J0IHsgTk9PUF9MT0dHRVJfU0VSVklDRSwgcnhQaXBlIH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHsgam9pbiwgbm9ybWFsaXplIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBjd2QgfSBmcm9tICdwcm9jZXNzJztcbmltcG9ydCB7IGlnbm9yZUVsZW1lbnRzIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBzcGxpdFBhcmFtcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVMYXlvdXRzQ29tbWFuZChwcm9ncmFtOiBDb21tYW5kKTogQ29tbWFuZCB7XG4gIC8vIHJlZ2lzdGVyIG91ciBjb21tYW5kc1xuICBjb25zdCBjbWQgPSBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2dlbmVyYXRlLWxheW91dHMnKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgICdHZW5lcmF0ZXMgbGF5b3V0cyBhbmQgbGF5b3V0IG1hcHBpbmdzIGJhc2VkIG9uIHR5cGUgaW5mb3JtYXRpb24gaW4gYSBiYXRjaCBpbiB0aGUgd2NodG9vbHMgZm9sZGVyLiBUaGUgbmFtZXMgb2YgdGhlIGFydGlmYWN0cyBhcmUgZGVyaXZlZCBmcm9tIHRoZSB0eXBlIG5hbWVzLidcbiAgICApXG4gICAgLm9wdGlvbignLS1kYXRhIDxkYXRhPicsICdMb2NhdGlvbiBvZiB0aGUgZGF0YSBkaXJlY3RvcnkuJylcbiAgICAub3B0aW9uKFxuICAgICAgJy0tZGlyIDxkaXI+JyxcbiAgICAgICdMb2NhdGlvbiBvZiB0aGUgdGFyZ2V0IGRpcmVjdG9yeS4gRGVmYXVsdHMgdG8gdGhlIGRhdGEgZGlyZWN0b3J5LidcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgICctLWluY2x1ZGUgPGluY2x1ZGU+JyxcbiAgICAgICdSZWd1bGFyIGV4cHJlc3Npb24gb2YgdGhlIHR5cGVzIHRvIGluY2x1ZGUuJ1xuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgJy0tZXhjbHVkZSA8ZXhjbHVkZT4nLFxuICAgICAgJ1JlZ3VsYXIgZXhwcmVzc2lvbiBvZiB0aGUgdHlwZXMgdG8gZXhjbHVkZS4nXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICAnLS10ZW1wbGF0ZVR5cGUgPHRlbXBsYXRlVHlwZT4nLFxuICAgICAgJ1R5cGUgb2YgdGhlIHJlbmRlcmluZyB0ZW1wbGF0ZSB0byB1c2UsIGNhbiBiZSBcImFuZ3VsYXJcIiBvciBcImhhbmRsZWJhcnNcIi4nXG4gICAgKVxuICAgIC5vcHRpb24oJy0tdGFncyA8dGFncz4nLCAnVGFncyB0byBhZGQgdG8gdGhlIG5ldyBsYXlvdXRzLicpXG4gICAgLmFjdGlvbigoKSA9PiB7XG4gICAgICAvLyBzZXJ2aWNlXG4gICAgICBjb25zdCBsb2dTdmMgPSBwcm9ncmFtLnZlcmJvc2VcbiAgICAgICAgPyBjcmVhdGVDaGFsa0xvZ2dlclNlcnZpY2UoKVxuICAgICAgICA6IE5PT1BfTE9HR0VSX1NFUlZJQ0U7XG4gICAgICAvLyBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IGxvZ1N2Yy5nZXQoY21kLm5hbWUoKSk7XG4gICAgICAvLyB3cml0ZSBjYWxsYmFja1xuICAgICAgY29uc3QgY3VycmVudERpciA9IGN3ZCgpO1xuICAgICAgY29uc3QgZGF0YURpciA9IG5vcm1hbGl6ZShjbWQuZGF0YSB8fCBqb2luKGN1cnJlbnREaXIsICdkYXRhJykpO1xuICAgICAgLy8gdGFyZ2V0IGRpcmVcbiAgICAgIGNvbnN0IGRzdERpciA9IG5vcm1hbGl6ZShjbWQuZGlyIHx8IGRhdGFEaXIpO1xuICAgICAgLy8gbG9nIHRoaXNcbiAgICAgIGxvZ2dlci5pbmZvKCdkYXRhRGlyJywgZGF0YURpciwgJ2RzdERpcicsIGRzdERpcik7XG4gICAgICAvLyBleGVjdXRlIHRoZSBjb21tYW5kXG4gICAgICBjb25zdCBjb21tYW5kID0gZ2VuZXJhdGVMYXlvdXRzKHtcbiAgICAgICAgZGF0YTogJy8nLFxuICAgICAgICB0YWdzOiBzcGxpdFBhcmFtcyhjbWQudGFncyksXG4gICAgICAgIGluY2x1ZGU6IHNwbGl0UGFyYW1zKGNtZC5pbmNsdWRlKSxcbiAgICAgICAgZXhjbHVkZTogc3BsaXRQYXJhbXMoY21kLmV4Y2x1ZGUpLFxuICAgICAgICB0ZW1wbGF0ZVR5cGU6IGNtZC50ZW1wbGF0ZVR5cGVcbiAgICAgIH0pO1xuICAgICAgLy8gZXhlY3V0ZSB0aGUgY29tbWFuZFxuICAgICAgY29uc3QgZmlsZXMkID0gcnhQaXBlKFxuICAgICAgICBjb21tYW5kKGNyZWF0ZVJlYWREaXJlY3RvcnkoZGF0YURpciksIGxvZ1N2YyksXG4gICAgICAgIHdyaXRlRmlsZXMoZHN0RGlyKSxcbiAgICAgICAgbG9nRmlsZURlc2NyaXB0b3IoKSxcbiAgICAgICAgaWdub3JlRWxlbWVudHMoKVxuICAgICAgKTtcbiAgICAgIC8vIHN1YnNjcmliZVxuICAgICAgcmV0dXJuIGZpbGVzJC50b1Byb21pc2UoKTtcbiAgICB9KTtcblxuICAvLyBva1xuICByZXR1cm4gY21kO1xufVxuIl19