if this is not done, DefinitelyTyped tests fail because of missing definitions for List, Map and other apis that are part of router's public api
112 lines
3.2 KiB
JavaScript
112 lines
3.2 KiB
JavaScript
var Package = require('dgeni').Package;
|
|
var jsdocPackage = require('dgeni-packages/jsdoc');
|
|
var nunjucksPackage = require('dgeni-packages/nunjucks');
|
|
var typescriptPackage = require('../typescript-package');
|
|
var gitPackage = require('dgeni-packages/git');
|
|
var path = require('canonical-path');
|
|
|
|
// Define the dgeni package for generating the docs
|
|
module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, gitPackage])
|
|
|
|
// Register the processors
|
|
.processor(require('./processors/createTypeDefinitionFile'))
|
|
|
|
.config(function(readFilesProcessor, inlineTagProcessor) {
|
|
readFilesProcessor.basePath = path.resolve(__dirname, '../..');
|
|
// Don't run unwanted processors
|
|
readFilesProcessor.$enabled = false;
|
|
inlineTagProcessor.$enabled = false;
|
|
})
|
|
|
|
|
|
// Configure the log service
|
|
.config(function(log) {
|
|
log.level = 'info';
|
|
})
|
|
|
|
|
|
.config(function(renderDocsProcessor, versionInfo) {
|
|
renderDocsProcessor.extraData.versionInfo = versionInfo;
|
|
})
|
|
|
|
.config(function(readFilesProcessor, inlineTagProcessor, readTypeScriptModules, createTypeDefinitionFile) {
|
|
|
|
// Don't run unwanted processors
|
|
readFilesProcessor.$enabled = false; // We are not using the normal file reading processor
|
|
inlineTagProcessor.$enabled = false; // We are not actually processing the inline link tags
|
|
|
|
// Configure file reading
|
|
readFilesProcessor.basePath = path.resolve(__dirname, '../..');
|
|
readTypeScriptModules.sourceFiles = [
|
|
'angular2/angular2.ts',
|
|
'angular2/router.ts',
|
|
'http/http.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'],
|
|
namespace: 'ng',
|
|
modules: {
|
|
'angular2/angular2': 'angular2/angular2',
|
|
}
|
|
},
|
|
{
|
|
id: 'angular2/router',
|
|
namespace: 'ngRouter',
|
|
references: ['./angular2.d.ts'],
|
|
modules: {
|
|
'angular2/router': 'angular2/router'
|
|
}
|
|
},
|
|
{
|
|
id: 'http/http',
|
|
namespace: 'ngHttp',
|
|
modules: {
|
|
'http/http':'http/http'
|
|
}
|
|
}
|
|
];
|
|
})
|
|
|
|
|
|
.config(function(parseTagsProcessor, getInjectables) {
|
|
// We actually don't want to parse param docs in this package as we are getting the data out using TS
|
|
parseTagsProcessor.tagDefinitions.forEach(function(tagDef) {
|
|
if (tagDef.name === 'param') {
|
|
tagDef.docProperty = 'paramData';
|
|
tagDef.transforms = [];
|
|
}
|
|
});
|
|
|
|
})
|
|
|
|
|
|
// Configure file writing
|
|
.config(function(writeFilesProcessor) {
|
|
writeFilesProcessor.outputFolder = 'dist/docs';
|
|
})
|
|
|
|
|
|
// Configure rendering
|
|
.config(function(templateFinder, templateEngine) {
|
|
|
|
// Nunjucks and Angular conflict in their template bindings so change Nunjucks
|
|
templateEngine.config.tags = {
|
|
variableStart: '{$',
|
|
variableEnd: '$}'
|
|
};
|
|
|
|
templateFinder.templateFolders
|
|
.unshift(path.resolve(__dirname, 'templates'));
|
|
|
|
templateFinder.templatePatterns = [
|
|
'${ doc.template }',
|
|
'${ doc.id }.${ doc.docType }.template.html',
|
|
'${ doc.id }.template.html',
|
|
'${ doc.docType }.template.html',
|
|
'common.template.html'
|
|
];
|
|
}); |