@savvy-web/pnpm-plugin-silk 0.14.4 → 0.14.6

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.
@@ -0,0 +1,169 @@
1
+ //#region src/catalogs/generated.ts
2
+ /**
3
+ * The complete Silk catalogs generated from pnpm-workspace.yaml.
4
+ */
5
+ const silkCatalogs = {
6
+ silk: {
7
+ "@effect/ai": "^0.36.0",
8
+ "@effect/ai-amazon-bedrock": "^0.16.0",
9
+ "@effect/ai-anthropic": "^0.26.0",
10
+ "@effect/ai-google": "^0.15.0",
11
+ "@effect/ai-openai": "^0.40.0",
12
+ "@effect/cli": "^0.75.2",
13
+ "@effect/cluster": "^0.59.0",
14
+ "@effect/experimental": "^0.60.0",
15
+ "@effect/language-service": "^0.86.2",
16
+ "@effect/opentelemetry": "^0.63.0",
17
+ "@effect/platform": "^0.96.1",
18
+ "@effect/platform-browser": "^0.76.0",
19
+ "@effect/platform-bun": "^0.90.0",
20
+ "@effect/platform-node": "^0.107.0",
21
+ "@effect/platform-node-shared": "^0.60.0",
22
+ "@effect/printer": "^0.49.0",
23
+ "@effect/printer-ansi": "^0.49.0",
24
+ "@effect/rpc": "^0.75.1",
25
+ "@effect/sql": "^0.51.1",
26
+ "@effect/sql-clickhouse": "^0.49.0",
27
+ "@effect/sql-d1": "^0.49.0",
28
+ "@effect/sql-drizzle": "^0.50.0",
29
+ "@effect/sql-kysely": "^0.47.0",
30
+ "@effect/sql-libsql": "^0.41.0",
31
+ "@effect/sql-mssql": "^0.52.0",
32
+ "@effect/sql-mysql2": "^0.52.0",
33
+ "@effect/sql-pg": "^0.52.1",
34
+ "@effect/sql-sqlite-bun": "^0.52.0",
35
+ "@effect/sql-sqlite-do": "^0.29.0",
36
+ "@effect/sql-sqlite-node": "^0.52.0",
37
+ "@effect/sql-sqlite-react-native": "^0.54.0",
38
+ "@effect/sql-sqlite-wasm": "^0.52.0",
39
+ "@effect/tsgo": "^0.14.3",
40
+ "@effect/typeclass": "^0.40.0",
41
+ "@effect/vitest": "^0.29.0",
42
+ "@effect/workflow": "^0.18.2",
43
+ "@types/node": "^25.9.3",
44
+ "@types/react": "^19.2.17",
45
+ "@types/react-dom": "^19.2.3",
46
+ "@typescript/native-preview": "^7.0.0-dev.20260611.2",
47
+ effect: "^3.21.3",
48
+ react: "^19.2.7",
49
+ "react-dom": "^19.2.7",
50
+ tsx: "^4.22.4",
51
+ typescript: "^6.0.3"
52
+ },
53
+ silkPeers: {
54
+ "@effect/ai": ">=0.36.0",
55
+ "@effect/ai-amazon-bedrock": ">=0.16.0",
56
+ "@effect/ai-anthropic": ">=0.26.0",
57
+ "@effect/ai-google": ">=0.15.0",
58
+ "@effect/ai-openai": ">=0.40.0",
59
+ "@effect/cli": ">=0.75.2",
60
+ "@effect/cluster": ">=0.59.0",
61
+ "@effect/experimental": ">=0.60.0",
62
+ "@effect/language-service": ">=0.86.2",
63
+ "@effect/opentelemetry": ">=0.63.0",
64
+ "@effect/platform": ">=0.96.0",
65
+ "@effect/platform-browser": ">=0.76.0",
66
+ "@effect/platform-bun": ">=0.90.0",
67
+ "@effect/platform-node": ">=0.107.0",
68
+ "@effect/platform-node-shared": ">=0.60.0",
69
+ "@effect/printer": ">=0.49.0",
70
+ "@effect/printer-ansi": ">=0.49.0",
71
+ "@effect/rpc": ">=0.75.1",
72
+ "@effect/sql": ">=0.51.0",
73
+ "@effect/sql-clickhouse": ">=0.49.0",
74
+ "@effect/sql-d1": ">=0.49.0",
75
+ "@effect/sql-drizzle": ">=0.50.0",
76
+ "@effect/sql-kysely": ">=0.47.0",
77
+ "@effect/sql-libsql": ">=0.41.0",
78
+ "@effect/sql-mssql": ">=0.52.0",
79
+ "@effect/sql-mysql2": ">=0.52.0",
80
+ "@effect/sql-pg": ">=0.52.1",
81
+ "@effect/sql-sqlite-bun": ">=0.52.0",
82
+ "@effect/sql-sqlite-do": ">=0.29.0",
83
+ "@effect/sql-sqlite-node": ">=0.52.0",
84
+ "@effect/sql-sqlite-react-native": ">=0.54.0",
85
+ "@effect/sql-sqlite-wasm": ">=0.52.0",
86
+ "@effect/tsgo": ">=0.14.3",
87
+ "@effect/typeclass": ">=0.40.0",
88
+ "@effect/vitest": ">=0.29.0",
89
+ "@effect/workflow": ">=0.18.2",
90
+ "@types/node": "^25.9.0",
91
+ "@types/react": "^19.2.0",
92
+ "@types/react-dom": "^19.2.0",
93
+ "@typescript/native-preview": "^7.0.0-dev.20260513.1",
94
+ effect: ">=3.21.0",
95
+ react: "^19.2.0",
96
+ "react-dom": "^19.2.0",
97
+ tsx: "^4.22.0",
98
+ typescript: "^6.0.0"
99
+ },
100
+ silkOverrides: {
101
+ "@isaacs/brace-expansion": "^5.0.1",
102
+ lodash: "^4.17.23",
103
+ "markdown-it": "^14.1.1",
104
+ minimatch: ">=10.2.3",
105
+ "smol-toml": ">=1.6.1",
106
+ tmp: "^0.2.7"
107
+ },
108
+ silkPublicHoistPattern: [
109
+ "@changesets/cli",
110
+ "@commitlint/cli",
111
+ "@commitlint/config-conventional",
112
+ "@commitlint/cz-commitlint",
113
+ "@rslib/core",
114
+ "@savvy-web/cli",
115
+ "@savvy-web/mcp",
116
+ "@types/bun",
117
+ "@types/node",
118
+ "@types/react",
119
+ "@types/react-dom",
120
+ "@typescript/native-preview",
121
+ "@vitest/coverage-v8",
122
+ "commitizen",
123
+ "husky",
124
+ "lint-staged",
125
+ "markdownlint-cli2",
126
+ "markdownlint-cli2-formatter-codequality",
127
+ "tsx",
128
+ "turbo",
129
+ "typescript",
130
+ "vitest",
131
+ "vitest-agent-reporter"
132
+ ],
133
+ silkAllowBuilds: {
134
+ "@parcel/watcher": true,
135
+ "@savvy-web/github-action-builder": true,
136
+ "@savvy-web/vitest": true,
137
+ "better-sqlite3": true,
138
+ "core-js": true,
139
+ esbuild: true,
140
+ "msgpackr-extract": true
141
+ },
142
+ silkStrictDepBuilds: true,
143
+ silkBlockExoticSubdeps: true,
144
+ silkMinimumReleaseAge: 1440,
145
+ silkMinimumReleaseAgeExclude: ["@savvy-web/*", "@typescript/native-preview*"],
146
+ silkPackageExtensions: {},
147
+ silkAllowedDeprecatedVersions: {},
148
+ silkSupportedArchitectures: {},
149
+ silkAuditConfig: {}
150
+ };
151
+ /**
152
+ * Peer dependency rules generated from pnpm-workspace.yaml.
153
+ */
154
+ const silkPeerDependencyRules = {
155
+ allowedVersions: {
156
+ "@effect/vitest>vitest": "^4.1.0",
157
+ "@typescript-eslint/project-service>typescript": "^6.0.0",
158
+ "@typescript-eslint/tsconfig-utils>typescript": "^6.0.0",
159
+ "@typescript-eslint/typescript-estree>typescript": "^6.0.0",
160
+ "@typescript-eslint/util>typescript": "^6.0.0",
161
+ "@typescript-eslint/utils>typescript": "^6.0.0",
162
+ "eslint-plugin-tsdoc>typescript": "^6.0.0"
163
+ },
164
+ ignoreMissing: [],
165
+ allowAny: []
166
+ };
167
+
168
+ //#endregion
169
+ export { silkCatalogs, silkPeerDependencyRules };
package/index.d.ts ADDED
@@ -0,0 +1,158 @@
1
+ //#region src/catalogs/types.d.ts
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
+ /**
127
+ * Peer dependency rules synced from the Silk plugin workspace.
128
+ *
129
+ * @public
130
+ */
131
+ interface SilkPeerDependencyRules {
132
+ /**
133
+ * Version ranges that suppress unmet peer dependency warnings.
134
+ * Keys are "package\>peer" dependency paths.
135
+ */
136
+ readonly allowedVersions: Record<string, string>;
137
+ /**
138
+ * Package names whose missing peer dependency warnings are suppressed.
139
+ */
140
+ readonly ignoreMissing: readonly string[];
141
+ /**
142
+ * Package patterns that resolve to any version regardless of peer range.
143
+ */
144
+ readonly allowAny: readonly string[];
145
+ }
146
+ //#endregion
147
+ //#region src/catalogs/generated.d.ts
148
+ /**
149
+ * The complete Silk catalogs generated from pnpm-workspace.yaml.
150
+ */
151
+ declare const silkCatalogs: SilkCatalogs;
152
+ /**
153
+ * Peer dependency rules generated from pnpm-workspace.yaml.
154
+ */
155
+ declare const silkPeerDependencyRules: SilkPeerDependencyRules;
156
+ //#endregion
157
+ export { type AuditConfig, type Catalog, type PackageExtension, type SilkCatalogs, type SilkPeerDependencyRules, type SupportedArchitectures, silkCatalogs, silkPeerDependencyRules };
158
+ //# sourceMappingURL=index.d.ts.map
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import { silkCatalogs, silkPeerDependencyRules } from "./catalogs/generated.js";
2
+
3
+ export { silkCatalogs, silkPeerDependencyRules };
package/package.json CHANGED
@@ -1,35 +1,36 @@
1
1
  {
2
- "name": "@savvy-web/pnpm-plugin-silk",
3
- "version": "0.14.4",
4
- "description": "pnpm config dependency for centralized catalog management across the Silk ecosystem.",
5
- "keywords": [
6
- "pnpm",
7
- "pnpm-plugin",
8
- "config-dependency",
9
- "catalog",
10
- "monorepo",
11
- "silk"
12
- ],
13
- "homepage": "https://github.com/savvy-web/pnpm-plugin-silk#readme",
14
- "bugs": {
15
- "url": "https://github.com/savvy-web/pnpm-plugin-silk/issues"
16
- },
17
- "repository": {
18
- "type": "git",
19
- "url": "git+https://github.com/savvy-web/pnpm-plugin-silk.git"
20
- },
21
- "license": "MIT",
22
- "author": {
23
- "name": "C. Spencer Beggs",
24
- "email": "spencer@savvyweb.systems",
25
- "url": "https://savvyweb.systems"
26
- },
27
- "type": "module",
28
- "files": [
29
- "LICENSE",
30
- "README.md",
31
- "package.json",
32
- "pnpmfile.cjs",
33
- "pnpmfile.mjs"
34
- ]
2
+ "name": "@savvy-web/pnpm-plugin-silk",
3
+ "version": "0.14.6",
4
+ "private": false,
5
+ "description": "pnpm config dependency for centralized catalog management across the Silk ecosystem.",
6
+ "keywords": [
7
+ "pnpm",
8
+ "pnpm-plugin",
9
+ "config-dependency",
10
+ "catalog",
11
+ "monorepo",
12
+ "silk"
13
+ ],
14
+ "homepage": "https://github.com/savvy-web/pnpm-plugin-silk#readme",
15
+ "bugs": {
16
+ "url": "https://github.com/savvy-web/pnpm-plugin-silk/issues"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/savvy-web/pnpm-plugin-silk.git"
21
+ },
22
+ "license": "MIT",
23
+ "author": {
24
+ "name": "C. Spencer Beggs",
25
+ "email": "spencer@savvyweb.systems",
26
+ "url": "https://savvyweb.systems"
27
+ },
28
+ "type": "module",
29
+ "exports": {
30
+ ".": {
31
+ "types": "./index.d.ts",
32
+ "import": "./index.js"
33
+ },
34
+ "./package.json": "./package.json"
35
+ }
35
36
  }