Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2fb3de9

Browse files
committed
Use peerDependencies instead of devDependencies for optional dependencies runtime version check
1 parent 0ff1b02 commit 2fb3de9

3 files changed

Lines changed: 8 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ can adopt modern async APIs from the ecosystem without hacks**.
125125
- Add support for [webpack-cli@7.0.0](https://github.com/webpack/webpack-cli/releases/tag/webpack-cli%407.0.0)
126126
- `Encore.copyFiles()` now internally generates ESM exports for better webpack optimizations (scope hoisting, module concatenation)
127127
- Add support for [typescript@6.0.0](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-6-0.html)
128+
- The runtime version check for optional dependencies now reads supported version ranges from `peerDependencies` instead of `devDependencies`
128129

129130
## 6.0.0
130131

lib/package-helper.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,22 +187,22 @@ function addPackagesVersionConstraint(packages) {
187187
const newData = Object.assign({}, packageData);
188188

189189
if (packageData.enforce_version) {
190-
if (!packageJsonData.devDependencies) {
190+
if (!packageJsonData.peerDependencies) {
191191
logger.warning(
192-
'Could not find devDependencies key on @symfony/webpack-encore package'
192+
'Could not find peerDependencies key on @symfony/webpack-encore package'
193193
);
194194

195195
return newData;
196196
}
197197

198-
// this method only supports devDependencies due to how it's used:
198+
// this method only supports peerDependencies due to how it's used:
199199
// it's mean to inform the user what deps they need to install
200200
// for optional features
201-
if (!packageJsonData.devDependencies[packageData.name]) {
202-
throw new Error(`Could not find package ${packageData.name}`);
201+
if (!packageJsonData.peerDependencies[packageData.name]) {
202+
throw new Error(`Could not find package ${packageData.name} in peerDependencies of @symfony/webpack-encore`);
203203
}
204204

205-
newData.version = packageJsonData.devDependencies[packageData.name];
205+
newData.version = packageJsonData.peerDependencies[packageData.name];
206206
delete newData['enforce_version'];
207207
}
208208

test/package-helper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ describe('package-helper', function () {
222222
);
223223

224224
const expectedPackages = [
225-
{ name: 'sass-loader', version: packageInfo.devDependencies['sass-loader'] },
225+
{ name: 'sass-loader', version: packageInfo.peerDependencies['sass-loader'] },
226226
{ name: 'node-sass' },
227227
{ name: 'vue', version: '^2' },
228228
];

0 commit comments

Comments
 (0)