@awsless/cli 0.0.46-next.31 → 0.0.46-next.33
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 +5994 -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 +15 -14
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.33",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"@awsless/big-float": "^0.1.7",
|
|
29
|
-
"@awsless/duration": "^0.0.4",
|
|
30
29
|
"@awsless/dynamodb": "^0.3.22",
|
|
31
|
-
"@awsless/
|
|
30
|
+
"@awsless/duration": "^0.0.4",
|
|
31
|
+
"@awsless/lambda": "^0.0.47",
|
|
32
32
|
"@awsless/s3": "^0.0.22",
|
|
33
|
+
"@awsless/json": "^0.0.11",
|
|
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",
|
|
105
|
+
"@awsless/big-float": "^0.1.7",
|
|
104
106
|
"@awsless/cloudwatch": "^0.0.1",
|
|
107
|
+
"@awsless/clui": "^0.0.9",
|
|
105
108
|
"@awsless/duration": "^0.0.4",
|
|
106
|
-
"@awsless/big-float": "^0.1.7",
|
|
107
|
-
"@awsless/dynamodb": "^0.3.22",
|
|
108
|
-
"@awsless/lambda": "^0.0.47",
|
|
109
109
|
"@awsless/json": "^0.0.11",
|
|
110
|
+
"@awsless/dynamodb": "^0.3.22",
|
|
110
111
|
"@awsless/iot": "^0.0.5",
|
|
112
|
+
"@awsless/lambda": "^0.0.47",
|
|
111
113
|
"@awsless/redis": "^0.1.13",
|
|
112
|
-
"@awsless/
|
|
113
|
-
"@awsless/scheduler": "^0.0.5",
|
|
114
|
+
"@awsless/open-search": "^0.0.24",
|
|
114
115
|
"@awsless/sns": "^0.0.11",
|
|
115
|
-
"@awsless/s3": "^0.0.22",
|
|
116
116
|
"@awsless/size": "^0.0.2",
|
|
117
|
-
"@awsless/
|
|
118
|
-
"@awsless/
|
|
117
|
+
"@awsless/s3": "^0.0.22",
|
|
118
|
+
"@awsless/scheduler": "^0.0.5",
|
|
119
119
|
"@awsless/weak-cache": "^0.0.1",
|
|
120
|
-
"@awsless/
|
|
120
|
+
"@awsless/ssm": "^0.0.8",
|
|
121
121
|
"awsless": "^0.0.15-next.8",
|
|
122
|
-
"@awsless/
|
|
122
|
+
"@awsless/validate": "^0.1.7",
|
|
123
|
+
"@awsless/sqs": "^0.0.24"
|
|
123
124
|
},
|
|
124
125
|
"scripts": {
|
|
125
126
|
"test": "bun cli/build-handlers.ts && pnpm vitest",
|