@awsless/cli 0.0.46-local.2 → 0.0.46-local.4

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 +50 -27
  2. package/package.json +12 -12
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".'
@@ -154974,6 +154974,21 @@ var configFeature = defineFeature({
154974
154974
  },
154975
154975
  async onDev(ctx) {
154976
154976
  const names = new Set(ctx.appConfig.configs ?? []);
154977
+ for (const stack of ctx.stackConfigs) {
154978
+ for (const props of Object.values(stack.functions ?? {})) {
154979
+ for (const name of props.sandbox?.configs ?? []) {
154980
+ names.add(name);
154981
+ }
154982
+ }
154983
+ for (const site of Object.values(stack.sites ?? {})) {
154984
+ for (const name of site.build?.configs ?? []) {
154985
+ names.add(name);
154986
+ }
154987
+ for (const name of site.ssr?.sandbox?.configs ?? []) {
154988
+ names.add(name);
154989
+ }
154990
+ }
154991
+ }
154977
154992
  if (names.size === 0) {
154978
154993
  return;
154979
154994
  }
@@ -154982,17 +154997,17 @@ var configFeature = defineFeature({
154982
154997
  ctx.registerResource({ kind: "config", id: name });
154983
154998
  }
154984
154999
  const file2 = join18(directories.output, "local", "config.json");
154985
- const server = createSsmServer({ file: file2 });
154986
- 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
+ });
154987
155005
  ctx.addEnv("AWS_ENDPOINT_URL_SSM", `http://127.0.0.1:${port}`);
154988
155006
  ctx.restartOnChange(file2);
154989
155007
  ctx.registerServer({
154990
155008
  name: "config",
154991
155009
  start({ log }) {
154992
155010
  server.connect(log);
154993
- },
154994
- stop() {
154995
- return server.stop();
154996
155011
  }
154997
155012
  });
154998
155013
  }
@@ -155947,7 +155962,7 @@ var functionFeature = defineFeature({
155947
155962
  onStack(ctx) {
155948
155963
  for (const [id, props] of Object.entries(ctx.stackConfig.functions ?? {})) {
155949
155964
  const routeKey = formatRouteKey(ctx.stack.name, "function", id);
155950
- if (!isStandaloneFunction(props)) {
155965
+ if (!isStandaloneFunction(props) || ctx.dev) {
155951
155966
  registerBundleFunction(ctx, routeKey, props);
155952
155967
  continue;
155953
155968
  }
@@ -157407,12 +157422,15 @@ var queueFeature = defineFeature({
157407
157422
  queueRoutes.set(name, formatRouteKey(stackName, "queue", id));
157408
157423
  return { stackName, id, name };
157409
157424
  });
157410
- const server = createSqsServer({
157411
- region: ctx.appConfig.region,
157412
- accountId: "000000000000",
157413
- 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() };
157414
157433
  });
157415
- const port = await server.listen();
157416
157434
  ctx.addEnv("AWS_ENDPOINT_URL_SQS", `http://127.0.0.1:${port}`);
157417
157435
  for (const { stackName, id, name } of named) {
157418
157436
  ctx.addEnv(`QUEUE_${constantCase(stackName)}_${constantCase(id)}_URL`, `http://127.0.0.1:${port}/000000000000/${name}`);
@@ -157428,9 +157446,6 @@ var queueFeature = defineFeature({
157428
157446
  name: "sqs",
157429
157447
  start({ dispatch, reportFailure }) {
157430
157448
  server.connect(dispatch, reportFailure);
157431
- },
157432
- stop() {
157433
- return server.stop();
157434
157449
  }
157435
157450
  });
157436
157451
  },
@@ -157582,6 +157597,8 @@ var formatWebEvent = (request, route, body, url, sourceIp) => {
157582
157597
  headers[name] = value;
157583
157598
  }
157584
157599
  headers[ROUTE_HEADER] = route.routeKey;
157600
+ headers["cloudfront-viewer-address"] ??= `${sourceIp}:0`;
157601
+ headers["cloudfront-viewer-country"] ??= "US";
157585
157602
  for (const [name, value] of Object.entries(route.params)) {
157586
157603
  headers[`x-param-${name.toLowerCase()}`] = value;
157587
157604
  }
@@ -158707,7 +158724,7 @@ ${(errors3.trim() || output.trim()).slice(-2000)}`);
158707
158724
  });
158708
158725
  });
158709
158726
  }
158710
- if (props.ssr && isStandaloneFunction(props.ssr)) {
158727
+ if (props.ssr && isStandaloneFunction(props.ssr) && !ctx.dev) {
158711
158728
  const fn = createLambdaFunction(ctx, `${id}-ssr`, props.ssr);
158712
158729
  if (ctx.shared.has("router", "endpoint", props.router)) {
158713
158730
  fn.setEnvironment(`ROUTER_${constantCase(props.router)}_ENDPOINT`, ctx.shared.entry("router", "endpoint", props.router));
@@ -159496,16 +159513,16 @@ var taskFeature = defineFeature({
159496
159513
  routeKey: formatRouteKey(stackName, "task", id)
159497
159514
  });
159498
159515
  }
159499
- const server = createSchedulerServer();
159500
- const port = await server.listen();
159516
+ const { server, port } = await ctx.keep("shim:scheduler", null, async () => {
159517
+ const server2 = createSchedulerServer();
159518
+ const port2 = await server2.listen();
159519
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
159520
+ });
159501
159521
  ctx.addEnv("AWS_ENDPOINT_URL_SCHEDULER", `http://127.0.0.1:${port}`);
159502
159522
  ctx.registerServer({
159503
159523
  name: "scheduler",
159504
159524
  start({ dispatch, reportFailure }) {
159505
159525
  server.connect(dispatch, reportFailure);
159506
- },
159507
- stop() {
159508
- return server.stop();
159509
159526
  }
159510
159527
  });
159511
159528
  },
@@ -159689,16 +159706,16 @@ var topicFeature = defineFeature({
159689
159706
  });
159690
159707
  }
159691
159708
  }
159692
- const server = createSnsServer();
159693
- const port = await server.listen();
159709
+ const { server, port } = await ctx.keep("shim:sns", null, async () => {
159710
+ const server2 = createSnsServer();
159711
+ const port2 = await server2.listen();
159712
+ return { value: { server: server2, port: port2 }, stop: () => server2.stop() };
159713
+ });
159694
159714
  ctx.addEnv("AWS_ENDPOINT_URL_SNS", `http://127.0.0.1:${port}`);
159695
159715
  ctx.registerServer({
159696
159716
  name: "sns",
159697
159717
  start({ dispatch, reportFailure }) {
159698
159718
  server.connect(dispatch, reportFailure);
159699
- },
159700
- stop() {
159701
- return server.stop();
159702
159719
  }
159703
159720
  });
159704
159721
  },
