Skip to content

Commit 61bf528

Browse files
committed
Merge remote-tracking branch 'origin/main' into left-right-type-signature
2 parents eab3dbf + 03c048c commit 61bf528

File tree

1,561 files changed

+131410
-55504
lines changed

Some content is hidden

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

1,561 files changed

+131410
-55504
lines changed

.github/CODEOWNERS

+53-27
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,54 @@
1-
/packages/effect/ @mikearnaldi
2-
/packages/cli/ @IMax153
3-
/packages/cluster/ @IMax153 @mattiamanzati
4-
/packages/cluster-browser/ @IMax153 @mattiamanzati
5-
/packages/cluster-node/ @IMax153 @mattiamanzati
6-
/packages/cluster-workflow/ @IMax153 @mattiamanzati
7-
/packages/experimental/ @tim-smart
8-
/packages/opentelemetry/ @tim-smart
9-
/packages/platform/ @tim-smart
10-
/packages/platform-browser/ @tim-smart
11-
/packages/platform-bun/ @tim-smart
12-
/packages/platform-node/ @tim-smart
13-
/packages/platform-node-shared/ @tim-smart
14-
/packages/printer/ @IMax153
15-
/packages/printer-ansi/ @IMax153
16-
/packages/rpc/ @tim-smart
17-
/packages/rpc-http/ @tim-smart
18-
/packages/schema/ @gcanti
19-
/packages/sql/ @tim-smart
20-
/packages/sql-mssql/ @tim-smart
21-
/packages/sql-mysql2/ @tim-smart
22-
/packages/sql-pg/ @tim-smart
23-
/packages/sql-sqlite-bun/ @tim-smart
24-
/packages/sql-sqlite-node/ @tim-smart
1+
/packages/effect/ @mikearnaldi
2+
3+
/packages/effect/src/Arbitrary.ts @gcanti
4+
/packages/effect/src/JSONSchema.ts @gcanti
5+
/packages/effect/src/ParseResult.ts @gcanti
6+
/packages/effect/src/Pretty.ts @gcanti
7+
/packages/effect/src/Schema.ts @gcanti
8+
/packages/effect/src/SchemaAST.ts @gcanti
9+
/packages/effect/src/internal/schema/ @gcanti
10+
/packages/effect/test/Schema/ @gcanti
11+
12+
/packages/ai/ @tim-smart
13+
14+
/packages/cli/ @IMax153
15+
16+
/packages/cluster/ @IMax153 @mattiamanzati
17+
/packages/cluster-browser/ @IMax153 @mattiamanzati
18+
/packages/cluster-node/ @IMax153 @mattiamanzati
19+
/packages/cluster-workflow/ @IMax153 @mattiamanzati
20+
21+
/packages/experimental/ @tim-smart
22+
23+
/packages/opentelemetry/ @tim-smart
24+
25+
/packages/platform/ @tim-smart
26+
/packages/platform-browser/ @tim-smart
27+
/packages/platform-bun/ @tim-smart
28+
/packages/platform-node/ @tim-smart
29+
/packages/platform-node-shared/ @tim-smart
30+
31+
/packages/printer/ @IMax153
32+
/packages/printer-ansi/ @IMax153
33+
34+
/packages/rpc/ @tim-smart
35+
/packages/rpc-http/ @tim-smart
36+
37+
/packages/sql/ @tim-smart
38+
/packages/sql-clickhouse/ @tim-smart
39+
/packages/sql-d1/ @tim-smart
40+
/packages/sql-drizzle/ @tim-smart
41+
/packages/sql-kysely/ @tim-smart
42+
/packages/sql-libsql/ @tim-smart
43+
/packages/sql-mssql/ @tim-smart
44+
/packages/sql-mysql2/ @tim-smart
45+
/packages/sql-pg/ @tim-smart
46+
/packages/sql-sqlite-bun/ @tim-smart
47+
/packages/sql-sqlite-do/ @tim-smart
48+
/packages/sql-sqlite-node/ @tim-smart
2549
/packages/sql-sqlite-react-native/ @tim-smart
26-
/packages/sql-sqlite-wasm/ @tim-smart
27-
/packages/typeclass/ @gcanti
28-
/packages/vitest/ @mikearnaldi
50+
/packages/sql-sqlite-wasm/ @tim-smart
51+
52+
/packages/typeclass/ @gcanti
53+
54+
/packages/vitest/ @mikearnaldi

