@optimizely/ocp-cli-v2 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +51 -0
- package/bin/ocp.js +3 -0
- package/bin/run.js +3 -0
- package/dist/commands/accounts/whoami.d.ts +5 -0
- package/dist/commands/accounts/whoami.js +22 -0
- package/dist/commands/accounts/whoami.js.map +1 -0
- package/dist/commands/accounts/whois.d.ts +12 -0
- package/dist/commands/accounts/whois.js +57 -0
- package/dist/commands/accounts/whois.js.map +1 -0
- package/dist/commands/app/BaseBuildCommand.d.ts +37 -0
- package/dist/commands/app/BaseBuildCommand.js +255 -0
- package/dist/commands/app/BaseBuildCommand.js.map +1 -0
- package/dist/commands/app/abandon.d.ts +11 -0
- package/dist/commands/app/abandon.js +146 -0
- package/dist/commands/app/abandon.js.map +1 -0
- package/dist/commands/app/getLogLevel.d.ts +16 -0
- package/dist/commands/app/getLogLevel.js +66 -0
- package/dist/commands/app/getLogLevel.js.map +1 -0
- package/dist/commands/app/init.d.ts +27 -0
- package/dist/commands/app/init.js +326 -0
- package/dist/commands/app/init.js.map +1 -0
- package/dist/commands/app/logs.d.ts +24 -0
- package/dist/commands/app/logs.js +231 -0
- package/dist/commands/app/logs.js.map +1 -0
- package/dist/commands/app/package.d.ts +8 -0
- package/dist/commands/app/package.js +51 -0
- package/dist/commands/app/package.js.map +1 -0
- package/dist/commands/app/prepare.d.ts +16 -0
- package/dist/commands/app/prepare.js +119 -0
- package/dist/commands/app/prepare.js.map +1 -0
- package/dist/commands/app/register.d.ts +10 -0
- package/dist/commands/app/register.js +102 -0
- package/dist/commands/app/register.js.map +1 -0
- package/dist/commands/app/setLogLevel.d.ts +16 -0
- package/dist/commands/app/setLogLevel.js +83 -0
- package/dist/commands/app/setLogLevel.js.map +1 -0
- package/dist/commands/app/validate.d.ts +5 -0
- package/dist/commands/app/validate.js +26 -0
- package/dist/commands/app/validate.js.map +1 -0
- package/dist/commands/availability/list.d.ts +6 -0
- package/dist/commands/availability/list.js +32 -0
- package/dist/commands/availability/list.js.map +1 -0
- package/dist/commands/dev-server/start.d.ts +36 -0
- package/dist/commands/dev-server/start.js +209 -0
- package/dist/commands/dev-server/start.js.map +1 -0
- package/dist/commands/dev.d.ts +8 -0
- package/dist/commands/dev.js +12 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/directory/info.d.ts +13 -0
- package/dist/commands/directory/info.js +85 -0
- package/dist/commands/directory/info.js.map +1 -0
- package/dist/commands/directory/install.d.ts +12 -0
- package/dist/commands/directory/install.js +46 -0
- package/dist/commands/directory/install.js.map +1 -0
- package/dist/commands/directory/list.d.ts +14 -0
- package/dist/commands/directory/list.js +114 -0
- package/dist/commands/directory/list.js.map +1 -0
- package/dist/commands/directory/listFunctions.d.ts +15 -0
- package/dist/commands/directory/listFunctions.js +86 -0
- package/dist/commands/directory/listFunctions.js.map +1 -0
- package/dist/commands/directory/listGlobalFunctions.d.ts +13 -0
- package/dist/commands/directory/listGlobalFunctions.js +64 -0
- package/dist/commands/directory/listGlobalFunctions.js.map +1 -0
- package/dist/commands/directory/listInstalls.d.ts +15 -0
- package/dist/commands/directory/listInstalls.js +72 -0
- package/dist/commands/directory/listInstalls.js.map +1 -0
- package/dist/commands/directory/listSourceFunctions.d.ts +14 -0
- package/dist/commands/directory/listSourceFunctions.js +71 -0
- package/dist/commands/directory/listSourceFunctions.js.map +1 -0
- package/dist/commands/directory/publish.d.ts +15 -0
- package/dist/commands/directory/publish.js +201 -0
- package/dist/commands/directory/publish.js.map +1 -0
- package/dist/commands/directory/status.d.ts +11 -0
- package/dist/commands/directory/status.js +50 -0
- package/dist/commands/directory/status.js.map +1 -0
- package/dist/commands/directory/uninstall.d.ts +13 -0
- package/dist/commands/directory/uninstall.js +55 -0
- package/dist/commands/directory/uninstall.js.map +1 -0
- package/dist/commands/directory/unpublish.d.ts +17 -0
- package/dist/commands/directory/unpublish.js +187 -0
- package/dist/commands/directory/unpublish.js.map +1 -0
- package/dist/commands/directory/upgrade.d.ts +15 -0
- package/dist/commands/directory/upgrade.js +113 -0
- package/dist/commands/directory/upgrade.js.map +1 -0
- package/dist/commands/env/get.d.ts +5 -0
- package/dist/commands/env/get.js +23 -0
- package/dist/commands/env/get.js.map +1 -0
- package/dist/commands/env/set.d.ts +8 -0
- package/dist/commands/env/set.js +63 -0
- package/dist/commands/env/set.js.map +1 -0
- package/dist/commands/jobs/list.d.ts +27 -0
- package/dist/commands/jobs/list.js +245 -0
- package/dist/commands/jobs/list.js.map +1 -0
- package/dist/commands/jobs/runtimeStatus.d.ts +11 -0
- package/dist/commands/jobs/runtimeStatus.js +55 -0
- package/dist/commands/jobs/runtimeStatus.js.map +1 -0
- package/dist/commands/jobs/status.d.ts +11 -0
- package/dist/commands/jobs/status.js +57 -0
- package/dist/commands/jobs/status.js.map +1 -0
- package/dist/commands/jobs/terminate.d.ts +11 -0
- package/dist/commands/jobs/terminate.js +35 -0
- package/dist/commands/jobs/terminate.js.map +1 -0
- package/dist/commands/jobs/trigger.d.ts +14 -0
- package/dist/commands/jobs/trigger.js +47 -0
- package/dist/commands/jobs/trigger.js.map +1 -0
- package/dist/commands/review/list.d.ts +9 -0
- package/dist/commands/review/list.js +74 -0
- package/dist/commands/review/list.js.map +1 -0
- package/dist/commands/review/open.d.ts +8 -0
- package/dist/commands/review/open.js +32 -0
- package/dist/commands/review/open.js.map +1 -0
- package/dist/hooks/command-not-found.d.ts +3 -0
- package/dist/hooks/command-not-found.js +93 -0
- package/dist/hooks/command-not-found.js.map +1 -0
- package/dist/hooks/preupdate.d.ts +10 -0
- package/dist/hooks/preupdate.js +42 -0
- package/dist/hooks/preupdate.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/AppContext.d.ts +9 -0
- package/dist/lib/AppContext.js +43 -0
- package/dist/lib/AppContext.js.map +1 -0
- package/dist/lib/AppPackager.d.ts +17 -0
- package/dist/lib/AppPackager.js +57 -0
- package/dist/lib/AppPackager.js.map +1 -0
- package/dist/lib/AppUpdater.d.ts +11 -0
- package/dist/lib/AppUpdater.js +143 -0
- package/dist/lib/AppUpdater.js.map +1 -0
- package/dist/lib/AppUploader.d.ts +9 -0
- package/dist/lib/AppUploader.js +37 -0
- package/dist/lib/AppUploader.js.map +1 -0
- package/dist/lib/BuildPipeline.d.ts +24 -0
- package/dist/lib/BuildPipeline.js +26 -0
- package/dist/lib/BuildPipeline.js.map +1 -0
- package/dist/lib/BuildPipelineFactory.d.ts +10 -0
- package/dist/lib/BuildPipelineFactory.js +23 -0
- package/dist/lib/BuildPipelineFactory.js.map +1 -0
- package/dist/lib/Config.d.ts +15 -0
- package/dist/lib/Config.js +47 -0
- package/dist/lib/Config.js.map +1 -0
- package/dist/lib/CustomHelp.d.ts +19 -0
- package/dist/lib/CustomHelp.js +81 -0
- package/dist/lib/CustomHelp.js.map +1 -0
- package/dist/lib/DependencyStage.d.ts +1 -0
- package/dist/lib/DependencyStage.js +3 -0
- package/dist/lib/DependencyStage.js.map +1 -0
- package/dist/lib/EnvironmentalOutput.d.ts +1 -0
- package/dist/lib/EnvironmentalOutput.js +22 -0
- package/dist/lib/EnvironmentalOutput.js.map +1 -0
- package/dist/lib/Moria.d.ts +51 -0
- package/dist/lib/Moria.js +30 -0
- package/dist/lib/Moria.js.map +1 -0
- package/dist/lib/MoriaApi.d.ts +22 -0
- package/dist/lib/MoriaApi.js +74 -0
- package/dist/lib/MoriaApi.js.map +1 -0
- package/dist/lib/NodeBuildPipeline.d.ts +25 -0
- package/dist/lib/NodeBuildPipeline.js +60 -0
- package/dist/lib/NodeBuildPipeline.js.map +1 -0
- package/dist/lib/PackageManager.d.ts +242 -0
- package/dist/lib/PackageManager.js +511 -0
- package/dist/lib/PackageManager.js.map +1 -0
- package/dist/lib/Rivendell.d.ts +409 -0
- package/dist/lib/Rivendell.js +391 -0
- package/dist/lib/Rivendell.js.map +1 -0
- package/dist/lib/RivendellApi.d.ts +22 -0
- package/dist/lib/RivendellApi.js +159 -0
- package/dist/lib/RivendellApi.js.map +1 -0
- package/dist/lib/Shards.d.ts +3 -0
- package/dist/lib/Shards.js +41 -0
- package/dist/lib/Shards.js.map +1 -0
- package/dist/lib/StringUtils.d.ts +1 -0
- package/dist/lib/StringUtils.js +9 -0
- package/dist/lib/StringUtils.js.map +1 -0
- package/dist/lib/TeminalPassthru.d.ts +7 -0
- package/dist/lib/TeminalPassthru.js +12 -0
- package/dist/lib/TeminalPassthru.js.map +1 -0
- package/dist/lib/TerminalConfirm.d.ts +3 -0
- package/dist/lib/TerminalConfirm.js +31 -0
- package/dist/lib/TerminalConfirm.js.map +1 -0
- package/dist/lib/TerminalInput.d.ts +32 -0
- package/dist/lib/TerminalInput.js +207 -0
- package/dist/lib/TerminalInput.js.map +1 -0
- package/dist/lib/TerminalMenu.d.ts +34 -0
- package/dist/lib/TerminalMenu.js +186 -0
- package/dist/lib/TerminalMenu.js.map +1 -0
- package/dist/lib/TerminalOutput.d.ts +5 -0
- package/dist/lib/TerminalOutput.js +12 -0
- package/dist/lib/TerminalOutput.js.map +1 -0
- package/dist/lib/TerminalSpinner.d.ts +14 -0
- package/dist/lib/TerminalSpinner.js +69 -0
- package/dist/lib/TerminalSpinner.js.map +1 -0
- package/dist/lib/Tracking.d.ts +15 -0
- package/dist/lib/Tracking.js +19 -0
- package/dist/lib/Tracking.js.map +1 -0
- package/dist/lib/build.d.ts +5 -0
- package/dist/lib/build.js +41 -0
- package/dist/lib/build.js.map +1 -0
- package/dist/lib/die.d.ts +5 -0
- package/dist/lib/die.js +14 -0
- package/dist/lib/die.js.map +1 -0
- package/dist/lib/directoryExists.d.ts +1 -0
- package/dist/lib/directoryExists.js +9 -0
- package/dist/lib/directoryExists.js.map +1 -0
- package/dist/lib/formatBuildState.d.ts +2 -0
- package/dist/lib/formatBuildState.js +23 -0
- package/dist/lib/formatBuildState.js.map +1 -0
- package/dist/lib/formatError.d.ts +1 -0
- package/dist/lib/formatError.js +55 -0
- package/dist/lib/formatError.js.map +1 -0
- package/dist/lib/formatJobStatus.d.ts +3 -0
- package/dist/lib/formatJobStatus.js +28 -0
- package/dist/lib/formatJobStatus.js.map +1 -0
- package/dist/lib/formatReviewStatus.d.ts +4 -0
- package/dist/lib/formatReviewStatus.js +28 -0
- package/dist/lib/formatReviewStatus.js.map +1 -0
- package/dist/lib/formatTimstamp.d.ts +1 -0
- package/dist/lib/formatTimstamp.js +25 -0
- package/dist/lib/formatTimstamp.js.map +1 -0
- package/dist/lib/formatVersionState.d.ts +2 -0
- package/dist/lib/formatVersionState.js +37 -0
- package/dist/lib/formatVersionState.js.map +1 -0
- package/dist/lib/gatherAppEnv.d.ts +3 -0
- package/dist/lib/gatherAppEnv.js +71 -0
- package/dist/lib/gatherAppEnv.js.map +1 -0
- package/dist/lib/handleInterrupt.d.ts +1 -0
- package/dist/lib/handleInterrupt.js +17 -0
- package/dist/lib/handleInterrupt.js.map +1 -0
- package/dist/lib/jobRuntime.d.ts +3 -0
- package/dist/lib/jobRuntime.js +16 -0
- package/dist/lib/jobRuntime.js.map +1 -0
- package/dist/lib/migrateOptiCli.d.ts +1 -0
- package/dist/lib/migrateOptiCli.js +30 -0
- package/dist/lib/migrateOptiCli.js.map +1 -0
- package/dist/lib/parseDate.d.ts +2 -0
- package/dist/lib/parseDate.js +26 -0
- package/dist/lib/parseDate.js.map +1 -0
- package/dist/lib/templating/TemplateRenderer.d.ts +13 -0
- package/dist/lib/templating/TemplateRenderer.js +63 -0
- package/dist/lib/templating/TemplateRenderer.js.map +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.d.ts +1 -0
- package/dist/lib/templating/fetchTemplatesManifest.js +9 -0
- package/dist/lib/templating/fetchTemplatesManifest.js.map +1 -0
- package/dist/lib/templating/types.d.ts +27 -0
- package/dist/lib/templating/types.js +3 -0
- package/dist/lib/templating/types.js.map +1 -0
- package/dist/oclif.manifest.json +1616 -0
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.js +61 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +180 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateOptiCli = void 0;
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const os = require("os");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const chalk = require("chalk");
|
|
8
|
+
const TerminalConfirm_1 = require("./TerminalConfirm");
|
|
9
|
+
const dotenv = require("dotenv");
|
|
10
|
+
async function migrateOptiCli(noPrompt) {
|
|
11
|
+
const configFolder = path.join(os.homedir(), '.ocp');
|
|
12
|
+
if (fs.existsSync(configFolder) || !fs.existsSync(path.join(os.homedir(), '.opti'))) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const question = chalk.yellow('No ~/.ocp config folder found, but the config folder for legacy opti CLI exists. ' +
|
|
16
|
+
'Do you want to copy opti CLI configuration? (y/n)');
|
|
17
|
+
const copyConfig = await TerminalConfirm_1.TerminalConfirm.ask(question, noPrompt, true);
|
|
18
|
+
if (copyConfig) {
|
|
19
|
+
fs.cpSync(path.join(os.homedir(), '.opti'), path.join(os.homedir(), '.ocp'), { recursive: true });
|
|
20
|
+
['.env', '.env.staging'].forEach((envFile) => {
|
|
21
|
+
const envFilePath = path.join(os.homedir(), '.ocp', envFile);
|
|
22
|
+
if (fs.existsSync(envFilePath)) {
|
|
23
|
+
fs.writeFileSync(envFilePath, fs.readFileSync(envFilePath, 'utf8').replace('OPTI_ENV', 'OCP_ENV'));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
dotenv.config({ path: path.join(os.homedir(), '.ocp/.env') });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.migrateOptiCli = migrateOptiCli;
|
|
30
|
+
//# sourceMappingURL=migrateOptiCli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateOptiCli.js","sourceRoot":"","sources":["../../src/lib/migrateOptiCli.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AACzB,yBAAyB;AACzB,+BAA+B;AAC/B,uDAAkD;AAClD,iCAAiC;AAE1B,KAAK,UAAU,cAAc,CAAC,QAAiB;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE;QACnF,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,mFAAmF;QACnF,mDAAmD,CACpD,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,iCAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,UAAU,EAAE;QACd,EAAE,CAAC,MAAM,CACP,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,EAChC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,EAC/B,EAAC,SAAS,EAAE,IAAI,EAAC,CAClB,CAAC;QACF,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC9B,EAAE,CAAC,aAAa,CACd,WAAW,EACX,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CACpE,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,EAAC,CAAC,CAAC;KAC7D;AACH,CAAC;AA9BD,wCA8BC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidDateOrEpochOrDurationString = exports.parseDate = void 0;
|
|
4
|
+
const parse_duration_1 = require("parse-duration");
|
|
5
|
+
const date_fns_1 = require("date-fns");
|
|
6
|
+
const EPOCH_TIMESTAMP_REGEX = /^\d+$/;
|
|
7
|
+
function parseDate(value) {
|
|
8
|
+
const iso = (0, date_fns_1.parseISO)(value);
|
|
9
|
+
if (iso.getTime()) {
|
|
10
|
+
return iso;
|
|
11
|
+
}
|
|
12
|
+
else if (EPOCH_TIMESTAMP_REGEX.test(value)) {
|
|
13
|
+
return (0, date_fns_1.fromUnixTime)(parseInt(value, 10));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return new Date(Date.now() - (0, parse_duration_1.default)(value));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.parseDate = parseDate;
|
|
20
|
+
function isValidDateOrEpochOrDurationString(value) {
|
|
21
|
+
return EPOCH_TIMESTAMP_REGEX.test(value) ||
|
|
22
|
+
(0, date_fns_1.parseISO)(value).getTime() ||
|
|
23
|
+
(0, parse_duration_1.default)(value) ? true : false;
|
|
24
|
+
}
|
|
25
|
+
exports.isValidDateOrEpochOrDurationString = isValidDateOrEpochOrDurationString;
|
|
26
|
+
//# sourceMappingURL=parseDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseDate.js","sourceRoot":"","sources":["../../src/lib/parseDate.ts"],"names":[],"mappings":";;;AAAA,mDAAwD;AACxD,uCAAkD;AAElD,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAEtC,SAAgB,SAAS,CAAC,KAAa;IACrC,MAAM,GAAG,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC;KACZ;SAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC5C,OAAO,IAAA,uBAAY,EAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;KAC1C;SAAM;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAA,wBAAa,EAAC,KAAK,CAAE,CAAC,CAAC;KACrD;AACH,CAAC;AATD,8BASC;AAED,SAAgB,kCAAkC,CAAC,KAAa;IAC9D,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;QACtC,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE;QACzB,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACxC,CAAC;AAJD,gFAIC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Template } from './types';
|
|
2
|
+
export declare class TemplateRenderer {
|
|
3
|
+
private targetDir;
|
|
4
|
+
private template;
|
|
5
|
+
private statusUpdater;
|
|
6
|
+
constructor(targetDir: string, template: Template, statusUpdater: (status: string) => void);
|
|
7
|
+
render(substitutions: {
|
|
8
|
+
[key: string]: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
private downloadTemplate;
|
|
11
|
+
private extract;
|
|
12
|
+
private pipe;
|
|
13
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TemplateRenderer = void 0;
|
|
4
|
+
const AdmZip = require("adm-zip");
|
|
5
|
+
const chalk = require("chalk");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const mustache = require("mustache");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const stream_1 = require("stream");
|
|
10
|
+
const globby = require("globby");
|
|
11
|
+
class TemplateRenderer {
|
|
12
|
+
constructor(targetDir, template, statusUpdater) {
|
|
13
|
+
this.targetDir = targetDir;
|
|
14
|
+
this.template = template;
|
|
15
|
+
this.statusUpdater = statusUpdater;
|
|
16
|
+
// globally disable HTML escaping
|
|
17
|
+
mustache.escape = (text) => text;
|
|
18
|
+
}
|
|
19
|
+
async render(substitutions) {
|
|
20
|
+
process.chdir(this.targetDir);
|
|
21
|
+
this.statusUpdater(chalk.gray(`Downloading ${this.template.name} template...`));
|
|
22
|
+
await this.downloadTemplate();
|
|
23
|
+
this.statusUpdater(chalk.gray(`Extracting template...`));
|
|
24
|
+
this.extract();
|
|
25
|
+
this.statusUpdater(chalk.gray(`Rendering template...`));
|
|
26
|
+
(await globby(['**/*'], { onlyFiles: true })).forEach((file) => {
|
|
27
|
+
// exclude template.yml`
|
|
28
|
+
if (file === 'template.yml') {
|
|
29
|
+
fs.unlinkSync(file);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const f = mustache.render(file, substitutions);
|
|
33
|
+
if (f !== file) {
|
|
34
|
+
fs.renameSync(path.resolve(file), path.resolve(f));
|
|
35
|
+
file = f;
|
|
36
|
+
}
|
|
37
|
+
const transformed = mustache.render(fs.readFileSync(path.resolve(file)).toString(), substitutions);
|
|
38
|
+
fs.writeFileSync(path.resolve(file), transformed);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
async downloadTemplate() {
|
|
42
|
+
const response = await fetch(`https://s3.amazonaws.com/zaius-public/zdp/app-templates/${this.template.id}.zip`);
|
|
43
|
+
if (response.ok && response.body) {
|
|
44
|
+
const nodeStream = stream_1.Readable.fromWeb(response.body);
|
|
45
|
+
await this.pipe(nodeStream, fs.createWriteStream(path.resolve(`${this.template.name}.zip`)));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const errorText = await response.text();
|
|
49
|
+
throw new Error(`Failed to download template: ${response.statusText}\n${errorText}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
extract() {
|
|
53
|
+
const zipFile = path.resolve(`${this.template.name}.zip`);
|
|
54
|
+
const zip = new AdmZip(zipFile);
|
|
55
|
+
zip.extractAllTo(this.targetDir);
|
|
56
|
+
fs.unlinkSync(zipFile);
|
|
57
|
+
}
|
|
58
|
+
async pipe(input, output) {
|
|
59
|
+
return new Promise((resolve) => input.pipe(output).on('finish', resolve));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.TemplateRenderer = TemplateRenderer;
|
|
63
|
+
//# sourceMappingURL=TemplateRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateRenderer.js","sourceRoot":"","sources":["../../../src/lib/templating/TemplateRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function fetchTemplatesManifest(): Promise<any>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchTemplatesManifest = void 0;
|
|
4
|
+
async function fetchTemplatesManifest() {
|
|
5
|
+
const result = await fetch('http://s3.amazonaws.com/zaius-public/zdp/app-templates/manifest.json');
|
|
6
|
+
return (await result.json());
|
|
7
|
+
}
|
|
8
|
+
exports.fetchTemplatesManifest = fetchTemplatesManifest;
|
|
9
|
+
//# sourceMappingURL=fetchTemplatesManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchTemplatesManifest.js","sourceRoot":"","sources":["../../../src/lib/templating/fetchTemplatesManifest.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,sBAAsB;IAC1C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACnG,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAQ,CAAC;AACtC,CAAC;AAHD,wDAGC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface Template {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
summary: string;
|
|
5
|
+
variables: TemplateVariable;
|
|
6
|
+
type: 'template';
|
|
7
|
+
}
|
|
8
|
+
export interface Scaffold {
|
|
9
|
+
name: string;
|
|
10
|
+
summary: string;
|
|
11
|
+
variables: TemplateVariable;
|
|
12
|
+
type: 'scaffold';
|
|
13
|
+
}
|
|
14
|
+
export interface TemplateVariable {
|
|
15
|
+
name: string;
|
|
16
|
+
question?: string;
|
|
17
|
+
hint?: string;
|
|
18
|
+
suggest?: string;
|
|
19
|
+
required?: boolean;
|
|
20
|
+
hidden?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface TemplateManifest {
|
|
23
|
+
version: number;
|
|
24
|
+
baseTemplateVariables: TemplateVariable[];
|
|
25
|
+
templates: Template[];
|
|
26
|
+
scaffolds: Scaffold[];
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/templating/types.ts"],"names":[],"mappings":""}
|