@awsless/awsless 0.0.37 → 0.0.39
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.cjs +64 -7
- package/dist/bin.js +64 -7
- package/dist/index.cjs +69 -33
- package/dist/index.d.ts +23 -9
- package/dist/index.js +64 -33
- package/package.json +4 -2
package/dist/bin.cjs
CHANGED
|
@@ -1127,16 +1127,23 @@ var TypeGen = class {
|
|
|
1127
1127
|
return `import ${(0, import_change_case3.camelCase)(varName)} from '${path}'`;
|
|
1128
1128
|
}).join("\n");
|
|
1129
1129
|
return [
|
|
1130
|
+
"// Imports",
|
|
1130
1131
|
imports,
|
|
1131
|
-
|
|
1132
|
-
|
|
1132
|
+
"",
|
|
1133
|
+
"// Types",
|
|
1134
|
+
...Array.from(this.codes).map((v) => v.trim()),
|
|
1135
|
+
"",
|
|
1136
|
+
"// Module",
|
|
1133
1137
|
`declare module '${this.module}' {`,
|
|
1134
1138
|
` interface ${this.interfaceName} {`,
|
|
1135
1139
|
...Array.from(this.types.entries()).map(([propName, type]) => {
|
|
1136
1140
|
return ` readonly ${(0, import_change_case3.camelCase)(propName)}: ${type}`;
|
|
1137
1141
|
}),
|
|
1138
1142
|
` }`,
|
|
1139
|
-
`}
|
|
1143
|
+
`}`,
|
|
1144
|
+
"",
|
|
1145
|
+
"// Declare module file FIX",
|
|
1146
|
+
`export {}`
|
|
1140
1147
|
].join("\n");
|
|
1141
1148
|
}
|
|
1142
1149
|
};
|
|
@@ -1300,8 +1307,7 @@ import { InvokeOptions } from '@awsless/lambda'
|
|
|
1300
1307
|
|
|
1301
1308
|
type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
|
|
1302
1309
|
name: Name
|
|
1303
|
-
|
|
1304
|
-
async: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload' | 'type'>) => ReturnType<Func>
|
|
1310
|
+
(payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
|
|
1305
1311
|
}`;
|
|
1306
1312
|
var functionPlugin = definePlugin({
|
|
1307
1313
|
name: "function",
|
|
@@ -1623,6 +1629,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
|
|
|
1623
1629
|
var BatchSizeSchema = import_zod8.z.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
|
|
1624
1630
|
var MaxConcurrencySchema = import_zod8.z.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
|
|
1625
1631
|
var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
|
|
1632
|
+
var typeGenCode2 = `
|
|
1633
|
+
import { SendMessageOptions } from '@awsless/sqs'
|
|
1634
|
+
|
|
1635
|
+
type Send<Name extends string> = {
|
|
1636
|
+
name: Name
|
|
1637
|
+
(payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
|
|
1638
|
+
}`;
|
|
1626
1639
|
var queuePlugin = definePlugin({
|
|
1627
1640
|
name: "queue",
|
|
1628
1641
|
schema: import_zod8.z.object({
|
|
@@ -1724,11 +1737,12 @@ var queuePlugin = definePlugin({
|
|
|
1724
1737
|
}),
|
|
1725
1738
|
onTypeGen({ config }) {
|
|
1726
1739
|
const types2 = new TypeGen("@awsless/awsless", "QueueResources");
|
|
1740
|
+
types2.addCode(typeGenCode2);
|
|
1727
1741
|
for (const stack of config.stacks) {
|
|
1728
1742
|
const list3 = new TypeObject();
|
|
1729
1743
|
for (const name of Object.keys(stack.queues || {})) {
|
|
1730
1744
|
const queueName = formatName(`${config.name}-${stack.name}-${name}`);
|
|
1731
|
-
list3.addType(name, `
|
|
1745
|
+
list3.addType(name, `Send<'${queueName}'>`);
|
|
1732
1746
|
}
|
|
1733
1747
|
types2.addType(stack.name, list3.toString());
|
|
1734
1748
|
}
|
|
@@ -2107,6 +2121,18 @@ var storePlugin = definePlugin({
|
|
|
2107
2121
|
stores: import_zod10.z.array(ResourceIdSchema).optional()
|
|
2108
2122
|
}).array()
|
|
2109
2123
|
}),
|
|
2124
|
+
onTypeGen({ config }) {
|
|
2125
|
+
const types2 = new TypeGen("@awsless/awsless", "StoreResources");
|
|
2126
|
+
for (const stack of config.stacks) {
|
|
2127
|
+
const list3 = new TypeObject();
|
|
2128
|
+
for (const name of stack.stores || []) {
|
|
2129
|
+
const storeName = formatName(`${config.name}-${stack.name}-${name}`);
|
|
2130
|
+
list3.addType(name, `{ name: '${storeName}' }`);
|
|
2131
|
+
}
|
|
2132
|
+
types2.addType(stack.name, list3.toString());
|
|
2133
|
+
}
|
|
2134
|
+
return types2.toString();
|
|
2135
|
+
},
|
|
2110
2136
|
onStack({ config, stack, stackConfig, bind }) {
|
|
2111
2137
|
for (const id of stackConfig.stores || []) {
|
|
2112
2138
|
const bucket = new Bucket(id, {
|
|
@@ -2190,6 +2216,13 @@ var SnsEventSource = class extends Group {
|
|
|
2190
2216
|
};
|
|
2191
2217
|
|
|
2192
2218
|
// src/plugins/topic.ts
|
|
2219
|
+
var typeGenCode3 = `
|
|
2220
|
+
import { PublishOptions } from '@awsless/sns'
|
|
2221
|
+
|
|
2222
|
+
type Publish<Name extends string> = {
|
|
2223
|
+
name: Name
|
|
2224
|
+
(payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
|
|
2225
|
+
}`;
|
|
2193
2226
|
var topicPlugin = definePlugin({
|
|
2194
2227
|
name: "topic",
|
|
2195
2228
|
schema: import_zod11.z.object({
|
|
@@ -2207,10 +2240,11 @@ var topicPlugin = definePlugin({
|
|
|
2207
2240
|
}),
|
|
2208
2241
|
onTypeGen({ config }) {
|
|
2209
2242
|
const gen = new TypeGen("@awsless/awsless", "TopicResources");
|
|
2243
|
+
gen.addCode(typeGenCode3);
|
|
2210
2244
|
for (const stack of config.stacks) {
|
|
2211
2245
|
for (const topic of Object.keys(stack.topics || {})) {
|
|
2212
2246
|
const name = formatName(`${config.name}-${topic}`);
|
|
2213
|
-
gen.addType(topic, `
|
|
2247
|
+
gen.addType(topic, `Publish<'${name}'>`);
|
|
2214
2248
|
}
|
|
2215
2249
|
}
|
|
2216
2250
|
return gen.toString();
|
|
@@ -3858,6 +3892,18 @@ var searchPlugin = definePlugin({
|
|
|
3858
3892
|
searchs: import_zod18.z.array(ResourceIdSchema).optional()
|
|
3859
3893
|
}).array()
|
|
3860
3894
|
}),
|
|
3895
|
+
onTypeGen({ config }) {
|
|
3896
|
+
const gen = new TypeGen("@awsless/awsless", "SearchResources");
|
|
3897
|
+
for (const stack of config.stacks) {
|
|
3898
|
+
const list3 = new TypeObject();
|
|
3899
|
+
for (const id of stack.searchs || []) {
|
|
3900
|
+
const name = formatName(`${config.name}-${stack.name}-${id}`);
|
|
3901
|
+
list3.addType(name, `{ name: '${name}' }`);
|
|
3902
|
+
}
|
|
3903
|
+
gen.addType(stack.name, list3.toString());
|
|
3904
|
+
}
|
|
3905
|
+
return gen.toString();
|
|
3906
|
+
},
|
|
3861
3907
|
onStack({ config, stack, stackConfig, bind }) {
|
|
3862
3908
|
for (const id of stackConfig.searchs || []) {
|
|
3863
3909
|
const collection = new Collection(id, {
|
|
@@ -3986,6 +4032,17 @@ var cachePlugin = definePlugin({
|
|
|
3986
4032
|
).optional()
|
|
3987
4033
|
}).array()
|
|
3988
4034
|
}),
|
|
4035
|
+
onTypeGen({ config }) {
|
|
4036
|
+
const gen = new TypeGen("@awsless/awsless", "CacheResources");
|
|
4037
|
+
for (const stack of config.stacks) {
|
|
4038
|
+
const list3 = new TypeObject();
|
|
4039
|
+
for (const name of Object.keys(stack.caches || {})) {
|
|
4040
|
+
list3.addType(name, `{ host: string, port:number }`);
|
|
4041
|
+
}
|
|
4042
|
+
gen.addType(stack.name, list3.toString());
|
|
4043
|
+
}
|
|
4044
|
+
return gen.toString();
|
|
4045
|
+
},
|
|
3989
4046
|
onStack({ config, stack, stackConfig, bootstrap: bootstrap2, bind }) {
|
|
3990
4047
|
for (const [id, props] of Object.entries(stackConfig.caches || {})) {
|
|
3991
4048
|
const name = `${config.name}-${stack.name}-${id}`;
|
package/dist/bin.js
CHANGED
|
@@ -1104,16 +1104,23 @@ var TypeGen = class {
|
|
|
1104
1104
|
return `import ${camelCase(varName)} from '${path}'`;
|
|
1105
1105
|
}).join("\n");
|
|
1106
1106
|
return [
|
|
1107
|
+
"// Imports",
|
|
1107
1108
|
imports,
|
|
1108
|
-
|
|
1109
|
-
|
|
1109
|
+
"",
|
|
1110
|
+
"// Types",
|
|
1111
|
+
...Array.from(this.codes).map((v) => v.trim()),
|
|
1112
|
+
"",
|
|
1113
|
+
"// Module",
|
|
1110
1114
|
`declare module '${this.module}' {`,
|
|
1111
1115
|
` interface ${this.interfaceName} {`,
|
|
1112
1116
|
...Array.from(this.types.entries()).map(([propName, type]) => {
|
|
1113
1117
|
return ` readonly ${camelCase(propName)}: ${type}`;
|
|
1114
1118
|
}),
|
|
1115
1119
|
` }`,
|
|
1116
|
-
`}
|
|
1120
|
+
`}`,
|
|
1121
|
+
"",
|
|
1122
|
+
"// Declare module file FIX",
|
|
1123
|
+
`export {}`
|
|
1117
1124
|
].join("\n");
|
|
1118
1125
|
}
|
|
1119
1126
|
};
|
|
@@ -1277,8 +1284,7 @@ import { InvokeOptions } from '@awsless/lambda'
|
|
|
1277
1284
|
|
|
1278
1285
|
type Invoke<Name extends string, Func extends (...args: any[]) => any> = {
|
|
1279
1286
|
name: Name
|
|
1280
|
-
|
|
1281
|
-
async: (event: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload' | 'type'>) => ReturnType<Func>
|
|
1287
|
+
(payload: Parameters<Func>[0], options?: Omit<InvokeOptions, 'name' | 'payload'>): ReturnType<Func>
|
|
1282
1288
|
}`;
|
|
1283
1289
|
var functionPlugin = definePlugin({
|
|
1284
1290
|
name: "function",
|
|
@@ -1600,6 +1606,13 @@ var MaxMessageSizeSchema = SizeSchema.refine(sizeMin(Size.kiloBytes(1)), "Minimu
|
|
|
1600
1606
|
var BatchSizeSchema = z8.number().int().min(1, "Minimum batch size is 1").max(1e4, "Maximum batch size is 10000");
|
|
1601
1607
|
var MaxConcurrencySchema = z8.number().int().min(2, "Minimum max concurrency is 2").max(1e3, "Maximum max concurrency is 1000");
|
|
1602
1608
|
var MaxBatchingWindow = DurationSchema.refine(durationMax(Duration.minutes(5)), "Maximum max batching window is 5 minutes");
|
|
1609
|
+
var typeGenCode2 = `
|
|
1610
|
+
import { SendMessageOptions } from '@awsless/sqs'
|
|
1611
|
+
|
|
1612
|
+
type Send<Name extends string> = {
|
|
1613
|
+
name: Name
|
|
1614
|
+
(payload: unknown, options?: Omit<SendMessageOptions, 'queue' | 'payload'>): Promise<void>
|
|
1615
|
+
}`;
|
|
1603
1616
|
var queuePlugin = definePlugin({
|
|
1604
1617
|
name: "queue",
|
|
1605
1618
|
schema: z8.object({
|
|
@@ -1701,11 +1714,12 @@ var queuePlugin = definePlugin({
|
|
|
1701
1714
|
}),
|
|
1702
1715
|
onTypeGen({ config }) {
|
|
1703
1716
|
const types2 = new TypeGen("@awsless/awsless", "QueueResources");
|
|
1717
|
+
types2.addCode(typeGenCode2);
|
|
1704
1718
|
for (const stack of config.stacks) {
|
|
1705
1719
|
const list3 = new TypeObject();
|
|
1706
1720
|
for (const name of Object.keys(stack.queues || {})) {
|
|
1707
1721
|
const queueName = formatName(`${config.name}-${stack.name}-${name}`);
|
|
1708
|
-
list3.addType(name, `
|
|
1722
|
+
list3.addType(name, `Send<'${queueName}'>`);
|
|
1709
1723
|
}
|
|
1710
1724
|
types2.addType(stack.name, list3.toString());
|
|
1711
1725
|
}
|
|
@@ -2084,6 +2098,18 @@ var storePlugin = definePlugin({
|
|
|
2084
2098
|
stores: z10.array(ResourceIdSchema).optional()
|
|
2085
2099
|
}).array()
|
|
2086
2100
|
}),
|
|
2101
|
+
onTypeGen({ config }) {
|
|
2102
|
+
const types2 = new TypeGen("@awsless/awsless", "StoreResources");
|
|
2103
|
+
for (const stack of config.stacks) {
|
|
2104
|
+
const list3 = new TypeObject();
|
|
2105
|
+
for (const name of stack.stores || []) {
|
|
2106
|
+
const storeName = formatName(`${config.name}-${stack.name}-${name}`);
|
|
2107
|
+
list3.addType(name, `{ name: '${storeName}' }`);
|
|
2108
|
+
}
|
|
2109
|
+
types2.addType(stack.name, list3.toString());
|
|
2110
|
+
}
|
|
2111
|
+
return types2.toString();
|
|
2112
|
+
},
|
|
2087
2113
|
onStack({ config, stack, stackConfig, bind }) {
|
|
2088
2114
|
for (const id of stackConfig.stores || []) {
|
|
2089
2115
|
const bucket = new Bucket(id, {
|
|
@@ -2167,6 +2193,13 @@ var SnsEventSource = class extends Group {
|
|
|
2167
2193
|
};
|
|
2168
2194
|
|
|
2169
2195
|
// src/plugins/topic.ts
|
|
2196
|
+
var typeGenCode3 = `
|
|
2197
|
+
import { PublishOptions } from '@awsless/sns'
|
|
2198
|
+
|
|
2199
|
+
type Publish<Name extends string> = {
|
|
2200
|
+
name: Name
|
|
2201
|
+
(payload: unknown, options?: Omit<PublishOptions, 'topic' | 'payload'>): Promise<void>
|
|
2202
|
+
}`;
|
|
2170
2203
|
var topicPlugin = definePlugin({
|
|
2171
2204
|
name: "topic",
|
|
2172
2205
|
schema: z11.object({
|
|
@@ -2184,10 +2217,11 @@ var topicPlugin = definePlugin({
|
|
|
2184
2217
|
}),
|
|
2185
2218
|
onTypeGen({ config }) {
|
|
2186
2219
|
const gen = new TypeGen("@awsless/awsless", "TopicResources");
|
|
2220
|
+
gen.addCode(typeGenCode3);
|
|
2187
2221
|
for (const stack of config.stacks) {
|
|
2188
2222
|
for (const topic of Object.keys(stack.topics || {})) {
|
|
2189
2223
|
const name = formatName(`${config.name}-${topic}`);
|
|
2190
|
-
gen.addType(topic, `
|
|
2224
|
+
gen.addType(topic, `Publish<'${name}'>`);
|
|
2191
2225
|
}
|
|
2192
2226
|
}
|
|
2193
2227
|
return gen.toString();
|
|
@@ -3835,6 +3869,18 @@ var searchPlugin = definePlugin({
|
|
|
3835
3869
|
searchs: z18.array(ResourceIdSchema).optional()
|
|
3836
3870
|
}).array()
|
|
3837
3871
|
}),
|
|
3872
|
+
onTypeGen({ config }) {
|
|
3873
|
+
const gen = new TypeGen("@awsless/awsless", "SearchResources");
|
|
3874
|
+
for (const stack of config.stacks) {
|
|
3875
|
+
const list3 = new TypeObject();
|
|
3876
|
+
for (const id of stack.searchs || []) {
|
|
3877
|
+
const name = formatName(`${config.name}-${stack.name}-${id}`);
|
|
3878
|
+
list3.addType(name, `{ name: '${name}' }`);
|
|
3879
|
+
}
|
|
3880
|
+
gen.addType(stack.name, list3.toString());
|
|
3881
|
+
}
|
|
3882
|
+
return gen.toString();
|
|
3883
|
+
},
|
|
3838
3884
|
onStack({ config, stack, stackConfig, bind }) {
|
|
3839
3885
|
for (const id of stackConfig.searchs || []) {
|
|
3840
3886
|
const collection = new Collection(id, {
|
|
@@ -3963,6 +4009,17 @@ var cachePlugin = definePlugin({
|
|
|
3963
4009
|
).optional()
|
|
3964
4010
|
}).array()
|
|
3965
4011
|
}),
|
|
4012
|
+
onTypeGen({ config }) {
|
|
4013
|
+
const gen = new TypeGen("@awsless/awsless", "CacheResources");
|
|
4014
|
+
for (const stack of config.stacks) {
|
|
4015
|
+
const list3 = new TypeObject();
|
|
4016
|
+
for (const name of Object.keys(stack.caches || {})) {
|
|
4017
|
+
list3.addType(name, `{ host: string, port:number }`);
|
|
4018
|
+
}
|
|
4019
|
+
gen.addType(stack.name, list3.toString());
|
|
4020
|
+
}
|
|
4021
|
+
return gen.toString();
|
|
4022
|
+
},
|
|
3966
4023
|
onStack({ config, stack, stackConfig, bootstrap: bootstrap2, bind }) {
|
|
3967
4024
|
for (const [id, props] of Object.entries(stackConfig.caches || {})) {
|
|
3968
4025
|
const name = `${config.name}-${stack.name}-${id}`;
|
package/dist/index.cjs
CHANGED
|
@@ -20,8 +20,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
+
APP: () => APP,
|
|
24
|
+
Cache: () => Cache,
|
|
23
25
|
Function: () => Function,
|
|
24
26
|
Queue: () => Queue,
|
|
27
|
+
STACK: () => STACK,
|
|
28
|
+
Search: () => Search,
|
|
29
|
+
Store: () => Store,
|
|
25
30
|
Table: () => Table,
|
|
26
31
|
Topic: () => Topic,
|
|
27
32
|
defineAppConfig: () => defineAppConfig,
|
|
@@ -53,18 +58,9 @@ var getLocalResourceName = (name, stack = STACK) => {
|
|
|
53
58
|
var getGlobalResourceName = (name) => {
|
|
54
59
|
return `${APP}-${(0, import_change_case.paramCase)(name)}`;
|
|
55
60
|
};
|
|
56
|
-
var getSearchName = getLocalResourceName;
|
|
57
|
-
var getStoreName = getLocalResourceName;
|
|
58
61
|
var getSecretName = (name) => {
|
|
59
62
|
return `/.awsless/${APP}/${name}`;
|
|
60
63
|
};
|
|
61
|
-
var getCacheProps = (name, stack = STACK) => {
|
|
62
|
-
const prefix = `CACHE_${stack}_${name}`;
|
|
63
|
-
return {
|
|
64
|
-
host: process.env[`${prefix}_HOST`],
|
|
65
|
-
port: parseInt(process.env[`${prefix}_PORT`], 10)
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
64
|
|
|
69
65
|
// src/node/function.ts
|
|
70
66
|
var import_lambda = require("@awsless/lambda");
|
|
@@ -89,24 +85,15 @@ var getFunctionName = (stack, name) => {
|
|
|
89
85
|
var Function = createProxy((stackName) => {
|
|
90
86
|
return createProxy((funcName) => {
|
|
91
87
|
const name = getFunctionName(stackName, funcName);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
payload
|
|
99
|
-
});
|
|
100
|
-
},
|
|
101
|
-
async(payload, options = {}) {
|
|
102
|
-
return (0, import_lambda.invoke)({
|
|
103
|
-
...options,
|
|
104
|
-
name,
|
|
105
|
-
payload,
|
|
106
|
-
type: "Event"
|
|
107
|
-
});
|
|
108
|
-
}
|
|
88
|
+
const call = (payload, options = {}) => {
|
|
89
|
+
return (0, import_lambda.invoke)({
|
|
90
|
+
...options,
|
|
91
|
+
name,
|
|
92
|
+
payload
|
|
93
|
+
});
|
|
109
94
|
};
|
|
95
|
+
call.name = name;
|
|
96
|
+
return call;
|
|
110
97
|
});
|
|
111
98
|
});
|
|
112
99
|
|
|
@@ -121,25 +108,69 @@ var Table = createProxy((stack) => {
|
|
|
121
108
|
});
|
|
122
109
|
|
|
123
110
|
// src/node/topic.ts
|
|
111
|
+
var import_sns = require("@awsless/sns");
|
|
124
112
|
var getTopicName = getGlobalResourceName;
|
|
125
113
|
var Topic = createProxy((topic) => {
|
|
126
114
|
const name = getTopicName(topic);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
115
|
+
const call = (payload, options = {}) => {
|
|
116
|
+
return (0, import_sns.publish)({
|
|
117
|
+
...options,
|
|
118
|
+
topic: name,
|
|
119
|
+
payload
|
|
120
|
+
});
|
|
131
121
|
};
|
|
122
|
+
call.name = name;
|
|
123
|
+
return call;
|
|
132
124
|
});
|
|
133
125
|
|
|
134
126
|
// src/node/queue.ts
|
|
127
|
+
var import_sqs = require("@awsless/sqs");
|
|
135
128
|
var getQueueName = getLocalResourceName;
|
|
136
129
|
var Queue = createProxy((stack) => {
|
|
137
130
|
return createProxy((queue) => {
|
|
138
131
|
const name = getQueueName(queue, stack);
|
|
132
|
+
const send = (payload, options) => {
|
|
133
|
+
return (0, import_sqs.sendMessage)({
|
|
134
|
+
...options,
|
|
135
|
+
queue: name,
|
|
136
|
+
payload
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
send.name = name;
|
|
140
|
+
return send;
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// src/node/cache.ts
|
|
145
|
+
var getCacheProps = (name, stack = STACK) => {
|
|
146
|
+
const prefix = `CACHE_${stack}_${name}`;
|
|
147
|
+
return {
|
|
148
|
+
host: process.env[`${prefix}_HOST`],
|
|
149
|
+
port: parseInt(process.env[`${prefix}_PORT`], 10)
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
var Cache = createProxy((stack) => {
|
|
153
|
+
return createProxy((name) => {
|
|
154
|
+
return getCacheProps(name, stack);
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// src/node/store.ts
|
|
159
|
+
var getStoreName = getLocalResourceName;
|
|
160
|
+
var Store = createProxy((stack) => {
|
|
161
|
+
return createProxy((name) => {
|
|
162
|
+
return {
|
|
163
|
+
name: getStoreName(name, stack)
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// src/node/search.ts
|
|
169
|
+
var getSearchName = getLocalResourceName;
|
|
170
|
+
var Search = createProxy((stack) => {
|
|
171
|
+
return createProxy((name) => {
|
|
139
172
|
return {
|
|
140
|
-
name
|
|
141
|
-
// sendMessage(payload:unknown) {
|
|
142
|
-
// }
|
|
173
|
+
name: getSearchName(name, stack)
|
|
143
174
|
};
|
|
144
175
|
});
|
|
145
176
|
});
|
|
@@ -153,8 +184,13 @@ var defineAppConfig = (config) => {
|
|
|
153
184
|
};
|
|
154
185
|
// Annotate the CommonJS export names for ESM import in node:
|
|
155
186
|
0 && (module.exports = {
|
|
187
|
+
APP,
|
|
188
|
+
Cache,
|
|
156
189
|
Function,
|
|
157
190
|
Queue,
|
|
191
|
+
STACK,
|
|
192
|
+
Search,
|
|
193
|
+
Store,
|
|
158
194
|
Table,
|
|
159
195
|
Topic,
|
|
160
196
|
defineAppConfig,
|
package/dist/index.d.ts
CHANGED
|
@@ -2470,15 +2470,11 @@ type Plugin<S extends AnyZodObject | undefined = undefined> = {
|
|
|
2470
2470
|
};
|
|
2471
2471
|
declare const definePlugin: <S extends AnyZodObject | undefined = undefined>(plugin: Plugin<S>) => Plugin<S>;
|
|
2472
2472
|
|
|
2473
|
+
declare const APP: "app";
|
|
2474
|
+
declare const STACK: "stack";
|
|
2473
2475
|
declare const getLocalResourceName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2474
2476
|
declare const getGlobalResourceName: <N extends string>(name: N) => `app-${N}`;
|
|
2475
|
-
declare const getSearchName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2476
|
-
declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2477
2477
|
declare const getSecretName: (name: string) => string;
|
|
2478
|
-
declare const getCacheProps: (name: string, stack?: "stack") => {
|
|
2479
|
-
readonly host: string;
|
|
2480
|
-
readonly port: number;
|
|
2481
|
-
};
|
|
2482
2478
|
|
|
2483
2479
|
declare const getFunctionName: <S extends string, N extends string>(stack: S, name: N) => `app-${S}-${N}`;
|
|
2484
2480
|
interface FunctionResources {
|
|
@@ -2493,12 +2489,30 @@ declare const Table: TableResources;
|
|
|
2493
2489
|
declare const getTopicName: <N extends string>(name: N) => `app-${N}`;
|
|
2494
2490
|
interface TopicResources {
|
|
2495
2491
|
}
|
|
2496
|
-
declare const Topic:
|
|
2492
|
+
declare const Topic: TopicResources;
|
|
2497
2493
|
|
|
2498
2494
|
declare const getQueueName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2499
2495
|
interface QueueResources {
|
|
2500
2496
|
}
|
|
2501
|
-
declare const Queue:
|
|
2497
|
+
declare const Queue: QueueResources;
|
|
2498
|
+
|
|
2499
|
+
declare const getCacheProps: (name: string, stack?: string) => {
|
|
2500
|
+
readonly host: string;
|
|
2501
|
+
readonly port: number;
|
|
2502
|
+
};
|
|
2503
|
+
interface CacheResources {
|
|
2504
|
+
}
|
|
2505
|
+
declare const Cache: CacheResources;
|
|
2506
|
+
|
|
2507
|
+
declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2508
|
+
interface StoreResources {
|
|
2509
|
+
}
|
|
2510
|
+
declare const Store: StoreResources;
|
|
2511
|
+
|
|
2512
|
+
declare const getSearchName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app-${S}-${N}`;
|
|
2513
|
+
interface SearchResources {
|
|
2514
|
+
}
|
|
2515
|
+
declare const Search: SearchResources;
|
|
2502
2516
|
|
|
2503
2517
|
type AppConfig = CombinedDefaultPluginsConfigInput;
|
|
2504
2518
|
type StackConfig = CombinedDefaultPluginsConfigInput['stacks'][number];
|
|
@@ -2718,4 +2732,4 @@ declare const defineStackConfig: (config: StackConfig) => StackConfig$1 | (Stack
|
|
|
2718
2732
|
});
|
|
2719
2733
|
declare const defineAppConfig: (config: AppConfig | AppConfigFactory<AppConfig>) => CombinedDefaultPluginsConfigInput | AppConfigFactory<CombinedDefaultPluginsConfigInput>;
|
|
2720
2734
|
|
|
2721
|
-
export { AppConfig, Function, FunctionResources, Plugin, Queue, QueueResources, StackConfig, Table, TableResources, Topic, TopicResources, defineAppConfig, definePlugin, defineStackConfig, getCacheProps, getFunctionName, getGlobalResourceName, getLocalResourceName, getQueueName, getSearchName, getSecretName, getStoreName, getTableName, getTopicName };
|
|
2735
|
+
export { APP, AppConfig, Cache, CacheResources, Function, FunctionResources, Plugin, Queue, QueueResources, STACK, Search, SearchResources, StackConfig, Store, StoreResources, Table, TableResources, Topic, TopicResources, defineAppConfig, definePlugin, defineStackConfig, getCacheProps, getFunctionName, getGlobalResourceName, getLocalResourceName, getQueueName, getSearchName, getSecretName, getStoreName, getTableName, getTopicName };
|
package/dist/index.js
CHANGED
|
@@ -12,18 +12,9 @@ var getLocalResourceName = (name, stack = STACK) => {
|
|
|
12
12
|
var getGlobalResourceName = (name) => {
|
|
13
13
|
return `${APP}-${paramCase(name)}`;
|
|
14
14
|
};
|
|
15
|
-
var getSearchName = getLocalResourceName;
|
|
16
|
-
var getStoreName = getLocalResourceName;
|
|
17
15
|
var getSecretName = (name) => {
|
|
18
16
|
return `/.awsless/${APP}/${name}`;
|
|
19
17
|
};
|
|
20
|
-
var getCacheProps = (name, stack = STACK) => {
|
|
21
|
-
const prefix = `CACHE_${stack}_${name}`;
|
|
22
|
-
return {
|
|
23
|
-
host: process.env[`${prefix}_HOST`],
|
|
24
|
-
port: parseInt(process.env[`${prefix}_PORT`], 10)
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
18
|
|
|
28
19
|
// src/node/function.ts
|
|
29
20
|
import { invoke } from "@awsless/lambda";
|
|
@@ -48,24 +39,15 @@ var getFunctionName = (stack, name) => {
|
|
|
48
39
|
var Function = createProxy((stackName) => {
|
|
49
40
|
return createProxy((funcName) => {
|
|
50
41
|
const name = getFunctionName(stackName, funcName);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
payload
|
|
58
|
-
});
|
|
59
|
-
},
|
|
60
|
-
async(payload, options = {}) {
|
|
61
|
-
return invoke({
|
|
62
|
-
...options,
|
|
63
|
-
name,
|
|
64
|
-
payload,
|
|
65
|
-
type: "Event"
|
|
66
|
-
});
|
|
67
|
-
}
|
|
42
|
+
const call = (payload, options = {}) => {
|
|
43
|
+
return invoke({
|
|
44
|
+
...options,
|
|
45
|
+
name,
|
|
46
|
+
payload
|
|
47
|
+
});
|
|
68
48
|
};
|
|
49
|
+
call.name = name;
|
|
50
|
+
return call;
|
|
69
51
|
});
|
|
70
52
|
});
|
|
71
53
|
|
|
@@ -80,25 +62,69 @@ var Table = createProxy((stack) => {
|
|
|
80
62
|
});
|
|
81
63
|
|
|
82
64
|
// src/node/topic.ts
|
|
65
|
+
import { publish } from "@awsless/sns";
|
|
83
66
|
var getTopicName = getGlobalResourceName;
|
|
84
67
|
var Topic = createProxy((topic) => {
|
|
85
68
|
const name = getTopicName(topic);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
69
|
+
const call = (payload, options = {}) => {
|
|
70
|
+
return publish({
|
|
71
|
+
...options,
|
|
72
|
+
topic: name,
|
|
73
|
+
payload
|
|
74
|
+
});
|
|
90
75
|
};
|
|
76
|
+
call.name = name;
|
|
77
|
+
return call;
|
|
91
78
|
});
|
|
92
79
|
|
|
93
80
|
// src/node/queue.ts
|
|
81
|
+
import { sendMessage } from "@awsless/sqs";
|
|
94
82
|
var getQueueName = getLocalResourceName;
|
|
95
83
|
var Queue = createProxy((stack) => {
|
|
96
84
|
return createProxy((queue) => {
|
|
97
85
|
const name = getQueueName(queue, stack);
|
|
86
|
+
const send = (payload, options) => {
|
|
87
|
+
return sendMessage({
|
|
88
|
+
...options,
|
|
89
|
+
queue: name,
|
|
90
|
+
payload
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
send.name = name;
|
|
94
|
+
return send;
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// src/node/cache.ts
|
|
99
|
+
var getCacheProps = (name, stack = STACK) => {
|
|
100
|
+
const prefix = `CACHE_${stack}_${name}`;
|
|
101
|
+
return {
|
|
102
|
+
host: process.env[`${prefix}_HOST`],
|
|
103
|
+
port: parseInt(process.env[`${prefix}_PORT`], 10)
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
var Cache = createProxy((stack) => {
|
|
107
|
+
return createProxy((name) => {
|
|
108
|
+
return getCacheProps(name, stack);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// src/node/store.ts
|
|
113
|
+
var getStoreName = getLocalResourceName;
|
|
114
|
+
var Store = createProxy((stack) => {
|
|
115
|
+
return createProxy((name) => {
|
|
116
|
+
return {
|
|
117
|
+
name: getStoreName(name, stack)
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// src/node/search.ts
|
|
123
|
+
var getSearchName = getLocalResourceName;
|
|
124
|
+
var Search = createProxy((stack) => {
|
|
125
|
+
return createProxy((name) => {
|
|
98
126
|
return {
|
|
99
|
-
name
|
|
100
|
-
// sendMessage(payload:unknown) {
|
|
101
|
-
// }
|
|
127
|
+
name: getSearchName(name, stack)
|
|
102
128
|
};
|
|
103
129
|
});
|
|
104
130
|
});
|
|
@@ -111,8 +137,13 @@ var defineAppConfig = (config) => {
|
|
|
111
137
|
return config;
|
|
112
138
|
};
|
|
113
139
|
export {
|
|
140
|
+
APP,
|
|
141
|
+
Cache,
|
|
114
142
|
Function,
|
|
115
143
|
Queue,
|
|
144
|
+
STACK,
|
|
145
|
+
Search,
|
|
146
|
+
Store,
|
|
116
147
|
Table,
|
|
117
148
|
Topic,
|
|
118
149
|
defineAppConfig,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awsless/awsless",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -25,7 +25,9 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@awsless/lambda": "^0.0.5"
|
|
28
|
+
"@awsless/lambda": "^0.0.5",
|
|
29
|
+
"@awsless/sns": "^0.0.5",
|
|
30
|
+
"@awsless/sqs": "^0.0.5"
|
|
29
31
|
},
|
|
30
32
|
"dependencies": {
|
|
31
33
|
"@aws-sdk/client-cloudformation": "^3.369.0",
|