.github/workflows/check.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ jobs:
3333
- uses: actions/checkout@v4
3434
- name: Install dependencies
3535
uses: ./.github/actions/setup
36+
- run: pnpm codemod
3637
- run: pnpm check
3738
- run: pnpm dtslint
3839

@@ -54,13 +55,14 @@ jobs:
5455
strategy:
5556
fail-fast: false
5657
matrix:
57-
shard: [1/3, 2/3, 3/3]
58+
shard: [1/4, 2/4, 3/4, 4/4]
5859
# runtime: [Node, Bun] # TODO: Re-enable bun test suite after https://github.com/oven-sh/bun/issues/4145 is resolved
5960
runtime: [Node]
6061
steps:
6162
- uses: actions/checkout@v4
6263
- name: Install dependencies
6364
uses: ./.github/actions/setup
65+
- run: pnpm codemod
6466
- uses: oven-sh/setup-bun@v1
6567
if: matrix.runtime == 'Bun'
6668
with:

.github/workflows/pages.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
destination: ./_site
3131
- name: Upload pages artifact
3232
if: github.repository_owner == 'Effect-Ts' && github.event_name == 'push' && github.ref == 'refs/heads/main'
33-
uses: actions/upload-pages-artifact@v2
33+
uses: actions/upload-pages-artifact@v3
3434

3535
deploy:
3636
if: github.repository_owner == 'Effect-Ts' && github.event_name == 'push' && github.ref == 'refs/heads/main'
@@ -47,4 +47,4 @@ jobs:
4747
steps:
4848
- name: Deploy to GitHub Pages
4949
id: deployment
50-
uses: actions/deploy-pages@v2
50+
uses: actions/deploy-pages@v4

.github/workflows/release-queue.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@ jobs:
2222
- uses: actions/checkout@v4
2323
with:
2424
fetch-depth: 0
25+
token: ${{ secrets.EFFECT_BOT_GH }}
2526
- run: gh pr checkout ${{ github.event.pull_request.number }}
2627
if: github.event.pull_request
2728
env:
28-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
29+
GITHUB_TOKEN: ${{ secrets.EFFECT_BOT_GH }}
2930
- uses: tim-smart/next-release-action@main
3031
with:
31-
github_token: ${{ secrets.GITHUB_TOKEN }}
32-
packages: effect,@effect/schema,@effect/platform
32+
github_token: ${{ secrets.EFFECT_BOT_GH }}
33+
packages: effect,@effect/platform
34+
git_user: effect-bot
35+
git_email: [email protected]

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
if: github.repository_owner == 'Effect-Ts'
1414
name: Release
1515
runs-on: ubuntu-latest
16-
timeout-minutes: 10
16+
timeout-minutes: 30
1717
permissions:
1818
contents: write
1919
id-token: write

