@awsless/awsless 0.0.299 → 0.0.301
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 +25 -9
- package/dist/server.d.ts +1 -45
- package/dist/server.js +9 -52
- package/package.json +11 -11
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,
|
|
@@ -3342,7 +3342,21 @@ var graphqlFeature = defineFeature({
|
|
|
3342
3342
|
});
|
|
3343
3343
|
let code = Asset2.fromString(defaultResolver);
|
|
3344
3344
|
if ("resolver" in props2 && props2.resolver) {
|
|
3345
|
-
|
|
3345
|
+
ctx.registerBuild("graphql-resolver", entryId, async (build3) => {
|
|
3346
|
+
const resolver = props2.resolver;
|
|
3347
|
+
const version = await fingerprintFromFile2(resolver);
|
|
3348
|
+
return build3(version, async (write) => {
|
|
3349
|
+
const file = await buildTypeScriptResolver(resolver);
|
|
3350
|
+
if (!file) {
|
|
3351
|
+
throw new FileError(resolver, `Failed to build a graphql resolver.`);
|
|
3352
|
+
}
|
|
3353
|
+
await write("resolver.js", file);
|
|
3354
|
+
return {
|
|
3355
|
+
size: formatByteSize(file.byteLength)
|
|
3356
|
+
};
|
|
3357
|
+
});
|
|
3358
|
+
});
|
|
3359
|
+
code = Asset2.fromFile(getBuildPath("graphql-resolver", entryId, "resolver.js"));
|
|
3346
3360
|
} else if (defaultProps.resolver) {
|
|
3347
3361
|
code = Asset2.fromFile(getBuildPath("graphql-resolver", id, "resolver.js"));
|
|
3348
3362
|
}
|
|
@@ -3968,8 +3982,9 @@ var searchFeature = defineFeature({
|
|
|
3968
3982
|
onStack(ctx) {
|
|
3969
3983
|
for (const [id, props] of Object.entries(ctx.stackConfig.searchs ?? {})) {
|
|
3970
3984
|
const group = new Node14(ctx.stack, "search", id);
|
|
3985
|
+
const name = `${id}-${shortId([ctx.app.name, ctx.stack.name, this.name, id].join("--"))}`;
|
|
3971
3986
|
const openSearch = new aws15.openSearch.Domain(group, "domain", {
|
|
3972
|
-
name
|
|
3987
|
+
name,
|
|
3973
3988
|
version: props.version,
|
|
3974
3989
|
storageSize: props.storage,
|
|
3975
3990
|
instance: {
|
|
@@ -3979,8 +3994,9 @@ var searchFeature = defineFeature({
|
|
|
3979
3994
|
accessPolicy: {
|
|
3980
3995
|
statements: [
|
|
3981
3996
|
{
|
|
3982
|
-
principal: "
|
|
3983
|
-
|
|
3997
|
+
principal: { AWS: "*" },
|
|
3998
|
+
resources: [`arn:aws:es:${ctx.appConfig.region}:${ctx.accountId}:domain/${name}/*`],
|
|
3999
|
+
principalArn: `arn:aws:iam::${ctx.accountId}:role/${ctx.app.name}--${ctx.stack.name}--*`
|
|
3984
4000
|
}
|
|
3985
4001
|
]
|
|
3986
4002
|
}
|
|
@@ -3997,7 +4013,7 @@ var searchFeature = defineFeature({
|
|
|
3997
4013
|
ctx.addEnv(`SEARCH_${constantCase8(ctx.stack.name)}_${constantCase8(id)}_DOMAIN`, openSearch.domainEndpoint);
|
|
3998
4014
|
ctx.onPolicy((policy) => {
|
|
3999
4015
|
policy.addStatement({
|
|
4000
|
-
actions: ["es
|
|
4016
|
+
actions: ["es:ESHttp*"],
|
|
4001
4017
|
resources: [openSearch.arn]
|
|
4002
4018
|
});
|
|
4003
4019
|
});
|
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,
|
|
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((
|
|
134
|
-
const url = getQueueUrl(
|
|
135
|
-
const name = getQueueName(
|
|
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
|
|
188
|
+
const topic = getTopicName(name);
|
|
228
189
|
const ctx = {
|
|
229
|
-
[
|
|
190
|
+
[topic]: async (payload, options = {}) => {
|
|
230
191
|
await publish({
|
|
231
192
|
...options,
|
|
232
|
-
topic
|
|
193
|
+
topic,
|
|
233
194
|
payload
|
|
234
195
|
});
|
|
235
196
|
}
|
|
236
197
|
};
|
|
237
|
-
const call = ctx[
|
|
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[`
|
|
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.
|
|
3
|
+
"version": "0.0.301",
|
|
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/
|
|
32
|
+
"@awsless/open-search": "^0.0.15",
|
|
35
33
|
"@awsless/validate": "^0.0.14",
|
|
36
34
|
"@awsless/redis": "^0.0.12",
|
|
37
|
-
"@awsless/
|
|
35
|
+
"@awsless/ssm": "^0.0.7",
|
|
38
36
|
"@awsless/sns": "^0.0.7",
|
|
39
|
-
"@awsless/sqs": "^0.0.7"
|
|
37
|
+
"@awsless/sqs": "^0.0.7",
|
|
38
|
+
"@awsless/s3": "^0.0.15",
|
|
39
|
+
"@awsless/weak-cache": "^0.0.1"
|
|
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
|
|
96
|
+
"rollup": "^4.18.0",
|
|
97
97
|
"rollup-plugin-replace": "^2.2.0",
|
|
98
|
-
"rollup-plugin-swc3": "^0.
|
|
98
|
+
"rollup-plugin-swc3": "^0.11.2",
|
|
99
99
|
"tsx": "^4.15.5",
|
|
100
|
-
"type-fest": "^
|
|
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,10 +105,10 @@
|
|
|
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/duration": "^0.0.1",
|
|
108
109
|
"@awsless/formation": "^0.0.39",
|
|
109
|
-
"@awsless/graphql": "^0.0.9",
|
|
110
110
|
"@awsless/size": "^0.0.1",
|
|
111
|
-
"@awsless/
|
|
111
|
+
"@awsless/graphql": "^0.0.9",
|
|
112
112
|
"@awsless/validate": "^0.0.14",
|
|
113
113
|
"@awsless/code": "^0.0.10"
|
|
114
114
|
},
|