Skip to content

Commit c53e60e

Browse files
committed
feat: WIP migrate to effect 4
1 parent a3d4597 commit c53e60e

File tree

475 files changed

+10708
-11109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

475 files changed

+10708
-11109
lines changed

.changeset/config.json

Lines changed: 0 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.changeset/pre.json

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
{
2+
"mode": "pre",
3+
"tag": "beta",
4+
"initialVersions": {
5+
"@effect-aws/client-account": "1.10.9",
6+
"@effect-aws/client-api-gateway": "1.10.9",
7+
"@effect-aws/client-api-gateway-management-api": "1.10.9",
8+
"@effect-aws/client-api-gateway-v2": "1.10.9",
9+
"@effect-aws/client-athena": "1.10.9",
10+
"@effect-aws/client-auto-scaling": "1.10.9",
11+
"@effect-aws/client-bedrock": "1.10.9",
12+
"@effect-aws/client-bedrock-runtime": "1.10.9",
13+
"@effect-aws/client-cloudformation": "1.10.9",
14+
"@effect-aws/client-cloudsearch": "1.10.9",
15+
"@effect-aws/client-cloudtrail": "1.10.9",
16+
"@effect-aws/client-cloudwatch": "1.10.9",
17+
"@effect-aws/client-cloudwatch-events": "1.10.9",
18+
"@effect-aws/client-cloudwatch-logs": "1.10.9",
19+
"@effect-aws/client-codedeploy": "1.10.9",
20+
"@effect-aws/client-cognito-identity-provider": "1.10.9",
21+
"@effect-aws/client-data-pipeline": "1.10.9",
22+
"@effect-aws/client-dsql": "1.10.9",
23+
"@effect-aws/client-dynamodb": "1.10.9",
24+
"@effect-aws/client-ec2": "1.10.9",
25+
"@effect-aws/client-ecr": "1.10.9",
26+
"@effect-aws/client-ecs": "1.10.9",
27+
"@effect-aws/client-elasticache": "1.10.9",
28+
"@effect-aws/client-eventbridge": "1.10.9",
29+
"@effect-aws/client-firehose": "1.10.9",
30+
"@effect-aws/client-glue": "1.10.9",
31+
"@effect-aws/client-iam": "1.10.9",
32+
"@effect-aws/client-iot": "1.10.9",
33+
"@effect-aws/client-iot-data-plane": "1.10.9",
34+
"@effect-aws/client-iot-events": "1.10.9",
35+
"@effect-aws/client-iot-events-data": "1.10.9",
36+
"@effect-aws/client-iot-jobs-data-plane": "1.10.9",
37+
"@effect-aws/client-iot-wireless": "1.10.9",
38+
"@effect-aws/client-ivs": "1.10.9",
39+
"@effect-aws/client-kafka": "1.10.9",
40+
"@effect-aws/client-kafkaconnect": "1.10.9",
41+
"@effect-aws/client-kinesis": "1.10.9",
42+
"@effect-aws/client-kms": "1.10.9",
43+
"@effect-aws/client-lambda": "1.10.9",
44+
"@effect-aws/client-mq": "1.10.9",
45+
"@effect-aws/client-opensearch": "1.10.9",
46+
"@effect-aws/client-opensearch-serverless": "1.10.9",
47+
"@effect-aws/client-organizations": "1.10.9",
48+
"@effect-aws/client-rds": "1.10.9",
49+
"@effect-aws/client-s3": "1.10.9",
50+
"@effect-aws/client-scheduler": "1.10.9",
51+
"@effect-aws/client-secrets-manager": "1.10.9",
52+
"@effect-aws/client-ses": "1.10.9",
53+
"@effect-aws/client-sfn": "1.10.9",
54+
"@effect-aws/client-sns": "1.10.9",
55+
"@effect-aws/client-sqs": "1.10.9",
56+
"@effect-aws/client-ssm": "1.10.9",
57+
"@effect-aws/client-sts": "1.10.9",
58+
"@effect-aws/client-textract": "1.10.9",
59+
"@effect-aws/client-timestream-influxdb": "1.10.9",
60+
"@effect-aws/client-timestream-query": "1.10.9",
61+
"@effect-aws/client-timestream-write": "1.10.9",
62+
"@effect-aws/commons": "0.3.1",
63+
"@effect-aws/dsql": "0.1.0",
64+
"@effect-aws/dynamodb": "1.0.3",
65+
"@effect-aws/http-handler": "0.1.2",
66+
"@effect-aws/lambda": "1.5.2",
67+
"@effect-aws/powertools-logger": "1.5.1",
68+
"@effect-aws/powertools-tracer": "1.0.1",
69+
"@effect-aws/s3": "0.2.6",
70+
"@effect-aws/secrets-manager": "1.3.3",
71+
"@effect-aws/ssm": "1.3.6"
72+
},
73+
"changesets": []
74+
}

