Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: ui copying to be part of browser's vite build #3137

Merged
merged 2 commits into from
Apr 5, 2023

Conversation

AriPerkkio
Copy link
Member

When using browser feature in local development with pnpm dev, the browser package's pnpm copy is not run at all. UI in browser is a blank white page as packages/ui has not been copied there.

This PR adds ui copying to be part of pnpm dev workflow. It also makes sure monorepo's pnpm build command runs packages/browser as last step to make sure packages/ui has been completely built before copying it.

Tested manually using locally linked package + test/browser.

package.json Outdated Show resolved Hide resolved
@sheremet-va
Copy link
Member

While we are here, I noticed some dependencies in the browser should be moved to "dev". From @vitest/runner we only need types, so it can be moved. rollup-plugin-node-polyfills, local-pkg, and mlly are not used at all. Can we remove them in this PR, or should we split it?

@AriPerkkio
Copy link
Member Author

Let's include it in this PR. I'll go through browser package's dependencies and check how they are used.

@userquin
Copy link
Member

userquin commented Apr 5, 2023

@sheremet-va if browser package runs before ui package the browser dist/client/__vitest__ folder will be empty (I can test this PR on my Windows laptop, current version always build browser before ui package on my local builds).

@sheremet-va
Copy link
Member

@sheremet-va if browser package runs before ui package the browser dist/client/__vitest__ folder will be empty (I can test this PR on my Windows laptop, current version always build browser before ui package on my local builds).

Please, read the previous conversation: #3137 (comment)

browser is always built after the ui.

@AriPerkkio
Copy link
Member Author

runs before ui package the browser dist/client/__vitest__ folder will be empty

There is also a check for this in browser package's build. This will trigger if packages/browser is somehow built before packages/ui, or that in local environment the developer tries to manually build only the packages/browser.

const ui = resolve(root, 'ui/dist/client')
const browser = resolve(root, 'browser/dist/client/__vitest__/')
const timeout = setTimeout(() => console.log('[copy-ui-plugin] Waiting for UI to be built...'), 1000)
await waitFor(() => fs.existsSync(ui))
clearTimeout(timeout)

@sheremet-va sheremet-va merged commit a155787 into vitest-dev:main Apr 5, 2023
@AriPerkkio AriPerkkio deleted the build/browser-copying-ui branch April 5, 2023 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants