@effected/pnpm-plugin-effected 0.22.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,163 +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.1"],
31
- ["@effected/cli", "^0.27.0"],
32
- ["@effected/cli-kit", "^0.27.0"],
33
- ["@effected/commands", "^0.20.0"],
34
- ["@effected/config-file", "^0.25.0"],
35
- ["@effected/crypto", "^0.5.0"],
36
- ["@effected/engine", "^0.13.0"],
37
- ["@effected/env", "^0.11.0"],
38
- ["@effected/files", "^0.1.0"],
39
- ["@effected/git", "^0.30.0"],
40
- ["@effected/github", "^0.29.0"],
41
- ["@effected/github-actions", "^0.32.0"],
42
- ["@effected/github-commands", "^0.9.0"],
43
- ["@effected/github-references", "^0.14.0"],
44
- ["@effected/glob", "^0.19.0"],
45
- ["@effected/images", "^0.9.0"],
46
- ["@effected/jsonc", "^0.24.0"],
47
- ["@effected/jsonl", "^0.18.0"],
48
- ["@effected/jwt", "^0.9.0"],
49
- ["@effected/kit", "^0.13.0"],
50
- ["@effected/lockfiles", "^0.22.1"],
51
- ["@effected/lsp", "^0.8.0"],
52
- ["@effected/markdown", "^0.27.0"],
53
- ["@effected/mcp", "^0.14.0"],
54
- ["@effected/mcp-kit", "^0.14.0"],
55
- ["@effected/memfs", "^0.24.0"],
56
- ["@effected/npm", "^0.30.1"],
57
- ["@effected/oidc", "^0.4.0"],
58
- ["@effected/package-json", "^0.30.0"],
59
- ["@effected/plugin", "^0.2.0"],
60
- ["@effected/runtimes", "^0.18.1"],
61
- ["@effected/sbom", "^0.20.1"],
62
- ["@effected/schema-org", "^0.14.0"],
63
- ["@effected/schemastore", "^0.30.0"],
64
- ["@effected/semver", "^0.22.0"],
65
- ["@effected/source", "^0.4.0"],
66
- ["@effected/spdx", "^0.19.0"],
67
- ["@effected/store", "^0.24.0"],
68
- ["@effected/templates", "^0.18.0"],
69
- ["@effected/toml", "^0.19.1"],
70
- ["@effected/tsconfig-json", "^0.20.1"],
71
- ["@effected/walker", "^0.25.1"],
72
- ["@effected/webhooks", "^0.4.0"],
73
- ["@effected/workspaces", "^0.43.0"],
74
- ["@effected/xdg", "^0.19.1"],
75
- ["@effected/yaml", "^0.29.0"],
76
- ["effect", "~4.1.2"]
77
- ])], ["effected:peers", /* @__PURE__ */ new Map([
78
- ["@effect/ai-anthropic", "~4.1.0"],
79
- ["@effect/ai-openai", "~4.1.0"],
80
- ["@effect/ai-openai-compat", "~4.1.0"],
81
- ["@effect/ai-openrouter", "~4.1.0"],
82
- ["@effect/atom-react", "~4.1.0"],
83
- ["@effect/atom-solid", "~4.1.0"],
84
- ["@effect/atom-vue", "~4.1.0"],
85
- ["@effect/openapi-generator", "~4.1.0"],
86
- ["@effect/opentelemetry", "~4.1.0"],
87
- ["@effect/platform-browser", "~4.1.0"],
88
- ["@effect/platform-bun", "~4.1.0"],
89
- ["@effect/platform-node", "~4.1.0"],
90
- ["@effect/platform-node-shared", "~4.1.0"],
91
- ["@effect/sql-clickhouse", "~4.1.0"],
92
- ["@effect/sql-d1", "~4.1.0"],
93
- ["@effect/sql-libsql", "~4.1.0"],
94
- ["@effect/sql-mssql", "~4.1.0"],
95
- ["@effect/sql-mysql2", "~4.1.0"],
96
- ["@effect/sql-pg", "~4.1.0"],
97
- ["@effect/sql-pglite", "~4.1.0"],
98
- ["@effect/sql-sqlite-bun", "~4.1.0"],
99
- ["@effect/sql-sqlite-do", "~4.1.0"],
100
- ["@effect/sql-sqlite-node", "~4.1.0"],
101
- ["@effect/sql-sqlite-react-native", "~4.1.0"],
102
- ["@effect/sql-sqlite-wasm", "~4.1.0"],
103
- ["@effect/tsgo", "^0.63.0"],
104
- ["@effect/vitest", "~4.1.0"],
105
- ["@effected/app", "^0.31.0"],
106
- ["@effected/cli", "^0.27.0"],
107
- ["@effected/cli-kit", "^0.27.0"],
108
- ["@effected/commands", "^0.20.0"],
109
- ["@effected/config-file", "^0.25.0"],
110
- ["@effected/crypto", "^0.5.0"],
111
- ["@effected/engine", "^0.13.0"],
112
- ["@effected/env", "^0.11.0"],
113
- ["@effected/files", "^0.1.0"],
114
- ["@effected/git", "^0.30.0"],
115
- ["@effected/github", "^0.29.0"],
116
- ["@effected/github-actions", "^0.32.0"],
117
- ["@effected/github-commands", "^0.9.0"],
118
- ["@effected/github-references", "^0.14.0"],
119
- ["@effected/glob", "^0.19.0"],
120
- ["@effected/images", "^0.9.0"],
121
- ["@effected/jsonc", "^0.24.0"],
122
- ["@effected/jsonl", "^0.18.0"],
123
- ["@effected/jwt", "^0.9.0"],
124
- ["@effected/kit", "^0.13.0"],
125
- ["@effected/lockfiles", "^0.22.0"],
126
- ["@effected/lsp", "^0.8.0"],
127
- ["@effected/markdown", "^0.27.0"],
128
- ["@effected/mcp", "^0.14.0"],
129
- ["@effected/mcp-kit", "^0.14.0"],
130
- ["@effected/memfs", "^0.24.0"],
131
- ["@effected/npm", "^0.30.0"],
132
- ["@effected/oidc", "^0.4.0"],
133
- ["@effected/package-json", "^0.30.0"],
134
- ["@effected/plugin", "^0.2.0"],
135
- ["@effected/runtimes", "^0.18.0"],
136
- ["@effected/sbom", "^0.20.0"],
137
- ["@effected/schema-org", "^0.14.0"],
138
- ["@effected/schemastore", "^0.30.0"],
139
- ["@effected/semver", "^0.22.0"],
140
- ["@effected/source", "^0.4.0"],
141
- ["@effected/spdx", "^0.19.0"],
142
- ["@effected/store", "^0.24.0"],
143
- ["@effected/templates", "^0.18.0"],
144
- ["@effected/toml", "^0.19.0"],
145
- ["@effected/tsconfig-json", "^0.20.0"],
146
- ["@effected/walker", "^0.25.0"],
147
- ["@effected/webhooks", "^0.4.0"],
148
- ["@effected/workspaces", "^0.43.0"],
149
- ["@effected/xdg", "^0.19.0"],
150
- ["@effected/yaml", "^0.29.0"],
151
- ["effect", "~4.1.0"]
152
- ])]]);
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
+ ]);
153
204
 