.changeset/sour-parents-clean.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
---
2+
"@effect-aws/client-api-gateway-management-api": major
3+
"@effect-aws/client-cognito-identity-provider": major
4+
"@effect-aws/client-opensearch-serverless": major
5+
"@effect-aws/client-iot-jobs-data-plane": major
6+
"@effect-aws/client-timestream-influxdb": major
7+
"@effect-aws/client-cloudwatch-events": major
8+
"@effect-aws/client-timestream-query": major
9+
"@effect-aws/client-timestream-write": major
10+
"@effect-aws/client-bedrock-runtime": major
11+
"@effect-aws/client-cloudwatch-logs": major
12+
"@effect-aws/client-iot-events-data": major
13+
"@effect-aws/client-secrets-manager": major
14+
"@effect-aws/client-api-gateway-v2": major
15+
"@effect-aws/client-cloudformation": major
16+
"@effect-aws/client-iot-data-plane": major
17+
"@effect-aws/client-data-pipeline": major
18+
"@effect-aws/client-organizations": major
19+
"@effect-aws/client-auto-scaling": major
20+
"@effect-aws/client-iot-wireless": major
21+
"@effect-aws/client-kafkaconnect": major
22+
"@effect-aws/client-api-gateway": major
23+
"@effect-aws/client-cloudsearch": major
24+
"@effect-aws/client-elasticache": major
25+
"@effect-aws/client-eventbridge": major
26+
"@effect-aws/client-cloudtrail": major
27+
"@effect-aws/client-cloudwatch": major
28+
"@effect-aws/client-codedeploy": major
29+
"@effect-aws/client-iot-events": major
30+
"@effect-aws/client-opensearch": major
31+
"@effect-aws/powertools-logger": major
32+
"@effect-aws/powertools-tracer": major
33+
"@effect-aws/client-scheduler": major
34+
"@effect-aws/client-dynamodb": major
35+
"@effect-aws/client-firehose": major
36+
"@effect-aws/client-textract": major
37+
"@effect-aws/secrets-manager": major
38+
"@effect-aws/client-account": major
39+
"@effect-aws/client-bedrock": major
40+
"@effect-aws/client-kinesis": major
41+
"@effect-aws/client-athena": major
42+
"@effect-aws/client-lambda": major
43+
"@effect-aws/client-kafka": major
44+
"@effect-aws/http-handler": major
45+
"@effect-aws/client-dsql": major
46+
"@effect-aws/client-glue": major
47+
"@effect-aws/client-ec2": major
48+
"@effect-aws/client-ecr": major
49+
"@effect-aws/client-ecs": major
50+
"@effect-aws/client-iam": major
51+
"@effect-aws/client-iot": major
52+
"@effect-aws/client-ivs": major
53+
"@effect-aws/client-kms": major
54+
"@effect-aws/client-rds": major
55+
"@effect-aws/client-ses": major
56+
"@effect-aws/client-sfn": major
57+
"@effect-aws/client-sns": major
58+
"@effect-aws/client-sqs": major
59+
"@effect-aws/client-ssm": major
60+
"@effect-aws/client-sts": major
61+
"@effect-aws/client-mq": major
62+
"@effect-aws/client-s3": major
63+
"@effect-aws/dynamodb": major
64+
"@effect-aws/commons": major
265
"@effect-aws/lambda": major
66+
"@effect-aws/dsql": major
67+
"@effect-aws/ssm": major
68+
"@effect-aws/s3": major
369
---
470

571
Migrate to effect v4

.projen/deps.json

