@savvy-web/pnpm-plugin-silk 0.17.0 → 0.18.1
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 +10 -23
- package/_virtual/_rolldown-pnpm-config/virtual/catalogs.js +103 -0
- package/index.d.ts +2 -163
- package/index.js +2 -2
- package/package.json +5 -4
- package/pnpmfile.cjs +572 -13918
- package/pnpmfile.mjs +572 -13918
- package/tsdoc-metadata.json +11 -0
- package/catalogs/generated.js +0 -205
package/README.md
CHANGED
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
6
|
[](https://pnpm.io/)
|
|
7
7
|
|
|
8
|
-
Centralized dependency
|
|
8
|
+
Centralized dependency-version management for the Silk ecosystem, delivered as a pnpm config dependency. Define dependency catalogs, security overrides and build settings once, then share them across every repository in the ecosystem.
|
|
9
9
|
|
|
10
10
|
## Features
|
|
11
11
|
|
|
12
|
-
- **Dual catalog strategy** —
|
|
13
|
-
- **Security overrides** —
|
|
14
|
-
- **Build allowlist** — `allowBuilds` map
|
|
15
|
-
- **Security defaults** — `strictDepBuilds`, `blockExoticSubdeps` and `minimumReleaseAge` are enforced by default; weakening
|
|
16
|
-
- **Workspace settings inheritance** — `publicHoistPattern
|
|
17
|
-
- **Peer dependency rules** —
|
|
18
|
-
- **Effect ecosystem
|
|
19
|
-
- **Non-destructive merging** —
|
|
12
|
+
- **Dual catalog strategy** — current versions for direct dependencies (`catalog:silk`) and permissive ranges for peer dependencies (`catalog:silkPeers`)
|
|
13
|
+
- **Security overrides** — centralized CVE fixes via `overrides` that propagate to every consuming repository
|
|
14
|
+
- **Build allowlist** — an `allowBuilds` map controls which packages may run install scripts; consuming repos extend it per key
|
|
15
|
+
- **Security defaults** — `strictDepBuilds`, `blockExoticSubdeps` and `minimumReleaseAge` are enforced by default; weakening one triggers a warning
|
|
16
|
+
- **Workspace settings inheritance** — `publicHoistPattern` and `allowedDeprecatedVersions` merge into consuming workspaces
|
|
17
|
+
- **Peer dependency rules** — `peerDependencyRules.allowedVersions` suppresses common peer-dependency warnings
|
|
18
|
+
- **Effect ecosystem coordination** — the full `@effect/*` package family and `effect` itself, pinned to mutually compatible versions
|
|
19
|
+
- **Non-destructive merging** — local definitions always win, with warnings when they diverge from the shared defaults
|
|
20
20
|
|
|
21
21
|
## Install
|
|
22
22
|
|
|
@@ -49,20 +49,7 @@ Reference Silk catalogs in your `package.json`:
|
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
The `silk` catalog
|
|
53
|
-
|
|
54
|
-
## Documentation
|
|
55
|
-
|
|
56
|
-
- [Configuration](./docs/configuration.md) — Catalogs, overrides, Effect ecosystem packages, `allowBuilds`, security settings and workspace configuration
|
|
57
|
-
- [How it works](./docs/how-it-works.md) — Architecture overview, merge strategy and bundle details
|
|
58
|
-
- [Troubleshooting](./docs/troubleshooting.md) — Common issues and solutions
|
|
59
|
-
|
|
60
|
-
## More information
|
|
61
|
-
|
|
62
|
-
- [Changelog](./CHANGELOG.md) — Release history
|
|
63
|
-
- [Contributing](./CONTRIBUTING.md) — Development setup and guidelines
|
|
64
|
-
- [Security Policy](./SECURITY.md) — Vulnerability reporting
|
|
65
|
-
- [Code of Conduct](./CODE_OF_CONDUCT.md) — Community guidelines
|
|
52
|
+
The `silk` catalog supplies current versions for direct dependencies and `silkPeers` supplies permissive ranges for peers. Security overrides, build allowlists and hoist patterns merge automatically during `pnpm install`.
|
|
66
53
|
|
|
67
54
|
## License
|
|
68
55
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
//#region \0rolldown-pnpm-config/virtual/catalogs
|
|
2
|
+
const catalogs = /* @__PURE__ */ new Map([["silk", /* @__PURE__ */ new Map([
|
|
3
|
+
["@effect/ai", "^0.36.0"],
|
|
4
|
+
["@effect/ai-amazon-bedrock", "^0.16.1"],
|
|
5
|
+
["@effect/ai-anthropic", "^0.26.0"],
|
|
6
|
+
["@effect/ai-google", "^0.15.0"],
|
|
7
|
+
["@effect/ai-openai", "^0.40.1"],
|
|
8
|
+
["@effect/cli", "^0.75.2"],
|
|
9
|
+
["@effect/cluster", "^0.59.0"],
|
|
10
|
+
["@effect/experimental", "^0.60.0"],
|
|
11
|
+
["@effect/language-service", "^0.86.2"],
|
|
12
|
+
["@effect/opentelemetry", "^0.63.0"],
|
|
13
|
+
["@effect/platform", "^0.96.2"],
|
|
14
|
+
["@effect/platform-browser", "^0.76.0"],
|
|
15
|
+
["@effect/platform-bun", "^0.90.0"],
|
|
16
|
+
["@effect/platform-node", "^0.107.0"],
|
|
17
|
+
["@effect/platform-node-shared", "^0.60.0"],
|
|
18
|
+
["@effect/printer", "^0.49.0"],
|
|
19
|
+
["@effect/printer-ansi", "^0.49.0"],
|
|
20
|
+
["@effect/rpc", "^0.75.1"],
|
|
21
|
+
["@effect/sql", "^0.51.1"],
|
|
22
|
+
["@effect/sql-clickhouse", "^0.49.0"],
|
|
23
|
+
["@effect/sql-d1", "^0.49.0"],
|
|
24
|
+
["@effect/sql-drizzle", "^0.50.0"],
|
|
25
|
+
["@effect/sql-kysely", "^0.47.0"],
|
|
26
|
+
["@effect/sql-libsql", "^0.41.0"],
|
|
27
|
+
["@effect/sql-mssql", "^0.52.0"],
|
|
28
|
+
["@effect/sql-mysql2", "^0.52.0"],
|
|
29
|
+
["@effect/sql-pg", "^0.52.1"],
|
|
30
|
+
["@effect/sql-sqlite-bun", "^0.52.0"],
|
|
31
|
+
["@effect/sql-sqlite-do", "^0.29.0"],
|
|
32
|
+
["@effect/sql-sqlite-node", "^0.52.0"],
|
|
33
|
+
["@effect/sql-sqlite-react-native", "^0.54.0"],
|
|
34
|
+
["@effect/sql-sqlite-wasm", "^0.52.0"],
|
|
35
|
+
["@effect/tsgo", "^0.15.0"],
|
|
36
|
+
["@effect/typeclass", "^0.40.0"],
|
|
37
|
+
["@effect/vitest", "^0.29.0"],
|
|
38
|
+
["@effect/workflow", "^0.18.2"],
|
|
39
|
+
["@types/node", "^26.0.1"],
|
|
40
|
+
["@types/react", "^19.2.17"],
|
|
41
|
+
["@types/react-dom", "^19.2.3"],
|
|
42
|
+
["@typescript/native-preview", "^7.0.0-dev.20260630.1"],
|
|
43
|
+
["@vitest/coverage-istanbul", "^4.1.9"],
|
|
44
|
+
["@vitest/coverage-v8", "^4.1.9"],
|
|
45
|
+
["effect", "^3.21.4"],
|
|
46
|
+
["react", "^19.2.7"],
|
|
47
|
+
["react-dom", "^19.2.7"],
|
|
48
|
+
["tsx", "^4.22.4"],
|
|
49
|
+
["typescript", "^6.0.3"],
|
|
50
|
+
["vitest", "^4.1.9"]
|
|
51
|
+
])], ["silkPeers", /* @__PURE__ */ new Map([
|
|
52
|
+
["@effect/ai", "^0.36.0"],
|
|
53
|
+
["@effect/ai-amazon-bedrock", "^0.16.1"],
|
|
54
|
+
["@effect/ai-anthropic", "^0.26.0"],
|
|
55
|
+
["@effect/ai-google", "^0.15.0"],
|
|
56
|
+
["@effect/ai-openai", "^0.40.1"],
|
|
57
|
+
["@effect/cli", "^0.75.2"],
|
|
58
|
+
["@effect/cluster", "^0.59.0"],
|
|
59
|
+
["@effect/experimental", "^0.60.0"],
|
|
60
|
+
["@effect/language-service", "^0.86.2"],
|
|
61
|
+
["@effect/opentelemetry", "^0.63.0"],
|
|
62
|
+
["@effect/platform", "^0.96.0"],
|
|
63
|
+
["@effect/platform-browser", "^0.76.0"],
|
|
64
|
+
["@effect/platform-bun", "^0.90.0"],
|
|
65
|
+
["@effect/platform-node", "^0.107.0"],
|
|
66
|
+
["@effect/platform-node-shared", "^0.60.0"],
|
|
67
|
+
["@effect/printer", "^0.49.0"],
|
|
68
|
+
["@effect/printer-ansi", "^0.49.0"],
|
|
69
|
+
["@effect/rpc", "^0.75.1"],
|
|
70
|
+
["@effect/sql", "^0.51.0"],
|
|
71
|
+
["@effect/sql-clickhouse", "^0.49.0"],
|
|
72
|
+
["@effect/sql-d1", "^0.49.0"],
|
|
73
|
+
["@effect/sql-drizzle", "^0.50.0"],
|
|
74
|
+
["@effect/sql-kysely", "^0.47.0"],
|
|
75
|
+
["@effect/sql-libsql", "^0.41.0"],
|
|
76
|
+
["@effect/sql-mssql", "^0.52.0"],
|
|
77
|
+
["@effect/sql-mysql2", "^0.52.0"],
|
|
78
|
+
["@effect/sql-pg", "^0.52.1"],
|
|
79
|
+
["@effect/sql-sqlite-bun", "^0.52.0"],
|
|
80
|
+
["@effect/sql-sqlite-do", "^0.29.0"],
|
|
81
|
+
["@effect/sql-sqlite-node", "^0.52.0"],
|
|
82
|
+
["@effect/sql-sqlite-react-native", "^0.54.0"],
|
|
83
|
+
["@effect/sql-sqlite-wasm", "^0.52.0"],
|
|
84
|
+
["@effect/tsgo", "^0.15.0"],
|
|
85
|
+
["@effect/typeclass", "^0.40.0"],
|
|
86
|
+
["@effect/vitest", "^0.29.0"],
|
|
87
|
+
["@effect/workflow", "^0.18.2"],
|
|
88
|
+
["@types/node", "^26.0.0"],
|
|
89
|
+
["@types/react", "^19.2.0"],
|
|
90
|
+
["@types/react-dom", "^19.2.0"],
|
|
91
|
+
["@typescript/native-preview", "^7.0.0-dev.20260612.1"],
|
|
92
|
+
["@vitest/coverage-istanbul", "^4.1.0"],
|
|
93
|
+
["@vitest/coverage-v8", "^4.1.0"],
|
|
94
|
+
["effect", "^3.21.0"],
|
|
95
|
+
["react", "^19.2.0"],
|
|
96
|
+
["react-dom", "^19.2.0"],
|
|
97
|
+
["tsx", "^4.22.4"],
|
|
98
|
+
["typescript", "^6.0.0"],
|
|
99
|
+
["vitest", "^4.1.0"]
|
|
100
|
+
])]]);
|
|
101
|
+
|
|
102
|
+
//#endregion
|
|
103
|
+
export { catalogs };
|
package/index.d.ts
CHANGED
|
@@ -1,163 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Type definitions for Silk catalog management.
|
|
4
|
-
*
|
|
5
|
-
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* A catalog is a record mapping package names to semver version ranges.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* import type { Catalog } from "@savvy-web/pnpm-plugin-silk";
|
|
13
|
-
*
|
|
14
|
-
* const myCatalog: Catalog = {
|
|
15
|
-
* typescript: "^5.9.0",
|
|
16
|
-
* vitest: "^4.0.0",
|
|
17
|
-
* };
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @public
|
|
21
|
-
*/
|
|
22
|
-
type Catalog = Record<string, string>;
|
|
23
|
-
/**
|
|
24
|
-
* A pnpm package extension entry, adding missing metadata to a package.
|
|
25
|
-
*
|
|
26
|
-
* @public
|
|
27
|
-
*/
|
|
28
|
-
interface PackageExtension {
|
|
29
|
-
readonly dependencies?: Record<string, string>;
|
|
30
|
-
readonly optionalDependencies?: Record<string, string>;
|
|
31
|
-
readonly peerDependencies?: Record<string, string>;
|
|
32
|
-
readonly peerDependenciesMeta?: Record<string, {
|
|
33
|
-
readonly optional?: boolean;
|
|
34
|
-
}>;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Supported architectures for optional-dependency installation.
|
|
38
|
-
*
|
|
39
|
-
* @remarks
|
|
40
|
-
* A type alias (not an interface) so it carries an implicit index signature and
|
|
41
|
-
* can be passed to {@link mergeArrayRecord} without a cast.
|
|
42
|
-
*
|
|
43
|
-
* @public
|
|
44
|
-
*/
|
|
45
|
-
type SupportedArchitectures = {
|
|
46
|
-
readonly os?: readonly string[];
|
|
47
|
-
readonly cpu?: readonly string[];
|
|
48
|
-
readonly libc?: readonly string[];
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Audit advisory allowlist (pnpm 11 prefers GHSA identifiers).
|
|
52
|
-
*
|
|
53
|
-
* @remarks
|
|
54
|
-
* A type alias (not an interface) so it carries an implicit index signature and
|
|
55
|
-
* can be passed to {@link mergeArrayRecord} without a cast.
|
|
56
|
-
*
|
|
57
|
-
* @public
|
|
58
|
-
*/
|
|
59
|
-
type AuditConfig = {
|
|
60
|
-
readonly ignoreGhsas?: readonly string[];
|
|
61
|
-
readonly ignoreCves?: readonly string[];
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* The Silk catalogs structure containing two named catalogs for version management.
|
|
65
|
-
*
|
|
66
|
-
* @remarks
|
|
67
|
-
* Use {@link silkCatalogs} to access the pre-configured catalog instance.
|
|
68
|
-
* The `silk` catalog contains pinned current versions for direct dependencies,
|
|
69
|
-
* while `silkPeers` contains permissive ranges suitable for peerDependencies.
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* import { silkCatalogs } from "@savvy-web/pnpm-plugin-silk";
|
|
74
|
-
* import type { SilkCatalogs } from "@savvy-web/pnpm-plugin-silk";
|
|
75
|
-
*
|
|
76
|
-
* // Access the pre-configured catalogs
|
|
77
|
-
* const typescriptVersion = silkCatalogs.silk.typescript;
|
|
78
|
-
* const peerRange = silkCatalogs.silkPeers.typescript;
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* @public
|
|
82
|
-
*/
|
|
83
|
-
interface SilkCatalogs {
|
|
84
|
-
/**
|
|
85
|
-
* Current/latest versions for direct dependencies.
|
|
86
|
-
* Use with `catalog:silk` in package.json.
|
|
87
|
-
*/
|
|
88
|
-
readonly silk: Catalog;
|
|
89
|
-
/**
|
|
90
|
-
* Permissive ranges for peerDependencies.
|
|
91
|
-
* Use with `catalog:silkPeers` in package.json.
|
|
92
|
-
*/
|
|
93
|
-
readonly silkPeers: Catalog;
|
|
94
|
-
/**
|
|
95
|
-
* Security overrides for known CVEs.
|
|
96
|
-
* Synced to pnpm `overrides` configuration.
|
|
97
|
-
*/
|
|
98
|
-
readonly silkOverrides: Catalog;
|
|
99
|
-
/**
|
|
100
|
-
* Packages to hoist to the virtual store root.
|
|
101
|
-
* Synced to pnpm `publicHoistPattern` configuration.
|
|
102
|
-
*/
|
|
103
|
-
readonly silkPublicHoistPattern: readonly string[];
|
|
104
|
-
/**
|
|
105
|
-
* Map of package matchers to whether their build scripts may run.
|
|
106
|
-
* Synced to pnpm `allowBuilds`.
|
|
107
|
-
*/
|
|
108
|
-
readonly silkAllowBuilds: Record<string, boolean>;
|
|
109
|
-
/** Whether installs fail on unreviewed dependency build scripts. */
|
|
110
|
-
readonly silkStrictDepBuilds?: boolean;
|
|
111
|
-
/** Whether transitive deps may use exotic sources (git/tarball). */
|
|
112
|
-
readonly silkBlockExoticSubdeps?: boolean;
|
|
113
|
-
/** Minimum minutes since publication before a version may install. */
|
|
114
|
-
readonly silkMinimumReleaseAge?: number;
|
|
115
|
-
/** Package patterns excluded from the release-age constraint. */
|
|
116
|
-
readonly silkMinimumReleaseAgeExclude: readonly string[];
|
|
117
|
-
/** Package metadata extensions, synced to pnpm `packageExtensions`. */
|
|
118
|
-
readonly silkPackageExtensions: Record<string, PackageExtension>;
|
|
119
|
-
/** Deprecation warnings to mute, synced to `allowedDeprecatedVersions`. */
|
|
120
|
-
readonly silkAllowedDeprecatedVersions: Record<string, string>;
|
|
121
|
-
/** Supported architectures for optional-dependency installs. */
|
|
122
|
-
readonly silkSupportedArchitectures: SupportedArchitectures;
|
|
123
|
-
/** Audit advisory allowlist, synced to `auditConfig`. */
|
|
124
|
-
readonly silkAuditConfig: AuditConfig;
|
|
125
|
-
/**
|
|
126
|
-
* Whether pnpm prompts for confirmation before purging `node_modules`.
|
|
127
|
-
* Synced to pnpm `confirmModulesPurge`. Child repos may override freely.
|
|
128
|
-
*/
|
|
129
|
-
readonly silkConfirmModulesPurge?: boolean;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Peer dependency rules synced from the Silk plugin workspace.
|
|
133
|
-
*
|
|
134
|
-
* @public
|
|
135
|
-
*/
|
|
136
|
-
interface SilkPeerDependencyRules {
|
|
137
|
-
/**
|
|
138
|
-
* Version ranges that suppress unmet peer dependency warnings.
|
|
139
|
-
* Keys are "package\>peer" dependency paths.
|
|
140
|
-
*/
|
|
141
|
-
readonly allowedVersions: Record<string, string>;
|
|
142
|
-
/**
|
|
143
|
-
* Package names whose missing peer dependency warnings are suppressed.
|
|
144
|
-
*/
|
|
145
|
-
readonly ignoreMissing: readonly string[];
|
|
146
|
-
/**
|
|
147
|
-
* Package patterns that resolve to any version regardless of peer range.
|
|
148
|
-
*/
|
|
149
|
-
readonly allowAny: readonly string[];
|
|
150
|
-
}
|
|
151
|
-
//#endregion
|
|
152
|
-
//#region src/catalogs/generated.d.ts
|
|
153
|
-
/**
|
|
154
|
-
* The complete Silk catalogs generated from pnpm-workspace.yaml.
|
|
155
|
-
*/
|
|
156
|
-
declare const silkCatalogs: SilkCatalogs;
|
|
157
|
-
/**
|
|
158
|
-
* Peer dependency rules generated from pnpm-workspace.yaml.
|
|
159
|
-
*/
|
|
160
|
-
declare const silkPeerDependencyRules: SilkPeerDependencyRules;
|
|
161
|
-
//#endregion
|
|
162
|
-
export { type AuditConfig, type Catalog, type PackageExtension, type SilkCatalogs, type SilkPeerDependencyRules, type SupportedArchitectures, silkCatalogs, silkPeerDependencyRules };
|
|
163
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
import { catalogs } from "rolldown-pnpm-config/virtual/catalogs";
|
|
2
|
+
export { catalogs };
|
package/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { catalogs } from "./_virtual/_rolldown-pnpm-config/virtual/catalogs.js";
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { catalogs };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@savvy-web/pnpm-plugin-silk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "pnpm config dependency for centralized catalog management across the Silk ecosystem.",
|
|
6
6
|
"keywords": [
|
|
@@ -11,13 +11,14 @@
|
|
|
11
11
|
"monorepo",
|
|
12
12
|
"silk"
|
|
13
13
|
],
|
|
14
|
-
"homepage": "https://github.com/savvy-web/pnpm-plugin-silk#readme",
|
|
14
|
+
"homepage": "https://github.com/savvy-web/systems/packages/pnpm-plugin-silk#readme",
|
|
15
15
|
"bugs": {
|
|
16
|
-
"url": "https://github.com/savvy-web/
|
|
16
|
+
"url": "https://github.com/savvy-web/systems/issues"
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/savvy-web/
|
|
20
|
+
"url": "git+https://github.com/savvy-web/systems.git",
|
|
21
|
+
"directory": "packages/pnpm-plugin-silk"
|
|
21
22
|
},
|
|
22
23
|
"license": "MIT",
|
|
23
24
|
"author": {
|