@angular/compiler-cli 5.1.3 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/diagnostics/translate_diagnostics.d.ts +1 -1
- package/src/diagnostics/translate_diagnostics.js.map +1 -1
- package/src/main.d.ts +1 -1
- package/src/main.js +1 -1
- package/src/main.js.map +1 -1
- package/src/metadata/bundle_index_host.d.ts +1 -1
- package/src/metadata/bundle_index_host.js.map +1 -1
- package/src/metadata/bundler.js +1 -1
- package/src/metadata/bundler.js.map +1 -1
- package/src/metadata/schema.d.ts +14 -16
- package/src/metadata/schema.js.map +1 -1
- package/src/ngtools_api2.d.ts +7 -7
- package/src/ngtools_api2.js.map +1 -1
- package/src/perform_compile.d.ts +1 -1
- package/src/perform_compile.js.map +1 -1
- package/src/perform_watch.js +1 -0
- package/src/perform_watch.js.map +1 -1
- package/src/transformers/api.d.ts +6 -6
- package/src/transformers/api.js.map +1 -1
- package/src/transformers/compiler_host.d.ts +1 -1
- package/src/transformers/compiler_host.js.map +1 -1
- package/src/transformers/program.d.ts +1 -1
- package/src/transformers/program.js +13 -11
- package/src/transformers/program.js.map +1 -1
- package/src/version.js +1 -1
- package/src/version.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/compiler-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Angular - the compiler CLI for Node.js",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"reflect-metadata": "^0.1.2",
|
|
13
13
|
"minimist": "^1.2.0",
|
|
14
|
-
"tsickle": "^0.
|
|
14
|
+
"tsickle": "^0.26.0",
|
|
15
15
|
"chokidar": "^1.4.2"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"typescript": ">=2.4.2 <2.
|
|
19
|
-
"@angular/compiler": "5.
|
|
18
|
+
"typescript": ">=2.4.2 <2.7",
|
|
19
|
+
"@angular/compiler": "5.2.0"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
@@ -11,7 +11,7 @@ import { Diagnostic } from '../transformers/api';
|
|
|
11
11
|
export interface TypeCheckHost {
|
|
12
12
|
parseSourceSpanOf(fileName: string, line: number, character: number): ParseSourceSpan | null;
|
|
13
13
|
}
|
|
14
|
-
export declare function translateDiagnostics(host: TypeCheckHost, untranslatedDiagnostics: ts.Diagnostic
|
|
14
|
+
export declare function translateDiagnostics(host: TypeCheckHost, untranslatedDiagnostics: ReadonlyArray<ts.Diagnostic>): {
|
|
15
15
|
ts: ts.Diagnostic[];
|
|
16
16
|
ng: Diagnostic[];
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate_diagnostics.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/diagnostics/translate_diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAGH,+BAAiC;AAEjC,2CAA2E;AAC3E,6CAAqD;AAMrD,
|
|
1
|
+
{"version":3,"file":"translate_diagnostics.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/diagnostics/translate_diagnostics.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAGH,+BAAiC;AAEjC,2CAA2E;AAC3E,6CAAqD;AAMrD,8BACI,IAAmB,EAAE,uBAAqD;IAE5E,IAAM,EAAE,GAAoB,EAAE,CAAC;IAC/B,IAAM,EAAE,GAAiB,EAAE,CAAC;IAE5B,uBAAuB,CAAC,OAAO,CAAC,UAAC,UAAU;QACzC,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,IAAI,sBAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1F,8DAA8D;YAC9D,kEAAkE;YAClE,qBAAqB;YACrB,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC;YACT,CAAC;YACD,IAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACnE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACT,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrC,EAAE,CAAC,IAAI,CAAC;oBACN,WAAW,EAAE,yBAAyB,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC9D,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,MAAA;oBACnC,MAAM,EAAE,YAAM;oBACd,IAAI,EAAE,wBAAkB;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAC,EAAE,IAAA,EAAE,EAAE,IAAA,EAAC,CAAC;AAClB,CAAC;AA7BD,oDA6BC;AAED,sBAAsB,IAAmB,EAAE,MAAqB,EAAE,KAAa;IAEvE,IAAA,oDAAmE,EAAlE,cAAI,EAAE,wBAAS,CAAoD;IAC1E,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,mCAAmC,OAA2C;IAC5E,MAAM,CAAC,EAAE,CAAC,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ParseSourceSpan} from '@angular/compiler';\nimport * as ts from 'typescript';\n\nimport {DEFAULT_ERROR_CODE, Diagnostic, SOURCE} from '../transformers/api';\nimport {GENERATED_FILES} from '../transformers/util';\n\nexport interface TypeCheckHost {\n parseSourceSpanOf(fileName: string, line: number, character: number): ParseSourceSpan|null;\n}\n\nexport function translateDiagnostics(\n host: TypeCheckHost, untranslatedDiagnostics: ReadonlyArray<ts.Diagnostic>):\n {ts: ts.Diagnostic[], ng: Diagnostic[]} {\n const ts: ts.Diagnostic[] = [];\n const ng: Diagnostic[] = [];\n\n untranslatedDiagnostics.forEach((diagnostic) => {\n if (diagnostic.file && diagnostic.start && GENERATED_FILES.test(diagnostic.file.fileName)) {\n // We need to filter out diagnostics about unused functions as\n // they are in fact referenced by nobody and only serve to surface\n // type check errors.\n if (diagnostic.code === /* ... is declared but never used */ 6133) {\n return;\n }\n const span = sourceSpanOf(host, diagnostic.file, diagnostic.start);\n if (span) {\n const fileName = span.start.file.url;\n ng.push({\n messageText: diagnosticMessageToString(diagnostic.messageText),\n category: diagnostic.category, span,\n source: SOURCE,\n code: DEFAULT_ERROR_CODE\n });\n }\n } else {\n ts.push(diagnostic);\n }\n });\n return {ts, ng};\n}\n\nfunction sourceSpanOf(host: TypeCheckHost, source: ts.SourceFile, start: number): ParseSourceSpan|\n null {\n const {line, character} = ts.getLineAndCharacterOfPosition(source, start);\n return host.parseSourceSpanOf(source.fileName, line, character);\n}\n\nfunction diagnosticMessageToString(message: ts.DiagnosticMessageChain | string): string {\n return ts.flattenDiagnosticMessageText(message, '\\n');\n}\n"]}
|
package/src/main.d.ts
CHANGED
|
@@ -10,5 +10,5 @@ export declare function readCommandLineAndConfiguration(args: string[], existing
|
|
|
10
10
|
export declare function watchMode(project: string, options: api.CompilerOptions, consoleError: (s: string) => void): {
|
|
11
11
|
close: () => void;
|
|
12
12
|
ready: (cb: () => void) => void;
|
|
13
|
-
firstCompileResult:
|
|
13
|
+
firstCompileResult: ReadonlyArray<api.Diagnostic | ts.Diagnostic>;
|
|
14
14
|
};
|
package/src/main.js
CHANGED
|
@@ -55,7 +55,7 @@ function createEmitCallback(options) {
|
|
|
55
55
|
};
|
|
56
56
|
return function (_a) {
|
|
57
57
|
var program = _a.program, targetSourceFile = _a.targetSourceFile, writeFile = _a.writeFile, cancellationToken = _a.cancellationToken, emitOnlyDtsFiles = _a.emitOnlyDtsFiles, _b = _a.customTransformers, customTransformers = _b === void 0 ? {} : _b, host = _a.host, options = _a.options;
|
|
58
|
-
return tsickle.emitWithTsickle(program, tsickleHost, host, options, targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, {
|
|
58
|
+
return tsickle.emitWithTsickle(program, __assign({}, tsickleHost, { options: options, host: host }), host, options, targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, {
|
|
59
59
|
beforeTs: customTransformers.before,
|
|
60
60
|
afterTs: customTransformers.after,
|
|
61
61
|
});
|
package/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/compiler-cli/src/main.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// Must be imported first, because Angular decorators throw on load.\nimport 'reflect-metadata';\n\nimport * as ts from 'typescript';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as tsickle from 'tsickle';\nimport * as api from './transformers/api';\nimport * as ngc from './transformers/entry_points';\nimport {GENERATED_FILES} from './transformers/util';\n\nimport {exitCodeFromResult, performCompilation, readConfiguration, formatDiagnostics, Diagnostics, ParsedConfiguration, PerformCompilationResult, filterErrorsAndWarnings} from './perform_compile';\nimport {performWatchCompilation, createPerformWatchHost} from './perform_watch';\n\nexport function main(\n args: string[], consoleError: (s: string) => void = console.error,\n config?: NgcParsedConfiguration): number {\n let {project, rootNames, options, errors: configErrors, watch, emitFlags} =\n config || readNgcCommandLineAndConfiguration(args);\n if (configErrors.length) {\n return reportErrorsAndExit(configErrors, /*options*/ undefined, consoleError);\n }\n if (watch) {\n const result = watchMode(project, options, consoleError);\n return reportErrorsAndExit(result.firstCompileResult, options, consoleError);\n }\n const {diagnostics: compileDiags} = performCompilation(\n {rootNames, options, emitFlags, emitCallback: createEmitCallback(options)});\n return reportErrorsAndExit(compileDiags, options, consoleError);\n}\n\nfunction createEmitCallback(options: api.CompilerOptions): api.TsEmitCallback|undefined {\n const transformDecorators = options.annotationsAs !== 'decorators';\n const transformTypesToClosure = options.annotateForClosureCompiler;\n if (!transformDecorators && !transformTypesToClosure) {\n return undefined;\n }\n if (transformDecorators) {\n // This is needed as a workaround for https://github.com/angular/tsickle/issues/635\n // Otherwise tsickle might emit references to non imported values\n // as TypeScript elided the import.\n options.emitDecoratorMetadata = true;\n }\n const tsickleHost: tsickle.TsickleHost = {\n shouldSkipTsickleProcessing: (fileName) =>\n /\\.d\\.ts$/.test(fileName) || GENERATED_FILES.test(fileName),\n pathToModuleName: (context, importPath) => '',\n shouldIgnoreWarningsForPath: (filePath) => false,\n fileNameToModuleId: (fileName) => fileName,\n googmodule: false,\n untyped: true,\n convertIndexImportShorthand: false, transformDecorators, transformTypesToClosure,\n };\n\n return ({\n program,\n targetSourceFile,\n writeFile,\n cancellationToken,\n emitOnlyDtsFiles,\n customTransformers = {},\n host,\n options\n }) =>\n tsickle.emitWithTsickle(\n program, tsickleHost, host, options, targetSourceFile, writeFile,\n cancellationToken, emitOnlyDtsFiles, {\n beforeTs: customTransformers.before,\n afterTs: customTransformers.after,\n });\n}\n\nexport interface NgcParsedConfiguration extends ParsedConfiguration { watch?: boolean; }\n\nfunction readNgcCommandLineAndConfiguration(args: string[]): NgcParsedConfiguration {\n const options: api.CompilerOptions = {};\n const parsedArgs = require('minimist')(args);\n if (parsedArgs.i18nFile) options.i18nInFile = parsedArgs.i18nFile;\n if (parsedArgs.i18nFormat) options.i18nInFormat = parsedArgs.i18nFormat;\n if (parsedArgs.locale) options.i18nInLocale = parsedArgs.locale;\n const mt = parsedArgs.missingTranslation;\n if (mt === 'error' || mt === 'warning' || mt === 'ignore') {\n options.i18nInMissingTranslations = mt;\n }\n const config = readCommandLineAndConfiguration(\n args, options, ['i18nFile', 'i18nFormat', 'locale', 'missingTranslation', 'watch']);\n const watch = parsedArgs.w || parsedArgs.watch;\n return {...config, watch};\n}\n\nexport function readCommandLineAndConfiguration(\n args: string[], existingOptions: api.CompilerOptions = {},\n ngCmdLineOptions: string[] = []): ParsedConfiguration {\n let cmdConfig = ts.parseCommandLine(args);\n const project = cmdConfig.options.project || '.';\n const cmdErrors = cmdConfig.errors.filter(e => {\n if (typeof e.messageText === 'string') {\n const msg = e.messageText;\n return !ngCmdLineOptions.some(o => msg.indexOf(o) >= 0);\n }\n return true;\n });\n if (cmdErrors.length) {\n return {\n project,\n rootNames: [],\n options: cmdConfig.options,\n errors: cmdErrors,\n emitFlags: api.EmitFlags.Default\n };\n }\n const allDiagnostics: Diagnostics = [];\n const config = readConfiguration(project, cmdConfig.options);\n const options = {...config.options, ...existingOptions};\n if (options.locale) {\n options.i18nInLocale = options.locale;\n }\n return {\n project,\n rootNames: config.rootNames, options,\n errors: config.errors,\n emitFlags: config.emitFlags\n };\n}\n\nfunction reportErrorsAndExit(\n allDiagnostics: Diagnostics, options?: api.CompilerOptions,\n consoleError: (s: string) => void = console.error): number {\n const errorsAndWarnings = filterErrorsAndWarnings(allDiagnostics);\n if (errorsAndWarnings.length) {\n let currentDir = options ? options.basePath : undefined;\n const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => currentDir || ts.sys.getCurrentDirectory(),\n getCanonicalFileName: fileName => fileName,\n getNewLine: () => ts.sys.newLine\n };\n consoleError(formatDiagnostics(errorsAndWarnings, formatHost));\n }\n return exitCodeFromResult(allDiagnostics);\n}\n\nexport function watchMode(\n project: string, options: api.CompilerOptions, consoleError: (s: string) => void) {\n return performWatchCompilation(createPerformWatchHost(project, diagnostics => {\n consoleError(formatDiagnostics(diagnostics));\n }, options, options => createEmitCallback(options)));\n}\n\n// CLI entry point\nif (require.main === module) {\n const args = process.argv.slice(2);\n process.exitCode = main(args);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/compiler-cli/src/main.ts"],"names":[],"mappings":";;;;;;;;;;;AAUA,4BAA0B;AAE1B,+BAAiC;AAGjC,6CAAmC;AACnC,wCAA0C;AAE1C,4CAAoD;AAEpD,qDAAoM;AACpM,iDAAgF;AAEhF,cACI,IAAc,EAAE,YAAiD,EACjE,MAA+B;IADf,6BAAA,EAAA,eAAoC,OAAO,CAAC,KAAK;IAE/D,IAAA,uDACkD,EADjD,oBAAO,EAAE,wBAAS,EAAE,oBAAO,EAAE,wBAAoB,EAAE,gBAAK,EAAE,wBAAS,CACjB;IACvD,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChF,CAAC;IACD,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACV,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/E,CAAC;IACM,IAAA,4KAAyB,CACgD;IAChF,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAfD,oBAeC;AAGD,4BAA4B,OAA4B;IACtD,IAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,KAAK,YAAY,CAAC;IACnE,IAAM,uBAAuB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IACnE,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IACD,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxB,mFAAmF;QACnF,iEAAiE;QACjE,mCAAmC;QACnC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,IAAM,WAAW,GAGoE;QACnF,2BAA2B,EAAE,UAAC,QAAQ;YACL,OAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QAA3D,CAA2D;QAC5F,gBAAgB,EAAE,UAAC,OAAO,EAAE,UAAU,IAAK,OAAA,EAAE,EAAF,CAAE;QAC7C,2BAA2B,EAAE,UAAC,QAAQ,IAAK,OAAA,KAAK,EAAL,CAAK;QAChD,kBAAkB,EAAE,UAAC,QAAQ,IAAK,OAAA,QAAQ,EAAR,CAAQ;QAC1C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;QACb,2BAA2B,EAAE,KAAK,EAAE,mBAAmB,qBAAA,EAAE,uBAAuB,yBAAA;KACjF,CAAC;IAEF,MAAM,CAAC,UAAC,EASA;YARC,oBAAO,EACP,sCAAgB,EAChB,wBAAS,EACT,wCAAiB,EACjB,sCAAgB,EAChB,0BAAuB,EAAvB,4CAAuB,EACvB,cAAI,EACJ,oBAAO;QAEL,OAAA,OAAO,CAAC,eAAe,CACnB,OAAO,eAAM,WAAW,IAAE,OAAO,SAAA,EAAE,IAAI,MAAA,KAAG,IAAI,EAAE,OAAO,EAAE,gBAAgB,EACzE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE;YAC9C,QAAQ,EAAE,kBAAkB,CAAC,MAAM;YACnC,OAAO,EAAE,kBAAkB,CAAC,KAAK;SAClC,CAAC;IALN,CAKM,CAAC;AACpB,CAAC;AAID,4CAA4C,IAAc;IACxD,IAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7C,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;IAClE,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QAAC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC;IACxE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAAC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;IAChE,IAAM,EAAE,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACzC,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC;IACzC,CAAC;IACD,IAAM,MAAM,GAAG,+BAA+B,CAC1C,IAAI,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;IAC/C,MAAM,cAAK,MAAM,IAAE,KAAK,OAAA,IAAE;AAC5B,CAAC;AAED,yCACI,IAAc,EAAE,eAAyC,EACzD,gBAA+B;IADf,gCAAA,EAAA,oBAAyC;IACzD,iCAAA,EAAA,qBAA+B;IACjC,IAAI,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC;IACjD,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC;QACzC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC;YACtC,IAAM,KAAG,GAAG,CAAC,CAAC,WAAW,CAAC;YAC1B,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,KAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC;YACL,OAAO,SAAA;YACP,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO;SACjC,CAAC;IACJ,CAAC;IACD,IAAM,cAAc,GAAgB,EAAE,CAAC;IACvC,IAAM,MAAM,GAAG,mCAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAM,OAAO,gBAAO,MAAM,CAAC,OAAO,EAAK,eAAe,CAAC,CAAC;IACxD,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,MAAM,CAAC;QACL,OAAO,SAAA;QACP,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,SAAA;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAjCD,0EAiCC;AAED,6BACI,cAA2B,EAAE,OAA6B,EAC1D,YAAiD;IAAjD,6BAAA,EAAA,eAAoC,OAAO,CAAC,KAAK;IACnD,IAAM,iBAAiB,GAAG,yCAAuB,CAAC,cAAc,CAAC,CAAC;IAClE,EAAE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,IAAI,YAAU,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAM,UAAU,GAA6B;YAC3C,mBAAmB,EAAE,cAAM,OAAA,YAAU,IAAI,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAA1C,CAA0C;YACrE,oBAAoB,EAAE,UAAA,QAAQ,IAAI,OAAA,QAAQ,EAAR,CAAQ;YAC1C,UAAU,EAAE,cAAM,OAAA,EAAE,CAAC,GAAG,CAAC,OAAO,EAAd,CAAc;SACjC,CAAC;QACF,YAAY,CAAC,mCAAiB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,CAAC,oCAAkB,CAAC,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED,mBACI,OAAe,EAAE,OAA4B,EAAE,YAAiC;IAClF,MAAM,CAAC,uCAAuB,CAAC,sCAAsB,CAAC,OAAO,EAAE,UAAA,WAAW;QACxE,YAAY,CAAC,mCAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,OAAO,EAAE,UAAA,OAAO,IAAI,OAAA,kBAAkB,CAAC,OAAO,CAAC,EAA3B,CAA2B,CAAC,CAAC,CAAC;AACvD,CAAC;AALD,8BAKC;AAED,kBAAkB;AAClB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;IAC5B,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC","sourcesContent":["#!/usr/bin/env node\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// Must be imported first, because Angular decorators throw on load.\nimport 'reflect-metadata';\n\nimport * as ts from 'typescript';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as tsickle from 'tsickle';\nimport * as api from './transformers/api';\nimport * as ngc from './transformers/entry_points';\nimport {GENERATED_FILES} from './transformers/util';\n\nimport {exitCodeFromResult, performCompilation, readConfiguration, formatDiagnostics, Diagnostics, ParsedConfiguration, PerformCompilationResult, filterErrorsAndWarnings} from './perform_compile';\nimport {performWatchCompilation, createPerformWatchHost} from './perform_watch';\n\nexport function main(\n args: string[], consoleError: (s: string) => void = console.error,\n config?: NgcParsedConfiguration): number {\n let {project, rootNames, options, errors: configErrors, watch, emitFlags} =\n config || readNgcCommandLineAndConfiguration(args);\n if (configErrors.length) {\n return reportErrorsAndExit(configErrors, /*options*/ undefined, consoleError);\n }\n if (watch) {\n const result = watchMode(project, options, consoleError);\n return reportErrorsAndExit(result.firstCompileResult, options, consoleError);\n }\n const {diagnostics: compileDiags} = performCompilation(\n {rootNames, options, emitFlags, emitCallback: createEmitCallback(options)});\n return reportErrorsAndExit(compileDiags, options, consoleError);\n}\n\n\nfunction createEmitCallback(options: api.CompilerOptions): api.TsEmitCallback|undefined {\n const transformDecorators = options.annotationsAs !== 'decorators';\n const transformTypesToClosure = options.annotateForClosureCompiler;\n if (!transformDecorators && !transformTypesToClosure) {\n return undefined;\n }\n if (transformDecorators) {\n // This is needed as a workaround for https://github.com/angular/tsickle/issues/635\n // Otherwise tsickle might emit references to non imported values\n // as TypeScript elided the import.\n options.emitDecoratorMetadata = true;\n }\n const tsickleHost: Pick<\n tsickle.TsickleHost, 'shouldSkipTsickleProcessing'|'pathToModuleName'|\n 'shouldIgnoreWarningsForPath'|'fileNameToModuleId'|'googmodule'|'untyped'|\n 'convertIndexImportShorthand'|'transformDecorators'|'transformTypesToClosure'> = {\n shouldSkipTsickleProcessing: (fileName) =>\n /\\.d\\.ts$/.test(fileName) || GENERATED_FILES.test(fileName),\n pathToModuleName: (context, importPath) => '',\n shouldIgnoreWarningsForPath: (filePath) => false,\n fileNameToModuleId: (fileName) => fileName,\n googmodule: false,\n untyped: true,\n convertIndexImportShorthand: false, transformDecorators, transformTypesToClosure,\n };\n\n return ({\n program,\n targetSourceFile,\n writeFile,\n cancellationToken,\n emitOnlyDtsFiles,\n customTransformers = {},\n host,\n options\n }) =>\n tsickle.emitWithTsickle(\n program, {...tsickleHost, options, host}, host, options, targetSourceFile,\n writeFile, cancellationToken, emitOnlyDtsFiles, {\n beforeTs: customTransformers.before,\n afterTs: customTransformers.after,\n });\n}\n\nexport interface NgcParsedConfiguration extends ParsedConfiguration { watch?: boolean; }\n\nfunction readNgcCommandLineAndConfiguration(args: string[]): NgcParsedConfiguration {\n const options: api.CompilerOptions = {};\n const parsedArgs = require('minimist')(args);\n if (parsedArgs.i18nFile) options.i18nInFile = parsedArgs.i18nFile;\n if (parsedArgs.i18nFormat) options.i18nInFormat = parsedArgs.i18nFormat;\n if (parsedArgs.locale) options.i18nInLocale = parsedArgs.locale;\n const mt = parsedArgs.missingTranslation;\n if (mt === 'error' || mt === 'warning' || mt === 'ignore') {\n options.i18nInMissingTranslations = mt;\n }\n const config = readCommandLineAndConfiguration(\n args, options, ['i18nFile', 'i18nFormat', 'locale', 'missingTranslation', 'watch']);\n const watch = parsedArgs.w || parsedArgs.watch;\n return {...config, watch};\n}\n\nexport function readCommandLineAndConfiguration(\n args: string[], existingOptions: api.CompilerOptions = {},\n ngCmdLineOptions: string[] = []): ParsedConfiguration {\n let cmdConfig = ts.parseCommandLine(args);\n const project = cmdConfig.options.project || '.';\n const cmdErrors = cmdConfig.errors.filter(e => {\n if (typeof e.messageText === 'string') {\n const msg = e.messageText;\n return !ngCmdLineOptions.some(o => msg.indexOf(o) >= 0);\n }\n return true;\n });\n if (cmdErrors.length) {\n return {\n project,\n rootNames: [],\n options: cmdConfig.options,\n errors: cmdErrors,\n emitFlags: api.EmitFlags.Default\n };\n }\n const allDiagnostics: Diagnostics = [];\n const config = readConfiguration(project, cmdConfig.options);\n const options = {...config.options, ...existingOptions};\n if (options.locale) {\n options.i18nInLocale = options.locale;\n }\n return {\n project,\n rootNames: config.rootNames, options,\n errors: config.errors,\n emitFlags: config.emitFlags\n };\n}\n\nfunction reportErrorsAndExit(\n allDiagnostics: Diagnostics, options?: api.CompilerOptions,\n consoleError: (s: string) => void = console.error): number {\n const errorsAndWarnings = filterErrorsAndWarnings(allDiagnostics);\n if (errorsAndWarnings.length) {\n let currentDir = options ? options.basePath : undefined;\n const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => currentDir || ts.sys.getCurrentDirectory(),\n getCanonicalFileName: fileName => fileName,\n getNewLine: () => ts.sys.newLine\n };\n consoleError(formatDiagnostics(errorsAndWarnings, formatHost));\n }\n return exitCodeFromResult(allDiagnostics);\n}\n\nexport function watchMode(\n project: string, options: api.CompilerOptions, consoleError: (s: string) => void) {\n return performWatchCompilation(createPerformWatchHost(project, diagnostics => {\n consoleError(formatDiagnostics(diagnostics));\n }, options, options => createEmitCallback(options)));\n}\n\n// CLI entry point\nif (require.main === module) {\n const args = process.argv.slice(2);\n process.exitCode = main(args);\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as ts from 'typescript';
|
|
2
2
|
import { CompilerOptions } from '../transformers/api';
|
|
3
|
-
export declare function createBundleIndexHost<H extends ts.CompilerHost>(ngOptions: CompilerOptions, rootFiles: string
|
|
3
|
+
export declare function createBundleIndexHost<H extends ts.CompilerHost>(ngOptions: CompilerOptions, rootFiles: ReadonlyArray<string>, host: H): {
|
|
4
4
|
host: H;
|
|
5
5
|
indexName?: string;
|
|
6
6
|
errors?: ts.Diagnostic[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle_index_host.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/bundle_index_host.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAEH,uBAAyB;AACzB,2BAA6B;AAC7B,+BAAiC;AAIjC,qCAA+D;AAC/D,+CAAqD;AAErD,IAAM,GAAG,GAAG,UAAU,CAAC;AACvB,IAAM,MAAM,GAAG,UAAU,CAAC;AAE1B,kCACI,QAAW,EAAE,cAAiE;IAChF,IAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACrE,IAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC;IAC5C,IAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC;IAE9C,IAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,GAAG,UAAC,QAAgB;QACpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAC,CAAC;IAEF,OAAO,CAAC,QAAQ,GAAG,UAAC,QAAgB;QAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACd,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF,OAAO,CAAC,aAAa;QACjB,UAAC,QAAgB,EAAE,eAAgC,EAAE,OAAmC;YACtF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC;gBACzD,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC;IAEN,OAAO,CAAC,SAAS;QACb,UAAC,QAAgB,EAAE,IAAY,EAAE,kBAA2B,EAC3D,
|
|
1
|
+
{"version":3,"file":"bundle_index_host.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/bundle_index_host.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport * as ts from 'typescript';\n\nimport {CompilerOptions} from '../transformers/api';\n\nimport {CompilerHostAdapter, MetadataBundler} from './bundler';\nimport {privateEntriesToIndex} from './index_writer';\n\nconst DTS = /\\.d\\.ts$/;\nconst JS_EXT = /(\\.js|)$/;\n\nfunction createSyntheticIndexHost<H extends ts.CompilerHost>(\n delegate: H, syntheticIndex: {name: string, content: string, metadata: string}): H {\n const normalSyntheticIndexName = path.normalize(syntheticIndex.name);\n const indexContent = syntheticIndex.content;\n const indexMetadata = syntheticIndex.metadata;\n\n const newHost = Object.create(delegate);\n newHost.fileExists = (fileName: string): boolean => {\n return path.normalize(fileName) == normalSyntheticIndexName || delegate.fileExists(fileName);\n };\n\n newHost.readFile = (fileName: string) => {\n return path.normalize(fileName) == normalSyntheticIndexName ? indexContent :\n delegate.readFile(fileName);\n };\n\n newHost.getSourceFile =\n (fileName: string, languageVersion: ts.ScriptTarget, onError?: (message: string) => void) => {\n if (path.normalize(fileName) == normalSyntheticIndexName) {\n return ts.createSourceFile(fileName, indexContent, languageVersion, true);\n }\n return delegate.getSourceFile(fileName, languageVersion, onError);\n };\n\n newHost.writeFile =\n (fileName: string, data: string, writeByteOrderMark: boolean,\n onError: ((message: string) => void) | undefined,\n sourceFiles: Readonly<ts.SourceFile>[]) => {\n delegate.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);\n if (fileName.match(DTS) && sourceFiles && sourceFiles.length == 1 &&\n path.normalize(sourceFiles[0].fileName) == normalSyntheticIndexName) {\n // If we are writing the synthetic index, write the metadata along side.\n const metadataName = fileName.replace(DTS, '.metadata.json');\n fs.writeFileSync(metadataName, indexMetadata, {encoding: 'utf8'});\n }\n };\n return newHost;\n}\n\nexport function createBundleIndexHost<H extends ts.CompilerHost>(\n ngOptions: CompilerOptions, rootFiles: ReadonlyArray<string>,\n host: H): {host: H, indexName?: string, errors?: ts.Diagnostic[]} {\n const files = rootFiles.filter(f => !DTS.test(f));\n if (files.length != 1) {\n return {\n host,\n errors: [{\n file: null as any as ts.SourceFile,\n start: null as any as number,\n length: null as any as number,\n messageText:\n 'Angular compiler option \"flatModuleIndex\" requires one and only one .ts file in the \"files\" field.',\n category: ts.DiagnosticCategory.Error,\n code: 0\n }]\n };\n }\n const file = files[0];\n const indexModule = file.replace(/\\.ts$/, '');\n const bundler =\n new MetadataBundler(indexModule, ngOptions.flatModuleId, new CompilerHostAdapter(host));\n const metadataBundle = bundler.getMetadataBundle();\n const metadata = JSON.stringify(metadataBundle.metadata);\n const name =\n path.join(path.dirname(indexModule), ngOptions.flatModuleOutFile !.replace(JS_EXT, '.ts'));\n const libraryIndex = `./${path.basename(indexModule)}`;\n const content = privateEntriesToIndex(libraryIndex, metadataBundle.privates);\n host = createSyntheticIndexHost(host, {name, content, metadata});\n return {host, indexName: name};\n}\n"]}
|
package/src/metadata/bundler.js
CHANGED
|
@@ -498,7 +498,7 @@ var CompilerHostAdapter = /** @class */ (function () {
|
|
|
498
498
|
}
|
|
499
499
|
CompilerHostAdapter.prototype.getMetadataFor = function (fileName) {
|
|
500
500
|
var sourceFile = this.host.getSourceFile(fileName + '.ts', ts.ScriptTarget.Latest);
|
|
501
|
-
return this.collector.getMetadata(sourceFile);
|
|
501
|
+
return sourceFile && this.collector.getMetadata(sourceFile);
|
|
502
502
|
};
|
|
503
503
|
return CompilerHostAdapter;
|
|
504
504
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/bundler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as path from 'path';\nimport * as ts from 'typescript';\n\nimport {MetadataCollector} from '../metadata/collector';\nimport {ClassMetadata, ConstructorMetadata, FunctionMetadata, METADATA_VERSION, MemberMetadata, MetadataEntry, MetadataError, MetadataImportedSymbolReferenceExpression, MetadataMap, MetadataObject, MetadataSymbolicExpression, MetadataSymbolicReferenceExpression, MetadataValue, MethodMetadata, ModuleExportMetadata, ModuleMetadata, isClassMetadata, isConstructorMetadata, isFunctionMetadata, isInterfaceMetadata, isMetadataError, isMetadataGlobalReferenceExpression, isMetadataImportedSymbolReferenceExpression, isMetadataModuleReferenceExpression, isMetadataSymbolicExpression, isMethodMetadata} from '../metadata/schema';\n\n\n\n// The character set used to produce private names.\nconst PRIVATE_NAME_CHARS = 'abcdefghijklmnopqrstuvwxyz';\n\ninterface Symbol {\n module: string;\n name: string;\n\n // Produced by indirectly by exportAll() for symbols re-export another symbol.\n exports?: Symbol;\n\n // Produced by indirectly by exportAll() for symbols are re-exported by another symbol.\n reexportedAs?: Symbol;\n\n // Produced by canonicalizeSymbols() for all symbols. A symbol is private if it is not\n // exported by the index.\n isPrivate?: boolean;\n\n // Produced by canonicalizeSymbols() for all symbols. This is the one symbol that\n // respresents all other symbols and is the only symbol that, among all the re-exported\n // aliases, whose fields can be trusted to contain the correct information.\n // For private symbols this is the declaration symbol. For public symbols this is the\n // symbol that is exported.\n canonicalSymbol?: Symbol;\n\n // Produced by canonicalizeSymbols() for all symbols. This the symbol that originally\n // declared the value and should be used to fetch the value.\n declaration?: Symbol;\n\n // A symbol is referenced if it is exported from index or referenced by the value of\n // a referenced symbol's value.\n referenced?: boolean;\n\n // A symbol is marked as a re-export the symbol was rexported from a module that is\n // not part of the flat module bundle.\n reexport?: boolean;\n\n // Only valid for referenced canonical symbols. Produces by convertSymbols().\n value?: MetadataEntry;\n\n // Only valid for referenced private symbols. It is the name to use to import the symbol from\n // the bundle index. Produce by assignPrivateNames();\n privateName?: string;\n}\n\nexport interface BundleEntries { [name: string]: MetadataEntry; }\n\nexport interface BundlePrivateEntry {\n privateName: string;\n name: string;\n module: string;\n}\n\nexport interface BundledModule {\n metadata: ModuleMetadata;\n privates: BundlePrivateEntry[];\n}\n\nexport interface MetadataBundlerHost {\n getMetadataFor(moduleName: string): ModuleMetadata|undefined;\n}\n\ntype StaticsMetadata = {\n [name: string]: MetadataValue | FunctionMetadata;\n};\n\nexport class MetadataBundler {\n private symbolMap = new Map<string, Symbol>();\n private metadataCache = new Map<string, ModuleMetadata|undefined>();\n private exports = new Map<string, Symbol[]>();\n private rootModule: string;\n private exported: Set<Symbol>;\n\n constructor(\n private root: string, private importAs: string|undefined, private host: MetadataBundlerHost) {\n this.rootModule = `./${path.basename(root)}`;\n }\n\n getMetadataBundle(): BundledModule {\n // Export the root module. This also collects the transitive closure of all values referenced by\n // the exports.\n const exportedSymbols = this.exportAll(this.rootModule);\n this.canonicalizeSymbols(exportedSymbols);\n // TODO: exports? e.g. a module re-exports a symbol from another bundle\n const metadata = this.getEntries(exportedSymbols);\n const privates = Array.from(this.symbolMap.values())\n .filter(s => s.referenced && s.isPrivate)\n .map(s => ({\n privateName: s.privateName !,\n name: s.declaration !.name,\n module: s.declaration !.module\n }));\n const origins = Array.from(this.symbolMap.values())\n .filter(s => s.referenced && !s.reexport)\n .reduce<{[name: string]: string}>((p, s) => {\n p[s.isPrivate ? s.privateName ! : s.name] = s.declaration !.module;\n return p;\n }, {});\n const exports = this.getReExports(exportedSymbols);\n return {\n metadata: {\n __symbolic: 'module',\n version: METADATA_VERSION,\n exports: exports.length ? exports : undefined, metadata, origins,\n importAs: this.importAs !\n },\n privates\n };\n }\n\n static resolveModule(importName: string, from: string): string {\n return resolveModule(importName, from);\n }\n\n private getMetadata(moduleName: string): ModuleMetadata|undefined {\n let result = this.metadataCache.get(moduleName);\n if (!result) {\n if (moduleName.startsWith('.')) {\n const fullModuleName = resolveModule(moduleName, this.root);\n result = this.host.getMetadataFor(fullModuleName);\n }\n this.metadataCache.set(moduleName, result);\n }\n return result;\n }\n\n private exportAll(moduleName: string): Symbol[] {\n const module = this.getMetadata(moduleName);\n let result = this.exports.get(moduleName);\n\n if (result) {\n return result;\n }\n\n result = [];\n\n const exportSymbol = (exportedSymbol: Symbol, exportAs: string) => {\n const symbol = this.symbolOf(moduleName, exportAs);\n result !.push(symbol);\n exportedSymbol.reexportedAs = symbol;\n symbol.exports = exportedSymbol;\n };\n\n // Export all the symbols defined in this module.\n if (module && module.metadata) {\n for (let key in module.metadata) {\n const data = module.metadata[key];\n if (isMetadataImportedSymbolReferenceExpression(data)) {\n // This is a re-export of an imported symbol. Record this as a re-export.\n const exportFrom = resolveModule(data.module, moduleName);\n this.exportAll(exportFrom);\n const symbol = this.symbolOf(exportFrom, data.name);\n exportSymbol(symbol, key);\n } else {\n // Record that this symbol is exported by this module.\n result.push(this.symbolOf(moduleName, key));\n }\n }\n }\n\n // Export all the re-exports from this module\n if (module && module.exports) {\n for (const exportDeclaration of module.exports) {\n const exportFrom = resolveModule(exportDeclaration.from, moduleName);\n // Record all the exports from the module even if we don't use it directly.\n const exportedSymbols = this.exportAll(exportFrom);\n if (exportDeclaration.export) {\n // Re-export all the named exports from a module.\n for (const exportItem of exportDeclaration.export) {\n const name = typeof exportItem == 'string' ? exportItem : exportItem.name;\n const exportAs = typeof exportItem == 'string' ? exportItem : exportItem.as;\n const symbol = this.symbolOf(exportFrom, name);\n if (exportedSymbols && exportedSymbols.length == 1 && exportedSymbols[0].reexport &&\n exportedSymbols[0].name == '*') {\n // This is a named export from a module we have no metadata about. Record the named\n // export as a re-export.\n symbol.reexport = true;\n }\n exportSymbol(this.symbolOf(exportFrom, name), exportAs);\n }\n } else {\n // Re-export all the symbols from the module\n const exportedSymbols = this.exportAll(exportFrom);\n for (const exportedSymbol of exportedSymbols) {\n const name = exportedSymbol.name;\n exportSymbol(exportedSymbol, name);\n }\n }\n }\n }\n\n if (!module) {\n // If no metadata is found for this import then it is considered external to the\n // library and should be recorded as a re-export in the final metadata if it is\n // eventually re-exported.\n const symbol = this.symbolOf(moduleName, '*');\n symbol.reexport = true;\n result.push(symbol);\n }\n this.exports.set(moduleName, result);\n\n return result;\n }\n\n /**\n * Fill in the canonicalSymbol which is the symbol that should be imported by factories.\n * The canonical symbol is the one exported by the index file for the bundle or definition\n * symbol for private symbols that are not exported by bundle index.\n */\n private canonicalizeSymbols(exportedSymbols: Symbol[]) {\n const symbols = Array.from(this.symbolMap.values());\n this.exported = new Set(exportedSymbols);\n symbols.forEach(this.canonicalizeSymbol, this);\n }\n\n private canonicalizeSymbol(symbol: Symbol) {\n const rootExport = getRootExport(symbol);\n const declaration = getSymbolDeclaration(symbol);\n const isPrivate = !this.exported.has(rootExport);\n const canonicalSymbol = isPrivate ? declaration : rootExport;\n symbol.isPrivate = isPrivate;\n symbol.declaration = declaration;\n symbol.canonicalSymbol = canonicalSymbol;\n symbol.reexport = declaration.reexport;\n }\n\n private getEntries(exportedSymbols: Symbol[]): BundleEntries {\n const result: BundleEntries = {};\n\n const exportedNames = new Set(exportedSymbols.map(s => s.name));\n let privateName = 0;\n\n function newPrivateName(): string {\n while (true) {\n let digits: string[] = [];\n let index = privateName++;\n let base = PRIVATE_NAME_CHARS;\n while (!digits.length || index > 0) {\n digits.unshift(base[index % base.length]);\n index = Math.floor(index / base.length);\n }\n digits.unshift('\\u0275');\n const result = digits.join('');\n if (!exportedNames.has(result)) return result;\n }\n }\n\n exportedSymbols.forEach(symbol => this.convertSymbol(symbol));\n\n const symbolsMap = new Map<string, string[]>();\n Array.from(this.symbolMap.values()).forEach(symbol => {\n if (symbol.referenced && !symbol.reexport) {\n let name = symbol.name;\n const identifier = `${symbol.declaration!.module}:${symbol.declaration !.name}`;\n if (symbol.isPrivate && !symbol.privateName) {\n name = newPrivateName();\n symbol.privateName = name;\n }\n if (symbolsMap.has(identifier)) {\n const names = symbolsMap.get(identifier);\n names !.push(name);\n } else {\n symbolsMap.set(identifier, [name]);\n }\n result[name] = symbol.value !;\n }\n });\n\n // check for duplicated entries\n symbolsMap.forEach((names: string[], identifier: string) => {\n if (names.length > 1) {\n const [module, declaredName] = identifier.split(':');\n // prefer the export that uses the declared name (if any)\n let reference = names.indexOf(declaredName);\n if (reference === -1) {\n reference = 0;\n }\n\n // keep one entry and replace the others by references\n names.forEach((name: string, i: number) => {\n if (i !== reference) {\n result[name] = {__symbolic: 'reference', name: names[reference]};\n }\n });\n }\n });\n\n return result;\n }\n\n private getReExports(exportedSymbols: Symbol[]): ModuleExportMetadata[] {\n type ExportClause = {name: string, as: string}[];\n const modules = new Map<string, ExportClause>();\n const exportAlls = new Set<string>();\n for (const symbol of exportedSymbols) {\n if (symbol.reexport) {\n // symbol.declaration is guarenteed to be defined during the phase this method is called.\n const declaration = symbol.declaration !;\n const module = declaration.module;\n if (declaration !.name == '*') {\n // Reexport all the symbols.\n exportAlls.add(declaration.module);\n } else {\n // Re-export the symbol as the exported name.\n let entry = modules.get(module);\n if (!entry) {\n entry = [];\n modules.set(module, entry);\n }\n const as = symbol.name;\n const name = declaration.name;\n entry.push({name, as});\n }\n }\n }\n return [\n ...Array.from(exportAlls.values()).map(from => ({from})),\n ...Array.from(modules.entries()).map(([from, exports]) => ({export: exports, from}))\n ];\n }\n\n private convertSymbol(symbol: Symbol) {\n // canonicalSymbol is ensured to be defined before this is called.\n const canonicalSymbol = symbol.canonicalSymbol !;\n\n if (!canonicalSymbol.referenced) {\n canonicalSymbol.referenced = true;\n // declaration is ensured to be definded before this method is called.\n const declaration = canonicalSymbol.declaration !;\n const module = this.getMetadata(declaration.module);\n if (module) {\n const value = module.metadata[declaration.name];\n if (value && !declaration.name.startsWith('___')) {\n canonicalSymbol.value = this.convertEntry(declaration.module, value);\n }\n }\n }\n }\n\n private convertEntry(moduleName: string, value: MetadataEntry): MetadataEntry {\n if (isClassMetadata(value)) {\n return this.convertClass(moduleName, value);\n }\n if (isFunctionMetadata(value)) {\n return this.convertFunction(moduleName, value);\n }\n if (isInterfaceMetadata(value)) {\n return value;\n }\n return this.convertValue(moduleName, value);\n }\n\n private convertClass(moduleName: string, value: ClassMetadata): ClassMetadata {\n return {\n __symbolic: 'class',\n arity: value.arity,\n extends: this.convertExpression(moduleName, value.extends) !,\n decorators:\n value.decorators && value.decorators.map(d => this.convertExpression(moduleName, d) !),\n members: this.convertMembers(moduleName, value.members !),\n statics: value.statics && this.convertStatics(moduleName, value.statics)\n };\n }\n\n private convertMembers(moduleName: string, members: MetadataMap): MetadataMap {\n const result: MetadataMap = {};\n for (const name in members) {\n const value = members[name];\n result[name] = value.map(v => this.convertMember(moduleName, v));\n }\n return result;\n }\n\n private convertMember(moduleName: string, member: MemberMetadata) {\n const result: MemberMetadata = {__symbolic: member.__symbolic};\n result.decorators =\n member.decorators && member.decorators.map(d => this.convertExpression(moduleName, d) !);\n if (isMethodMetadata(member)) {\n (result as MethodMetadata).parameterDecorators = member.parameterDecorators &&\n member.parameterDecorators.map(\n d => d && d.map(p => this.convertExpression(moduleName, p) !));\n if (isConstructorMetadata(member)) {\n if (member.parameters) {\n (result as ConstructorMetadata).parameters =\n member.parameters.map(p => this.convertExpression(moduleName, p));\n }\n }\n }\n return result;\n }\n\n private convertStatics(moduleName: string, statics: StaticsMetadata): StaticsMetadata {\n let result: StaticsMetadata = {};\n for (const key in statics) {\n const value = statics[key];\n result[key] = isFunctionMetadata(value) ? this.convertFunction(moduleName, value) : value;\n }\n return result;\n }\n\n private convertFunction(moduleName: string, value: FunctionMetadata): FunctionMetadata {\n return {\n __symbolic: 'function',\n parameters: value.parameters,\n defaults: value.defaults && value.defaults.map(v => this.convertValue(moduleName, v)),\n value: this.convertValue(moduleName, value.value)\n };\n }\n\n private convertValue(moduleName: string, value: MetadataValue): MetadataValue {\n if (isPrimitive(value)) {\n return value;\n }\n if (isMetadataError(value)) {\n return this.convertError(moduleName, value);\n }\n if (isMetadataSymbolicExpression(value)) {\n return this.convertExpression(moduleName, value) !;\n }\n if (Array.isArray(value)) {\n return value.map(v => this.convertValue(moduleName, v));\n }\n\n // Otherwise it is a metadata object.\n const object = value as MetadataObject;\n const result: MetadataObject = {};\n for (const key in object) {\n result[key] = this.convertValue(moduleName, object[key]);\n }\n return result;\n }\n\n private convertExpression(\n moduleName: string, value: MetadataSymbolicExpression|MetadataError|null|\n undefined): MetadataSymbolicExpression|MetadataError|undefined|null {\n if (value) {\n switch (value.__symbolic) {\n case 'error':\n return this.convertError(moduleName, value as MetadataError);\n case 'reference':\n return this.convertReference(moduleName, value as MetadataSymbolicReferenceExpression);\n default:\n return this.convertExpressionNode(moduleName, value);\n }\n }\n return value;\n }\n\n private convertError(module: string, value: MetadataError): MetadataError {\n return {\n __symbolic: 'error',\n message: value.message,\n line: value.line,\n character: value.character,\n context: value.context, module\n };\n }\n\n private convertReference(moduleName: string, value: MetadataSymbolicReferenceExpression):\n MetadataSymbolicReferenceExpression|MetadataError|undefined {\n const createReference = (symbol: Symbol): MetadataSymbolicReferenceExpression => {\n const declaration = symbol.declaration !;\n if (declaration.module.startsWith('.')) {\n // Reference to a symbol defined in the module. Ensure it is converted then return a\n // references to the final symbol.\n this.convertSymbol(symbol);\n return {\n __symbolic: 'reference',\n get name() {\n // Resolved lazily because private names are assigned late.\n const canonicalSymbol = symbol.canonicalSymbol !;\n if (canonicalSymbol.isPrivate == null) {\n throw Error('Invalid state: isPrivate was not initialized');\n }\n return canonicalSymbol.isPrivate ? canonicalSymbol.privateName ! : canonicalSymbol.name;\n }\n };\n } else {\n // The symbol was a re-exported symbol from another module. Return a reference to the\n // original imported symbol.\n return {__symbolic: 'reference', name: declaration.name, module: declaration.module};\n }\n };\n\n if (isMetadataGlobalReferenceExpression(value)) {\n const metadata = this.getMetadata(moduleName);\n if (metadata && metadata.metadata && metadata.metadata[value.name]) {\n // Reference to a symbol defined in the module\n return createReference(this.canonicalSymbolOf(moduleName, value.name));\n }\n\n // If a reference has arguments, the arguments need to be converted.\n if (value.arguments) {\n return {\n __symbolic: 'reference',\n name: value.name,\n arguments: value.arguments.map(a => this.convertValue(moduleName, a))\n };\n }\n\n // Global references without arguments (such as to Math or JSON) are unmodified.\n return value;\n }\n\n if (isMetadataImportedSymbolReferenceExpression(value)) {\n // References to imported symbols are separated into two, references to bundled modules and\n // references to modules external to the bundle. If the module reference is relative it is\n // assumed to be in the bundle. If it is Global it is assumed to be outside the bundle.\n // References to symbols outside the bundle are left unmodified. References to symbol inside\n // the bundle need to be converted to a bundle import reference reachable from the bundle\n // index.\n\n if (value.module.startsWith('.')) {\n // Reference is to a symbol defined inside the module. Convert the reference to a reference\n // to the canonical symbol.\n const referencedModule = resolveModule(value.module, moduleName);\n const referencedName = value.name;\n return createReference(this.canonicalSymbolOf(referencedModule, referencedName));\n }\n\n // Value is a reference to a symbol defined outside the module.\n if (value.arguments) {\n // If a reference has arguments the arguments need to be converted.\n return {\n __symbolic: 'reference',\n name: value.name,\n module: value.module,\n arguments: value.arguments.map(a => this.convertValue(moduleName, a))\n };\n }\n return value;\n }\n\n if (isMetadataModuleReferenceExpression(value)) {\n // Cannot support references to bundled modules as the internal modules of a bundle are erased\n // by the bundler.\n if (value.module.startsWith('.')) {\n return {\n __symbolic: 'error',\n message: 'Unsupported bundled module reference',\n context: {module: value.module}\n };\n }\n\n // References to unbundled modules are unmodified.\n return value;\n }\n }\n\n private convertExpressionNode(moduleName: string, value: MetadataSymbolicExpression):\n MetadataSymbolicExpression {\n const result: MetadataSymbolicExpression = {__symbolic: value.__symbolic};\n for (const key in value) {\n (result as any)[key] = this.convertValue(moduleName, (value as any)[key]);\n }\n return result;\n }\n\n private symbolOf(module: string, name: string): Symbol {\n const symbolKey = `${module}:${name}`;\n let symbol = this.symbolMap.get(symbolKey);\n if (!symbol) {\n symbol = {module, name};\n this.symbolMap.set(symbolKey, symbol);\n }\n return symbol;\n }\n\n private canonicalSymbolOf(module: string, name: string): Symbol {\n // Ensure the module has been seen.\n this.exportAll(module);\n const symbol = this.symbolOf(module, name);\n if (!symbol.canonicalSymbol) {\n this.canonicalizeSymbol(symbol);\n }\n return symbol;\n }\n}\n\nexport class CompilerHostAdapter implements MetadataBundlerHost {\n private collector = new MetadataCollector();\n\n constructor(private host: ts.CompilerHost) {}\n\n getMetadataFor(fileName: string): ModuleMetadata|undefined {\n const sourceFile = this.host.getSourceFile(fileName + '.ts', ts.ScriptTarget.Latest);\n return this.collector.getMetadata(sourceFile);\n }\n}\n\nfunction resolveModule(importName: string, from: string): string {\n if (importName.startsWith('.') && from) {\n let normalPath = path.normalize(path.join(path.dirname(from), importName));\n if (!normalPath.startsWith('.') && from.startsWith('.')) {\n // path.normalize() preserves leading '../' but not './'. This adds it back.\n normalPath = `.${path.sep}${normalPath}`;\n }\n // Replace windows path delimiters with forward-slashes. Otherwise the paths are not\n // TypeScript compatible when building the bundle.\n return normalPath.replace(/\\\\/g, '/');\n }\n return importName;\n}\n\nfunction isPrimitive(o: any): o is boolean|string|number {\n return o === null || (typeof o !== 'function' && typeof o !== 'object');\n}\n\nfunction getRootExport(symbol: Symbol): Symbol {\n return symbol.reexportedAs ? getRootExport(symbol.reexportedAs) : symbol;\n}\n\nfunction getSymbolDeclaration(symbol: Symbol): Symbol {\n return symbol.exports ? getSymbolDeclaration(symbol.exports) : symbol;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/bundler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as path from 'path';\nimport * as ts from 'typescript';\n\nimport {MetadataCollector} from '../metadata/collector';\nimport {ClassMetadata, ConstructorMetadata, FunctionMetadata, METADATA_VERSION, MemberMetadata, MetadataEntry, MetadataError, MetadataImportedSymbolReferenceExpression, MetadataMap, MetadataObject, MetadataSymbolicExpression, MetadataSymbolicReferenceExpression, MetadataValue, MethodMetadata, ModuleExportMetadata, ModuleMetadata, isClassMetadata, isConstructorMetadata, isFunctionMetadata, isInterfaceMetadata, isMetadataError, isMetadataGlobalReferenceExpression, isMetadataImportedSymbolReferenceExpression, isMetadataModuleReferenceExpression, isMetadataSymbolicExpression, isMethodMetadata} from '../metadata/schema';\n\n\n\n// The character set used to produce private names.\nconst PRIVATE_NAME_CHARS = 'abcdefghijklmnopqrstuvwxyz';\n\ninterface Symbol {\n module: string;\n name: string;\n\n // Produced by indirectly by exportAll() for symbols re-export another symbol.\n exports?: Symbol;\n\n // Produced by indirectly by exportAll() for symbols are re-exported by another symbol.\n reexportedAs?: Symbol;\n\n // Produced by canonicalizeSymbols() for all symbols. A symbol is private if it is not\n // exported by the index.\n isPrivate?: boolean;\n\n // Produced by canonicalizeSymbols() for all symbols. This is the one symbol that\n // respresents all other symbols and is the only symbol that, among all the re-exported\n // aliases, whose fields can be trusted to contain the correct information.\n // For private symbols this is the declaration symbol. For public symbols this is the\n // symbol that is exported.\n canonicalSymbol?: Symbol;\n\n // Produced by canonicalizeSymbols() for all symbols. This the symbol that originally\n // declared the value and should be used to fetch the value.\n declaration?: Symbol;\n\n // A symbol is referenced if it is exported from index or referenced by the value of\n // a referenced symbol's value.\n referenced?: boolean;\n\n // A symbol is marked as a re-export the symbol was rexported from a module that is\n // not part of the flat module bundle.\n reexport?: boolean;\n\n // Only valid for referenced canonical symbols. Produces by convertSymbols().\n value?: MetadataEntry;\n\n // Only valid for referenced private symbols. It is the name to use to import the symbol from\n // the bundle index. Produce by assignPrivateNames();\n privateName?: string;\n}\n\nexport interface BundleEntries { [name: string]: MetadataEntry; }\n\nexport interface BundlePrivateEntry {\n privateName: string;\n name: string;\n module: string;\n}\n\nexport interface BundledModule {\n metadata: ModuleMetadata;\n privates: BundlePrivateEntry[];\n}\n\nexport interface MetadataBundlerHost {\n getMetadataFor(moduleName: string): ModuleMetadata|undefined;\n}\n\ntype StaticsMetadata = {\n [name: string]: MetadataValue | FunctionMetadata;\n};\n\nexport class MetadataBundler {\n private symbolMap = new Map<string, Symbol>();\n private metadataCache = new Map<string, ModuleMetadata|undefined>();\n private exports = new Map<string, Symbol[]>();\n private rootModule: string;\n private exported: Set<Symbol>;\n\n constructor(\n private root: string, private importAs: string|undefined, private host: MetadataBundlerHost) {\n this.rootModule = `./${path.basename(root)}`;\n }\n\n getMetadataBundle(): BundledModule {\n // Export the root module. This also collects the transitive closure of all values referenced by\n // the exports.\n const exportedSymbols = this.exportAll(this.rootModule);\n this.canonicalizeSymbols(exportedSymbols);\n // TODO: exports? e.g. a module re-exports a symbol from another bundle\n const metadata = this.getEntries(exportedSymbols);\n const privates = Array.from(this.symbolMap.values())\n .filter(s => s.referenced && s.isPrivate)\n .map(s => ({\n privateName: s.privateName !,\n name: s.declaration !.name,\n module: s.declaration !.module\n }));\n const origins = Array.from(this.symbolMap.values())\n .filter(s => s.referenced && !s.reexport)\n .reduce<{[name: string]: string}>((p, s) => {\n p[s.isPrivate ? s.privateName ! : s.name] = s.declaration !.module;\n return p;\n }, {});\n const exports = this.getReExports(exportedSymbols);\n return {\n metadata: {\n __symbolic: 'module',\n version: METADATA_VERSION,\n exports: exports.length ? exports : undefined, metadata, origins,\n importAs: this.importAs !\n },\n privates\n };\n }\n\n static resolveModule(importName: string, from: string): string {\n return resolveModule(importName, from);\n }\n\n private getMetadata(moduleName: string): ModuleMetadata|undefined {\n let result = this.metadataCache.get(moduleName);\n if (!result) {\n if (moduleName.startsWith('.')) {\n const fullModuleName = resolveModule(moduleName, this.root);\n result = this.host.getMetadataFor(fullModuleName);\n }\n this.metadataCache.set(moduleName, result);\n }\n return result;\n }\n\n private exportAll(moduleName: string): Symbol[] {\n const module = this.getMetadata(moduleName);\n let result = this.exports.get(moduleName);\n\n if (result) {\n return result;\n }\n\n result = [];\n\n const exportSymbol = (exportedSymbol: Symbol, exportAs: string) => {\n const symbol = this.symbolOf(moduleName, exportAs);\n result !.push(symbol);\n exportedSymbol.reexportedAs = symbol;\n symbol.exports = exportedSymbol;\n };\n\n // Export all the symbols defined in this module.\n if (module && module.metadata) {\n for (let key in module.metadata) {\n const data = module.metadata[key];\n if (isMetadataImportedSymbolReferenceExpression(data)) {\n // This is a re-export of an imported symbol. Record this as a re-export.\n const exportFrom = resolveModule(data.module, moduleName);\n this.exportAll(exportFrom);\n const symbol = this.symbolOf(exportFrom, data.name);\n exportSymbol(symbol, key);\n } else {\n // Record that this symbol is exported by this module.\n result.push(this.symbolOf(moduleName, key));\n }\n }\n }\n\n // Export all the re-exports from this module\n if (module && module.exports) {\n for (const exportDeclaration of module.exports) {\n const exportFrom = resolveModule(exportDeclaration.from, moduleName);\n // Record all the exports from the module even if we don't use it directly.\n const exportedSymbols = this.exportAll(exportFrom);\n if (exportDeclaration.export) {\n // Re-export all the named exports from a module.\n for (const exportItem of exportDeclaration.export) {\n const name = typeof exportItem == 'string' ? exportItem : exportItem.name;\n const exportAs = typeof exportItem == 'string' ? exportItem : exportItem.as;\n const symbol = this.symbolOf(exportFrom, name);\n if (exportedSymbols && exportedSymbols.length == 1 && exportedSymbols[0].reexport &&\n exportedSymbols[0].name == '*') {\n // This is a named export from a module we have no metadata about. Record the named\n // export as a re-export.\n symbol.reexport = true;\n }\n exportSymbol(this.symbolOf(exportFrom, name), exportAs);\n }\n } else {\n // Re-export all the symbols from the module\n const exportedSymbols = this.exportAll(exportFrom);\n for (const exportedSymbol of exportedSymbols) {\n const name = exportedSymbol.name;\n exportSymbol(exportedSymbol, name);\n }\n }\n }\n }\n\n if (!module) {\n // If no metadata is found for this import then it is considered external to the\n // library and should be recorded as a re-export in the final metadata if it is\n // eventually re-exported.\n const symbol = this.symbolOf(moduleName, '*');\n symbol.reexport = true;\n result.push(symbol);\n }\n this.exports.set(moduleName, result);\n\n return result;\n }\n\n /**\n * Fill in the canonicalSymbol which is the symbol that should be imported by factories.\n * The canonical symbol is the one exported by the index file for the bundle or definition\n * symbol for private symbols that are not exported by bundle index.\n */\n private canonicalizeSymbols(exportedSymbols: Symbol[]) {\n const symbols = Array.from(this.symbolMap.values());\n this.exported = new Set(exportedSymbols);\n symbols.forEach(this.canonicalizeSymbol, this);\n }\n\n private canonicalizeSymbol(symbol: Symbol) {\n const rootExport = getRootExport(symbol);\n const declaration = getSymbolDeclaration(symbol);\n const isPrivate = !this.exported.has(rootExport);\n const canonicalSymbol = isPrivate ? declaration : rootExport;\n symbol.isPrivate = isPrivate;\n symbol.declaration = declaration;\n symbol.canonicalSymbol = canonicalSymbol;\n symbol.reexport = declaration.reexport;\n }\n\n private getEntries(exportedSymbols: Symbol[]): BundleEntries {\n const result: BundleEntries = {};\n\n const exportedNames = new Set(exportedSymbols.map(s => s.name));\n let privateName = 0;\n\n function newPrivateName(): string {\n while (true) {\n let digits: string[] = [];\n let index = privateName++;\n let base = PRIVATE_NAME_CHARS;\n while (!digits.length || index > 0) {\n digits.unshift(base[index % base.length]);\n index = Math.floor(index / base.length);\n }\n digits.unshift('\\u0275');\n const result = digits.join('');\n if (!exportedNames.has(result)) return result;\n }\n }\n\n exportedSymbols.forEach(symbol => this.convertSymbol(symbol));\n\n const symbolsMap = new Map<string, string[]>();\n Array.from(this.symbolMap.values()).forEach(symbol => {\n if (symbol.referenced && !symbol.reexport) {\n let name = symbol.name;\n const identifier = `${symbol.declaration!.module}:${symbol.declaration !.name}`;\n if (symbol.isPrivate && !symbol.privateName) {\n name = newPrivateName();\n symbol.privateName = name;\n }\n if (symbolsMap.has(identifier)) {\n const names = symbolsMap.get(identifier);\n names !.push(name);\n } else {\n symbolsMap.set(identifier, [name]);\n }\n result[name] = symbol.value !;\n }\n });\n\n // check for duplicated entries\n symbolsMap.forEach((names: string[], identifier: string) => {\n if (names.length > 1) {\n const [module, declaredName] = identifier.split(':');\n // prefer the export that uses the declared name (if any)\n let reference = names.indexOf(declaredName);\n if (reference === -1) {\n reference = 0;\n }\n\n // keep one entry and replace the others by references\n names.forEach((name: string, i: number) => {\n if (i !== reference) {\n result[name] = {__symbolic: 'reference', name: names[reference]};\n }\n });\n }\n });\n\n return result;\n }\n\n private getReExports(exportedSymbols: Symbol[]): ModuleExportMetadata[] {\n type ExportClause = {name: string, as: string}[];\n const modules = new Map<string, ExportClause>();\n const exportAlls = new Set<string>();\n for (const symbol of exportedSymbols) {\n if (symbol.reexport) {\n // symbol.declaration is guarenteed to be defined during the phase this method is called.\n const declaration = symbol.declaration !;\n const module = declaration.module;\n if (declaration !.name == '*') {\n // Reexport all the symbols.\n exportAlls.add(declaration.module);\n } else {\n // Re-export the symbol as the exported name.\n let entry = modules.get(module);\n if (!entry) {\n entry = [];\n modules.set(module, entry);\n }\n const as = symbol.name;\n const name = declaration.name;\n entry.push({name, as});\n }\n }\n }\n return [\n ...Array.from(exportAlls.values()).map(from => ({from})),\n ...Array.from(modules.entries()).map(([from, exports]) => ({export: exports, from}))\n ];\n }\n\n private convertSymbol(symbol: Symbol) {\n // canonicalSymbol is ensured to be defined before this is called.\n const canonicalSymbol = symbol.canonicalSymbol !;\n\n if (!canonicalSymbol.referenced) {\n canonicalSymbol.referenced = true;\n // declaration is ensured to be definded before this method is called.\n const declaration = canonicalSymbol.declaration !;\n const module = this.getMetadata(declaration.module);\n if (module) {\n const value = module.metadata[declaration.name];\n if (value && !declaration.name.startsWith('___')) {\n canonicalSymbol.value = this.convertEntry(declaration.module, value);\n }\n }\n }\n }\n\n private convertEntry(moduleName: string, value: MetadataEntry): MetadataEntry {\n if (isClassMetadata(value)) {\n return this.convertClass(moduleName, value);\n }\n if (isFunctionMetadata(value)) {\n return this.convertFunction(moduleName, value);\n }\n if (isInterfaceMetadata(value)) {\n return value;\n }\n return this.convertValue(moduleName, value);\n }\n\n private convertClass(moduleName: string, value: ClassMetadata): ClassMetadata {\n return {\n __symbolic: 'class',\n arity: value.arity,\n extends: this.convertExpression(moduleName, value.extends) !,\n decorators:\n value.decorators && value.decorators.map(d => this.convertExpression(moduleName, d) !),\n members: this.convertMembers(moduleName, value.members !),\n statics: value.statics && this.convertStatics(moduleName, value.statics)\n };\n }\n\n private convertMembers(moduleName: string, members: MetadataMap): MetadataMap {\n const result: MetadataMap = {};\n for (const name in members) {\n const value = members[name];\n result[name] = value.map(v => this.convertMember(moduleName, v));\n }\n return result;\n }\n\n private convertMember(moduleName: string, member: MemberMetadata) {\n const result: MemberMetadata = {__symbolic: member.__symbolic};\n result.decorators =\n member.decorators && member.decorators.map(d => this.convertExpression(moduleName, d) !);\n if (isMethodMetadata(member)) {\n (result as MethodMetadata).parameterDecorators = member.parameterDecorators &&\n member.parameterDecorators.map(\n d => d && d.map(p => this.convertExpression(moduleName, p) !));\n if (isConstructorMetadata(member)) {\n if (member.parameters) {\n (result as ConstructorMetadata).parameters =\n member.parameters.map(p => this.convertExpression(moduleName, p));\n }\n }\n }\n return result;\n }\n\n private convertStatics(moduleName: string, statics: StaticsMetadata): StaticsMetadata {\n let result: StaticsMetadata = {};\n for (const key in statics) {\n const value = statics[key];\n result[key] = isFunctionMetadata(value) ? this.convertFunction(moduleName, value) : value;\n }\n return result;\n }\n\n private convertFunction(moduleName: string, value: FunctionMetadata): FunctionMetadata {\n return {\n __symbolic: 'function',\n parameters: value.parameters,\n defaults: value.defaults && value.defaults.map(v => this.convertValue(moduleName, v)),\n value: this.convertValue(moduleName, value.value)\n };\n }\n\n private convertValue(moduleName: string, value: MetadataValue): MetadataValue {\n if (isPrimitive(value)) {\n return value;\n }\n if (isMetadataError(value)) {\n return this.convertError(moduleName, value);\n }\n if (isMetadataSymbolicExpression(value)) {\n return this.convertExpression(moduleName, value) !;\n }\n if (Array.isArray(value)) {\n return value.map(v => this.convertValue(moduleName, v));\n }\n\n // Otherwise it is a metadata object.\n const object = value as MetadataObject;\n const result: MetadataObject = {};\n for (const key in object) {\n result[key] = this.convertValue(moduleName, object[key]);\n }\n return result;\n }\n\n private convertExpression(\n moduleName: string, value: MetadataSymbolicExpression|MetadataError|null|\n undefined): MetadataSymbolicExpression|MetadataError|undefined|null {\n if (value) {\n switch (value.__symbolic) {\n case 'error':\n return this.convertError(moduleName, value as MetadataError);\n case 'reference':\n return this.convertReference(moduleName, value as MetadataSymbolicReferenceExpression);\n default:\n return this.convertExpressionNode(moduleName, value);\n }\n }\n return value;\n }\n\n private convertError(module: string, value: MetadataError): MetadataError {\n return {\n __symbolic: 'error',\n message: value.message,\n line: value.line,\n character: value.character,\n context: value.context, module\n };\n }\n\n private convertReference(moduleName: string, value: MetadataSymbolicReferenceExpression):\n MetadataSymbolicReferenceExpression|MetadataError|undefined {\n const createReference = (symbol: Symbol): MetadataSymbolicReferenceExpression => {\n const declaration = symbol.declaration !;\n if (declaration.module.startsWith('.')) {\n // Reference to a symbol defined in the module. Ensure it is converted then return a\n // references to the final symbol.\n this.convertSymbol(symbol);\n return {\n __symbolic: 'reference',\n get name() {\n // Resolved lazily because private names are assigned late.\n const canonicalSymbol = symbol.canonicalSymbol !;\n if (canonicalSymbol.isPrivate == null) {\n throw Error('Invalid state: isPrivate was not initialized');\n }\n return canonicalSymbol.isPrivate ? canonicalSymbol.privateName ! : canonicalSymbol.name;\n }\n };\n } else {\n // The symbol was a re-exported symbol from another module. Return a reference to the\n // original imported symbol.\n return {__symbolic: 'reference', name: declaration.name, module: declaration.module};\n }\n };\n\n if (isMetadataGlobalReferenceExpression(value)) {\n const metadata = this.getMetadata(moduleName);\n if (metadata && metadata.metadata && metadata.metadata[value.name]) {\n // Reference to a symbol defined in the module\n return createReference(this.canonicalSymbolOf(moduleName, value.name));\n }\n\n // If a reference has arguments, the arguments need to be converted.\n if (value.arguments) {\n return {\n __symbolic: 'reference',\n name: value.name,\n arguments: value.arguments.map(a => this.convertValue(moduleName, a))\n };\n }\n\n // Global references without arguments (such as to Math or JSON) are unmodified.\n return value;\n }\n\n if (isMetadataImportedSymbolReferenceExpression(value)) {\n // References to imported symbols are separated into two, references to bundled modules and\n // references to modules external to the bundle. If the module reference is relative it is\n // assumed to be in the bundle. If it is Global it is assumed to be outside the bundle.\n // References to symbols outside the bundle are left unmodified. References to symbol inside\n // the bundle need to be converted to a bundle import reference reachable from the bundle\n // index.\n\n if (value.module.startsWith('.')) {\n // Reference is to a symbol defined inside the module. Convert the reference to a reference\n // to the canonical symbol.\n const referencedModule = resolveModule(value.module, moduleName);\n const referencedName = value.name;\n return createReference(this.canonicalSymbolOf(referencedModule, referencedName));\n }\n\n // Value is a reference to a symbol defined outside the module.\n if (value.arguments) {\n // If a reference has arguments the arguments need to be converted.\n return {\n __symbolic: 'reference',\n name: value.name,\n module: value.module,\n arguments: value.arguments.map(a => this.convertValue(moduleName, a))\n };\n }\n return value;\n }\n\n if (isMetadataModuleReferenceExpression(value)) {\n // Cannot support references to bundled modules as the internal modules of a bundle are erased\n // by the bundler.\n if (value.module.startsWith('.')) {\n return {\n __symbolic: 'error',\n message: 'Unsupported bundled module reference',\n context: {module: value.module}\n };\n }\n\n // References to unbundled modules are unmodified.\n return value;\n }\n }\n\n private convertExpressionNode(moduleName: string, value: MetadataSymbolicExpression):\n MetadataSymbolicExpression {\n const result: MetadataSymbolicExpression = { __symbolic: value.__symbolic } as any;\n for (const key in value) {\n (result as any)[key] = this.convertValue(moduleName, (value as any)[key]);\n }\n return result;\n }\n\n private symbolOf(module: string, name: string): Symbol {\n const symbolKey = `${module}:${name}`;\n let symbol = this.symbolMap.get(symbolKey);\n if (!symbol) {\n symbol = {module, name};\n this.symbolMap.set(symbolKey, symbol);\n }\n return symbol;\n }\n\n private canonicalSymbolOf(module: string, name: string): Symbol {\n // Ensure the module has been seen.\n this.exportAll(module);\n const symbol = this.symbolOf(module, name);\n if (!symbol.canonicalSymbol) {\n this.canonicalizeSymbol(symbol);\n }\n return symbol;\n }\n}\n\nexport class CompilerHostAdapter implements MetadataBundlerHost {\n private collector = new MetadataCollector();\n\n constructor(private host: ts.CompilerHost) {}\n\n getMetadataFor(fileName: string): ModuleMetadata|undefined {\n const sourceFile = this.host.getSourceFile(fileName + '.ts', ts.ScriptTarget.Latest);\n return sourceFile && this.collector.getMetadata(sourceFile);\n }\n}\n\nfunction resolveModule(importName: string, from: string): string {\n if (importName.startsWith('.') && from) {\n let normalPath = path.normalize(path.join(path.dirname(from), importName));\n if (!normalPath.startsWith('.') && from.startsWith('.')) {\n // path.normalize() preserves leading '../' but not './'. This adds it back.\n normalPath = `.${path.sep}${normalPath}`;\n }\n // Replace windows path delimiters with forward-slashes. Otherwise the paths are not\n // TypeScript compatible when building the bundle.\n return normalPath.replace(/\\\\/g, '/');\n }\n return importName;\n}\n\nfunction isPrimitive(o: any): o is boolean|string|number {\n return o === null || (typeof o !== 'function' && typeof o !== 'object');\n}\n\nfunction getRootExport(symbol: Symbol): Symbol {\n return symbol.reexportedAs ? getRootExport(symbol.reexportedAs) : symbol;\n}\n\nfunction getSymbolDeclaration(symbol: Symbol): Symbol {\n return symbol.exports ? getSymbolDeclaration(symbol.exports) : symbol;\n}\n"]}
|
package/src/metadata/schema.d.ts
CHANGED
|
@@ -67,43 +67,41 @@ export interface FunctionMetadata {
|
|
|
67
67
|
value: MetadataValue;
|
|
68
68
|
}
|
|
69
69
|
export declare function isFunctionMetadata(value: any): value is FunctionMetadata;
|
|
70
|
-
export declare type MetadataValue = string | number | boolean | undefined | null | MetadataObject | MetadataArray | MetadataSymbolicExpression | MetadataError;
|
|
70
|
+
export declare type MetadataValue = string | number | boolean | undefined | null | MetadataObject | MetadataArray | MetadataSymbolicExpression | MetadataSymbolicReferenceExpression | MetadataSymbolicBinaryExpression | MetadataSymbolicIndexExpression | MetadataSymbolicCallExpression | MetadataSymbolicPrefixExpression | MetadataSymbolicIfExpression | MetadataSymbolicSpreadExpression | MetadataSymbolicSelectExpression | MetadataError;
|
|
71
71
|
export interface MetadataObject {
|
|
72
72
|
[name: string]: MetadataValue;
|
|
73
73
|
}
|
|
74
74
|
export interface MetadataArray {
|
|
75
75
|
[name: number]: MetadataValue;
|
|
76
76
|
}
|
|
77
|
-
export
|
|
78
|
-
__symbolic: 'binary' | 'call' | 'index' | 'new' | 'pre' | 'reference' | 'select' | 'spread' | 'if';
|
|
79
|
-
}
|
|
77
|
+
export declare type MetadataSymbolicExpression = MetadataSymbolicBinaryExpression | MetadataSymbolicIndexExpression | MetadataSymbolicIndexExpression | MetadataSymbolicCallExpression | MetadataSymbolicCallExpression | MetadataSymbolicPrefixExpression | MetadataSymbolicIfExpression | MetadataGlobalReferenceExpression | MetadataModuleReferenceExpression | MetadataImportedSymbolReferenceExpression | MetadataImportedDefaultReferenceExpression | MetadataSymbolicSelectExpression | MetadataSymbolicSpreadExpression;
|
|
80
78
|
export declare function isMetadataSymbolicExpression(value: any): value is MetadataSymbolicExpression;
|
|
81
|
-
export interface MetadataSymbolicBinaryExpression
|
|
79
|
+
export interface MetadataSymbolicBinaryExpression {
|
|
82
80
|
__symbolic: 'binary';
|
|
83
81
|
operator: '&&' | '||' | '|' | '^' | '&' | '==' | '!=' | '===' | '!==' | '<' | '>' | '<=' | '>=' | 'instanceof' | 'in' | 'as' | '<<' | '>>' | '>>>' | '+' | '-' | '*' | '/' | '%' | '**';
|
|
84
82
|
left: MetadataValue;
|
|
85
83
|
right: MetadataValue;
|
|
86
84
|
}
|
|
87
85
|
export declare function isMetadataSymbolicBinaryExpression(value: any): value is MetadataSymbolicBinaryExpression;
|
|
88
|
-
export interface MetadataSymbolicIndexExpression
|
|
86
|
+
export interface MetadataSymbolicIndexExpression {
|
|
89
87
|
__symbolic: 'index';
|
|
90
88
|
expression: MetadataValue;
|
|
91
89
|
index: MetadataValue;
|
|
92
90
|
}
|
|
93
91
|
export declare function isMetadataSymbolicIndexExpression(value: any): value is MetadataSymbolicIndexExpression;
|
|
94
|
-
export interface MetadataSymbolicCallExpression
|
|
92
|
+
export interface MetadataSymbolicCallExpression {
|
|
95
93
|
__symbolic: 'call' | 'new';
|
|
96
94
|
expression: MetadataValue;
|
|
97
95
|
arguments?: MetadataValue[];
|
|
98
96
|
}
|
|
99
97
|
export declare function isMetadataSymbolicCallExpression(value: any): value is MetadataSymbolicCallExpression;
|
|
100
|
-
export interface MetadataSymbolicPrefixExpression
|
|
98
|
+
export interface MetadataSymbolicPrefixExpression {
|
|
101
99
|
__symbolic: 'pre';
|
|
102
100
|
operator: '+' | '-' | '~' | '!';
|
|
103
101
|
operand: MetadataValue;
|
|
104
102
|
}
|
|
105
103
|
export declare function isMetadataSymbolicPrefixExpression(value: any): value is MetadataSymbolicPrefixExpression;
|
|
106
|
-
export interface MetadataSymbolicIfExpression
|
|
104
|
+
export interface MetadataSymbolicIfExpression {
|
|
107
105
|
__symbolic: 'if';
|
|
108
106
|
condition: MetadataValue;
|
|
109
107
|
thenExpression: MetadataValue;
|
|
@@ -120,25 +118,25 @@ export interface MetadataSourceLocationInfo {
|
|
|
120
118
|
*/
|
|
121
119
|
character?: number;
|
|
122
120
|
}
|
|
123
|
-
export interface MetadataGlobalReferenceExpression extends
|
|
121
|
+
export interface MetadataGlobalReferenceExpression extends MetadataSourceLocationInfo {
|
|
124
122
|
__symbolic: 'reference';
|
|
125
123
|
name: string;
|
|
126
124
|
arguments?: MetadataValue[];
|
|
127
125
|
}
|
|
128
126
|
export declare function isMetadataGlobalReferenceExpression(value: any): value is MetadataGlobalReferenceExpression;
|
|
129
|
-
export interface MetadataModuleReferenceExpression extends
|
|
127
|
+
export interface MetadataModuleReferenceExpression extends MetadataSourceLocationInfo {
|
|
130
128
|
__symbolic: 'reference';
|
|
131
129
|
module: string;
|
|
132
130
|
}
|
|
133
131
|
export declare function isMetadataModuleReferenceExpression(value: any): value is MetadataModuleReferenceExpression;
|
|
134
|
-
export interface MetadataImportedSymbolReferenceExpression extends
|
|
132
|
+
export interface MetadataImportedSymbolReferenceExpression extends MetadataSourceLocationInfo {
|
|
135
133
|
__symbolic: 'reference';
|
|
136
134
|
module: string;
|
|
137
135
|
name: string;
|
|
138
136
|
arguments?: MetadataValue[];
|
|
139
137
|
}
|
|
140
138
|
export declare function isMetadataImportedSymbolReferenceExpression(value: any): value is MetadataImportedSymbolReferenceExpression;
|
|
141
|
-
export interface MetadataImportedDefaultReferenceExpression extends
|
|
139
|
+
export interface MetadataImportedDefaultReferenceExpression extends MetadataSourceLocationInfo {
|
|
142
140
|
__symbolic: 'reference';
|
|
143
141
|
module: string;
|
|
144
142
|
default: boolean;
|
|
@@ -147,13 +145,13 @@ export interface MetadataImportedDefaultReferenceExpression extends MetadataSymb
|
|
|
147
145
|
export declare function isMetadataImportDefaultReference(value: any): value is MetadataImportedDefaultReferenceExpression;
|
|
148
146
|
export declare type MetadataSymbolicReferenceExpression = MetadataGlobalReferenceExpression | MetadataModuleReferenceExpression | MetadataImportedSymbolReferenceExpression | MetadataImportedDefaultReferenceExpression;
|
|
149
147
|
export declare function isMetadataSymbolicReferenceExpression(value: any): value is MetadataSymbolicReferenceExpression;
|
|
150
|
-
export interface MetadataSymbolicSelectExpression
|
|
148
|
+
export interface MetadataSymbolicSelectExpression {
|
|
151
149
|
__symbolic: 'select';
|
|
152
150
|
expression: MetadataValue;
|
|
153
|
-
|
|
151
|
+
member: string;
|
|
154
152
|
}
|
|
155
153
|
export declare function isMetadataSymbolicSelectExpression(value: any): value is MetadataSymbolicSelectExpression;
|
|
156
|
-
export interface MetadataSymbolicSpreadExpression
|
|
154
|
+
export interface MetadataSymbolicSpreadExpression {
|
|
157
155
|
__symbolic: 'spread';
|
|
158
156
|
expression: MetadataValue;
|
|
159
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// Metadata Schema\n\n// If you make a backwards incompatible change to the schema, increment the METADTA_VERSION number.\n\n// If you make a backwards compatible change to the metadata (such as adding an option field) then\n// leave METADATA_VERSION the same. If possible, supply as many versions of the metadata that can\n// represent the semantics of the file in an array. For example, when generating a version 2 file,\n// if version 1 can accurately represent the metadata, generate both version 1 and version 2 in\n// an array.\n\nexport const METADATA_VERSION = 4;\n\nexport type MetadataEntry = ClassMetadata | InterfaceMetadata | FunctionMetadata | MetadataValue;\n\nexport interface ModuleMetadata {\n __symbolic: 'module';\n version: number;\n exports?: ModuleExportMetadata[];\n importAs?: string;\n metadata: {[name: string]: MetadataEntry};\n origins?: {[name: string]: string};\n}\nexport function isModuleMetadata(value: any): value is ModuleMetadata {\n return value && value.__symbolic === 'module';\n}\n\nexport interface ModuleExportMetadata {\n export?: (string|{name: string, as: string})[];\n from: string;\n}\n\nexport interface ClassMetadata {\n __symbolic: 'class';\n extends?: MetadataSymbolicExpression|MetadataError;\n arity?: number;\n decorators?: (MetadataSymbolicExpression|MetadataError)[];\n members?: MetadataMap;\n statics?: {[name: string]: MetadataValue | FunctionMetadata};\n}\nexport function isClassMetadata(value: any): value is ClassMetadata {\n return value && value.__symbolic === 'class';\n}\n\nexport interface InterfaceMetadata { __symbolic: 'interface'; }\nexport function isInterfaceMetadata(value: any): value is InterfaceMetadata {\n return value && value.__symbolic === 'interface';\n}\n\nexport interface MetadataMap { [name: string]: MemberMetadata[]; }\n\nexport interface MemberMetadata {\n __symbolic: 'constructor'|'method'|'property';\n decorators?: (MetadataSymbolicExpression|MetadataError)[];\n}\nexport function isMemberMetadata(value: any): value is MemberMetadata {\n if (value) {\n switch (value.__symbolic) {\n case 'constructor':\n case 'method':\n case 'property':\n return true;\n }\n }\n return false;\n}\n\nexport interface MethodMetadata extends MemberMetadata {\n __symbolic: 'constructor'|'method';\n parameterDecorators?: ((MetadataSymbolicExpression | MetadataError)[]|undefined)[];\n}\nexport function isMethodMetadata(value: any): value is MethodMetadata {\n return value && (value.__symbolic === 'constructor' || value.__symbolic === 'method');\n}\n\nexport interface ConstructorMetadata extends MethodMetadata {\n __symbolic: 'constructor';\n parameters?: (MetadataSymbolicExpression|MetadataError|null|undefined)[];\n}\nexport function isConstructorMetadata(value: any): value is ConstructorMetadata {\n return value && value.__symbolic === 'constructor';\n}\n\nexport interface FunctionMetadata {\n __symbolic: 'function';\n parameters: string[];\n defaults?: MetadataValue[];\n value: MetadataValue;\n}\nexport function isFunctionMetadata(value: any): value is FunctionMetadata {\n return value && value.__symbolic === 'function';\n}\n\nexport type MetadataValue = string | number | boolean | undefined | null | MetadataObject |\n MetadataArray | MetadataSymbolicExpression | MetadataError;\n\nexport interface MetadataObject { [name: string]: MetadataValue; }\n\nexport interface MetadataArray { [name: number]: MetadataValue; }\n\nexport interface MetadataSymbolicExpression {\n __symbolic: 'binary'|'call'|'index'|'new'|'pre'|'reference'|'select'|'spread'|'if';\n}\nexport function isMetadataSymbolicExpression(value: any): value is MetadataSymbolicExpression {\n if (value) {\n switch (value.__symbolic) {\n case 'binary':\n case 'call':\n case 'index':\n case 'new':\n case 'pre':\n case 'reference':\n case 'select':\n case 'spread':\n case 'if':\n return true;\n }\n }\n return false;\n}\n\nexport interface MetadataSymbolicBinaryExpression extends MetadataSymbolicExpression {\n __symbolic: 'binary';\n operator: '&&'|'||'|'|'|'^'|'&'|'=='|'!='|'==='|'!=='|'<'|'>'|'<='|'>='|'instanceof'|'in'|'as'|\n '<<'|'>>'|'>>>'|'+'|'-'|'*'|'/'|'%'|'**';\n left: MetadataValue;\n right: MetadataValue;\n}\nexport function isMetadataSymbolicBinaryExpression(value: any):\n value is MetadataSymbolicBinaryExpression {\n return value && value.__symbolic === 'binary';\n}\n\nexport interface MetadataSymbolicIndexExpression extends MetadataSymbolicExpression {\n __symbolic: 'index';\n expression: MetadataValue;\n index: MetadataValue;\n}\nexport function isMetadataSymbolicIndexExpression(value: any):\n value is MetadataSymbolicIndexExpression {\n return value && value.__symbolic === 'index';\n}\n\nexport interface MetadataSymbolicCallExpression extends MetadataSymbolicExpression {\n __symbolic: 'call'|'new';\n expression: MetadataValue;\n arguments?: MetadataValue[];\n}\nexport function isMetadataSymbolicCallExpression(value: any):\n value is MetadataSymbolicCallExpression {\n return value && (value.__symbolic === 'call' || value.__symbolic === 'new');\n}\n\nexport interface MetadataSymbolicPrefixExpression extends MetadataSymbolicExpression {\n __symbolic: 'pre';\n operator: '+'|'-'|'~'|'!';\n operand: MetadataValue;\n}\nexport function isMetadataSymbolicPrefixExpression(value: any):\n value is MetadataSymbolicPrefixExpression {\n return value && value.__symbolic === 'pre';\n}\n\nexport interface MetadataSymbolicIfExpression extends MetadataSymbolicExpression {\n __symbolic: 'if';\n condition: MetadataValue;\n thenExpression: MetadataValue;\n elseExpression: MetadataValue;\n}\nexport function isMetadataSymbolicIfExpression(value: any): value is MetadataSymbolicIfExpression {\n return value && value.__symbolic === 'if';\n}\n\nexport interface MetadataSourceLocationInfo {\n /**\n * The line number of the error in the .ts file the metadata was created for.\n */\n line?: number;\n\n /**\n * The number of utf8 code-units from the beginning of the file of the error.\n */\n character?: number;\n}\n\nexport interface MetadataGlobalReferenceExpression extends MetadataSymbolicExpression,\n MetadataSourceLocationInfo {\n __symbolic: 'reference';\n name: string;\n arguments?: MetadataValue[];\n}\nexport function isMetadataGlobalReferenceExpression(value: any):\n value is MetadataGlobalReferenceExpression {\n return value && value.name && !value.module && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataModuleReferenceExpression extends MetadataSymbolicExpression,\n MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n}\nexport function isMetadataModuleReferenceExpression(value: any):\n value is MetadataModuleReferenceExpression {\n return value && value.module && !value.name && !value.default &&\n isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataImportedSymbolReferenceExpression extends MetadataSymbolicExpression,\n MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n name: string;\n arguments?: MetadataValue[];\n}\nexport function isMetadataImportedSymbolReferenceExpression(value: any):\n value is MetadataImportedSymbolReferenceExpression {\n return value && value.module && !!value.name && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataImportedDefaultReferenceExpression extends MetadataSymbolicExpression,\n MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n default:\n boolean;\n arguments?: MetadataValue[];\n}\nexport function isMetadataImportDefaultReference(value: any):\n value is MetadataImportedDefaultReferenceExpression {\n return value && value.module && value.default && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport type MetadataSymbolicReferenceExpression = MetadataGlobalReferenceExpression |\n MetadataModuleReferenceExpression | MetadataImportedSymbolReferenceExpression |\n MetadataImportedDefaultReferenceExpression;\nexport function isMetadataSymbolicReferenceExpression(value: any):\n value is MetadataSymbolicReferenceExpression {\n return value && value.__symbolic === 'reference';\n}\n\nexport interface MetadataSymbolicSelectExpression extends MetadataSymbolicExpression {\n __symbolic: 'select';\n expression: MetadataValue;\n name: string;\n}\nexport function isMetadataSymbolicSelectExpression(value: any):\n value is MetadataSymbolicSelectExpression {\n return value && value.__symbolic === 'select';\n}\n\nexport interface MetadataSymbolicSpreadExpression extends MetadataSymbolicExpression {\n __symbolic: 'spread';\n expression: MetadataValue;\n}\nexport function isMetadataSymbolicSpreadExpression(value: any):\n value is MetadataSymbolicSpreadExpression {\n return value && value.__symbolic === 'spread';\n}\n\nexport interface MetadataError extends MetadataSourceLocationInfo {\n __symbolic: 'error';\n\n /**\n * This message should be short and relatively discriptive and should be fixed once it is created.\n * If the reader doesn't recognize the message, it will display the message unmodified. If the\n * reader recognizes the error message is it free to use substitute message the is more\n * descriptive and/or localized.\n */\n message: string;\n\n /**\n * The module of the error (only used in bundled metadata)\n */\n module?: string;\n\n /**\n * Context information that can be used to generate a more descriptive error message. The content\n * of the context is dependent on the error message.\n */\n context?: {[name: string]: string};\n}\n\nexport function isMetadataError(value: any): value is MetadataError {\n return value && value.__symbolic === 'error';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../packages/compiler-cli/src/metadata/schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// Metadata Schema\n\n// If you make a backwards incompatible change to the schema, increment the METADTA_VERSION number.\n\n// If you make a backwards compatible change to the metadata (such as adding an option field) then\n// leave METADATA_VERSION the same. If possible, supply as many versions of the metadata that can\n// represent the semantics of the file in an array. For example, when generating a version 2 file,\n// if version 1 can accurately represent the metadata, generate both version 1 and version 2 in\n// an array.\n\nexport const METADATA_VERSION = 4;\n\nexport type MetadataEntry = ClassMetadata | InterfaceMetadata | FunctionMetadata | MetadataValue;\n\nexport interface ModuleMetadata {\n __symbolic: 'module';\n version: number;\n exports?: ModuleExportMetadata[];\n importAs?: string;\n metadata: {[name: string]: MetadataEntry};\n origins?: {[name: string]: string};\n}\nexport function isModuleMetadata(value: any): value is ModuleMetadata {\n return value && value.__symbolic === 'module';\n}\n\nexport interface ModuleExportMetadata {\n export?: (string|{name: string, as: string})[];\n from: string;\n}\n\nexport interface ClassMetadata {\n __symbolic: 'class';\n extends?: MetadataSymbolicExpression|MetadataError;\n arity?: number;\n decorators?: (MetadataSymbolicExpression|MetadataError)[];\n members?: MetadataMap;\n statics?: {[name: string]: MetadataValue | FunctionMetadata};\n}\nexport function isClassMetadata(value: any): value is ClassMetadata {\n return value && value.__symbolic === 'class';\n}\n\nexport interface InterfaceMetadata { __symbolic: 'interface'; }\nexport function isInterfaceMetadata(value: any): value is InterfaceMetadata {\n return value && value.__symbolic === 'interface';\n}\n\nexport interface MetadataMap { [name: string]: MemberMetadata[]; }\n\nexport interface MemberMetadata {\n __symbolic: 'constructor'|'method'|'property';\n decorators?: (MetadataSymbolicExpression|MetadataError)[];\n}\nexport function isMemberMetadata(value: any): value is MemberMetadata {\n if (value) {\n switch (value.__symbolic) {\n case 'constructor':\n case 'method':\n case 'property':\n return true;\n }\n }\n return false;\n}\n\nexport interface MethodMetadata extends MemberMetadata {\n __symbolic: 'constructor'|'method';\n parameterDecorators?: ((MetadataSymbolicExpression | MetadataError)[]|undefined)[];\n}\nexport function isMethodMetadata(value: any): value is MethodMetadata {\n return value && (value.__symbolic === 'constructor' || value.__symbolic === 'method');\n}\n\nexport interface ConstructorMetadata extends MethodMetadata {\n __symbolic: 'constructor';\n parameters?: (MetadataSymbolicExpression|MetadataError|null|undefined)[];\n}\nexport function isConstructorMetadata(value: any): value is ConstructorMetadata {\n return value && value.__symbolic === 'constructor';\n}\n\nexport interface FunctionMetadata {\n __symbolic: 'function';\n parameters: string[];\n defaults?: MetadataValue[];\n value: MetadataValue;\n}\nexport function isFunctionMetadata(value: any): value is FunctionMetadata {\n return value && value.__symbolic === 'function';\n}\n\nexport type MetadataValue = string | number | boolean | undefined | null | MetadataObject |\n MetadataArray | MetadataSymbolicExpression | MetadataSymbolicReferenceExpression |\n MetadataSymbolicBinaryExpression | MetadataSymbolicIndexExpression |\n MetadataSymbolicCallExpression | MetadataSymbolicPrefixExpression |\n MetadataSymbolicIfExpression | MetadataSymbolicSpreadExpression |\n MetadataSymbolicSelectExpression | MetadataError;\n\nexport interface MetadataObject { [name: string]: MetadataValue; }\n\nexport interface MetadataArray { [name: number]: MetadataValue; }\n\nexport type MetadataSymbolicExpression = MetadataSymbolicBinaryExpression |\n MetadataSymbolicIndexExpression | MetadataSymbolicIndexExpression |\n MetadataSymbolicCallExpression | MetadataSymbolicCallExpression |\n MetadataSymbolicPrefixExpression | MetadataSymbolicIfExpression |\n MetadataGlobalReferenceExpression | MetadataModuleReferenceExpression |\n MetadataImportedSymbolReferenceExpression | MetadataImportedDefaultReferenceExpression |\n MetadataSymbolicSelectExpression | MetadataSymbolicSpreadExpression;\n\nexport function isMetadataSymbolicExpression(value: any): value is MetadataSymbolicExpression {\n if (value) {\n switch (value.__symbolic) {\n case 'binary':\n case 'call':\n case 'index':\n case 'new':\n case 'pre':\n case 'reference':\n case 'select':\n case 'spread':\n case 'if':\n return true;\n }\n }\n return false;\n}\n\nexport interface MetadataSymbolicBinaryExpression {\n __symbolic: 'binary';\n operator: '&&'|'||'|'|'|'^'|'&'|'=='|'!='|'==='|'!=='|'<'|'>'|'<='|'>='|'instanceof'|'in'|'as'|\n '<<'|'>>'|'>>>'|'+'|'-'|'*'|'/'|'%'|'**';\n left: MetadataValue;\n right: MetadataValue;\n}\nexport function isMetadataSymbolicBinaryExpression(value: any):\n value is MetadataSymbolicBinaryExpression {\n return value && value.__symbolic === 'binary';\n}\n\nexport interface MetadataSymbolicIndexExpression {\n __symbolic: 'index';\n expression: MetadataValue;\n index: MetadataValue;\n}\nexport function isMetadataSymbolicIndexExpression(value: any):\n value is MetadataSymbolicIndexExpression {\n return value && value.__symbolic === 'index';\n}\n\nexport interface MetadataSymbolicCallExpression {\n __symbolic: 'call'|'new';\n expression: MetadataValue;\n arguments?: MetadataValue[];\n}\nexport function isMetadataSymbolicCallExpression(value: any):\n value is MetadataSymbolicCallExpression {\n return value && (value.__symbolic === 'call' || value.__symbolic === 'new');\n}\n\nexport interface MetadataSymbolicPrefixExpression {\n __symbolic: 'pre';\n operator: '+'|'-'|'~'|'!';\n operand: MetadataValue;\n}\nexport function isMetadataSymbolicPrefixExpression(value: any):\n value is MetadataSymbolicPrefixExpression {\n return value && value.__symbolic === 'pre';\n}\n\nexport interface MetadataSymbolicIfExpression {\n __symbolic: 'if';\n condition: MetadataValue;\n thenExpression: MetadataValue;\n elseExpression: MetadataValue;\n}\nexport function isMetadataSymbolicIfExpression(value: any): value is MetadataSymbolicIfExpression {\n return value && value.__symbolic === 'if';\n}\n\nexport interface MetadataSourceLocationInfo {\n /**\n * The line number of the error in the .ts file the metadata was created for.\n */\n line?: number;\n\n /**\n * The number of utf8 code-units from the beginning of the file of the error.\n */\n character?: number;\n}\n\nexport interface MetadataGlobalReferenceExpression extends MetadataSourceLocationInfo {\n __symbolic: 'reference';\n name: string;\n arguments?: MetadataValue[];\n}\nexport function isMetadataGlobalReferenceExpression(value: any):\n value is MetadataGlobalReferenceExpression {\n return value && value.name && !value.module && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataModuleReferenceExpression extends MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n}\nexport function isMetadataModuleReferenceExpression(value: any):\n value is MetadataModuleReferenceExpression {\n return value && value.module && !value.name && !value.default &&\n isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataImportedSymbolReferenceExpression extends MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n name: string;\n arguments?: MetadataValue[];\n}\nexport function isMetadataImportedSymbolReferenceExpression(value: any):\n value is MetadataImportedSymbolReferenceExpression {\n return value && value.module && !!value.name && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport interface MetadataImportedDefaultReferenceExpression extends MetadataSourceLocationInfo {\n __symbolic: 'reference';\n module: string;\n default:\n boolean;\n arguments?: MetadataValue[];\n}\nexport function isMetadataImportDefaultReference(value: any):\n value is MetadataImportedDefaultReferenceExpression {\n return value && value.module && value.default && isMetadataSymbolicReferenceExpression(value);\n}\n\nexport type MetadataSymbolicReferenceExpression = MetadataGlobalReferenceExpression |\n MetadataModuleReferenceExpression | MetadataImportedSymbolReferenceExpression |\n MetadataImportedDefaultReferenceExpression;\nexport function isMetadataSymbolicReferenceExpression(value: any):\n value is MetadataSymbolicReferenceExpression {\n return value && value.__symbolic === 'reference';\n}\n\nexport interface MetadataSymbolicSelectExpression {\n __symbolic: 'select';\n expression: MetadataValue;\n member: string;\n}\nexport function isMetadataSymbolicSelectExpression(value: any):\n value is MetadataSymbolicSelectExpression {\n return value && value.__symbolic === 'select';\n}\n\nexport interface MetadataSymbolicSpreadExpression {\n __symbolic: 'spread';\n expression: MetadataValue;\n}\nexport function isMetadataSymbolicSpreadExpression(value: any):\n value is MetadataSymbolicSpreadExpression {\n return value && value.__symbolic === 'spread';\n}\n\nexport interface MetadataError extends MetadataSourceLocationInfo {\n __symbolic: 'error';\n\n /**\n * This message should be short and relatively discriptive and should be fixed once it is created.\n * If the reader doesn't recognize the message, it will display the message unmodified. If the\n * reader recognizes the error message is it free to use substitute message the is more\n * descriptive and/or localized.\n */\n message: string;\n\n /**\n * The module of the error (only used in bundled metadata)\n */\n module?: string;\n\n /**\n * Context information that can be used to generate a more descriptive error message. The content\n * of the context is dependent on the error message.\n */\n context?: {[name: string]: string};\n}\n\nexport function isMetadataError(value: any): value is MetadataError {\n return value && value.__symbolic === 'error';\n}\n"]}
|
package/src/ngtools_api2.d.ts
CHANGED
|
@@ -96,12 +96,12 @@ export interface LazyRoute {
|
|
|
96
96
|
}
|
|
97
97
|
export interface Program {
|
|
98
98
|
getTsProgram(): ts.Program;
|
|
99
|
-
getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken): ts.Diagnostic
|
|
100
|
-
getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken): Diagnostic
|
|
101
|
-
getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ts.Diagnostic
|
|
102
|
-
getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken): Diagnostic
|
|
103
|
-
getTsSemanticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ts.Diagnostic
|
|
104
|
-
getNgSemanticDiagnostics(fileName?: string, cancellationToken?: ts.CancellationToken): Diagnostic
|
|
99
|
+
getTsOptionDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>;
|
|
100
|
+
getNgOptionDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<Diagnostic>;
|
|
101
|
+
getTsSyntacticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>;
|
|
102
|
+
getNgStructuralDiagnostics(cancellationToken?: ts.CancellationToken): ReadonlyArray<Diagnostic>;
|
|
103
|
+
getTsSemanticDiagnostics(sourceFile?: ts.SourceFile, cancellationToken?: ts.CancellationToken): ReadonlyArray<ts.Diagnostic>;
|
|
104
|
+
getNgSemanticDiagnostics(fileName?: string, cancellationToken?: ts.CancellationToken): ReadonlyArray<Diagnostic>;
|
|
105
105
|
loadNgStructureAsync(): Promise<void>;
|
|
106
106
|
listLazyRoutes(entryRoute?: string): LazyRoute[];
|
|
107
107
|
emit({emitFlags, cancellationToken, customTransformers, emitCallback}: {
|
|
@@ -121,5 +121,5 @@ export declare function createCompilerHost({options, tsHost}: {
|
|
|
121
121
|
options: CompilerOptions;
|
|
122
122
|
tsHost?: ts.CompilerHost;
|
|
123
123
|
}): CompilerHost;
|
|
124
|
-
export declare type Diagnostics =
|
|
124
|
+
export declare type Diagnostics = ReadonlyArray<ts.Diagnostic | Diagnostic>;
|
|
125
125
|
export declare function formatDiagnostics(diags: Diagnostics): string;
|