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
This commit is contained in:
Mikael Finstad 2025-04-09 14:56:38 +02:00 committed by GitHub
parent 27492bca8a
commit d49e01a7ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 186 additions and 46 deletions

View file

@ -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

View file

@ -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",

View file

@ -44,7 +44,7 @@ describe('getFileType', () => {
} as any as UppyFile<any, any>
const toUpper = (file: UppyFile<any, any>) => ({
...file,
name: file.name.toUpperCase(),
name: file.name!.toUpperCase(),
})
expect(getFileType(fileMP3)).toEqual('audio/mp3')
expect(getFileType(toUpper(fileMP3))).toEqual('audio/mp3')

View file

@ -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"
},

View file

@ -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",
},

128
tsconfig.build.json Normal file
View file

@ -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"
}
]
}

View file

@ -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",
},
],
}