diff --git a/aio/package.json b/aio/package.json index 1804e341d6..5ef78fac72 100644 --- a/aio/package.json +++ b/aio/package.json @@ -157,7 +157,7 @@ "tree-kill": "^1.1.0", "ts-node": "^3.3.0", "tslint": "~5.9.1", - "typescript": "^3.2.2", + "typescript": "~3.3.3333", "uglify-js": "^3.0.15", "unist-util-filter": "^0.2.1", "unist-util-source": "^1.0.1", diff --git a/aio/yarn.lock b/aio/yarn.lock index 36ac4fa113..c1164769e3 100644 --- a/aio/yarn.lock +++ b/aio/yarn.lock @@ -10125,6 +10125,11 @@ typescript@^2.4.1: version "2.6.2" 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: version "3.3.9" resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" diff --git a/integration/bazel-schematics/test.sh b/integration/bazel-schematics/test.sh index d61b582a51..7084fb93d8 100755 --- a/integration/bazel-schematics/test.sh +++ b/integration/bazel-schematics/test.sh @@ -26,6 +26,11 @@ function testBazel() { # Create project ng new demo --collection=@angular/bazel --defaults --skip-git --skip-install --style=scss 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 yarn webdriver-manager update --gecko=false --standalone=false ${CI_CHROMEDRIVER_VERSION_ARG:---versions.chrome 2.45} ng generate component widget --style=css diff --git a/integration/bazel/src/package.json b/integration/bazel/src/package.json index 9dac26fb15..cbc9b7b875 100644 --- a/integration/bazel/src/package.json +++ b/integration/bazel/src/package.json @@ -22,7 +22,7 @@ "@types/jasmine": "2.8.8", "@types/source-map": "0.5.1", "protractor": "5.1.2", - "typescript": "3.1.1" + "typescript": "3.3.3333" }, "scripts": { "postinstall": "ngc -p ./angular-metadata.tsconfig.json", diff --git a/integration/typings_test_ts31/package.json b/integration/typings_test_ts31/package.json deleted file mode 100644 index 2e4863569a..0000000000 --- a/integration/typings_test_ts31/package.json +++ /dev/null @@ -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" - } -} diff --git a/integration/typings_test_ts31/tsconfig.json b/integration/typings_test_ts31/tsconfig.json deleted file mode 100644 index 4777e1cfa0..0000000000 --- a/integration/typings_test_ts31/tsconfig.json +++ /dev/null @@ -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" - ] -} diff --git a/integration/typings_test_ts32/include-all.ts b/integration/typings_test_ts32/include-all.ts deleted file mode 100644 index 9eba62111f..0000000000 --- a/integration/typings_test_ts32/include-all.ts +++ /dev/null @@ -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 -}; diff --git a/integration/typings_test_ts31/include-all.ts b/integration/typings_test_ts33/include-all.ts similarity index 100% rename from integration/typings_test_ts31/include-all.ts rename to integration/typings_test_ts33/include-all.ts diff --git a/integration/typings_test_ts32/package.json b/integration/typings_test_ts33/package.json similarity index 94% rename from integration/typings_test_ts32/package.json rename to integration/typings_test_ts33/package.json index 4368880ee9..98bf672a53 100644 --- a/integration/typings_test_ts32/package.json +++ b/integration/typings_test_ts33/package.json @@ -1,6 +1,6 @@ { "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", "license": "MIT", "dependencies": { @@ -22,7 +22,7 @@ "@angular/upgrade": "file:../../dist/packages-dist/upgrade", "@types/jasmine": "2.5.41", "rxjs": "file:../../node_modules/rxjs", - "typescript": "3.2.x", + "typescript": "3.3.x", "zone.js": "file:../../node_modules/zone.js" }, "scripts": { diff --git a/integration/typings_test_ts32/tsconfig.json b/integration/typings_test_ts33/tsconfig.json similarity index 100% rename from integration/typings_test_ts32/tsconfig.json rename to integration/typings_test_ts33/tsconfig.json diff --git a/package.json b/package.json index 2b6d15c1ca..ef7bb1fe23 100644 --- a/package.json +++ b/package.json @@ -94,9 +94,9 @@ "source-map": "^0.6.1", "source-map-support": "0.5.9", "systemjs": "0.18.10", - "tsickle": "0.34.0", + "tsickle": "0.34.3", "tslib": "^1.9.0", - "typescript": "~3.2.2", + "typescript": "~3.3.3333", "xhr2": "0.1.4", "yargs": "9.0.1", "zone.js": "^0.8.26" @@ -157,4 +157,4 @@ "resolutions": { "natives": "1.1.6" } -} +} \ No newline at end of file diff --git a/packages/bazel/package.json b/packages/bazel/package.json index 1888153321..6f086b2ee9 100644 --- a/packages/bazel/package.json +++ b/packages/bazel/package.json @@ -28,11 +28,11 @@ "@types/node": "6.0.84", "semver": "^5.6.0", "shelljs": "0.8.2", - "tsickle": "0.34.0" + "tsickle": "0.34.3" }, "peerDependencies": { "@angular/compiler-cli": "0.0.0-PLACEHOLDER", - "typescript": ">=3.1.1 <3.3" + "typescript": ">=3.3.3333 <3.4" }, "repository": { "type": "git", diff --git a/packages/bazel/test/ng_package/example_package.golden b/packages/bazel/test/ng_package/example_package.golden index b84bb36108..e757c16e82 100644 --- a/packages/bazel/test/ng_package/example_package.golden +++ b/packages/bazel/test/ng_package/example_package.golden @@ -300,7 +300,7 @@ export * from './index'; /** * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license @@ -316,7 +316,7 @@ export { MyModule } from './mymodule'; /** * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license @@ -337,7 +337,7 @@ MyModule.decorators = [ /** * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license @@ -371,7 +371,7 @@ export * from './index'; /** * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license @@ -514,7 +514,7 @@ import { NgModule } from '@angular/core'; /** * @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 { } @@ -526,7 +526,7 @@ const a = 1; /** * @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 - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class MyModule { } @@ -559,7 +559,7 @@ MyModule.decorators = [ /** * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc + * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** diff --git a/packages/compiler-cli/package.json b/packages/compiler-cli/package.json index a007ba85ca..618a0f8d31 100644 --- a/packages/compiler-cli/package.json +++ b/packages/compiler-cli/package.json @@ -24,7 +24,7 @@ }, "peerDependencies": { "@angular/compiler": "0.0.0-PLACEHOLDER", - "typescript": ">=3.1.1 <3.3" + "typescript": ">=3.3.3333 <3.4" }, "engines": { "node": ">=8.0" diff --git a/packages/compiler-cli/src/ngtsc/shims/src/host.ts b/packages/compiler-cli/src/ngtsc/shims/src/host.ts index d30dac5756..2dec954274 100644 --- a/packages/compiler-cli/src/ngtsc/shims/src/host.ts +++ b/packages/compiler-cli/src/ngtsc/shims/src/host.ts @@ -44,6 +44,9 @@ export class GeneratedShimsHostWrapper implements ts.CompilerHost { if (delegate.directoryExists !== undefined) { this.directoryExists = (directoryName: string) => delegate.directoryExists !(directoryName); } + if (delegate.getDirectories !== undefined) { + this.getDirectories = (path: string) => delegate.getDirectories !(path); + } } resolveTypeReferenceDirectives?: @@ -84,7 +87,7 @@ export class GeneratedShimsHostWrapper implements ts.CompilerHost { getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); } - getDirectories(path: string): string[] { return this.delegate.getDirectories(path); } + getDirectories?: (path: string) => string[]; getCanonicalFileName(fileName: string): string { return this.delegate.getCanonicalFileName(fileName); diff --git a/packages/compiler-cli/src/ngtsc/synthetic_files_compiler_host.ts b/packages/compiler-cli/src/ngtsc/synthetic_files_compiler_host.ts index 296927fe14..8b37509169 100644 --- a/packages/compiler-cli/src/ngtsc/synthetic_files_compiler_host.ts +++ b/packages/compiler-cli/src/ngtsc/synthetic_files_compiler_host.ts @@ -41,6 +41,9 @@ export class SyntheticFilesCompilerHost implements PluginCompilerHost { this.syntheticFiles.set(generated.fileName, generated); } } + if (delegate.getDirectories !== undefined) { + this.getDirectories = (path: string) => delegate.getDirectories !(path); + } } fileExists(filePath: string): boolean { @@ -88,7 +91,7 @@ export class SyntheticFilesCompilerHost implements PluginCompilerHost { 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); } diff --git a/packages/compiler-cli/src/ngtsc/typecheck/src/host.ts b/packages/compiler-cli/src/ngtsc/typecheck/src/host.ts index ff61840d50..f35223e4dd 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/src/host.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/src/host.ts @@ -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 // source files are loaded into the cache up front. program.getSourceFiles().forEach(file => { this.sfCache.set(file.fileName, file); }); + + if (delegate.getDirectories !== undefined) { + this.getDirectories = (path: string) => delegate.getDirectories !(path); + } } getSourceFile( @@ -77,7 +81,7 @@ export class TypeCheckProgramHost implements ts.CompilerHost { getCurrentDirectory(): string { return this.delegate.getCurrentDirectory(); } - getDirectories(path: string): string[] { return this.delegate.getDirectories(path); } + getDirectories?: (path: string) => string[]; getCanonicalFileName(fileName: string): string { return this.delegate.getCanonicalFileName(fileName); diff --git a/packages/compiler-cli/src/transformers/program.ts b/packages/compiler-cli/src/transformers/program.ts index dc74fb5546..9165af65a8 100644 --- a/packages/compiler-cli/src/transformers/program.ts +++ b/packages/compiler-cli/src/transformers/program.ts @@ -72,14 +72,14 @@ const defaultEmitCallback: TsEmitCallback = * Minimum supported TypeScript 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 * ∀ supported typescript version v, v < MAX_TS_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 { private rootNames: string[]; @@ -463,14 +463,14 @@ class AngularCompilerProgram implements Program { // 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 // 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. const translatedEmitDiags = translateDiagnostics(this.hostAdapter, emitResult.diagnostics); emitResult.diagnostics = translatedEmitDiags.ts.concat( 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 emitResult.diagnostics = emitResult.diagnostics.concat([createMessageDiagnostic(`Emitted no files.`)]); @@ -506,7 +506,7 @@ class AngularCompilerProgram implements Program { }); } const emitEnd = Date.now(); - if (this.options.diagnostics) { + if (emitResult && this.options.diagnostics) { emitResult.diagnostics = emitResult.diagnostics.concat([createMessageDiagnostic([ `Emitted in ${emitEnd - emitStart}ms`, `- ${emittedUserTsCount} user ts files`, diff --git a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts index f544645053..285e83cc4f 100644 --- a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts +++ b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts @@ -2803,7 +2803,7 @@ describe('ngtsc behavioral tests', () => { const fileoverview = ` /** * @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(); @@ -2820,7 +2820,7 @@ describe('ngtsc behavioral tests', () => { const fileoverview = ` /** * @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(); @@ -2852,7 +2852,7 @@ describe('ngtsc behavioral tests', () => { * @fileoverview Some Comp overview * @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(); @@ -2880,7 +2880,7 @@ describe('ngtsc behavioral tests', () => { * @fileoverview Some Comp overview * @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(); diff --git a/tools/ts-api-guardian/package.json b/tools/ts-api-guardian/package.json index 563d4426f2..13944f2b1b 100644 --- a/tools/ts-api-guardian/package.json +++ b/tools/ts-api-guardian/package.json @@ -27,7 +27,7 @@ "chai": "^4.1.2", "jasmine": "^3.1.0", "source-map-support": "^0.5.9", - "typescript": "~3.2.2" + "typescript": "~3.3.3333" }, "repository": {}, "keywords": [ diff --git a/yarn.lock b/yarn.lock index 89e3901369..324e1e8b01 100644 --- a/yarn.lock +++ b/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" integrity sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I= -tsickle@0.34.0: - version "0.34.0" - resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.0.tgz#10187fa6401a288a65efb93a60bf28b2ff95f90b" - integrity sha512-O3wCPRtL18Hc/ZBnaiKwmmjVzeCWTOTpsi0btfC7FWL3RnXpxLPxD6hoJ0QEXuSfG/0QJk+MWNjqT9N6fOyyIg== +tsickle@0.34.3: + version "0.34.3" + resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.34.3.tgz#8085067a26d7bff466ddadb2eba18849b49159b8" + integrity sha512-mb1v3nsr6rYaZky22xj0d6qv4ogAR40Bc6r37jwWOg3bEIO/ZppEFZiEADs/NNVLcWTPgmNmPZgaX5CfAH6oXA== dependencies: minimist "^1.2.0" mkdirp "^0.5.1" @@ -10383,10 +10383,10 @@ typescript@~3.1.6: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68" integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA== -typescript@~3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" - integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg== +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.9: version "3.3.9"