From 326e1f73951e685ae0422749b3d2149afa88d64a Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Wed, 9 Dec 2015 12:18:33 +0000 Subject: [PATCH] chore(doc-gen): upgrade to use TypeScript 1.7.3 --- package.json | 2 +- .../templates/let.template.html | 1 + tools/api-builder/typescript-package/index.js | 1 + .../readTypeScriptModules/publicModule.ts | 4 +++- .../processors/readTypeScriptModules.js | 2 +- .../processors/readTypeScriptModules.spec.js | 10 ++++++++++ .../services/tsParser/createCompilerHost.js | 18 ++++++++++++++++++ .../tsParser/createCompilerHost.spec.js | 2 +- 8 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 tools/api-builder/angular.io-package/templates/let.template.html diff --git a/package.json b/package.json index df34adff30..d43b938d64 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "path": "^0.11.14", "prompt": "^0.2.14", "q": "^1.4.1", - "typescript": "~1.5.3", + "typescript": "1.7.3", "yargs": "^3.23.0" }, "dependencies": { diff --git a/tools/api-builder/angular.io-package/templates/let.template.html b/tools/api-builder/angular.io-package/templates/let.template.html new file mode 100644 index 0000000000..a208c7ca4f --- /dev/null +++ b/tools/api-builder/angular.io-package/templates/let.template.html @@ -0,0 +1 @@ +{% extends 'var.template.html' -%} \ No newline at end of file diff --git a/tools/api-builder/typescript-package/index.js b/tools/api-builder/typescript-package/index.js index 981ad06d64..4c7046bc5c 100644 --- a/tools/api-builder/typescript-package/index.js +++ b/tools/api-builder/typescript-package/index.js @@ -22,6 +22,7 @@ module.exports = new Package('typescript-parsing', [basePackage]) 'function', 'var', 'const', + 'let', 'enum', 'type-alias' ]; diff --git a/tools/api-builder/typescript-package/mocks/readTypeScriptModules/publicModule.ts b/tools/api-builder/typescript-package/mocks/readTypeScriptModules/publicModule.ts index c176de47fe..0fbae4ad2f 100644 --- a/tools/api-builder/typescript-package/mocks/readTypeScriptModules/publicModule.ts +++ b/tools/api-builder/typescript-package/mocks/readTypeScriptModules/publicModule.ts @@ -1 +1,3 @@ -export { x as y} from './privateModule'; \ No newline at end of file +export { x as y} from './privateModule'; + +export abstract class AbstractClass {} \ No newline at end of file diff --git a/tools/api-builder/typescript-package/processors/readTypeScriptModules.js b/tools/api-builder/typescript-package/processors/readTypeScriptModules.js index 7038825b3a..55b77ddd6d 100644 --- a/tools/api-builder/typescript-package/processors/readTypeScriptModules.js +++ b/tools/api-builder/typescript-package/processors/readTypeScriptModules.js @@ -214,7 +214,7 @@ module.exports = function readTypeScriptModules(tsParser, modules, getFileInfo, location: getLocation(exportSymbol) }; - if (exportDoc.docType === 'var' || exportDoc.docType === 'const') { + if (exportDoc.docType === 'var' || exportDoc.docType === 'const' || exportDoc.docType === 'let') { exportDoc.symbolTypeName = exportSymbol.valueDeclaration.type && exportSymbol.valueDeclaration.type.typeName && exportSymbol.valueDeclaration.type.typeName.text; diff --git a/tools/api-builder/typescript-package/processors/readTypeScriptModules.spec.js b/tools/api-builder/typescript-package/processors/readTypeScriptModules.spec.js index 76b3605f1c..1224acc58d 100644 --- a/tools/api-builder/typescript-package/processors/readTypeScriptModules.spec.js +++ b/tools/api-builder/typescript-package/processors/readTypeScriptModules.spec.js @@ -22,6 +22,16 @@ describe('readTypeScriptModules', function() { var exportedDoc = docs[1]; expect(exportedDoc.originalModule).toEqual('privateModule'); }); + + it('should include exported abstract classes', function() { + processor.sourceFiles = [ 'publicModule.ts' ]; + var docs = []; + processor.$process(docs); + + var exportedDoc = docs[2]; + expect(exportedDoc.name).toEqual('AbstractClass'); + }); + }); diff --git a/tools/api-builder/typescript-package/services/tsParser/createCompilerHost.js b/tools/api-builder/typescript-package/services/tsParser/createCompilerHost.js index 5f7d672baf..812d608b81 100644 --- a/tools/api-builder/typescript-package/services/tsParser/createCompilerHost.js +++ b/tools/api-builder/typescript-package/services/tsParser/createCompilerHost.js @@ -56,6 +56,24 @@ module.exports = function createCompilerHost(log) { }, getNewLine: function() { return ts.sys.newLine; + }, + fileExists(fileName) { + var text, resolvedPath, resolvedPathWithExt; + + // Strip off the extension and resolve relative to the baseDir + baseFilePath = fileName.replace(/\.[^.]+$/, ''); + resolvedPath = path.resolve(baseDir, baseFilePath); + + // Iterate through each possible extension and return the first source file that is actually found + for(var i=0; i