124 lines
12 KiB
JavaScript
124 lines
12 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.register = exports.parse = void 0;
|
|
const path = require("path");
|
|
const osr_cli_commons_1 = require("@plastichub/osr-cli-commons");
|
|
const fs_1 = require("@plastichub/osr-cli-commons/fs");
|
|
const exists_1 = require("@plastichub/fs/exists");
|
|
const constants_1 = require("../lib/discourse/constants");
|
|
const _cli_1 = require("../_cli");
|
|
const index_1 = require("../index");
|
|
const component_1 = require("../lib/sync/component");
|
|
const osr_fs_utils_1 = require("@plastichub/osr-fs-utils");
|
|
const globBase = require('glob-base');
|
|
const parse = (argv) => {
|
|
let ret = {
|
|
...argv
|
|
};
|
|
let srcInfo;
|
|
let variables = {};
|
|
ret.src = argv.src;
|
|
ret.source = (0, fs_1.resolve)((0, osr_cli_commons_1.forward_slash)(ret.source), ret.alt, variables);
|
|
ret.root = (0, fs_1.resolve)((0, osr_cli_commons_1.forward_slash)(ret.root), ret.alt, variables);
|
|
ret.product_root = (0, fs_1.resolve)((0, osr_cli_commons_1.forward_slash)(ret.product_root), ret.alt, variables);
|
|
if (ret.src) {
|
|
ret.src = (0, fs_1.resolve)(ret.src, ret.alt, variables);
|
|
// in case a file with a glob pattern is provided, strip the glob
|
|
// this is a special case, enabling shared scripts in Alt-Tap Salamand
|
|
const glob_base = globBase(ret.src);
|
|
const file = ret.src.replace(glob_base.glob, '').replace(/\/$/, '');
|
|
// case : single file
|
|
if ((0, exists_1.sync)(file) && (0, fs_1.isFile)(file)) {
|
|
ret.src = file;
|
|
}
|
|
const src = (0, fs_1.resolve)((0, osr_cli_commons_1.forward_slash)(ret.src), ret.alt, variables);
|
|
srcInfo = (0, osr_cli_commons_1.pathInfo)(src);
|
|
// case : glob pattern
|
|
if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) {
|
|
ret.srcInfo = srcInfo;
|
|
for (const key in srcInfo) {
|
|
if (Object.prototype.hasOwnProperty.call(srcInfo, key)) {
|
|
variables['SRC_' + key] = srcInfo[key];
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
ret.src = (0, fs_1.resolve)(ret.src, ret.alt, variables);
|
|
}
|
|
}
|
|
if (argv.cwd) {
|
|
ret.cwd = path.resolve(argv.cwd);
|
|
if (!(0, exists_1.sync)((ret.cwd))) {
|
|
index_1.logger.error(`Invalid working directory ${argv.cwd}`);
|
|
}
|
|
}
|
|
else {
|
|
ret.cwd = process.cwd();
|
|
}
|
|
ret = {
|
|
...ret,
|
|
variables,
|
|
srcInfo
|
|
};
|
|
return ret;
|
|
};
|
|
exports.parse = parse;
|
|
const defaultOptions = (yargs) => {
|
|
return yargs
|
|
//standard options
|
|
.option('alt', { type: 'boolean', default: false, describe: 'alt token (%)' })
|
|
//discourse
|
|
.option('yaml', { type: 'boolean', default: false, describe: 'Parse options from YAML header' })
|
|
.option('skip', { type: 'boolean', default: true, describe: 'Skip existing' })
|
|
.option('uploadLocal', { type: 'boolean', default: true, describe: 'Upload local images to Discourse' })
|
|
.option('uploadRemote', { type: 'boolean', default: true, describe: 'Upload remote images to Discourse' })
|
|
.option('title', { type: 'string', default: 'Title of the Discourse post' })
|
|
.option('cat', { default: constants_1.CAT_TEST, type: 'number' })
|
|
.option('timestamp', { type: 'number', default: Date.now() })
|
|
.option('owner', { type: 'number', default: constants_1.DEFAULT_IMPORT_OWNER })
|
|
.option('config', { type: 'string', default: 'discourse_admin' })
|
|
//osrl
|
|
.option('src', {
|
|
default: '${OSR_ROOT}/osr-machines/injection/**/config.json',
|
|
type: 'string',
|
|
describe: 'Source : Path|Glob. Supported: HTML|MD|OSR(Options via YAML header)'
|
|
})
|
|
.option('src2', {
|
|
default: '${OSR_ROOT}/osr-machines/sheetpress/cassandra-light/config.json',
|
|
type: 'string',
|
|
describe: 'Source : Path|Glob. Supported: HTML|MD|OSR(Options via YAML header)'
|
|
})
|
|
.option('env', { type: 'string', default: 'forum' })
|
|
.option('profile', { type: 'string', default: "${OSR_ROOT}/osr-templates/discourse/base.json" })
|
|
.option('format', { type: 'string', default: 'md' })
|
|
.option('source', { type: 'string', default: "${OSR_ROOT}/osr-templates/discourse/root.html" })
|
|
.option('language', { type: 'string', default: 'osr' })
|
|
.option('plugins', { type: 'string', default: '${root}/osr/plugins' })
|
|
.option('root', { type: 'string', default: process.cwd() })
|
|
.option('product_root', { type: 'string', default: '${PRODUCT_ROOT}/products' })
|
|
.option('cwd', { type: 'string', default: process.cwd() })
|
|
.option('module', { type: 'string', default: 'osr-lib-components' })
|
|
.option('filter', { type: 'string', default: osr_fs_utils_1.PFilterValid.library_component })
|
|
.option('cache', { type: 'boolean', default: true })
|
|
.option('env_key', { type: 'string', default: 'OSR-CONFIG', describe: 'Environment key to the config path.' });
|
|
};
|
|
let options = (yargs) => defaultOptions(yargs);
|
|
const register = (cli) => {
|
|
return cli.command('sync-component', 'Sync OSR Component', options, async (argv) => {
|
|
(0, _cli_1.defaults)();
|
|
if (argv.help) {
|
|
return;
|
|
}
|
|
let options = (0, exports.parse)(argv);
|
|
if (!options) {
|
|
return;
|
|
}
|
|
index_1.logger.setSettings({ minLevel: argv.logLevel });
|
|
// options.debug && logger.debug(`CLI Args In`, argv)
|
|
index_1.logger.debug('Options', options);
|
|
let ret = (0, component_1.syncComponent)(options);
|
|
return ret;
|
|
});
|
|
};
|
|
exports.register = register;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29tbWFuZHMvc3luYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBRzVCLGlFQUFxRTtBQUNyRSx1REFBZ0U7QUFFaEUsa0RBQXNEO0FBRXRELDBEQUEyRTtBQUUzRSxrQ0FBa0M7QUFFbEMsb0NBQWlDO0FBQ2pDLHFEQUFxRDtBQUNyRCwyREFBdUQ7QUFDdkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBRTlCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBUyxFQUFtQyxFQUFFO0lBRWhFLElBQUksR0FBRyxHQUFRO1FBQ1gsR0FBRyxJQUFJO0tBQ1YsQ0FBQTtJQUVELElBQUksT0FBTyxDQUFBO0lBQ1gsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBRWxCLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQTtJQUVsQixHQUFHLENBQUMsTUFBTSxHQUFHLElBQUEsWUFBTyxFQUFDLElBQUEsK0JBQWEsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNuRSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUEsWUFBTyxFQUFDLElBQUEsK0JBQWEsRUFBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUMvRCxHQUFHLENBQUMsWUFBWSxHQUFHLElBQUEsWUFBTyxFQUFDLElBQUEsK0JBQWEsRUFBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUUvRSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFFVCxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUEsWUFBTyxFQUFDLEdB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
|