.github/workflows/snapshot.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ jobs:
1616
- uses: actions/checkout@v4
1717
- name: Install dependencies
1818
uses: ./.github/actions/setup
19+
- name: Run codemods
20+
run: pnpm codemod
1921
- name: Build package
2022
run: pnpm build
2123
- name: Create snapshot
2224
id: snapshot
23-
run: pnpx [email protected].17 publish --pnpm --comment=off ./packages/*
25+
run: pnpx [email protected].28 publish --pnpm --comment=off ./packages/* ./packages/ai/*

.vscode/settings.json

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"typescript.tsdk": "node_modules/typescript/lib",
33
"typescript.preferences.importModuleSpecifier": "relative",
44
"typescript.enablePromptUseWorkspaceTsdk": true,
5+
"deno.enable": false,
6+
"biome.enabled": false,
57
"editor.formatOnSave": true,
68
"eslint.format.enable": true,
79
"[json]": {

.vscode/tasks.json

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "Watch",
6+
"type": "shell",
7+
"command": "pnpm check -w",
8+
"options": {
9+
"cwd": "${workspaceRoot}"
10+
},
11+
"group": {
12+
"kind": "build",
13+
"isDefault": true
14+
},
15+
"isBackground": true,
16+
"presentation": {
17+
"group": "watch-build"
18+
},
19+
"problemMatcher": [
20+
{
21+
"base": "$tsc-watch",
22+
"fileLocation": [
23+
"relative",
24+
"${workspaceRoot}",
25+
],
26+
}
27+
]
28+
}
29+
]
30+
}

README.md

+48-5
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
Welcome to Effect, a powerful TypeScript framework that provides a fully-fledged functional effect system with a rich standard library.
44

5-
65
# Requirements
76

87
- TypeScript 5.4 or newer
@@ -13,8 +12,8 @@ Welcome to Effect, a powerful TypeScript framework that provides a fully-fledged
1312
// ...
1413
"compilerOptions": {
1514
// ...
16-
"strict": true,
17-
},
15+
"strict": true
16+
}
1817
}
1918
```
2019

@@ -77,7 +76,7 @@ Run the following commands to ensure your changes do not introduce any issues:
7776

7877
### Document Your Changes
7978

80-
**JSDoc Comments**
79+
#### JSDoc Comments
8180

8281
When adding a new feature, it's important to document your code using JSDoc comments. This helps other developers understand the purpose and usage of your changes. Include at least the following in your JSDoc comments:
8382

@@ -86,7 +85,51 @@ When adding a new feature, it's important to document your code using JSDoc comm
8685
- **Since Version**: Use the `@since` tag to indicate the version in which the feature was introduced. If you're unsure about the version, please consult with a project maintainer.
8786
- **Category (Optional)**: You can categorize the feature with the `@category` tag to help organize the documentation. If you're unsure about what category to assign, ask a project maintainer.
8887

89-
**Changeset Documentation**
88+
**Note**: A HTML utility file, [`code2jsdoc-example.html`](/scripts/jsdocs/code2jsdoc-example.html), has been added to assist with creating JSDoc `@example` comments. This web-based interface includes two text areas:
89+
90+
1. An input textarea for pasting example code.
91+
2. An output textarea that dynamically generates formatted JSDoc `@example` comments.
92+
93+
This utility helps ensure consistent formatting and streamlines the process of documenting examples. See the following example of its usage:
94+
95+
Example Input:
96+
97+
```ts
98+
import { Effect } from "effect"
99+
100+
console.log(Effect.runSyncExit(Effect.succeed(1)))
101+
/*
102+
Output:
103+
{
104+
_id: "Exit",
105+
_tag: "Success",
106+
value: 1
107+
}
108+
*/
109+
```
110+
111+
Output:
112+
113+
````
114+
*
115+
* @example
116+
* ```ts
117+
* import { Effect } from "effect"
118+
*
119+
* console.log(Effect.runSyncExit(Effect.succeed(1)))
120+
* // Output:
121+
* // {
122+
* // _id: "Exit",
123+
* // _tag: "Success",
124+
* // value: 1
125+
* // }
126+
* ```
127+
*
128+
````
129+
130+
By using this utility, you can save time and maintain consistency in your JSDoc comments, especially for complex examples.
131+
132+
#### Changeset Documentation
90133

91134
Before committing your changes, document them with a changeset. This process helps in tracking modifications and effectively communicating them to the project team and users:
92135

eslint.config.mjs

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { FlatCompat } from "@eslint/eslintrc"
33
import js from "@eslint/js"
44
import tsParser from "@typescript-eslint/parser"
55
import codegen from "eslint-plugin-codegen"
6-
import deprecation from "eslint-plugin-deprecation"
76
import _import from "eslint-plugin-import"
87
import simpleImportSort from "eslint-plugin-simple-import-sort"
98
import sortDestructureKeys from "eslint-plugin-sort-destructure-keys"
@@ -30,7 +29,6 @@ export default [
3029
),
3130
{
3231
plugins: {
33-
deprecation,
3432
import: fixupPluginRules(_import),
3533
"sort-destructure-keys": sortDestructureKeys,
3634
"simple-import-sort": simpleImportSort,
@@ -72,6 +70,7 @@ export default [
7270
],
7371

7472
"no-unused-vars": "off",
73+
"require-yield": "off",
7574
"prefer-rest-params": "off",
7675
"prefer-spread": "off",
7776
"import/first": "error",

0 commit comments

Comments
 (0)