@awsless/cli 0.0.46-local.12 → 0.0.46-local.13
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/bin.js +87 -47
- package/package.json +16 -16
package/dist/bin.js
CHANGED
|
@@ -152617,7 +152617,7 @@ class TypeFile {
|
|
|
152617
152617
|
this.module = module;
|
|
152618
152618
|
}
|
|
152619
152619
|
addImport(varName, path2) {
|
|
152620
|
-
this.imports.set(varName, path2);
|
|
152620
|
+
this.imports.set(varName, path2.replace(/\.(ts|tsx|mts)$/, ""));
|
|
152621
152621
|
return this;
|
|
152622
152622
|
}
|
|
152623
152623
|
addCode(code) {
|
|
@@ -154940,19 +154940,19 @@ var configFeature = defineFeature({
|
|
|
154940
154940
|
const gen = new TypeFile("awsless");
|
|
154941
154941
|
const resources = new TypeObject(0, false);
|
|
154942
154942
|
for (const name of ctx.appConfig.configs ?? []) {
|
|
154943
|
-
resources.
|
|
154943
|
+
resources.addConst(name, "string");
|
|
154944
154944
|
}
|
|
154945
154945
|
for (const stack of ctx.stackConfigs) {
|
|
154946
154946
|
for (const site of Object.values(stack.sites ?? {})) {
|
|
154947
154947
|
for (const name of site.build?.configs ?? []) {
|
|
154948
|
-
resources.
|
|
154948
|
+
resources.addConst(name, "string");
|
|
154949
154949
|
}
|
|
154950
154950
|
}
|
|
154951
154951
|
}
|
|
154952
154952
|
gen.addInterface("ConfigResources", resources.toString());
|
|
154953
|
-
const testConfigs = new TypeObject(2);
|
|
154953
|
+
const testConfigs = new TypeObject(2, false);
|
|
154954
154954
|
for (const name of ctx.appConfig.configs ?? []) {
|
|
154955
|
-
testConfigs.
|
|
154955
|
+
testConfigs.addConst(name, "string");
|
|
154956
154956
|
}
|
|
154957
154957
|
const testMock = new TypeObject(1);
|
|
154958
154958
|
testMock.addType("config", testConfigs);
|
|
@@ -165837,7 +165837,7 @@ var watchConfig = async (options, resolve5, reject) => {
|
|
|
165837
165837
|
|
|
165838
165838
|
// src/dev/index.ts
|
|
165839
165839
|
import { loadWorkspace as loadWorkspace3 } from "@awsless/ts-file-cache";
|
|
165840
|
-
import { mkdir as
|
|
165840
|
+
import { mkdir as mkdir11, rm as rm12, writeFile as writeFile14 } from "fs/promises";
|
|
165841
165841
|
import { join as join53 } from "path";
|
|
165842
165842
|
|
|
165843
165843
|
// src/dev/context.ts
|
|
@@ -166146,7 +166146,10 @@ var createDevContext = (props) => {
|
|
|
166146
166146
|
|
|
166147
166147
|
// src/dev/seed.ts
|
|
166148
166148
|
import { spawn as spawn5 } from "child_process";
|
|
166149
|
+
import { mkdir as mkdir9, writeFile as writeFile11 } from "fs/promises";
|
|
166149
166150
|
import { isAbsolute as isAbsolute4, join as join49 } from "path";
|
|
166151
|
+
import { pathToFileURL } from "url";
|
|
166152
|
+
var MARKER = "__awsless_seed__:";
|
|
166150
166153
|
var createSeedRunner = (props) => {
|
|
166151
166154
|
const seeds = props.stackConfigs.filter((stack) => stack.seed).map((stack) => ({
|
|
166152
166155
|
name: stack.name,
|
|
@@ -166156,33 +166159,68 @@ var createSeedRunner = (props) => {
|
|
|
166156
166159
|
const run = () => {
|
|
166157
166160
|
running ??= (async () => {
|
|
166158
166161
|
try {
|
|
166159
|
-
|
|
166160
|
-
|
|
166161
|
-
|
|
166162
|
-
|
|
166163
|
-
|
|
166164
|
-
|
|
166165
|
-
|
|
166166
|
-
|
|
166167
|
-
|
|
166168
|
-
|
|
166169
|
-
|
|
166170
|
-
|
|
166171
|
-
|
|
166172
|
-
|
|
166173
|
-
|
|
166174
|
-
|
|
166175
|
-
|
|
166176
|
-
|
|
166177
|
-
|
|
166178
|
-
|
|
166162
|
+
const runner = seeds.map((entry) => {
|
|
166163
|
+
return `console.log(${JSON.stringify(MARKER + entry.name)})
|
|
166164
|
+
await import(${JSON.stringify(pathToFileURL(entry.file).href)})
|
|
166165
|
+
`;
|
|
166166
|
+
}).join("");
|
|
166167
|
+
const runnerDir = join49(directories.output, "local");
|
|
166168
|
+
const runnerFile = join49(runnerDir, "seed-runner.mjs");
|
|
166169
|
+
await mkdir9(runnerDir, { recursive: true });
|
|
166170
|
+
await writeFile11(runnerFile, runner);
|
|
166171
|
+
const timings = [];
|
|
166172
|
+
await new Promise((resolve5, reject) => {
|
|
166173
|
+
const child = spawn5("bun", [runnerFile], {
|
|
166174
|
+
cwd: directories.root,
|
|
166175
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
166176
|
+
env: { ...process.env, ...props.env }
|
|
166177
|
+
});
|
|
166178
|
+
let current;
|
|
166179
|
+
let started = Date.now();
|
|
166180
|
+
const output = [];
|
|
166181
|
+
let buffered = "";
|
|
166182
|
+
const capture = (chunk3) => {
|
|
166183
|
+
buffered += chunk3.toString();
|
|
166184
|
+
let index;
|
|
166185
|
+
while ((index = buffered.indexOf(`
|
|
166186
|
+
`)) >= 0) {
|
|
166187
|
+
const line = buffered.slice(0, index);
|
|
166188
|
+
buffered = buffered.slice(index + 1);
|
|
166189
|
+
if (line.startsWith(MARKER)) {
|
|
166190
|
+
if (current) {
|
|
166191
|
+
timings.push([current, Date.now() - started]);
|
|
166192
|
+
}
|
|
166193
|
+
current = line.slice(MARKER.length);
|
|
166194
|
+
started = Date.now();
|
|
166195
|
+
debug(`Seeding the ${current} stack`);
|
|
166179
166196
|
} else {
|
|
166180
|
-
|
|
166181
|
-
${logs}`));
|
|
166197
|
+
output.push(line);
|
|
166182
166198
|
}
|
|
166183
|
-
}
|
|
166199
|
+
}
|
|
166200
|
+
};
|
|
166201
|
+
child.stdout?.on("data", capture);
|
|
166202
|
+
child.stderr?.on("data", capture);
|
|
166203
|
+
child.on("error", reject);
|
|
166204
|
+
child.on("exit", (code) => {
|
|
166205
|
+
capture(Buffer.from(`
|
|
166206
|
+
`));
|
|
166207
|
+
const logs = output.join(`
|
|
166208
|
+
`).trim();
|
|
166209
|
+
if (logs) {
|
|
166210
|
+
debug(logs);
|
|
166211
|
+
}
|
|
166212
|
+
if (code === 0) {
|
|
166213
|
+
if (current) {
|
|
166214
|
+
timings.push([current, Date.now() - started]);
|
|
166215
|
+
}
|
|
166216
|
+
resolve5();
|
|
166217
|
+
} else {
|
|
166218
|
+
reject(new Error(`The seed of the "${current ?? seeds[0]?.name}" stack exited with code ${code}:
|
|
166219
|
+
${logs}`));
|
|
166220
|
+
}
|
|
166184
166221
|
});
|
|
166185
|
-
}
|
|
166222
|
+
});
|
|
166223
|
+
return timings;
|
|
166186
166224
|
} finally {
|
|
166187
166225
|
running = undefined;
|
|
166188
166226
|
}
|
|
@@ -166197,13 +166235,13 @@ var import_ioredis5 = __toESM(require_built3(), 1);
|
|
|
166197
166235
|
import { DynamoDBClient as DynamoDBClient4 } from "@aws-sdk/client-dynamodb";
|
|
166198
166236
|
import { DynamoDBDocumentClient, ScanCommand as ScanCommand2 } from "@aws-sdk/lib-dynamodb";
|
|
166199
166237
|
import { randomUUID as randomUUID5 } from "crypto";
|
|
166200
|
-
import { readdir as readdir9, readFile as readFile21, stat as stat9, writeFile as
|
|
166238
|
+
import { readdir as readdir9, readFile as readFile21, stat as stat9, writeFile as writeFile13 } from "fs/promises";
|
|
166201
166239
|
import { createServer as createServer8 } from "http";
|
|
166202
166240
|
import { join as join51, relative as relative10, sep as sep5 } from "path";
|
|
166203
166241
|
|
|
166204
166242
|
// src/dev/worker.ts
|
|
166205
166243
|
import { spawn as spawn6 } from "child_process";
|
|
166206
|
-
import { writeFile as
|
|
166244
|
+
import { writeFile as writeFile12 } from "fs/promises";
|
|
166207
166245
|
import { join as join50 } from "path";
|
|
166208
166246
|
class WorkerError extends Error {
|
|
166209
166247
|
name;
|
|
@@ -166298,7 +166336,7 @@ var createBundleWorker = (props) => {
|
|
|
166298
166336
|
};
|
|
166299
166337
|
const start = async () => {
|
|
166300
166338
|
const entry = join50(props.buildDir, "worker.mjs");
|
|
166301
|
-
await
|
|
166339
|
+
await writeFile12(entry, WORKER_ENTRY);
|
|
166302
166340
|
port = await findFreePort();
|
|
166303
166341
|
child = spawn6("node", ["--enable-source-maps", entry], {
|
|
166304
166342
|
cwd: props.buildDir,
|
|
@@ -167595,7 +167633,7 @@ var createDashboardServer = (props) => {
|
|
|
167595
167633
|
if (url.pathname === "/api/config") {
|
|
167596
167634
|
if (req.method === "PUT") {
|
|
167597
167635
|
const values2 = JSON.parse((await readBody3(req)).toString() || "{}");
|
|
167598
|
-
await
|
|
167636
|
+
await writeFile13(props.configFile, JSON.stringify(values2, null, "\t") + `
|
|
167599
167637
|
`);
|
|
167600
167638
|
return { status: 200, body: JSON.stringify({ ok: true }) };
|
|
167601
167639
|
}
|
|
@@ -167831,7 +167869,7 @@ var createLambdaServer = (props) => {
|
|
|
167831
167869
|
};
|
|
167832
167870
|
|
|
167833
167871
|
// src/dev/sdk.ts
|
|
167834
|
-
import { readdir as readdir10, readFile as readFile22, mkdir as
|
|
167872
|
+
import { readdir as readdir10, readFile as readFile22, mkdir as mkdir10, rm as rm11, symlink } from "fs/promises";
|
|
167835
167873
|
import { createRequire } from "module";
|
|
167836
167874
|
import { dirname as dirname22, join as join52 } from "path";
|
|
167837
167875
|
var linkSdkPackages = async (buildDir, onWarn) => {
|
|
@@ -167861,7 +167899,7 @@ var linkSdkPackages = async (buildDir, onWarn) => {
|
|
|
167861
167899
|
continue;
|
|
167862
167900
|
}
|
|
167863
167901
|
const target2 = join52(buildDir, "node_modules", name);
|
|
167864
|
-
await
|
|
167902
|
+
await mkdir10(dirname22(target2), { recursive: true });
|
|
167865
167903
|
await rm11(target2, { recursive: true, force: true });
|
|
167866
167904
|
await symlink(source, target2, "dir");
|
|
167867
167905
|
}
|
|
@@ -167883,7 +167921,7 @@ var startDev = async (props) => {
|
|
|
167883
167921
|
accountId: LOCAL_ACCOUNT_ID,
|
|
167884
167922
|
dev: true
|
|
167885
167923
|
});
|
|
167886
|
-
await
|
|
167924
|
+
await mkdir11(join53(directories.output, "local"), { recursive: true });
|
|
167887
167925
|
const routerPorts = {};
|
|
167888
167926
|
Object.keys(appConfig.router ?? {}).forEach((id, index) => {
|
|
167889
167927
|
routerPorts[id] = props.port + 1 + index;
|
|
@@ -167938,7 +167976,7 @@ var startDev = async (props) => {
|
|
|
167938
167976
|
for (const [id, port] of Object.entries(routerPorts)) {
|
|
167939
167977
|
env5[`ROUTER_${constantCase(id)}_ENDPOINT`] = `localhost:${port}`;
|
|
167940
167978
|
}
|
|
167941
|
-
await
|
|
167979
|
+
await writeFile14(join53(directories.output, "local", "env.json"), JSON.stringify(env5, null, "\t") + `
|
|
167942
167980
|
`);
|
|
167943
167981
|
return { env: env5, lambda: lambda2 };
|
|
167944
167982
|
});
|
|
@@ -167953,7 +167991,7 @@ var startDev = async (props) => {
|
|
|
167953
167991
|
}
|
|
167954
167992
|
debug(`Build ${builder.type}:${builder.name}`, meta?.cached ? "cached" : String(meta?.buildTime));
|
|
167955
167993
|
}
|
|
167956
|
-
await
|
|
167994
|
+
await writeFile14(getBuildPath("bundle", bundleName, "files/awsless-env.mjs"), `export default {}
|
|
167957
167995
|
`);
|
|
167958
167996
|
await linkSdkPackages(buildDir, log);
|
|
167959
167997
|
return changed;
|
|
@@ -168026,7 +168064,9 @@ var startDev = async (props) => {
|
|
|
168026
168064
|
const resetData = createDataReset({ pool: props.pool, appConfig, stackConfigs });
|
|
168027
168065
|
if (firstBoot && seeder.count > 0 && !dirty) {
|
|
168028
168066
|
try {
|
|
168029
|
-
await phase({ start: "Seeding the local data...", done: "Seeded the local data" }, () =>
|
|
168067
|
+
await phase({ start: "Seeding the local data...", done: "Seeded the local data" }, async (detail) => {
|
|
168068
|
+
detail(breakdown(await seeder.run()));
|
|
168069
|
+
});
|
|
168030
168070
|
} catch (error3) {
|
|
168031
168071
|
log(`Seeding failed: ${error3 instanceof Error ? error3.message : String(error3)}`);
|
|
168032
168072
|
}
|
|
@@ -168146,7 +168186,7 @@ var createServerPool = () => {
|
|
|
168146
168186
|
};
|
|
168147
168187
|
|
|
168148
168188
|
// src/type-gen/generate.ts
|
|
168149
|
-
import { mkdir as
|
|
168189
|
+
import { mkdir as mkdir12, writeFile as writeFile15 } from "fs/promises";
|
|
168150
168190
|
import { dirname as dirname23, join as join54, relative as relative11 } from "path";
|
|
168151
168191
|
var generateTypes = async (props) => {
|
|
168152
168192
|
const files = [];
|
|
@@ -168160,8 +168200,8 @@ var generateTypes = async (props) => {
|
|
|
168160
168200
|
if (include) {
|
|
168161
168201
|
files.push(relative11(directories.root, path6));
|
|
168162
168202
|
}
|
|
168163
|
-
await
|
|
168164
|
-
await
|
|
168203
|
+
await mkdir12(dirname23(path6), { recursive: true });
|
|
168204
|
+
await writeFile15(path6, code);
|
|
168165
168205
|
}
|
|
168166
168206
|
}
|
|
168167
168207
|
});
|
|
@@ -168169,7 +168209,7 @@ var generateTypes = async (props) => {
|
|
|
168169
168209
|
if (files.length) {
|
|
168170
168210
|
const code = files.map((file2) => `/// <reference path='${file2}' />`).join(`
|
|
168171
168211
|
`);
|
|
168172
|
-
await
|
|
168212
|
+
await writeFile15(join54(directories.root, `awsless.d.ts`), code);
|
|
168173
168213
|
}
|
|
168174
168214
|
};
|
|
168175
168215
|
|
|
@@ -183798,7 +183838,7 @@ var state = (program3) => {
|
|
|
183798
183838
|
};
|
|
183799
183839
|
|
|
183800
183840
|
// src/cli/command/test.ts
|
|
183801
|
-
import { mkdir as
|
|
183841
|
+
import { mkdir as mkdir13, writeFile as writeFile16 } from "fs/promises";
|
|
183802
183842
|
import { join as join56 } from "path";
|
|
183803
183843
|
|
|
183804
183844
|
// src/test/manifest.ts
|
|
@@ -183927,8 +183967,8 @@ var test2 = (program3) => {
|
|
|
183927
183967
|
await redis.ping();
|
|
183928
183968
|
manifest.servers.redis = { host: "127.0.0.1", port: await redis.getPort() };
|
|
183929
183969
|
}
|
|
183930
|
-
await
|
|
183931
|
-
await
|
|
183970
|
+
await mkdir13(join56(directories.output, "test"), { recursive: true });
|
|
183971
|
+
await writeFile16(manifestFile, JSON.stringify(manifest));
|
|
183932
183972
|
process.env.AWSLESS_TEST_MANIFEST = manifestFile;
|
|
183933
183973
|
let passed = false;
|
|
183934
183974
|
try {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awsless/cli",
|
|
3
|
-
"version": "0.0.46-local.
|
|
3
|
+
"version": "0.0.46-local.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@awsless/big-float": "^0.1.7",
|
|
46
|
+
"@awsless/dynamodb": "^0.3.22",
|
|
46
47
|
"@awsless/duration": "^0.0.4",
|
|
47
48
|
"@awsless/json": "^0.0.11",
|
|
48
|
-
"@awsless/dynamodb": "^0.3.22",
|
|
49
49
|
"@awsless/lambda": "^0.0.47",
|
|
50
|
-
"@awsless/validate": "^0.1.7",
|
|
51
|
-
"@awsless/s3": "^0.0.22",
|
|
52
50
|
"@awsless/weak-cache": "^0.0.1",
|
|
53
|
-
"awsless": "^0.0.
|
|
51
|
+
"@awsless/s3": "^0.0.22",
|
|
52
|
+
"awsless": "^0.0.15-local.6",
|
|
53
|
+
"@awsless/validate": "^0.1.7"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@aws-sdk/client-cloudformation": "^3.369.0",
|
|
@@ -121,24 +121,24 @@
|
|
|
121
121
|
"zod": "^3.24.2",
|
|
122
122
|
"zod-to-json-schema": "^3.24.3",
|
|
123
123
|
"@awsless/clui": "^0.0.9",
|
|
124
|
-
"@awsless/cloudwatch": "^0.0.1",
|
|
125
124
|
"@awsless/big-float": "^0.1.7",
|
|
126
|
-
"@awsless/
|
|
127
|
-
"@awsless/iot": "^0.0.5",
|
|
125
|
+
"@awsless/cloudwatch": "^0.0.1",
|
|
128
126
|
"@awsless/dynamodb": "^0.3.22",
|
|
129
|
-
"@awsless/lambda": "^0.0.47",
|
|
130
127
|
"@awsless/json": "^0.0.11",
|
|
131
|
-
"@awsless/
|
|
132
|
-
"@awsless/scheduler": "^0.0.5",
|
|
133
|
-
"@awsless/redis": "^0.1.13",
|
|
134
|
-
"@awsless/sns": "^0.0.11",
|
|
128
|
+
"@awsless/lambda": "^0.0.47",
|
|
135
129
|
"@awsless/open-search": "^0.0.24",
|
|
130
|
+
"@awsless/duration": "^0.0.4",
|
|
131
|
+
"@awsless/redis": "^0.1.13",
|
|
136
132
|
"@awsless/size": "^0.0.2",
|
|
137
133
|
"@awsless/sqs": "^0.0.24",
|
|
138
|
-
"@awsless/
|
|
134
|
+
"@awsless/scheduler": "^0.0.5",
|
|
135
|
+
"@awsless/ssm": "^0.0.8",
|
|
139
136
|
"@awsless/weak-cache": "^0.0.1",
|
|
140
|
-
"awsless": "^0.
|
|
141
|
-
"@awsless/
|
|
137
|
+
"@awsless/validate": "^0.1.7",
|
|
138
|
+
"@awsless/s3": "^0.0.22",
|
|
139
|
+
"@awsless/sns": "^0.0.11",
|
|
140
|
+
"awsless": "^0.0.15-local.6",
|
|
141
|
+
"@awsless/iot": "^0.0.5"
|
|
142
142
|
},
|
|
143
143
|
"scripts": {
|
|
144
144
|
"test": "bun cli/build-handlers.ts && pnpm vitest",
|