93 lines
3.9 KiB
JavaScript
93 lines
3.9 KiB
JavaScript
|
/**
|
||
|
* @license
|
||
|
* Copyright Google Inc. All Rights Reserved.
|
||
|
*
|
||
|
* Use of this source code is governed by an MIT-style license that can be
|
||
|
* found in the LICENSE file at https://angular.io/license
|
||
|
*/
|
||
|
const Package = require('dgeni').Package;
|
||
|
const { basePackage, API_SOURCE_PATH } = require('./base-package');
|
||
|
const packageMap = {
|
||
|
common: ['common/index.ts', 'common/testing/index.ts'],
|
||
|
core: ['core/index.ts', 'core/testing/index.ts'],
|
||
|
forms: ['forms/index.ts'],
|
||
|
http: ['http/index.ts', 'http/testing/index.ts'],
|
||
|
'platform-browser': ['platform-browser/index.ts', 'platform-browser/testing/index.ts'],
|
||
|
'platform-browser-dynamic': ['platform-browser-dynamic/index.ts', 'platform-browser-dynamic/testing/index.ts'],
|
||
|
'platform-server': ['platform-server/index.ts', 'platform-server/testing/index.ts'],
|
||
|
'platform-webworker': ['platform-webworker/index.ts'],
|
||
|
'platform-webworker-dynamic': 'platform-webworker-dynamic/index.ts',
|
||
|
router: ['router/index.ts', 'router/testing/index.ts'],
|
||
|
upgrade: ['upgrade/index.ts', 'upgrade/static.ts']
|
||
|
};
|
||
|
function createPackage(packageName) {
|
||
|
|
||
|
return new Package('author-api', [require('dgeni-packages/typescript'), basePackage])
|
||
|
.processor(require('../angular.io-package/processors/convertPrivateClassesToInterfaces'))
|
||
|
.processor(require('../angular.io-package/processors/mergeDecoratorDocs'))
|
||
|
.processor(require('../angular.io-package/processors/extractDecoratedClasses'))
|
||
|
.processor(require('../angular.io-package/processors/matchUpDirectiveDecorators'))
|
||
|
.processor(require('../angular.io-package/processors/filterMemberDocs'))
|
||
|
.processor(require('../angular.io-package/processors/markBarredODocsAsPrivate'))
|
||
|
.processor(require('../angular.io-package/processors/filterPrivateDocs'))
|
||
|
.processor(require('../angular.io-package/processors/filterIgnoredDocs'))
|
||
|
.config(function(readTypeScriptModules) {
|
||
|
// API files are typescript
|
||
|
readTypeScriptModules.basePath = API_SOURCE_PATH;
|
||
|
readTypeScriptModules.ignoreExportsMatching = [/^_/];
|
||
|
readTypeScriptModules.hidePrivateMembers = true;
|
||
|
readTypeScriptModules.sourceFiles = packageMap[packageName];
|
||
|
})
|
||
|
.config(function(readFilesProcessor) {
|
||
|
readFilesProcessor.sourceFiles = [
|
||
|
{
|
||
|
basePath: API_SOURCE_PATH,
|
||
|
include: `${API_SOURCE_PATH}/examples/${packageName}/**/*`,
|
||
|
fileReader: 'exampleFileReader'
|
||
|
}
|
||
|
];
|
||
|
})
|
||
|
.config(function(
|
||
|
computeIdsProcessor, computePathsProcessor, EXPORT_DOC_TYPES) {
|
||
|
|
||
|
const API_SEGMENT = 'api';
|
||
|
|
||
|
// Replace any path templates inherited from other packages
|
||
|
// (we want full and transparent control)
|
||
|
computePathsProcessor.pathTemplates = [
|
||
|
{
|
||
|
docTypes: ['module'],
|
||
|
getPath: function computeModulePath(doc) {
|
||
|
doc.moduleFolder = `${API_SEGMENT}/${doc.id.replace(/\/index$/, '')}`;
|
||
|
return doc.moduleFolder;
|
||
|
},
|
||
|
outputPathTemplate: '${moduleFolder}.json'
|
||
|
},
|
||
|
{
|
||
|
docTypes: EXPORT_DOC_TYPES.concat(['decorator', 'directive', 'pipe']),
|
||
|
pathTemplate: '${moduleDoc.moduleFolder}/${name}',
|
||
|
outputPathTemplate: '${moduleDoc.moduleFolder}/${name}.json',
|
||
|
},
|
||
|
{docTypes: ['example-region'], getOutputPath: function() {}},
|
||
|
{
|
||
|
docTypes: ['content'],
|
||
|
getPath: (doc) => `${doc.id.replace(/\/index$/, '')}`,
|
||
|
outputPathTemplate: '${path}.json'
|
||
|
},
|
||
|
{docTypes: ['navigation-json'], pathTemplate: '${id}', outputPathTemplate: '../${id}.json'},
|
||
|
{docTypes: ['contributors-json'], pathTemplate: '${id}', outputPathTemplate: '../${id}.json'}
|
||
|
];
|
||
|
})
|
||
|
|
||
|
.config(function(convertToJsonProcessor, EXPORT_DOC_TYPES) {
|
||
|
convertToJsonProcessor.docTypes = EXPORT_DOC_TYPES.concat([
|
||
|
'content', 'decorator', 'directive', 'pipe', 'module'
|
||
|
]);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
|
||
|
module.exports = {
|
||
|
createPackage
|
||
|
};
|