Commit graph

5 commits

Author SHA1 Message Date
Mikael Finstad
1fbb95da2b
improve test scripts (#6016)
1. don't run browser tests in `headless` mode by default when running
tests individually. because when writing/running tests, i usually want
to see/debug using the browser. if one still wants headless, it's as
easy as: `yarn workspace @uppy/xyz test --browser.headless`. instead
append the `headless` mode when running all tests together - it doesn't
make sense to run all projects' tests without headless mode.
2. don't always run browser tests with `watch`: watch doesn't make sense
when running multiple projects in turbo (one project just blocks the
rest watching for changes). if one still wants to run a single test with
watch mode, it's as easy as: `yarn workspace @uppy/xyz test --watch`
3. don't cache test runs: if I run the `test` command. most of the time
I want to actually run tests (not skip them if they already ran last
time)
4. output logs when running tests. it's nice to see that the tests have
actually run (also on CI)
5. when running all tests, use concurrency=1, because the tests also
includes e2e tests, running multiple browsers in parallel really just
makes the test fail on my computer (and uses a lot of memory)

current output is not very informative:

<img width="840" height="410" alt="Screenshot 2025-10-17 at 17 09 55"
src="https://github.com/user-attachments/assets/9ca8278c-f160-478c-87e2-2ef861ba4bb1"
/>

with this PR:

<img width="672" height="495" alt="Screenshot 2025-10-17 at 17 20 49"
src="https://github.com/user-attachments/assets/1339c96b-d0c1-42e1-8fa1-d5a4a36ea42a"
/>
2025-10-17 22:07:01 +08:00
Mikael Finstad
8df48060fa
Fix turbo scripts (#5859)
[always run yarn build before
watch](2507302e29)

or else everything doesn't get built
closes https://github.com/transloadit/uppy/issues/5858
2025-07-30 18:42:48 +02:00
Merlijn Vos
0525a2c91a
Fix turbo race condition (#5839)
Closes #5822 

- `"^build"` makes sure dependencies of the package are build first.
- Make dependencies of @uppy/components actually dependencies
- Remove concurrency setting. It was too high for computers with low
RAM.
2025-07-23 10:49:11 +02:00
Merlijn Vos
7c609a56d9
Use turbo for all unit tests (#5815)
- Upgrade vitest from 1.x to 3.x.
  - Fix some tests that now became more strict and started failing
-  Add test command to all packages + needed dependencies
- Add turbo config for running tests

Another PR will completely redo the e2e test suite.
2025-07-12 13:21:35 +02:00
Merlijn Vos
271db86ad0
Use turbo for building and watching concurrently (#5808)
- Add `typecheck` command to all packages.
- Use turbo to build and watch concurrently with caches.
- Remove root `bin/` folder with last global scripts
- `bin/companion.sh` -> `@uppy/companion/start-dev` (`yarn
start:companion` still works)
- `bin/build-components.mjs` -> `@uppy/components/migrate.mjs` (`yarn
migrate:components` can be used to run it). This only needs to be ran
for new components, not changing existing ones, so that's why it's not
part of the build process.

turbo is smart enough to build dependencies within a package first
before building the package itself (e.g if wanting to build @uppy/audio,
build @uppy/utils first). Unfortunately @uppy/core is a peer dep
everywhere turbo does not take it into account, yet it must be build
first to avoid race conditions. Therefor I added a turbo.json to each
package, which you normally never need, but this is an odd case I
suppose. Other solutions ran into cyclic dep errors.

Another PR would move over the test commands to turbo too.
2025-07-10 13:21:18 +02:00