dokku-compose 0.5.2 → 0.6.0
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/index.js +58 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -285,7 +285,8 @@ var Apps = {
|
|
|
285
285
|
// src/resources/parsers.ts
|
|
286
286
|
function parseReport(raw, namespace) {
|
|
287
287
|
const result = {};
|
|
288
|
-
const
|
|
288
|
+
const prefixPattern = namespace.replace(/-/g, "[\\s-]");
|
|
289
|
+
const prefix = new RegExp(`^${prefixPattern}\\s+`, "i");
|
|
289
290
|
for (const line of raw.split("\n")) {
|
|
290
291
|
if (line.trimStart().startsWith("=====>")) continue;
|
|
291
292
|
const colonIdx = line.indexOf(":");
|
|
@@ -532,11 +533,64 @@ var Certs = {
|
|
|
532
533
|
};
|
|
533
534
|
|
|
534
535
|
// src/resources/builder.ts
|
|
536
|
+
function parseBuildArgs(dockerOptsBuild) {
|
|
537
|
+
const args = {};
|
|
538
|
+
const matches = dockerOptsBuild.matchAll(/--build-arg\s+(\S+?)=(\S+)/g);
|
|
539
|
+
for (const m of matches) args[m[1]] = m[2];
|
|
540
|
+
return args;
|
|
541
|
+
}
|
|
542
|
+
function buildConfigFromReports(builderReport, dockerfileReport, appJsonReport, dockerOptsBuild) {
|
|
543
|
+
const config = {};
|
|
544
|
+
if (dockerfileReport["dockerfile-path"])
|
|
545
|
+
config.dockerfile = dockerfileReport["dockerfile-path"];
|
|
546
|
+
if (appJsonReport["selected"])
|
|
547
|
+
config.app_json = appJsonReport["selected"];
|
|
548
|
+
if (builderReport["build-dir"])
|
|
549
|
+
config.context = builderReport["build-dir"];
|
|
550
|
+
const args = parseBuildArgs(dockerOptsBuild);
|
|
551
|
+
if (Object.keys(args).length > 0) config.args = args;
|
|
552
|
+
return config;
|
|
553
|
+
}
|
|
535
554
|
var Builder = {
|
|
536
555
|
key: "build",
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
556
|
+
async read(ctx, target) {
|
|
557
|
+
const [builderRaw, dockerfileRaw, appJsonRaw, dockerOptsRaw] = await Promise.all([
|
|
558
|
+
ctx.query("builder:report", target),
|
|
559
|
+
ctx.query("builder-dockerfile:report", target),
|
|
560
|
+
ctx.query("app-json:report", target),
|
|
561
|
+
ctx.query("docker-options:report", target)
|
|
562
|
+
]);
|
|
563
|
+
const dockerOptsReport = parseReport(dockerOptsRaw, "docker-options");
|
|
564
|
+
return buildConfigFromReports(
|
|
565
|
+
parseReport(builderRaw, "builder"),
|
|
566
|
+
parseReport(dockerfileRaw, "builder-dockerfile"),
|
|
567
|
+
parseReport(appJsonRaw, "app-json"),
|
|
568
|
+
dockerOptsReport["build"] ?? ""
|
|
569
|
+
);
|
|
570
|
+
},
|
|
571
|
+
async readAll(ctx) {
|
|
572
|
+
const [builderRaw, dockerfileRaw, appJsonRaw, dockerOptsRaw] = await Promise.all([
|
|
573
|
+
ctx.query("builder:report"),
|
|
574
|
+
ctx.query("builder-dockerfile:report"),
|
|
575
|
+
ctx.query("app-json:report"),
|
|
576
|
+
ctx.query("docker-options:report")
|
|
577
|
+
]);
|
|
578
|
+
const builderBulk = parseBulkReport(builderRaw, "builder");
|
|
579
|
+
const dockerfileBulk = parseBulkReport(dockerfileRaw, "builder-dockerfile");
|
|
580
|
+
const appJsonBulk = parseBulkReport(appJsonRaw, "app-json");
|
|
581
|
+
const dockerOptsBulk = parseBulkReport(dockerOptsRaw, "docker-options");
|
|
582
|
+
const result = /* @__PURE__ */ new Map();
|
|
583
|
+
for (const app of builderBulk.keys()) {
|
|
584
|
+
result.set(app, buildConfigFromReports(
|
|
585
|
+
builderBulk.get(app) ?? {},
|
|
586
|
+
dockerfileBulk.get(app) ?? {},
|
|
587
|
+
appJsonBulk.get(app) ?? {},
|
|
588
|
+
dockerOptsBulk.get(app)?.["build"] ?? ""
|
|
589
|
+
));
|
|
590
|
+
}
|
|
591
|
+
return result;
|
|
592
|
+
},
|
|
593
|
+
async onChange(ctx, target, { after }) {
|
|
540
594
|
if (after.dockerfile)
|
|
541
595
|
await ctx.run("builder-dockerfile:set", target, "dockerfile-path", after.dockerfile);
|
|
542
596
|
if (after.app_json)
|