feat: add support for TypeScript 3.3 (and drop older versions) (#29004)
https://blogs.msdn.microsoft.com/typescript/2019/01/31/announcing-typescript-3-3/ BREAKING CHANGE: TypeScript 3.1 and 3.2 are no longer supported. Please update your TypeScript version to 3.3 PR Close #29004
This commit is contained in:
parent
9a7f5601fa
commit
75748d6044
|
@ -157,7 +157,7 @@
|
||||||
"tree-kill": "^1.1.0",
|
"tree-kill": "^1.1.0",
|
||||||
"ts-node": "^3.3.0",
|
"ts-node": "^3.3.0",
|
||||||
"tslint": "~5.9.1",
|
"tslint": "~5.9.1",
|
||||||
"typescript": "^3.2.2",
|
"typescript": "~3.3.3333",
|
||||||
"uglify-js": "^3.0.15",
|
"uglify-js": "^3.0.15",
|
||||||
"unist-util-filter": "^0.2.1",
|
"unist-util-filter": "^0.2.1",
|
||||||
"unist-util-source": "^1.0.1",
|
"unist-util-source": "^1.0.1",
|
||||||
|
|
|
@ -10125,6 +10125,11 @@ typescript@^2.4.1:
|
||||||
version "2.6.2"
|
version "2.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
|
||||||
|
|
||||||
|
typescript@~3.3.3333:
|
||||||
|
version "3.3.3333"
|
||||||
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6"
|
||||||
|
integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==
|
||||||
|
|
||||||
uglify-es@^3.3.4:
|
uglify-es@^3.3.4:
|
||||||
version "3.3.9"
|
version "3.3.9"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
|
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
|
||||||
|
|
|
@ -26,6 +26,11 @@ function testBazel() {
|
||||||
# Create project
|
# Create project
|
||||||
ng new demo --collection=@angular/bazel --defaults --skip-git --skip-install --style=scss
|
ng new demo --collection=@angular/bazel --defaults --skip-git --skip-install --style=scss
|
||||||
cd demo
|
cd demo
|
||||||
|
# Do an initial install to ensure packages like node-sass are built.
|
||||||
|
yarn
|
||||||
|
# Force more recent TS version until new Angular CLI projects also use it.
|
||||||
|
# --ignore-scripts is necessary because there is a postinstall script that uses ngc.
|
||||||
|
yarn add typescript@3.3.3333 --dev --ignore-scripts
|
||||||
installLocalPackages
|
installLocalPackages
|
||||||
yarn webdriver-manager update --gecko=false --standalone=false ${CI_CHROMEDRIVER_VERSION_ARG:---versions.chrome 2.45}
|
yarn webdriver-manager update --gecko=false --standalone=false ${CI_CHROMEDRIVER_VERSION_ARG:---versions.chrome 2.45}
|
||||||
ng generate component widget --style=css
|
ng generate component widget --style=css
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
"@types/jasmine": "2.8.8",
|
"@types/jasmine": "2.8.8",
|
||||||
"@types/source-map": "0.5.1",
|
"@types/source-map": "0.5.1",
|
||||||
"protractor": "5.1.2",
|
"protractor": "5.1.2",
|
||||||
"typescript": "3.1.1"
|
"typescript": "3.3.3333"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"postinstall": "ngc -p ./angular-metadata.tsconfig.json",
|
"postinstall": "ngc -p ./angular-metadata.tsconfig.json",
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"name": "angular-integration",
|
|
||||||
"description": "Assert that users with TypeScript 3.1 can type-check an Angular application",
|
|
||||||
"version": "0.0.0",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@angular/animations": "file:../../dist/packages-dist/animations",
|
|
||||||
"@angular/common": "file:../../dist/packages-dist/common",
|
|
||||||
"@angular/compiler": "file:../../dist/packages-dist/compiler",
|
|
||||||
"@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli",
|
|
||||||
"@angular/core": "file:../../dist/packages-dist/core",
|
|
||||||
"@angular/elements": "file:../../dist/packages-dist/elements",
|
|
||||||
"@angular/forms": "file:../../dist/packages-dist/forms",
|
|
||||||
"@angular/http": "file:../../dist/packages-dist/http",
|
|
||||||
"@angular/platform-browser": "file:../../dist/packages-dist/platform-browser",
|
|
||||||
"@angular/platform-browser-dynamic": "file:../../dist/packages-dist/platform-browser-dynamic",
|
|
||||||
"@angular/platform-server": "file:../../dist/packages-dist/platform-server",
|
|
||||||
"@angular/platform-webworker": "file:../../dist/packages-dist/platform-webworker",
|
|
||||||
"@angular/platform-webworker-dynamic": "file:../../dist/packages-dist/platform-webworker-dynamic",
|
|
||||||
"@angular/router": "file:../../dist/packages-dist/router",
|
|
||||||
"@angular/service-worker": "file:../../dist/packages-dist/service-worker",
|
|
||||||
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
|
|
||||||
"@types/jasmine": "2.5.41",
|
|
||||||
"rxjs": "file:../../node_modules/rxjs",
|
|
||||||
"typescript": "3.1.x",
|
|
||||||
"zone.js": "file:../../node_modules/zone.js"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"test": "tsc"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"outDir": "../../dist/typings_test_ts31/",
|
|
||||||
"rootDir": ".",
|
|
||||||
"target": "es5",
|
|
||||||
"lib": [
|
|
||||||
"es5",
|
|
||||||
"dom",
|
|
||||||
"es2015.collection",
|
|
||||||
"es2015.iterable",
|
|
||||||
"es2015.promise"
|
|
||||||
],
|
|
||||||
"types": [],
|
|
||||||
"strictNullChecks": true
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"include-all.ts",
|
|
||||||
"node_modules/@types/jasmine/index.d.ts"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
/**
|
|
||||||
* @license
|
|
||||||
* Copyright Google Inc. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Use of this source code is governed by an MIT-style license that can be
|
|
||||||
* found in the LICENSE file at https://angular.io/license
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import * as animations from '@angular/animations';
|
|
||||||
import * as animationsBrowser from '@angular/animations/browser';
|
|
||||||
import * as animationsBrowserTesting from '@angular/animations/browser/testing';
|
|
||||||
import * as common from '@angular/common';
|
|
||||||
import * as commonHttp from '@angular/common/http';
|
|
||||||
import * as commonTesting from '@angular/common/testing';
|
|
||||||
import * as commonHttpTesting from '@angular/common/testing';
|
|
||||||
import * as compiler from '@angular/compiler';
|
|
||||||
import * as compilerTesting from '@angular/compiler/testing';
|
|
||||||
import * as core from '@angular/core';
|
|
||||||
import * as coreTesting from '@angular/core/testing';
|
|
||||||
import * as elements from '@angular/elements';
|
|
||||||
import * as forms from '@angular/forms';
|
|
||||||
import * as http from '@angular/http';
|
|
||||||
import * as httpTesting from '@angular/http/testing';
|
|
||||||
import * as platformBrowser from '@angular/platform-browser';
|
|
||||||
import * as platformBrowserDynamic from '@angular/platform-browser-dynamic';
|
|
||||||
import * as platformBrowserDynamicTesting from '@angular/platform-browser-dynamic/testing';
|
|
||||||
import * as platformBrowserAnimations from '@angular/platform-browser/animations';
|
|
||||||
import * as platformBrowserTesting from '@angular/platform-browser/testing';
|
|
||||||
import * as platformServer from '@angular/platform-server';
|
|
||||||
import * as platformServerTesting from '@angular/platform-server/testing';
|
|
||||||
import * as platformWebworker from '@angular/platform-webworker';
|
|
||||||
import * as platformWebworkerDynamic from '@angular/platform-webworker-dynamic';
|
|
||||||
import * as router from '@angular/router';
|
|
||||||
import * as routerTesting from '@angular/router/testing';
|
|
||||||
import * as routerUpgrade from '@angular/router/upgrade';
|
|
||||||
import * as serviceWorker from '@angular/service-worker';
|
|
||||||
import * as upgrade from '@angular/upgrade';
|
|
||||||
import * as upgradeStatic from '@angular/upgrade/static';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
animations,
|
|
||||||
animationsBrowser,
|
|
||||||
animationsBrowserTesting,
|
|
||||||
common,
|
|
||||||
commonTesting,
|
|
||||||
commonHttp,
|
|
||||||
commonHttpTesting,
|
|
||||||
compiler,
|
|
||||||
compilerTesting,
|
|
||||||
core,
|
|
||||||
coreTesting,
|
|
||||||
elements,
|
|
||||||
forms,
|
|
||||||
http,
|
|
||||||
httpTesting,
|
|
||||||
platformBrowser,
|
|
||||||
platformBrowserTesting,
|
|
||||||
platformBrowserDynamic,
|
|
||||||
platformBrowserDynamicTesting,
|
|
||||||
platformBrowserAnimations,
|
|
||||||
platformServer,
|
|
||||||
platformServerTesting,
|
|
||||||
platformWebworker,
|
|
||||||
platformWebworkerDynamic,
|
|
||||||
router,
|
|
||||||
routerTesting,
|
|
||||||
routerUpgrade,
|
|
||||||
serviceWorker,
|
|
||||||
upgrade,
|
|
||||||
upgradeStatic
|
|
||||||
};
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "angular-integration",
|
"name": "angular-integration",
|
||||||
"description": "Assert that users with TypeScript 3.2 can type-check an Angular application",
|
"description": "Assert that users with TypeScript 3.3 can type-check an Angular application",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
|
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
|
||||||
"@types/jasmine": "2.5.41",
|
"@types/jasmine": "2.5.41",
|
||||||
"rxjs": "file:../../node_modules/rxjs",
|
"rxjs": "file:../../node_modules/rxjs",
|
||||||
"typescript": "3.2.x",
|
"typescript": "3.3.x",
|
||||||
"zone.js": "file:../../node_modules/zone.js"
|
"zone.js": "file:../../node_modules/zone.js"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
|
@ -94,9 +94,9 @@
|
||||||
"source-map": "^0.6.1",
|
"source-map": "^0.6.1",
|
||||||
"source-map-support": "0.5.9",
|
"source-map-support": "0.5.9",
|
||||||
"systemjs": "0.18.10",
|
"systemjs": "0.18.10",
|
||||||
"tsickle": "0.34.0",
|
"tsickle": "0.34.3",
|
||||||
"tslib": "^1.9.0",
|
"tslib": "^1.9.0",
|
||||||
"typescript": "~3.2.2",
|
"typescript": "~3.3.3333",
|
||||||
"xhr2": "0.1.4",
|
"xhr2": "0.1.4",
|
||||||
"yargs": "9.0.1",
|
"yargs": "9.0.1",
|
||||||
"zone.js": "^0.8.26"
|
"zone.js": "^0.8.26"
|
||||||
|
|
|
@ -28,11 +28,11 @@
|
||||||
"@types/node": "6.0.84",
|
"@types/node": "6.0.84",
|
||||||
"semver": "^5.6.0",
|
"semver": "^5.6.0",
|
||||||
"shelljs": "0.8.2",
|
"shelljs": "0.8.2",
|
||||||
"tsickle": "0.34.0"
|
"tsickle": "0.34.3"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/compiler-cli": "0.0.0-PLACEHOLDER",
|
"@angular/compiler-cli": "0.0.0-PLACEHOLDER",
|
||||||
"typescript": ">=3.1.1 <3.3"
|
"typescript": ">=3.3.3333 <3.4"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -300,7 +300,7 @@ export * from './index';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
|
@ -316,7 +316,7 @@ export { MyModule } from './mymodule';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
|
@ -337,7 +337,7 @@ MyModule.decorators = [
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
|
@ -371,7 +371,7 @@ export * from './index';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* @license
|
* @license
|
||||||
|
@ -514,7 +514,7 @@ import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
class SecondaryModule {
|
class SecondaryModule {
|
||||||
}
|
}
|
||||||
|
@ -526,7 +526,7 @@ const a = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -549,7 +549,7 @@ import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
class MyModule {
|
class MyModule {
|
||||||
}
|
}
|
||||||
|
@ -559,7 +559,7 @@ MyModule.decorators = [
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/compiler": "0.0.0-PLACEHOLDER",
|
"@angular/compiler": "0.0.0-PLACEHOLDER",
|
||||||
"typescript": ">=3.1.1 <3.3"
|
"typescript": ">=3.3.3333 <3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8.0"
|
"node": ">=8.0"
|
||||||
|
|
|
@ -44,6 +44,9 @@ export class GeneratedShimsHostWrapper implements ts.CompilerHost {
|
||||||
if (delegate.directoryExists !== undefined) {
|
if (delegate.directoryExists !== undefined) {
|
||||||
this.directoryExists = (directoryName: string) => delegate.directoryExists !(directoryName);
|
this.directoryExists = (directoryName: string) => delegate.directoryExists !(directoryName);
|
||||||
}
|
}
|
||||||
|
if (delegate.getDirectories !== undefined) {
|
||||||
|
this.getDirectories = (path: string) => delegate.getDirectories !(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resolveTypeReferenceDirectives?:
|
resolveTypeReferenceDirectives?:
|
||||||
|
@ -84,7 +87,7 @@ export class GeneratedShimsHostWrapper implements ts.CompilerHost {
|
||||||
|
|
||||||
getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); }
|
getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); }
|
||||||
|
|
||||||
getDirectories(path: string): string[] { return this.delegate.getDirectories(path); }
|
getDirectories?: (path: string) => string[];
|
||||||
|
|
||||||
getCanonicalFileName(fileName: string): string {
|
getCanonicalFileName(fileName: string): string {
|
||||||
return this.delegate.getCanonicalFileName(fileName);
|
return this.delegate.getCanonicalFileName(fileName);
|
||||||
|
|
|
@ -41,6 +41,9 @@ export class SyntheticFilesCompilerHost implements PluginCompilerHost {
|
||||||
this.syntheticFiles.set(generated.fileName, generated);
|
this.syntheticFiles.set(generated.fileName, generated);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (delegate.getDirectories !== undefined) {
|
||||||
|
this.getDirectories = (path: string) => delegate.getDirectories !(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileExists(filePath: string): boolean {
|
fileExists(filePath: string): boolean {
|
||||||
|
@ -88,7 +91,7 @@ export class SyntheticFilesCompilerHost implements PluginCompilerHost {
|
||||||
|
|
||||||
getNewLine(): string { return this.delegate.getNewLine(); }
|
getNewLine(): string { return this.delegate.getNewLine(); }
|
||||||
|
|
||||||
getDirectories(path: string) { return this.delegate.getDirectories(path); }
|
getDirectories?: (path: string) => string[];
|
||||||
|
|
||||||
readFile(fileName: string): string|undefined { return this.delegate.readFile(fileName); }
|
readFile(fileName: string): string|undefined { return this.delegate.readFile(fileName); }
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,10 @@ export class TypeCheckProgramHost implements ts.CompilerHost {
|
||||||
// as efficient as possible. To support both of these requirements, all of the program's
|
// as efficient as possible. To support both of these requirements, all of the program's
|
||||||
// source files are loaded into the cache up front.
|
// source files are loaded into the cache up front.
|
||||||
program.getSourceFiles().forEach(file => { this.sfCache.set(file.fileName, file); });
|
program.getSourceFiles().forEach(file => { this.sfCache.set(file.fileName, file); });
|
||||||
|
|
||||||
|
if (delegate.getDirectories !== undefined) {
|
||||||
|
this.getDirectories = (path: string) => delegate.getDirectories !(path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getSourceFile(
|
getSourceFile(
|
||||||
|
@ -77,7 +81,7 @@ export class TypeCheckProgramHost implements ts.CompilerHost {
|
||||||
|
|
||||||
getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); }
|
getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); }
|
||||||
|
|
||||||
getDirectories(path: string): string[] { return this.delegate.getDirectories(path); }
|
getDirectories?: (path: string) => string[];
|
||||||
|
|
||||||
getCanonicalFileName(fileName: string): string {
|
getCanonicalFileName(fileName: string): string {
|
||||||
return this.delegate.getCanonicalFileName(fileName);
|
return this.delegate.getCanonicalFileName(fileName);
|
||||||
|
|
|
@ -72,14 +72,14 @@ const defaultEmitCallback: TsEmitCallback =
|
||||||
* Minimum supported TypeScript version
|
* Minimum supported TypeScript version
|
||||||
* ∀ supported typescript version v, v >= MIN_TS_VERSION
|
* ∀ supported typescript version v, v >= MIN_TS_VERSION
|
||||||
*/
|
*/
|
||||||
const MIN_TS_VERSION = '3.1.1';
|
const MIN_TS_VERSION = '3.3.3333';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Supremum of supported TypeScript versions
|
* Supremum of supported TypeScript versions
|
||||||
* ∀ supported typescript version v, v < MAX_TS_VERSION
|
* ∀ supported typescript version v, v < MAX_TS_VERSION
|
||||||
* MAX_TS_VERSION is not considered as a supported TypeScript version
|
* MAX_TS_VERSION is not considered as a supported TypeScript version
|
||||||
*/
|
*/
|
||||||
const MAX_TS_VERSION = '3.3.0';
|
const MAX_TS_VERSION = '3.4.0';
|
||||||
|
|
||||||
class AngularCompilerProgram implements Program {
|
class AngularCompilerProgram implements Program {
|
||||||
private rootNames: string[];
|
private rootNames: string[];
|
||||||
|
@ -463,14 +463,14 @@ class AngularCompilerProgram implements Program {
|
||||||
// Match behavior of tsc: only produce emit diagnostics if it would block
|
// Match behavior of tsc: only produce emit diagnostics if it would block
|
||||||
// emit. If noEmitOnError is false, the emit will happen in spite of any
|
// emit. If noEmitOnError is false, the emit will happen in spite of any
|
||||||
// errors, so we should not report them.
|
// errors, so we should not report them.
|
||||||
if (this.options.noEmitOnError === true) {
|
if (emitResult && this.options.noEmitOnError === true) {
|
||||||
// translate the diagnostics in the emitResult as well.
|
// translate the diagnostics in the emitResult as well.
|
||||||
const translatedEmitDiags = translateDiagnostics(this.hostAdapter, emitResult.diagnostics);
|
const translatedEmitDiags = translateDiagnostics(this.hostAdapter, emitResult.diagnostics);
|
||||||
emitResult.diagnostics = translatedEmitDiags.ts.concat(
|
emitResult.diagnostics = translatedEmitDiags.ts.concat(
|
||||||
this.structuralDiagnostics.concat(translatedEmitDiags.ng).map(ngToTsDiagnostic));
|
this.structuralDiagnostics.concat(translatedEmitDiags.ng).map(ngToTsDiagnostic));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!outSrcMapping.length) {
|
if (emitResult && !outSrcMapping.length) {
|
||||||
// if no files were emitted by TypeScript, also don't emit .json files
|
// if no files were emitted by TypeScript, also don't emit .json files
|
||||||
emitResult.diagnostics =
|
emitResult.diagnostics =
|
||||||
emitResult.diagnostics.concat([createMessageDiagnostic(`Emitted no files.`)]);
|
emitResult.diagnostics.concat([createMessageDiagnostic(`Emitted no files.`)]);
|
||||||
|
@ -506,7 +506,7 @@ class AngularCompilerProgram implements Program {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const emitEnd = Date.now();
|
const emitEnd = Date.now();
|
||||||
if (this.options.diagnostics) {
|
if (emitResult && this.options.diagnostics) {
|
||||||
emitResult.diagnostics = emitResult.diagnostics.concat([createMessageDiagnostic([
|
emitResult.diagnostics = emitResult.diagnostics.concat([createMessageDiagnostic([
|
||||||
`Emitted in ${emitEnd - emitStart}ms`,
|
`Emitted in ${emitEnd - emitStart}ms`,
|
||||||
`- ${emittedUserTsCount} user ts files`,
|
`- ${emittedUserTsCount} user ts files`,
|
||||||
|
|
|
@ -2803,7 +2803,7 @@ describe('ngtsc behavioral tests', () => {
|
||||||
const fileoverview = `
|
const fileoverview = `
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
`;
|
`;
|
||||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||||
|
@ -2820,7 +2820,7 @@ describe('ngtsc behavioral tests', () => {
|
||||||
const fileoverview = `
|
const fileoverview = `
|
||||||
/**
|
/**
|
||||||
* @fileoverview added by tsickle
|
* @fileoverview added by tsickle
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
`;
|
`;
|
||||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||||
|
@ -2852,7 +2852,7 @@ describe('ngtsc behavioral tests', () => {
|
||||||
* @fileoverview Some Comp overview
|
* @fileoverview Some Comp overview
|
||||||
* @modName {some_comp}
|
* @modName {some_comp}
|
||||||
*
|
*
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
`;
|
`;
|
||||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||||
|
@ -2880,7 +2880,7 @@ describe('ngtsc behavioral tests', () => {
|
||||||
* @fileoverview Some Comp overview
|
* @fileoverview Some Comp overview
|
||||||
* @modName {some_comp}
|
* @modName {some_comp}
|
||||||
*
|
*
|
||||||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
||||||
*/
|
*/
|
||||||
`;
|
`;
|
||||||
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
expect(trim(jsContents).startsWith(trim(fileoverview))).toBeTruthy();
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
"chai": "^4.1.2",
|
"chai": "^4.1.2",
|
||||||
"jasmine": "^3.1.0",
|
"jasmine": "^3.1.0",
|
||||||
"source-map-support": "^0.5.9",
|
"source-map-support": "^0.5.9",
|
||||||
"typescript": "~3.2.2"
|
"typescript": "~3.3.3333"
|
||||||
},
|
},
|
||||||
"repository": {},
|
"repository": {},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|
16
yarn.lock
16
yarn.lock
|
@ -10267,10 +10267,10 @@ try-require@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/try-require/-/try-require-1.2.1.tgz#34489a2cac0c09c1cc10ed91ba011594d4333be2"
|
resolved "https://registry.yarnpkg.com/try-require/-/try-require-1.2.1.tgz#34489a2cac0c09c1cc10ed91ba011594d4333be2"
|
||||||
integrity sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I=
|
integrity sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I=
|
||||||
|
|
||||||
tsickle@0.34.0:
|
tsickle@0.34.3:
|
||||||
version "0.34.0"
|
version "0.34.3"
|
||||||
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.0.tgz#10187fa6401a288a65efb93a60bf28b2ff95f90b"
|
resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.3.tgz#8085067a26d7bff466ddadb2eba18849b49159b8"
|
||||||
integrity sha512-O3wCPRtL18Hc/ZBnaiKwmmjVzeCWTOTpsi0btfC7FWL3RnXpxLPxD6hoJ0QEXuSfG/0QJk+MWNjqT9N6fOyyIg==
|
integrity sha512-mb1v3nsr6rYaZky22xj0d6qv4ogAR40Bc6r37jwWOg3bEIO/ZppEFZiEADs/NNVLcWTPgmNmPZgaX5CfAH6oXA==
|
||||||
dependencies:
|
dependencies:
|
||||||
minimist "^1.2.0"
|
minimist "^1.2.0"
|
||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
|
@ -10383,10 +10383,10 @@ typescript@~3.1.6:
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68"
|
||||||
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==
|
||||||
|
|
||||||
typescript@~3.2.2:
|
typescript@~3.3.3333:
|
||||||
version "3.2.2"
|
version "3.3.3333"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6"
|
||||||
integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==
|
integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==
|
||||||
|
|
||||||
uglify-es@^3.3.9:
|
uglify-es@^3.3.9:
|
||||||
version "3.3.9"
|
version "3.3.9"
|
||||||
|
|
Loading…
Reference in New Issue