From 3d715a2f7bea4070cfbd328adf9d8a06e965af84 Mon Sep 17 00:00:00 2001 From: Alex Eagle Date: Wed, 10 Feb 2016 21:25:12 -0800 Subject: [PATCH] fix(typings): publish es6 typings rather than postinstall. Despite local testing, multiple users failed to run the postinstall to install typings. Instead, we can distribute the typings we installed locally. This is an alternative to #7003. This also reverts rxjs to beta.1 since we have errors using beta.2, being addressed in #7001. Fixes #7000 --- modules/angular2/package.json | 6 ------ npm-shrinkwrap.clean.json | 10 +++++++++- npm-shrinkwrap.json | 28 ++++++++++++++++++++-------- package.json | 7 ++++--- tools/broccoli/trees/node_tree.ts | 22 +++++++++++++++++++++- 5 files changed, 54 insertions(+), 19 deletions(-) diff --git a/modules/angular2/package.json b/modules/angular2/package.json index 07ef50ee349057..e4f2d5afd59188 100644 --- a/modules/angular2/package.json +++ b/modules/angular2/package.json @@ -8,12 +8,6 @@ "license": "<%= packageJson.license %>", "repository": <%= JSON.stringify(packageJson.repository) %>, "devDependencies": <%= JSON.stringify(packageJson.defaultDevDependencies) %>, - "dependencies": { - "typings": "0.6.6" - }, - "scripts": { - "postinstall": "typings install --ambient --name es6-promise github:DefinitelyTyped/DefinitelyTyped/es6-promise/es6-promise.d.ts#830e8ebd9ef137d039d5c7ede24a421f08595f83; typings install --ambient --name es6-collections github:DefinitelyTyped/DefinitelyTyped/es6-collections/es6-collections.d.ts#9f97e2a2bc1f502550c9b4fcaad1c48df5521d37" - }, "peerDependencies": { "es6-promise": "<%= packageJson.dependencies['es6-promise'] %>", "es6-shim": "<%= packageJson.dependencies['es6-shim'] %>", diff --git a/npm-shrinkwrap.clean.json b/npm-shrinkwrap.clean.json index fccea7ba8babd1..498f7ed4e2d58c 100644 --- a/npm-shrinkwrap.clean.json +++ b/npm-shrinkwrap.clean.json @@ -1451,6 +1451,14 @@ } } }, + "broccoli-file-creator": { + "version": "1.1.0", + "dependencies": { + "rsvp": { + "version": "3.0.21" + } + } + }, "broccoli-filter": { "version": "0.1.14", "dependencies": { @@ -5828,5 +5836,5 @@ } }, "name": "angular-srcs", - "version": "2.0.0-beta.3" + "version": "2.0.0-beta.5" } diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index def5bc54f362b4..84991cdb6ba71d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "angular-srcs", - "version": "2.0.0-beta.3", + "version": "2.0.0-beta.5", "dependencies": { "abbrev": { "version": "1.0.7", @@ -2263,6 +2263,18 @@ } } }, + "broccoli-file-creator": { + "version": "1.1.0", + "from": "broccoli-file-creator@latest", + "resolved": "https://registry.npmjs.org/broccoli-file-creator/-/broccoli-file-creator-1.1.0.tgz", + "dependencies": { + "rsvp": { + "version": "3.0.21", + "from": "rsvp@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.0.21.tgz" + } + } + }, "broccoli-filter": { "version": "0.1.14", "from": "broccoli-filter@>=0.1.10 <0.2.0", @@ -7668,7 +7680,7 @@ }, "rxjs": { "version": "5.0.0-beta.0", - "from": "https://registry.npmjs.org/rxjs/-/rxjs-5.0.0-beta.0.tgz", + "from": "rxjs@5.0.0-beta.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.0.0-beta.0.tgz" }, "sass-graph": { @@ -8524,24 +8536,24 @@ "dependencies": { "source-map": { "version": "0.4.4", - "from": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "from": "source-map@>=0.4.2 <0.5.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" }, "source-map-support": { "version": "0.3.3", - "from": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", + "from": "source-map-support@>=0.3.1 <0.4.0", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", "dependencies": { "source-map": { "version": "0.1.32", - "from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "from": "source-map@0.1.32", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz" } } }, "typescript": { "version": "1.7.3", - "from": "https://registry.npmjs.org/typescript/-/typescript-1.7.3.tgz", + "from": "typescript@1.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.7.3.tgz" } } @@ -8699,7 +8711,7 @@ }, "typescript": { "version": "1.7.5", - "from": "typescript@>=1.7.3 <2.0.0", + "from": "typescript@>=1.7.0 <1.8.0", "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.7.5.tgz" }, "ua-parser-js": { @@ -9292,7 +9304,7 @@ }, "zone.js": { "version": "0.5.13", - "from": "https://registry.npmjs.org/zone.js/-/zone.js-0.5.13.tgz", + "from": "zone.js@0.5.13", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.5.13.tgz" } } diff --git a/package.json b/package.json index a180997bcab51f..8ec67cbe6bd849 100644 --- a/package.json +++ b/package.json @@ -35,8 +35,8 @@ "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", - "rxjs": "^5.0.0-beta.2", - "zone.js": "^0.5.14" + "rxjs": "5.0.0-beta.0", + "zone.js": "0.5.13" }, "devDependencies": { "angular": "^1.5.0", @@ -45,6 +45,7 @@ "base64-js": "^0.0.8", "bower": "^1.3.12", "broccoli": "^0.16.9", + "broccoli-file-creator": "^1.1.0", "broccoli-funnel": "^1.0.1", "broccoli-slow-trees": "1.x.x", "broccoli-stew": "^0.2.1", @@ -111,8 +112,8 @@ "systemjs": "0.18.10", "systemjs-builder": "^0.10.3", "through2": "^0.6.5", - "ts2dart": "^0.7.22", "ts-api-guardian": "0.0.2", + "ts2dart": "^0.7.22", "tsd": "^0.6.5-beta", "tslint": "^3.2.1", "typescript": "^1.7.3", diff --git a/tools/broccoli/trees/node_tree.ts b/tools/broccoli/trees/node_tree.ts index 52ba9ce55f8c37..cb60b1c548f809 100644 --- a/tools/broccoli/trees/node_tree.ts +++ b/tools/broccoli/trees/node_tree.ts @@ -9,6 +9,7 @@ var path = require('path'); import renderLodashTemplate from '../broccoli-lodash'; import replace from '../broccoli-replace'; var stew = require('broccoli-stew'); +var writeFile = require('broccoli-file-creator'); var projectRootDir = path.normalize(path.join(__dirname, '..', '..', '..', '..')); @@ -118,7 +119,26 @@ module.exports = function makeNodeTree(projects, destinationPath) { var srcPkgJsons = extractPkgJsons(srcTree, BASE_PACKAGE_JSON); var testPkgJsons = extractPkgJsons(testTree, BASE_PACKAGE_JSON); - var nodeTree = mergeTrees([compiledTree, srcDocs, testDocs, srcPkgJsons, testPkgJsons]); + // Copy es6 typings so quickstart doesn't require typings install + let typingsTree = mergeTrees([ + new Funnel('modules', + { + include: [ + 'angular2/typings/es6-collections/es6-collections.d.ts', + 'angular2/typings/es6-promise/es6-promise.d.ts', + ] + }), + writeFile('angular2/typings/browser.d.ts', + '// Typings needed for compilation with --target=es5\n' + + '///\n' + + '///\n' + + '// Workaround for https://github.com/ReactiveX/RxJS/issues/1270\n' + + '// to be removed when angular2 upgrades to rxjs beta.2\n' + + 'declare type PromiseConstructor = typeof Promise;\n') + ]); + + var nodeTree = + mergeTrees([compiledTree, srcDocs, testDocs, srcPkgJsons, testPkgJsons, typingsTree]); // Transform all tests to make them runnable in node nodeTree = replace(nodeTree, {