alchemy-effect 0.3.0 → 0.5.0

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.
Files changed (167) hide show
  1. package/bin/alchemy-effect.js +618 -260
  2. package/bin/alchemy-effect.js.map +1 -1
  3. package/lib/apply.d.ts +4 -4
  4. package/lib/apply.d.ts.map +1 -1
  5. package/lib/apply.js +444 -159
  6. package/lib/apply.js.map +1 -1
  7. package/lib/aws/dynamodb/table.provider.d.ts.map +1 -1
  8. package/lib/aws/dynamodb/table.provider.js +11 -2
  9. package/lib/aws/dynamodb/table.provider.js.map +1 -1
  10. package/lib/aws/ec2/index.d.ts +8 -0
  11. package/lib/aws/ec2/index.d.ts.map +1 -1
  12. package/lib/aws/ec2/index.js +8 -0
  13. package/lib/aws/ec2/index.js.map +1 -1
  14. package/lib/aws/ec2/internet-gateway.d.ts +65 -0
  15. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -0
  16. package/lib/aws/ec2/internet-gateway.js +4 -0
  17. package/lib/aws/ec2/internet-gateway.js.map +1 -0
  18. package/lib/aws/ec2/internet-gateway.provider.d.ts +6 -0
  19. package/lib/aws/ec2/internet-gateway.provider.d.ts.map +1 -0
  20. package/lib/aws/ec2/internet-gateway.provider.js +193 -0
  21. package/lib/aws/ec2/internet-gateway.provider.js.map +1 -0
  22. package/lib/aws/ec2/route-table-association.d.ts +63 -0
  23. package/lib/aws/ec2/route-table-association.d.ts.map +1 -0
  24. package/lib/aws/ec2/route-table-association.js +4 -0
  25. package/lib/aws/ec2/route-table-association.js.map +1 -0
  26. package/lib/aws/ec2/route-table-association.provider.d.ts +4 -0
  27. package/lib/aws/ec2/route-table-association.provider.d.ts.map +1 -0
  28. package/lib/aws/ec2/route-table-association.provider.js +121 -0
  29. package/lib/aws/ec2/route-table-association.provider.js.map +1 -0
  30. package/lib/aws/ec2/route-table.d.ts +159 -0
  31. package/lib/aws/ec2/route-table.d.ts.map +1 -0
  32. package/lib/aws/ec2/route-table.js +4 -0
  33. package/lib/aws/ec2/route-table.js.map +1 -0
  34. package/lib/aws/ec2/route-table.provider.d.ts +6 -0
  35. package/lib/aws/ec2/route-table.provider.d.ts.map +1 -0
  36. package/lib/aws/ec2/route-table.provider.js +213 -0
  37. package/lib/aws/ec2/route-table.provider.js.map +1 -0
  38. package/lib/aws/ec2/route.d.ts +155 -0
  39. package/lib/aws/ec2/route.d.ts.map +1 -0
  40. package/lib/aws/ec2/route.js +3 -0
  41. package/lib/aws/ec2/route.js.map +1 -0
  42. package/lib/aws/ec2/route.provider.d.ts +4 -0
  43. package/lib/aws/ec2/route.provider.d.ts.map +1 -0
  44. package/lib/aws/ec2/route.provider.js +166 -0
  45. package/lib/aws/ec2/route.provider.js.map +1 -0
  46. package/lib/aws/ec2/subnet.provider.d.ts.map +1 -1
  47. package/lib/aws/ec2/subnet.provider.js +1 -1
  48. package/lib/aws/ec2/subnet.provider.js.map +1 -1
  49. package/lib/aws/ec2/vpc.d.ts +1 -0
  50. package/lib/aws/ec2/vpc.d.ts.map +1 -1
  51. package/lib/aws/ec2/vpc.provider.d.ts.map +1 -1
  52. package/lib/aws/ec2/vpc.provider.js +32 -10
  53. package/lib/aws/ec2/vpc.provider.js.map +1 -1
  54. package/lib/aws/index.d.ts +2 -3
  55. package/lib/aws/index.d.ts.map +1 -1
  56. package/lib/aws/index.js +2 -1
  57. package/lib/aws/index.js.map +1 -1
  58. package/lib/aws/lambda/function.provider.d.ts +2 -2
  59. package/lib/aws/lambda/function.provider.d.ts.map +1 -1
  60. package/lib/aws/lambda/function.provider.js +39 -42
  61. package/lib/aws/lambda/function.provider.js.map +1 -1
  62. package/lib/aws/sqs/queue.provider.d.ts +3 -4
  63. package/lib/aws/sqs/queue.provider.d.ts.map +1 -1
  64. package/lib/aws/sqs/queue.provider.js +17 -9
  65. package/lib/aws/sqs/queue.provider.js.map +1 -1
  66. package/lib/cli/index.d.ts +183 -100
  67. package/lib/cli/index.d.ts.map +1 -1
  68. package/lib/cloudflare/kv/namespace.client.d.ts +1 -1
  69. package/lib/cloudflare/kv/namespace.provider.d.ts.map +1 -1
  70. package/lib/cloudflare/kv/namespace.provider.js +12 -6
  71. package/lib/cloudflare/kv/namespace.provider.js.map +1 -1
  72. package/lib/cloudflare/r2/bucket.binding.js +1 -1
  73. package/lib/cloudflare/r2/bucket.binding.js.map +1 -1
  74. package/lib/cloudflare/r2/bucket.d.ts +1 -1
  75. package/lib/cloudflare/r2/bucket.d.ts.map +1 -1
  76. package/lib/cloudflare/r2/bucket.provider.d.ts +1 -2
  77. package/lib/cloudflare/r2/bucket.provider.d.ts.map +1 -1
  78. package/lib/cloudflare/r2/bucket.provider.js +23 -12
  79. package/lib/cloudflare/r2/bucket.provider.js.map +1 -1
  80. package/lib/cloudflare/worker/worker.d.ts +2 -2
  81. package/lib/cloudflare/worker/worker.d.ts.map +1 -1
  82. package/lib/cloudflare/worker/worker.provider.d.ts +2 -3
  83. package/lib/cloudflare/worker/worker.provider.d.ts.map +1 -1
  84. package/lib/cloudflare/worker/worker.provider.js +44 -13
  85. package/lib/cloudflare/worker/worker.provider.js.map +1 -1
  86. package/lib/diff.d.ts +8 -6
  87. package/lib/diff.d.ts.map +1 -1
  88. package/lib/diff.js +13 -0
  89. package/lib/diff.js.map +1 -1
  90. package/lib/event.d.ts +1 -1
  91. package/lib/event.d.ts.map +1 -1
  92. package/lib/instance-id.d.ts +12 -0
  93. package/lib/instance-id.d.ts.map +1 -0
  94. package/lib/instance-id.js +16 -0
  95. package/lib/instance-id.js.map +1 -0
  96. package/lib/output.d.ts +4 -2
  97. package/lib/output.d.ts.map +1 -1
  98. package/lib/output.js +18 -4
  99. package/lib/output.js.map +1 -1
  100. package/lib/physical-name.d.ts +25 -1
  101. package/lib/physical-name.d.ts.map +1 -1
  102. package/lib/physical-name.js +50 -2
  103. package/lib/physical-name.js.map +1 -1
  104. package/lib/plan.d.ts +49 -42
  105. package/lib/plan.d.ts.map +1 -1
  106. package/lib/plan.js +417 -137
  107. package/lib/plan.js.map +1 -1
  108. package/lib/provider.d.ts +26 -10
  109. package/lib/provider.d.ts.map +1 -1
  110. package/lib/provider.js +9 -0
  111. package/lib/provider.js.map +1 -1
  112. package/lib/resource.d.ts +3 -2
  113. package/lib/resource.d.ts.map +1 -1
  114. package/lib/resource.js.map +1 -1
  115. package/lib/state.d.ts +86 -9
  116. package/lib/state.d.ts.map +1 -1
  117. package/lib/state.js +21 -18
  118. package/lib/state.js.map +1 -1
  119. package/lib/tags.d.ts +15 -0
  120. package/lib/tags.d.ts.map +1 -1
  121. package/lib/tags.js +27 -0
  122. package/lib/tags.js.map +1 -1
  123. package/lib/test.d.ts +2 -2
  124. package/lib/test.d.ts.map +1 -1
  125. package/lib/test.js +4 -4
  126. package/lib/test.js.map +1 -1
  127. package/lib/todo.d.ts +3 -0
  128. package/lib/todo.d.ts.map +1 -0
  129. package/lib/todo.js +3 -0
  130. package/lib/todo.js.map +1 -0
  131. package/lib/tsconfig.test.tsbuildinfo +1 -1
  132. package/package.json +2 -2
  133. package/src/apply.ts +742 -348
  134. package/src/aws/dynamodb/table.provider.ts +16 -4
  135. package/src/aws/ec2/index.ts +8 -0
  136. package/src/aws/ec2/internet-gateway.provider.ts +316 -0
  137. package/src/aws/ec2/internet-gateway.ts +79 -0
  138. package/src/aws/ec2/route-table-association.provider.ts +214 -0
  139. package/src/aws/ec2/route-table-association.ts +82 -0
  140. package/src/aws/ec2/route-table.provider.ts +306 -0
  141. package/src/aws/ec2/route-table.ts +175 -0
  142. package/src/aws/ec2/route.provider.ts +213 -0
  143. package/src/aws/ec2/route.ts +192 -0
  144. package/src/aws/ec2/subnet.provider.ts +2 -2
  145. package/src/aws/ec2/vpc.provider.ts +36 -11
  146. package/src/aws/ec2/vpc.ts +2 -0
  147. package/src/aws/index.ts +4 -1
  148. package/src/aws/lambda/function.provider.ts +66 -53
  149. package/src/aws/sqs/queue.provider.ts +18 -11
  150. package/src/cloudflare/kv/namespace.provider.ts +19 -14
  151. package/src/cloudflare/r2/bucket.binding.ts +1 -1
  152. package/src/cloudflare/r2/bucket.provider.ts +34 -24
  153. package/src/cloudflare/r2/bucket.ts +1 -1
  154. package/src/cloudflare/worker/worker.provider.ts +43 -13
  155. package/src/cloudflare/worker/worker.ts +2 -2
  156. package/src/diff.ts +35 -17
  157. package/src/event.ts +6 -0
  158. package/src/instance-id.ts +20 -0
  159. package/src/output.ts +29 -5
  160. package/src/physical-name.ts +79 -2
  161. package/src/plan.ts +566 -214
  162. package/src/provider.ts +46 -10
  163. package/src/resource.ts +65 -8
  164. package/src/state.ts +150 -35
  165. package/src/tags.ts +31 -0
  166. package/src/test.ts +5 -5
  167. package/src/todo.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,aAAa,EAAE,EACxB,GAAG,CAAC,cAAc,EAAE,EACpB,GAAG,CAAC,WAAW,EAAE,EACjB,MAAM,CAAC,gBAAgB,EAAE,EACzB,GAAG,CAAC,aAAa,EAAE,CACpB,CAAC;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAC3B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,yBAAyB,EAAE,EACpC,GAAG,CAAC,wBAAwB,EAAE,EAC9B,GAAG,CAAC,6BAA6B,EAAE,CACpC,CAAC;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAC1B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,MAAM,EAAE,EACjB,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,MAAM,EAAE,EACZ,MAAM,CAAC,MAAM,EAAE,EACf,EAAE,CAAC,MAAM,EAAE,EACX,GAAG,CAAC,MAAM,EAAE,CAEb,CAAC;AAEJ,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,SAAS,EAAE,CAAC,IAAI,CACd,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAC9B,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAC7B,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAC3B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAC7C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAChC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAC5C,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAClD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,sIAAsI;AAEtI,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,aAAa,EAAE,EACxB,GAAG,CAAC,uBAAuB,EAAE,EAC7B,GAAG,CAAC,aAAa,EAAE,EACnB,GAAG,CAAC,6BAA6B,EAAE,EACnC,GAAG,CAAC,kBAAkB,EAAE,EACxB,GAAG,CAAC,cAAc,EAAE,EACpB,GAAG,CAAC,WAAW,EAAE,EACjB,MAAM,CAAC,gBAAgB,EAAE,EACzB,GAAG,CAAC,aAAa,EAAE,CACpB,CAAC;AAEJ,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAC3B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,yBAAyB,EAAE,EACpC,GAAG,CAAC,wBAAwB,EAAE,EAC9B,GAAG,CAAC,6BAA6B,EAAE,CACpC,CAAC;AAEJ,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAC1B,KAAK,CAAC,QAAQ,CACZ,QAAQ,CAAC,MAAM,EAAE,EACjB,GAAG,CAAC,MAAM,EAAE,EACZ,GAAG,CAAC,MAAM,EAAE,EACZ,MAAM,CAAC,MAAM,EAAE,EACf,EAAE,CAAC,MAAM,EAAE,EACX,GAAG,CAAC,MAAM,EAAE,CAEb,CAAC;AAEJ,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,SAAS,EAAE,CAAC,IAAI,CACd,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAC9B,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAC7B,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAC3B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,EAC7C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAChC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAC5C,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,CAClD,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { FileSystem } from "@effect/platform";
