From d812091a7d0987fb540f12af9fb5f7609e247388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leosvel=20P=C3=A9rez=20Espinosa?= Date: Thu, 9 Feb 2023 16:35:20 +0000 Subject: [PATCH 1/3] feat(misc): support ts 4.9 --- .../src/lib/sort-packages.ts | 8 ++++---- package.json | 2 +- .../src/executors/esbuild/esbuild.impl.ts | 7 ++++++- packages/nx/src/utils/versions.ts | 2 +- packages/workspace/migrations.json | 9 +++++++++ .../new/__snapshots__/new.spec.ts.snap | 6 +++--- packages/workspace/src/utils/versions.ts | 2 +- .../utils-generator/convert-to-dictionary.ts | 2 +- yarn.lock | 16 ++++++++-------- 9 files changed, 34 insertions(+), 20 deletions(-) diff --git a/nx-dev/data-access-packages/src/lib/sort-packages.ts b/nx-dev/data-access-packages/src/lib/sort-packages.ts index b359d93c82cee..c331558158267 100644 --- a/nx-dev/data-access-packages/src/lib/sort-packages.ts +++ b/nx-dev/data-access-packages/src/lib/sort-packages.ts @@ -1,12 +1,12 @@ -export function sortCorePackagesFirst( +export function sortCorePackagesFirst( itemList: ItemType[], ref: PropertyKey ): ItemType[] { const nxPackageIds = ['nx', 'workspace', 'devkit', 'nx-plugin']; - function assertRef( + function assertRef( value: PropertyKey, - target: OBJECT - ): value is keyof OBJECT { + target: ItemType + ): value is keyof ItemType { if (!(value in target)) throw new Error( `Property '${value.toString()}' can not be found in passed object.` diff --git a/package.json b/package.json index f67c975e04135..60fc0e923f743 100644 --- a/package.json +++ b/package.json @@ -247,7 +247,7 @@ "tslint-to-eslint-config": "^2.13.0", "typedoc": "0.22.9", "typedoc-plugin-markdown": "3.11.6", - "typescript": "~4.8.2", + "typescript": "~4.9.5", "unzipper": "^0.10.11", "url-loader": "^4.1.1", "verdaccio": "^5.0.4", diff --git a/packages/esbuild/src/executors/esbuild/esbuild.impl.ts b/packages/esbuild/src/executors/esbuild/esbuild.impl.ts index a4fb0b4f5868f..047b1230fe196 100644 --- a/packages/esbuild/src/executors/esbuild/esbuild.impl.ts +++ b/packages/esbuild/src/executors/esbuild/esbuild.impl.ts @@ -32,6 +32,11 @@ const BUILD_WATCH_SUCCEEDED = `[ ${chalk.green( 'watch' )} ] build succeeded, watching for changes...`; +// since the workspace has esbuild 0.17+ installed, there's no definition +// of esbuild without 'context', therefore, the esbuild import in the else +// branch below has type never, getting the type to cast later +type EsBuild = typeof esbuild; + export async function* esbuildExecutor( _options: EsBuildExecutorOptions, context: ExecutorContext @@ -295,7 +300,7 @@ export async function* esbuildExecutor( for (let i = 0; i < options.format.length; i++) { const format = options.format[i]; const esbuildOptions = buildEsbuildOptions(format, options, context); - const buildResult = await esbuild.build(esbuildOptions); + const buildResult = await (esbuild as EsBuild).build(esbuildOptions); if (options.metafile) { const filename = diff --git a/packages/nx/src/utils/versions.ts b/packages/nx/src/utils/versions.ts index c8b89a03604cd..72f810b6fbf9b 100644 --- a/packages/nx/src/utils/versions.ts +++ b/packages/nx/src/utils/versions.ts @@ -1,7 +1,7 @@ export const nxVersion = require('../../package.json').version; export const angularCliVersion = '~15.1.0'; -export const typescriptVersion = '~4.8.2'; +export const typescriptVersion = '~4.9.5'; export const prettierVersion = '^2.6.2'; export const typescriptESLintVersion = '^5.36.1'; export const eslintVersion = '~8.15.0'; diff --git a/packages/workspace/migrations.json b/packages/workspace/migrations.json index 7211a1cb9c85f..8ae7d22c5006c 100644 --- a/packages/workspace/migrations.json +++ b/packages/workspace/migrations.json @@ -142,6 +142,15 @@ "alwaysAddToPackageJson": false } } + }, + "15.7.1": { + "version": "15.7.1-beta.0", + "x-prompt": "Do you want to update the TypeScript version to v4.9?", + "packages": { + "typescript": { + "version": "~4.9.5" + } + } } } } diff --git a/packages/workspace/src/generators/new/__snapshots__/new.spec.ts.snap b/packages/workspace/src/generators/new/__snapshots__/new.spec.ts.snap index 72bea6d209576..0be84be4907ef 100644 --- a/packages/workspace/src/generators/new/__snapshots__/new.spec.ts.snap +++ b/packages/workspace/src/generators/new/__snapshots__/new.spec.ts.snap @@ -9,7 +9,7 @@ Object { "@nrwl/workspace": "0.0.1", "nx": "0.0.1", "prettier": "^2.6.2", - "typescript": "~4.8.2", + "typescript": "~4.9.5", }, "license": "MIT", "name": "my-workspace", @@ -26,7 +26,7 @@ Object { "@nrwl/workspace": "0.0.1", "nx": "0.0.1", "prettier": "^2.6.2", - "typescript": "~4.8.2", + "typescript": "~4.9.5", }, "license": "MIT", "name": "my-workspace", @@ -44,7 +44,7 @@ Object { "@nrwl/workspace": "0.0.1", "nx": "0.0.1", "prettier": "^2.6.2", - "typescript": "~4.8.2", + "typescript": "~4.9.5", }, "license": "MIT", "name": "my-workspace", diff --git a/packages/workspace/src/utils/versions.ts b/packages/workspace/src/utils/versions.ts index 8cc4dbffbe433..11a5444cd0bcb 100644 --- a/packages/workspace/src/utils/versions.ts +++ b/packages/workspace/src/utils/versions.ts @@ -1,7 +1,7 @@ export const nxVersion = require('../../package.json').version; export const angularCliVersion = '~15.1.0'; -export const typescriptVersion = '~4.8.2'; +export const typescriptVersion = '~4.9.5'; export const prettierVersion = '^2.6.2'; export const typescriptESLintVersion = '^5.36.1'; export const eslintVersion = '~8.15.0'; diff --git a/scripts/documentation/generators/utils-generator/convert-to-dictionary.ts b/scripts/documentation/generators/utils-generator/convert-to-dictionary.ts index ca3ab1877423d..9e601ff1243e7 100644 --- a/scripts/documentation/generators/utils-generator/convert-to-dictionary.ts +++ b/scripts/documentation/generators/utils-generator/convert-to-dictionary.ts @@ -1,5 +1,5 @@ // Create packages dictionary mapping -export function convertToDictionary( +export function convertToDictionary( arr: OBJECT[], ref: PropertyKey ): Record { diff --git a/yarn.lock b/yarn.lock index beaf9e6699714..1f2d4da31ca34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24053,15 +24053,15 @@ typescript@4.8.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== -typescript@4.9.4, typescript@^4.6.2: +typescript@4.9.4: version "4.9.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== -"typescript@^3 || ^4", typescript@~4.8.2: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== +"typescript@^3 || ^4", typescript@^4.6.2, typescript@~4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== ua-parser-js@1.0.2: version "1.0.2" @@ -24653,9 +24653,9 @@ vm-browserify@^1.0.1: integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vscode-oniguruma@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" - integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== + version "1.7.0" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" + integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== vscode-textmate@5.2.0: version "5.2.0" From 8cfda4bf3ff5bcf1d68e38efb96f1e3e5ebd7b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leosvel=20P=C3=A9rez=20Espinosa?= Date: Wed, 15 Feb 2023 09:28:37 +0000 Subject: [PATCH 2/3] feat(misc): reword ts package update prompt --- packages/workspace/migrations.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/workspace/migrations.json b/packages/workspace/migrations.json index 8ae7d22c5006c..b6006e7ec4a03 100644 --- a/packages/workspace/migrations.json +++ b/packages/workspace/migrations.json @@ -135,7 +135,7 @@ }, "14.8.0": { "version": "14.8.0-beta.0", - "x-prompt": "Do you want to update the TypeScript version to v4.8?", + "x-prompt": "Do you want to update to TypeScript v4.8?", "packages": { "typescript": { "version": "~4.8.2", @@ -145,7 +145,7 @@ }, "15.7.1": { "version": "15.7.1-beta.0", - "x-prompt": "Do you want to update the TypeScript version to v4.9?", + "x-prompt": "Do you want to update to TypeScript v4.9?", "packages": { "typescript": { "version": "~4.9.5" From 172a3251aa8f20dd1e866efb4ab794026900706b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leosvel=20P=C3=A9rez=20Espinosa?= Date: Fri, 17 Feb 2023 14:42:00 +0000 Subject: [PATCH 3/3] feat(misc): duplicate ts 4.9 update in @nrwl/js and update version --- packages/js/migrations.json | 15 ++++++++++++++- packages/js/src/utils/versions.ts | 2 +- packages/workspace/migrations.json | 7 +++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/js/migrations.json b/packages/js/migrations.json index 1a26fc38abe25..e109c0bb3daf8 100644 --- a/packages/js/migrations.json +++ b/packages/js/migrations.json @@ -31,5 +31,18 @@ "factory": "./src/migrations/update-14-1-5/update-swcrc-path" } }, - "packageJsonUpdates": {} + "packageJsonUpdates": { + "15.8.0": { + "version": "15.8.0-beta.2", + "x-prompt": "Do you want to update to TypeScript v4.9?", + "requires": { + "typescript": ">=4.8.2 <4.9.0" + }, + "packages": { + "typescript": { + "version": "~4.9.5" + } + } + } + } } diff --git a/packages/js/src/utils/versions.ts b/packages/js/src/utils/versions.ts index 6a733cf50b819..6de986a750771 100644 --- a/packages/js/src/utils/versions.ts +++ b/packages/js/src/utils/versions.ts @@ -6,4 +6,4 @@ export const esbuildVersion = '^0.17.5'; export const swcCliVersion = '~0.1.55'; export const swcHelpersVersion = '~0.4.11'; export const typesNodeVersion = '18.7.1'; -export const typescriptVersion = '~4.8.2'; +export const typescriptVersion = '~4.9.5'; diff --git a/packages/workspace/migrations.json b/packages/workspace/migrations.json index b6006e7ec4a03..16c87ae111895 100644 --- a/packages/workspace/migrations.json +++ b/packages/workspace/migrations.json @@ -143,9 +143,12 @@ } } }, - "15.7.1": { - "version": "15.7.1-beta.0", + "15.8.0": { + "version": "15.8.0-beta.2", "x-prompt": "Do you want to update to TypeScript v4.9?", + "requires": { + "typescript": ">=4.8.2 <4.9.0" + }, "packages": { "typescript": { "version": "~4.9.5"