@awsless/awsless 0.0.299 → 0.0.300

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 CHANGED
@@ -2052,13 +2052,13 @@ var hasOnFailure = (stacks) => {
2052
2052
  };
2053
2053
 
2054
2054
  // src/feature/function/build/typescript/bundle.ts
2055
- import { rollup } from "rollup";
2056
- import { createHash } from "crypto";
2057
- import { swc, minify as swcMinify } from "rollup-plugin-swc3";
2058
- import json from "@rollup/plugin-json";
2059
2055
  import commonjs from "@rollup/plugin-commonjs";
2056
+ import json from "@rollup/plugin-json";
2060
2057
  import nodeResolve from "@rollup/plugin-node-resolve";
2058
+ import { createHash } from "crypto";
2061
2059
  import { dirname as dirname5 } from "path";
2060
+ import { rollup } from "rollup";
2061
+ import { minify as swcMinify, swc } from "rollup-plugin-swc3";
2062
2062
  var bundleTypeScript = async ({ format: format2 = "esm", minify = true, file }) => {
2063
2063
  const bundle = await rollup({
2064
2064
  input: file,
@@ -3968,8 +3968,9 @@ var searchFeature = defineFeature({
3968
3968
  onStack(ctx) {
3969
3969
  for (const [id, props] of Object.entries(ctx.stackConfig.searchs ?? {})) {
3970
3970
  const group = new Node14(ctx.stack, "search", id);
3971
+ const name = `${id}-${shortId([ctx.app.name, ctx.stack.name, this.name, id].join("--"))}`;
3971
3972
  const openSearch = new aws15.openSearch.Domain(group, "domain", {
3972
- name: `${id}-${shortId([ctx.app.name, ctx.stack.name, this.name, id].join("--"))}`,
3973
+ name,
3973
3974
  version: props.version,
3974
3975
  storageSize: props.storage,
3975
3976
  instance: {
@@ -3979,8 +3980,9 @@ var searchFeature = defineFeature({
3979
3980
  accessPolicy: {
3980
3981
  statements: [
3981
3982
  {
3982
- principal: "lambda.amazonaws.com",
3983
- sourceArn: `arn:aws:lambda:${ctx.appConfig.region}:${ctx.accountId}:function:${ctx.app.name}--${ctx.stack.name}--*`
3983
+ principal: { AWS: "*" },
3984
+ resources: [`arn:aws:es:${ctx.appConfig.region}:${ctx.accountId}:domain/${name}/*`],
3985
+ principalArn: `arn:aws:iam::${ctx.accountId}:role/${ctx.app.name}--${ctx.stack.name}--*`
3984
3986
  }
3985
3987
  ]
3986
3988
  }
@@ -3997,7 +3999,7 @@ var searchFeature = defineFeature({
3997
3999
  ctx.addEnv(`SEARCH_${constantCase8(ctx.stack.name)}_${constantCase8(id)}_DOMAIN`, openSearch.domainEndpoint);
3998
4000
  ctx.onPolicy((policy) => {
3999
4001
  policy.addStatement({
4000
- actions: ["es:*"],
4002
+ actions: ["es:ESHttp*"],
4001
4003
  resources: [openSearch.arn]
4002
4004
  });
4003
4005
  });
package/dist/server.d.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  import { AwsCredentialIdentityProvider } from '@aws-sdk/types';
2
- import * as type_fest from 'type-fest';
3
- import * as _awsless_lambda from '@awsless/lambda';
4
- import { Handler, Loggers } from '@awsless/lambda';
5
- import { BaseSchema, SqsQueueSchema, SnsTopicSchema } from '@awsless/validate';
6
- import * as valibot from 'valibot';
7
2
 
8
3
  declare const regions: readonly ["us-east-2", "us-east-1", "us-west-1", "us-west-2", "af-south-1", "ap-east-1", "ap-south-2", "ap-southeast-3", "ap-southeast-4", "ap-south-1", "ap-northeast-3", "ap-northeast-2", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ca-central-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-south-1", "eu-west-3", "eu-south-2", "eu-north-1", "eu-central-2", "me-south-1", "me-central-1", "sa-east-1"];
9
4
  type Region = (typeof regions)[number];
@@ -27,45 +22,6 @@ declare class CommandOptions {
27
22
  boolean(name: string): boolean;
28
23
  }
29
24
 
30
- type CronProps<H extends Handler<S>, S extends BaseSchema> = {
31
- handle: H;
32
- schema?: S;
33
- logger?: Loggers;
34
- };
35
- declare const cron: <H extends Handler<S, unknown>, S extends BaseSchema<any, any>>(props: CronProps<H, S>) => (event: _awsless_lambda.Input<S>, context?: _awsless_lambda.LambdaContext | undefined) => Promise<unknown extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> : void extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> & void : Awaited<ReturnType<H>> extends infer T ? T extends Awaited<ReturnType<H>> ? T extends undefined ? type_fest.Jsonify<T> | undefined : type_fest.Jsonify<T> : never : never>;
36
-
37
- type FunctionProps<H extends Handler<S>, S extends BaseSchema> = {
38
- handle: H;
39
- schema?: S;
40
- logger?: Loggers;
41
- logViewableErrors?: boolean;
42
- };
43
- declare const func: <H extends Handler<S, unknown>, S extends BaseSchema<any, any>>(props: FunctionProps<H, S>) => (event: _awsless_lambda.Input<S>, context?: _awsless_lambda.LambdaContext | undefined) => Promise<unknown extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> : void extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> & void : Awaited<ReturnType<H>> extends infer T ? T extends Awaited<ReturnType<H>> ? T extends undefined ? type_fest.Jsonify<T> | undefined : type_fest.Jsonify<T> : never : never>;
44
-
45
- type QueueProps<H extends Handler<S>, S extends BaseSchema> = {
46
- handle: H;
47
- schema?: S;
48
- logger?: Loggers;
49
- };
50
- declare const queue: <H extends Handler<SqsQueueSchema<S>, unknown>, S extends BaseSchema<any, any>>(props: QueueProps<H, S>) => (event: valibot.Input<S> | valibot.Input<S>[] | {
51
- Records: {
52
- body: string | valibot.Input<S>;
53
- }[];
54
- }, context?: _awsless_lambda.LambdaContext | undefined) => Promise<unknown extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> : void extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> & void : Awaited<ReturnType<H>> extends infer T ? T extends Awaited<ReturnType<H>> ? T extends undefined ? type_fest.Jsonify<T> | undefined : type_fest.Jsonify<T> : never : never>;
55
-
56
- type TopicProps<H extends Handler<S>, S extends BaseSchema> = {
57
- handle: H;
58
- schema?: S;
59
- logger?: Loggers;
60
- };
61
- declare const topic: <H extends Handler<SnsTopicSchema<S>, unknown>, S extends BaseSchema<any, any>>(props: TopicProps<H, S>) => (event: valibot.Input<S> | valibot.Input<S>[] | {
62
- Records: {
63
- Sns: {
64
- Message: string | valibot.Input<S>;
65
- };
66
- }[];
67
- }, context?: _awsless_lambda.LambdaContext | undefined) => Promise<unknown extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> : void extends Awaited<ReturnType<H>> ? Awaited<ReturnType<H>> & void : Awaited<ReturnType<H>> extends infer T ? T extends Awaited<ReturnType<H>> ? T extends undefined ? type_fest.Jsonify<T> | undefined : type_fest.Jsonify<T> : never : never>;
68
-
69
25
  interface FunctionMock {
70
26
  }
71
27
  interface FunctionMockResponse {
@@ -142,4 +98,4 @@ declare const Topic: TopicResources;
142
98
  declare const APP: "app";
143
99
  declare const STACK: "stack";
144
100
 
145
- export { APP, Cache, CacheResources, CommandContext, CommandHandler, CommandOptions, Config, ConfigResources, CronProps, Fn, Function, FunctionMock, FunctionMockResponse, FunctionProps, FunctionResources, Queue, QueueMock, QueueMockResponse, QueueProps, QueueResources, STACK, Search, SearchResources, Store, StoreResources, Table, TableResources, Task, TaskMock, TaskMockResponse, TaskResources, Topic, TopicMock, TopicMockResponse, TopicProps, TopicResources, cron, func, getCacheProps, getConfigName, getFunctionName, getQueueName, getSearchName, getStoreName, getTableName, getTaskName, getTopicName, mockFunction, mockQueue, mockTask, mockTopic, queue, topic };
101
+ export { APP, Cache, CacheResources, CommandContext, CommandHandler, CommandOptions, Config, ConfigResources, Fn, Function, FunctionMock, FunctionMockResponse, FunctionResources, Queue, QueueMock, QueueMockResponse, QueueResources, STACK, Search, SearchResources, Store, StoreResources, Table, TableResources, Task, TaskMock, TaskMockResponse, TaskResources, Topic, TopicMock, TopicMockResponse, TopicResources, getCacheProps, getConfigName, getFunctionName, getQueueName, getSearchName, getStoreName, getTableName, getTaskName, getTopicName, mockFunction, mockQueue, mockTask, mockTopic };
package/dist/server.js CHANGED
@@ -5,45 +5,6 @@ import {
5
5
  CommandOptions
6
6
  } from "./chunk-QL4FTNZ7.js";
7
7
 
8
- // src/lib/handle/cron.ts
9
- import { lambda } from "@awsless/lambda";
10
- var cron = (props) => {
11
- return lambda({
12
- ...props,
13
- logViewableErrors: true
14
- });
15
- };
16
-
17
- // src/lib/handle/function.ts
18
- import { lambda as lambda2 } from "@awsless/lambda";
19
- var func = (props) => {
20
- return lambda2(props);
21
- };
22
-
23
- // src/lib/handle/queue.ts
24
- import { lambda as lambda3 } from "@awsless/lambda";
25
- import { sqsQueue } from "@awsless/validate";
26
- var queue = (props) => {
27
- return lambda3({
28
- logger: props.logger,
29
- schema: sqsQueue(props.schema),
30
- handle: props.handle,
31
- logViewableErrors: true
32
- });
33
- };
34
-
35
- // src/lib/handle/topic.ts
36
- import { snsTopic } from "@awsless/validate";
37
- import { lambda as lambda4 } from "@awsless/lambda";
38
- var topic = (props) => {
39
- return lambda4({
40
- logger: props.logger,
41
- schema: snsTopic(props.schema),
42
- handle: props.handle,
43
- logViewableErrors: true
44
- });
45
- };
46
-
47
8
  // src/lib/mock/function.ts
48
9
  import { mockLambda } from "@awsless/lambda";
49
10
 
@@ -130,9 +91,9 @@ var getQueueUrl = (name, stack = STACK) => {
130
91
  return process.env[`QUEUE_${constantCase(stack)}_${constantCase(name)}_URL`];
131
92
  };
132
93
  var Queue = /* @__PURE__ */ createProxy((stack) => {
133
- return createProxy((queue2) => {
134
- const url = getQueueUrl(queue2, stack);
135
- const name = getQueueName(queue2, stack);
94
+ return createProxy((queue) => {
95
+ const url = getQueueUrl(queue, stack);
96
+ const name = getQueueName(queue, stack);
136
97
  const ctx = {
137
98
  [name]: (payload, options = {}) => {
138
99
  return sendMessage({
@@ -224,17 +185,17 @@ import { mockSNS } from "@awsless/sns";
224
185
  import { publish } from "@awsless/sns";
225
186
  var getTopicName = bindGlobalResourceName("topic");
226
187
  var Topic = /* @__PURE__ */ createProxy((name) => {
227
- const topic2 = getTopicName(name);
188
+ const topic = getTopicName(name);
228
189
  const ctx = {
229
- [topic2]: async (payload, options = {}) => {
190
+ [topic]: async (payload, options = {}) => {
230
191
  await publish({
231
192
  ...options,
232
- topic: topic2,
193
+ topic,
233
194
  payload
234
195
  });
235
196
  }
236
197
  };
237
- const call = ctx[topic2];
198
+ const call = ctx[topic];
238
199
  return call;
239
200
  });
240
201
 
@@ -337,7 +298,7 @@ import { constantCase as constantCase3 } from "change-case";
337
298
  var getSearchName = bindLocalResourceName("search");
338
299
  var getSearchProps = (name, stack = STACK) => {
339
300
  return {
340
- domain: process.env[`CACHE_${constantCase3(stack)}_${constantCase3(name)}_DOMAIN`]
301
+ domain: process.env[`SEARCH_${constantCase3(stack)}_${constantCase3(name)}_DOMAIN`]
341
302
  };
342
303
  };
343
304
  var Search = /* @__PURE__ */ createProxy((stack) => {
@@ -431,8 +392,6 @@ export {
431
392
  Table,
432
393
  Task,
433
394
  Topic,
434
- cron,
435
- func,
436
395
  getCacheProps,
437
396
  getConfigName,
438
397
  getFunctionName,
@@ -445,7 +404,5 @@ export {
445
404
  mockFunction,
446
405
  mockQueue,
447
406
  mockTask,
448
- mockTopic,
449
- queue,
450
- topic
407
+ mockTopic
451
408
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.299",
3
+ "version": "0.0.300",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -28,15 +28,15 @@
28
28
  }
29
29
  },
30
30
  "peerDependencies": {
31
- "@awsless/open-search": "^0.0.12",
32
- "@awsless/s3": "^0.0.15",
33
31
  "@awsless/lambda": "^0.0.25",
34
- "@awsless/ssm": "^0.0.7",
32
+ "@awsless/open-search": "^0.0.15",
33
+ "@awsless/sns": "^0.0.7",
34
+ "@awsless/s3": "^0.0.15",
35
35
  "@awsless/validate": "^0.0.14",
36
36
  "@awsless/redis": "^0.0.12",
37
+ "@awsless/sqs": "^0.0.7",
37
38
  "@awsless/weak-cache": "^0.0.1",
38
- "@awsless/sns": "^0.0.7",
39
- "@awsless/sqs": "^0.0.7"
39
+ "@awsless/ssm": "^0.0.7"
40
40
  },
41
41
  "dependencies": {
42
42
  "@arcanyx/cidr-slicer": "^0.3.0",
@@ -93,11 +93,11 @@
93
93
  "pretty-hrtime": "^1.0.3",
94
94
  "promise-dag": "^1.0.0",
95
95
  "promisify-child-process": "^4.1.2",
96
- "rollup": "^4.0.2",
96
+ "rollup": "^4.18.0",
97
97
  "rollup-plugin-replace": "^2.2.0",
98
- "rollup-plugin-swc3": "^0.10.2",
98
+ "rollup-plugin-swc3": "^0.11.2",
99
99
  "tsx": "^4.15.5",
100
- "type-fest": "^3.6.0",
100
+ "type-fest": "^4.20.1",
101
101
  "uuid": "^9.0.0",
102
102
  "vite": "^5.0.0",
103
103
  "vitest": "^1.6.0",
@@ -105,12 +105,12 @@
105
105
  "zip-a-folder": "^3.1.6",
106
106
  "zod": "^3.21.4",
107
107
  "zod-to-json-schema": "^3.22.3",
108
- "@awsless/formation": "^0.0.39",
109
- "@awsless/graphql": "^0.0.9",
110
- "@awsless/size": "^0.0.1",
108
+ "@awsless/code": "^0.0.10",
111
109
  "@awsless/duration": "^0.0.1",
112
- "@awsless/validate": "^0.0.14",
113
- "@awsless/code": "^0.0.10"
110
+ "@awsless/size": "^0.0.1",
111
+ "@awsless/graphql": "^0.0.9",
112
+ "@awsless/formation": "^0.0.39",
113
+ "@awsless/validate": "^0.0.14"
114
114
  },
115
115
  "scripts": {
116
116
  "test": "pnpm code test",