From d49e01a7ff7f114dff81220565fb1842c1ab5c5d Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Wed, 9 Apr 2025 14:56:38 +0200 Subject: [PATCH] Fix type check ci (#5714) * Fix type check on CI it doesn't actually check types in all files because it used tsconfig.build.json hence some type errors go unnoticed * like this * and this * add missing references * fix build command --- .github/workflows/ci.yml | 3 +- package.json | 3 +- packages/@uppy/utils/src/getFileType.test.ts | 2 +- packages/uppy/tsconfig.build.json | 6 + packages/uppy/tsconfig.json | 8 +- tsconfig.build.json | 128 +++++++++++++++++++ tsconfig.json | 82 ++++++------ 7 files changed, 186 insertions(+), 46 deletions(-) create mode 100644 tsconfig.build.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 634718fc7..f44047626 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,5 +95,4 @@ jobs: env: # https://docs.cypress.io/guides/references/advanced-installation#Skipping-installation CYPRESS_INSTALL_BINARY: 0 - - name: Attempt building TS packages - run: corepack yarn run build:ts + - run: corepack yarn run test:ts diff --git a/package.json b/package.json index 49ab08d02..323148bf0 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "build:angular": "yarn workspace angular build", "build:js:typeless": "npm-run-all build:lib build:companion build:svelte", "build:js": "npm-run-all build:js:typeless build:locale-pack build:angular build:bundle", - "build:ts": "yarn tsc -b && yarn workspace @uppy/svelte check", + "build:ts": "yarn tsc -b tsconfig.build.json && yarn workspace @uppy/svelte build", "build:lib": "yarn node ./bin/build-lib.mjs", "build:locale-pack": "yarn workspace @uppy-dev/locale-pack build && eslint packages/@uppy/locales/src/en_US.ts --fix && yarn workspace @uppy-dev/locale-pack test unused", "build": "npm-run-all --serial build:ts --parallel build:js build:css --serial size", @@ -151,6 +151,7 @@ "test:locale-packs:unused": "yarn workspace @uppy-dev/locale-pack test unused", "test:locale-packs:warnings": "yarn workspace @uppy-dev/locale-pack test warnings", "test:unit": "yarn run build:lib && yarn test:watch --run", + "test:ts": "yarn tsc -b && yarn workspace @uppy/svelte check", "test:watch": "vitest --environment jsdom --dir packages/@uppy", "test": "npm-run-all lint test:locale-packs:unused test:unit test:companion", "uploadcdn": "yarn node ./private/upload-to-cdn/index.js", diff --git a/packages/@uppy/utils/src/getFileType.test.ts b/packages/@uppy/utils/src/getFileType.test.ts index ede9ea319..f2ea55047 100644 --- a/packages/@uppy/utils/src/getFileType.test.ts +++ b/packages/@uppy/utils/src/getFileType.test.ts @@ -44,7 +44,7 @@ describe('getFileType', () => { } as any as UppyFile const toUpper = (file: UppyFile) => ({ ...file, - name: file.name.toUpperCase(), + name: file.name!.toUpperCase(), }) expect(getFileType(fileMP3)).toEqual('audio/mp3') expect(getFileType(toUpper(fileMP3))).toEqual('audio/mp3') diff --git a/packages/uppy/tsconfig.build.json b/packages/uppy/tsconfig.build.json index 2075033a2..aba056a7b 100644 --- a/packages/uppy/tsconfig.build.json +++ b/packages/uppy/tsconfig.build.json @@ -53,6 +53,12 @@ { "path": "../@uppy/google-drive/tsconfig.build.json" }, + { + "path": "../@uppy/google-drive-picker/tsconfig.build.json" + }, + { + "path": "../@uppy/google-photos-picker/tsconfig.build.json" + }, { "path": "../@uppy/image-editor/tsconfig.build.json" }, diff --git a/packages/uppy/tsconfig.json b/packages/uppy/tsconfig.json index cc0f29967..efb2b0cdd 100644 --- a/packages/uppy/tsconfig.json +++ b/packages/uppy/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.shared", + "extends": "../../tsconfig.shared", "compilerOptions": { "emitDeclarationOnly": false, "noEmit": true, @@ -51,6 +51,12 @@ { "path": "../@uppy/google-drive/tsconfig.build.json", }, + { + "path": "../@uppy/google-drive-picker/tsconfig.build.json", + }, + { + "path": "../@uppy/google-photos-picker/tsconfig.build.json", + }, { "path": "../@uppy/image-editor/tsconfig.build.json", }, diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 000000000..0ab4830df --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,128 @@ +{ + "files": [], + "references": [ + { + "path": "./packages/@uppy/audio/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/aws-s3/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/box/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/companion-client/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/compressor/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/core/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/dashboard/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/drag-drop/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/drop-target/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/dropbox/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/facebook/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/file-input/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/form/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/golden-retriever/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/google-drive/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/google-drive-picker/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/google-photos-picker/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/image-editor/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/informer/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/instagram/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/locales/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/onedrive/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/progress-bar/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/provider-views/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/react/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/remote-sources/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/screen-capture/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/status-bar/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/store-default/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/thumbnail-generator/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/transloadit/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/tus/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/unsplash/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/url/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/utils/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/vue/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/webcam/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/xhr-upload/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/zoom/tsconfig.build.json" + }, + { + "path": "./packages/@uppy/webdav/tsconfig.build.json" + }, + { + "path": "./packages/uppy/tsconfig.build.json" + } + ] +} diff --git a/tsconfig.json b/tsconfig.json index a8d5b03a5..e4f8be90e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,127 +2,127 @@ "files": [], "references": [ { - "path": "./packages/@uppy/audio/tsconfig.build.json", + "path": "./packages/@uppy/audio/tsconfig.json", }, { - "path": "./packages/@uppy/aws-s3/tsconfig.build.json", + "path": "./packages/@uppy/aws-s3/tsconfig.json", }, { - "path": "./packages/@uppy/box/tsconfig.build.json", + "path": "./packages/@uppy/box/tsconfig.json", }, { - "path": "./packages/@uppy/companion-client/tsconfig.build.json", + "path": "./packages/@uppy/companion-client/tsconfig.json", }, { - "path": "./packages/@uppy/compressor/tsconfig.build.json", + "path": "./packages/@uppy/compressor/tsconfig.json", }, { - "path": "./packages/@uppy/core/tsconfig.build.json", + "path": "./packages/@uppy/core/tsconfig.json", }, { - "path": "./packages/@uppy/dashboard/tsconfig.build.json", + "path": "./packages/@uppy/dashboard/tsconfig.json", }, { - "path": "./packages/@uppy/drag-drop/tsconfig.build.json", + "path": "./packages/@uppy/drag-drop/tsconfig.json", }, { - "path": "./packages/@uppy/drop-target/tsconfig.build.json", + "path": "./packages/@uppy/drop-target/tsconfig.json", }, { - "path": "./packages/@uppy/dropbox/tsconfig.build.json", + "path": "./packages/@uppy/dropbox/tsconfig.json", }, { - "path": "./packages/@uppy/facebook/tsconfig.build.json", + "path": "./packages/@uppy/facebook/tsconfig.json", }, { - "path": "./packages/@uppy/file-input/tsconfig.build.json", + "path": "./packages/@uppy/file-input/tsconfig.json", }, { - "path": "./packages/@uppy/form/tsconfig.build.json", + "path": "./packages/@uppy/form/tsconfig.json", }, { - "path": "./packages/@uppy/golden-retriever/tsconfig.build.json", + "path": "./packages/@uppy/golden-retriever/tsconfig.json", }, { - "path": "./packages/@uppy/google-drive/tsconfig.build.json", + "path": "./packages/@uppy/google-drive/tsconfig.json", }, { - "path": "./packages/@uppy/google-drive-picker/tsconfig.build.json", + "path": "./packages/@uppy/google-drive-picker/tsconfig.json", }, { - "path": "./packages/@uppy/google-photos-picker/tsconfig.build.json", + "path": "./packages/@uppy/google-photos-picker/tsconfig.json", }, { - "path": "./packages/@uppy/image-editor/tsconfig.build.json", + "path": "./packages/@uppy/image-editor/tsconfig.json", }, { - "path": "./packages/@uppy/informer/tsconfig.build.json", + "path": "./packages/@uppy/informer/tsconfig.json", }, { - "path": "./packages/@uppy/instagram/tsconfig.build.json", + "path": "./packages/@uppy/instagram/tsconfig.json", }, { - "path": "./packages/@uppy/locales/tsconfig.build.json", + "path": "./packages/@uppy/locales/tsconfig.json", }, { - "path": "./packages/@uppy/onedrive/tsconfig.build.json", + "path": "./packages/@uppy/onedrive/tsconfig.json", }, { - "path": "./packages/@uppy/progress-bar/tsconfig.build.json", + "path": "./packages/@uppy/progress-bar/tsconfig.json", }, { - "path": "./packages/@uppy/provider-views/tsconfig.build.json", + "path": "./packages/@uppy/provider-views/tsconfig.json", }, { - "path": "./packages/@uppy/react/tsconfig.build.json", + "path": "./packages/@uppy/react/tsconfig.json", }, { - "path": "./packages/@uppy/remote-sources/tsconfig.build.json", + "path": "./packages/@uppy/remote-sources/tsconfig.json", }, { - "path": "./packages/@uppy/screen-capture/tsconfig.build.json", + "path": "./packages/@uppy/screen-capture/tsconfig.json", }, { - "path": "./packages/@uppy/status-bar/tsconfig.build.json", + "path": "./packages/@uppy/status-bar/tsconfig.json", }, { - "path": "./packages/@uppy/store-default/tsconfig.build.json", + "path": "./packages/@uppy/store-default/tsconfig.json", }, { - "path": "./packages/@uppy/thumbnail-generator/tsconfig.build.json", + "path": "./packages/@uppy/thumbnail-generator/tsconfig.json", }, { - "path": "./packages/@uppy/transloadit/tsconfig.build.json", + "path": "./packages/@uppy/transloadit/tsconfig.json", }, { - "path": "./packages/@uppy/tus/tsconfig.build.json", + "path": "./packages/@uppy/tus/tsconfig.json", }, { - "path": "./packages/@uppy/unsplash/tsconfig.build.json", + "path": "./packages/@uppy/unsplash/tsconfig.json", }, { - "path": "./packages/@uppy/url/tsconfig.build.json", + "path": "./packages/@uppy/url/tsconfig.json", }, { - "path": "./packages/@uppy/utils/tsconfig.build.json", + "path": "./packages/@uppy/utils/tsconfig.json", }, { - "path": "./packages/@uppy/vue/tsconfig.build.json", + "path": "./packages/@uppy/vue/tsconfig.json", }, { - "path": "./packages/@uppy/webcam/tsconfig.build.json", + "path": "./packages/@uppy/webcam/tsconfig.json", }, { - "path": "./packages/@uppy/xhr-upload/tsconfig.build.json", + "path": "./packages/@uppy/xhr-upload/tsconfig.json", }, { - "path": "./packages/@uppy/zoom/tsconfig.build.json", + "path": "./packages/@uppy/zoom/tsconfig.json", }, { - "path": "./packages/@uppy/webdav/tsconfig.build.json", + "path": "./packages/@uppy/webdav/tsconfig.json", }, { - "path": "./packages/uppy/tsconfig.build.json", + "path": "./packages/uppy/tsconfig.json", }, ], }