@effected/pnpm-plugin-effected 0.23.0 → 0.24.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.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![TypeScript 7.0](https://img.shields.io/badge/TypeScript-7.0-3178c6.svg)](https://www.typescriptlang.org/)
7
7
  [![pnpm](https://img.shields.io/badge/pnpm-%3E%3D11-f69220.svg)](https://pnpm.io/)
8
8
 
9
- A pnpm [config dependency](https://pnpm.io/config-dependencies) that centralizes versioning for the Effect ecosystem and the `@effected/*` kit through one [pnpm catalog](https://pnpm.io/catalogs), `effected`. It covers `effect` and its `@effect/*` satellites on one [Effect v4](https://effect.website/) minor, `@effect/tsgo` at its own independent pin, and every published `@effected/*` package except this one. Install it once and `catalog:effected` is available to every package in your workspace, in dependencies and peer ranges alike.
9
+ A pnpm [config dependency](https://pnpm.io/config-dependencies) that centralizes versioning for the Effect ecosystem and the `@effected/*` kit through one [pnpm catalog](https://pnpm.io/catalogs), `effected`, and pins the kit's build chain through a second, `effected:build`. It covers `effect` and its `@effect/*` satellites on one [Effect v4](https://effect.website/) minor, `@effect/tsgo` at its own independent pin, and every published `@effected/*` package except this one. Install it once and `catalog:effected` is available to every package in your workspace, in dependencies and peer ranges alike.
10
10
 
11
11
  > **Pre-`1.0.0`.** This package is part of the `@effected/*` kit, built on stable
12
12
  > Effect v4 (`effect` `~4.1.0`) and still in `0.x` development. Stable Effect
@@ -95,7 +95,32 @@ pnpm rewrites `catalog:` specifiers to concrete ranges when it packs, so what la
95
95
  | `@effect/tsgo` | its own `0.x` line | versions independently of `effect` |
96
96
  | every published `@effected/*` package | its current release, with a caret | on `0.x` a caret pins the minor |
97
97
 
98
- There is one catalog. `catalog:effect`, `catalog:effect:peers` and `catalog:effected:peers` do not exist for a consumer, and a manifest that still names one fails the install. A `catalog:effected` entry you declare yourself wins over the plugin's for the same package, and your other catalogs are kept.
98
+ `catalog:effect`, `catalog:effect:peers`, `catalog:effected:peers` and `catalog:effected:build:peers` do not exist for a consumer, and a manifest that still names one fails the install. An entry you declare yourself in `effected` or `effected:build` wins over the plugin's for the same package, and your other catalogs are kept.
99
+
100
+ ### The build catalog
101
+
102
+ A second catalog, `effected:build`, holds the build chain [`effected package build`](https://github.com/spencerbeggs/effected/tree/main/packages/plugin) runs and the toolchain a package builds against:
103
+
104
+ | Entries | Role |
105
+ | ------- | ---- |
106
+ | `tsdown`, `@tsdown/exe`, `rolldown`, `rolldown-plugin-dts` | bundling and the declaration pass |
107
+ | `@microsoft/api-extractor`, `@microsoft/api-extractor-model`, `@microsoft/tsdoc`, `@microsoft/tsdoc-config` | the API report and TSDoc |
108
+ | `typescript`, `@types/node`, `tsx` | the compiler, Node types and the TypeScript runner |
109
+ | `react`, `react-dom`, `@types/react`, `@types/react-dom`, `@rsbuild/core` | React and its types, and Rsbuild |
110
+
111
+ A repository that builds with the kit writes `catalog:effected:build` for these, so its build chain is the one the kit's bundler was built and tested with:
112
+
113
+ ```json
114
+ {
115
+ "devDependencies": {
116
+ "@effected/plugin": "catalog:effected",
117
+ "typescript": "catalog:effected:build",
118
+ "@types/node": "catalog:effected:build"
119
+ }
120
+ }
121
+ ```
122
+
123
+ No override is derived from this catalog: it sets the ranges your manifests name and nothing else. The pnpmfile also allows TypeScript 7.1 prereleases under `tsdown`, whose own `typescript` peer does not admit them.
99
124
 
100
125
  `@effected/pnpm-plugin-effected` itself is deliberately absent from the catalog — it is the package the catalog ships inside, and listing it would make every catalog rewrite bump the package that carries the catalog.
101
126
 
package/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  /**
2
- * The one catalog a consumer installs, `effected`: the Effect family and the
3
- * kit, exactly as the plugin's `updateConfig` hook presents it to pnpm.
2
+ * The catalogs a consumer installs, exactly as the plugin's `updateConfig` hook
3
+ * presents them to pnpm: `effected` (the Effect family and the kit) and
4
+ * `effected:build` (the build chain `effected package build` runs, and the
5
+ * toolchain a package builds against).
4
6
  *
5
7
  * @public
6
8
  */
package/index.js CHANGED
@@ -1,173 +1,216 @@
1
1
  // \0rolldown-pnpm-config/virtual/catalogs
2
- const catalogs$1 = /* @__PURE__ */ new Map([["effected", /* @__PURE__ */ new Map([
3
- ["@effect/ai-anthropic", "~4.1.2"],
4
- ["@effect/ai-openai", "~4.1.2"],
5
- ["@effect/ai-openai-compat", "~4.1.2"],
6
- ["@effect/ai-openrouter", "~4.1.2"],
7
- ["@effect/atom-react", "~4.1.2"],
8
- ["@effect/atom-solid", "~4.1.2"],
9
- ["@effect/atom-vue", "~4.1.2"],
10
- ["@effect/openapi-generator", "~4.1.2"],
11
- ["@effect/opentelemetry", "~4.1.2"],
12
- ["@effect/platform-browser", "~4.1.2"],
13
- ["@effect/platform-bun", "~4.1.2"],
14
- ["@effect/platform-node", "~4.1.2"],
15
- ["@effect/platform-node-shared", "~4.1.2"],
16
- ["@effect/sql-clickhouse", "~4.1.2"],
17
- ["@effect/sql-d1", "~4.1.2"],
18
- ["@effect/sql-libsql", "~4.1.2"],
19
- ["@effect/sql-mssql", "~4.1.2"],
20
- ["@effect/sql-mysql2", "~4.1.2"],
21
- ["@effect/sql-pg", "~4.1.2"],
22
- ["@effect/sql-pglite", "~4.1.2"],
23
- ["@effect/sql-sqlite-bun", "~4.1.2"],
24
- ["@effect/sql-sqlite-do", "~4.1.2"],
25
- ["@effect/sql-sqlite-node", "~4.1.2"],
26
- ["@effect/sql-sqlite-react-native", "~4.1.2"],
27
- ["@effect/sql-sqlite-wasm", "~4.1.2"],
28
- ["@effect/tsgo", "^0.63.0"],
29
- ["@effect/vitest", "~4.1.2"],
30
- ["@effected/app", "^0.31.2"],
31
- ["@effected/bundler", "^0.1.0"],
32
- ["@effected/changesets", "^0.1.0"],
33
- ["@effected/cli", "^0.28.0"],
34
- ["@effected/cli-kit", "^0.27.1"],
35
- ["@effected/commands", "^0.20.0"],
36
- ["@effected/config-file", "^0.26.0"],
37
- ["@effected/crypto", "^0.6.0"],
38
- ["@effected/engine", "^0.14.0"],
39
- ["@effected/env", "^0.11.0"],
40
- ["@effected/files", "^0.2.0"],
41
- ["@effected/git", "^0.30.0"],
42
- ["@effected/github", "^0.30.0"],
43
- ["@effected/github-actions", "^0.32.1"],
44
- ["@effected/github-commands", "^0.9.0"],
45
- ["@effected/github-references", "^0.14.0"],
46
- ["@effected/glob", "^0.20.0"],
47
- ["@effected/images", "^0.9.0"],
48
- ["@effected/jsonc", "^0.24.0"],
49
- ["@effected/jsonl", "^0.18.0"],
50
- ["@effected/jwt", "^0.9.1"],
51
- ["@effected/kit", "^0.13.0"],
52
- ["@effected/lockfiles", "^0.23.0"],
53
- ["@effected/lsp", "^0.8.0"],
54
- ["@effected/markdown", "^0.28.0"],
55
- ["@effected/markdown-lint", "^0.1.0"],
56
- ["@effected/mcp", "^0.15.0"],
57
- ["@effected/mcp-kit", "^0.14.0"],
58
- ["@effected/memfs", "^0.24.0"],
59
- ["@effected/npm", "^0.31.0"],
60
- ["@effected/oidc", "^0.4.0"],
61
- ["@effected/package-json", "^0.31.0"],
62
- ["@effected/plugin", "^0.3.0"],
63
- ["@effected/runtimes", "^0.18.2"],
64
- ["@effected/s3", "^0.1.0"],
65
- ["@effected/sbom", "^0.20.2"],
66
- ["@effected/schema-org", "^0.14.0"],
67
- ["@effected/schemastore", "^0.31.0"],
68
- ["@effected/semver", "^0.22.0"],
69
- ["@effected/shell", "^0.1.0"],
70
- ["@effected/source", "^0.4.0"],
71
- ["@effected/spdx", "^0.19.0"],
72
- ["@effected/store", "^0.24.0"],
73
- ["@effected/templates", "^0.19.0"],
74
- ["@effected/toml", "^0.19.1"],
75
- ["@effected/tsconfig-json", "^0.20.2"],
76
- ["@effected/walker", "^0.26.0"],
77
- ["@effected/webhooks", "^0.5.0"],
78
- ["@effected/workspaces", "^0.44.0"],
79
- ["@effected/xdg", "^0.19.2"],
80
- ["@effected/yaml", "^0.29.0"],
81
- ["effect", "~4.1.2"]
82
- ])], ["effected:peers", /* @__PURE__ */ new Map([
83
- ["@effect/ai-anthropic", "~4.1.0"],
84
- ["@effect/ai-openai", "~4.1.0"],
85
- ["@effect/ai-openai-compat", "~4.1.0"],
86
- ["@effect/ai-openrouter", "~4.1.0"],
87
- ["@effect/atom-react", "~4.1.0"],
88
- ["@effect/atom-solid", "~4.1.0"],
89
- ["@effect/atom-vue", "~4.1.0"],
90
- ["@effect/openapi-generator", "~4.1.0"],
91
- ["@effect/opentelemetry", "~4.1.0"],
92
- ["@effect/platform-browser", "~4.1.0"],
93
- ["@effect/platform-bun", "~4.1.0"],
94
- ["@effect/platform-node", "~4.1.0"],
95
- ["@effect/platform-node-shared", "~4.1.0"],
96
- ["@effect/sql-clickhouse", "~4.1.0"],
97
- ["@effect/sql-d1", "~4.1.0"],
98
- ["@effect/sql-libsql", "~4.1.0"],
99
- ["@effect/sql-mssql", "~4.1.0"],
100
- ["@effect/sql-mysql2", "~4.1.0"],
101
- ["@effect/sql-pg", "~4.1.0"],
102
- ["@effect/sql-pglite", "~4.1.0"],
103
- ["@effect/sql-sqlite-bun", "~4.1.0"],
104
- ["@effect/sql-sqlite-do", "~4.1.0"],
105
- ["@effect/sql-sqlite-node", "~4.1.0"],
106
- ["@effect/sql-sqlite-react-native", "~4.1.0"],
107
- ["@effect/sql-sqlite-wasm", "~4.1.0"],
108
- ["@effect/tsgo", "^0.63.0"],
109
- ["@effect/vitest", "~4.1.0"],
110
- ["@effected/app", "^0.31.0"],
111
- ["@effected/bundler", "^0.1.0"],
112
- ["@effected/changesets", "^0.1.0"],
113
- ["@effected/cli", "^0.28.0"],
114
- ["@effected/cli-kit", "^0.27.0"],
115
- ["@effected/commands", "^0.20.0"],
116
- ["@effected/config-file", "^0.26.0"],
117
- ["@effected/crypto", "^0.6.0"],
118
- ["@effected/engine", "^0.14.0"],
119
- ["@effected/env", "^0.11.0"],
120
- ["@effected/files", "^0.2.0"],
121
- ["@effected/git", "^0.30.0"],
122
- ["@effected/github", "^0.30.0"],
123
- ["@effected/github-actions", "^0.32.0"],
124
- ["@effected/github-commands", "^0.9.0"],
125
- ["@effected/github-references", "^0.14.0"],
126
- ["@effected/glob", "^0.20.0"],
127
- ["@effected/images", "^0.9.0"],
128
- ["@effected/jsonc", "^0.24.0"],
129
- ["@effected/jsonl", "^0.18.0"],
130
- ["@effected/jwt", "^0.9.0"],
131
- ["@effected/kit", "^0.13.0"],
132
- ["@effected/lockfiles", "^0.23.0"],
133
- ["@effected/lsp", "^0.8.0"],
134
- ["@effected/markdown", "^0.28.0"],
135
- ["@effected/markdown-lint", "^0.1.0"],
136
- ["@effected/mcp", "^0.15.0"],
137
- ["@effected/mcp-kit", "^0.14.0"],
138
- ["@effected/memfs", "^0.24.0"],
139
- ["@effected/npm", "^0.31.0"],
140
- ["@effected/oidc", "^0.4.0"],
141
- ["@effected/package-json", "^0.31.0"],
142
- ["@effected/plugin", "^0.3.0"],
143
- ["@effected/runtimes", "^0.18.0"],
144
- ["@effected/s3", "^0.1.0"],
145
- ["@effected/sbom", "^0.20.0"],
146
- ["@effected/schema-org", "^0.14.0"],
147
- ["@effected/schemastore", "^0.31.0"],
148
- ["@effected/semver", "^0.22.0"],
149
- ["@effected/shell", "^0.1.0"],
150
- ["@effected/source", "^0.4.0"],
151
- ["@effected/spdx", "^0.19.0"],
152
- ["@effected/store", "^0.24.0"],
153
- ["@effected/templates", "^0.19.0"],
154
- ["@effected/toml", "^0.19.0"],
155
- ["@effected/tsconfig-json", "^0.20.0"],
156
- ["@effected/walker", "^0.26.0"],
157
- ["@effected/webhooks", "^0.5.0"],
158
- ["@effected/workspaces", "^0.44.0"],
159
- ["@effected/xdg", "^0.19.0"],
160
- ["@effected/yaml", "^0.29.0"],
161
- ["effect", "~4.1.0"]
162
- ])]]);
2
+ const catalogs$1 = /* @__PURE__ */ new Map([
3
+ ["effected", /* @__PURE__ */ new Map([
4
+ ["@effect/ai-anthropic", "~4.1.2"],
5
+ ["@effect/ai-openai", "~4.1.2"],
6
+ ["@effect/ai-openai-compat", "~4.1.2"],
7
+ ["@effect/ai-openrouter", "~4.1.2"],
8
+ ["@effect/atom-react", "~4.1.2"],
9
+ ["@effect/atom-solid", "~4.1.2"],
10
+ ["@effect/atom-vue", "~4.1.2"],
11
+ ["@effect/openapi-generator", "~4.1.2"],
12
+ ["@effect/opentelemetry", "~4.1.2"],
13
+ ["@effect/platform-browser", "~4.1.2"],
14
+ ["@effect/platform-bun", "~4.1.2"],
15
+ ["@effect/platform-node", "~4.1.2"],
16
+ ["@effect/platform-node-shared", "~4.1.2"],
17
+ ["@effect/sql-clickhouse", "~4.1.2"],
18
+ ["@effect/sql-d1", "~4.1.2"],
19
+ ["@effect/sql-libsql", "~4.1.2"],
20
+ ["@effect/sql-mssql", "~4.1.2"],
21
+ ["@effect/sql-mysql2", "~4.1.2"],
22
+ ["@effect/sql-pg", "~4.1.2"],
23
+ ["@effect/sql-pglite", "~4.1.2"],
24
+ ["@effect/sql-sqlite-bun", "~4.1.2"],
25
+ ["@effect/sql-sqlite-do", "~4.1.2"],
26
+ ["@effect/sql-sqlite-node", "~4.1.2"],
27
+ ["@effect/sql-sqlite-react-native", "~4.1.2"],
28
+ ["@effect/sql-sqlite-wasm", "~4.1.2"],
29
+ ["@effect/tsgo", "^0.63.0"],
30
+ ["@effect/vitest", "~4.1.2"],
31
+ ["@effected/app", "^0.31.2"],
32
+ ["@effected/bundler", "^0.2.0"],
33
+ ["@effected/changesets", "^0.2.0"],
34
+ ["@effected/cli", "^0.29.0"],
35
+ ["@effected/cli-kit", "^0.27.1"],
36
+ ["@effected/commands", "^0.20.0"],
37
+ ["@effected/config-file", "^0.26.0"],
38
+ ["@effected/crypto", "^0.6.0"],
39
+ ["@effected/engine", "^0.15.0"],
40
+ ["@effected/env", "^0.11.0"],
41
+ ["@effected/files", "^0.2.0"],
42
+ ["@effected/git", "^0.30.0"],
43
+ ["@effected/github", "^0.30.0"],
44
+ ["@effected/github-actions", "^0.32.2"],
45
+ ["@effected/github-commands", "^0.9.0"],
46
+ ["@effected/github-references", "^0.14.0"],
47
+ ["@effected/glob", "^0.20.0"],
48
+ ["@effected/images", "^0.9.0"],
49
+ ["@effected/jsonc", "^0.24.0"],
50
+ ["@effected/jsonl", "^0.18.0"],
51
+ ["@effected/jwt", "^0.9.1"],
52
+ ["@effected/kit", "^0.13.0"],
53
+ ["@effected/lockfiles", "^0.23.1"],
54
+ ["@effected/lsp", "^0.8.0"],
55
+ ["@effected/manifest", "^0.1.0"],
56
+ ["@effected/markdown", "^0.28.0"],
57
+ ["@effected/markdown-lint", "^0.1.1"],
58
+ ["@effected/mcp", "^0.16.0"],
59
+ ["@effected/mcp-kit", "^0.14.0"],
60
+ ["@effected/memfs", "^0.24.0"],
61
+ ["@effected/npm", "^0.32.0"],
62
+ ["@effected/oidc", "^0.4.0"],
63
+ ["@effected/package-json", "^0.31.1"],
64
+ ["@effected/plugin", "^0.4.0"],
65
+ ["@effected/runtimes", "^0.18.2"],
66
+ ["@effected/s3", "^0.1.1"],
67
+ ["@effected/sbom", "^0.20.2"],
68
+ ["@effected/schema-org", "^0.14.0"],
69
+ ["@effected/schemastore", "^0.31.0"],
70
+ ["@effected/semver", "^0.22.0"],
71
+ ["@effected/shell", "^0.1.1"],
72
+ ["@effected/source", "^0.4.0"],
73
+ ["@effected/spdx", "^0.19.0"],
74
+ ["@effected/store", "^0.24.0"],
75
+ ["@effected/templates", "^0.19.0"],
76
+ ["@effected/toml", "^0.19.1"],
77
+ ["@effected/tsconfig-json", "^0.20.2"],
78
+ ["@effected/walker", "^0.26.0"],
79
+ ["@effected/webhooks", "^0.5.0"],
80
+ ["@effected/workspaces", "^0.44.1"],
81
+ ["@effected/xdg", "^0.19.2"],
82
+ ["@effected/yaml", "^0.29.0"],
83
+ ["effect", "~4.1.2"]
84
+ ])],
85
+ ["effected:build", /* @__PURE__ */ new Map([
86
+ ["@microsoft/api-extractor", "^7.60.1"],
87
+ ["@microsoft/api-extractor-model", "^7.33.16"],
88
+ ["@microsoft/tsdoc", "~0.17.1"],
89
+ ["@microsoft/tsdoc-config", "~0.18.3"],
90
+ ["@rsbuild/core", "^2.3.0"],
91
+ ["@tsdown/exe", "^0.23.4"],
92
+ ["@types/node", "^26.6.6"],
93
+ ["@types/react", "^19.3.0"],
94
+ ["@types/react-dom", "^19.3.0"],
95
+ ["react", "^19.3.1"],
96
+ ["react-dom", "^19.3.1"],
97
+ ["rolldown", "^1.2.16"],
98
+ ["rolldown-plugin-dts", "^0.30.0"],
99
+ ["tsdown", "^0.23.4"],
100
+ ["tsx", "^4.23.15"],
101
+ ["typescript", "7.1.0-beta"]
102
+ ])],
103
+ ["effected:build:peers", /* @__PURE__ */ new Map([
104
+ ["@microsoft/api-extractor", "^7.60.1"],
105
+ ["@microsoft/api-extractor-model", "^7.33.16"],
106
+ ["@microsoft/tsdoc", "~0.17.1"],
107
+ ["@microsoft/tsdoc-config", "~0.18.3"],
108
+ ["@rsbuild/core", "^2.3.0"],
109
+ ["@tsdown/exe", "^0.23.0"],
110
+ ["@types/node", "^26.6.0"],
111
+ ["@types/react", "^19.3.0"],
112
+ ["@types/react-dom", "^19.3.0"],
113
+ ["react", "^19.3.0"],
114
+ ["react-dom", "^19.3.0"],
115
+ ["rolldown", "^1.2.0"],
116
+ ["rolldown-plugin-dts", "^0.30.0"],
117
+ ["tsdown", "^0.23.0"],
118
+ ["tsx", "^4.23.15"],
119
+ ["typescript", "7.1.0-beta"]
120
+ ])],
121
+ ["effected:peers", /* @__PURE__ */ new Map([
122
+ ["@effect/ai-anthropic", "~4.1.0"],
123
+ ["@effect/ai-openai", "~4.1.0"],
124
+ ["@effect/ai-openai-compat", "~4.1.0"],
125
+ ["@effect/ai-openrouter", "~4.1.0"],
126
+ ["@effect/atom-react", "~4.1.0"],
127
+ ["@effect/atom-solid", "~4.1.0"],
128
+ ["@effect/atom-vue", "~4.1.0"],
129
+ ["@effect/openapi-generator", "~4.1.0"],
130
+ ["@effect/opentelemetry", "~4.1.0"],
131
+ ["@effect/platform-browser", "~4.1.0"],
132
+ ["@effect/platform-bun", "~4.1.0"],
133
+ ["@effect/platform-node", "~4.1.0"],
134
+ ["@effect/platform-node-shared", "~4.1.0"],
135
+ ["@effect/sql-clickhouse", "~4.1.0"],
136
+ ["@effect/sql-d1", "~4.1.0"],
137
+ ["@effect/sql-libsql", "~4.1.0"],
138
+ ["@effect/sql-mssql", "~4.1.0"],
139
+ ["@effect/sql-mysql2", "~4.1.0"],
140
+ ["@effect/sql-pg", "~4.1.0"],
141
+ ["@effect/sql-pglite", "~4.1.0"],
142
+ ["@effect/sql-sqlite-bun", "~4.1.0"],
143
+ ["@effect/sql-sqlite-do", "~4.1.0"],
144
+ ["@effect/sql-sqlite-node", "~4.1.0"],
145
+ ["@effect/sql-sqlite-react-native", "~4.1.0"],
146
+ ["@effect/sql-sqlite-wasm", "~4.1.0"],
147
+ ["@effect/tsgo", "^0.63.0"],
148
+ ["@effect/vitest", "~4.1.0"],
149
+ ["@effected/app", "^0.31.0"],
150
+ ["@effected/bundler", "^0.2.0"],
151
+ ["@effected/changesets", "^0.2.0"],
152
+ ["@effected/cli", "^0.29.0"],
153
+ ["@effected/cli-kit", "^0.27.0"],
154
+ ["@effected/commands", "^0.20.0"],
155
+ ["@effected/config-file", "^0.26.0"],
156
+ ["@effected/crypto", "^0.6.0"],
157
+ ["@effected/engine", "^0.15.0"],
158
+ ["@effected/env", "^0.11.0"],
159
+ ["@effected/files", "^0.2.0"],
160
+ ["@effected/git", "^0.30.0"],
161
+ ["@effected/github", "^0.30.0"],
162
+ ["@effected/github-actions", "^0.32.0"],
163
+ ["@effected/github-commands", "^0.9.0"],
164
+ ["@effected/github-references", "^0.14.0"],
165
+ ["@effected/glob", "^0.20.0"],
166
+ ["@effected/images", "^0.9.0"],
167
+ ["@effected/jsonc", "^0.24.0"],
168
+ ["@effected/jsonl", "^0.18.0"],
169
+ ["@effected/jwt", "^0.9.0"],
170
+ ["@effected/kit", "^0.13.0"],
171
+ ["@effected/lockfiles", "^0.23.0"],
172
+ ["@effected/lsp", "^0.8.0"],
173
+ ["@effected/manifest", "^0.1.0"],
174
+ ["@effected/markdown", "^0.28.0"],
175
+ ["@effected/markdown-lint", "^0.1.0"],
176
+ ["@effected/mcp", "^0.16.0"],
177
+ ["@effected/mcp-kit", "^0.14.0"],
178
+ ["@effected/memfs", "^0.24.0"],
179
+ ["@effected/npm", "^0.32.0"],
180
+ ["@effected/oidc", "^0.4.0"],
181
+ ["@effected/package-json", "^0.31.0"],
182
+ ["@effected/plugin", "^0.4.0"],
183
+ ["@effected/runtimes", "^0.18.0"],
184
+ ["@effected/s3", "^0.1.0"],
185
+ ["@effected/sbom", "^0.20.0"],
186
+ ["@effected/schema-org", "^0.14.0"],
187
+ ["@effected/schemastore", "^0.31.0"],
188
+ ["@effected/semver", "^0.22.0"],
189
+ ["@effected/shell", "^0.1.0"],
190
+ ["@effected/source", "^0.4.0"],
191
+ ["@effected/spdx", "^0.19.0"],
192
+ ["@effected/store", "^0.24.0"],
193
+ ["@effected/templates", "^0.19.0"],
194
+ ["@effected/toml", "^0.19.0"],
195
+ ["@effected/tsconfig-json", "^0.20.0"],
196
+ ["@effected/walker", "^0.26.0"],
197
+ ["@effected/webhooks", "^0.5.0"],
198
+ ["@effected/workspaces", "^0.44.0"],
199
+ ["@effected/xdg", "^0.19.0"],
200
+ ["@effected/yaml", "^0.29.0"],
201
+ ["effect", "~4.1.0"]
202
+ ])]
203
+ ]);
163
204
 
164
205
  // src/index.ts
165
206
  /**
166
- * The one catalog a consumer installs, `effected`: the Effect family and the
167
- * kit, exactly as the plugin's `updateConfig` hook presents it to pnpm.
207
+ * The catalogs a consumer installs, exactly as the plugin's `updateConfig` hook
208
+ * presents them to pnpm: `effected` (the Effect family and the kit) and
209
+ * `effected:build` (the build chain `effected package build` runs, and the
210
+ * toolchain a package builds against).
168
211
  *
169
212
  * @public
170
213
  */
171
- const catalogs = /* @__PURE__ */ new Map([["effected", new Map(catalogs$1.get("effected") ?? [])]]);
214
+ const catalogs = /* @__PURE__ */ new Map([["effected", new Map(catalogs$1.get("effected") ?? [])], ["effected:build", new Map(catalogs$1.get("effected:build") ?? [])]]);
172
215
 
173
216
  export { catalogs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effected/pnpm-plugin-effected",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "private": false,
5
5
  "description": "pnpm config dependency for centralized catalog management across the Effected ecosystem.",
6
6
  "keywords": [
package/pnpmfile.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { join } from "node:path";
2
2
  import { readFileSync } from "node:fs";
3
3
 
4
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/ctx.js
4
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/ctx.js
5
5
  /**
6
6
  * Resolve the consuming repo's root package name. Prefers pnpm's
7
7
  * `rootProjectManifest.name`, falling back to reading `package.json` from the
@@ -35,7 +35,7 @@ function excludeByRepo(merged, ctx, byRepo) {
35
35
  return merged.filter((p) => !set.has(p));
36
36
  }
37
37
 
38
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/enforcement.js
38
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/enforcement.js
39
39
  /**
40
40
  * Thrown when an `error`-enforced field diverges. A zero-dependency plain
41
41
  * `Error` subclass (NOT an Effect type) so it survives in the bundled pnpmfile.
@@ -69,7 +69,7 @@ function applyEnforcement(field, result, enforcement) {
69
69
  };
70
70
  }
71
71
 
72
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/arrays.js
72
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/arrays.js
73
73
  /** Code-unit order: locale-independent, so the render is the same on every machine. */
74
74
  const byCodeUnit = (a, b) => a < b ? -1 : a > b ? 1 : 0;
75
75
  /** Union `managed` with `local` (when present), deduped and sorted for a stable render. @internal */
@@ -107,7 +107,7 @@ const arrayRecordUnion = (base, local) => {
107
107
  };
108
108
  };
109
109
 
110
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/overrides.js
110
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/overrides.js
111
111
  /**
112
112
  * Child wins per key over a managed string map; any differing key is reported
113
113
  * as an override divergence under `<prefix>.<key>`.
@@ -167,7 +167,7 @@ const peerDependencyRules = (base, local) => {
167
167
  };
168
168
  };
169
169
 
170
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/catalogs.js
170
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/catalogs.js
171
171
  /**
172
172
  * Merge each named catalog; child wins per package. Emits override divergences
173
173
  * when a local version differs from the managed one.
@@ -190,7 +190,7 @@ const catalogs = (base, local) => {
190
190
  };
191
191
  };
192
192
 
193
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/maps.js
193
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/maps.js
194
194
  /**
195
195
  * `{...managed, ...child}` — child wins per key. Quiet. Merges two maps,
196
196
  * preferring child values.
@@ -234,7 +234,7 @@ const allowBuilds = (base, local) => {
234
234
  };
235
235
  };
236
236
 
237
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/scalar.js
237
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/scalar.js
238
238
  /**
239
239
  * `child ?? base` — quiet (no divergences). Prefer local, fall back to managed.
240
240
  *
@@ -289,7 +289,7 @@ const securityMin = (base, local) => {
289
289
  };
290
290
  };
291
291
 
292
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/strategies/table.js
292
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/strategies/table.js
293
293
  /**
294
294
  * Built-in strategies keyed by manifest name.
295
295
  *
@@ -308,7 +308,7 @@ const STRATEGY_TABLE = {
308
308
  allowBuilds
309
309
  };
310
310
 
311
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime/warnings.js
311
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime/warnings.js
312
312
  const WARNING_BOX_WIDTH = 75;
313
313
  function pad(line) {
314
314
  return `│${line}${" ".repeat(Math.max(0, WARNING_BOX_WIDTH - line.length - 2))}│`;
@@ -367,7 +367,7 @@ function formatSecurityWarning(divergences, name) {
367
367
  return lines.join("\n");
368
368
  }
369
369
 
370
- // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.2_@types+react@19.3.0_redis@6.3.1_rolldown@1.2.16/node_modules/rolldown-pnpm-config/runtime.js
370
+ // ../../node_modules/.pnpm/rolldown-pnpm-config@2.4.3_@effected+markdown-lint@0.1.0_@effected+jsonc@0.24.0_effect@_e1224e5742e9c96351778bb277d9dabe/node_modules/rolldown-pnpm-config/runtime.js
371
371
  /**
372
372
  * Build the pnpm hooks from frozen base data + a field→strategy manifest.
373
373
  * Zero dependencies — bundled verbatim into the shipped pnpmfile.
@@ -446,19 +446,19 @@ const hooks$1 = createHooks({
446
446
  "@effect/tsgo": "^0.63.0",
447
447
  "@effect/vitest": "~4.1.2",
448
448
  "@effected/app": "^0.31.2",
449
- "@effected/bundler": "^0.1.0",
450
- "@effected/changesets": "^0.1.0",
451
- "@effected/cli": "^0.28.0",
449
+ "@effected/bundler": "^0.2.0",
450
+ "@effected/changesets": "^0.2.0",
451
+ "@effected/cli": "^0.29.0",
452
452
  "@effected/cli-kit": "^0.27.1",
453
453
  "@effected/commands": "^0.20.0",
454
454
  "@effected/config-file": "^0.26.0",
455
455
  "@effected/crypto": "^0.6.0",
456
- "@effected/engine": "^0.14.0",
456
+ "@effected/engine": "^0.15.0",
457
457
  "@effected/env": "^0.11.0",
458
458
  "@effected/files": "^0.2.0",
459
459
  "@effected/git": "^0.30.0",
460
460
  "@effected/github": "^0.30.0",
461
- "@effected/github-actions": "^0.32.1",
461
+ "@effected/github-actions": "^0.32.2",
462
462
  "@effected/github-commands": "^0.9.0",
463
463
  "@effected/github-references": "^0.14.0",
464
464
  "@effected/glob": "^0.20.0",
@@ -467,24 +467,25 @@ const hooks$1 = createHooks({
467
467
  "@effected/jsonl": "^0.18.0",
468
468
  "@effected/jwt": "^0.9.1",
469
469
  "@effected/kit": "^0.13.0",
470
- "@effected/lockfiles": "^0.23.0",
470
+ "@effected/lockfiles": "^0.23.1",
471
471
  "@effected/lsp": "^0.8.0",
472
+ "@effected/manifest": "^0.1.0",
472
473
  "@effected/markdown": "^0.28.0",
473
- "@effected/markdown-lint": "^0.1.0",
474
- "@effected/mcp": "^0.15.0",
474
+ "@effected/markdown-lint": "^0.1.1",
475
+ "@effected/mcp": "^0.16.0",
475
476
  "@effected/mcp-kit": "^0.14.0",
476
477
  "@effected/memfs": "^0.24.0",
477
- "@effected/npm": "^0.31.0",
478
+ "@effected/npm": "^0.32.0",
478
479
  "@effected/oidc": "^0.4.0",
479
- "@effected/package-json": "^0.31.0",
480
- "@effected/plugin": "^0.3.0",
480
+ "@effected/package-json": "^0.31.1",
481
+ "@effected/plugin": "^0.4.0",
481
482
  "@effected/runtimes": "^0.18.2",
482
- "@effected/s3": "^0.1.0",
483
+ "@effected/s3": "^0.1.1",
483
484
  "@effected/sbom": "^0.20.2",
484
485
  "@effected/schema-org": "^0.14.0",
485
486
  "@effected/schemastore": "^0.31.0",
486
487
  "@effected/semver": "^0.22.0",
487
- "@effected/shell": "^0.1.0",
488
+ "@effected/shell": "^0.1.1",
488
489
  "@effected/source": "^0.4.0",
489
490
  "@effected/spdx": "^0.19.0",
490
491
  "@effected/store": "^0.24.0",
@@ -493,11 +494,47 @@ const hooks$1 = createHooks({
493
494
  "@effected/tsconfig-json": "^0.20.2",
494
495
  "@effected/walker": "^0.26.0",
495
496
  "@effected/webhooks": "^0.5.0",
496
- "@effected/workspaces": "^0.44.0",
497
+ "@effected/workspaces": "^0.44.1",
497
498
  "@effected/xdg": "^0.19.2",
498
499
  "@effected/yaml": "^0.29.0",
499
500
  "effect": "~4.1.2"
500
501
  },
502
+ "effected:build": {
503
+ "@microsoft/api-extractor": "^7.60.1",
504
+ "@microsoft/api-extractor-model": "^7.33.16",
505
+ "@microsoft/tsdoc": "~0.17.1",
506
+ "@microsoft/tsdoc-config": "~0.18.3",
507
+ "@rsbuild/core": "^2.3.0",
508
+ "@tsdown/exe": "^0.23.4",
509
+ "@types/node": "^26.6.6",
510
+ "@types/react": "^19.3.0",
511
+ "@types/react-dom": "^19.3.0",
512
+ "react": "^19.3.1",
513
+ "react-dom": "^19.3.1",
514
+ "rolldown": "^1.2.16",
515
+ "rolldown-plugin-dts": "^0.30.0",
516
+ "tsdown": "^0.23.4",
517
+ "tsx": "^4.23.15",
518
+ "typescript": "7.1.0-beta"
519
+ },
520
+ "effected:build:peers": {
521
+ "@microsoft/api-extractor": "^7.60.1",
522
+ "@microsoft/api-extractor-model": "^7.33.16",
523
+ "@microsoft/tsdoc": "~0.17.1",
524
+ "@microsoft/tsdoc-config": "~0.18.3",
525
+ "@rsbuild/core": "^2.3.0",
526
+ "@tsdown/exe": "^0.23.0",
527
+ "@types/node": "^26.6.0",
528
+ "@types/react": "^19.3.0",
529
+ "@types/react-dom": "^19.3.0",
530
+ "react": "^19.3.0",
531
+ "react-dom": "^19.3.0",
532
+ "rolldown": "^1.2.0",
533
+ "rolldown-plugin-dts": "^0.30.0",
534
+ "tsdown": "^0.23.0",
535
+ "tsx": "^4.23.15",
536
+ "typescript": "7.1.0-beta"
537
+ },
501
538
  "effected:peers": {
502
539
  "@effect/ai-anthropic": "~4.1.0",
503
540
  "@effect/ai-openai": "~4.1.0",
@@ -527,14 +564,14 @@ const hooks$1 = createHooks({
527
564
  "@effect/tsgo": "^0.63.0",
528
565
  "@effect/vitest": "~4.1.0",
529
566
  "@effected/app": "^0.31.0",
530
- "@effected/bundler": "^0.1.0",
531
- "@effected/changesets": "^0.1.0",
532
- "@effected/cli": "^0.28.0",
567
+ "@effected/bundler": "^0.2.0",
568
+ "@effected/changesets": "^0.2.0",
569
+ "@effected/cli": "^0.29.0",
533
570
  "@effected/cli-kit": "^0.27.0",
534
571
  "@effected/commands": "^0.20.0",
535
572
  "@effected/config-file": "^0.26.0",
536
573
  "@effected/crypto": "^0.6.0",
537
- "@effected/engine": "^0.14.0",
574
+ "@effected/engine": "^0.15.0",
538
575
  "@effected/env": "^0.11.0",
539
576
  "@effected/files": "^0.2.0",
540
577
  "@effected/git": "^0.30.0",
@@ -550,15 +587,16 @@ const hooks$1 = createHooks({
550
587
  "@effected/kit": "^0.13.0",
551
588
  "@effected/lockfiles": "^0.23.0",
552
589
  "@effected/lsp": "^0.8.0",
590
+ "@effected/manifest": "^0.1.0",
553
591
  "@effected/markdown": "^0.28.0",
554
592
  "@effected/markdown-lint": "^0.1.0",
555
- "@effected/mcp": "^0.15.0",
593
+ "@effected/mcp": "^0.16.0",
556
594
  "@effected/mcp-kit": "^0.14.0",
557
595
  "@effected/memfs": "^0.24.0",
558
- "@effected/npm": "^0.31.0",
596
+ "@effected/npm": "^0.32.0",
559
597
  "@effected/oidc": "^0.4.0",
560
598
  "@effected/package-json": "^0.31.0",
561
- "@effected/plugin": "^0.3.0",
599
+ "@effected/plugin": "^0.4.0",
562
600
  "@effected/runtimes": "^0.18.0",
563
601
  "@effected/s3": "^0.1.0",
564
602
  "@effected/sbom": "^0.20.0",
@@ -617,7 +655,7 @@ const hooks$1 = createHooks({
617
655
  "@effect/vitest@^4.0.0": "4.1.2",
618
656
  "effect@^4.0.0": "4.1.2"
619
657
  },
620
- "peerDependencyRules": {},
658
+ "peerDependencyRules": { "allowedVersions": { "tsdown>typescript": "^5.5.0 || ^6.0.0 || ^7.0.0 || ^7.1.0-beta" } },
621
659
  "publicHoistPattern": ["@effected/plugin"]
622
660
  }, {
623
661
  "catalogs": {
@@ -644,13 +682,14 @@ const hooks$1 = createHooks({
644
682
 
645
683
  // src/pnpmfile.ts
646
684
  /**
647
- * `lib/build/pnpm-config.plugin.ts` declares one catalog, `effected`, and its `:peers` twin. The
648
- * twin serves this repo's own published peer floors, through the root
649
- * `pnpm-workspace.yaml` that `pnpm:export` writes; a consumer never needs it,
650
- * since its packed peer takes the `effected` range (`pnpm pack` runs no hook),
651
- * so the hook hides it and a consumer sees exactly one catalog.
685
+ * `lib/build/pnpm-config.plugin.ts` declares two catalogs, `effected` (the Effect family and
686
+ * the kit) and `effected:build` (the build chain), each with a `:peers` twin. The twins
687
+ * serve this repo's own published peer floors, through the root `pnpm-workspace.yaml`
688
+ * that `pnpm:export` writes; a consumer never needs them, since its packed peer takes
689
+ * the catalog's own range (`pnpm pack` runs no hook), so the hook hides both and a
690
+ * consumer sees exactly `effected` and `effected:build`.
652
691
  */
653
- const HIDDEN = ["effected:peers"];
692
+ const HIDDEN = ["effected:peers", "effected:build:peers"];
654
693
  function hide(config) {
655
694
  const catalogs = config.catalogs;
656
695
  if (catalogs === void 0) return config;
@@ -662,7 +701,7 @@ function hide(config) {
662
701
  };
663
702
  }
664
703
  /**
665
- * The plugin's pnpm hooks: the generated `updateConfig`, then hiding the peers catalog.
704
+ * The plugin's pnpm hooks: the generated `updateConfig`, then hiding the peers catalogs.
666
705
  *
667
706
  * @public
668
707
  */