@base44-preview/cli 0.0.33-pr.338.c6ab1f7 → 0.0.33-pr.383.4cb51a6
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/cli/index.js +97 -115
- package/dist/cli/index.js.map +12 -13
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -8933,10 +8933,10 @@ var require_ejs = __commonJS((exports) => {
|
|
|
8933
8933
|
exports.localsName = _DEFAULT_LOCALS_NAME;
|
|
8934
8934
|
exports.promiseImpl = new Function("return this;")().Promise;
|
|
8935
8935
|
exports.resolveInclude = function(name2, filename, isDir) {
|
|
8936
|
-
var
|
|
8936
|
+
var dirname7 = path11.dirname;
|
|
8937
8937
|
var extname = path11.extname;
|
|
8938
8938
|
var resolve = path11.resolve;
|
|
8939
|
-
var includePath = resolve(isDir ? filename :
|
|
8939
|
+
var includePath = resolve(isDir ? filename : dirname7(filename), name2);
|
|
8940
8940
|
var ext = extname(name2);
|
|
8941
8941
|
if (!ext) {
|
|
8942
8942
|
includePath += ".ejs";
|
|
@@ -116858,15 +116858,15 @@ var init_prettier = __esm(() => {
|
|
|
116858
116858
|
exports.removeDuplicateSlashes = removeDuplicateSlashes;
|
|
116859
116859
|
function partitionAbsoluteAndRelative(patterns) {
|
|
116860
116860
|
const absolute = [];
|
|
116861
|
-
const
|
|
116861
|
+
const relative22 = [];
|
|
116862
116862
|
for (const pattern of patterns) {
|
|
116863
116863
|
if (isAbsolute2(pattern)) {
|
|
116864
116864
|
absolute.push(pattern);
|
|
116865
116865
|
} else {
|
|
116866
|
-
|
|
116866
|
+
relative22.push(pattern);
|
|
116867
116867
|
}
|
|
116868
116868
|
}
|
|
116869
|
-
return [absolute,
|
|
116869
|
+
return [absolute, relative22];
|
|
116870
116870
|
}
|
|
116871
116871
|
exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
|
|
116872
116872
|
function isAbsolute2(pattern) {
|
|
@@ -131821,7 +131821,7 @@ var require_url = __commonJS((exports) => {
|
|
|
131821
131821
|
exports.fromFileSystemPath = fromFileSystemPath;
|
|
131822
131822
|
exports.toFileSystemPath = toFileSystemPath;
|
|
131823
131823
|
exports.safePointerToPath = safePointerToPath;
|
|
131824
|
-
exports.relative =
|
|
131824
|
+
exports.relative = relative4;
|
|
131825
131825
|
var convert_path_to_posix_1 = __importDefault(require_convert_path_to_posix());
|
|
131826
131826
|
var path_1 = __importStar(__require("path"));
|
|
131827
131827
|
var forwardSlashPattern = /\//g;
|
|
@@ -131971,7 +131971,7 @@ var require_url = __commonJS((exports) => {
|
|
|
131971
131971
|
return decodeURIComponent(value).replace(jsonPointerSlash, "/").replace(jsonPointerTilde, "~");
|
|
131972
131972
|
});
|
|
131973
131973
|
}
|
|
131974
|
-
function
|
|
131974
|
+
function relative4(from, to5) {
|
|
131975
131975
|
if (!isFileSystemPath(from) || !isFileSystemPath(to5)) {
|
|
131976
131976
|
return resolve5(from, to5);
|
|
131977
131977
|
}
|
|
@@ -138038,7 +138038,7 @@ var require_depd = __commonJS((exports, module) => {
|
|
|
138038
138038
|
* Copyright(c) 2014-2018 Douglas Christopher Wilson
|
|
138039
138039
|
* MIT Licensed
|
|
138040
138040
|
*/
|
|
138041
|
-
var
|
|
138041
|
+
var relative4 = __require("path").relative;
|
|
138042
138042
|
module.exports = depd;
|
|
138043
138043
|
var basePath = process.cwd();
|
|
138044
138044
|
function containsNamespace(str, namespace) {
|
|
@@ -138234,7 +138234,7 @@ var require_depd = __commonJS((exports, module) => {
|
|
|
138234
138234
|
return formatted;
|
|
138235
138235
|
}
|
|
138236
138236
|
function formatLocation(callSite) {
|
|
138237
|
-
return
|
|
138237
|
+
return relative4(basePath, callSite[0]) + ":" + callSite[1] + ":" + callSite[2];
|
|
138238
138238
|
}
|
|
138239
138239
|
function getStack() {
|
|
138240
138240
|
var limit = Error.stackTraceLimit;
|
|
@@ -155696,7 +155696,7 @@ var require_view = __commonJS((exports, module) => {
|
|
|
155696
155696
|
var debug = require_src4()("express:view");
|
|
155697
155697
|
var path18 = __require("node:path");
|
|
155698
155698
|
var fs28 = __require("node:fs");
|
|
155699
|
-
var
|
|
155699
|
+
var dirname12 = path18.dirname;
|
|
155700
155700
|
var basename4 = path18.basename;
|
|
155701
155701
|
var extname2 = path18.extname;
|
|
155702
155702
|
var join15 = path18.join;
|
|
@@ -155735,7 +155735,7 @@ var require_view = __commonJS((exports, module) => {
|
|
|
155735
155735
|
for (var i5 = 0;i5 < roots.length && !path19; i5++) {
|
|
155736
155736
|
var root2 = roots[i5];
|
|
155737
155737
|
var loc = resolve5(root2, name2);
|
|
155738
|
-
var dir =
|
|
155738
|
+
var dir = dirname12(loc);
|
|
155739
155739
|
var file2 = basename4(loc);
|
|
155740
155740
|
path19 = this.resolve(dir, file2);
|
|
155741
155741
|
}
|
|
@@ -161382,8 +161382,8 @@ var require_follow_redirects = __commonJS((exports, module) => {
|
|
|
161382
161382
|
}
|
|
161383
161383
|
return parsed;
|
|
161384
161384
|
}
|
|
161385
|
-
function resolveUrl(
|
|
161386
|
-
return useNativeURL ? new URL2(
|
|
161385
|
+
function resolveUrl(relative4, base) {
|
|
161386
|
+
return useNativeURL ? new URL2(relative4, base) : parseUrl(url3.resolve(base, relative4));
|
|
161387
161387
|
}
|
|
161388
161388
|
function validateUrl(input) {
|
|
161389
161389
|
if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
|
|
@@ -162852,7 +162852,7 @@ var {
|
|
|
162852
162852
|
} = import__.default;
|
|
162853
162853
|
|
|
162854
162854
|
// src/cli/commands/agents/pull.ts
|
|
162855
|
-
import { dirname as
|
|
162855
|
+
import { dirname as dirname8, join as join9 } from "node:path";
|
|
162856
162856
|
|
|
162857
162857
|
// node_modules/@clack/core/dist/index.mjs
|
|
162858
162858
|
var import_picocolors = __toESM(require_picocolors(), 1);
|
|
@@ -178322,7 +178322,9 @@ import { fileURLToPath } from "node:url";
|
|
|
178322
178322
|
var PROJECT_SUBDIR = "base44";
|
|
178323
178323
|
var CONFIG_FILE_EXTENSION = "jsonc";
|
|
178324
178324
|
var CONFIG_FILE_EXTENSION_GLOB = "{json,jsonc}";
|
|
178325
|
-
var
|
|
178325
|
+
var FUNCTION_CONFIG_GLOB = `**/function.${CONFIG_FILE_EXTENSION_GLOB}`;
|
|
178326
|
+
var ENTRY_FILE_GLOB = "**/entry.{js,ts}";
|
|
178327
|
+
var ENTRY_IGNORE_DOT_PATHS = ["**/*.*/**"];
|
|
178326
178328
|
var APP_CONFIG_PATTERN = `**/.app.${CONFIG_FILE_EXTENSION_GLOB}`;
|
|
178327
178329
|
var PROJECT_CONFIG_PATTERNS = [
|
|
178328
178330
|
`${PROJECT_SUBDIR}/config.${CONFIG_FILE_EXTENSION_GLOB}`,
|
|
@@ -185327,7 +185329,7 @@ var generateGlobTasks = normalizeArguments(generateTasks);
|
|
|
185327
185329
|
var generateGlobTasksSync = normalizeArgumentsSync(generateTasksSync);
|
|
185328
185330
|
|
|
185329
185331
|
// src/core/project/config.ts
|
|
185330
|
-
import { dirname as
|
|
185332
|
+
import { dirname as dirname6, join as join6 } from "node:path";
|
|
185331
185333
|
|
|
185332
185334
|
// src/core/resources/agent/schema.ts
|
|
185333
185335
|
var EntityOperationSchema = exports_external.enum(["create", "update", "delete", "read"]);
|
|
@@ -186025,8 +186027,7 @@ var BackendFunctionSchema = FunctionConfigSchema.extend({
|
|
|
186025
186027
|
filePaths: exports_external.array(exports_external.string()).min(1, "Function must have at least one file")
|
|
186026
186028
|
});
|
|
186027
186029
|
var DeploySingleFunctionResponseSchema = exports_external.object({
|
|
186028
|
-
status: exports_external.enum(["deployed", "unchanged"])
|
|
186029
|
-
duration_ms: exports_external.number().optional().nullable()
|
|
186030
|
+
status: exports_external.enum(["deployed", "unchanged"])
|
|
186030
186031
|
});
|
|
186031
186032
|
var FunctionAutomationInfoSchema = exports_external.object({
|
|
186032
186033
|
name: exports_external.string(),
|
|
@@ -186082,7 +186083,7 @@ async function listDeployedFunctions() {
|
|
|
186082
186083
|
return result.data;
|
|
186083
186084
|
}
|
|
186084
186085
|
// src/core/resources/function/config.ts
|
|
186085
|
-
import { dirname as dirname4, join as join5 } from "node:path";
|
|
186086
|
+
import { basename as basename2, dirname as dirname4, join as join5, relative } from "node:path";
|
|
186086
186087
|
async function readFunctionConfig(configPath) {
|
|
186087
186088
|
const parsed = await readJsonFile(configPath);
|
|
186088
186089
|
const result = FunctionConfigSchema.safeParse(parsed);
|
|
@@ -186096,9 +186097,11 @@ async function readFunction(configPath) {
|
|
|
186096
186097
|
const functionDir = dirname4(configPath);
|
|
186097
186098
|
const entryPath = join5(functionDir, config5.entry);
|
|
186098
186099
|
if (!await pathExists(entryPath)) {
|
|
186099
|
-
throw new
|
|
186100
|
+
throw new InvalidInputError(`Function entry file not found: ${entryPath} (referenced in ${configPath})`, {
|
|
186101
|
+
hints: [{ message: "Check the 'entry' field in your function config" }]
|
|
186102
|
+
});
|
|
186100
186103
|
}
|
|
186101
|
-
const filePaths = await globby("
|
|
186104
|
+
const filePaths = await globby("**/*.{js,ts,json}", {
|
|
186102
186105
|
cwd: functionDir,
|
|
186103
186106
|
absolute: true
|
|
186104
186107
|
});
|
|
@@ -186109,30 +186112,66 @@ async function readAllFunctions(functionsDir) {
|
|
|
186109
186112
|
if (!await pathExists(functionsDir)) {
|
|
186110
186113
|
return [];
|
|
186111
186114
|
}
|
|
186112
|
-
const configFiles = await globby(
|
|
186115
|
+
const configFiles = await globby(FUNCTION_CONFIG_GLOB, {
|
|
186113
186116
|
cwd: functionsDir,
|
|
186114
186117
|
absolute: true
|
|
186115
186118
|
});
|
|
186116
|
-
const
|
|
186119
|
+
const entryFiles = await globby(ENTRY_FILE_GLOB, {
|
|
186120
|
+
cwd: functionsDir,
|
|
186121
|
+
absolute: true,
|
|
186122
|
+
ignore: ENTRY_IGNORE_DOT_PATHS
|
|
186123
|
+
});
|
|
186124
|
+
const configFilesDirs = new Set(configFiles.map((f) => dirname4(f)));
|
|
186125
|
+
const entryFilesWithoutConfig = entryFiles.filter((entryFile) => !configFilesDirs.has(dirname4(entryFile)));
|
|
186126
|
+
const functionsFromConfig = await Promise.all(configFiles.map((configPath) => readFunction(configPath)));
|
|
186127
|
+
const functionsWithoutConfig = await Promise.all(entryFilesWithoutConfig.map(async (entryFile) => {
|
|
186128
|
+
const functionDir = dirname4(entryFile);
|
|
186129
|
+
const filePaths = await globby("**/*.{js,ts,json}", {
|
|
186130
|
+
cwd: functionDir,
|
|
186131
|
+
absolute: true
|
|
186132
|
+
});
|
|
186133
|
+
const name2 = relative(functionsDir, functionDir).split(/[/\\]/).join("/");
|
|
186134
|
+
if (!name2) {
|
|
186135
|
+
throw new InvalidInputError("entry.ts found directly in the functions directory — it must be inside a named subfolder", {
|
|
186136
|
+
hints: [
|
|
186137
|
+
{
|
|
186138
|
+
message: `Move ${entryFile} into a subfolder (e.g. functions/myFunc/entry.ts)`
|
|
186139
|
+
}
|
|
186140
|
+
]
|
|
186141
|
+
});
|
|
186142
|
+
}
|
|
186143
|
+
const entry = basename2(entryFile);
|
|
186144
|
+
return { name: name2, entry, entryPath: entryFile, filePaths };
|
|
186145
|
+
}));
|
|
186146
|
+
const functions = [...functionsFromConfig, ...functionsWithoutConfig];
|
|
186117
186147
|
const names = new Set;
|
|
186118
186148
|
for (const fn of functions) {
|
|
186119
186149
|
if (names.has(fn.name)) {
|
|
186120
|
-
throw new
|
|
186150
|
+
throw new InvalidInputError(`Duplicate function name "${fn.name}"`, {
|
|
186151
|
+
hints: [
|
|
186152
|
+
{
|
|
186153
|
+
message: "Ensure each function has a unique name (or path for zero-config functions)."
|
|
186154
|
+
}
|
|
186155
|
+
]
|
|
186156
|
+
});
|
|
186121
186157
|
}
|
|
186122
186158
|
names.add(fn.name);
|
|
186123
186159
|
}
|
|
186124
186160
|
return functions;
|
|
186125
186161
|
}
|
|
186126
186162
|
// src/core/resources/function/deploy.ts
|
|
186127
|
-
import {
|
|
186163
|
+
import { dirname as dirname5, relative as relative2 } from "node:path";
|
|
186128
186164
|
async function loadFunctionCode(fn) {
|
|
186165
|
+
const functionDir = dirname5(fn.entryPath);
|
|
186129
186166
|
const resolvedFiles = await Promise.all(fn.filePaths.map(async (filePath) => {
|
|
186130
186167
|
const content = await readTextFile(filePath);
|
|
186131
|
-
|
|
186168
|
+
const path11 = relative2(functionDir, filePath).split(/[/\\]/).join("/");
|
|
186169
|
+
return { path: path11, content };
|
|
186132
186170
|
}));
|
|
186133
186171
|
return { ...fn, files: resolvedFiles };
|
|
186134
186172
|
}
|
|
186135
186173
|
async function deployOne(fn) {
|
|
186174
|
+
const start = Date.now();
|
|
186136
186175
|
try {
|
|
186137
186176
|
const functionWithCode = await loadFunctionCode(fn);
|
|
186138
186177
|
const response = await deploySingleFunction(functionWithCode.name, {
|
|
@@ -186143,7 +186182,7 @@ async function deployOne(fn) {
|
|
|
186143
186182
|
return {
|
|
186144
186183
|
name: functionWithCode.name,
|
|
186145
186184
|
status: response.status,
|
|
186146
|
-
durationMs:
|
|
186185
|
+
durationMs: Date.now() - start
|
|
186147
186186
|
};
|
|
186148
186187
|
} catch (error48) {
|
|
186149
186188
|
return {
|
|
@@ -186199,12 +186238,12 @@ async function findConfigInDir(dir) {
|
|
|
186199
186238
|
}
|
|
186200
186239
|
async function findProjectRoot(startPath) {
|
|
186201
186240
|
let current = startPath || process.cwd();
|
|
186202
|
-
while (current !==
|
|
186241
|
+
while (current !== dirname6(current)) {
|
|
186203
186242
|
const configPath = await findConfigInDir(current);
|
|
186204
186243
|
if (configPath) {
|
|
186205
186244
|
return { root: current, configPath };
|
|
186206
186245
|
}
|
|
186207
|
-
current =
|
|
186246
|
+
current = dirname6(current);
|
|
186208
186247
|
}
|
|
186209
186248
|
return null;
|
|
186210
186249
|
}
|
|
@@ -186226,7 +186265,7 @@ async function readProjectConfig(projectRoot) {
|
|
|
186226
186265
|
throw new SchemaValidationError("Invalid project configuration", result.error, configPath);
|
|
186227
186266
|
}
|
|
186228
186267
|
const project = result.data;
|
|
186229
|
-
const configDir =
|
|
186268
|
+
const configDir = dirname6(configPath);
|
|
186230
186269
|
const [entities, functions, agents, connectors] = await Promise.all([
|
|
186231
186270
|
entityResource.readAll(join6(configDir, project.entitiesDir)),
|
|
186232
186271
|
functionResource.readAll(join6(configDir, project.functionsDir)),
|
|
@@ -186328,7 +186367,7 @@ async function readAppConfig(projectRoot) {
|
|
|
186328
186367
|
// src/core/project/template.ts
|
|
186329
186368
|
var import_ejs = __toESM(require_ejs(), 1);
|
|
186330
186369
|
var import_front_matter = __toESM(require_front_matter(), 1);
|
|
186331
|
-
import { dirname as
|
|
186370
|
+
import { dirname as dirname7, join as join7 } from "node:path";
|
|
186332
186371
|
async function listTemplates() {
|
|
186333
186372
|
const parsed = await readJsonFile(getTemplatesIndexPath());
|
|
186334
186373
|
const result = TemplatesConfigSchema.safeParse(parsed);
|
|
@@ -186350,7 +186389,7 @@ async function renderTemplate(template, destPath, data) {
|
|
|
186350
186389
|
if (file2.endsWith(".ejs")) {
|
|
186351
186390
|
const rendered = await import_ejs.default.renderFile(srcPath, data);
|
|
186352
186391
|
const { attributes, body } = import_front_matter.default(rendered);
|
|
186353
|
-
const destFile = attributes.outputFileName ? join7(
|
|
186392
|
+
const destFile = attributes.outputFileName ? join7(dirname7(file2), attributes.outputFileName) : file2.replace(/\.ejs$/, "");
|
|
186354
186393
|
const destFilePath = join7(destPath, destFile);
|
|
186355
186394
|
await writeFile(destFilePath, body);
|
|
186356
186395
|
} else {
|
|
@@ -186499,13 +186538,10 @@ function hasResourcesToDeploy(projectData) {
|
|
|
186499
186538
|
const hasConnectors = connectors.length > 0;
|
|
186500
186539
|
return hasEntities || hasFunctions || hasAgents || hasConnectors || hasSite;
|
|
186501
186540
|
}
|
|
186502
|
-
async function deployAll(projectData
|
|
186541
|
+
async function deployAll(projectData) {
|
|
186503
186542
|
const { project, entities, functions, agents, connectors } = projectData;
|
|
186504
186543
|
await entityResource.push(entities);
|
|
186505
|
-
await
|
|
186506
|
-
onStart: options?.onFunctionStart,
|
|
186507
|
-
onResult: options?.onFunctionResult
|
|
186508
|
-
});
|
|
186544
|
+
await functionResource.push(functions);
|
|
186509
186545
|
await agentResource.push(agents);
|
|
186510
186546
|
const { results: connectorResults } = await pushConnectors(connectors);
|
|
186511
186547
|
if (project.site?.outputDirectory) {
|
|
@@ -194157,7 +194193,7 @@ function getDashboardUrl(projectId) {
|
|
|
194157
194193
|
// src/cli/commands/agents/pull.ts
|
|
194158
194194
|
async function pullAgentsAction() {
|
|
194159
194195
|
const { project: project2 } = await readProjectConfig();
|
|
194160
|
-
const configDir =
|
|
194196
|
+
const configDir = dirname8(project2.configPath);
|
|
194161
194197
|
const agentsDir = join9(configDir, project2.agentsDir);
|
|
194162
194198
|
const remoteAgents = await runTask("Fetching agents from Base44", async () => {
|
|
194163
194199
|
return await fetchAgents();
|
|
@@ -194252,10 +194288,10 @@ function getWhoamiCommand(context) {
|
|
|
194252
194288
|
}
|
|
194253
194289
|
|
|
194254
194290
|
// src/cli/commands/connectors/pull.ts
|
|
194255
|
-
import { dirname as
|
|
194291
|
+
import { dirname as dirname9, join as join10 } from "node:path";
|
|
194256
194292
|
async function pullConnectorsAction() {
|
|
194257
194293
|
const { project: project2 } = await readProjectConfig();
|
|
194258
|
-
const configDir =
|
|
194294
|
+
const configDir = dirname9(project2.configPath);
|
|
194259
194295
|
const connectorsDir = join10(configDir, project2.connectorsDir);
|
|
194260
194296
|
const remoteConnectors = await runTask("Fetching connectors from Base44", async () => {
|
|
194261
194297
|
return await listConnectors();
|
|
@@ -195104,59 +195140,6 @@ function getEntitiesPushCommand(context) {
|
|
|
195104
195140
|
}));
|
|
195105
195141
|
}
|
|
195106
195142
|
|
|
195107
|
-
// src/cli/utils/parseNames.ts
|
|
195108
|
-
function parseNames(args) {
|
|
195109
|
-
return args.flatMap((arg) => arg.split(",")).map((n2) => n2.trim()).filter(Boolean);
|
|
195110
|
-
}
|
|
195111
|
-
|
|
195112
|
-
// src/cli/commands/functions/delete.ts
|
|
195113
|
-
async function deleteFunctionsAction(names) {
|
|
195114
|
-
let deleted = 0;
|
|
195115
|
-
let notFound = 0;
|
|
195116
|
-
let errors4 = 0;
|
|
195117
|
-
for (const name2 of names) {
|
|
195118
|
-
try {
|
|
195119
|
-
await deleteSingleFunction(name2);
|
|
195120
|
-
R2.success(`${name2} deleted`);
|
|
195121
|
-
deleted++;
|
|
195122
|
-
} catch (error48) {
|
|
195123
|
-
if (error48 instanceof ApiError && error48.statusCode === 404) {
|
|
195124
|
-
R2.warn(`Function "${name2}" not found on remote`);
|
|
195125
|
-
notFound++;
|
|
195126
|
-
} else {
|
|
195127
|
-
R2.error(`${name2} error: ${error48 instanceof Error ? error48.message : String(error48)}`);
|
|
195128
|
-
errors4++;
|
|
195129
|
-
}
|
|
195130
|
-
}
|
|
195131
|
-
}
|
|
195132
|
-
if (names.length === 1) {
|
|
195133
|
-
if (deleted)
|
|
195134
|
-
return { outroMessage: `Function "${names[0]}" deleted` };
|
|
195135
|
-
if (notFound)
|
|
195136
|
-
return { outroMessage: `Function "${names[0]}" not found` };
|
|
195137
|
-
return { outroMessage: `Failed to delete "${names[0]}"` };
|
|
195138
|
-
}
|
|
195139
|
-
const parts = [];
|
|
195140
|
-
if (deleted > 0)
|
|
195141
|
-
parts.push(`${deleted} deleted`);
|
|
195142
|
-
if (notFound > 0)
|
|
195143
|
-
parts.push(`${notFound} not found`);
|
|
195144
|
-
if (errors4 > 0)
|
|
195145
|
-
parts.push(`${errors4} error${errors4 !== 1 ? "s" : ""}`);
|
|
195146
|
-
return { outroMessage: parts.join(", ") };
|
|
195147
|
-
}
|
|
195148
|
-
function getDeleteCommand(context) {
|
|
195149
|
-
return new Command("delete").description("Delete deployed functions").argument("<names...>", "Function names to delete").action(async (rawNames) => {
|
|
195150
|
-
await runCommand(() => {
|
|
195151
|
-
const names = parseNames(rawNames);
|
|
195152
|
-
if (names.length === 0) {
|
|
195153
|
-
throw new InvalidInputError("At least one function name is required");
|
|
195154
|
-
}
|
|
195155
|
-
return deleteFunctionsAction(names);
|
|
195156
|
-
}, { requireAuth: true }, context);
|
|
195157
|
-
});
|
|
195158
|
-
}
|
|
195159
|
-
|
|
195160
195143
|
// src/cli/utils/formatDeployResult.ts
|
|
195161
195144
|
function formatDuration(ms) {
|
|
195162
195145
|
return `${(ms / 1000).toFixed(1)}s`;
|
|
@@ -195173,6 +195156,11 @@ function formatDeployResult(result) {
|
|
|
195173
195156
|
}
|
|
195174
195157
|
}
|
|
195175
195158
|
|
|
195159
|
+
// src/cli/utils/parseNames.ts
|
|
195160
|
+
function parseNames(args) {
|
|
195161
|
+
return args.flatMap((arg) => arg.split(",")).map((n2) => n2.trim()).filter(Boolean);
|
|
195162
|
+
}
|
|
195163
|
+
|
|
195176
195164
|
// src/cli/commands/functions/deploy.ts
|
|
195177
195165
|
function resolveFunctionsToDeploy(names, allFunctions) {
|
|
195178
195166
|
if (names.length === 0)
|
|
@@ -195197,11 +195185,11 @@ function formatPruneResults(pruneResults) {
|
|
|
195197
195185
|
}
|
|
195198
195186
|
}
|
|
195199
195187
|
function buildDeploySummary(results) {
|
|
195200
|
-
const
|
|
195188
|
+
const deployed = results.filter((r) => r.status !== "error").length;
|
|
195201
195189
|
const failed = results.filter((r) => r.status === "error").length;
|
|
195202
195190
|
const parts = [];
|
|
195203
|
-
if (
|
|
195204
|
-
parts.push(`${
|
|
195191
|
+
if (deployed > 0)
|
|
195192
|
+
parts.push(`${deployed}/${results.length} deployed`);
|
|
195205
195193
|
if (failed > 0)
|
|
195206
195194
|
parts.push(`${failed} error${failed !== 1 ? "s" : ""}`);
|
|
195207
195195
|
return parts.join(", ") || "No functions deployed";
|
|
@@ -195270,7 +195258,7 @@ function getListCommand(context) {
|
|
|
195270
195258
|
|
|
195271
195259
|
// src/cli/commands/functions/index.ts
|
|
195272
195260
|
function getFunctionsCommand(context) {
|
|
195273
|
-
return new Command("functions").description("Manage backend functions").addCommand(getDeployCommand(context)).addCommand(getListCommand(context))
|
|
195261
|
+
return new Command("functions").description("Manage backend functions").addCommand(getDeployCommand(context)).addCommand(getListCommand(context));
|
|
195274
195262
|
}
|
|
195275
195263
|
|
|
195276
195264
|
// src/cli/commands/project/create.ts
|
|
@@ -195490,17 +195478,11 @@ ${summaryLines.join(`
|
|
|
195490
195478
|
${summaryLines.join(`
|
|
195491
195479
|
`)}`);
|
|
195492
195480
|
}
|
|
195493
|
-
|
|
195494
|
-
|
|
195495
|
-
|
|
195496
|
-
|
|
195497
|
-
|
|
195498
|
-
R2.step(theme.styles.dim(`[${functionCompleted + 1}/${functionTotal}] Deploying ${label}...`));
|
|
195499
|
-
},
|
|
195500
|
-
onFunctionResult: (r) => {
|
|
195501
|
-
functionCompleted++;
|
|
195502
|
-
formatDeployResult(r);
|
|
195503
|
-
}
|
|
195481
|
+
const result = await runTask("Deploying your app...", async () => {
|
|
195482
|
+
return await deployAll(projectData);
|
|
195483
|
+
}, {
|
|
195484
|
+
successMessage: theme.colors.base44Orange("Deployment completed"),
|
|
195485
|
+
errorMessage: "Deployment failed"
|
|
195504
195486
|
});
|
|
195505
195487
|
const needsOAuth = filterPendingOAuth(result.connectorResults ?? []);
|
|
195506
195488
|
if (needsOAuth.length > 0) {
|
|
@@ -195863,7 +195845,7 @@ function getTypesCommand(context) {
|
|
|
195863
195845
|
}
|
|
195864
195846
|
|
|
195865
195847
|
// src/cli/commands/dev.ts
|
|
195866
|
-
import { dirname as
|
|
195848
|
+
import { dirname as dirname13, join as join16 } from "node:path";
|
|
195867
195849
|
|
|
195868
195850
|
// src/cli/dev/dev-server/main.ts
|
|
195869
195851
|
var import_cors = __toESM(require_lib4(), 1);
|
|
@@ -196011,9 +195993,9 @@ function createDevLogger() {
|
|
|
196011
195993
|
|
|
196012
195994
|
// src/cli/dev/dev-server/function-manager.ts
|
|
196013
195995
|
import { spawn as spawn2, spawnSync as spawnSync2 } from "node:child_process";
|
|
196014
|
-
import { dirname as
|
|
195996
|
+
import { dirname as dirname12, join as join15 } from "node:path";
|
|
196015
195997
|
import { fileURLToPath as fileURLToPath7 } from "node:url";
|
|
196016
|
-
var __dirname5 =
|
|
195998
|
+
var __dirname5 = dirname12(fileURLToPath7(import.meta.url));
|
|
196017
195999
|
var WRAPPER_PATH = join15(__dirname5, "../deno-runtime/main.js");
|
|
196018
196000
|
var READY_TIMEOUT = 30000;
|
|
196019
196001
|
|
|
@@ -196266,7 +196248,7 @@ async function devAction(options8) {
|
|
|
196266
196248
|
port,
|
|
196267
196249
|
loadResources: async () => {
|
|
196268
196250
|
const { project: project2 } = await readProjectConfig();
|
|
196269
|
-
const configDir =
|
|
196251
|
+
const configDir = dirname13(project2.configPath);
|
|
196270
196252
|
const functions = await functionResource.readAll(join16(configDir, project2.functionsDir));
|
|
196271
196253
|
return { functions };
|
|
196272
196254
|
}
|
|
@@ -196432,7 +196414,7 @@ function nanoid3(size = 21) {
|
|
|
196432
196414
|
}
|
|
196433
196415
|
|
|
196434
196416
|
// node_modules/posthog-node/dist/extensions/error-tracking/modifiers/module.node.mjs
|
|
196435
|
-
import { dirname as
|
|
196417
|
+
import { dirname as dirname14, posix, sep } from "path";
|
|
196436
196418
|
function createModulerModifier() {
|
|
196437
196419
|
const getModuleFromFileName = createGetModuleFromFilename();
|
|
196438
196420
|
return async (frames) => {
|
|
@@ -196441,7 +196423,7 @@ function createModulerModifier() {
|
|
|
196441
196423
|
return frames;
|
|
196442
196424
|
};
|
|
196443
196425
|
}
|
|
196444
|
-
function createGetModuleFromFilename(basePath = process.argv[1] ?
|
|
196426
|
+
function createGetModuleFromFilename(basePath = process.argv[1] ? dirname14(process.argv[1]) : process.cwd(), isWindows4 = sep === "\\") {
|
|
196445
196427
|
const normalizedBase = isWindows4 ? normalizeWindowsPath2(basePath) : basePath;
|
|
196446
196428
|
return (filename) => {
|
|
196447
196429
|
if (!filename)
|
|
@@ -200658,4 +200640,4 @@ export {
|
|
|
200658
200640
|
CLIExitError
|
|
200659
200641
|
};
|
|
200660
200642
|
|
|
200661
|
-
//# debugId=
|
|
200643
|
+
//# debugId=B3EC239F04F3A3D564756E2164756E21
|