@@ -163272,6 +163289,7 @@ var createApp = (props) => {
163272
163289
  feature.onBefore?.({
163273
163290
  ...props,
163274
163291
  import: props.import ?? false,
163292
+ dev: props.dev ?? false,
163275
163293
  app,
163276
163294
  appId,
163277
163295
  base,
@@ -163286,6 +163304,7 @@ var createApp = (props) => {
163286
163304
  feature.onApp?.({
163287
163305
  ...props,
163288
163306
  import: props.import ?? false,
163307
+ dev: props.dev ?? false,
163289
163308
  app,
163290
163309
  appId,
163291
163310
  base,
@@ -163347,6 +163366,7 @@ var createApp = (props) => {
163347
163366
  feature.onStack?.({
163348
163367
  ...props,
163349
163368
  import: props.import ?? false,
163369
+ dev: props.dev ?? false,
163350
163370
  stackConfig,
163351
163371
  app,
163352
163372
  appId,
@@ -167783,7 +167803,8 @@ var startDev = async (props) => {
167783
167803
  const { builders, appId } = createApp({
167784
167804
  appConfig,
167785
167805
  stackConfigs,
167786
- accountId: LOCAL_ACCOUNT_ID
167806
+ accountId: LOCAL_ACCOUNT_ID,
167807
+ dev: true
167787
167808
  });
167788
167809
  await mkdir10(join53(directories.output, "local"), { recursive: true });
167789
167810
  const routerPorts = {};
@@ -167798,6 +167819,8 @@ var startDev = async (props) => {
167798
167819
  for (const feature of features) {
167799
167820
  await feature.onDev?.(dev.context);
167800
167821
  }
167822
+ props.pool.retain("blocked");
167823
+ props.pool.retain("lambda");
167801
167824
  await props.pool.sweep();
167802
167825
  const blocked = await props.pool.keep("blocked", null, async () => {
167803
167826
  const server = createBlockedServer({ onLog: (message4) => debug(message4) });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/cli",
3
- "version": "0.0.46-local.2",
3
+ "version": "0.0.46-local.4",
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/duration": "^0.0.4",
47
46
  "@awsless/dynamodb": "^0.3.22",
47
+ "@awsless/duration": "^0.0.4",
48
48
  "@awsless/json": "^0.0.11",
49
49
  "@awsless/lambda": "^0.0.47",
50
- "@awsless/s3": "^0.0.22",
51
50
  "@awsless/validate": "^0.1.7",
51
+ "@awsless/s3": "^0.0.22",
52
52
  "@awsless/weak-cache": "^0.0.1",
53
- "awsless": "^0.0.15-local.1"
53
+ "awsless": "^0.0.15-local.3"
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/big-float": "^0.1.7",
124
- "@awsless/cloudwatch": "^0.0.1",
125
124
  "@awsless/clui": "^0.0.9",
126
125
  "@awsless/duration": "^0.0.4",
127
126
  "@awsless/dynamodb": "^0.3.22",
128
- "@awsless/json": "^0.0.11",
129
127
  "@awsless/iot": "^0.0.5",
130
- "@awsless/redis": "^0.1.13",
131
- "@awsless/s3": "^0.0.22",
128
+ "@awsless/json": "^0.0.11",
132
129
  "@awsless/open-search": "^0.0.24",
133
- "@awsless/sns": "^0.0.11",
130
+ "@awsless/cloudwatch": "^0.0.1",
134
131
  "@awsless/lambda": "^0.0.47",
135
- "@awsless/sqs": "^0.0.24",
132
+ "@awsless/redis": "^0.1.13",
133
+ "@awsless/s3": "^0.0.22",
136
134
  "@awsless/size": "^0.0.2",
135
+ "@awsless/scheduler": "^0.0.5",
136
+ "@awsless/sns": "^0.0.11",
137
137
  "@awsless/validate": "^0.1.7",
138
138
  "@awsless/ssm": "^0.0.8",
139
139
  "@awsless/weak-cache": "^0.0.1",
140
- "awsless": "^0.0.15-local.1",
141
- "@awsless/scheduler": "^0.0.5"
140
+ "@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",