diff --git a/docs/typescript-definition-package/index.js b/docs/typescript-definition-package/index.js
index 532cfe5d3d..23878168d9 100644
--- a/docs/typescript-definition-package/index.js
+++ b/docs/typescript-definition-package/index.js
@@ -42,20 +42,23 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
'angular2/router.ts'
];
readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules'));
-
+
createTypeDefinitionFile.typeDefinitions = [
{
id: 'angular2/angular2',
+ references: ['../es6-promise/es6-promise.d.ts', '../rx/rx.d.ts'],
modules: {
'angular2/angular2': 'angular2/angular2',
}
},
{
id: 'angular2/router',
+ //Right now the typings live in the same directory, but eventually will not. See #3458
+ references: ['../angular2/angular2.d.ts'],
modules: {
'angular2/router': 'angular2/router'
}
- }
+ }
];
})
diff --git a/docs/typescript-definition-package/processors/createTypeDefinitionFile.js b/docs/typescript-definition-package/processors/createTypeDefinitionFile.js
index f3bc002caa..800b9d71a0 100644
--- a/docs/typescript-definition-package/processors/createTypeDefinitionFile.js
+++ b/docs/typescript-definition-package/processors/createTypeDefinitionFile.js
@@ -33,7 +33,7 @@ module.exports = function createTypeDefinitionFile(log) {
// A type definition may include a number of top level modules
// And those modules could be aliased (such as 'angular2/angular2.api' -> 'angular2/angular2')
moduleDocs: _.transform(def.modules, function(moduleDocs, id, alias) {
- moduleDocs[id] = { id: alias, doc: null };
+ moduleDocs[id] = { id: alias, doc: null, references: def.references };
})
};
});
@@ -63,7 +63,7 @@ module.exports = function createTypeDefinitionFile(log) {
// Convert this class to an interface with no constructor
exportDoc.docType = 'interface';
exportDoc.constructorDoc = null;
-
+
if (exportDoc.heritage) {
// convert the heritage since interfaces use `extends` not `implements`
exportDoc.heritage = exportDoc.heritage.replace('implements', 'extends');
diff --git a/docs/typescript-definition-package/templates/angular2/angular2.d.ts.template.html b/docs/typescript-definition-package/templates/angular2/angular2.d.ts.template.html
index a19f0c41e0..ce9778bfdf 100644
--- a/docs/typescript-definition-package/templates/angular2/angular2.d.ts.template.html
+++ b/docs/typescript-definition-package/templates/angular2/angular2.d.ts.template.html
@@ -1,10 +1,5 @@
{% extends '../type-definition.template.html' %}
{% block staticDeclarations %}
-// Angular depends transitively on these libraries.
-// If you don't have them installed you can run
-// $ tsd query es6-promise rx rx-lite --action install --save
-///
-///
interface List extends Array {}
interface Map {}
diff --git a/docs/typescript-definition-package/templates/type-definition.template.html b/docs/typescript-definition-package/templates/type-definition.template.html
index ab8b161c6b..1c8282fb12 100644
--- a/docs/typescript-definition-package/templates/type-definition.template.html
+++ b/docs/typescript-definition-package/templates/type-definition.template.html
@@ -28,6 +28,14 @@
// Please do not create manual edits or send pull requests
// modifying this file.
// ***********************************************************
+{% for alias, module in doc.moduleDocs %}
+{%- if module.references.length %}
+// Angular depends transitively on these libraries.
+// If you don't have them installed you can install them using TSD
+// https://github.com/DefinitelyTyped/tsd
+{%- endif %}
+{% for reference in module.references %}
+///{% endfor %}{% endfor %}
{% block staticDeclarations %}{% endblock %}
{% for alias, module in doc.moduleDocs %}
{$ commentBlock(module.doc, 1) $}