2
2
  import { App } from "../../app.ts";
3
3
  import { DotAlchemy } from "../../dot-alchemy.ts";
4
+ import { Account } from "../account.ts";
4
5
  import * as IAM from "../iam.ts";
6
+ import { Region } from "../region.ts";
5
7
  import { LambdaClient } from "./client.ts";
6
8
  import { Function } from "./function.ts";
7
- import { Account } from "../account.ts";
8
- import { Region } from "../region.ts";
9
9
  export declare const functionProvider: () => import("effect/Layer").Layer<import("../../provider.ts").Provider<Function>, never, FileSystem.FileSystem | App | DotAlchemy | Region | Account | IAM.IAMClient | LambdaClient>;
10
10
  //# sourceMappingURL=function.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.provider.d.ts","sourceRoot":"","sources":["../../../src/aws/lambda/function.provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,eAAO,MAAM,gBAAgB,uLA8nB1B,CAAC"}
1
+ {"version":3,"file":"function.provider.d.ts","sourceRoot":"","sources":["../../../src/aws/lambda/function.provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC;AAEhF,eAAO,MAAM,gBAAgB,uLA2oB1B,CAAC"}
@@ -6,12 +6,13 @@ import * as Schedule from "effect/Schedule";
6
6
  import { App } from "../../app.js";
7
7
  import { DotAlchemy } from "../../dot-alchemy.js";
8
8
  import { createTagger, createTagsList, hasTags } from "../../tags.js";
9
+ import { Account } from "../account.js";
9
10
  import * as IAM from "../iam.js";
11
+ import { Region } from "../region.js";
10
12
  import { zipCode } from "../zip.js";
13
+ import { createPhysicalName } from "../../physical-name.js";
11
14
  import { LambdaClient } from "./client.js";
12
15
  import { Function } from "./function.js";
13
- import { Account } from "../account.js";
14
- import { Region } from "../region.js";
15
16
  export const functionProvider = () => Function.provider.effect(Effect.gen(function* () {
16
17
  const lambda = yield* LambdaClient;
17
18
  const iam = yield* IAM.IAMClient;
@@ -21,21 +22,23 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
21
22
  const dotAlchemy = yield* DotAlchemy;
22
23
  const fs = yield* FileSystem.FileSystem;
23
24
  // const assets = yield* Assets;
24
- const createFunctionName = (id) => `${app.name}-${app.stage}-${id}-${region}`;
25
- const createRoleName = (id) => `${app.name}-${app.stage}-${id}-${region}`;
26
- const createPolicyName = (id) => `${app.name}-${app.stage}-${id}-${region}`;
27
- const createPhysicalNames = (id) => {
28
- const roleName = createRoleName(id);
29
- const policyName = createPolicyName(id);
30
- const functionName = createFunctionName(id);
25
+ const createFunctionName = (id, functionName) => Effect.gen(function* () {
26
+ return (functionName ?? (yield* createPhysicalName({ id, maxLength: 64 })));
27
+ });
28
+ const createRoleName = (id) => createPhysicalName({ id, maxLength: 64 });
29
+ const createPolicyName = (id) => createPhysicalName({ id, maxLength: 128 });
30
+ const createNames = (id, functionName) => Effect.gen(function* () {
31
+ const roleName = yield* createRoleName(id);
32
+ const policyName = yield* createPolicyName(id);
33
+ const fn = yield* createFunctionName(id, functionName);
31
34
  return {
32
35
  roleName,
33
36
  policyName,
34
- functionName,
37
+ functionName: fn,
35
38
  roleArn: `arn:aws:iam::${accountId}:role/${roleName}`,
36
- functionArn: `arn:aws:lambda:${region}:${accountId}:function:${functionName}`,
39
+ functionArn: `arn:aws:lambda:${region}:${accountId}:function:${fn}`,
37
40
  };
38
- };
41
+ });
39
42
  const attachBindings = Effect.fn(function* ({ roleName, policyName,
40
43
  // functionArn,
41
44
  // functionName,
@@ -289,6 +292,25 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
289
292
  ? `${(code.length / 1024).toFixed(2)}KB`
290
293
  : `${code.length}B`}`;
291
294
  return {
295
+ stables: ["functionArn", "functionName", "roleName"],
296
+ diff: Effect.fn(function* ({ id, olds, news, output }) {
297
+ if (
298
+ // function name changed
299
+ output.functionName !==
300
+ (yield* createFunctionName(id, news.functionName)) ||
301
+ // url changed
302
+ olds.url !== news.url) {
303
+ return { action: "replace" };
304
+ }
305
+ if (output.code.hash !==
306
+ (yield* bundleCode(id, {
307
+ main: news.main,
308
+ handler: news.handler,
309
+ })).hash) {
310
+ // code changed
311
+ return { action: "update" };
312
+ }
313
+ }),
292
314
  read: Effect.fn(function* ({ id, output }) {
293
315
  if (output) {
294
316
  yield* Effect.logDebug(`reading function ${id}`);
@@ -297,7 +319,7 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
297
319
  ...output,
298
320
  functionUrl: (yield* lambda
299
321
  .getFunctionUrlConfig({
300
- FunctionName: createFunctionName(id),
322
+ FunctionName: yield* createFunctionName(id, output.functionName),
301
323
  })
302
324
  .pipe(Effect.map((f) => f.FunctionUrl), Effect.retry({
303
325
  // error: ResourceConflictException: The operation cannot be performed at this time.
@@ -309,26 +331,8 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
309
331
  }
310
332
  return output;
311
333
  }),
312
- diff: Effect.fn(function* ({ id, olds, news, output }) {
313
- if (
314
- // function name changed
315
- output.functionName !==
316
- (news.functionName ?? createFunctionName(id)) ||
317
- // url changed
318
- olds.url !== news.url) {
319
- return { action: "replace" };
320
- }
321
- if (output.code.hash !==
322
- (yield* bundleCode(id, {
323
- main: news.main,
324
- handler: news.handler,
325
- })).hash) {
326
- // code changed
327
- return { action: "update" };
328
- }
329
- }),
330
334
  precreate: Effect.fn(function* ({ id, news }) {
331
- const { roleName, functionName, roleArn } = createPhysicalNames(id);
335
+ const { roleName, functionName, roleArn } = yield* createNames(id, news.functionName);
332
336
  const role = yield* createRoleIfNotExists({ id, roleName });
333
337
  // mock code
334
338
  const code = "export default () => {}";
@@ -344,7 +348,7 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
344
348
  functionArn: `arn:aws:lambda:${region}:${accountId}:function:${functionName}`,
345
349
  functionName,
346
350
  functionUrl: undefined,
347
- roleName: createRoleName(id),
351
+ roleName,
348
352
  code: {
349
353
  hash: yield* hashCode(code),
350
354
  },
@@ -352,11 +356,7 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
352
356
  };
353
357
  }),
354
358
  create: Effect.fn(function* ({ id, news, bindings, session }) {
355
- const roleName = createRoleName(id);
356
- const policyName = createPolicyName(id);
357
- // const policyArn = `arn:aws:iam::${accountId}:policy/${policyName}`;
358
- const functionName = news.functionName ?? createFunctionName(id);
359
- const functionArn = `arn:aws:lambda:${region}:${accountId}:function:${functionName}`;
359
+ const { roleName, policyName, functionName, functionArn } = yield* createNames(id, news.functionName);
360
360
  const role = yield* createRoleIfNotExists({ id, roleName });
361
361
  const env = yield* attachBindings({
362
362
  roleName,
@@ -392,10 +392,7 @@ export const functionProvider = () => Function.provider.effect(Effect.gen(functi
392
392
  };
393
393
  }),
394
394
  update: Effect.fn(function* ({ id, news, olds, bindings, output, session, }) {
395
- const roleName = createRoleName(id);
396
- const policyName = createPolicyName(id);
397
- const functionName = news.functionName ?? createFunctionName(id);
398
- const functionArn = `arn:aws:lambda:${region}:${accountId}:function:${functionName}`;
395
+ const { roleName, policyName, functionName, functionArn } = yield* createNames(id, news.functionName);
399
396
  const env = yield* attachBindings({
400
397
  roleName,
401
398
  policyName,
@@ -1 +1 @@
1
- {"version":3,"file":"function.provider.js","sourceRoot":"","sources":["../../../src/aws/lambda/function.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function.provider.js","sourceRoot":"","sources":["../../../src/aws/lambda/function.provider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { App } from "../../app.ts";
1
+ import { Account } from "../account.ts";
2
+ import { Region } from "../region.ts";
2
3
  import { SQSClient } from "./client.ts";
3
4
  import { Queue, type QueueProps } from "./queue.ts";
4
- import { Region } from "../region.ts";
5
- import { Account } from "../account.ts";
6
- export declare const queueProvider: () => import("effect/Layer").Layer<import("../../provider.ts").Provider<Queue<string, QueueProps<any>>>, never, App | Region | Account | SQSClient>;
5
+ export declare const queueProvider: () => import("effect/Layer").Layer<import("../../provider.ts").Provider<Queue<string, QueueProps<any>>>, never, import("../../app.ts").App | Region | Account | SQSClient>;
7
6
  //# sourceMappingURL=queue.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.provider.d.ts","sourceRoot":"","sources":["../../../src/aws/sqs/queue.provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,aAAa,qJA0FvB,CAAC"}
1
+ {"version":3,"file":"queue.provider.d.ts","sourceRoot":"","sources":["../../../src/aws/sqs/queue.provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,aAAa,4KAkGvB,CAAC"}
@@ -1,17 +1,24 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Schedule from "effect/Schedule";
3
- import { App } from "../../app.js";
3
+ import { createPhysicalName } from "../../physical-name.js";
4
+ import { Account } from "../account.js";
5
+ import { Region } from "../region.js";
4
6
  import { SQSClient } from "./client.js";
5
7
  import { Queue } from "./queue.js";
6
- import { Region } from "../region.js";
7
- import { Account } from "../account.js";
8
8
  export const queueProvider = () => Queue.provider.effect(Effect.gen(function* () {
9
9
  const sqs = yield* SQSClient;
10
- const app = yield* App;
11
10
  const region = yield* Region;
12
11
  const accountId = yield* Account;
13
- const createQueueName = (id, props) => props.queueName ??
14
- `${app.name}-${id}-${app.stage}${props.fifo ? ".fifo" : ""}`;
12
+ const createQueueName = (id, props) => Effect.gen(function* () {
13
+ if (props.queueName) {
14
+ return props.queueName;
15
+ }
16
+ const baseName = yield* createPhysicalName({
17
+ id,
18
+ maxLength: props.fifo ? 80 - ".fifo".length : 80,
19
+ });
20
+ return props.fifo ? `${baseName}.fifo` : baseName;
21
+ });
15
22
  const createAttributes = (props) => ({
16
23
  FifoQueue: props.fifo ? "true" : "false",
17
24
  FifoThroughputLimit: props.fifoThroughputLimit,
@@ -26,21 +33,22 @@ export const queueProvider = () => Queue.provider.effect(Effect.gen(function* ()
26
33
  VisibilityTimeout: props.visibilityTimeout?.toString(),
27
34
  });
28
35
  return {
36
+ stables: ["queueName", "queueUrl", "queueArn"],
29
37
  diff: Effect.fn(function* ({ id, news, olds }) {
30
38
  const oldFifo = olds.fifo ?? false;
31
39
  const newFifo = news.fifo ?? false;
32
40
  if (oldFifo !== newFifo) {
33
41
  return { action: "replace" };
34
42
  }
35
- const oldQueueName = createQueueName(id, olds);
36
- const newQueueName = createQueueName(id, news);
43
+ const oldQueueName = yield* createQueueName(id, olds);
44
+ const newQueueName = yield* createQueueName(id, news);
37
45
  if (oldQueueName !== newQueueName) {
38
46
  return { action: "replace" };
39
47
  }
40
48
  return { action: "noop" };
41
49
  }),
42
50
  create: Effect.fn(function* ({ id, news, session }) {
43
- const queueName = createQueueName(id, news);
51
+ const queueName = yield* createQueueName(id, news);
44
52
  const response = yield* sqs
45
53
  .createQueue({
46
54
  QueueName: queueName,
@@ -1 +1 @@
1
- {"version":3,"file":"queue.provider.js","sourceRoot":"","sources":["../../../src/aws/sqs/queue.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.provider.js","sourceRoot":"","sources":["../../../src/aws/sqs/queue.provider.ts"],"names":[],"mappings":"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"}