@awsless/cli 0.0.46-next.31 → 0.0.46-next.32
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/app.json +1 -1
- package/dist/app.stage.json +1 -1
- package/dist/bin.js +5990 -5512
- package/dist/handlers/bundle.js +75 -2
- package/dist/prebuild/on-failure/HASH +1 -1
- package/dist/prebuild/on-failure/bundle.zip +0 -0
- package/dist/prebuild/sandbox-proxy/HASH +1 -1
- package/dist/prebuild/sandbox-proxy/bundle.zip +0 -0
- package/package.json +14 -13
package/dist/handlers/bundle.js
CHANGED
|
@@ -3,12 +3,81 @@ import { patch, unpatch } from "@awsless/json";
|
|
|
3
3
|
import { ExpectedError, invoke, isErrorResponse } from "@awsless/lambda";
|
|
4
4
|
import { formatRoutePayload, getCurrentRoute, withBundleRouteContext } from "awsless";
|
|
5
5
|
|
|
6
|
+
// ../../node_modules/.pnpm/change-case@5.4.4/node_modules/change-case/dist/index.js
|
|
7
|
+
var SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
|
|
8
|
+
var SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
|
|
9
|
+
var SPLIT_SEPARATE_NUMBER_RE = /(\d)\p{Ll}|(\p{L})\d/u;
|
|
10
|
+
var DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
|
|
11
|
+
var SPLIT_REPLACE_VALUE = "$1\x00$2";
|
|
12
|
+
var DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
|
|
13
|
+
function split(value) {
|
|
14
|
+
let result = value.trim();
|
|
15
|
+
result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
|
|
16
|
+
result = result.replace(DEFAULT_STRIP_REGEXP, "\x00");
|
|
17
|
+
let start = 0;
|
|
18
|
+
let end = result.length;
|
|
19
|
+
while (result.charAt(start) === "\x00")
|
|
20
|
+
start++;
|
|
21
|
+
if (start === end)
|
|
22
|
+
return [];
|
|
23
|
+
while (result.charAt(end - 1) === "\x00")
|
|
24
|
+
end--;
|
|
25
|
+
return result.slice(start, end).split(/\0/g);
|
|
26
|
+
}
|
|
27
|
+
function splitSeparateNumbers(value) {
|
|
28
|
+
const words = split(value);
|
|
29
|
+
for (let i = 0;i < words.length; i++) {
|
|
30
|
+
const word = words[i];
|
|
31
|
+
const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
|
|
32
|
+
if (match) {
|
|
33
|
+
const offset = match.index + (match[1] ?? match[2]).length;
|
|
34
|
+
words.splice(i, 1, word.slice(0, offset), word.slice(offset));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return words;
|
|
38
|
+
}
|
|
39
|
+
function noCase(input, options) {
|
|
40
|
+
const [prefix, words, suffix] = splitPrefixSuffix(input, options);
|
|
41
|
+
return prefix + words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? " ") + suffix;
|
|
42
|
+
}
|
|
43
|
+
function kebabCase(input, options) {
|
|
44
|
+
return noCase(input, { delimiter: "-", ...options });
|
|
45
|
+
}
|
|
46
|
+
function lowerFactory(locale) {
|
|
47
|
+
return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
|
|
48
|
+
}
|
|
49
|
+
function splitPrefixSuffix(input, options = {}) {
|
|
50
|
+
const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);
|
|
51
|
+
const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
52
|
+
const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
|
|
53
|
+
let prefixIndex = 0;
|
|
54
|
+
let suffixIndex = input.length;
|
|
55
|
+
while (prefixIndex < input.length) {
|
|
56
|
+
const char = input.charAt(prefixIndex);
|
|
57
|
+
if (!prefixCharacters.includes(char))
|
|
58
|
+
break;
|
|
59
|
+
prefixIndex++;
|
|
60
|
+
}
|
|
61
|
+
while (suffixIndex > prefixIndex) {
|
|
62
|
+
const index = suffixIndex - 1;
|
|
63
|
+
const char = input.charAt(index);
|
|
64
|
+
if (!suffixCharacters.includes(char))
|
|
65
|
+
break;
|
|
66
|
+
suffixIndex = index;
|
|
67
|
+
}
|
|
68
|
+
return [
|
|
69
|
+
input.slice(0, prefixIndex),
|
|
70
|
+
splitFn(input.slice(prefixIndex, suffixIndex)),
|
|
71
|
+
input.slice(suffixIndex)
|
|
72
|
+
];
|
|
73
|
+
}
|
|
74
|
+
|
|
6
75
|
// src/feature/bundle/server/resource/util.ts
|
|
7
76
|
var routeType = (route) => {
|
|
8
77
|
return route.split(":")[1];
|
|
9
78
|
};
|
|
10
79
|
var routeFromResourceName = (name) => {
|
|
11
|
-
return name.slice(process.env.APP.length + 2).split("--").join(":");
|
|
80
|
+
return name.slice(kebabCase(process.env.APP).length + 2).split("--").join(":");
|
|
12
81
|
};
|
|
13
82
|
var asyncRoute = (key, payload) => {
|
|
14
83
|
process.env.THROW_EXPECTED_ERRORS = "1";
|
|
@@ -302,7 +371,11 @@ var topicHandler = (event, routes) => {
|
|
|
302
371
|
if (record?.EventSource !== "aws:sns" || typeof record?.Sns?.TopicArn !== "string") {
|
|
303
372
|
return;
|
|
304
373
|
}
|
|
305
|
-
const
|
|
374
|
+
const topicName = record.Sns.TopicArn.split(":").at(-1);
|
|
375
|
+
const [, resourceType, topicId] = topicName.split("--");
|
|
376
|
+
if (resourceType !== "topic") {
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
306
379
|
const subscribers = routes.filter((route2) => {
|
|
307
380
|
const [, type, id] = route2.split(":");
|
|
308
381
|
return type === "topic" && id === topicId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
360568614ec11c8dd2efe5e05ccc2dde09fb5b28
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a1e928861bac15a86cbeee8065692cce9136c213
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awsless/cli",
|
|
3
|
-
"version": "0.0.46-next.
|
|
3
|
+
"version": "0.0.46-next.32",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"@awsless/duration": "^0.0.4",
|
|
30
30
|
"@awsless/dynamodb": "^0.3.22",
|
|
31
31
|
"@awsless/json": "^0.0.11",
|
|
32
|
+
"@awsless/lambda": "^0.0.47",
|
|
32
33
|
"@awsless/s3": "^0.0.22",
|
|
33
34
|
"@awsless/validate": "^0.1.7",
|
|
34
35
|
"@awsless/weak-cache": "^0.0.1",
|
|
35
|
-
"@awsless/lambda": "^0.0.47",
|
|
36
36
|
"awsless": "^0.0.15-next.8"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"@aws-sdk/client-lambda": "3.991.0",
|
|
46
46
|
"@aws-sdk/client-route-53": "^3.782.0",
|
|
47
47
|
"@aws-sdk/client-s3": "^3.369.0",
|
|
48
|
+
"@aws-sdk/client-sns": "^3.1023.0",
|
|
48
49
|
"@aws-sdk/client-ssm": "3.329.0",
|
|
49
50
|
"@aws-sdk/client-sts": "^3.369.0",
|
|
50
51
|
"@aws-sdk/credential-providers": "^3.654.0",
|
|
@@ -101,25 +102,25 @@
|
|
|
101
102
|
"zip-a-folder": "^3.1.6",
|
|
102
103
|
"zod": "^3.24.2",
|
|
103
104
|
"zod-to-json-schema": "^3.24.3",
|
|
104
|
-
"@awsless/cloudwatch": "^0.0.1",
|
|
105
|
-
"@awsless/duration": "^0.0.4",
|
|
106
105
|
"@awsless/big-float": "^0.1.7",
|
|
106
|
+
"@awsless/clui": "^0.0.9",
|
|
107
|
+
"@awsless/duration": "^0.0.4",
|
|
108
|
+
"@awsless/cloudwatch": "^0.0.1",
|
|
107
109
|
"@awsless/dynamodb": "^0.3.22",
|
|
108
|
-
"@awsless/lambda": "^0.0.47",
|
|
109
|
-
"@awsless/json": "^0.0.11",
|
|
110
110
|
"@awsless/iot": "^0.0.5",
|
|
111
|
+
"@awsless/json": "^0.0.11",
|
|
112
|
+
"@awsless/s3": "^0.0.22",
|
|
111
113
|
"@awsless/redis": "^0.1.13",
|
|
112
|
-
"@awsless/
|
|
114
|
+
"@awsless/size": "^0.0.2",
|
|
113
115
|
"@awsless/scheduler": "^0.0.5",
|
|
116
|
+
"@awsless/open-search": "^0.0.24",
|
|
117
|
+
"@awsless/sqs": "^0.0.24",
|
|
114
118
|
"@awsless/sns": "^0.0.11",
|
|
115
|
-
"@awsless/s3": "^0.0.22",
|
|
116
|
-
"@awsless/size": "^0.0.2",
|
|
117
119
|
"@awsless/validate": "^0.1.7",
|
|
118
|
-
"@awsless/ssm": "^0.0.8",
|
|
119
120
|
"@awsless/weak-cache": "^0.0.1",
|
|
120
|
-
"@awsless/
|
|
121
|
-
"awsless": "^0.0.
|
|
122
|
-
"
|
|
121
|
+
"@awsless/ssm": "^0.0.8",
|
|
122
|
+
"@awsless/lambda": "^0.0.47",
|
|
123
|
+
"awsless": "^0.0.15-next.8"
|
|
123
124
|
},
|
|
124
125
|
"scripts": {
|
|
125
126
|
"test": "bun cli/build-handlers.ts && pnpm vitest",
|