@awsless/cli 0.0.46-local.3 → 0.0.46-local.5

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.
Files changed (2) hide show
  1. package/dist/bin.js +43 -26
  2. package/package.json +16 -16
package/dist/bin.js CHANGED
@@ -151268,7 +151268,7 @@ var IndexSchema = exports_external.object({
151268
151268
  strict: exports_external.boolean().optional().describe("Reject documents with fields that are missing from the schema."),
151269
151269
  mappings: MappingsSchema.optional(),
151270
151270
  settings: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("The OpenSearch index settings, applied when the index is created.")
151271
- }).refine((props) => !(props.schema && props.mappings), {
151271
+ }).strict().refine((props) => !(props.schema && props.mappings), {
151272
151272
  message: 'Define either "schema" or "mappings" for an index, not both.'
151273
151273
  }).refine((props) => !(props.strict && !props.schema), {
151274
151274
  message: 'The "strict" option only works together with "schema".'
@@ -154997,17 +154997,17 @@ var configFeature = defineFeature({
154997
154997
  ctx.registerResource({ kind: "config", id: name });
154998
154998
  }
154999
154999
  const file2 = join18(directories.output, "local", "config.json");
155000
- const server = createSsmServer({ file: file2 });
155001
- const port = await server.listen();
155000
+ const { server, port } = await ctx.keep("shim:ssm", file2, async () => {
155001
+ const server2 = createSsmServer({ file: file2 });
155002
+ const port2 = await server2.listen();
155003
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
155004
+ });
155002
155005
  ctx.addEnv("AWS_ENDPOINT_URL_SSM", `http://127.0.0.1:${port}`);
155003
155006
  ctx.restartOnChange(file2);
155004
155007
  ctx.registerServer({
155005
155008
  name: "config",
155006
155009
  start({ log }) {
155007
155010
  server.connect(log);
155008
- },
155009
- stop() {
155010
- return server.stop();
155011
155011
  }
155012
155012
  });
155013
155013
  }
@@ -157422,12 +157422,15 @@ var queueFeature = defineFeature({
157422
157422
  queueRoutes.set(name, formatRouteKey(stackName, "queue", id));
157423
157423
  return { stackName, id, name };
157424
157424
  });
157425
- const server = createSqsServer({
157426
- region: ctx.appConfig.region,
157427
- accountId: "000000000000",
157428
- queues: queueRoutes
157425
+ const { server, port } = await ctx.keep("shim:sqs", queueRoutes, async () => {
157426
+ const server2 = createSqsServer({
157427
+ region: ctx.appConfig.region,
157428
+ accountId: "000000000000",
157429
+ queues: queueRoutes
157430
+ });
157431
+ const port2 = await server2.listen();
157432
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
157429
157433
  });
157430
- const port = await server.listen();
157431
157434
  ctx.addEnv("AWS_ENDPOINT_URL_SQS", `http://127.0.0.1:${port}`);
157432
157435
  for (const { stackName, id, name } of named) {
157433
157436
  ctx.addEnv(`QUEUE_${constantCase(stackName)}_${constantCase(id)}_URL`, `http://127.0.0.1:${port}/000000000000/${name}`);
@@ -157443,9 +157446,6 @@ var queueFeature = defineFeature({
157443
157446
  name: "sqs",
157444
157447
  start({ dispatch, reportFailure }) {
157445
157448
  server.connect(dispatch, reportFailure);
157446
- },
157447
- stop() {
157448
- return server.stop();
157449
157449
  }
157450
157450
  });
157451
157451
  },
@@ -157597,6 +157597,8 @@ var formatWebEvent = (request, route, body, url, sourceIp) => {
157597
157597
  headers[name] = value;
157598
157598
  }
157599
157599
  headers[ROUTE_HEADER] = route.routeKey;
157600
+ headers["cloudfront-viewer-address"] ??= `${sourceIp}:0`;
157601
+ headers["cloudfront-viewer-country"] ??= "US";
157600
157602
  for (const [name, value] of Object.entries(route.params)) {
157601
157603
  headers[`x-param-${name.toLowerCase()}`] = value;
157602
157604
  }
@@ -157707,7 +157709,11 @@ var startDevRouter = async (props) => {
157707
157709
  body: request.body,
157708
157710
  redirect: "manual"
157709
157711
  });
157710
- return new Response(proxied.body, { status: proxied.status, headers: proxied.headers });
157712
+ return new Response(proxied.body, {
157713
+ status: proxied.status,
157714
+ statusText: proxied.statusText,
157715
+ headers: proxied.headers
157716
+ });
157711
157717
  }
157712
157718
  if (!route.routeKey) {
157713
157719
  return new Response(`No route matched: ${url.pathname}`, { status: 404 });
@@ -159511,16 +159517,16 @@ var taskFeature = defineFeature({
159511
159517
  routeKey: formatRouteKey(stackName, "task", id)
159512
159518
  });
159513
159519
  }
159514
- const server = createSchedulerServer();
159515
- const port = await server.listen();
159520
+ const { server, port } = await ctx.keep("shim:scheduler", null, async () => {
159521
+ const server2 = createSchedulerServer();
159522
+ const port2 = await server2.listen();
159523
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
159524
+ });
159516
159525
  ctx.addEnv("AWS_ENDPOINT_URL_SCHEDULER", `http://127.0.0.1:${port}`);
159517
159526
  ctx.registerServer({
159518
159527
  name: "scheduler",
159519
159528
  start({ dispatch, reportFailure }) {
159520
159529
  server.connect(dispatch, reportFailure);
159521
- },
159522
- stop() {
159523
- return server.stop();
159524
159530
  }
159525
159531
  });
159526
159532
  },
@@ -159704,16 +159710,16 @@ var topicFeature = defineFeature({
159704
159710
  });
159705
159711
  }