Lines changed: 3 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.projenrc.ts

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ new Changesets(project, {
2929
repo,
3030
onlyUpdatePeerDependentsWhenOutOfRange: true,
3131
linked: [`@${name}/client-*`],
32-
ignore: [`@${name}/lib-*`],
3332
});
3433
project.package.manifest.pnpm.patchedDependencies = {
3534
"@changesets/assemble-release-plan": "patches/@changesets__assemble-release-plan.patch",
@@ -43,11 +42,11 @@ new Vitest(project, { sharedSetupFiles: ["vitest.setup.ts"] });
4342
project.addDevDeps("vitest-mock-extended");
4443
project.addDevDeps("aws-sdk-client-mock", "aws-sdk-client-mock-vitest@^6.2.1");
4544

46-
const effectDeps = ["effect"];
45+
const effectDeps = ["effect@4.0.0-beta.8"];
4746

4847
project.addScripts({ "codegen-client": "tsx ./scripts/codegen-cli.ts" });
49-
project.addDeps(...effectDeps, "@effect/cli", "@effect/platform", "@effect/platform-node");
50-
project.addDevDeps("@effect/language-service", "@effect/vitest");
48+
project.addDeps(...effectDeps, "@effect/platform-node@4.0.0-beta.8");
49+
project.addDevDeps("@effect/language-service", "@effect/vitest@4.0.0-beta.8");
5150
project.tsconfigBase?.file.addOverride("compilerOptions.plugins", [
5251
{ name: "@effect/language-service" },
5352
]);
@@ -59,7 +58,7 @@ project.addTask("pages:build", { exec: "vitepress build pages" });
5958
project.addTask("pages:preview", { exec: "vitepress preview pages" });
6059

6160
const commonDevDeps = [...effectDeps];
62-
const commonPeerDeps = ["effect@>=3.0.4 <4.0.0"];
61+
const commonPeerDeps = ["effect@>=4.0.0 <5.0.0"];
6362

6463
const commons = new TypeScriptLibProject({
6564
parent: project,
@@ -113,7 +112,7 @@ const lambda = new TypeScriptLibProject({
113112
parent: project,
114113
name: "lambda",
115114
description: "Effectful AWS Lambda handler",
116-
devDeps: ["effect@4.0.0-beta.8", "@effect/platform-node-shared@4.0.0-beta.8", "@types/aws-lambda"],
115+
devDeps: [...effectDeps, "@effect/platform-node-shared@4.0.0-beta.8", "@types/aws-lambda"],
117116
peerDeps: ["effect@>=4.0.0 <5.0.0", "@effect/platform-node-shared@>=4.0.0 <5.0.0"],
118117
addExamples: true,
119118
});
@@ -169,8 +168,8 @@ new TypeScriptLibProject({
169168
parent: project,
170169
name: "s3",
171170
description: "Effectful AWS S3 functions",
172-
devDeps: [...effectDeps, "@effect/platform", "@aws-sdk/client-s3@^3"],
173-
peerDeps: ["effect@>=3.15.5 <4.0.0", "@effect/platform@>=0.83.0"],
171+
devDeps: [...effectDeps, "@aws-sdk/client-s3@^3"],
172+
peerDeps: ["effect@>=4.0.0 <5.0.0"],
174173
workspacePeerDeps: [s3Client],
175174
addExamples: true,
176175
});
@@ -180,8 +179,8 @@ new TypeScriptLibProject({
180179
name: "http-handler",
181180
description: "Effectful AWS HTTP handler",
182181
deps: ["@smithy/types", "@smithy/protocol-http", "@smithy/querystring-builder"],
183-
devDeps: [...effectDeps, "@effect/platform"],
184-
peerDeps: ["effect@>=3.15.5 <4.0.0", "@effect/platform@>=0.83.0"],
182+
devDeps: [...effectDeps],
183+
peerDeps: ["effect@>=4.0.0 <5.0.0"],
185184
workspacePeerDeps: [commons],
186185
});
187186

@@ -191,7 +190,7 @@ new TypeScriptLibProject({
191190
description: "Effectful AWS Aurora DSQL modules",
192191
deps: ["@aws-sdk/dsql-signer@^3"],
193192
devDeps: [...effectDeps],
194-
peerDeps: ["effect@>=3.15.5 <4.0.0"],
193+
peerDeps: ["effect@>=4.0.0 <5.0.0"],
195194
});
196195

197196
project.addGitIgnore("/.direnv"); // flake environment creates .direnv folder

package.json

Lines changed: 3 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-account/.projen/deps.json

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-account/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ With default AccountClient instance:
1616
```typescript
1717
import { Account } from "@effect-aws/client-account";
1818

19-
const program = Account.listRegions(args);
19+
const program = Account.use((svc) => svc.listRegions(args));
2020

2121
const result = pipe(
2222
program,
@@ -30,7 +30,7 @@ With custom AccountClient instance:
3030
```typescript
3131
import { Account } from "@effect-aws/client-account";
3232

33-
const program = Account.listRegions(args);
33+
const program = Account.use((svc) => svc.listRegions(args));
3434

3535
const result = await pipe(
3636
program,
@@ -46,7 +46,7 @@ With custom AccountClient configuration:
4646
```typescript
4747
import { Account } from "@effect-aws/client-account";
4848

49-
const program = Account.listRegions(args);
49+
const program = Account.use((svc) => svc.listRegions(args));
5050

5151
const result = await pipe(
5252
program,

packages/client-account/package.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client-account/src/AccountClientInstance.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
* @since 1.0.0
33
*/
44
import { AccountClient } from "@aws-sdk/client-account";
5-
import { Context, Effect, Layer } from "effect";
5+
import { Effect, Layer, ServiceMap } from "effect";
66
import * as AccountServiceConfig from "./AccountServiceConfig.js";
77

88
/**
99
* @since 1.0.0
1010
* @category tags
1111
*/
12-
export class AccountClientInstance extends Context.Tag(
12+
export class AccountClientInstance extends ServiceMap.Service<AccountClientInstance, AccountClient>()(
1313
"@effect-aws/client-account/AccountClientInstance",
14-
)<AccountClientInstance, AccountClient>() {}
14+
) {}
1515

1616
/**
1717
* @since 1.0.0
@@ -30,4 +30,4 @@ export const make = Effect.flatMap(
3030
* @since 1.0.0
3131
* @category layers
3232
*/
33-
export const layer = Layer.scoped(AccountClientInstance, make);
33+
export const layer = Layer.effect(AccountClientInstance, make);

0 commit comments

Comments
 (0)