@awsless/awsless 0.0.667 → 0.0.669

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
@@ -7572,16 +7572,6 @@ var jobFeature = defineFeature({
7572
7572
  const cluster = new aws27.ecs.Cluster(group, "cluster", {
7573
7573
  name: `${ctx.app.name}-job`
7574
7574
  });
7575
- new aws27.ecs.ClusterCapacityProviders(group, "capacity-providers", {
7576
- clusterName: cluster.name,
7577
- capacityProviders: ["FARGATE", "FARGATE_SPOT"],
7578
- defaultCapacityProviderStrategy: [
7579
- {
7580
- capacityProvider: "FARGATE_SPOT",
7581
- weight: 1
7582
- }
7583
- ]
7584
- });
7585
7575
  ctx.shared.set("job", "cluster-name", cluster.name);
7586
7576
  ctx.shared.set("job", "cluster-arn", cluster.arn);
7587
7577
  const securityGroup = new aws27.security.Group(group, "security-group", {
Binary file
Binary file
Binary file
Binary file
package/dist/server.js CHANGED
@@ -2,8 +2,11 @@ import {
2
2
  createProxy
3
3
  } from "./chunk-2LRBH7VV.js";
4
4
 
5
+ // src/lib/mock/job.ts
6
+ import { mockEcs } from "@awsless/ecs";
7
+
5
8
  // src/lib/server/job.ts
6
- import { ECSClient, RunTaskCommand } from "@aws-sdk/client-ecs";
9
+ import { runTask } from "@awsless/ecs";
7
10
 
8
11
  // src/lib/server/util.ts
9
12
  import { kebabCase } from "change-case";
@@ -54,50 +57,22 @@ var bindGlobalResourceName = (resourceType) => {
54
57
 
55
58
  // src/lib/server/job.ts
56
59
  var getJobName = bindLocalResourceName("job");
57
- var client = new ECSClient({});
58
60
  var Job = /* @__PURE__ */ createProxy((stackName) => {
59
61
  return createProxy((jobName) => {
60
62
  const name = getJobName(jobName, stackName);
61
63
  const ctx = {
62
- [name]: async (payload) => {
64
+ [name]: (payload) => {
63
65
  const cluster = `${APP}-job`;
64
66
  const subnets = JSON.parse(process.env.JOB_SUBNETS);
65
67
  const securityGroup = process.env.JOB_SECURITY_GROUP;
66
- const result = await client.send(
67
- new RunTaskCommand({
68
- cluster,
69
- taskDefinition: name,
70
- capacityProviderStrategy: [
71
- {
72
- capacityProvider: "FARGATE_SPOT",
73
- weight: 1
74
- }
75
- ],
76
- networkConfiguration: {
77
- awsvpcConfiguration: {
78
- subnets,
79
- securityGroups: [securityGroup],
80
- assignPublicIp: "ENABLED"
81
- }
82
- },
83
- overrides: {
84
- containerOverrides: [
85
- {
86
- name: `container-${jobName}`,
87
- environment: [
88
- { name: "PAYLOAD", value: JSON.stringify(payload) }
89
- ]
90
- }
91
- ]
92
- },
93
- count: 1
94
- })
95
- );
96
- if (result.failures && result.failures.length > 0) {
97
- const { reason, detail } = result.failures[0];
98
- throw new Error(`Job RunTask failed: ${reason}${detail ? ` - ${detail}` : ""}`);
99
- }
100
- return { taskArn: result.tasks?.[0]?.taskArn };
68
+ return runTask({
69
+ cluster,
70
+ taskDefinition: name,
71
+ subnets,
72
+ securityGroups: [securityGroup],
73
+ container: `container-${jobName}`,
74
+ payload
75
+ });
101
76
  }
102
77
  };
103
78
  return ctx[name];
@@ -110,19 +85,16 @@ var mockJob = (cb) => {
110
85
  const mock = createProxy((stack) => {
111
86
  return createProxy((name) => {
112
87
  return (handle) => {
113
- list[getJobName(name, stack)] = vi.fn(handle);
88
+ list[getJobName(name, stack)] = handle ?? (() => {
89
+ });
114
90
  };
115
91
  });
116
92
  });
117
93
  cb(mock);
118
- beforeEach && beforeEach(() => {
119
- for (const item of Object.values(list)) {
120
- item.mockClear();
121
- }
122
- });
94
+ const result = mockEcs(list);
123
95
  return createProxy((stack) => {
124
96
  return createProxy((name) => {
125
- return list[getJobName(name, stack)];
97
+ return result[getJobName(name, stack)];
126
98
  });
127
99
  });
128
100
  };
@@ -757,13 +729,13 @@ var getSearchProps = (name, stack = STACK) => {
757
729
  var Search = /* @__PURE__ */ createProxy((stack) => {
758
730
  return createProxy((name) => {
759
731
  const { domain } = getSearchProps(name, stack);
760
- let client2;
732
+ let client;
761
733
  return {
762
734
  domain,
763
735
  defineTable(tableName, schema) {
764
736
  return define(tableName, schema, () => {
765
- if (!client2) client2 = searchClient({ node: `https://${domain}` }, "es");
766
- return client2;
737
+ if (!client) client = searchClient({ node: `https://${domain}` }, "es");
738
+ return client;
767
739
  });
768
740
  }
769
741
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awsless/awsless",
3
- "version": "0.0.667",
3
+ "version": "0.0.669",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -33,23 +33,24 @@
33
33
  ]
34
34
  },
35
35
  "peerDependencies": {
36
- "@awsless/cloudwatch": "^0.0.1",
37
36
  "@awsless/big-float": "^0.1.6",
38
- "@awsless/dynamodb": "^0.3.20",
39
37
  "@awsless/clui": "^0.0.8",
40
- "@awsless/iot": "^0.0.5",
38
+ "@awsless/cloudwatch": "^0.0.1",
41
39
  "@awsless/duration": "^0.0.4",
40
+ "@awsless/ecs": "^0.0.1",
41
+ "@awsless/dynamodb": "^0.3.20",
42
+ "@awsless/json": "^0.0.11",
42
43
  "@awsless/lambda": "^0.0.42",
43
- "@awsless/open-search": "^0.0.24",
44
+ "@awsless/iot": "^0.0.5",
44
45
  "@awsless/mqtt": "^0.0.5",
45
- "@awsless/sqs": "^0.0.21",
46
46
  "@awsless/redis": "^0.0.16",
47
47
  "@awsless/sns": "^0.0.10",
48
48
  "@awsless/s3": "^0.0.21",
49
+ "@awsless/sqs": "^0.0.21",
49
50
  "@awsless/validate": "^0.1.7",
50
- "@awsless/json": "^0.0.11",
51
51
  "@awsless/ssm": "^0.0.8",
52
- "@awsless/weak-cache": "^0.0.1"
52
+ "@awsless/weak-cache": "^0.0.1",
53
+ "@awsless/open-search": "^0.0.24"
53
54
  },
54
55
  "dependencies": {
55
56
  "@aws-sdk/client-cloudformation": "^3.369.0",
@@ -115,15 +116,15 @@
115
116
  "zip-a-folder": "^3.1.6",
116
117
  "zod": "^3.24.2",
117
118
  "zod-to-json-schema": "^3.24.3",
119
+ "@awsless/big-float": "^0.1.6",
120
+ "@awsless/cloudwatch": "^0.0.1",
121
+ "@awsless/clui": "^0.0.8",
118
122
  "@awsless/duration": "^0.0.4",
123
+ "@awsless/json": "^0.0.11",
119
124
  "@awsless/scheduler": "^0.0.4",
120
- "@awsless/cloudwatch": "^0.0.1",
121
125
  "@awsless/size": "^0.0.2",
122
- "@awsless/clui": "^0.0.8",
123
- "@awsless/big-float": "^0.1.6",
124
126
  "@awsless/ts-file-cache": "^0.0.12",
125
- "@awsless/validate": "^0.1.7",
126
- "@awsless/json": "^0.0.11"
127
+ "@awsless/validate": "^0.1.7"
127
128
  },
128
129
  "devDependencies": {
129
130
  "@hono/node-server": "1.19.9",