From 80b025ae53760310e6776dd7897eff4bda5e4a26 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 7 Dec 2015 10:35:10 -0800 Subject: [PATCH] build(broccoli): convert dependencies to peerDependencies in all package.json templates This is more correct and resolves the issue of having dupes within the same project. This change has no impact on our shrinkwrap since peerDeps and deps are merged into one within the shrinkwrap file. BREAKING CHANGE: rxjs, reflect-metadata, zone.js and es6-shims now must be specified as explicit dependencies of each angular app that uses npm for package management. To migrate, please add the following into the "dependencies" section of your package.json: ``` "dependencies": { ... "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-alpha.11", "zone.js": "0.5.8" ... } ``` Closes #5560 Closes #5649 --- modules/angular2/package.json | 8 +++++--- modules/angular2/src/http/package.json | 9 ++++----- modules/angular2_material/package.json | 7 ++++++- modules/benchpress/package.json | 6 +++++- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/modules/angular2/package.json b/modules/angular2/package.json index 64ee9c46d7..e4f2d5afd5 100644 --- a/modules/angular2/package.json +++ b/modules/angular2/package.json @@ -7,10 +7,12 @@ "contributors": <%= JSON.stringify(packageJson.contributors) %>, "license": "<%= packageJson.license %>", "repository": <%= JSON.stringify(packageJson.repository) %>, - "dependencies": { + "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %>, + "peerDependencies": { + "es6-promise": "<%= packageJson.dependencies['es6-promise'] %>", + "es6-shim": "<%= packageJson.dependencies['es6-shim'] %>", "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>", "rxjs": "<%= packageJson.dependencies['rxjs'] %>", "zone.js": "<%= packageJson.dependencies['zone.js'] %>" - }, - "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %> + } } diff --git a/modules/angular2/src/http/package.json b/modules/angular2/src/http/package.json index d62248b6cd..07bc6c60f5 100644 --- a/modules/angular2/src/http/package.json +++ b/modules/angular2/src/http/package.json @@ -7,10 +7,9 @@ "contributors": <%= JSON.stringify(packageJson.contributors) %>, "license": "<%= packageJson.license %>", "repository": <%= JSON.stringify(packageJson.repository) %>, - "dependencies": { - "angular2": "<%= packageJson.version %>", - "rxjs": "<%= packageJson.dependencies['rxjs'] %>", - "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>" - }, "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %> + "peerDependencies": { + "angular2": "<%= packageJson.version %>", + "rxjs": "<%= packageJson.dependencies['rxjs'] %>" + } } diff --git a/modules/angular2_material/package.json b/modules/angular2_material/package.json index 1bcf8b367a..09aceaa676 100644 --- a/modules/angular2_material/package.json +++ b/modules/angular2_material/package.json @@ -8,9 +8,14 @@ "license": "<%= packageJson.license %>", "repository": <%= JSON.stringify(packageJson.repository) %>, "dependencies": { - "angular2": "<%= packageJson.version %>", + "es6-promise": "<%= packageJson.dependencies['es6-promise'] %>", + "es6-shim": "<%= packageJson.dependencies['es6-shim'] %>", + "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>", "rxjs": "<%= packageJson.dependencies['rxjs'] %>", "zone.js": "<%= packageJson.dependencies['zone.js'] %>" }, "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %> + "peerDependencies": { + "angular2": "<%= packageJson.version %>" + } } diff --git a/modules/benchpress/package.json b/modules/benchpress/package.json index 5869cac75a..743c32dae1 100644 --- a/modules/benchpress/package.json +++ b/modules/benchpress/package.json @@ -10,8 +10,12 @@ "repository": <%= JSON.stringify(packageJson.repository) %>, "dependencies": { "angular2": "<%= packageJson.version %>", + "es6-promise": "<%= packageJson.dependencies['es6-promise'] %>", + "es6-shim": "<%= packageJson.dependencies['es6-shim'] %>", + "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>", + "rxjs": "<%= packageJson.dependencies['rxjs'] %>", "selenium-webdriver": "<%= packageJson.dependencies['selenium-webdriver'] %>", - "reflect-metadata": "<%= packageJson.dependencies['reflect-metadata'] %>" + "zone.js": "<%= packageJson.dependencies['zone.js'] %>" }, "optionalDependencies": { "jpm": "<%= packageJson.devDependencies.jpm %>",