154
205
  // src/index.ts
155
206
  /**
156
- * The one catalog a consumer installs, `effected`: the Effect family and the
157
- * 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).
158
211
  *
159
212
  * @public
160
213
  */
161
- 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") ?? [])]]);
162
215
 
163
216
  export { catalogs };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effected/pnpm-plugin-effected",
3
- "version": "0.22.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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.1_@effected+config-file@0.24.0_@effected+glob@0.18.0_effect@4._8d9a58424986a392a91a593aa2417c01/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.
@@ -445,54 +445,96 @@ const hooks$1 = createHooks({
445
445
  "@effect/sql-sqlite-wasm": "~4.1.2",
446
446
  "@effect/tsgo": "^0.63.0",
447
447
  "@effect/vitest": "~4.1.2",
448
- "@effected/app": "^0.31.1",
449
- "@effected/cli": "^0.27.0",
450
- "@effected/cli-kit": "^0.27.0",
448
+ "@effected/app": "^0.31.2",
449
+ "@effected/bundler": "^0.2.0",
450
+ "@effected/changesets": "^0.2.0",
451
+ "@effected/cli": "^0.29.0",
452
+ "@effected/cli-kit": "^0.27.1",
451
453
  "@effected/commands": "^0.20.0",
452
- "@effected/config-file": "^0.25.0",
453
- "@effected/crypto": "^0.5.0",
454
- "@effected/engine": "^0.13.0",
454
+ "@effected/config-file": "^0.26.0",
455
+ "@effected/crypto": "^0.6.0",
456
+ "@effected/engine": "^0.15.0",
455
457
  "@effected/env": "^0.11.0",
456
- "@effected/files": "^0.1.0",
458
+ "@effected/files": "^0.2.0",
457
459
  "@effected/git": "^0.30.0",
458
- "@effected/github": "^0.29.0",
459
- "@effected/github-actions": "^0.32.0",
460
+ "@effected/github": "^0.30.0",
461
+ "@effected/github-actions": "^0.32.2",
460
462
  "@effected/github-commands": "^0.9.0",
461
463
  "@effected/github-references": "^0.14.0",
462
- "@effected/glob": "^0.19.0",
464
+ "@effected/glob": "^0.20.0",
463
465
  "@effected/images": "^0.9.0",
464
466
  "@effected/jsonc": "^0.24.0",
465
467
  "@effected/jsonl": "^0.18.0",
466
- "@effected/jwt": "^0.9.0",
468
+ "@effected/jwt": "^0.9.1",
467
469
  "@effected/kit": "^0.13.0",
468
- "@effected/lockfiles": "^0.22.1",
470
+ "@effected/lockfiles": "^0.23.1",
469
471
  "@effected/lsp": "^0.8.0",
470
- "@effected/markdown": "^0.27.0",
471
- "@effected/mcp": "^0.14.0",
472
+ "@effected/manifest": "^0.1.0",
473
+ "@effected/markdown": "^0.28.0",
474
+ "@effected/markdown-lint": "^0.1.1",
475
+ "@effected/mcp": "^0.16.0",
472
476
  "@effected/mcp-kit": "^0.14.0",
473
477
  "@effected/memfs": "^0.24.0",
474
- "@effected/npm": "^0.30.1",
478
+ "@effected/npm": "^0.32.0",
475
479
  "@effected/oidc": "^0.4.0",
476
- "@effected/package-json": "^0.30.0",
477
- "@effected/plugin": "^0.2.0",
478
- "@effected/runtimes": "^0.18.1",
479
- "@effected/sbom": "^0.20.1",
480
+ "@effected/package-json": "^0.31.1",
481
+ "@effected/plugin": "^0.4.0",
482
+ "@effected/runtimes": "^0.18.2",
483
+ "@effected/s3": "^0.1.1",
484
+ "@effected/sbom": "^0.20.2",
480
485
  "@effected/schema-org": "^0.14.0",
481
- "@effected/schemastore": "^0.30.0",
486
+ "@effected/schemastore": "^0.31.0",
482
487
  "@effected/semver": "^0.22.0",
488
+ "@effected/shell": "^0.1.1",
483
489
  "@effected/source": "^0.4.0",
484
490
  "@effected/spdx": "^0.19.0",
485
491
  "@effected/store": "^0.24.0",
486
- "@effected/templates": "^0.18.0",
492
+ "@effected/templates": "^0.19.0",
487
493
  "@effected/toml": "^0.19.1",
488
- "@effected/tsconfig-json": "^0.20.1",
489
- "@effected/walker": "^0.25.1",
490
- "@effected/webhooks": "^0.4.0",
491
- "@effected/workspaces": "^0.43.0",
492
- "@effected/xdg": "^0.19.1",
494
+ "@effected/tsconfig-json": "^0.20.2",
495
+ "@effected/walker": "^0.26.0",
496
+ "@effected/webhooks": "^0.5.0",
497
+ "@effected/workspaces": "^0.44.1",
498
+ "@effected/xdg": "^0.19.2",
493
499
  "@effected/yaml": "^0.29.0",
494
500
  "effect": "~4.1.2"
495
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
+ },
496
538
  "effected:peers": {
497
539
  "@effect/ai-anthropic": "~4.1.0",
498
540
  "@effect/ai-openai": "~4.1.0",
@@ -522,49 +564,55 @@ const hooks$1 = createHooks({
522
564
  "@effect/tsgo": "^0.63.0",
523
565
  "@effect/vitest": "~4.1.0",
524
566
  "@effected/app": "^0.31.0",
525
- "@effected/cli": "^0.27.0",
567
+ "@effected/bundler": "^0.2.0",
568
+ "@effected/changesets": "^0.2.0",
569
+ "@effected/cli": "^0.29.0",
526
570
  "@effected/cli-kit": "^0.27.0",
527
571
  "@effected/commands": "^0.20.0",
528
- "@effected/config-file": "^0.25.0",
529
- "@effected/crypto": "^0.5.0",
530
- "@effected/engine": "^0.13.0",
572
+ "@effected/config-file": "^0.26.0",
573
+ "@effected/crypto": "^0.6.0",
574
+ "@effected/engine": "^0.15.0",
531
575
  "@effected/env": "^0.11.0",
532
- "@effected/files": "^0.1.0",
576
+ "@effected/files": "^0.2.0",
533
577
  "@effected/git": "^0.30.0",
534
- "@effected/github": "^0.29.0",
578
+ "@effected/github": "^0.30.0",
535
579
  "@effected/github-actions": "^0.32.0",
536
580
  "@effected/github-commands": "^0.9.0",
537
581
  "@effected/github-references": "^0.14.0",
538
- "@effected/glob": "^0.19.0",
582
+ "@effected/glob": "^0.20.0",
539
583
  "@effected/images": "^0.9.0",
540
584
  "@effected/jsonc": "^0.24.0",
541
585
  "@effected/jsonl": "^0.18.0",
542
586
  "@effected/jwt": "^0.9.0",
543
587
  "@effected/kit": "^0.13.0",
544
- "@effected/lockfiles": "^0.22.0",
588
+ "@effected/lockfiles": "^0.23.0",
545
589
  "@effected/lsp": "^0.8.0",
546
- "@effected/markdown": "^0.27.0",
547
- "@effected/mcp": "^0.14.0",
590
+ "@effected/manifest": "^0.1.0",
591
+ "@effected/markdown": "^0.28.0",
592
+ "@effected/markdown-lint": "^0.1.0",
593
+ "@effected/mcp": "^0.16.0",
548
594
  "@effected/mcp-kit": "^0.14.0",
549
595
  "@effected/memfs": "^0.24.0",
550
- "@effected/npm": "^0.30.0",
596
+ "@effected/npm": "^0.32.0",
551
597
  "@effected/oidc": "^0.4.0",
552
- "@effected/package-json": "^0.30.0",
553
- "@effected/plugin": "^0.2.0",
598
+ "@effected/package-json": "^0.31.0",
599
+ "@effected/plugin": "^0.4.0",
554
600
  "@effected/runtimes": "^0.18.0",
601
+ "@effected/s3": "^0.1.0",
555
602
  "@effected/sbom": "^0.20.0",
556
603
  "@effected/schema-org": "^0.14.0",
557
- "@effected/schemastore": "^0.30.0",
604
+ "@effected/schemastore": "^0.31.0",
558
605
  "@effected/semver": "^0.22.0",
606
+ "@effected/shell": "^0.1.0",
559
607
  "@effected/source": "^0.4.0",
560
608
  "@effected/spdx": "^0.19.0",
561
609
  "@effected/store": "^0.24.0",
562
- "@effected/templates": "^0.18.0",
610
+ "@effected/templates": "^0.19.0",
563
611
  "@effected/toml": "^0.19.0",
564
612
  "@effected/tsconfig-json": "^0.20.0",
565
- "@effected/walker": "^0.25.0",
566
- "@effected/webhooks": "^0.4.0",
567
- "@effected/workspaces": "^0.43.0",
613
+ "@effected/walker": "^0.26.0",
614
+ "@effected/webhooks": "^0.5.0",
615
+ "@effected/workspaces": "^0.44.0",
568
616
  "@effected/xdg": "^0.19.0",
569
617
  "@effected/yaml": "^0.29.0",
570
618
  "effect": "~4.1.0"
@@ -607,7 +655,7 @@ const hooks$1 = createHooks({
607
655
  "@effect/vitest@^4.0.0": "4.1.2",
608
656
  "effect@^4.0.0": "4.1.2"
609
657
  },
610
- "peerDependencyRules": {},
658
+ "peerDependencyRules": { "allowedVersions": { "tsdown>typescript": "^5.5.0 || ^6.0.0 || ^7.0.0 || ^7.1.0-beta" } },
611
659
  "publicHoistPattern": ["@effected/plugin"]
612
660
  }, {
613
661
  "catalogs": {
@@ -634,13 +682,14 @@ const hooks$1 = createHooks({
634
682
 
635
683
  // src/pnpmfile.ts
636
684
  /**
637
- * `savvy.build.ts` declares one catalog, `effected`, and its `:peers` twin. The
638
- * twin serves this repo's own published peer floors, through the root
639
- * `pnpm-workspace.yaml` that `pnpm:export` writes; a consumer never needs it,
640
- * since its packed peer takes the `effected` range (`pnpm pack` runs no hook),
641
- * 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`.
642
691
  */
643
- const HIDDEN = ["effected:peers"];
692
+ const HIDDEN = ["effected:peers", "effected:build:peers"];
644
693
  function hide(config) {
645
694
  const catalogs = config.catalogs;
646
695
  if (catalogs === void 0) return config;
@@ -652,7 +701,7 @@ function hide(config) {
652
701
  };
653
702
  }
654
703
  /**
655
- * 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.
656
705
  *
657
706
  * @public
658
707
  */