@platforma-sdk/bootstrap 5.3.5 → 5.3.6
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/dist/_virtual/_rolldown/runtime.cjs +7 -13
- package/dist/block.cjs +2 -3
- package/dist/block.cjs.map +1 -1
- package/dist/block.js +1 -2
- package/dist/block.js.map +1 -1
- package/dist/cmd-opts.cjs +6 -7
- package/dist/cmd-opts.cjs.map +1 -1
- package/dist/cmd-opts.js +5 -6
- package/dist/cmd-opts.js.map +1 -1
- package/dist/commands/create-block.cjs +5 -6
- package/dist/commands/create-block.cjs.map +1 -1
- package/dist/commands/create-block.d.ts +2 -2
- package/dist/commands/create-block.d.ts.map +1 -0
- package/dist/commands/create-block.js +2 -4
- package/dist/commands/create-block.js.map +1 -1
- package/dist/commands/reset.cjs +5 -6
- package/dist/commands/reset.cjs.map +1 -1
- package/dist/commands/reset.d.ts +2 -2
- package/dist/commands/reset.d.ts.map +1 -0
- package/dist/commands/reset.js +1 -2
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/start/docker/s3.cjs +6 -7
- package/dist/commands/start/docker/s3.cjs.map +1 -1
- package/dist/commands/start/docker/s3.d.ts +22 -22
- package/dist/commands/start/docker/s3.d.ts.map +1 -0
- package/dist/commands/start/docker/s3.js +1 -2
- package/dist/commands/start/docker/s3.js.map +1 -1
- package/dist/commands/start/docker.cjs +6 -7
- package/dist/commands/start/docker.cjs.map +1 -1
- package/dist/commands/start/docker.d.ts +22 -22
- package/dist/commands/start/docker.d.ts.map +1 -0
- package/dist/commands/start/docker.js +1 -2
- package/dist/commands/start/docker.js.map +1 -1
- package/dist/commands/start/local/s3.cjs +7 -8
- package/dist/commands/start/local/s3.cjs.map +1 -1
- package/dist/commands/start/local/s3.d.ts +26 -26
- package/dist/commands/start/local/s3.d.ts.map +1 -0
- package/dist/commands/start/local/s3.js +1 -2
- package/dist/commands/start/local/s3.js.map +1 -1
- package/dist/commands/start/local.cjs +7 -8
- package/dist/commands/start/local.cjs.map +1 -1
- package/dist/commands/start/local.d.ts +24 -24
- package/dist/commands/start/local.d.ts.map +1 -0
- package/dist/commands/start/local.js +1 -2
- package/dist/commands/start/local.js.map +1 -1
- package/dist/commands/start.cjs +5 -6
- package/dist/commands/start.cjs.map +1 -1
- package/dist/commands/start.d.ts +2 -2
- package/dist/commands/start.d.ts.map +1 -0
- package/dist/commands/start.js +1 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.cjs +6 -7
- package/dist/commands/stop.cjs.map +1 -1
- package/dist/commands/stop.d.ts +2 -2
- package/dist/commands/stop.d.ts.map +1 -0
- package/dist/commands/stop.js +1 -2
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/svc/create/arg-parser.cjs +1 -2
- package/dist/commands/svc/create/arg-parser.cjs.map +1 -1
- package/dist/commands/svc/create/arg-parser.js +1 -1
- package/dist/commands/svc/create/arg-parser.js.map +1 -1
- package/dist/commands/svc/create/docker/s3.cjs +7 -8
- package/dist/commands/svc/create/docker/s3.cjs.map +1 -1
- package/dist/commands/svc/create/docker/s3.d.ts +23 -23
- package/dist/commands/svc/create/docker/s3.d.ts.map +1 -0
- package/dist/commands/svc/create/docker/s3.js +1 -2
- package/dist/commands/svc/create/docker/s3.js.map +1 -1
- package/dist/commands/svc/create/docker.cjs +7 -8
- package/dist/commands/svc/create/docker.cjs.map +1 -1
- package/dist/commands/svc/create/docker.d.ts +23 -23
- package/dist/commands/svc/create/docker.d.ts.map +1 -0
- package/dist/commands/svc/create/docker.js +1 -2
- package/dist/commands/svc/create/docker.js.map +1 -1
- package/dist/commands/svc/create/local/s3.cjs +8 -9
- package/dist/commands/svc/create/local/s3.cjs.map +1 -1
- package/dist/commands/svc/create/local/s3.d.ts +27 -27
- package/dist/commands/svc/create/local/s3.d.ts.map +1 -0
- package/dist/commands/svc/create/local/s3.js +1 -2
- package/dist/commands/svc/create/local/s3.js.map +1 -1
- package/dist/commands/svc/create/local.cjs +8 -9
- package/dist/commands/svc/create/local.cjs.map +1 -1
- package/dist/commands/svc/create/local.d.ts +25 -25
- package/dist/commands/svc/create/local.d.ts.map +1 -0
- package/dist/commands/svc/create/local.js +1 -2
- package/dist/commands/svc/create/local.js.map +1 -1
- package/dist/commands/svc/delete.cjs +5 -6
- package/dist/commands/svc/delete.cjs.map +1 -1
- package/dist/commands/svc/delete.d.ts +4 -4
- package/dist/commands/svc/delete.d.ts.map +1 -0
- package/dist/commands/svc/delete.js +1 -2
- package/dist/commands/svc/delete.js.map +1 -1
- package/dist/commands/svc/down.cjs +6 -7
- package/dist/commands/svc/down.cjs.map +1 -1
- package/dist/commands/svc/down.d.ts +3 -3
- package/dist/commands/svc/down.d.ts.map +1 -0
- package/dist/commands/svc/down.js +1 -2
- package/dist/commands/svc/down.js.map +1 -1
- package/dist/commands/svc/list.cjs +3 -4
- package/dist/commands/svc/list.cjs.map +1 -1
- package/dist/commands/svc/list.d.ts.map +1 -0
- package/dist/commands/svc/list.js +1 -2
- package/dist/commands/svc/list.js.map +1 -1
- package/dist/commands/svc/up.cjs +6 -7
- package/dist/commands/svc/up.cjs.map +1 -1
- package/dist/commands/svc/up.d.ts +3 -3
- package/dist/commands/svc/up.d.ts.map +1 -0
- package/dist/commands/svc/up.js +1 -2
- package/dist/commands/svc/up.js.map +1 -1
- package/dist/core.cjs +9 -10
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -2
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +18 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/package.cjs +2 -3
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +1 -2
- package/dist/package.js.map +1 -1
- package/dist/platforma.cjs +3 -4
- package/dist/platforma.cjs.map +1 -1
- package/dist/platforma.js +1 -2
- package/dist/platforma.js.map +1 -1
- package/dist/run.cjs +3 -4
- package/dist/run.cjs.map +1 -1
- package/dist/run.js +1 -2
- package/dist/run.js.map +1 -1
- package/dist/state.cjs +4 -5
- package/dist/state.cjs.map +1 -1
- package/dist/state.js +1 -2
- package/dist/state.js.map +1 -1
- package/dist/templates/compose.cjs +2 -3
- package/dist/templates/compose.cjs.map +1 -1
- package/dist/templates/compose.js +1 -2
- package/dist/templates/compose.js.map +1 -1
- package/dist/templates/pl-config.cjs +5 -6
- package/dist/templates/pl-config.cjs.map +1 -1
- package/dist/templates/pl-config.js +1 -2
- package/dist/templates/pl-config.js.map +1 -1
- package/dist/templates/types.cjs +1 -2
- package/dist/templates/types.cjs.map +1 -1
- package/dist/templates/types.js +1 -1
- package/dist/util.cjs +2 -3
- package/dist/util.cjs.map +1 -1
- package/dist/util.js +1 -2
- package/dist/util.js.map +1 -1
- package/package.json +6 -6
|
@@ -6,16 +6,12 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
8
|
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
19
15
|
}
|
|
20
16
|
return to;
|
|
21
17
|
};
|
|
@@ -23,7 +19,5 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
19
|
value: mod,
|
|
24
20
|
enumerable: true
|
|
25
21
|
}) : target, mod));
|
|
26
|
-
|
|
27
22
|
//#endregion
|
|
28
|
-
|
|
29
|
-
exports.__toESM = __toESM;
|
|
23
|
+
exports.__toESM = __toESM;
|
package/dist/block.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_runtime = require(
|
|
1
|
+
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let node_os = require("node:os");
|
|
3
3
|
node_os = require_runtime.__toESM(node_os);
|
|
4
4
|
let node_fs = require("node:fs");
|
|
@@ -12,7 +12,6 @@ let node_stream = require("node:stream");
|
|
|
12
12
|
let zod = require("zod");
|
|
13
13
|
let decompress = require("decompress");
|
|
14
14
|
decompress = require_runtime.__toESM(decompress);
|
|
15
|
-
|
|
16
15
|
//#region src/block.ts
|
|
17
16
|
const blockPlatformsToChoose = ["Python"];
|
|
18
17
|
const allPlatforms = ["Tengo", "Python"];
|
|
@@ -131,7 +130,7 @@ async function replaceRegexInFile(fPath, from, to) {
|
|
|
131
130
|
async function deleteRegexInFile(fPath, what) {
|
|
132
131
|
return await replaceRegexInFile(fPath, what, "");
|
|
133
132
|
}
|
|
134
|
-
|
|
135
133
|
//#endregion
|
|
136
134
|
exports.createBlock = createBlock;
|
|
135
|
+
|
|
137
136
|
//# sourceMappingURL=block.cjs.map
|
package/dist/block.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.cjs","names":["z","path","readlineSync","fs","os","Writable"],"sources":["../src/block.ts"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type winston from \"winston\";\nimport { Writable } from \"node:stream\";\nimport os from \"node:os\";\nimport readlineSync from \"readline-sync\";\nimport { z } from \"zod\";\nimport decompress from \"decompress\";\n\nconst blockPlatformsToChoose = [\"Python\"];\nconst allPlatforms = [\"Tengo\", \"Python\"] as const;\nconst CreateBlockPlatforms = z.union([z.literal(\"Tengo\"), z.literal(\"Python\")]);\nexport type CreateBlockPlatform = z.infer<typeof CreateBlockPlatforms>;\n\nconst CreateBlockOptions = z.object({\n npmOrgName: z.string().min(1),\n orgName: z.string().min(1, { message: `Organization name must be provided` }),\n blockName: z.string().min(1, { message: `Block name must be provided` }),\n softwarePlatforms: z.array(CreateBlockPlatforms).refine((p) => new Set(p).size === p.length, {\n message: \"Must be an array of unique software platforms\",\n }),\n});\nexport type CreateBlockOptions = z.infer<typeof CreateBlockOptions>;\n\n/** Creates a block by cloning block-boilerplate repository. */\nexport async function createBlock(logger: winston.Logger) {\n const { npmOrgName, orgName, blockName, softwarePlatforms } = askForOptions();\n const targetPath = path.join(process.cwd(), blockName);\n\n logger.info(`Downloading boilerplate code...`);\n await downloadAndUnzip(\n // 'https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/software_platforms.zip',\n // 'platforma-block-boilerplate-software_platforms',\n \"https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/main.zip\",\n \"platforma-block-boilerplate-main\",\n targetPath,\n );\n\n const platformsToRemove = allPlatforms.filter((p) => softwarePlatforms.indexOf(p) < 0);\n const noPlatforms = blockPlatformsToChoose.length == platformsToRemove.length;\n logger.info(\n `Keep platforms '${softwarePlatforms}', remove: '${platformsToRemove}'. Will remove all platforms? ${noPlatforms}`,\n );\n for (const p of platformsToRemove) {\n await removePlatform(targetPath, p);\n }\n if (noPlatforms) {\n await removePlatformsCompletely(targetPath);\n }\n\n logger.info(`Replace everything in the template with provided options...`);\n replaceRegexInAllFiles(targetPath, [\n // '@' literal ensures only npm org name will be renamed,\n // as public registry for software also is called platforma-open, but without '@'.\n // Also, don't rename an organization for runenv-python-3 package.\n { from: /@platforma-open(?!.*runenv-python-3)/g, to: `@${npmOrgName}` },\n\n { from: /my-org/g, to: orgName },\n\n { from: /block-boilerplate/g, to: blockName },\n ]);\n}\n\nfunction askForOptions(): CreateBlockOptions {\n let npmOrgName = readlineSync.question(\n 'Write an organization name for npm. Default is \"platforma-open\": ',\n );\n if (npmOrgName === \"\") {\n npmOrgName = \"platforma-open\";\n }\n\n let orgName = \"\";\n while (orgName.length < 1)\n orgName = readlineSync.question('Write an organization name, e.g. \"my-org\": ');\n\n let blockName = \"\";\n while (blockName.length < 1)\n blockName = readlineSync.question('Write a name of the block, e.g. \"hello-world\": ');\n\n const needSoftware = readlineSync.keyInYN(\"Create package for block's software?\");\n let softwarePlatforms = [\"Tengo\"];\n if (needSoftware) {\n while (softwarePlatforms.length < allPlatforms.length) {\n const index = readlineSync.keyInSelect(blockPlatformsToChoose, \"Choose software platform:\");\n if (index < 0) break;\n softwarePlatforms.push(blockPlatformsToChoose[index]);\n }\n }\n softwarePlatforms = Array.from(new Set(softwarePlatforms)).sort();\n\n const result = CreateBlockOptions.safeParse({\n npmOrgName,\n orgName,\n blockName,\n softwarePlatforms,\n });\n if (!result.success && result.error.issues.length) {\n throw new Error(result.error.issues.map((i) => i.message).join(\"; \"));\n }\n\n return result.data!;\n}\n\nasync function downloadAndUnzip(url: string, pathInArchive: string, outputPath: string) {\n const response = await fetch(url);\n const content = await response.blob();\n\n const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"create-repo\"));\n\n const tmpFile = path.join(tmpDir, \"packed-repo.zip\");\n const f = Writable.toWeb(createWriteStream(tmpFile));\n await content.stream().pipeTo(f);\n\n const tmpRepo = path.join(tmpDir, \"unpacked-repo\");\n await fs.mkdir(tmpRepo);\n await decompress(tmpFile, tmpRepo);\n\n await fs.cp(path.join(tmpRepo, pathInArchive), outputPath, { recursive: true });\n}\n\n/** Removes a bunch of dependencies to the platform. */\nasync function removePlatform(dir: string, platform: CreateBlockPlatform) {\n const p = platform.toLowerCase();\n\n // Remove <PlAlert> line from MainPage.vue\n // https://regex101.com/r/oCTyHk/1\n await deleteRegexInFile(\n path.join(dir, \"ui\", \"src\", \"pages\", \"MainPage.vue\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove an output from the model.\n await deleteRegexInFile(\n path.join(dir, \"model\", \"src\", \"index.ts\"),\n new RegExp(`.*${p}Message.*\\\\n\\\\n`, \"g\"),\n );\n\n // This regexp represents a block of code until the empty line.\n // https://regex101.com/r/Os8kX1/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}.*exec.builder.*[\\\\s\\\\S]*?\\\\n\\\\n`, \"g\"),\n );\n\n // Remove a line from the workflow output.\n // https://regex101.com/r/PkHwQ8/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove 2 lines: the one with the language message and the one with expect\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"wf.test.ts\"),\n new RegExp(`.*${p}Message.*\\\\n.*expect.*\\\\n\\\\n`, \"g\"),\n );\n\n await fs.rm(path.join(dir, \"software\", `src_${p}`), { recursive: true });\n\n await replaceInFile(path.join(dir, \"software\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"block-software\"][\"artifacts\"][`hello-${p}-artifact`];\n delete json[\"block-software\"][\"entrypoints\"][`hello-world-${p}`];\n return JSON.stringify(json, null, 2);\n });\n}\n\n/** Removes software directory completely and all references to it from the workspace. */\nasync function removePlatformsCompletely(dir: string) {\n await fs.rm(path.join(dir, \"software\"), { recursive: true });\n\n await replaceInFile(path.join(dir, \"workflow\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"dependencies\"][\"@platforma-open/my-org.block-boilerplate.software\"];\n return JSON.stringify(json, null, 2);\n });\n\n await deleteRegexInFile(path.join(dir, \"pnpm-workspace.yaml\"), /.*- software$\\n/gm);\n}\n\nasync function replaceRegexInAllFiles(dir: string, patterns: { from: RegExp; to: string }[]) {\n const files = await getAllFiles(dir);\n for (const { from, to } of patterns) {\n for (const fPath of files) {\n await replaceRegexInFile(fPath, from, to);\n }\n }\n}\n\nasync function getAllFiles(dir: string): Promise<string[]> {\n const allDirents = await fs.readdir(dir, {\n withFileTypes: true,\n recursive: true,\n });\n\n return allDirents.filter((f: any) => f.isFile()).map((f: any) => path.join(f.parentPath, f.name));\n}\n\nasync function replaceInFile(fPath: string, replacer: (content: string) => any) {\n const content = await fs.readFile(fPath);\n const newContent = replacer(content.toString());\n await fs.writeFile(fPath, newContent);\n}\n\nasync function replaceRegexInFile(fPath: string, from: RegExp, to: string) {\n return await replaceInFile(fPath, (content) => content.replaceAll(from, to));\n}\n\nasync function deleteRegexInFile(fPath: string, what: RegExp) {\n return await replaceRegexInFile(fPath, what, \"\");\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block.cjs","names":["z","path","readlineSync","fs","os","Writable"],"sources":["../src/block.ts"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type winston from \"winston\";\nimport { Writable } from \"node:stream\";\nimport os from \"node:os\";\nimport readlineSync from \"readline-sync\";\nimport { z } from \"zod\";\nimport decompress from \"decompress\";\n\nconst blockPlatformsToChoose = [\"Python\"];\nconst allPlatforms = [\"Tengo\", \"Python\"] as const;\nconst CreateBlockPlatforms = z.union([z.literal(\"Tengo\"), z.literal(\"Python\")]);\nexport type CreateBlockPlatform = z.infer<typeof CreateBlockPlatforms>;\n\nconst CreateBlockOptions = z.object({\n npmOrgName: z.string().min(1),\n orgName: z.string().min(1, { message: `Organization name must be provided` }),\n blockName: z.string().min(1, { message: `Block name must be provided` }),\n softwarePlatforms: z.array(CreateBlockPlatforms).refine((p) => new Set(p).size === p.length, {\n message: \"Must be an array of unique software platforms\",\n }),\n});\nexport type CreateBlockOptions = z.infer<typeof CreateBlockOptions>;\n\n/** Creates a block by cloning block-boilerplate repository. */\nexport async function createBlock(logger: winston.Logger) {\n const { npmOrgName, orgName, blockName, softwarePlatforms } = askForOptions();\n const targetPath = path.join(process.cwd(), blockName);\n\n logger.info(`Downloading boilerplate code...`);\n await downloadAndUnzip(\n // 'https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/software_platforms.zip',\n // 'platforma-block-boilerplate-software_platforms',\n \"https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/main.zip\",\n \"platforma-block-boilerplate-main\",\n targetPath,\n );\n\n const platformsToRemove = allPlatforms.filter((p) => softwarePlatforms.indexOf(p) < 0);\n const noPlatforms = blockPlatformsToChoose.length == platformsToRemove.length;\n logger.info(\n `Keep platforms '${softwarePlatforms}', remove: '${platformsToRemove}'. Will remove all platforms? ${noPlatforms}`,\n );\n for (const p of platformsToRemove) {\n await removePlatform(targetPath, p);\n }\n if (noPlatforms) {\n await removePlatformsCompletely(targetPath);\n }\n\n logger.info(`Replace everything in the template with provided options...`);\n replaceRegexInAllFiles(targetPath, [\n // '@' literal ensures only npm org name will be renamed,\n // as public registry for software also is called platforma-open, but without '@'.\n // Also, don't rename an organization for runenv-python-3 package.\n { from: /@platforma-open(?!.*runenv-python-3)/g, to: `@${npmOrgName}` },\n\n { from: /my-org/g, to: orgName },\n\n { from: /block-boilerplate/g, to: blockName },\n ]);\n}\n\nfunction askForOptions(): CreateBlockOptions {\n let npmOrgName = readlineSync.question(\n 'Write an organization name for npm. Default is \"platforma-open\": ',\n );\n if (npmOrgName === \"\") {\n npmOrgName = \"platforma-open\";\n }\n\n let orgName = \"\";\n while (orgName.length < 1)\n orgName = readlineSync.question('Write an organization name, e.g. \"my-org\": ');\n\n let blockName = \"\";\n while (blockName.length < 1)\n blockName = readlineSync.question('Write a name of the block, e.g. \"hello-world\": ');\n\n const needSoftware = readlineSync.keyInYN(\"Create package for block's software?\");\n let softwarePlatforms = [\"Tengo\"];\n if (needSoftware) {\n while (softwarePlatforms.length < allPlatforms.length) {\n const index = readlineSync.keyInSelect(blockPlatformsToChoose, \"Choose software platform:\");\n if (index < 0) break;\n softwarePlatforms.push(blockPlatformsToChoose[index]);\n }\n }\n softwarePlatforms = Array.from(new Set(softwarePlatforms)).sort();\n\n const result = CreateBlockOptions.safeParse({\n npmOrgName,\n orgName,\n blockName,\n softwarePlatforms,\n });\n if (!result.success && result.error.issues.length) {\n throw new Error(result.error.issues.map((i) => i.message).join(\"; \"));\n }\n\n return result.data!;\n}\n\nasync function downloadAndUnzip(url: string, pathInArchive: string, outputPath: string) {\n const response = await fetch(url);\n const content = await response.blob();\n\n const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"create-repo\"));\n\n const tmpFile = path.join(tmpDir, \"packed-repo.zip\");\n const f = Writable.toWeb(createWriteStream(tmpFile));\n await content.stream().pipeTo(f);\n\n const tmpRepo = path.join(tmpDir, \"unpacked-repo\");\n await fs.mkdir(tmpRepo);\n await decompress(tmpFile, tmpRepo);\n\n await fs.cp(path.join(tmpRepo, pathInArchive), outputPath, { recursive: true });\n}\n\n/** Removes a bunch of dependencies to the platform. */\nasync function removePlatform(dir: string, platform: CreateBlockPlatform) {\n const p = platform.toLowerCase();\n\n // Remove <PlAlert> line from MainPage.vue\n // https://regex101.com/r/oCTyHk/1\n await deleteRegexInFile(\n path.join(dir, \"ui\", \"src\", \"pages\", \"MainPage.vue\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove an output from the model.\n await deleteRegexInFile(\n path.join(dir, \"model\", \"src\", \"index.ts\"),\n new RegExp(`.*${p}Message.*\\\\n\\\\n`, \"g\"),\n );\n\n // This regexp represents a block of code until the empty line.\n // https://regex101.com/r/Os8kX1/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}.*exec.builder.*[\\\\s\\\\S]*?\\\\n\\\\n`, \"g\"),\n );\n\n // Remove a line from the workflow output.\n // https://regex101.com/r/PkHwQ8/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove 2 lines: the one with the language message and the one with expect\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"wf.test.ts\"),\n new RegExp(`.*${p}Message.*\\\\n.*expect.*\\\\n\\\\n`, \"g\"),\n );\n\n await fs.rm(path.join(dir, \"software\", `src_${p}`), { recursive: true });\n\n await replaceInFile(path.join(dir, \"software\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"block-software\"][\"artifacts\"][`hello-${p}-artifact`];\n delete json[\"block-software\"][\"entrypoints\"][`hello-world-${p}`];\n return JSON.stringify(json, null, 2);\n });\n}\n\n/** Removes software directory completely and all references to it from the workspace. */\nasync function removePlatformsCompletely(dir: string) {\n await fs.rm(path.join(dir, \"software\"), { recursive: true });\n\n await replaceInFile(path.join(dir, \"workflow\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"dependencies\"][\"@platforma-open/my-org.block-boilerplate.software\"];\n return JSON.stringify(json, null, 2);\n });\n\n await deleteRegexInFile(path.join(dir, \"pnpm-workspace.yaml\"), /.*- software$\\n/gm);\n}\n\nasync function replaceRegexInAllFiles(dir: string, patterns: { from: RegExp; to: string }[]) {\n const files = await getAllFiles(dir);\n for (const { from, to } of patterns) {\n for (const fPath of files) {\n await replaceRegexInFile(fPath, from, to);\n }\n }\n}\n\nasync function getAllFiles(dir: string): Promise<string[]> {\n const allDirents = await fs.readdir(dir, {\n withFileTypes: true,\n recursive: true,\n });\n\n return allDirents.filter((f: any) => f.isFile()).map((f: any) => path.join(f.parentPath, f.name));\n}\n\nasync function replaceInFile(fPath: string, replacer: (content: string) => any) {\n const content = await fs.readFile(fPath);\n const newContent = replacer(content.toString());\n await fs.writeFile(fPath, newContent);\n}\n\nasync function replaceRegexInFile(fPath: string, from: RegExp, to: string) {\n return await replaceInFile(fPath, (content) => content.replaceAll(from, to));\n}\n\nasync function deleteRegexInFile(fPath: string, what: RegExp) {\n return await replaceRegexInFile(fPath, what, \"\");\n}\n"],"mappings":"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"}
|
package/dist/block.js
CHANGED
|
@@ -6,7 +6,6 @@ import * as fs$1 from "node:fs/promises";
|
|
|
6
6
|
import { Writable } from "node:stream";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import decompress from "decompress";
|
|
9
|
-
|
|
10
9
|
//#region src/block.ts
|
|
11
10
|
const blockPlatformsToChoose = ["Python"];
|
|
12
11
|
const allPlatforms = ["Tengo", "Python"];
|
|
@@ -125,7 +124,7 @@ async function replaceRegexInFile(fPath, from, to) {
|
|
|
125
124
|
async function deleteRegexInFile(fPath, what) {
|
|
126
125
|
return await replaceRegexInFile(fPath, what, "");
|
|
127
126
|
}
|
|
128
|
-
|
|
129
127
|
//#endregion
|
|
130
128
|
export { createBlock };
|
|
129
|
+
|
|
131
130
|
//# sourceMappingURL=block.js.map
|
package/dist/block.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.js","names":["fs"],"sources":["../src/block.ts"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type winston from \"winston\";\nimport { Writable } from \"node:stream\";\nimport os from \"node:os\";\nimport readlineSync from \"readline-sync\";\nimport { z } from \"zod\";\nimport decompress from \"decompress\";\n\nconst blockPlatformsToChoose = [\"Python\"];\nconst allPlatforms = [\"Tengo\", \"Python\"] as const;\nconst CreateBlockPlatforms = z.union([z.literal(\"Tengo\"), z.literal(\"Python\")]);\nexport type CreateBlockPlatform = z.infer<typeof CreateBlockPlatforms>;\n\nconst CreateBlockOptions = z.object({\n npmOrgName: z.string().min(1),\n orgName: z.string().min(1, { message: `Organization name must be provided` }),\n blockName: z.string().min(1, { message: `Block name must be provided` }),\n softwarePlatforms: z.array(CreateBlockPlatforms).refine((p) => new Set(p).size === p.length, {\n message: \"Must be an array of unique software platforms\",\n }),\n});\nexport type CreateBlockOptions = z.infer<typeof CreateBlockOptions>;\n\n/** Creates a block by cloning block-boilerplate repository. */\nexport async function createBlock(logger: winston.Logger) {\n const { npmOrgName, orgName, blockName, softwarePlatforms } = askForOptions();\n const targetPath = path.join(process.cwd(), blockName);\n\n logger.info(`Downloading boilerplate code...`);\n await downloadAndUnzip(\n // 'https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/software_platforms.zip',\n // 'platforma-block-boilerplate-software_platforms',\n \"https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/main.zip\",\n \"platforma-block-boilerplate-main\",\n targetPath,\n );\n\n const platformsToRemove = allPlatforms.filter((p) => softwarePlatforms.indexOf(p) < 0);\n const noPlatforms = blockPlatformsToChoose.length == platformsToRemove.length;\n logger.info(\n `Keep platforms '${softwarePlatforms}', remove: '${platformsToRemove}'. Will remove all platforms? ${noPlatforms}`,\n );\n for (const p of platformsToRemove) {\n await removePlatform(targetPath, p);\n }\n if (noPlatforms) {\n await removePlatformsCompletely(targetPath);\n }\n\n logger.info(`Replace everything in the template with provided options...`);\n replaceRegexInAllFiles(targetPath, [\n // '@' literal ensures only npm org name will be renamed,\n // as public registry for software also is called platforma-open, but without '@'.\n // Also, don't rename an organization for runenv-python-3 package.\n { from: /@platforma-open(?!.*runenv-python-3)/g, to: `@${npmOrgName}` },\n\n { from: /my-org/g, to: orgName },\n\n { from: /block-boilerplate/g, to: blockName },\n ]);\n}\n\nfunction askForOptions(): CreateBlockOptions {\n let npmOrgName = readlineSync.question(\n 'Write an organization name for npm. Default is \"platforma-open\": ',\n );\n if (npmOrgName === \"\") {\n npmOrgName = \"platforma-open\";\n }\n\n let orgName = \"\";\n while (orgName.length < 1)\n orgName = readlineSync.question('Write an organization name, e.g. \"my-org\": ');\n\n let blockName = \"\";\n while (blockName.length < 1)\n blockName = readlineSync.question('Write a name of the block, e.g. \"hello-world\": ');\n\n const needSoftware = readlineSync.keyInYN(\"Create package for block's software?\");\n let softwarePlatforms = [\"Tengo\"];\n if (needSoftware) {\n while (softwarePlatforms.length < allPlatforms.length) {\n const index = readlineSync.keyInSelect(blockPlatformsToChoose, \"Choose software platform:\");\n if (index < 0) break;\n softwarePlatforms.push(blockPlatformsToChoose[index]);\n }\n }\n softwarePlatforms = Array.from(new Set(softwarePlatforms)).sort();\n\n const result = CreateBlockOptions.safeParse({\n npmOrgName,\n orgName,\n blockName,\n softwarePlatforms,\n });\n if (!result.success && result.error.issues.length) {\n throw new Error(result.error.issues.map((i) => i.message).join(\"; \"));\n }\n\n return result.data!;\n}\n\nasync function downloadAndUnzip(url: string, pathInArchive: string, outputPath: string) {\n const response = await fetch(url);\n const content = await response.blob();\n\n const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"create-repo\"));\n\n const tmpFile = path.join(tmpDir, \"packed-repo.zip\");\n const f = Writable.toWeb(createWriteStream(tmpFile));\n await content.stream().pipeTo(f);\n\n const tmpRepo = path.join(tmpDir, \"unpacked-repo\");\n await fs.mkdir(tmpRepo);\n await decompress(tmpFile, tmpRepo);\n\n await fs.cp(path.join(tmpRepo, pathInArchive), outputPath, { recursive: true });\n}\n\n/** Removes a bunch of dependencies to the platform. */\nasync function removePlatform(dir: string, platform: CreateBlockPlatform) {\n const p = platform.toLowerCase();\n\n // Remove <PlAlert> line from MainPage.vue\n // https://regex101.com/r/oCTyHk/1\n await deleteRegexInFile(\n path.join(dir, \"ui\", \"src\", \"pages\", \"MainPage.vue\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove an output from the model.\n await deleteRegexInFile(\n path.join(dir, \"model\", \"src\", \"index.ts\"),\n new RegExp(`.*${p}Message.*\\\\n\\\\n`, \"g\"),\n );\n\n // This regexp represents a block of code until the empty line.\n // https://regex101.com/r/Os8kX1/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}.*exec.builder.*[\\\\s\\\\S]*?\\\\n\\\\n`, \"g\"),\n );\n\n // Remove a line from the workflow output.\n // https://regex101.com/r/PkHwQ8/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove 2 lines: the one with the language message and the one with expect\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"wf.test.ts\"),\n new RegExp(`.*${p}Message.*\\\\n.*expect.*\\\\n\\\\n`, \"g\"),\n );\n\n await fs.rm(path.join(dir, \"software\", `src_${p}`), { recursive: true });\n\n await replaceInFile(path.join(dir, \"software\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"block-software\"][\"artifacts\"][`hello-${p}-artifact`];\n delete json[\"block-software\"][\"entrypoints\"][`hello-world-${p}`];\n return JSON.stringify(json, null, 2);\n });\n}\n\n/** Removes software directory completely and all references to it from the workspace. */\nasync function removePlatformsCompletely(dir: string) {\n await fs.rm(path.join(dir, \"software\"), { recursive: true });\n\n await replaceInFile(path.join(dir, \"workflow\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"dependencies\"][\"@platforma-open/my-org.block-boilerplate.software\"];\n return JSON.stringify(json, null, 2);\n });\n\n await deleteRegexInFile(path.join(dir, \"pnpm-workspace.yaml\"), /.*- software$\\n/gm);\n}\n\nasync function replaceRegexInAllFiles(dir: string, patterns: { from: RegExp; to: string }[]) {\n const files = await getAllFiles(dir);\n for (const { from, to } of patterns) {\n for (const fPath of files) {\n await replaceRegexInFile(fPath, from, to);\n }\n }\n}\n\nasync function getAllFiles(dir: string): Promise<string[]> {\n const allDirents = await fs.readdir(dir, {\n withFileTypes: true,\n recursive: true,\n });\n\n return allDirents.filter((f: any) => f.isFile()).map((f: any) => path.join(f.parentPath, f.name));\n}\n\nasync function replaceInFile(fPath: string, replacer: (content: string) => any) {\n const content = await fs.readFile(fPath);\n const newContent = replacer(content.toString());\n await fs.writeFile(fPath, newContent);\n}\n\nasync function replaceRegexInFile(fPath: string, from: RegExp, to: string) {\n return await replaceInFile(fPath, (content) => content.replaceAll(from, to));\n}\n\nasync function deleteRegexInFile(fPath: string, what: RegExp) {\n return await replaceRegexInFile(fPath, what, \"\");\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block.js","names":["fs"],"sources":["../src/block.ts"],"sourcesContent":["import { createWriteStream } from \"node:fs\";\nimport * as fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport type winston from \"winston\";\nimport { Writable } from \"node:stream\";\nimport os from \"node:os\";\nimport readlineSync from \"readline-sync\";\nimport { z } from \"zod\";\nimport decompress from \"decompress\";\n\nconst blockPlatformsToChoose = [\"Python\"];\nconst allPlatforms = [\"Tengo\", \"Python\"] as const;\nconst CreateBlockPlatforms = z.union([z.literal(\"Tengo\"), z.literal(\"Python\")]);\nexport type CreateBlockPlatform = z.infer<typeof CreateBlockPlatforms>;\n\nconst CreateBlockOptions = z.object({\n npmOrgName: z.string().min(1),\n orgName: z.string().min(1, { message: `Organization name must be provided` }),\n blockName: z.string().min(1, { message: `Block name must be provided` }),\n softwarePlatforms: z.array(CreateBlockPlatforms).refine((p) => new Set(p).size === p.length, {\n message: \"Must be an array of unique software platforms\",\n }),\n});\nexport type CreateBlockOptions = z.infer<typeof CreateBlockOptions>;\n\n/** Creates a block by cloning block-boilerplate repository. */\nexport async function createBlock(logger: winston.Logger) {\n const { npmOrgName, orgName, blockName, softwarePlatforms } = askForOptions();\n const targetPath = path.join(process.cwd(), blockName);\n\n logger.info(`Downloading boilerplate code...`);\n await downloadAndUnzip(\n // 'https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/software_platforms.zip',\n // 'platforma-block-boilerplate-software_platforms',\n \"https://github.com/milaboratory/platforma-block-boilerplate/archive/refs/heads/main.zip\",\n \"platforma-block-boilerplate-main\",\n targetPath,\n );\n\n const platformsToRemove = allPlatforms.filter((p) => softwarePlatforms.indexOf(p) < 0);\n const noPlatforms = blockPlatformsToChoose.length == platformsToRemove.length;\n logger.info(\n `Keep platforms '${softwarePlatforms}', remove: '${platformsToRemove}'. Will remove all platforms? ${noPlatforms}`,\n );\n for (const p of platformsToRemove) {\n await removePlatform(targetPath, p);\n }\n if (noPlatforms) {\n await removePlatformsCompletely(targetPath);\n }\n\n logger.info(`Replace everything in the template with provided options...`);\n replaceRegexInAllFiles(targetPath, [\n // '@' literal ensures only npm org name will be renamed,\n // as public registry for software also is called platforma-open, but without '@'.\n // Also, don't rename an organization for runenv-python-3 package.\n { from: /@platforma-open(?!.*runenv-python-3)/g, to: `@${npmOrgName}` },\n\n { from: /my-org/g, to: orgName },\n\n { from: /block-boilerplate/g, to: blockName },\n ]);\n}\n\nfunction askForOptions(): CreateBlockOptions {\n let npmOrgName = readlineSync.question(\n 'Write an organization name for npm. Default is \"platforma-open\": ',\n );\n if (npmOrgName === \"\") {\n npmOrgName = \"platforma-open\";\n }\n\n let orgName = \"\";\n while (orgName.length < 1)\n orgName = readlineSync.question('Write an organization name, e.g. \"my-org\": ');\n\n let blockName = \"\";\n while (blockName.length < 1)\n blockName = readlineSync.question('Write a name of the block, e.g. \"hello-world\": ');\n\n const needSoftware = readlineSync.keyInYN(\"Create package for block's software?\");\n let softwarePlatforms = [\"Tengo\"];\n if (needSoftware) {\n while (softwarePlatforms.length < allPlatforms.length) {\n const index = readlineSync.keyInSelect(blockPlatformsToChoose, \"Choose software platform:\");\n if (index < 0) break;\n softwarePlatforms.push(blockPlatformsToChoose[index]);\n }\n }\n softwarePlatforms = Array.from(new Set(softwarePlatforms)).sort();\n\n const result = CreateBlockOptions.safeParse({\n npmOrgName,\n orgName,\n blockName,\n softwarePlatforms,\n });\n if (!result.success && result.error.issues.length) {\n throw new Error(result.error.issues.map((i) => i.message).join(\"; \"));\n }\n\n return result.data!;\n}\n\nasync function downloadAndUnzip(url: string, pathInArchive: string, outputPath: string) {\n const response = await fetch(url);\n const content = await response.blob();\n\n const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"create-repo\"));\n\n const tmpFile = path.join(tmpDir, \"packed-repo.zip\");\n const f = Writable.toWeb(createWriteStream(tmpFile));\n await content.stream().pipeTo(f);\n\n const tmpRepo = path.join(tmpDir, \"unpacked-repo\");\n await fs.mkdir(tmpRepo);\n await decompress(tmpFile, tmpRepo);\n\n await fs.cp(path.join(tmpRepo, pathInArchive), outputPath, { recursive: true });\n}\n\n/** Removes a bunch of dependencies to the platform. */\nasync function removePlatform(dir: string, platform: CreateBlockPlatform) {\n const p = platform.toLowerCase();\n\n // Remove <PlAlert> line from MainPage.vue\n // https://regex101.com/r/oCTyHk/1\n await deleteRegexInFile(\n path.join(dir, \"ui\", \"src\", \"pages\", \"MainPage.vue\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove an output from the model.\n await deleteRegexInFile(\n path.join(dir, \"model\", \"src\", \"index.ts\"),\n new RegExp(`.*${p}Message.*\\\\n\\\\n`, \"g\"),\n );\n\n // This regexp represents a block of code until the empty line.\n // https://regex101.com/r/Os8kX1/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}.*exec.builder.*[\\\\s\\\\S]*?\\\\n\\\\n`, \"g\"),\n );\n\n // Remove a line from the workflow output.\n // https://regex101.com/r/PkHwQ8/1\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"main.tpl.tengo\"),\n new RegExp(`.*${p}Message.*\\\\n`, \"g\"),\n );\n\n // Remove 2 lines: the one with the language message and the one with expect\n await deleteRegexInFile(\n path.join(dir, \"workflow\", \"src\", \"wf.test.ts\"),\n new RegExp(`.*${p}Message.*\\\\n.*expect.*\\\\n\\\\n`, \"g\"),\n );\n\n await fs.rm(path.join(dir, \"software\", `src_${p}`), { recursive: true });\n\n await replaceInFile(path.join(dir, \"software\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"block-software\"][\"artifacts\"][`hello-${p}-artifact`];\n delete json[\"block-software\"][\"entrypoints\"][`hello-world-${p}`];\n return JSON.stringify(json, null, 2);\n });\n}\n\n/** Removes software directory completely and all references to it from the workspace. */\nasync function removePlatformsCompletely(dir: string) {\n await fs.rm(path.join(dir, \"software\"), { recursive: true });\n\n await replaceInFile(path.join(dir, \"workflow\", \"package.json\"), (content) => {\n const json = JSON.parse(content);\n delete json[\"dependencies\"][\"@platforma-open/my-org.block-boilerplate.software\"];\n return JSON.stringify(json, null, 2);\n });\n\n await deleteRegexInFile(path.join(dir, \"pnpm-workspace.yaml\"), /.*- software$\\n/gm);\n}\n\nasync function replaceRegexInAllFiles(dir: string, patterns: { from: RegExp; to: string }[]) {\n const files = await getAllFiles(dir);\n for (const { from, to } of patterns) {\n for (const fPath of files) {\n await replaceRegexInFile(fPath, from, to);\n }\n }\n}\n\nasync function getAllFiles(dir: string): Promise<string[]> {\n const allDirents = await fs.readdir(dir, {\n withFileTypes: true,\n recursive: true,\n });\n\n return allDirents.filter((f: any) => f.isFile()).map((f: any) => path.join(f.parentPath, f.name));\n}\n\nasync function replaceInFile(fPath: string, replacer: (content: string) => any) {\n const content = await fs.readFile(fPath);\n const newContent = replacer(content.toString());\n await fs.writeFile(fPath, newContent);\n}\n\nasync function replaceRegexInFile(fPath: string, from: RegExp, to: string) {\n return await replaceInFile(fPath, (content) => content.replaceAll(from, to));\n}\n\nasync function deleteRegexInFile(fPath: string, what: RegExp) {\n return await replaceRegexInFile(fPath, what, \"\");\n}\n"],"mappings":"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"}
|
package/dist/cmd-opts.cjs
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
require("./_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let _oclif_core = require("@oclif/core");
|
|
3
|
-
|
|
4
3
|
//#region src/cmd-opts.ts
|
|
5
4
|
const GlobalFlags = { "log-level": _oclif_core.Flags.string({
|
|
6
5
|
description: "logging level",
|
|
@@ -13,10 +12,10 @@ const GlobalFlags = { "log-level": _oclif_core.Flags.string({
|
|
|
13
12
|
],
|
|
14
13
|
required: false
|
|
15
14
|
}) };
|
|
16
|
-
|
|
15
|
+
_oclif_core.Flags.string({
|
|
17
16
|
description: "name of instance",
|
|
18
17
|
required: false
|
|
19
|
-
})
|
|
18
|
+
});
|
|
20
19
|
const ImageFlag = { image: _oclif_core.Flags.string({ description: "use custom docker image to run platforma" }) };
|
|
21
20
|
const VersionFlag = { version: _oclif_core.Flags.string({ description: "use custom platforma release (official docker image or binary package)" }) };
|
|
22
21
|
const ArchFlag = { arch: _oclif_core.Flags.string({ description: "override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2" }) };
|
|
@@ -76,9 +75,9 @@ const PlWorkdirFlag = { ["pl-workdir"]: _oclif_core.Flags.file({ description: "s
|
|
|
76
75
|
const PlBinaryFlag = { ["pl-binary"]: _oclif_core.Flags.file({ description: "start given Platforma Backend binary instead of automatically downloaded version" }) };
|
|
77
76
|
const PlSourcesFlag = { ["pl-sources"]: _oclif_core.Flags.file({ description: "path to pl repository root: build Platforma Backend from sources and start the resulting binary" }) };
|
|
78
77
|
const ConfigFlag = { config: _oclif_core.Flags.string({ description: "use custom Platforma Backend config" }) };
|
|
79
|
-
|
|
78
|
+
_oclif_core.Flags.file({ description: "specify path on host to be used as 'primary' storage" });
|
|
80
79
|
const StorageWorkPathFlag = { "storage-work": _oclif_core.Flags.file({ description: "specify path on host to be used as 'work' storage" }) };
|
|
81
|
-
|
|
80
|
+
_oclif_core.Flags.file({ description: "specify path on host to be used as 'library' storage" });
|
|
82
81
|
const StoragePrimaryURLFlag = { "storage-primary": _oclif_core.Flags.string({ description: "specify 'primary' storage destination URL.\n file:/path/to/dir for directory on local FS\n s3://<bucket>/?region=<name> for real AWS bucket\n s3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\n s3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https" }) };
|
|
83
82
|
const StorageLibraryURLFlag = { "storage-library": _oclif_core.Flags.string({ description: "specify 'library' storage destination URL.\n file:/path/to/dir for directory on local FS\n s3://<bucket>/?region=<name> for real AWS bucket\n s3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\n s3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https" }) };
|
|
84
83
|
const AuthEnabledFlag = { "auth-enabled": _oclif_core.Flags.boolean({ description: "enable authorization" }) };
|
|
@@ -91,7 +90,6 @@ const AuthFlags = {
|
|
|
91
90
|
...LDAPAddressFlag,
|
|
92
91
|
...LDAPDefaultDNFlag
|
|
93
92
|
};
|
|
94
|
-
|
|
95
93
|
//#endregion
|
|
96
94
|
exports.AddressesFlags = AddressesFlags;
|
|
97
95
|
exports.ArchFlag = ArchFlag;
|
|
@@ -112,4 +110,5 @@ exports.StorageLibraryURLFlag = StorageLibraryURLFlag;
|
|
|
112
110
|
exports.StoragePrimaryURLFlag = StoragePrimaryURLFlag;
|
|
113
111
|
exports.StorageWorkPathFlag = StorageWorkPathFlag;
|
|
114
112
|
exports.VersionFlag = VersionFlag;
|
|
113
|
+
|
|
115
114
|
//# sourceMappingURL=cmd-opts.cjs.map
|
package/dist/cmd-opts.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-opts.cjs","names":["Flags"],"sources":["../src/cmd-opts.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\n\nexport const GlobalFlags = {\n \"log-level\": Flags.string({\n description: \"logging level\",\n default: \"info\",\n options: [\"error\", \"warn\", \"info\", \"debug\"],\n required: false,\n }),\n};\n\nexport const InstanceName = {\n name: Flags.string({\n description: \"name of instance\",\n required: false,\n }),\n};\n\nexport const ImageFlag = {\n image: Flags.string({\n description: \"use custom docker image to run platforma\",\n }),\n};\n\nexport const VersionFlag = {\n version: Flags.string({\n description: \"use custom platforma release (official docker image or binary package)\",\n }),\n};\n\nexport const ArchFlag = {\n arch: Flags.string({\n description:\n \"override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2\",\n }),\n};\n\nexport const LicenseFlags = {\n license: Flags.string({\n description:\n 'pass a license code. The license can be got from \"https://platforma.bio/getlicense\".',\n }),\n \"license-file\": Flags.file({\n exists: true,\n description:\n \"specify a path to the file with a license. The license can be got from 'https://platforma.bio/getlicense'.\",\n }),\n};\n\nexport const AddressesFlags = {\n \"grpc-port\": Flags.integer({\n description: \"port for Platforma Backend gRPC API. Default is 6345\",\n env: \"PLATFORMA_GRPC_PORT\",\n }),\n\n \"grpc-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend gRPC API. Default is 127.0.0.1:6345\",\n env: \"PLATFORMA_GRPC_LISTEN\",\n }),\n\n \"monitoring-port\": Flags.integer({\n description: \"port for Platforma Backend monitoring API. Default is 9090\",\n env: \"PLATFORMA_MONITORING_PORT\",\n }),\n\n \"monitoring-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend monitoring API. Default is 127.0.0.1:9090\",\n env: \"PLATFORMA_MONITORING_LISTEN\",\n }),\n\n \"debug-port\": Flags.integer({\n description: \"port for Platforma Backend debug API. Default is 9091\",\n env: \"PLATFORMA_DEBUG_PORT\",\n }),\n\n \"debug-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend debug API. Default is 127.0.0.1:9091\",\n env: \"PLATFORMA_DEBUG_LISTEN\",\n }),\n};\n\nexport const S3AddressesFlags = {\n \"s3-port\": Flags.integer({\n description: \"port that S3 will listen, default is 9000\",\n default: 9000,\n env: \"PLATFORMA_S3_PORT\",\n }),\n\n \"s3-console-port\": Flags.integer({\n description: \"port that a console of S3 will listen, default is 9001\",\n default: 9001,\n env: \"PLATFORMA_S3_CONSOLE_PORT\",\n }),\n};\n\nexport const StorageFlag = {\n storage: Flags.string({\n description: \"specify path on host to be used as storage for all Platforma Backend data\",\n }),\n};\n\nexport const MinioPresignHostFlag = {\n [\"minio-presign-host\"]: Flags.boolean({\n description: \"use 'minio' host instead of 'localhost' in presign URLs\",\n }),\n};\n\nexport const MountFlag = {\n mount: Flags.string({\n multiple: true,\n description:\n \"things to be mounted into platforma docker container. Targets will appear inside the container under the same absolute paths\",\n }),\n};\n\nexport const PlLogFileFlag = {\n [\"pl-log-file\"]: Flags.file({\n description: \"specify path for Platforma Backend log file\",\n }),\n};\n\nexport const PlWorkdirFlag = {\n [\"pl-workdir\"]: Flags.file({\n description: \"specify working directory for Platforma Backend process\",\n }),\n};\n\nexport const PlBinaryFlag = {\n [\"pl-binary\"]: Flags.file({\n description: \"start given Platforma Backend binary instead of automatically downloaded version\",\n }),\n};\n\nexport const PlSourcesFlag = {\n [\"pl-sources\"]: Flags.file({\n description:\n \"path to pl repository root: build Platforma Backend from sources and start the resulting binary\",\n }),\n};\n\nexport const ConfigFlag = {\n config: Flags.string({\n description: \"use custom Platforma Backend config\",\n }),\n};\n\nexport const StoragePrimaryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'primary' storage\",\n }),\n};\n\nexport const StorageWorkPathFlag = {\n \"storage-work\": Flags.file({\n description: \"specify path on host to be used as 'work' storage\",\n }),\n};\n\nexport const StorageLibraryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'library' storage\",\n }),\n};\n\nexport const StoragePrimaryURLFlag = {\n \"storage-primary\": Flags.string({\n description:\n \"specify 'primary' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const StorageLibraryURLFlag = {\n \"storage-library\": Flags.string({\n description:\n \"specify 'library' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const AuthEnabledFlag = {\n \"auth-enabled\": Flags.boolean({\n description: \"enable authorization\",\n }),\n};\n\nexport const HTPasswdFileFlag = {\n \"auth-htpasswd-file\": Flags.file({\n description: \"path to .htpasswd file with Platforma users (static user DB auth source)\",\n }),\n};\n\nexport const LDAPAddressFlag = {\n \"auth-ldap-server\": Flags.string({\n description: \"address of LDAP server to use for auth in Platforma (auth source)\",\n }),\n};\n\nexport const LDAPDefaultDNFlag = {\n \"auth-ldap-default-dn\": Flags.string({\n description:\n \"DN to use when checking user with LDAP bind operation: e.g. cn=%u,ou=users,dc=example,dc=com\",\n }),\n};\n\nexport const AuthFlags = {\n ...AuthEnabledFlag,\n ...HTPasswdFileFlag,\n\n ...LDAPAddressFlag,\n ...LDAPDefaultDNFlag,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cmd-opts.cjs","names":["Flags"],"sources":["../src/cmd-opts.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\n\nexport const GlobalFlags = {\n \"log-level\": Flags.string({\n description: \"logging level\",\n default: \"info\",\n options: [\"error\", \"warn\", \"info\", \"debug\"],\n required: false,\n }),\n};\n\nexport const InstanceName = {\n name: Flags.string({\n description: \"name of instance\",\n required: false,\n }),\n};\n\nexport const ImageFlag = {\n image: Flags.string({\n description: \"use custom docker image to run platforma\",\n }),\n};\n\nexport const VersionFlag = {\n version: Flags.string({\n description: \"use custom platforma release (official docker image or binary package)\",\n }),\n};\n\nexport const ArchFlag = {\n arch: Flags.string({\n description:\n \"override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2\",\n }),\n};\n\nexport const LicenseFlags = {\n license: Flags.string({\n description:\n 'pass a license code. The license can be got from \"https://platforma.bio/getlicense\".',\n }),\n \"license-file\": Flags.file({\n exists: true,\n description:\n \"specify a path to the file with a license. The license can be got from 'https://platforma.bio/getlicense'.\",\n }),\n};\n\nexport const AddressesFlags = {\n \"grpc-port\": Flags.integer({\n description: \"port for Platforma Backend gRPC API. Default is 6345\",\n env: \"PLATFORMA_GRPC_PORT\",\n }),\n\n \"grpc-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend gRPC API. Default is 127.0.0.1:6345\",\n env: \"PLATFORMA_GRPC_LISTEN\",\n }),\n\n \"monitoring-port\": Flags.integer({\n description: \"port for Platforma Backend monitoring API. Default is 9090\",\n env: \"PLATFORMA_MONITORING_PORT\",\n }),\n\n \"monitoring-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend monitoring API. Default is 127.0.0.1:9090\",\n env: \"PLATFORMA_MONITORING_LISTEN\",\n }),\n\n \"debug-port\": Flags.integer({\n description: \"port for Platforma Backend debug API. Default is 9091\",\n env: \"PLATFORMA_DEBUG_PORT\",\n }),\n\n \"debug-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend debug API. Default is 127.0.0.1:9091\",\n env: \"PLATFORMA_DEBUG_LISTEN\",\n }),\n};\n\nexport const S3AddressesFlags = {\n \"s3-port\": Flags.integer({\n description: \"port that S3 will listen, default is 9000\",\n default: 9000,\n env: \"PLATFORMA_S3_PORT\",\n }),\n\n \"s3-console-port\": Flags.integer({\n description: \"port that a console of S3 will listen, default is 9001\",\n default: 9001,\n env: \"PLATFORMA_S3_CONSOLE_PORT\",\n }),\n};\n\nexport const StorageFlag = {\n storage: Flags.string({\n description: \"specify path on host to be used as storage for all Platforma Backend data\",\n }),\n};\n\nexport const MinioPresignHostFlag = {\n [\"minio-presign-host\"]: Flags.boolean({\n description: \"use 'minio' host instead of 'localhost' in presign URLs\",\n }),\n};\n\nexport const MountFlag = {\n mount: Flags.string({\n multiple: true,\n description:\n \"things to be mounted into platforma docker container. Targets will appear inside the container under the same absolute paths\",\n }),\n};\n\nexport const PlLogFileFlag = {\n [\"pl-log-file\"]: Flags.file({\n description: \"specify path for Platforma Backend log file\",\n }),\n};\n\nexport const PlWorkdirFlag = {\n [\"pl-workdir\"]: Flags.file({\n description: \"specify working directory for Platforma Backend process\",\n }),\n};\n\nexport const PlBinaryFlag = {\n [\"pl-binary\"]: Flags.file({\n description: \"start given Platforma Backend binary instead of automatically downloaded version\",\n }),\n};\n\nexport const PlSourcesFlag = {\n [\"pl-sources\"]: Flags.file({\n description:\n \"path to pl repository root: build Platforma Backend from sources and start the resulting binary\",\n }),\n};\n\nexport const ConfigFlag = {\n config: Flags.string({\n description: \"use custom Platforma Backend config\",\n }),\n};\n\nexport const StoragePrimaryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'primary' storage\",\n }),\n};\n\nexport const StorageWorkPathFlag = {\n \"storage-work\": Flags.file({\n description: \"specify path on host to be used as 'work' storage\",\n }),\n};\n\nexport const StorageLibraryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'library' storage\",\n }),\n};\n\nexport const StoragePrimaryURLFlag = {\n \"storage-primary\": Flags.string({\n description:\n \"specify 'primary' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const StorageLibraryURLFlag = {\n \"storage-library\": Flags.string({\n description:\n \"specify 'library' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const AuthEnabledFlag = {\n \"auth-enabled\": Flags.boolean({\n description: \"enable authorization\",\n }),\n};\n\nexport const HTPasswdFileFlag = {\n \"auth-htpasswd-file\": Flags.file({\n description: \"path to .htpasswd file with Platforma users (static user DB auth source)\",\n }),\n};\n\nexport const LDAPAddressFlag = {\n \"auth-ldap-server\": Flags.string({\n description: \"address of LDAP server to use for auth in Platforma (auth source)\",\n }),\n};\n\nexport const LDAPDefaultDNFlag = {\n \"auth-ldap-default-dn\": Flags.string({\n description:\n \"DN to use when checking user with LDAP bind operation: e.g. cn=%u,ou=users,dc=example,dc=com\",\n }),\n};\n\nexport const AuthFlags = {\n ...AuthEnabledFlag,\n ...HTPasswdFileFlag,\n\n ...LDAPAddressFlag,\n ...LDAPDefaultDNFlag,\n};\n"],"mappings":"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"}
|
package/dist/cmd-opts.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Flags } from "@oclif/core";
|
|
2
|
-
|
|
3
2
|
//#region src/cmd-opts.ts
|
|
4
3
|
const GlobalFlags = { "log-level": Flags.string({
|
|
5
4
|
description: "logging level",
|
|
@@ -12,10 +11,10 @@ const GlobalFlags = { "log-level": Flags.string({
|
|
|
12
11
|
],
|
|
13
12
|
required: false
|
|
14
13
|
}) };
|
|
15
|
-
|
|
14
|
+
Flags.string({
|
|
16
15
|
description: "name of instance",
|
|
17
16
|
required: false
|
|
18
|
-
})
|
|
17
|
+
});
|
|
19
18
|
const ImageFlag = { image: Flags.string({ description: "use custom docker image to run platforma" }) };
|
|
20
19
|
const VersionFlag = { version: Flags.string({ description: "use custom platforma release (official docker image or binary package)" }) };
|
|
21
20
|
const ArchFlag = { arch: Flags.string({ description: "override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2" }) };
|
|
@@ -75,9 +74,9 @@ const PlWorkdirFlag = { ["pl-workdir"]: Flags.file({ description: "specify worki
|
|
|
75
74
|
const PlBinaryFlag = { ["pl-binary"]: Flags.file({ description: "start given Platforma Backend binary instead of automatically downloaded version" }) };
|
|
76
75
|
const PlSourcesFlag = { ["pl-sources"]: Flags.file({ description: "path to pl repository root: build Platforma Backend from sources and start the resulting binary" }) };
|
|
77
76
|
const ConfigFlag = { config: Flags.string({ description: "use custom Platforma Backend config" }) };
|
|
78
|
-
|
|
77
|
+
Flags.file({ description: "specify path on host to be used as 'primary' storage" });
|
|
79
78
|
const StorageWorkPathFlag = { "storage-work": Flags.file({ description: "specify path on host to be used as 'work' storage" }) };
|
|
80
|
-
|
|
79
|
+
Flags.file({ description: "specify path on host to be used as 'library' storage" });
|
|
81
80
|
const StoragePrimaryURLFlag = { "storage-primary": Flags.string({ description: "specify 'primary' storage destination URL.\n file:/path/to/dir for directory on local FS\n s3://<bucket>/?region=<name> for real AWS bucket\n s3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\n s3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https" }) };
|
|
82
81
|
const StorageLibraryURLFlag = { "storage-library": Flags.string({ description: "specify 'library' storage destination URL.\n file:/path/to/dir for directory on local FS\n s3://<bucket>/?region=<name> for real AWS bucket\n s3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\n s3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https" }) };
|
|
83
82
|
const AuthEnabledFlag = { "auth-enabled": Flags.boolean({ description: "enable authorization" }) };
|
|
@@ -90,7 +89,7 @@ const AuthFlags = {
|
|
|
90
89
|
...LDAPAddressFlag,
|
|
91
90
|
...LDAPDefaultDNFlag
|
|
92
91
|
};
|
|
93
|
-
|
|
94
92
|
//#endregion
|
|
95
93
|
export { AddressesFlags, ArchFlag, AuthFlags, ConfigFlag, GlobalFlags, ImageFlag, LicenseFlags, MinioPresignHostFlag, MountFlag, PlBinaryFlag, PlLogFileFlag, PlSourcesFlag, PlWorkdirFlag, S3AddressesFlags, StorageFlag, StorageLibraryURLFlag, StoragePrimaryURLFlag, StorageWorkPathFlag, VersionFlag };
|
|
94
|
+
|
|
96
95
|
//# sourceMappingURL=cmd-opts.js.map
|
package/dist/cmd-opts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd-opts.js","names":[],"sources":["../src/cmd-opts.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\n\nexport const GlobalFlags = {\n \"log-level\": Flags.string({\n description: \"logging level\",\n default: \"info\",\n options: [\"error\", \"warn\", \"info\", \"debug\"],\n required: false,\n }),\n};\n\nexport const InstanceName = {\n name: Flags.string({\n description: \"name of instance\",\n required: false,\n }),\n};\n\nexport const ImageFlag = {\n image: Flags.string({\n description: \"use custom docker image to run platforma\",\n }),\n};\n\nexport const VersionFlag = {\n version: Flags.string({\n description: \"use custom platforma release (official docker image or binary package)\",\n }),\n};\n\nexport const ArchFlag = {\n arch: Flags.string({\n description:\n \"override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2\",\n }),\n};\n\nexport const LicenseFlags = {\n license: Flags.string({\n description:\n 'pass a license code. The license can be got from \"https://platforma.bio/getlicense\".',\n }),\n \"license-file\": Flags.file({\n exists: true,\n description:\n \"specify a path to the file with a license. The license can be got from 'https://platforma.bio/getlicense'.\",\n }),\n};\n\nexport const AddressesFlags = {\n \"grpc-port\": Flags.integer({\n description: \"port for Platforma Backend gRPC API. Default is 6345\",\n env: \"PLATFORMA_GRPC_PORT\",\n }),\n\n \"grpc-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend gRPC API. Default is 127.0.0.1:6345\",\n env: \"PLATFORMA_GRPC_LISTEN\",\n }),\n\n \"monitoring-port\": Flags.integer({\n description: \"port for Platforma Backend monitoring API. Default is 9090\",\n env: \"PLATFORMA_MONITORING_PORT\",\n }),\n\n \"monitoring-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend monitoring API. Default is 127.0.0.1:9090\",\n env: \"PLATFORMA_MONITORING_LISTEN\",\n }),\n\n \"debug-port\": Flags.integer({\n description: \"port for Platforma Backend debug API. Default is 9091\",\n env: \"PLATFORMA_DEBUG_PORT\",\n }),\n\n \"debug-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend debug API. Default is 127.0.0.1:9091\",\n env: \"PLATFORMA_DEBUG_LISTEN\",\n }),\n};\n\nexport const S3AddressesFlags = {\n \"s3-port\": Flags.integer({\n description: \"port that S3 will listen, default is 9000\",\n default: 9000,\n env: \"PLATFORMA_S3_PORT\",\n }),\n\n \"s3-console-port\": Flags.integer({\n description: \"port that a console of S3 will listen, default is 9001\",\n default: 9001,\n env: \"PLATFORMA_S3_CONSOLE_PORT\",\n }),\n};\n\nexport const StorageFlag = {\n storage: Flags.string({\n description: \"specify path on host to be used as storage for all Platforma Backend data\",\n }),\n};\n\nexport const MinioPresignHostFlag = {\n [\"minio-presign-host\"]: Flags.boolean({\n description: \"use 'minio' host instead of 'localhost' in presign URLs\",\n }),\n};\n\nexport const MountFlag = {\n mount: Flags.string({\n multiple: true,\n description:\n \"things to be mounted into platforma docker container. Targets will appear inside the container under the same absolute paths\",\n }),\n};\n\nexport const PlLogFileFlag = {\n [\"pl-log-file\"]: Flags.file({\n description: \"specify path for Platforma Backend log file\",\n }),\n};\n\nexport const PlWorkdirFlag = {\n [\"pl-workdir\"]: Flags.file({\n description: \"specify working directory for Platforma Backend process\",\n }),\n};\n\nexport const PlBinaryFlag = {\n [\"pl-binary\"]: Flags.file({\n description: \"start given Platforma Backend binary instead of automatically downloaded version\",\n }),\n};\n\nexport const PlSourcesFlag = {\n [\"pl-sources\"]: Flags.file({\n description:\n \"path to pl repository root: build Platforma Backend from sources and start the resulting binary\",\n }),\n};\n\nexport const ConfigFlag = {\n config: Flags.string({\n description: \"use custom Platforma Backend config\",\n }),\n};\n\nexport const StoragePrimaryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'primary' storage\",\n }),\n};\n\nexport const StorageWorkPathFlag = {\n \"storage-work\": Flags.file({\n description: \"specify path on host to be used as 'work' storage\",\n }),\n};\n\nexport const StorageLibraryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'library' storage\",\n }),\n};\n\nexport const StoragePrimaryURLFlag = {\n \"storage-primary\": Flags.string({\n description:\n \"specify 'primary' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const StorageLibraryURLFlag = {\n \"storage-library\": Flags.string({\n description:\n \"specify 'library' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const AuthEnabledFlag = {\n \"auth-enabled\": Flags.boolean({\n description: \"enable authorization\",\n }),\n};\n\nexport const HTPasswdFileFlag = {\n \"auth-htpasswd-file\": Flags.file({\n description: \"path to .htpasswd file with Platforma users (static user DB auth source)\",\n }),\n};\n\nexport const LDAPAddressFlag = {\n \"auth-ldap-server\": Flags.string({\n description: \"address of LDAP server to use for auth in Platforma (auth source)\",\n }),\n};\n\nexport const LDAPDefaultDNFlag = {\n \"auth-ldap-default-dn\": Flags.string({\n description:\n \"DN to use when checking user with LDAP bind operation: e.g. cn=%u,ou=users,dc=example,dc=com\",\n }),\n};\n\nexport const AuthFlags = {\n ...AuthEnabledFlag,\n ...HTPasswdFileFlag,\n\n ...LDAPAddressFlag,\n ...LDAPDefaultDNFlag,\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"cmd-opts.js","names":[],"sources":["../src/cmd-opts.ts"],"sourcesContent":["import { Flags } from \"@oclif/core\";\n\nexport const GlobalFlags = {\n \"log-level\": Flags.string({\n description: \"logging level\",\n default: \"info\",\n options: [\"error\", \"warn\", \"info\", \"debug\"],\n required: false,\n }),\n};\n\nexport const InstanceName = {\n name: Flags.string({\n description: \"name of instance\",\n required: false,\n }),\n};\n\nexport const ImageFlag = {\n image: Flags.string({\n description: \"use custom docker image to run platforma\",\n }),\n};\n\nexport const VersionFlag = {\n version: Flags.string({\n description: \"use custom platforma release (official docker image or binary package)\",\n }),\n};\n\nexport const ArchFlag = {\n arch: Flags.string({\n description:\n \"override architecture. You can start amd64 linux image on arm-based host (say, Apple M family processor). I.e. arm64, amd64, amd64/v2\",\n }),\n};\n\nexport const LicenseFlags = {\n license: Flags.string({\n description:\n 'pass a license code. The license can be got from \"https://platforma.bio/getlicense\".',\n }),\n \"license-file\": Flags.file({\n exists: true,\n description:\n \"specify a path to the file with a license. The license can be got from 'https://platforma.bio/getlicense'.\",\n }),\n};\n\nexport const AddressesFlags = {\n \"grpc-port\": Flags.integer({\n description: \"port for Platforma Backend gRPC API. Default is 6345\",\n env: \"PLATFORMA_GRPC_PORT\",\n }),\n\n \"grpc-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend gRPC API. Default is 127.0.0.1:6345\",\n env: \"PLATFORMA_GRPC_LISTEN\",\n }),\n\n \"monitoring-port\": Flags.integer({\n description: \"port for Platforma Backend monitoring API. Default is 9090\",\n env: \"PLATFORMA_MONITORING_PORT\",\n }),\n\n \"monitoring-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend monitoring API. Default is 127.0.0.1:9090\",\n env: \"PLATFORMA_MONITORING_LISTEN\",\n }),\n\n \"debug-port\": Flags.integer({\n description: \"port for Platforma Backend debug API. Default is 9091\",\n env: \"PLATFORMA_DEBUG_PORT\",\n }),\n\n \"debug-listen\": Flags.string({\n description: \"full listen addr for Platforma Backend debug API. Default is 127.0.0.1:9091\",\n env: \"PLATFORMA_DEBUG_LISTEN\",\n }),\n};\n\nexport const S3AddressesFlags = {\n \"s3-port\": Flags.integer({\n description: \"port that S3 will listen, default is 9000\",\n default: 9000,\n env: \"PLATFORMA_S3_PORT\",\n }),\n\n \"s3-console-port\": Flags.integer({\n description: \"port that a console of S3 will listen, default is 9001\",\n default: 9001,\n env: \"PLATFORMA_S3_CONSOLE_PORT\",\n }),\n};\n\nexport const StorageFlag = {\n storage: Flags.string({\n description: \"specify path on host to be used as storage for all Platforma Backend data\",\n }),\n};\n\nexport const MinioPresignHostFlag = {\n [\"minio-presign-host\"]: Flags.boolean({\n description: \"use 'minio' host instead of 'localhost' in presign URLs\",\n }),\n};\n\nexport const MountFlag = {\n mount: Flags.string({\n multiple: true,\n description:\n \"things to be mounted into platforma docker container. Targets will appear inside the container under the same absolute paths\",\n }),\n};\n\nexport const PlLogFileFlag = {\n [\"pl-log-file\"]: Flags.file({\n description: \"specify path for Platforma Backend log file\",\n }),\n};\n\nexport const PlWorkdirFlag = {\n [\"pl-workdir\"]: Flags.file({\n description: \"specify working directory for Platforma Backend process\",\n }),\n};\n\nexport const PlBinaryFlag = {\n [\"pl-binary\"]: Flags.file({\n description: \"start given Platforma Backend binary instead of automatically downloaded version\",\n }),\n};\n\nexport const PlSourcesFlag = {\n [\"pl-sources\"]: Flags.file({\n description:\n \"path to pl repository root: build Platforma Backend from sources and start the resulting binary\",\n }),\n};\n\nexport const ConfigFlag = {\n config: Flags.string({\n description: \"use custom Platforma Backend config\",\n }),\n};\n\nexport const StoragePrimaryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'primary' storage\",\n }),\n};\n\nexport const StorageWorkPathFlag = {\n \"storage-work\": Flags.file({\n description: \"specify path on host to be used as 'work' storage\",\n }),\n};\n\nexport const StorageLibraryPathFlag = {\n \"storage-primary\": Flags.file({\n description: \"specify path on host to be used as 'library' storage\",\n }),\n};\n\nexport const StoragePrimaryURLFlag = {\n \"storage-primary\": Flags.string({\n description:\n \"specify 'primary' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const StorageLibraryURLFlag = {\n \"storage-library\": Flags.string({\n description:\n \"specify 'library' storage destination URL.\\n\" +\n \"\\tfile:/path/to/dir for directory on local FS\\n\" +\n \"\\ts3://<bucket>/?region=<name> for real AWS bucket\\n\" +\n \"\\ts3e://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via http\\n\" +\n \"\\ts3es://<endpoint>/<bucket>/?region=<name> for bucket behind custom endpoint via https\",\n }),\n};\n\nexport const AuthEnabledFlag = {\n \"auth-enabled\": Flags.boolean({\n description: \"enable authorization\",\n }),\n};\n\nexport const HTPasswdFileFlag = {\n \"auth-htpasswd-file\": Flags.file({\n description: \"path to .htpasswd file with Platforma users (static user DB auth source)\",\n }),\n};\n\nexport const LDAPAddressFlag = {\n \"auth-ldap-server\": Flags.string({\n description: \"address of LDAP server to use for auth in Platforma (auth source)\",\n }),\n};\n\nexport const LDAPDefaultDNFlag = {\n \"auth-ldap-default-dn\": Flags.string({\n description:\n \"DN to use when checking user with LDAP bind operation: e.g. cn=%u,ou=users,dc=example,dc=com\",\n }),\n};\n\nexport const AuthFlags = {\n ...AuthEnabledFlag,\n ...HTPasswdFileFlag,\n\n ...LDAPAddressFlag,\n ...LDAPDefaultDNFlag,\n};\n"],"mappings":";;AAEA,MAAa,cAAc,EACzB,aAAa,MAAM,OAAO;CACxB,aAAa;CACb,SAAS;CACT,SAAS;EAAC;EAAS;EAAQ;EAAQ;EAAQ;CAC3C,UAAU;CACX,CAAC,EACH;AAGO,MAAM,OAAO;CACjB,aAAa;CACb,UAAU;CACX,CAAC;AAGJ,MAAa,YAAY,EACvB,OAAO,MAAM,OAAO,EAClB,aAAa,4CACd,CAAC,EACH;AAED,MAAa,cAAc,EACzB,SAAS,MAAM,OAAO,EACpB,aAAa,0EACd,CAAC,EACH;AAED,MAAa,WAAW,EACtB,MAAM,MAAM,OAAO,EACjB,aACE,yIACH,CAAC,EACH;AAED,MAAa,eAAe;CAC1B,SAAS,MAAM,OAAO,EACpB,aACE,0FACH,CAAC;CACF,gBAAgB,MAAM,KAAK;EACzB,QAAQ;EACR,aACE;EACH,CAAC;CACH;AAED,MAAa,iBAAiB;CAC5B,aAAa,MAAM,QAAQ;EACzB,aAAa;EACb,KAAK;EACN,CAAC;CAEF,eAAe,MAAM,OAAO;EAC1B,aAAa;EACb,KAAK;EACN,CAAC;CAEF,mBAAmB,MAAM,QAAQ;EAC/B,aAAa;EACb,KAAK;EACN,CAAC;CAEF,qBAAqB,MAAM,OAAO;EAChC,aAAa;EACb,KAAK;EACN,CAAC;CAEF,cAAc,MAAM,QAAQ;EAC1B,aAAa;EACb,KAAK;EACN,CAAC;CAEF,gBAAgB,MAAM,OAAO;EAC3B,aAAa;EACb,KAAK;EACN,CAAC;CACH;AAED,MAAa,mBAAmB;CAC9B,WAAW,MAAM,QAAQ;EACvB,aAAa;EACb,SAAS;EACT,KAAK;EACN,CAAC;CAEF,mBAAmB,MAAM,QAAQ;EAC/B,aAAa;EACb,SAAS;EACT,KAAK;EACN,CAAC;CACH;AAED,MAAa,cAAc,EACzB,SAAS,MAAM,OAAO,EACpB,aAAa,6EACd,CAAC,EACH;AAED,MAAa,uBAAuB,GACjC,uBAAuB,MAAM,QAAQ,EACpC,aAAa,2DACd,CAAC,EACH;AAED,MAAa,YAAY,EACvB,OAAO,MAAM,OAAO;CAClB,UAAU;CACV,aACE;CACH,CAAC,EACH;AAED,MAAa,gBAAgB,GAC1B,gBAAgB,MAAM,KAAK,EAC1B,aAAa,+CACd,CAAC,EACH;AAED,MAAa,gBAAgB,GAC1B,eAAe,MAAM,KAAK,EACzB,aAAa,2DACd,CAAC,EACH;AAED,MAAa,eAAe,GACzB,cAAc,MAAM,KAAK,EACxB,aAAa,oFACd,CAAC,EACH;AAED,MAAa,gBAAgB,GAC1B,eAAe,MAAM,KAAK,EACzB,aACE,mGACH,CAAC,EACH;AAED,MAAa,aAAa,EACxB,QAAQ,MAAM,OAAO,EACnB,aAAa,uCACd,CAAC,EACH;AAGoB,MAAM,KAAK,EAC5B,aAAa,wDACd,CAAC;AAGJ,MAAa,sBAAsB,EACjC,gBAAgB,MAAM,KAAK,EACzB,aAAa,qDACd,CAAC,EACH;AAGoB,MAAM,KAAK,EAC5B,aAAa,wDACd,CAAC;AAGJ,MAAa,wBAAwB,EACnC,mBAAmB,MAAM,OAAO,EAC9B,aACE,6TAKH,CAAC,EACH;AAED,MAAa,wBAAwB,EACnC,mBAAmB,MAAM,OAAO,EAC9B,aACE,6TAKH,CAAC,EACH;AAED,MAAa,kBAAkB,EAC7B,gBAAgB,MAAM,QAAQ,EAC5B,aAAa,wBACd,CAAC,EACH;AAED,MAAa,mBAAmB,EAC9B,sBAAsB,MAAM,KAAK,EAC/B,aAAa,4EACd,CAAC,EACH;AAED,MAAa,kBAAkB,EAC7B,oBAAoB,MAAM,OAAO,EAC/B,aAAa,qEACd,CAAC,EACH;AAED,MAAa,oBAAoB,EAC/B,wBAAwB,MAAM,OAAO,EACnC,aACE,gGACH,CAAC,EACH;AAED,MAAa,YAAY;CACvB,GAAG;CACH,GAAG;CAEH,GAAG;CACH,GAAG;CACJ"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
const require_cmd_opts = require(
|
|
3
|
-
const require_util = require(
|
|
4
|
-
const require_block = require(
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_cmd_opts = require("../cmd-opts.cjs");
|
|
3
|
+
const require_util = require("../util.cjs");
|
|
4
|
+
const require_block = require("../block.cjs");
|
|
5
5
|
let _oclif_core = require("@oclif/core");
|
|
6
|
-
|
|
7
6
|
//#region src/commands/create-block.ts
|
|
8
7
|
var CreateBlock = class CreateBlock extends _oclif_core.Command {
|
|
9
8
|
static description = "Helps to create a new block by downloading a block's template.";
|
|
@@ -15,7 +14,7 @@ var CreateBlock = class CreateBlock extends _oclif_core.Command {
|
|
|
15
14
|
await require_block.createBlock(logger);
|
|
16
15
|
}
|
|
17
16
|
};
|
|
18
|
-
|
|
19
17
|
//#endregion
|
|
20
18
|
exports.default = CreateBlock;
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=create-block.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-block.cjs","names":["Command"],"sources":["../../src/commands/create-block.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\nimport * as block from \"../block\";\n\nexport default class CreateBlock extends Command {\n static override description = \"Helps to create a new block by downloading a block's template.\";\n\n static override examples = [\"<%= name %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(CreateBlock);\n const logger = util.createLogger(flags[\"log-level\"]);\n\n await block.createBlock(logger);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-block.cjs","names":["Command"],"sources":["../../src/commands/create-block.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\nimport * as block from \"../block\";\n\nexport default class CreateBlock extends Command {\n static override description = \"Helps to create a new block by downloading a block's template.\";\n\n static override examples = [\"<%= name %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(CreateBlock);\n const logger = util.createLogger(flags[\"log-level\"]);\n\n await block.createBlock(logger);\n }\n}\n"],"mappings":";;;;;;AAKA,IAAqB,cAArB,MAAqB,oBAAoBA,YAAAA,QAAQ;CAC/C,OAAgB,cAAc;CAE9B,OAAgB,WAAW,CAAC,cAAc;CAE1C,OAAgB,QAAQ,EACtB,GAAA,iBAAA,aACD;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,YAAY;EAC/C,MAAM,SAAA,aAAA,aAA2B,MAAM,aAAa;AAEpD,QAAA,cAAA,YAAwB,OAAO"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
|
-
import * as _oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
2
|
+
import * as _$_oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
3
3
|
|
|
4
4
|
//#region src/commands/create-block.d.ts
|
|
5
5
|
declare class CreateBlock extends Command {
|
|
6
6
|
static description: string;
|
|
7
7
|
static examples: string[];
|
|
8
8
|
static flags: {
|
|
9
|
-
"log-level": _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
|
|
9
|
+
"log-level": _$_oclif_core_interfaces0.OptionFlag<string, _$_oclif_core_interfaces0.CustomOptions>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-block.d.ts","names":[],"sources":["../../src/commands/create-block.ts"],"mappings":";;;;cAKqB,WAAA,SAAoB,OAAA;EAAA,OACvB,WAAA;EAAA,OAEA,QAAA;EAAA,OAEA,KAAA;8DALe,yBAAA,CAAA,aAAA;EAAA;EASlB,GAAA,CAAA,GAAO,OAAA;AAAA"}
|
|
@@ -2,7 +2,6 @@ import { GlobalFlags } from "../cmd-opts.js";
|
|
|
2
2
|
import { createLogger } from "../util.js";
|
|
3
3
|
import { createBlock } from "../block.js";
|
|
4
4
|
import { Command } from "@oclif/core";
|
|
5
|
-
|
|
6
5
|
//#region src/commands/create-block.ts
|
|
7
6
|
var CreateBlock = class CreateBlock extends Command {
|
|
8
7
|
static description = "Helps to create a new block by downloading a block's template.";
|
|
@@ -10,11 +9,10 @@ var CreateBlock = class CreateBlock extends Command {
|
|
|
10
9
|
static flags = { ...GlobalFlags };
|
|
11
10
|
async run() {
|
|
12
11
|
const { flags } = await this.parse(CreateBlock);
|
|
13
|
-
|
|
14
|
-
await createBlock(logger);
|
|
12
|
+
await createBlock(createLogger(flags["log-level"]));
|
|
15
13
|
}
|
|
16
14
|
};
|
|
17
|
-
|
|
18
15
|
//#endregion
|
|
19
16
|
export { CreateBlock as default };
|
|
17
|
+
|
|
20
18
|
//# sourceMappingURL=create-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-block.js","names":["cmdOpts.GlobalFlags","util.createLogger","block.createBlock"],"sources":["../../src/commands/create-block.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\nimport * as block from \"../block\";\n\nexport default class CreateBlock extends Command {\n static override description = \"Helps to create a new block by downloading a block's template.\";\n\n static override examples = [\"<%= name %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(CreateBlock);\n const logger = util.createLogger(flags[\"log-level\"]);\n\n await block.createBlock(logger);\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-block.js","names":["cmdOpts.GlobalFlags","util.createLogger","block.createBlock"],"sources":["../../src/commands/create-block.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\nimport * as block from \"../block\";\n\nexport default class CreateBlock extends Command {\n static override description = \"Helps to create a new block by downloading a block's template.\";\n\n static override examples = [\"<%= name %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(CreateBlock);\n const logger = util.createLogger(flags[\"log-level\"]);\n\n await block.createBlock(logger);\n }\n}\n"],"mappings":";;;;;AAKA,IAAqB,cAArB,MAAqB,oBAAoB,QAAQ;CAC/C,OAAgB,cAAc;CAE9B,OAAgB,WAAW,CAAC,cAAc;CAE1C,OAAgB,QAAQ,EACtB,GAAGA,aACJ;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,YAAY;AAG/C,QAAME,YAFSD,aAAkB,MAAM,aAAa,CAErB"}
|
package/dist/commands/reset.cjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
const require_cmd_opts = require(
|
|
3
|
-
const require_util = require(
|
|
4
|
-
const require_core = require(
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_cmd_opts = require("../cmd-opts.cjs");
|
|
3
|
+
const require_util = require("../util.cjs");
|
|
4
|
+
const require_core = require("../core.cjs");
|
|
5
5
|
let _oclif_core = require("@oclif/core");
|
|
6
|
-
|
|
7
6
|
//#region src/commands/reset.ts
|
|
8
7
|
var Reset = class Reset extends _oclif_core.Command {
|
|
9
8
|
static description = "Clear service state (forget last run command, destroy docker services, volumes and so on)";
|
|
@@ -14,7 +13,7 @@ var Reset = class Reset extends _oclif_core.Command {
|
|
|
14
13
|
new require_core.default(require_util.createLogger(flags["log-level"])).cleanupInstance();
|
|
15
14
|
}
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
//#endregion
|
|
19
17
|
exports.default = Reset;
|
|
18
|
+
|
|
20
19
|
//# sourceMappingURL=reset.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.cjs","names":["Command","Core"],"sources":["../../src/commands/reset.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport Core from \"../core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\n\nexport default class Reset extends Command {\n static override description =\n \"Clear service state (forget last run command, destroy docker services, volumes and so on)\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Reset);\n\n const logger = util.createLogger(flags[\"log-level\"]);\n const core = new Core(logger);\n core.cleanupInstance();\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"reset.cjs","names":["Command","Core"],"sources":["../../src/commands/reset.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport Core from \"../core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\n\nexport default class Reset extends Command {\n static override description =\n \"Clear service state (forget last run command, destroy docker services, volumes and so on)\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Reset);\n\n const logger = util.createLogger(flags[\"log-level\"]);\n const core = new Core(logger);\n core.cleanupInstance();\n }\n}\n"],"mappings":";;;;;;AAKA,IAAqB,QAArB,MAAqB,cAAcA,YAAAA,QAAQ;CACzC,OAAgB,cACd;CAEF,OAAgB,WAAW,CAAC,sCAAsC;CAElE,OAAgB,QAAQ,EACtB,GAAA,iBAAA,aACD;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,MAAM;AAG5B,MAAIC,aAAAA,QAAAA,aAAAA,aADgB,MAAM,aAAa,CACvB,CACxB,iBAAiB"}
|
package/dist/commands/reset.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
|
-
import * as _oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
2
|
+
import * as _$_oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
3
3
|
|
|
4
4
|
//#region src/commands/reset.d.ts
|
|
5
5
|
declare class Reset extends Command {
|
|
6
6
|
static description: string;
|
|
7
7
|
static examples: string[];
|
|
8
8
|
static flags: {
|
|
9
|
-
"log-level": _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
|
|
9
|
+
"log-level": _$_oclif_core_interfaces0.OptionFlag<string, _$_oclif_core_interfaces0.CustomOptions>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","names":[],"sources":["../../src/commands/reset.ts"],"mappings":";;;;cAKqB,KAAA,SAAc,OAAA;EAAA,OACjB,WAAA;EAAA,OAGA,QAAA;EAAA,OAEA,KAAA;8DANS,yBAAA,CAAA,aAAA;EAAA;EAUZ,GAAA,CAAA,GAAO,OAAA;AAAA"}
|
package/dist/commands/reset.js
CHANGED
|
@@ -2,7 +2,6 @@ import { GlobalFlags } from "../cmd-opts.js";
|
|
|
2
2
|
import { createLogger } from "../util.js";
|
|
3
3
|
import Core from "../core.js";
|
|
4
4
|
import { Command } from "@oclif/core";
|
|
5
|
-
|
|
6
5
|
//#region src/commands/reset.ts
|
|
7
6
|
var Reset = class Reset extends Command {
|
|
8
7
|
static description = "Clear service state (forget last run command, destroy docker services, volumes and so on)";
|
|
@@ -13,7 +12,7 @@ var Reset = class Reset extends Command {
|
|
|
13
12
|
new Core(createLogger(flags["log-level"])).cleanupInstance();
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
|
-
|
|
17
15
|
//#endregion
|
|
18
16
|
export { Reset as default };
|
|
17
|
+
|
|
19
18
|
//# sourceMappingURL=reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset.js","names":["cmdOpts.GlobalFlags","util.createLogger"],"sources":["../../src/commands/reset.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport Core from \"../core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\n\nexport default class Reset extends Command {\n static override description =\n \"Clear service state (forget last run command, destroy docker services, volumes and so on)\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Reset);\n\n const logger = util.createLogger(flags[\"log-level\"]);\n const core = new Core(logger);\n core.cleanupInstance();\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"reset.js","names":["cmdOpts.GlobalFlags","util.createLogger"],"sources":["../../src/commands/reset.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport Core from \"../core\";\nimport * as cmdOpts from \"../cmd-opts\";\nimport * as util from \"../util\";\n\nexport default class Reset extends Command {\n static override description =\n \"Clear service state (forget last run command, destroy docker services, volumes and so on)\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...cmdOpts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Reset);\n\n const logger = util.createLogger(flags[\"log-level\"]);\n const core = new Core(logger);\n core.cleanupInstance();\n }\n}\n"],"mappings":";;;;;AAKA,IAAqB,QAArB,MAAqB,cAAc,QAAQ;CACzC,OAAgB,cACd;CAEF,OAAgB,WAAW,CAAC,sCAAsC;CAElE,OAAgB,QAAQ,EACtB,GAAGA,aACJ;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,MAAM;AAG5B,MAAI,KADFC,aAAkB,MAAM,aAAa,CACvB,CACxB,iBAAiB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
const require_runtime = require(
|
|
2
|
-
const require_cmd_opts = require(
|
|
3
|
-
const require_util = require(
|
|
4
|
-
const require_state = require(
|
|
5
|
-
const require_core = require(
|
|
1
|
+
const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_cmd_opts = require("../../../cmd-opts.cjs");
|
|
3
|
+
const require_util = require("../../../util.cjs");
|
|
4
|
+
const require_state = require("../../../state.cjs");
|
|
5
|
+
const require_core = require("../../../core.cjs");
|
|
6
6
|
let _oclif_core = require("@oclif/core");
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
node_path = require_runtime.__toESM(node_path);
|
|
9
|
-
|
|
10
9
|
//#region src/commands/start/docker/s3.ts
|
|
11
10
|
var S3 = class S3 extends _oclif_core.Command {
|
|
12
11
|
static description = "Run platforma backend service with 'S3' primary storage type";
|
|
@@ -60,7 +59,7 @@ var S3 = class S3 extends _oclif_core.Command {
|
|
|
60
59
|
core.switchInstance(instance);
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
|
-
|
|
64
62
|
//#endregion
|
|
65
63
|
exports.default = S3;
|
|
64
|
+
|
|
66
65
|
//# sourceMappingURL=s3.cjs.map
|