base44 0.0.23 → 0.0.25
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/README.md
CHANGED
|
@@ -57,30 +57,11 @@ The CLI will guide you through project setup. For step-by-step tutorials, see th
|
|
|
57
57
|
|
|
58
58
|
<!--| [`eject`](https://docs.base44.com/developers/references/cli/commands/eject) | Create a Base44 backend project from an existing Base44 app | -->
|
|
59
59
|
|
|
60
|
-
## AI
|
|
60
|
+
## AI agent skills
|
|
61
61
|
|
|
62
|
-
When creating a project,
|
|
62
|
+
When creating a project, [base44/skills](https://github.com/base44/skills) are automatically installed. These help AI agents understand how to work with Base44 projects.
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
◆ Add AI agent skills? (Select agents to configure)
|
|
66
|
-
│ ◼ Cursor
|
|
67
|
-
│ ◼ Claude Code
|
|
68
|
-
└
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
This installs [base44/skills](https://github.com/base44/skills) which helps AI agents understand how to work with Base44 projects.
|
|
72
|
-
|
|
73
|
-
**Non-interactive mode:**
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# Install skills for all supported agents
|
|
77
|
-
base44 create --name my-app --path ./my-app --skills
|
|
78
|
-
|
|
79
|
-
# Skip skills installation
|
|
80
|
-
base44 create --name my-app --path ./my-app
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**Manual installation:**
|
|
64
|
+
If you need to install skills manually, use the following command:
|
|
84
65
|
|
|
85
66
|
```bash
|
|
86
67
|
npx add-skill base44/skills
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:
|
|
|
3
3
|
import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
|
|
4
4
|
import path, { basename, dirname, join, posix, resolve, win32 } from "node:path";
|
|
5
5
|
import fs, { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
6
|
-
import
|
|
6
|
+
import process$1, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
|
|
7
7
|
import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
|
|
8
8
|
import * as g from "node:readline";
|
|
9
9
|
import O from "node:readline";
|
|
@@ -893,7 +893,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
893
893
|
const childProcess$1 = __require("node:child_process");
|
|
894
894
|
const path$15 = __require("node:path");
|
|
895
895
|
const fs$10 = __require("node:fs");
|
|
896
|
-
const process$
|
|
896
|
+
const process$4 = __require("node:process");
|
|
897
897
|
const { Argument, humanReadableArgName } = require_argument();
|
|
898
898
|
const { CommanderError } = require_error$1();
|
|
899
899
|
const { Help } = require_help();
|
|
@@ -944,10 +944,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
944
944
|
this._showHelpAfterError = false;
|
|
945
945
|
this._showSuggestionAfterError = true;
|
|
946
946
|
this._outputConfiguration = {
|
|
947
|
-
writeOut: (str) => process$
|
|
948
|
-
writeErr: (str) => process$
|
|
949
|
-
getOutHelpWidth: () => process$
|
|
950
|
-
getErrHelpWidth: () => process$
|
|
947
|
+
writeOut: (str) => process$4.stdout.write(str),
|
|
948
|
+
writeErr: (str) => process$4.stderr.write(str),
|
|
949
|
+
getOutHelpWidth: () => process$4.stdout.isTTY ? process$4.stdout.columns : void 0,
|
|
950
|
+
getErrHelpWidth: () => process$4.stderr.isTTY ? process$4.stderr.columns : void 0,
|
|
951
951
|
outputError: (str, write) => write(str)
|
|
952
952
|
};
|
|
953
953
|
this._hidden = false;
|
|
@@ -1301,7 +1301,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1301
1301
|
*/
|
|
1302
1302
|
_exit(exitCode, code$1, message) {
|
|
1303
1303
|
if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code$1, message));
|
|
1304
|
-
process$
|
|
1304
|
+
process$4.exit(exitCode);
|
|
1305
1305
|
}
|
|
1306
1306
|
/**
|
|
1307
1307
|
* Register callback `fn` for the command.
|
|
@@ -1640,11 +1640,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1640
1640
|
if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
|
|
1641
1641
|
parseOptions = parseOptions || {};
|
|
1642
1642
|
if (argv === void 0 && parseOptions.from === void 0) {
|
|
1643
|
-
if (process$
|
|
1644
|
-
const execArgv$1 = process$
|
|
1643
|
+
if (process$4.versions?.electron) parseOptions.from = "electron";
|
|
1644
|
+
const execArgv$1 = process$4.execArgv ?? [];
|
|
1645
1645
|
if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
|
|
1646
1646
|
}
|
|
1647
|
-
if (argv === void 0) argv = process$
|
|
1647
|
+
if (argv === void 0) argv = process$4.argv;
|
|
1648
1648
|
this.rawArgs = argv.slice();
|
|
1649
1649
|
let userArgs;
|
|
1650
1650
|
switch (parseOptions.from) {
|
|
@@ -1654,7 +1654,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1654
1654
|
userArgs = argv.slice(2);
|
|
1655
1655
|
break;
|
|
1656
1656
|
case "electron":
|
|
1657
|
-
if (process$
|
|
1657
|
+
if (process$4.defaultApp) {
|
|
1658
1658
|
this._scriptPath = argv[1];
|
|
1659
1659
|
userArgs = argv.slice(2);
|
|
1660
1660
|
} else userArgs = argv.slice(1);
|
|
@@ -1768,15 +1768,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1768
1768
|
}
|
|
1769
1769
|
launchWithNode = sourceExt.includes(path$15.extname(executableFile));
|
|
1770
1770
|
let proc$1;
|
|
1771
|
-
if (process$
|
|
1771
|
+
if (process$4.platform !== "win32") if (launchWithNode) {
|
|
1772
1772
|
args.unshift(executableFile);
|
|
1773
|
-
args = incrementNodeInspectorPort(process$
|
|
1774
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1773
|
+
args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
|
|
1774
|
+
proc$1 = childProcess$1.spawn(process$4.argv[0], args, { stdio: "inherit" });
|
|
1775
1775
|
} else proc$1 = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
|
|
1776
1776
|
else {
|
|
1777
1777
|
args.unshift(executableFile);
|
|
1778
|
-
args = incrementNodeInspectorPort(process$
|
|
1779
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1778
|
+
args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
|
|
1779
|
+
proc$1 = childProcess$1.spawn(process$4.execPath, args, { stdio: "inherit" });
|
|
1780
1780
|
}
|
|
1781
1781
|
if (!proc$1.killed) [
|
|
1782
1782
|
"SIGUSR1",
|
|
@@ -1785,14 +1785,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1785
1785
|
"SIGINT",
|
|
1786
1786
|
"SIGHUP"
|
|
1787
1787
|
].forEach((signal) => {
|
|
1788
|
-
process$
|
|
1788
|
+
process$4.on(signal, () => {
|
|
1789
1789
|
if (proc$1.killed === false && proc$1.exitCode === null) proc$1.kill(signal);
|
|
1790
1790
|
});
|
|
1791
1791
|
});
|
|
1792
1792
|
const exitCallback = this._exitCallback;
|
|
1793
1793
|
proc$1.on("close", (code$1) => {
|
|
1794
1794
|
code$1 = code$1 ?? 1;
|
|
1795
|
-
if (!exitCallback) process$
|
|
1795
|
+
if (!exitCallback) process$4.exit(code$1);
|
|
1796
1796
|
else exitCallback(new CommanderError(code$1, "commander.executeSubCommandAsync", "(close)"));
|
|
1797
1797
|
});
|
|
1798
1798
|
proc$1.on("error", (err) => {
|
|
@@ -1804,7 +1804,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1804
1804
|
- ${executableDirMessage}`;
|
|
1805
1805
|
throw new Error(executableMissing);
|
|
1806
1806
|
} else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
|
|
1807
|
-
if (!exitCallback) process$
|
|
1807
|
+
if (!exitCallback) process$4.exit(1);
|
|
1808
1808
|
else {
|
|
1809
1809
|
const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
|
|
1810
1810
|
wrappedError.nestedError = err;
|
|
@@ -2210,13 +2210,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2210
2210
|
*/
|
|
2211
2211
|
_parseOptionsEnv() {
|
|
2212
2212
|
this.options.forEach((option) => {
|
|
2213
|
-
if (option.envVar && option.envVar in process$
|
|
2213
|
+
if (option.envVar && option.envVar in process$4.env) {
|
|
2214
2214
|
const optionKey = option.attributeName();
|
|
2215
2215
|
if (this.getOptionValue(optionKey) === void 0 || [
|
|
2216
2216
|
"default",
|
|
2217
2217
|
"config",
|
|
2218
2218
|
"env"
|
|
2219
|
-
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$
|
|
2219
|
+
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$4.env[option.envVar]);
|
|
2220
2220
|
else this.emit(`optionEnv:${option.name()}`);
|
|
2221
2221
|
}
|
|
2222
2222
|
});
|
|
@@ -2595,7 +2595,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2595
2595
|
*/
|
|
2596
2596
|
help(contextOptions) {
|
|
2597
2597
|
this.outputHelp(contextOptions);
|
|
2598
|
-
let exitCode = process$
|
|
2598
|
+
let exitCode = process$4.exitCode || 0;
|
|
2599
2599
|
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
|
|
2600
2600
|
this._exit(exitCode, "commander.help", "(outputHelp)");
|
|
2601
2601
|
}
|
|
@@ -2711,16 +2711,16 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2711
2711
|
const CSI = `${ESC}[`;
|
|
2712
2712
|
const beep = "\x07";
|
|
2713
2713
|
const cursor = {
|
|
2714
|
-
to(x$2, y$
|
|
2715
|
-
if (!y$
|
|
2716
|
-
return `${CSI}${y$
|
|
2714
|
+
to(x$2, y$1) {
|
|
2715
|
+
if (!y$1) return `${CSI}${x$2 + 1}G`;
|
|
2716
|
+
return `${CSI}${y$1 + 1};${x$2 + 1}H`;
|
|
2717
2717
|
},
|
|
2718
|
-
move(x$2, y$
|
|
2718
|
+
move(x$2, y$1) {
|
|
2719
2719
|
let ret = "";
|
|
2720
2720
|
if (x$2 < 0) ret += `${CSI}${-x$2}D`;
|
|
2721
2721
|
else if (x$2 > 0) ret += `${CSI}${x$2}C`;
|
|
2722
|
-
if (y$
|
|
2723
|
-
else if (y$
|
|
2722
|
+
if (y$1 < 0) ret += `${CSI}${-y$1}A`;
|
|
2723
|
+
else if (y$1 > 0) ret += `${CSI}${y$1}B`;
|
|
2724
2724
|
return ret;
|
|
2725
2725
|
},
|
|
2726
2726
|
up: (count$1 = 1) => `${CSI}${count$1}A`,
|
|
@@ -3030,13 +3030,13 @@ function rD() {
|
|
|
3030
3030
|
}
|
|
3031
3031
|
}), r;
|
|
3032
3032
|
}
|
|
3033
|
-
const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y
|
|
3033
|
+
const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y = "\x07", V$1 = "[", nD = "]", G$1 = "m", _$1 = `${nD}8;;`, z = (e$1) => `${d$1.values().next().value}${V$1}${e$1}${G$1}`, K$1 = (e$1) => `${d$1.values().next().value}${_$1}${e$1}${y}`, aD = (e$1) => e$1.split(" ").map((u$2) => p(u$2)), k$1 = (e$1, u$2, t) => {
|
|
3034
3034
|
const F$1 = [...u$2];
|
|
3035
3035
|
let s = !1, i$1 = !1, D$1 = p(P$1(e$1[e$1.length - 1]));
|
|
3036
3036
|
for (const [C$1, n$1] of F$1.entries()) {
|
|
3037
3037
|
const E = p(n$1);
|
|
3038
3038
|
if (D$1 + E <= t ? e$1[e$1.length - 1] += n$1 : (e$1.push(n$1), D$1 = 0), d$1.has(n$1) && (s = !0, i$1 = F$1.slice(C$1 + 1).join("").startsWith(_$1)), s) {
|
|
3039
|
-
i$1 ? n$1 === y
|
|
3039
|
+
i$1 ? n$1 === y && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
|
|
3040
3040
|
continue;
|
|
3041
3041
|
}
|
|
3042
3042
|
D$1 += E, D$1 === t && C$1 < F$1.length - 1 && (e$1.push(""), D$1 = 0);
|
|
@@ -3078,7 +3078,7 @@ const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y$1 = "\x07", V$1 = "["
|
|
|
3078
3078
|
`)];
|
|
3079
3079
|
for (const [E, a$1] of n$1.entries()) {
|
|
3080
3080
|
if (F$1 += a$1, d$1.has(a$1)) {
|
|
3081
|
-
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y
|
|
3081
|
+
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y})`)).exec(n$1.slice(E).join("")) || { groups: {} };
|
|
3082
3082
|
if (c$1.code !== void 0) {
|
|
3083
3083
|
const f = Number.parseFloat(c$1.code);
|
|
3084
3084
|
s = f === oD ? void 0 : f;
|
|
@@ -3479,7 +3479,7 @@ var RD = class extends x$1 {
|
|
|
3479
3479
|
//#endregion
|
|
3480
3480
|
//#region node_modules/@clack/prompts/dist/index.mjs
|
|
3481
3481
|
function ce() {
|
|
3482
|
-
return
|
|
3482
|
+
return process$1.platform !== "win32" ? process$1.env.TERM !== "linux" : !!process$1.env.CI || !!process$1.env.WT_SESSION || !!process$1.env.TERMINUS_SUBLIME || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
3483
3483
|
}
|
|
3484
3484
|
const V = ce(), u$1 = (t, n$1) => V ? t : n$1, le = u$1("◆", "*"), L = u$1("■", "x"), W = u$1("▲", "x"), C = u$1("◇", "o"), ue = u$1("┌", "T"), o$1 = u$1("│", "|"), d = u$1("└", "—"), k = u$1("●", ">"), P = u$1("○", " "), A = u$1("◻", "[•]"), T = u$1("◼", "[+]"), F = u$1("◻", "[ ]"), $e = u$1("▪", "•"), _ = u$1("─", "-"), me = u$1("╮", "+"), de = u$1("├", "+"), pe = u$1("╯", "+"), q = u$1("●", "•"), D = u$1("◆", "*"), U = u$1("▲", "!"), K = u$1("■", "x"), b = (t) => {
|
|
3485
3485
|
switch (t) {
|
|
@@ -6744,7 +6744,7 @@ function initializeContext(params) {
|
|
|
6744
6744
|
external: params?.external ?? void 0
|
|
6745
6745
|
};
|
|
6746
6746
|
}
|
|
6747
|
-
function process$
|
|
6747
|
+
function process$3(schema, ctx, _params = {
|
|
6748
6748
|
path: [],
|
|
6749
6749
|
schemaPath: []
|
|
6750
6750
|
}) {
|
|
@@ -6781,7 +6781,7 @@ function process$2(schema, ctx, _params = {
|
|
|
6781
6781
|
const parent = schema._zod.parent;
|
|
6782
6782
|
if (parent) {
|
|
6783
6783
|
if (!result.ref) result.ref = parent;
|
|
6784
|
-
process$
|
|
6784
|
+
process$3(parent, ctx, params);
|
|
6785
6785
|
ctx.seen.get(parent).isParent = true;
|
|
6786
6786
|
}
|
|
6787
6787
|
}
|
|
@@ -6993,7 +6993,7 @@ const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
|
|
|
6993
6993
|
...params,
|
|
6994
6994
|
processors
|
|
6995
6995
|
});
|
|
6996
|
-
process$
|
|
6996
|
+
process$3(schema, ctx);
|
|
6997
6997
|
extractDefs(ctx, schema);
|
|
6998
6998
|
return finalize(ctx, schema);
|
|
6999
6999
|
};
|
|
@@ -7005,7 +7005,7 @@ const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params)
|
|
|
7005
7005
|
io,
|
|
7006
7006
|
processors
|
|
7007
7007
|
});
|
|
7008
|
-
process$
|
|
7008
|
+
process$3(schema, ctx);
|
|
7009
7009
|
extractDefs(ctx, schema);
|
|
7010
7010
|
return finalize(ctx, schema);
|
|
7011
7011
|
};
|
|
@@ -7092,7 +7092,7 @@ const arrayProcessor = (schema, ctx, _json, params) => {
|
|
|
7092
7092
|
if (typeof minimum === "number") json.minItems = minimum;
|
|
7093
7093
|
if (typeof maximum === "number") json.maxItems = maximum;
|
|
7094
7094
|
json.type = "array";
|
|
7095
|
-
json.items = process$
|
|
7095
|
+
json.items = process$3(def.element, ctx, {
|
|
7096
7096
|
...params,
|
|
7097
7097
|
path: [...params.path, "items"]
|
|
7098
7098
|
});
|
|
@@ -7103,7 +7103,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7103
7103
|
json.type = "object";
|
|
7104
7104
|
json.properties = {};
|
|
7105
7105
|
const shape = def.shape;
|
|
7106
|
-
for (const key in shape) json.properties[key] = process$
|
|
7106
|
+
for (const key in shape) json.properties[key] = process$3(shape[key], ctx, {
|
|
7107
7107
|
...params,
|
|
7108
7108
|
path: [
|
|
7109
7109
|
...params.path,
|
|
@@ -7121,7 +7121,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7121
7121
|
if (def.catchall?._zod.def.type === "never") json.additionalProperties = false;
|
|
7122
7122
|
else if (!def.catchall) {
|
|
7123
7123
|
if (ctx.io === "output") json.additionalProperties = false;
|
|
7124
|
-
} else if (def.catchall) json.additionalProperties = process$
|
|
7124
|
+
} else if (def.catchall) json.additionalProperties = process$3(def.catchall, ctx, {
|
|
7125
7125
|
...params,
|
|
7126
7126
|
path: [...params.path, "additionalProperties"]
|
|
7127
7127
|
});
|
|
@@ -7129,7 +7129,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7129
7129
|
const unionProcessor = (schema, ctx, json, params) => {
|
|
7130
7130
|
const def = schema._zod.def;
|
|
7131
7131
|
const isExclusive = def.inclusive === false;
|
|
7132
|
-
const options = def.options.map((x$2, i$1) => process$
|
|
7132
|
+
const options = def.options.map((x$2, i$1) => process$3(x$2, ctx, {
|
|
7133
7133
|
...params,
|
|
7134
7134
|
path: [
|
|
7135
7135
|
...params.path,
|
|
@@ -7142,7 +7142,7 @@ const unionProcessor = (schema, ctx, json, params) => {
|
|
|
7142
7142
|
};
|
|
7143
7143
|
const intersectionProcessor = (schema, ctx, json, params) => {
|
|
7144
7144
|
const def = schema._zod.def;
|
|
7145
|
-
const a$1 = process$
|
|
7145
|
+
const a$1 = process$3(def.left, ctx, {
|
|
7146
7146
|
...params,
|
|
7147
7147
|
path: [
|
|
7148
7148
|
...params.path,
|
|
@@ -7150,7 +7150,7 @@ const intersectionProcessor = (schema, ctx, json, params) => {
|
|
|
7150
7150
|
0
|
|
7151
7151
|
]
|
|
7152
7152
|
});
|
|
7153
|
-
const b$2 = process$
|
|
7153
|
+
const b$2 = process$3(def.right, ctx, {
|
|
7154
7154
|
...params,
|
|
7155
7155
|
path: [
|
|
7156
7156
|
...params.path,
|
|
@@ -7167,7 +7167,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7167
7167
|
json.type = "array";
|
|
7168
7168
|
const prefixPath$1 = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
|
|
7169
7169
|
const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
|
|
7170
|
-
const prefixItems = def.items.map((x$2, i$1) => process$
|
|
7170
|
+
const prefixItems = def.items.map((x$2, i$1) => process$3(x$2, ctx, {
|
|
7171
7171
|
...params,
|
|
7172
7172
|
path: [
|
|
7173
7173
|
...params.path,
|
|
@@ -7175,7 +7175,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7175
7175
|
i$1
|
|
7176
7176
|
]
|
|
7177
7177
|
}));
|
|
7178
|
-
const rest = def.rest ? process$
|
|
7178
|
+
const rest = def.rest ? process$3(def.rest, ctx, {
|
|
7179
7179
|
...params,
|
|
7180
7180
|
path: [
|
|
7181
7181
|
...params.path,
|
|
@@ -7206,7 +7206,7 @@ const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
7206
7206
|
const keyType = def.keyType;
|
|
7207
7207
|
const patterns = keyType._zod.bag?.patterns;
|
|
7208
7208
|
if (def.mode === "loose" && patterns && patterns.size > 0) {
|
|
7209
|
-
const valueSchema = process$
|
|
7209
|
+
const valueSchema = process$3(def.valueType, ctx, {
|
|
7210
7210
|
...params,
|
|
7211
7211
|
path: [
|
|
7212
7212
|
...params.path,
|
|
@@ -7217,11 +7217,11 @@ const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
7217
7217
|
json.patternProperties = {};
|
|
7218
7218
|
for (const pattern of patterns) json.patternProperties[pattern.source] = valueSchema;
|
|
7219
7219
|
} else {
|
|
7220
|
-
if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") json.propertyNames = process$
|
|
7220
|
+
if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") json.propertyNames = process$3(def.keyType, ctx, {
|
|
7221
7221
|
...params,
|
|
7222
7222
|
path: [...params.path, "propertyNames"]
|
|
7223
7223
|
});
|
|
7224
|
-
json.additionalProperties = process$
|
|
7224
|
+
json.additionalProperties = process$3(def.valueType, ctx, {
|
|
7225
7225
|
...params,
|
|
7226
7226
|
path: [...params.path, "additionalProperties"]
|
|
7227
7227
|
});
|
|
@@ -7234,7 +7234,7 @@ const recordProcessor = (schema, ctx, _json, params) => {
|
|
|
7234
7234
|
};
|
|
7235
7235
|
const nullableProcessor = (schema, ctx, json, params) => {
|
|
7236
7236
|
const def = schema._zod.def;
|
|
7237
|
-
const inner = process$
|
|
7237
|
+
const inner = process$3(def.innerType, ctx, params);
|
|
7238
7238
|
const seen = ctx.seen.get(schema);
|
|
7239
7239
|
if (ctx.target === "openapi-3.0") {
|
|
7240
7240
|
seen.ref = def.innerType;
|
|
@@ -7243,27 +7243,27 @@ const nullableProcessor = (schema, ctx, json, params) => {
|
|
|
7243
7243
|
};
|
|
7244
7244
|
const nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
7245
7245
|
const def = schema._zod.def;
|
|
7246
|
-
process$
|
|
7246
|
+
process$3(def.innerType, ctx, params);
|
|
7247
7247
|
const seen = ctx.seen.get(schema);
|
|
7248
7248
|
seen.ref = def.innerType;
|
|
7249
7249
|
};
|
|
7250
7250
|
const defaultProcessor = (schema, ctx, json, params) => {
|
|
7251
7251
|
const def = schema._zod.def;
|
|
7252
|
-
process$
|
|
7252
|
+
process$3(def.innerType, ctx, params);
|
|
7253
7253
|
const seen = ctx.seen.get(schema);
|
|
7254
7254
|
seen.ref = def.innerType;
|
|
7255
7255
|
json.default = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7256
7256
|
};
|
|
7257
7257
|
const prefaultProcessor = (schema, ctx, json, params) => {
|
|
7258
7258
|
const def = schema._zod.def;
|
|
7259
|
-
process$
|
|
7259
|
+
process$3(def.innerType, ctx, params);
|
|
7260
7260
|
const seen = ctx.seen.get(schema);
|
|
7261
7261
|
seen.ref = def.innerType;
|
|
7262
7262
|
if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7263
7263
|
};
|
|
7264
7264
|
const catchProcessor = (schema, ctx, json, params) => {
|
|
7265
7265
|
const def = schema._zod.def;
|
|
7266
|
-
process$
|
|
7266
|
+
process$3(def.innerType, ctx, params);
|
|
7267
7267
|
const seen = ctx.seen.get(schema);
|
|
7268
7268
|
seen.ref = def.innerType;
|
|
7269
7269
|
let catchValue;
|
|
@@ -7277,20 +7277,20 @@ const catchProcessor = (schema, ctx, json, params) => {
|
|
|
7277
7277
|
const pipeProcessor = (schema, ctx, _json, params) => {
|
|
7278
7278
|
const def = schema._zod.def;
|
|
7279
7279
|
const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
|
|
7280
|
-
process$
|
|
7280
|
+
process$3(innerType, ctx, params);
|
|
7281
7281
|
const seen = ctx.seen.get(schema);
|
|
7282
7282
|
seen.ref = innerType;
|
|
7283
7283
|
};
|
|
7284
7284
|
const readonlyProcessor = (schema, ctx, json, params) => {
|
|
7285
7285
|
const def = schema._zod.def;
|
|
7286
|
-
process$
|
|
7286
|
+
process$3(def.innerType, ctx, params);
|
|
7287
7287
|
const seen = ctx.seen.get(schema);
|
|
7288
7288
|
seen.ref = def.innerType;
|
|
7289
7289
|
json.readOnly = true;
|
|
7290
7290
|
};
|
|
7291
7291
|
const optionalProcessor = (schema, ctx, _json, params) => {
|
|
7292
7292
|
const def = schema._zod.def;
|
|
7293
|
-
process$
|
|
7293
|
+
process$3(def.innerType, ctx, params);
|
|
7294
7294
|
const seen = ctx.seen.get(schema);
|
|
7295
7295
|
seen.ref = def.innerType;
|
|
7296
7296
|
};
|
|
@@ -16335,7 +16335,7 @@ const createIgnorePredicate = (patterns, cwd, baseDir) => {
|
|
|
16335
16335
|
};
|
|
16336
16336
|
const normalizeOptions$2 = (options = {}) => {
|
|
16337
16337
|
const ignoreOption = options.ignore ? Array.isArray(options.ignore) ? options.ignore : [options.ignore] : [];
|
|
16338
|
-
const cwd = toPath$1(options.cwd) ??
|
|
16338
|
+
const cwd = toPath$1(options.cwd) ?? process$1.cwd();
|
|
16339
16339
|
const deep = typeof options.deep === "number" ? Math.max(0, options.deep) + 1 : Number.POSITIVE_INFINITY;
|
|
16340
16340
|
return {
|
|
16341
16341
|
cwd,
|
|
@@ -16432,7 +16432,7 @@ const getDirectoryGlob = ({ directoryPath, files, extensions }) => {
|
|
|
16432
16432
|
const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]}` : "";
|
|
16433
16433
|
return files ? files.map((file) => path.posix.join(directoryPath, `**/${path.extname(file) ? file : `${file}${extensionGlob}`}`)) : [path.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ""}`)];
|
|
16434
16434
|
};
|
|
16435
|
-
const directoryToGlob = async (directoryPaths, { cwd =
|
|
16435
|
+
const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => {
|
|
16436
16436
|
return (await Promise.all(directoryPaths.map(async (directoryPath) => {
|
|
16437
16437
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16438
16438
|
directoryPath,
|
|
@@ -16446,7 +16446,7 @@ const directoryToGlob = async (directoryPaths, { cwd = y.cwd(), files, extension
|
|
|
16446
16446
|
}) : directoryPath;
|
|
16447
16447
|
}))).flat();
|
|
16448
16448
|
};
|
|
16449
|
-
const directoryToGlobSync = (directoryPaths, { cwd =
|
|
16449
|
+
const directoryToGlobSync = (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
|
|
16450
16450
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16451
16451
|
directoryPath,
|
|
16452
16452
|
files,
|
|
@@ -16542,7 +16542,7 @@ const applyIgnoreFilesAndGetFilterSync = (options) => {
|
|
|
16542
16542
|
};
|
|
16543
16543
|
const createFilterFunction = (isIgnored, cwd) => {
|
|
16544
16544
|
const seen = /* @__PURE__ */ new Set();
|
|
16545
|
-
const basePath = cwd ||
|
|
16545
|
+
const basePath = cwd || process$1.cwd();
|
|
16546
16546
|
const pathCache = /* @__PURE__ */ new Map();
|
|
16547
16547
|
return (fastGlobResult) => {
|
|
16548
16548
|
const pathKey$1 = path.normalize(fastGlobResult.path ?? fastGlobResult);
|
|
@@ -16730,7 +16730,10 @@ const FunctionConfigSchema = object({
|
|
|
16730
16730
|
entry: string().min(1, "Entry point cannot be empty"),
|
|
16731
16731
|
triggers: tuple([]).optional()
|
|
16732
16732
|
});
|
|
16733
|
-
const FunctionSchema = FunctionConfigSchema.extend({
|
|
16733
|
+
const FunctionSchema = FunctionConfigSchema.extend({
|
|
16734
|
+
entryPath: string().min(1, "Entry path cannot be empty"),
|
|
16735
|
+
files: array(string()).min(1, "Files array cannot be empty")
|
|
16736
|
+
});
|
|
16734
16737
|
const DeployFunctionsResponseSchema = object({
|
|
16735
16738
|
deployed: array(string()),
|
|
16736
16739
|
deleted: array(string()),
|
|
@@ -16750,11 +16753,17 @@ async function readFunctionConfig(configPath) {
|
|
|
16750
16753
|
}
|
|
16751
16754
|
async function readFunction(configPath) {
|
|
16752
16755
|
const config$1 = await readFunctionConfig(configPath);
|
|
16753
|
-
const
|
|
16754
|
-
|
|
16756
|
+
const functionDir = dirname(configPath);
|
|
16757
|
+
const entryPath = join(functionDir, config$1.entry);
|
|
16758
|
+
if (!await pathExists(entryPath)) throw new Error(`Function entry file not found: ${entryPath} (referenced in ${configPath})`);
|
|
16759
|
+
const files = await globby("*.{js,ts,json}", {
|
|
16760
|
+
cwd: functionDir,
|
|
16761
|
+
absolute: true
|
|
16762
|
+
});
|
|
16755
16763
|
const functionData = {
|
|
16756
16764
|
...config$1,
|
|
16757
|
-
|
|
16765
|
+
entryPath,
|
|
16766
|
+
files
|
|
16758
16767
|
};
|
|
16759
16768
|
const result = FunctionSchema.safeParse(functionData);
|
|
16760
16769
|
if (!result.success) throw new Error(`Invalid function in ${configPath}: ${result.error.message}`);
|
|
@@ -16781,10 +16790,7 @@ function toDeployPayloadItem(fn) {
|
|
|
16781
16790
|
return {
|
|
16782
16791
|
name: fn.name,
|
|
16783
16792
|
entry: fn.entry,
|
|
16784
|
-
files:
|
|
16785
|
-
path: fn.entry,
|
|
16786
|
-
content: fn.code
|
|
16787
|
-
}]
|
|
16793
|
+
files: fn.files
|
|
16788
16794
|
};
|
|
16789
16795
|
}
|
|
16790
16796
|
async function deployFunctions(functions) {
|
|
@@ -16800,10 +16806,16 @@ async function deployFunctions(functions) {
|
|
|
16800
16806
|
//#endregion
|
|
16801
16807
|
//#region src/core/resources/function/deploy.ts
|
|
16802
16808
|
async function loadFunctionCode(fn) {
|
|
16803
|
-
const
|
|
16809
|
+
const loadedFiles = await Promise.all(fn.files.map(async (filePath) => {
|
|
16810
|
+
const content = await readTextFile(filePath);
|
|
16811
|
+
return {
|
|
16812
|
+
path: basename(filePath),
|
|
16813
|
+
content
|
|
16814
|
+
};
|
|
16815
|
+
}));
|
|
16804
16816
|
return {
|
|
16805
16817
|
...fn,
|
|
16806
|
-
|
|
16818
|
+
files: loadedFiles
|
|
16807
16819
|
};
|
|
16808
16820
|
}
|
|
16809
16821
|
async function pushFunctions(functions) {
|
|
@@ -31014,13 +31026,13 @@ var ansi_styles_default = ansiStyles;
|
|
|
31014
31026
|
|
|
31015
31027
|
//#endregion
|
|
31016
31028
|
//#region node_modules/chalk/source/vendor/supports-color/index.js
|
|
31017
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args :
|
|
31029
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
|
|
31018
31030
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
31019
31031
|
const position = argv.indexOf(prefix + flag);
|
|
31020
31032
|
const terminatorPosition = argv.indexOf("--");
|
|
31021
31033
|
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
31022
31034
|
}
|
|
31023
|
-
const { env } =
|
|
31035
|
+
const { env } = process$1;
|
|
31024
31036
|
let flagForceColor;
|
|
31025
31037
|
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
|
|
31026
31038
|
else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
|
|
@@ -31053,7 +31065,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
31053
31065
|
if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
|
|
31054
31066
|
const min = forceColor || 0;
|
|
31055
31067
|
if (env.TERM === "dumb") return min;
|
|
31056
|
-
if (
|
|
31068
|
+
if (process$1.platform === "win32") {
|
|
31057
31069
|
const osRelease = os.release().split(".");
|
|
31058
31070
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
31059
31071
|
return 1;
|
|
@@ -31843,9 +31855,9 @@ const getSubprocessResult = ({ stdout: stdout$1 }) => {
|
|
|
31843
31855
|
//#region node_modules/execa/lib/utils/standard-stream.js
|
|
31844
31856
|
const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
|
|
31845
31857
|
const STANDARD_STREAMS = [
|
|
31846
|
-
|
|
31847
|
-
|
|
31848
|
-
|
|
31858
|
+
process$1.stdin,
|
|
31859
|
+
process$1.stdout,
|
|
31860
|
+
process$1.stderr
|
|
31849
31861
|
];
|
|
31850
31862
|
const STANDARD_STREAMS_ALIASES = [
|
|
31851
31863
|
"stdin",
|
|
@@ -31970,9 +31982,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
|
|
|
31970
31982
|
//#endregion
|
|
31971
31983
|
//#region node_modules/is-unicode-supported/index.js
|
|
31972
31984
|
function isUnicodeSupported() {
|
|
31973
|
-
const { env: env$1 } =
|
|
31985
|
+
const { env: env$1 } = process$1;
|
|
31974
31986
|
const { TERM, TERM_PROGRAM } = env$1;
|
|
31975
|
-
if (
|
|
31987
|
+
if (process$1.platform !== "win32") return TERM !== "linux";
|
|
31976
31988
|
return Boolean(env$1.WT_SESSION) || Boolean(env$1.TERMINUS_SUBLIME) || env$1.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$1.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
31977
31989
|
}
|
|
31978
31990
|
|
|
@@ -32899,7 +32911,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
|
|
|
32899
32911
|
|
|
32900
32912
|
//#endregion
|
|
32901
32913
|
//#region node_modules/npm-run-path/index.js
|
|
32902
|
-
const npmRunPath = ({ cwd =
|
|
32914
|
+
const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath: execPath$1 = process$1.execPath, addExecPath = true } = {}) => {
|
|
32903
32915
|
const cwdPath = path.resolve(toPath(cwd));
|
|
32904
32916
|
const result = [];
|
|
32905
32917
|
const pathParts = pathOption.split(path.delimiter);
|
|
@@ -32917,7 +32929,7 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
|
|
|
32917
32929
|
const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
|
|
32918
32930
|
if (!pathParts.includes(pathPart)) result.push(pathPart);
|
|
32919
32931
|
};
|
|
32920
|
-
const npmRunPathEnv = ({ env: env$1 =
|
|
32932
|
+
const npmRunPathEnv = ({ env: env$1 = process$1.env, ...options } = {}) => {
|
|
32921
32933
|
env$1 = { ...env$1 };
|
|
32922
32934
|
const pathName = pathKey({ env: env$1 });
|
|
32923
32935
|
options.path = env$1[pathName];
|
|
@@ -34052,7 +34064,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
|
|
|
34052
34064
|
};
|
|
34053
34065
|
const getDefaultCwd = () => {
|
|
34054
34066
|
try {
|
|
34055
|
-
return
|
|
34067
|
+
return process$1.cwd();
|
|
34056
34068
|
} catch (error) {
|
|
34057
34069
|
error.message = `The current directory does not exist.\n${error.message}`;
|
|
34058
34070
|
throw error;
|
|
@@ -34087,7 +34099,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
|
|
|
34087
34099
|
options.killSignal = normalizeKillSignal(options.killSignal);
|
|
34088
34100
|
options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
|
|
34089
34101
|
options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
|
|
34090
|
-
if (
|
|
34102
|
+
if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
|
|
34091
34103
|
return {
|
|
34092
34104
|
file,
|
|
34093
34105
|
commandArguments,
|
|
@@ -34114,7 +34126,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
|
|
|
34114
34126
|
});
|
|
34115
34127
|
const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
|
|
34116
34128
|
const env$1 = extendEnv ? {
|
|
34117
|
-
...
|
|
34129
|
+
...process$1.env,
|
|
34118
34130
|
...envOption
|
|
34119
34131
|
} : envOption;
|
|
34120
34132
|
if (preferLocal || node) return npmRunPathEnv({
|
|
@@ -35114,12 +35126,12 @@ const guessStreamDirection = {
|
|
|
35114
35126
|
}
|
|
35115
35127
|
};
|
|
35116
35128
|
const getStandardStreamDirection = (value) => {
|
|
35117
|
-
if ([0,
|
|
35129
|
+
if ([0, process$1.stdin].includes(value)) return "input";
|
|
35118
35130
|
if ([
|
|
35119
35131
|
1,
|
|
35120
35132
|
2,
|
|
35121
|
-
|
|
35122
|
-
|
|
35133
|
+
process$1.stdout,
|
|
35134
|
+
process$1.stderr
|
|
35123
35135
|
].includes(value)) return "output";
|
|
35124
35136
|
};
|
|
35125
35137
|
const DEFAULT_DIRECTION = "output";
|
|
@@ -36183,9 +36195,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
|
|
|
36183
36195
|
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
|
|
36184
36196
|
};
|
|
36185
36197
|
const getIpcExport = () => {
|
|
36186
|
-
const anyProcess =
|
|
36198
|
+
const anyProcess = process$1;
|
|
36187
36199
|
const isSubprocess = true;
|
|
36188
|
-
const ipc =
|
|
36200
|
+
const ipc = process$1.channel !== void 0;
|
|
36189
36201
|
return {
|
|
36190
36202
|
...getIpcMethods(anyProcess, isSubprocess, ipc),
|
|
36191
36203
|
getCancelSignal: getCancelSignal$1.bind(void 0, {
|
|
@@ -36427,7 +36439,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
|
|
|
36427
36439
|
|
|
36428
36440
|
//#endregion
|
|
36429
36441
|
//#region node_modules/signal-exit/dist/mjs/index.js
|
|
36430
|
-
const processOk = (process$
|
|
36442
|
+
const processOk = (process$5) => !!process$5 && typeof process$5 === "object" && typeof process$5.removeListener === "function" && typeof process$5.emit === "function" && typeof process$5.reallyExit === "function" && typeof process$5.listeners === "function" && typeof process$5.kill === "function" && typeof process$5.pid === "number" && typeof process$5.on === "function";
|
|
36431
36443
|
const kExitEmitter = Symbol.for("signal-exit emitter");
|
|
36432
36444
|
const global$1 = globalThis;
|
|
36433
36445
|
const ObjectDefineProperty = Object.defineProperty.bind(Object);
|
|
@@ -36495,7 +36507,7 @@ var SignalExitFallback = class extends SignalExitBase {
|
|
|
36495
36507
|
};
|
|
36496
36508
|
var SignalExit = class extends SignalExitBase {
|
|
36497
36509
|
/* c8 ignore start */
|
|
36498
|
-
#hupSig = process$
|
|
36510
|
+
#hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
|
|
36499
36511
|
/* c8 ignore stop */
|
|
36500
36512
|
#emitter = new Emitter();
|
|
36501
36513
|
#process;
|
|
@@ -36503,15 +36515,15 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36503
36515
|
#originalProcessReallyExit;
|
|
36504
36516
|
#sigListeners = {};
|
|
36505
36517
|
#loaded = false;
|
|
36506
|
-
constructor(process$
|
|
36518
|
+
constructor(process$5) {
|
|
36507
36519
|
super();
|
|
36508
|
-
this.#process = process$
|
|
36520
|
+
this.#process = process$5;
|
|
36509
36521
|
this.#sigListeners = {};
|
|
36510
36522
|
for (const sig of signals) this.#sigListeners[sig] = () => {
|
|
36511
36523
|
const listeners = this.#process.listeners(sig);
|
|
36512
36524
|
let { count: count$1 } = this.#emitter;
|
|
36513
36525
|
/* c8 ignore start */
|
|
36514
|
-
const p$1 = process$
|
|
36526
|
+
const p$1 = process$5;
|
|
36515
36527
|
if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
|
|
36516
36528
|
/* c8 ignore stop */
|
|
36517
36529
|
if (listeners.length === count$1) {
|
|
@@ -36519,11 +36531,11 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36519
36531
|
const ret = this.#emitter.emit("exit", null, sig);
|
|
36520
36532
|
/* c8 ignore start */
|
|
36521
36533
|
const s = sig === "SIGHUP" ? this.#hupSig : sig;
|
|
36522
|
-
if (!ret) process$
|
|
36534
|
+
if (!ret) process$5.kill(process$5.pid, s);
|
|
36523
36535
|
}
|
|
36524
36536
|
};
|
|
36525
|
-
this.#originalProcessReallyExit = process$
|
|
36526
|
-
this.#originalProcessEmit = process$
|
|
36537
|
+
this.#originalProcessReallyExit = process$5.reallyExit;
|
|
36538
|
+
this.#originalProcessEmit = process$5.emit;
|
|
36527
36539
|
}
|
|
36528
36540
|
onExit(cb, opts) {
|
|
36529
36541
|
/* c8 ignore start */
|
|
@@ -36590,8 +36602,8 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36590
36602
|
} else return og.call(this.#process, ev, ...args);
|
|
36591
36603
|
}
|
|
36592
36604
|
};
|
|
36593
|
-
const process$
|
|
36594
|
-
const { onExit, load, unload } = signalExitWrap(processOk(process$
|
|
36605
|
+
const process$2 = globalThis.process;
|
|
36606
|
+
const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
|
|
36595
36607
|
|
|
36596
36608
|
//#endregion
|
|
36597
36609
|
//#region node_modules/execa/lib/terminate/cleanup.js
|
|
@@ -38475,7 +38487,7 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38475
38487
|
finalAppUrl = appUrl;
|
|
38476
38488
|
}
|
|
38477
38489
|
}
|
|
38478
|
-
if (skills
|
|
38490
|
+
if (skills) try {
|
|
38479
38491
|
await runTask("Installing AI agent skills...", async () => {
|
|
38480
38492
|
await execa("npx", [
|
|
38481
38493
|
"-y",
|
|
@@ -38496,7 +38508,7 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38496
38508
|
if (finalAppUrl) M.message(`${theme.styles.header("Site")}: ${theme.colors.links(finalAppUrl)}`);
|
|
38497
38509
|
return { outroMessage: "Your project is set up and ready to use" };
|
|
38498
38510
|
}
|
|
38499
|
-
const createCommand = new Command("create").description("Create a new Base44 project").addArgument(new Argument("name", "Project name").argOptional()).option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").option("--skills", "
|
|
38511
|
+
const createCommand = new Command("create").description("Create a new Base44 project").addArgument(new Argument("name", "Project name").argOptional()).option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").option("--no-skills", "Skip AI agent skills installation").hook("preAction", validateNonInteractiveFlags$1).action(async (name$1, options) => {
|
|
38500
38512
|
await chooseCreate({
|
|
38501
38513
|
name: name$1,
|
|
38502
38514
|
...options
|
|
@@ -38545,7 +38557,7 @@ function isInsideContainer() {
|
|
|
38545
38557
|
//#endregion
|
|
38546
38558
|
//#region node_modules/is-wsl/index.js
|
|
38547
38559
|
const isWsl = () => {
|
|
38548
|
-
if (
|
|
38560
|
+
if (process$1.platform !== "linux") return false;
|
|
38549
38561
|
if (os.release().toLowerCase().includes("microsoft")) {
|
|
38550
38562
|
if (isInsideContainer()) return false;
|
|
38551
38563
|
return true;
|
|
@@ -38556,12 +38568,12 @@ const isWsl = () => {
|
|
|
38556
38568
|
return false;
|
|
38557
38569
|
}
|
|
38558
38570
|
};
|
|
38559
|
-
var is_wsl_default =
|
|
38571
|
+
var is_wsl_default = process$1.env.__IS_WSL_TEST__ ? isWsl : isWsl();
|
|
38560
38572
|
|
|
38561
38573
|
//#endregion
|
|
38562
38574
|
//#region node_modules/powershell-utils/index.js
|
|
38563
38575
|
const execFile$2 = promisify(childProcess.execFile);
|
|
38564
|
-
const powerShellPath$1 = () => `${
|
|
38576
|
+
const powerShellPath$1 = () => `${process$1.env.SYSTEMROOT || process$1.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
|
|
38565
38577
|
const executePowerShell = async (command, options = {}) => {
|
|
38566
38578
|
const { powerShellPath: psPath, ...execFileOptions } = options;
|
|
38567
38579
|
const encodedCommand = executePowerShell.encodeCommand(command);
|
|
@@ -38672,7 +38684,7 @@ function defineLazyProperty(object$1, propertyName, valueGetter) {
|
|
|
38672
38684
|
//#region node_modules/default-browser-id/index.js
|
|
38673
38685
|
const execFileAsync$3 = promisify(execFile);
|
|
38674
38686
|
async function defaultBrowserId() {
|
|
38675
|
-
if (
|
|
38687
|
+
if (process$1.platform !== "darwin") throw new Error("macOS only");
|
|
38676
38688
|
const { stdout: stdout$1 } = await execFileAsync$3("defaults", [
|
|
38677
38689
|
"read",
|
|
38678
38690
|
"com.apple.LaunchServices/com.apple.launchservices.secure",
|
|
@@ -38687,7 +38699,7 @@ async function defaultBrowserId() {
|
|
|
38687
38699
|
//#region node_modules/run-applescript/index.js
|
|
38688
38700
|
const execFileAsync$2 = promisify(execFile);
|
|
38689
38701
|
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
|
|
38690
|
-
if (
|
|
38702
|
+
if (process$1.platform !== "darwin") throw new Error("macOS only");
|
|
38691
38703
|
const outputArguments = humanReadableOutput ? [] : ["-ss"];
|
|
38692
38704
|
const execOptions = {};
|
|
38693
38705
|
if (signal) execOptions.signal = signal;
|
|
@@ -38796,14 +38808,14 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
|
|
|
38796
38808
|
const execFileAsync = promisify(execFile);
|
|
38797
38809
|
const titleize = (string$2) => string$2.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x$2) => x$2.toUpperCase());
|
|
38798
38810
|
async function defaultBrowser() {
|
|
38799
|
-
if (
|
|
38811
|
+
if (process$1.platform === "darwin") {
|
|
38800
38812
|
const id = await defaultBrowserId();
|
|
38801
38813
|
return {
|
|
38802
38814
|
name: await bundleName(id),
|
|
38803
38815
|
id
|
|
38804
38816
|
};
|
|
38805
38817
|
}
|
|
38806
|
-
if (
|
|
38818
|
+
if (process$1.platform === "linux") {
|
|
38807
38819
|
const { stdout: stdout$1 } = await execFileAsync("xdg-mime", [
|
|
38808
38820
|
"query",
|
|
38809
38821
|
"default",
|
|
@@ -38815,13 +38827,13 @@ async function defaultBrowser() {
|
|
|
38815
38827
|
id
|
|
38816
38828
|
};
|
|
38817
38829
|
}
|
|
38818
|
-
if (
|
|
38830
|
+
if (process$1.platform === "win32") return defaultBrowser$1();
|
|
38819
38831
|
throw new Error("Only macOS, Linux, and Windows are supported");
|
|
38820
38832
|
}
|
|
38821
38833
|
|
|
38822
38834
|
//#endregion
|
|
38823
38835
|
//#region node_modules/is-in-ssh/index.js
|
|
38824
|
-
const isInSsh = Boolean(
|
|
38836
|
+
const isInSsh = Boolean(process$1.env.SSH_CONNECTION || process$1.env.SSH_CLIENT || process$1.env.SSH_TTY);
|
|
38825
38837
|
var is_in_ssh_default = isInSsh;
|
|
38826
38838
|
|
|
38827
38839
|
//#endregion
|
|
@@ -38829,7 +38841,7 @@ var is_in_ssh_default = isInSsh;
|
|
|
38829
38841
|
const fallbackAttemptSymbol = Symbol("fallbackAttempt");
|
|
38830
38842
|
const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
|
|
38831
38843
|
const localXdgOpenPath = path.join(__dirname, "xdg-open");
|
|
38832
|
-
const { platform: platform$1, arch } =
|
|
38844
|
+
const { platform: platform$1, arch } = process$1;
|
|
38833
38845
|
const tryEachApp = async (apps$1, opener) => {
|
|
38834
38846
|
if (apps$1.length === 0) return;
|
|
38835
38847
|
const errors = [];
|
|
@@ -38942,7 +38954,7 @@ const baseOpen = async (options) => {
|
|
|
38942
38954
|
await fs$1.access(localXdgOpenPath, constants$1.X_OK);
|
|
38943
38955
|
exeLocalXdgOpen = true;
|
|
38944
38956
|
} catch {}
|
|
38945
|
-
command =
|
|
38957
|
+
command = process$1.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
|
|
38946
38958
|
}
|
|
38947
38959
|
if (appArguments.length > 0) cliArguments.push(...appArguments);
|
|
38948
38960
|
if (!options.wait) {
|
|
@@ -39225,7 +39237,7 @@ const siteDeployCommand = new Command("site").description("Manage site deploymen
|
|
|
39225
39237
|
|
|
39226
39238
|
//#endregion
|
|
39227
39239
|
//#region package.json
|
|
39228
|
-
var version = "0.0.
|
|
39240
|
+
var version = "0.0.25";
|
|
39229
39241
|
|
|
39230
39242
|
//#endregion
|
|
39231
39243
|
//#region src/cli/program.ts
|