diff --git a/.changeset/dependency-hygiene.md b/.changeset/dependency-hygiene.md new file mode 100644 index 0000000..d454adc --- /dev/null +++ b/.changeset/dependency-hygiene.md @@ -0,0 +1,17 @@ +--- +"@dotenv-run/vite": patch +"@dotenv-run/rollup": patch +"@dotenv-run/esbuild": patch +--- + +Dependency hygiene across the bundler integrations: + +- `@dotenv-run/vite`: `vite` is now a `peerDependency` (+ `devDependency`) instead + of a hard runtime `dependency`. A bundler plugin should never bundle its own + copy of the bundler — the previous setup risked duplicate Vite instances and + version conflicts with the host project. The plugin only imports the `Plugin` + type from Vite, which the consumer always provides. +- `@dotenv-run/rollup`: widen the `rollup` peer range to `^3.0.0 || ^4.0.0` so + Rollup 4 consumers are supported. +- `@dotenv-run/esbuild`: align the `@dotenv-run/core` range to `^1.3.7` for + consistency with every other package (was `~1.3.7`). diff --git a/packages/esbuild/package.json b/packages/esbuild/package.json index c81977c..59fd2b2 100644 --- a/packages/esbuild/package.json +++ b/packages/esbuild/package.json @@ -26,7 +26,7 @@ "author": "Chihab Otmani ", "license": "ISC", "dependencies": { - "@dotenv-run/core": "workspace:~1.3.7" + "@dotenv-run/core": "workspace:^1.3.7" }, "peerDependencies": { "esbuild": ">=0.21.0" diff --git a/packages/rollup/package.json b/packages/rollup/package.json index f06716b..7c1f91d 100644 --- a/packages/rollup/package.json +++ b/packages/rollup/package.json @@ -26,7 +26,7 @@ "@rollup/plugin-replace": "^5.0.7" }, "peerDependencies": { - "rollup": "^3.0.0" + "rollup": "^3.0.0 || ^4.0.0" }, "devDependencies": { "@types/node": "^22.12.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 870da87..35f25e4 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -26,11 +26,14 @@ "dependencies": { "@dotenv-run/core": "workspace:^1.3.7", "@rollup/plugin-replace": "^5.0.7", - "lodash-es": "^4.17.21", - "vite": "^6.2.0" + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" }, "devDependencies": { "@types/lodash-es": "^4.17.12", - "@types/node": "^22.12.0" + "@types/node": "^22.12.0", + "vite": "^6.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45540c2..aa4dd30 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -316,7 +316,7 @@ importers: packages/esbuild: dependencies: '@dotenv-run/core': - specifier: workspace:~1.3.7 + specifier: workspace:^1.3.7 version: link:../core devDependencies: '@types/node': @@ -384,9 +384,6 @@ importers: lodash-es: specifier: ^4.17.21 version: 4.17.21 - vite: - specifier: ^6.2.0 - version: 6.4.1(@types/node@22.19.1)(jiti@2.6.1)(less@4.6.7)(lightningcss@1.33.0)(sass@1.101.0)(terser@5.49.0)(yaml@2.8.2) devDependencies: '@types/lodash-es': specifier: ^4.17.12 @@ -394,6 +391,9 @@ importers: '@types/node': specifier: ^22.12.0 version: 22.19.1 + vite: + specifier: ^6.2.0 + version: 6.4.1(@types/node@22.19.1)(jiti@2.6.1)(less@4.6.7)(lightningcss@1.33.0)(sass@1.101.0)(terser@5.49.0)(yaml@2.8.2) packages/webpack: dependencies: @@ -8143,11 +8143,6 @@ packages: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - nanoid@3.3.18: resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -8699,10 +8694,6 @@ packages: resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} - powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -13196,8 +13187,8 @@ snapshots: '@ctrl/tinycolor': 3.6.1 hast-util-to-html: 8.0.4 hastscript: 7.2.0 - postcss: 8.5.6 - postcss-nested: 6.2.0(postcss@8.5.6) + postcss: 8.5.26 + postcss-nested: 6.2.0(postcss@8.5.26) '@expressive-code/plugin-frames@0.31.0': dependencies: @@ -14555,7 +14546,7 @@ snapshots: dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 - picomatch: 4.0.3 + picomatch: 4.0.5 optionalDependencies: rollup: 3.29.5 @@ -14563,7 +14554,7 @@ snapshots: dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 - picomatch: 4.0.3 + picomatch: 4.0.5 optionalDependencies: rollup: 4.53.3 @@ -15986,9 +15977,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.0.0 picocolors: 1.1.1 - postcss: 8.5.6 + postcss: 8.5.26 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.6) + postcss-safe-parser: 7.0.1(postcss@8.5.26) better-path-resolve@1.0.0: dependencies: @@ -16551,12 +16542,12 @@ snapshots: css-loader@7.1.4(@rspack/core@1.6.6)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)): dependencies: - icss-utils: 5.1.0(postcss@8.5.25) - postcss: 8.5.25 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.25) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.25) - postcss-modules-scope: 3.2.1(postcss@8.5.25) - postcss-modules-values: 4.0.0(postcss@8.5.25) + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.26) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.26) + postcss-modules-scope: 3.2.1(postcss@8.5.26) + postcss-modules-values: 4.0.0(postcss@8.5.26) postcss-value-parser: 4.2.0 semver: 7.8.5 optionalDependencies: @@ -17382,10 +17373,6 @@ snapshots: dependencies: bser: 2.1.1 - fdir@6.5.0(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - fdir@6.5.0(picomatch@4.0.5): optionalDependencies: picomatch: 4.0.5 @@ -18113,9 +18100,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.25): + icss-utils@5.1.0(postcss@8.5.26): dependencies: - postcss: 8.5.25 + postcss: 8.5.26 ieee754@1.2.1: {} @@ -18726,7 +18713,7 @@ snapshots: chalk: 4.1.2 ci-info: 4.3.1 graceful-fs: 4.2.11 - picomatch: 4.0.3 + picomatch: 4.0.5 jest-validate@30.2.0: dependencies: @@ -19930,8 +19917,6 @@ snapshots: mute-stream@3.0.0: {} - nanoid@3.3.11: {} - nanoid@3.3.18: {} nanomatch@1.2.13: @@ -20495,35 +20480,35 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.25): + postcss-modules-extract-imports@3.1.0(postcss@8.5.26): dependencies: - postcss: 8.5.25 + postcss: 8.5.26 - postcss-modules-local-by-default@4.2.0(postcss@8.5.25): + postcss-modules-local-by-default@4.2.0(postcss@8.5.26): dependencies: - icss-utils: 5.1.0(postcss@8.5.25) - postcss: 8.5.25 + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.25): + postcss-modules-scope@3.2.1(postcss@8.5.26): dependencies: - postcss: 8.5.25 + postcss: 8.5.26 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.25): + postcss-modules-values@4.0.0(postcss@8.5.26): dependencies: - icss-utils: 5.1.0(postcss@8.5.25) - postcss: 8.5.25 + icss-utils: 5.1.0(postcss@8.5.26) + postcss: 8.5.26 - postcss-nested@6.2.0(postcss@8.5.6): + postcss-nested@6.2.0(postcss@8.5.26): dependencies: - postcss: 8.5.6 + postcss: 8.5.26 postcss-selector-parser: 6.1.2 - postcss-safe-parser@7.0.1(postcss@8.5.6): + postcss-safe-parser@7.0.1(postcss@8.5.26): dependencies: - postcss: 8.5.6 + postcss: 8.5.26 postcss-selector-parser@6.1.2: dependencies: @@ -20549,12 +20534,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.6: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - powershell-utils@0.1.0: {} preferred-pm@4.1.1: @@ -20941,7 +20920,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.25 + postcss: 8.5.26 source-map: 0.6.1 resolve-url@0.2.1: {} @@ -21810,8 +21789,8 @@ snapshots: tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 tinyglobby@0.2.17: dependencies: @@ -22368,7 +22347,7 @@ snapshots: vite@5.4.21(@types/node@22.19.1)(less@4.6.7)(lightningcss@1.33.0)(sass@1.101.0)(terser@5.49.0): dependencies: esbuild: 0.21.5 - postcss: 8.5.6 + postcss: 8.5.26 rollup: 4.53.3 optionalDependencies: '@types/node': 22.19.1 @@ -22381,11 +22360,11 @@ snapshots: vite@6.4.1(@types/node@22.19.1)(jiti@2.6.1)(less@4.6.7)(lightningcss@1.33.0)(sass@1.101.0)(terser@5.49.0)(yaml@2.8.2): dependencies: esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 + postcss: 8.5.26 rollup: 4.53.3 - tinyglobby: 0.2.15 + tinyglobby: 0.2.17 optionalDependencies: '@types/node': 22.19.1 fsevents: 2.3.3