159706
159712
  }
159707
- const server = createSnsServer();
159708
- const port = await server.listen();
159713
+ const { server, port } = await ctx.keep("shim:sns", null, async () => {
159714
+ const server2 = createSnsServer();
159715
+ const port2 = await server2.listen();
159716
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
159717
+ });
159709
159718
  ctx.addEnv("AWS_ENDPOINT_URL_SNS", `http://127.0.0.1:${port}`);
159710
159719
  ctx.registerServer({
159711
159720
  name: "sns",
159712
159721
  start({ dispatch, reportFailure }) {
159713
159722
  server.connect(dispatch, reportFailure);
159714
- },
159715
- stop() {
159716
- return server.stop();
159717
159723
  }
159718
159724
  });
159719
159725
  },
@@ -167817,6 +167823,8 @@ var startDev = async (props) => {
167817
167823
  for (const feature of features) {
167818
167824
  await feature.onDev?.(dev.context);
167819
167825
  }
167826
+ props.pool.retain("blocked");
167827
+ props.pool.retain("lambda");
167820
167828
  await props.pool.sweep();
167821
167829
  const blocked = await props.pool.keep("blocked", null, async () => {
167822
167830
  const server = createBlockedServer({ onLog: (message4) => debug(message4) });
@@ -167876,8 +167884,9 @@ var startDev = async (props) => {
167876
167884
  const started = Date.now();
167877
167885
  try {
167878
167886
  await buildAll();
167887
+ const built = Date.now();
167879
167888
  await worker.restart();
167880
- log(`Reloaded the bundle in ${Date.now() - started}ms`);
167889
+ log(`Reloaded the bundle in ${Date.now() - started}ms (build ${built - started}ms, worker ${Date.now() - built}ms)`);
167881
167890
  } catch (error3) {
167882
167891
  dirty = true;
167883
167892
  throw error3;
@@ -167950,8 +167959,15 @@ var startDev = async (props) => {
167950
167959
  ignoreInitial: true,
167951
167960
  awaitWriteFinish: { stabilityThreshold: 100, pollInterval: 50 }
167952
167961
  });
167962
+ let rebuildTimer;
167953
167963
  watcher.on("all", () => {
167954
167964
  dirty = true;
167965
+ clearTimeout(rebuildTimer);
167966
+ rebuildTimer = setTimeout(() => {
167967
+ ensureFresh().catch((error3) => {
167968
+ debug("Background rebuild failed", error3);
167969
+ });
167970
+ }, 150);
167955
167971
  });
167956
167972
  const restartWatcher = dev.restartPaths.length > 0 ? $watch(dev.restartPaths, { ignoreInitial: true }) : undefined;
167957
167973
  restartWatcher?.on("all", () => {
@@ -167963,6 +167979,7 @@ var startDev = async (props) => {
167963
167979
  routerPorts,
167964
167980
  async stop() {
167965
167981
  await rm12(join53(directories.output, "local", "env.json"), { force: true });
167982
+ clearTimeout(rebuildTimer);
167966
167983
  await watcher.close();
167967
167984
  await restartWatcher?.close();
167968
167985
  for (const router of routers) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/cli",
3
- "version": "0.0.46-local.3",
3
+ "version": "0.0.46-local.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -38,16 +38,16 @@
38
38
  "@opensearch-project/opensearch": "^2.13.0",
39
39
  "rolldown": "1.2.1",
40
40
  "vitest": "4.1.10",
41
- "@awsless/ts-file-cache": "^0.0.16",
42
- "@awsless/dynamodb-server": "^0.1.8"
41
+ "@awsless/dynamodb-server": "^0.1.8",
42
+ "@awsless/ts-file-cache": "^0.0.16"
43
43
  },
44
44
  "peerDependencies": {
45
- "@awsless/big-float": "^0.1.7",
46
- "@awsless/dynamodb": "^0.3.22",
45
+ "@awsless/s3": "^0.0.22",
46
+ "@awsless/lambda": "^0.0.47",
47
47
  "@awsless/duration": "^0.0.4",
48
48
  "@awsless/json": "^0.0.11",
49
- "@awsless/lambda": "^0.0.47",
50
- "@awsless/s3": "^0.0.22",
49
+ "@awsless/big-float": "^0.1.7",
50
+ "@awsless/dynamodb": "^0.3.22",
51
51
  "@awsless/validate": "^0.1.7",
52
52
  "@awsless/weak-cache": "^0.0.1",
53
53
  "awsless": "^0.0.15-local.3"
@@ -121,24 +121,24 @@
121
121
  "zod": "^3.24.2",
122
122
  "zod-to-json-schema": "^3.24.3",
123
123
  "@awsless/big-float": "^0.1.7",
124
- "@awsless/clui": "^0.0.9",
124
+ "@awsless/cloudwatch": "^0.0.1",
125
125
  "@awsless/duration": "^0.0.4",
126
- "@awsless/dynamodb": "^0.3.22",
126
+ "@awsless/clui": "^0.0.9",
127
127
  "@awsless/iot": "^0.0.5",
128
128
  "@awsless/json": "^0.0.11",
129
- "@awsless/cloudwatch": "^0.0.1",
130
- "@awsless/open-search": "^0.0.24",
131
129
  "@awsless/lambda": "^0.0.47",
130
+ "@awsless/dynamodb": "^0.3.22",
131
+ "@awsless/open-search": "^0.0.24",
132
+ "@awsless/s3": "^0.0.22",
132
133
  "@awsless/redis": "^0.1.13",
133
134
  "@awsless/scheduler": "^0.0.5",
134
- "@awsless/size": "^0.0.2",
135
135
  "@awsless/sns": "^0.0.11",
136
- "@awsless/s3": "^0.0.22",
137
- "@awsless/ssm": "^0.0.8",
136
+ "@awsless/size": "^0.0.2",
138
137
  "@awsless/validate": "^0.1.7",
138
+ "@awsless/ssm": "^0.0.8",
139
+ "@awsless/sqs": "^0.0.24",
139
140
  "@awsless/weak-cache": "^0.0.1",
140
- "awsless": "^0.0.15-local.3",
141
- "@awsless/sqs": "^0.0.24"
141
+ "awsless": "^0.0.15-local.3"
142
142
  },
143
143
  "scripts": {
144
144
  "test": "bun cli/build-handlers.ts && pnpm vitest",