@savvy-web/pnpm-plugin-silk 0.2.0 → 0.4.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,19 +6,22 @@
6
6
  [![pnpm](https://img.shields.io/badge/pnpm-%3E%3D10-orange)](https://pnpm.io/)
7
7
 
8
8
  Centralized dependency version management for the Silk ecosystem via pnpm
9
- config dependencies. Share curated dependency catalogs, patches, and overrides
10
- across multiple repositories from a single source of truth.
9
+ config dependencies. Share curated dependency catalogs, security overrides,
10
+ and build configurations across multiple repositories from a single source
11
+ of truth.
11
12
 
12
13
  ## Features
13
14
 
14
15
  - **Dual catalog strategy** - Current versions for direct dependencies
15
16
  (`catalog:silk`), permissive ranges for peer dependencies (`catalog:silkPeers`)
16
- - **Non-destructive merging** - Plugin catalogs merge with local definitions;
17
- local entries always take precedence
18
- - **Override warnings** - Clear console output when local versions override
19
- Silk-managed defaults
20
- - **Zero runtime dependencies** - Self-contained CommonJS bundle that pnpm loads
21
- directly
17
+ - **Security overrides** - Centralized CVE fixes via `silkOverrides` that
18
+ propagate to all consuming repositories
19
+ - **Build configuration sync** - Shared `onlyBuiltDependencies` and
20
+ `publicHoistPattern` settings across repositories
21
+ - **Biome schema sync** - Automatically updates `$schema` URLs in
22
+ `biome.json`/`biome.jsonc` files to match the catalog version
23
+ - **Non-destructive merging** - Local definitions always take precedence with
24
+ clear warnings for divergences
22
25
 
23
26
  ## Installation
24
27
 
@@ -33,12 +36,9 @@ hash:
33
36
 
34
37
  ```yaml
35
38
  configDependencies:
36
- "@savvy-web/pnpm-plugin-silk": "0.1.0+sha512-abc123..."
39
+ "@savvy-web/pnpm-plugin-silk": "0.3.0+sha512-..."
37
40
  ```
38
41
 
39
- > **Note:** Config dependencies require exact versions with SHA-512 integrity
40
- > checksums. The `pnpm add --config` command generates this automatically.
41
-
42
42
  ## Quick Start
43
43
 
44
44
  Reference Silk catalogs in your `package.json`:
@@ -55,15 +55,22 @@ Reference Silk catalogs in your `package.json`:
55
55
  }
56
56
  ```
57
57
 
58
- The `silk` catalog provides current/latest versions for your direct
59
- dependencies, while `silkPeers` provides permissive ranges that allow consumers
60
- to use older compatible versions.
58
+ The `silk` catalog provides current/latest versions for direct dependencies,
59
+ while `silkPeers` provides permissive ranges for peer dependencies. Security
60
+ overrides, build script allowlists, and hoist patterns are automatically
61
+ merged during `pnpm install`.
62
+
63
+ ## Documentation
64
+
65
+ For configuration details, architecture overview, and advanced usage, see
66
+ [docs/](./docs/).
61
67
 
62
68
  ## More Information
63
69
 
70
+ - [Changelog](./CHANGELOG.md) - Release history
64
71
  - [Contributing](./CONTRIBUTING.md) - Development setup and guidelines
65
72
  - [Security Policy](./SECURITY.md) - Vulnerability reporting
66
- - [Design Documentation](./.claude/design/pnpm-plugin-silk/catalog-management.md) - Architecture and implementation details
73
+ - [Code of Conduct](./CODE_OF_CONDUCT.md) - Community guidelines
67
74
 
68
75
  ## License
69
76
 
package/index.cjs CHANGED
@@ -27,13 +27,14 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  });
28
28
  const silkCatalogs = {
29
29
  silk: {
30
+ "@biomejs/biome": "2.3.14",
30
31
  "@changesets/cli": "^2.29.8",
31
32
  "@commitlint/cli": "^20.4.1",
32
33
  "@commitlint/config-conventional": "^20.4.1",
33
- "@microsoft/api-extractor": "^7.56.0",
34
- "@rslib/core": "^0.19.4",
35
- "@types/node": "^25.2.0",
36
- "@typescript/native-preview": "^7.0.0-dev.20260203.1",
34
+ "@microsoft/api-extractor": "^7.56.2",
35
+ "@rslib/core": "^0.19.5",
36
+ "@types/node": "^25.2.1",
37
+ "@typescript/native-preview": "^7.0.0-dev.20260206.1",
37
38
  "@vitest/coverage-v8": "^4.0.18",
38
39
  commitizen: "^4.3.1",
39
40
  husky: "^9.1.7",
@@ -46,10 +47,10 @@ const silkCatalogs = {
46
47
  vitest: "^4.0.18"
47
48
  },
48
49
  silkPeers: {
49
- "@biomejs/biome": "^2.3.12",
50
+ "@biomejs/biome": "2.3.14",
50
51
  "@commitlint/cli": "^20.4.1",
51
52
  "@commitlint/config-conventional": "^20.4.1",
52
- "@microsoft/api-extractor": "^7.55.2",
53
+ "@microsoft/api-extractor": "^7.56.2",
53
54
  "@types/node": "^25.0.10",
54
55
  "@typescript/native-preview": "^7.0.0-dev.20260124.1",
55
56
  commitizen: "^4.3.1",
@@ -60,7 +61,29 @@ const silkCatalogs = {
60
61
  "@isaacs/brace-expansion": ">=5.0.1",
61
62
  lodash: ">=4.17.23",
62
63
  tmp: ">=0.2.4"
63
- }
64
+ },
65
+ silkOnlyBuiltDependencies: [
66
+ "@parcel/watcher",
67
+ "@savvy-web/commitlint",
68
+ "@savvy-web/lint-staged",
69
+ "core-js",
70
+ "esbuild",
71
+ "msgpackr-extract"
72
+ ],
73
+ silkPublicHoistPattern: [
74
+ "@commitlint/cli",
75
+ "@commitlint/config-conventional",
76
+ "@commitlint/cz-commitlint",
77
+ "@microsoft/api-extractor",
78
+ "@rslib/core",
79
+ "@typescript/native-preview",
80
+ "husky",
81
+ "lint-staged",
82
+ "markdownlint-cli2",
83
+ "markdownlint-cli2-formatter-codequality",
84
+ "turbo",
85
+ "typescript"
86
+ ]
64
87
  };
65
88
  exports.silkCatalogs = __webpack_exports__.silkCatalogs;
66
89
  for(var __rspack_i in __webpack_exports__)if (-1 === [
package/index.d.ts CHANGED
@@ -77,6 +77,16 @@ export declare interface SilkCatalogs {
77
77
  * Synced to pnpm `overrides` configuration.
78
78
  */
79
79
  readonly silkOverrides: Catalog;
80
+ /**
81
+ * Packages allowed to run build scripts during install.
82
+ * Synced to pnpm `onlyBuiltDependencies` configuration.
83
+ */
84
+ readonly silkOnlyBuiltDependencies: readonly string[];
85
+ /**
86
+ * Packages to hoist to the virtual store root.
87
+ * Synced to pnpm `publicHoistPattern` configuration.
88
+ */
89
+ readonly silkPublicHoistPattern: readonly string[];
80
90
  }
81
91
 
82
92
  /**
@@ -85,6 +95,8 @@ export declare interface SilkCatalogs {
85
95
  * - `silk`: Current/latest versions for direct dependencies
86
96
  * - `silkPeers`: Permissive ranges for peerDependencies
87
97
  * - `silkOverrides`: Security overrides for known CVEs
98
+ * - `silkOnlyBuiltDependencies`: Packages allowed to run build scripts
99
+ * - `silkPublicHoistPattern`: Packages to hoist to virtual store root
88
100
  */
89
101
  export declare const silkCatalogs: SilkCatalogs;
90
102
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvy-web/pnpm-plugin-silk",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "private": false,
5
5
  "description": "pnpm config dependency for centralized catalog management across the Silk ecosystem.",
6
6
  "keywords": [
@@ -32,14 +32,21 @@
32
32
  "import": "./index.js"
33
33
  }
34
34
  },
35
- "optionalDependencies": {
36
- "@commitlint/cli": "^20.4.1",
37
- "@commitlint/config-conventional": "^20.4.1",
38
- "commitizen": "^4.3.1",
39
- "husky": "^9.1.7",
40
- "lint-staged": "^16.2.7",
41
- "markdownlint-cli2": "^0.20.0",
42
- "markdownlint-cli2-formatter-codequality": "^0.0.7"
35
+ "peerDependencies": {
36
+ "@types/node": "^25.2.1",
37
+ "@typescript/native-preview": "^7.0.0-dev.20260206.1",
38
+ "typescript": "^5.9.3"
39
+ },
40
+ "peerDependenciesMeta": {
41
+ "@types/node": {
42
+ "optional": false
43
+ },
44
+ "@typescript/native-preview": {
45
+ "optional": false
46
+ },
47
+ "typescript": {
48
+ "optional": false
49
+ }
43
50
  },
44
51
  "files": [
45
52
  "!pnpm-plugin-silk.api.json",