@awsless/cli 0.0.46-local.48 → 0.0.46-local.49
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/app.json +1 -1
- package/dist/app.stage.json +1 -1
- package/dist/bin.js +113 -126
- package/dist/stack.json +1 -1
- package/dist/stack.stage.json +1 -1
- package/package.json +16 -16
package/dist/bin.js
CHANGED
|
@@ -150186,6 +150186,38 @@ var bootstrapAwsless = async (props) => {
|
|
|
150186
150186
|
// src/config/load/load.ts
|
|
150187
150187
|
import { basename as basename2, dirname as dirname5, join as join13 } from "path";
|
|
150188
150188
|
|
|
150189
|
+
// src/config/schema/local-entry.ts
|
|
150190
|
+
import { stat as stat2 } from "fs/promises";
|
|
150191
|
+
|
|
150192
|
+
// src/config/schema/relative-path.ts
|
|
150193
|
+
import { join as join11 } from "path";
|
|
150194
|
+
var basePath;
|
|
150195
|
+
var setLocalBasePath = (path2) => {
|
|
150196
|
+
basePath = path2;
|
|
150197
|
+
};
|
|
150198
|
+
var resolvePath = (path2) => {
|
|
150199
|
+
if (path2.startsWith(".") && basePath) {
|
|
150200
|
+
return join11(basePath, path2);
|
|
150201
|
+
}
|
|
150202
|
+
return path2;
|
|
150203
|
+
};
|
|
150204
|
+
var RelativePathSchema = exports_external.string().transform((path2) => resolvePath(path2));
|
|
150205
|
+
|
|
150206
|
+
// src/config/schema/local-entry.ts
|
|
150207
|
+
var LocalEntrySchema = exports_external.union([
|
|
150208
|
+
RelativePathSchema.refine(async (path2) => {
|
|
150209
|
+
try {
|
|
150210
|
+
const s2 = await stat2(path2);
|
|
150211
|
+
return s2.isFile() || s2.isDirectory();
|
|
150212
|
+
} catch (error3) {
|
|
150213
|
+
return false;
|
|
150214
|
+
}
|
|
150215
|
+
}, `File or directory doesn't exist`),
|
|
150216
|
+
exports_external.object({
|
|
150217
|
+
nocheck: RelativePathSchema.describe("Specifies a local file or directory without checking if the file or directory exists.")
|
|
150218
|
+
}).transform((v3) => v3.nocheck)
|
|
150219
|
+
]);
|
|
150220
|
+
|
|
150189
150221
|
// src/config/schema/config-ref.ts
|
|
150190
150222
|
var ConfigRefSchema = exports_external.string().regex(/^config:[a-z0-9-]+$/, "Invalid config reference");
|
|
150191
150223
|
var isConfigRef = (value) => {
|
|
@@ -150352,27 +150384,11 @@ var parse3 = (value) => {
|
|
|
150352
150384
|
};
|
|
150353
150385
|
|
|
150354
150386
|
// src/config/schema/local-file.ts
|
|
150355
|
-
import { stat as
|
|
150356
|
-
|
|
150357
|
-
// src/config/schema/relative-path.ts
|
|
150358
|
-
import { join as join11 } from "path";
|
|
150359
|
-
var basePath;
|
|
150360
|
-
var setLocalBasePath = (path2) => {
|
|
150361
|
-
basePath = path2;
|
|
150362
|
-
};
|
|
150363
|
-
var resolvePath = (path2) => {
|
|
150364
|
-
if (path2.startsWith(".") && basePath) {
|
|
150365
|
-
return join11(basePath, path2);
|
|
150366
|
-
}
|
|
150367
|
-
return path2;
|
|
150368
|
-
};
|
|
150369
|
-
var RelativePathSchema = exports_external.string().transform((path2) => resolvePath(path2));
|
|
150370
|
-
|
|
150371
|
-
// src/config/schema/local-file.ts
|
|
150387
|
+
import { stat as stat3 } from "fs/promises";
|
|
150372
150388
|
var LocalFileSchema = exports_external.union([
|
|
150373
150389
|
RelativePathSchema.refine(async (path2) => {
|
|
150374
150390
|
try {
|
|
150375
|
-
const s2 = await
|
|
150391
|
+
const s2 = await stat3(path2);
|
|
150376
150392
|
return s2.isFile();
|
|
150377
150393
|
} catch (error3) {
|
|
150378
150394
|
return false;
|
|
@@ -151222,11 +151238,11 @@ var IndexSchema = exports_external.object({
|
|
|
151222
151238
|
var SearchsSchema = exports_external.record(IndexNameSchema, IndexSchema).optional().describe("Define the search indexes in your stack, backed by the one shared OpenSearch domain of your app. The physical index name is prefixed with the stack name.");
|
|
151223
151239
|
|
|
151224
151240
|
// src/config/schema/local-directory.ts
|
|
151225
|
-
import { stat as
|
|
151241
|
+
import { stat as stat4 } from "fs/promises";
|
|
151226
151242
|
var LocalDirectorySchema = exports_external.union([
|
|
151227
151243
|
RelativePathSchema.refine(async (path2) => {
|
|
151228
151244
|
try {
|
|
151229
|
-
const s2 = await
|
|
151245
|
+
const s2 = await stat4(path2);
|
|
151230
151246
|
return s2.isDirectory();
|
|
151231
151247
|
} catch (error3) {
|
|
151232
151248
|
return false;
|
|
@@ -151304,6 +151320,7 @@ var AppSchema = exports_external.object({
|
|
|
151304
151320
|
profile: exports_external.string().describe("The AWS profile to deploy to."),
|
|
151305
151321
|
protect: exports_external.boolean().default(false).describe("Protect your app & stacks from being deleted."),
|
|
151306
151322
|
configs: ConfigsSchema,
|
|
151323
|
+
seed: LocalEntrySchema.optional().describe("The file that seeds your local dev environment with data. It runs with the full local environment on the first dev boot & through the dashboard reseed button. One app wide file, so the seeding order is explicit."),
|
|
151307
151324
|
removal: exports_external.enum(["remove", "retain"]).default("remove").describe([
|
|
151308
151325
|
"Configure how your resources are handled when they have to be removed.",
|
|
151309
151326
|
"",
|
|
@@ -151330,22 +151347,6 @@ var AppSchema = exports_external.object({
|
|
|
151330
151347
|
test: TestDefaultSchema
|
|
151331
151348
|
}).strict();
|
|
151332
151349
|
|
|
151333
|
-
// src/config/schema/local-entry.ts
|
|
151334
|
-
import { stat as stat4 } from "fs/promises";
|
|
151335
|
-
var LocalEntrySchema = exports_external.union([
|
|
151336
|
-
RelativePathSchema.refine(async (path2) => {
|
|
151337
|
-
try {
|
|
151338
|
-
const s2 = await stat4(path2);
|
|
151339
|
-
return s2.isFile() || s2.isDirectory();
|
|
151340
|
-
} catch (error3) {
|
|
151341
|
-
return false;
|
|
151342
|
-
}
|
|
151343
|
-
}, `File or directory doesn't exist`),
|
|
151344
|
-
exports_external.object({
|
|
151345
|
-
nocheck: RelativePathSchema.describe("Specifies a local file or directory without checking if the file or directory exists.")
|
|
151346
|
-
}).transform((v3) => v3.nocheck)
|
|
151347
|
-
]);
|
|
151348
|
-
|
|
151349
151350
|
// src/feature/cache/schema.ts
|
|
151350
151351
|
var StorageSchema = SizeSchema.refine(sizeMin(gibibytes(1)), "Minimum storage size is 1 GB").refine(sizeMax(gibibytes(5000)), "Maximum storage size is 5000 GB");
|
|
151351
151352
|
var MinimumStorageSchema = StorageSchema.describe("The lower limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB.");
|
|
@@ -151668,7 +151669,6 @@ var StackSchema = exports_external.object({
|
|
|
151668
151669
|
pubsub: PubSubSchema,
|
|
151669
151670
|
searchs: SearchsSchema,
|
|
151670
151671
|
sites: SitesSchema,
|
|
151671
|
-
seed: LocalEntrySchema.optional().describe("The file that seeds your local dev environment with data. It runs with the full local environment on the first dev boot & through the dashboard reseed button."),
|
|
151672
151672
|
tests: TestsSchema,
|
|
151673
151673
|
images: ImagesSchema,
|
|
151674
151674
|
icons: IconsSchema,
|
|
@@ -166209,7 +166209,7 @@ var watchConfig = async (options, resolve5, reject) => {
|
|
|
166209
166209
|
|
|
166210
166210
|
// src/dev/index.ts
|
|
166211
166211
|
import { loadWorkspace as loadWorkspace3 } from "@awsless/ts-file-cache";
|
|
166212
|
-
import { mkdir as
|
|
166212
|
+
import { mkdir as mkdir10, rm as rm12, writeFile as writeFile14 } from "fs/promises";
|
|
166213
166213
|
import { join as join54 } from "path";
|
|
166214
166214
|
|
|
166215
166215
|
// src/dev/context.ts
|
|
@@ -166518,88 +166518,50 @@ var createDevContext = (props) => {
|
|
|
166518
166518
|
|
|
166519
166519
|
// src/dev/seed.ts
|
|
166520
166520
|
import { spawn as spawn5 } from "child_process";
|
|
166521
|
-
import { mkdir as mkdir9, writeFile as writeFile12 } from "fs/promises";
|
|
166522
166521
|
import { isAbsolute as isAbsolute4, join as join50 } from "path";
|
|
166523
|
-
import { pathToFileURL } from "url";
|
|
166524
|
-
var MARKER = "__awsless_seed__:";
|
|
166525
166522
|
var createSeedRunner = (props) => {
|
|
166526
|
-
const
|
|
166527
|
-
name: stack.name,
|
|
166528
|
-
file: isAbsolute4(stack.seed) ? stack.seed : join50(directories.root, stack.seed)
|
|
166529
|
-
}));
|
|
166523
|
+
const file2 = props.seed && (isAbsolute4(props.seed) ? props.seed : join50(directories.root, props.seed));
|
|
166530
166524
|
let running;
|
|
166531
166525
|
const run = () => {
|
|
166532
166526
|
running ??= (async () => {
|
|
166533
166527
|
try {
|
|
166534
|
-
|
|
166535
|
-
return
|
|
166536
|
-
|
|
166537
|
-
|
|
166538
|
-
}).join("");
|
|
166539
|
-
const runnerDir = join50(directories.output, "local");
|
|
166540
|
-
const runnerFile = join50(runnerDir, "seed-runner.mjs");
|
|
166541
|
-
await mkdir9(runnerDir, { recursive: true });
|
|
166542
|
-
await writeFile12(runnerFile, runner);
|
|
166543
|
-
const timings = [];
|
|
166528
|
+
if (!file2) {
|
|
166529
|
+
return;
|
|
166530
|
+
}
|
|
166531
|
+
debug(`Seeding from ${props.seed}`);
|
|
166544
166532
|
await new Promise((resolve5, reject) => {
|
|
166545
|
-
const child = spawn5("bun", [
|
|
166533
|
+
const child = spawn5("bun", [file2], {
|
|
166546
166534
|
cwd: directories.root,
|
|
166547
166535
|
stdio: ["ignore", "pipe", "pipe"],
|
|
166548
166536
|
env: { ...process.env, ...props.env }
|
|
166549
166537
|
});
|
|
166550
|
-
let current;
|
|
166551
|
-
let started = Date.now();
|
|
166552
166538
|
const output = [];
|
|
166553
|
-
let buffered = "";
|
|
166554
166539
|
const capture = (chunk3) => {
|
|
166555
|
-
|
|
166556
|
-
let index;
|
|
166557
|
-
while ((index = buffered.indexOf(`
|
|
166558
|
-
`)) >= 0) {
|
|
166559
|
-
const line = buffered.slice(0, index);
|
|
166560
|
-
buffered = buffered.slice(index + 1);
|
|
166561
|
-
if (line.startsWith(MARKER)) {
|
|
166562
|
-
if (current) {
|
|
166563
|
-
timings.push([current, Date.now() - started]);
|
|
166564
|
-
}
|
|
166565
|
-
current = line.slice(MARKER.length);
|
|
166566
|
-
started = Date.now();
|
|
166567
|
-
debug(`Seeding the ${current} stack`);
|
|
166568
|
-
} else {
|
|
166569
|
-
output.push(line);
|
|
166570
|
-
}
|
|
166571
|
-
}
|
|
166540
|
+
output.push(chunk3.toString());
|
|
166572
166541
|
};
|
|
166573
166542
|
child.stdout?.on("data", capture);
|
|
166574
166543
|
child.stderr?.on("data", capture);
|
|
166575
166544
|
child.on("error", reject);
|
|
166576
166545
|
child.on("exit", (code) => {
|
|
166577
|
-
|
|
166578
|
-
`));
|
|
166579
|
-
const logs = output.join(`
|
|
166580
|
-
`).trim();
|
|
166546
|
+
const logs = output.join("").trim();
|
|
166581
166547
|
if (logs) {
|
|
166582
166548
|
debug(logs);
|
|
166583
166549
|
}
|
|
166584
166550
|
if (code === 0) {
|
|
166585
|
-
if (current) {
|
|
166586
|
-
timings.push([current, Date.now() - started]);
|
|
166587
|
-
}
|
|
166588
166551
|
resolve5();
|
|
166589
166552
|
} else {
|
|
166590
|
-
reject(new Error(`The seed
|
|
166553
|
+
reject(new Error(`The seed exited with code ${code}:
|
|
166591
166554
|
${logs}`));
|
|
166592
166555
|
}
|
|
166593
166556
|
});
|
|
166594
166557
|
});
|
|
166595
|
-
return timings;
|
|
166596
166558
|
} finally {
|
|
166597
166559
|
running = undefined;
|
|
166598
166560
|
}
|
|
166599
166561
|
})();
|
|
166600
166562
|
return running;
|
|
166601
166563
|
};
|
|
166602
|
-
return { count:
|
|
166564
|
+
return { count: file2 ? 1 : 0, run };
|
|
166603
166565
|
};
|
|
166604
166566
|
|
|
166605
166567
|
// src/dev/dashboard/index.ts
|
|
@@ -166607,13 +166569,13 @@ var import_ioredis5 = __toESM(require_built3(), 1);
|
|
|
166607
166569
|
import { DynamoDBClient as DynamoDBClient5 } from "@aws-sdk/client-dynamodb";
|
|
166608
166570
|
import { DynamoDBDocumentClient, ScanCommand as ScanCommand2 } from "@aws-sdk/lib-dynamodb";
|
|
166609
166571
|
import { randomUUID as randomUUID6 } from "crypto";
|
|
166610
|
-
import { readdir as readdir9, readFile as readFile22, stat as stat8, writeFile as
|
|
166572
|
+
import { readdir as readdir9, readFile as readFile22, stat as stat8, writeFile as writeFile13 } from "fs/promises";
|
|
166611
166573
|
import { createServer as createServer9 } from "http";
|
|
166612
166574
|
import { join as join52, relative as relative10, sep as sep5 } from "path";
|
|
166613
166575
|
|
|
166614
166576
|
// src/dev/worker.ts
|
|
166615
166577
|
import { spawn as spawn6 } from "child_process";
|
|
166616
|
-
import { writeFile as
|
|
166578
|
+
import { writeFile as writeFile12 } from "fs/promises";
|
|
166617
166579
|
import { join as join51 } from "path";
|
|
166618
166580
|
class WorkerError extends Error {
|
|
166619
166581
|
name;
|
|
@@ -166631,18 +166593,16 @@ import { format } from 'node:util'
|
|
|
166631
166593
|
let handler
|
|
166632
166594
|
let getCurrentRoute = () => undefined
|
|
166633
166595
|
|
|
166634
|
-
//
|
|
166635
|
-
//
|
|
166636
|
-
//
|
|
166637
|
-
//
|
|
166596
|
+
// Every console call writes ONE framed record: an invisible \\x1f
|
|
166597
|
+
// marker with the active bundle route & the json-encoded text, so
|
|
166598
|
+
// multi-line output stays a single log entry downstream. The route
|
|
166599
|
+
// comes from the bundle's async context, accurate even under
|
|
166600
|
+
// concurrent requests.
|
|
166638
166601
|
const patchConsole = (method, stream) => {
|
|
166639
166602
|
console[method] = (...args) => {
|
|
166640
166603
|
const route = getCurrentRoute() ?? ''
|
|
166641
|
-
const text = format(...args)
|
|
166642
166604
|
|
|
166643
|
-
|
|
166644
|
-
stream.write('\\x1f' + route + '\\x1f' + line + '\\n')
|
|
166645
|
-
}
|
|
166605
|
+
stream.write('\\x1f' + route + '\\x1f' + JSON.stringify(format(...args)) + '\\n')
|
|
166646
166606
|
}
|
|
166647
166607
|
}
|
|
166648
166608
|
|
|
@@ -166734,7 +166694,7 @@ var createBundleWorker = (props) => {
|
|
|
166734
166694
|
};
|
|
166735
166695
|
const start = async () => {
|
|
166736
166696
|
const entry = join51(props.buildDir, "worker.mjs");
|
|
166737
|
-
await
|
|
166697
|
+
await writeFile12(entry, WORKER_ENTRY);
|
|
166738
166698
|
port = await findFreePort();
|
|
166739
166699
|
child = spawn6("node", ["--enable-source-maps", entry], {
|
|
166740
166700
|
cwd: props.buildDir,
|
|
@@ -166745,24 +166705,32 @@ var createBundleWorker = (props) => {
|
|
|
166745
166705
|
AWSLESS_DEV_WORKER_PORT: String(port)
|
|
166746
166706
|
}
|
|
166747
166707
|
});
|
|
166708
|
+
const buffers = { stdout: "", stderr: "" };
|
|
166748
166709
|
const capture = (stream2) => (chunk3) => {
|
|
166749
|
-
|
|
166750
|
-
`
|
|
166710
|
+
buffers[stream2] += chunk3.toString();
|
|
166711
|
+
const parts = buffers[stream2].split(`
|
|
166712
|
+
`);
|
|
166713
|
+
buffers[stream2] = parts.pop() ?? "";
|
|
166714
|
+
for (const raw of parts) {
|
|
166751
166715
|
if (raw === "") {
|
|
166752
166716
|
continue;
|
|
166753
166717
|
}
|
|
166754
|
-
let
|
|
166718
|
+
let text2 = raw;
|
|
166755
166719
|
let route;
|
|
166756
166720
|
if (raw.startsWith("\x1F")) {
|
|
166757
166721
|
const end = raw.indexOf("\x1F", 1);
|
|
166758
166722
|
if (end > 0) {
|
|
166759
166723
|
route = raw.slice(1, end) || undefined;
|
|
166760
|
-
|
|
166724
|
+
try {
|
|
166725
|
+
text2 = JSON.parse(raw.slice(end + 1));
|
|
166726
|
+
} catch (_4) {
|
|
166727
|
+
text2 = raw.slice(end + 1);
|
|
166728
|
+
}
|
|
166761
166729
|
}
|
|
166762
166730
|
}
|
|
166763
|
-
process[stream2].write((route ? `[${route}] ` : "") +
|
|
166731
|
+
process[stream2].write((route ? `[${route}] ` : "") + text2 + `
|
|
166764
166732
|
`);
|
|
166765
|
-
const clean = stripAnsi2(
|
|
166733
|
+
const clean = stripAnsi2(text2);
|
|
166766
166734
|
if (clean.trim() !== "") {
|
|
166767
166735
|
props.onOutput?.(clean, stream2, route);
|
|
166768
166736
|
}
|
|
@@ -166875,9 +166843,12 @@ var dashboardHtml = `<!doctype html>
|
|
|
166875
166843
|
}
|
|
166876
166844
|
.logs .line { display: flex; gap: 8px; padding: 1px 0; }
|
|
166877
166845
|
.logs .time { color: var(--muted); flex-shrink: 0; }
|
|
166878
|
-
.logs .route { color: var(--accent);
|
|
166846
|
+
.logs .route { color: var(--accent); word-break: break-all; }
|
|
166879
166847
|
.logs .text { white-space: pre-wrap; word-break: break-word; }
|
|
166880
|
-
.logs .line.error .text { color: var(--bad); }
|
|
166848
|
+
.logs .line.error .text, .logs .entry.error .text { color: var(--bad); }
|
|
166849
|
+
.logs .entry { padding: 4px 0; }
|
|
166850
|
+
.logs .entry + .entry, .logs .line + .entry, .logs .entry + .line { border-top: 1px solid var(--border); }
|
|
166851
|
+
.logs .entry .meta { display: flex; gap: 8px; margin-bottom: 2px; }
|
|
166881
166852
|
.config-form { display: flex; flex-direction: column; gap: 8px; max-width: 520px; }
|
|
166882
166853
|
.config-form .field { display: grid; grid-template-columns: 180px 1fr; gap: 12px; align-items: center; }
|
|
166883
166854
|
.config-form .name { color: var(--muted); overflow-wrap: anywhere; }
|
|
@@ -167431,11 +167402,27 @@ const attachLogFeed = (main, channel, route, title = 'Logs') => {
|
|
|
167431
167402
|
}
|
|
167432
167403
|
|
|
167433
167404
|
feed.querySelector('.empty')?.remove()
|
|
167434
|
-
|
|
167435
|
-
|
|
167436
|
-
|
|
167437
|
-
|
|
167438
|
-
|
|
167405
|
+
|
|
167406
|
+
const error = data.error ? ' error' : ''
|
|
167407
|
+
const showRoute = !route && data.route
|
|
167408
|
+
|
|
167409
|
+
// Tagged or multi-line records render as a block with the
|
|
167410
|
+
// metadata on its own header line, so long route names never
|
|
167411
|
+
// squeeze the text. Plain lines keep the compact row.
|
|
167412
|
+
if (showRoute || data.line.includes('\\n')) {
|
|
167413
|
+
feed.append($('div', { className: 'entry' + error }, [
|
|
167414
|
+
$('div', { className: 'meta' }, [
|
|
167415
|
+
$('span', { className: 'time' }, new Date(data.date).toLocaleTimeString()),
|
|
167416
|
+
showRoute ? $('span', { className: 'route' }, data.route) : '',
|
|
167417
|
+
]),
|
|
167418
|
+
$('div', { className: 'text' }, data.line),
|
|
167419
|
+
]))
|
|
167420
|
+
} else {
|
|
167421
|
+
feed.append($('div', { className: 'line' + error }, [
|
|
167422
|
+
$('span', { className: 'time' }, new Date(data.date).toLocaleTimeString()),
|
|
167423
|
+
$('span', { className: 'text' }, data.line),
|
|
167424
|
+
]))
|
|
167425
|
+
}
|
|
167439
167426
|
|
|
167440
167427
|
// Only the last 200 lines stay around, pinned to the bottom.
|
|
167441
167428
|
while (feed.children.length > 200) {
|
|
@@ -168343,7 +168330,7 @@ var createDashboardServer = (props) => {
|
|
|
168343
168330
|
if (url.pathname === "/api/config") {
|
|
168344
168331
|
if (req.method === "PUT") {
|
|
168345
168332
|
const values2 = JSON.parse((await readBody3(req)).toString() || "{}");
|
|
168346
|
-
await
|
|
168333
|
+
await writeFile13(props.configFile, JSON.stringify(values2, null, "\t") + `
|
|
168347
168334
|
`);
|
|
168348
168335
|
return { status: 200, body: JSON.stringify({ ok: true }) };
|
|
168349
168336
|
}
|
|
@@ -168579,7 +168566,7 @@ var createLambdaServer = (props) => {
|
|
|
168579
168566
|
};
|
|
168580
168567
|
|
|
168581
168568
|
// src/dev/sdk.ts
|
|
168582
|
-
import { readdir as readdir10, readFile as readFile23, mkdir as
|
|
168569
|
+
import { readdir as readdir10, readFile as readFile23, mkdir as mkdir9, rm as rm11, symlink } from "fs/promises";
|
|
168583
168570
|
import { createRequire } from "module";
|
|
168584
168571
|
import { dirname as dirname22, join as join53 } from "path";
|
|
168585
168572
|
var linkSdkPackages = async (buildDir, onWarn) => {
|
|
@@ -168622,7 +168609,7 @@ var linkSdkPackages = async (buildDir, onWarn) => {
|
|
|
168622
168609
|
}
|
|
168623
168610
|
}
|
|
168624
168611
|
const target2 = join53(buildDir, "node_modules", name);
|
|
168625
|
-
await
|
|
168612
|
+
await mkdir9(dirname22(target2), { recursive: true });
|
|
168626
168613
|
await rm11(target2, { recursive: true, force: true });
|
|
168627
168614
|
await symlink(source, target2, "dir");
|
|
168628
168615
|
}
|
|
@@ -168645,7 +168632,7 @@ var startDev = async (props) => {
|
|
|
168645
168632
|
dev: true
|
|
168646
168633
|
});
|
|
168647
168634
|
ready2();
|
|
168648
|
-
await
|
|
168635
|
+
await mkdir10(join54(directories.output, "local"), { recursive: true });
|
|
168649
168636
|
const routerPorts = {};
|
|
168650
168637
|
Object.keys(appConfig.router ?? {}).forEach((id, index) => {
|
|
168651
168638
|
routerPorts[id] = props.port + 1 + index;
|
|
@@ -168700,7 +168687,7 @@ var startDev = async (props) => {
|
|
|
168700
168687
|
for (const [id, port] of Object.entries(routerPorts)) {
|
|
168701
168688
|
env5[`ROUTER_${constantCase(id)}_ENDPOINT`] = `localhost:${port}`;
|
|
168702
168689
|
}
|
|
168703
|
-
await
|
|
168690
|
+
await writeFile14(join54(directories.output, "local", "env.json"), JSON.stringify(env5, null, "\t") + `
|
|
168704
168691
|
`);
|
|
168705
168692
|
return { env: env5, lambda: lambda2 };
|
|
168706
168693
|
});
|
|
@@ -168715,7 +168702,7 @@ var startDev = async (props) => {
|
|
|
168715
168702
|
}
|
|
168716
168703
|
debug(`Build ${builder.type}:${builder.name}`, meta?.cached ? "cached" : String(meta?.buildTime));
|
|
168717
168704
|
}
|
|
168718
|
-
await
|
|
168705
|
+
await writeFile14(getBuildPath("bundle", bundleName, "files/awsless-env.mjs"), `export default {}
|
|
168719
168706
|
`);
|
|
168720
168707
|
await linkSdkPackages(buildDir, log);
|
|
168721
168708
|
return changed;
|
|
@@ -168798,12 +168785,12 @@ var startDev = async (props) => {
|
|
|
168798
168785
|
restartNeeded = true;
|
|
168799
168786
|
}
|
|
168800
168787
|
});
|
|
168801
|
-
const seeder = createSeedRunner({
|
|
168788
|
+
const seeder = createSeedRunner({ seed: appConfig.seed, env: env4 });
|
|
168802
168789
|
const resetData = createDataReset({ pool: props.pool, appConfig, stackConfigs });
|
|
168803
168790
|
if (firstBoot && seeder.count > 0 && !dirty) {
|
|
168804
168791
|
try {
|
|
168805
|
-
await phase({ start: "Seeding the local data...", done: "Seeded the local data" }, async (
|
|
168806
|
-
|
|
168792
|
+
await phase({ start: "Seeding the local data...", done: "Seeded the local data" }, async () => {
|
|
168793
|
+
await seeder.run();
|
|
168807
168794
|
});
|
|
168808
168795
|
} catch (error3) {
|
|
168809
168796
|
log(`Seeding failed: ${error3 instanceof Error ? error3.message : String(error3)}`);
|
|
@@ -168935,7 +168922,7 @@ var createServerPool = () => {
|
|
|
168935
168922
|
};
|
|
168936
168923
|
|
|
168937
168924
|
// src/type-gen/generate.ts
|
|
168938
|
-
import { mkdir as
|
|
168925
|
+
import { mkdir as mkdir11, writeFile as writeFile15 } from "fs/promises";
|
|
168939
168926
|
import { dirname as dirname23, join as join55, relative as relative11 } from "path";
|
|
168940
168927
|
var generateTypes = async (props) => {
|
|
168941
168928
|
const files = [];
|
|
@@ -168949,8 +168936,8 @@ var generateTypes = async (props) => {
|
|
|
168949
168936
|
if (include) {
|
|
168950
168937
|
files.push(relative11(directories.root, path6));
|
|
168951
168938
|
}
|
|
168952
|
-
await
|
|
168953
|
-
await
|
|
168939
|
+
await mkdir11(dirname23(path6), { recursive: true });
|
|
168940
|
+
await writeFile15(path6, code);
|
|
168954
168941
|
}
|
|
168955
168942
|
}
|
|
168956
168943
|
});
|
|
@@ -168958,7 +168945,7 @@ var generateTypes = async (props) => {
|
|
|
168958
168945
|
if (files.length) {
|
|
168959
168946
|
const code = files.map((file2) => `/// <reference path='${file2}' />`).join(`
|
|
168960
168947
|
`);
|
|
168961
|
-
await
|
|
168948
|
+
await writeFile15(join55(directories.root, `awsless.d.ts`), code);
|
|
168962
168949
|
}
|
|
168963
168950
|
};
|
|
168964
168951
|
|
|
@@ -184587,7 +184574,7 @@ var state = (program3) => {
|
|
|
184587
184574
|
};
|
|
184588
184575
|
|
|
184589
184576
|
// src/cli/command/test.ts
|
|
184590
|
-
import { mkdir as
|
|
184577
|
+
import { mkdir as mkdir12, writeFile as writeFile16 } from "fs/promises";
|
|
184591
184578
|
import { join as join57 } from "path";
|
|
184592
184579
|
|
|
184593
184580
|
// src/test/manifest.ts
|
|
@@ -184713,8 +184700,8 @@ var test2 = (program3) => {
|
|
|
184713
184700
|
await redis.ping();
|
|
184714
184701
|
manifest.servers.redis = { host: "127.0.0.1", port: await redis.getPort() };
|
|
184715
184702
|
}
|
|
184716
|
-
await
|
|
184717
|
-
await
|
|
184703
|
+
await mkdir12(join57(directories.output, "test"), { recursive: true });
|
|
184704
|
+
await writeFile16(manifestFile, JSON.stringify(manifest));
|
|
184718
184705
|
process.env.AWSLESS_TEST_MANIFEST = manifestFile;
|
|
184719
184706
|
let passed = false;
|
|
184720
184707
|
try {
|