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

[test] Use vite and vitest for e2e and regression tests #1127

Merged
merged 40 commits into from
Jan 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
57ecb9f
Replace webpack with vite
mj12albert Dec 17, 2024
c448869
Fix css import
mj12albert Dec 17, 2024
c2f353f
Use resolve.alias to docs
mj12albert Dec 17, 2024
83dffd9
Fix font loading
mj12albert Dec 17, 2024
79e0de6
Update regression test
mj12albert Dec 17, 2024
e3d2faa
Fix TS and eslint
mj12albert Dec 17, 2024
7582992
Update vitest config
mj12albert Dec 17, 2024
9317e7d
Update regression test
mj12albert Dec 17, 2024
2068e5c
Update CI
mj12albert Dec 17, 2024
774fccb
Remove webpack from regression tests
mj12albert Dec 17, 2024
ce14c06
Update vitest config
mj12albert Dec 17, 2024
1fc0341
Use vite and vitest for e2e
mj12albert Dec 17, 2024
b121602
Remove prop-types
mj12albert Dec 17, 2024
089504f
Remove webfontloader
mj12albert Dec 17, 2024
b777c42
Remove unused devDependencies
mj12albert Dec 17, 2024
d13ec44
Fix CI
mj12albert Dec 17, 2024
45358ab
Remove html-webpack-plugin
mj12albert Dec 17, 2024
1467841
Use TS for regression test
mj12albert Dec 18, 2024
8c6130f
Update tsconfig
mj12albert Dec 18, 2024
f919da8
Update scripts
mj12albert Dec 18, 2024
a4f6ee5
Update READMEs
mj12albert Dec 18, 2024
ffe627d
Update tsconfig
mj12albert Dec 18, 2024
408a091
Fix screenshots
mj12albert Dec 18, 2024
5bca7be
Update tsconfig
mj12albert Dec 18, 2024
c464394
Misc fixes
mj12albert Dec 18, 2024
b789311
Remove outer font listener in regression test
mj12albert Dec 18, 2024
4c9351d
Fix eslintrc conflict
mj12albert Dec 18, 2024
20e379c
Update eslintrc
mj12albert Jan 2, 2025
77ce77f
Merge remote-tracking branch 'upstream/master' into infra/test-vite
mj12albert Jan 2, 2025
a9c3ddb
Update scripts
mj12albert Jan 3, 2025
0983377
Merge remote-tracking branch 'upstream/master' into infra/test-vite
mj12albert Jan 3, 2025
aea0a6e
Fix resolve.alias
mj12albert Jan 3, 2025
f435534
Update tsconfig
mj12albert Jan 3, 2025
4b8a17e
Fix regression tests on Windows
michaldudak Jan 3, 2025
bed9194
Merge branch 'master' into infra/test-vite
mj12albert Jan 3, 2025
df676c9
Fix vite config
mj12albert Jan 3, 2025
7b6739b
Fix vite CJS deprecation warning
mj12albert Jan 3, 2025
947ca62
Use default vite port
mj12albert Jan 3, 2025
411fbad
Merge remote-tracking branch 'upstream/master' into infra/test-vite
mj12albert Jan 3, 2025
d0bf4b1
Rename dist to build
mj12albert Jan 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
react-version: << parameters.react-version >>
- run:
name: Run tests on JSDOM
command: pnpm test:jsdom --coverage
command: pnpm test:jsdom --coverage --project @base-ui-components/react --project docs
- run:
name: Check if coverage report is generated
command: |
Expand Down Expand Up @@ -290,7 +290,7 @@ jobs:
browsers: true
- run:
name: Run tests on headless Chromium
command: pnpm test:chromium --coverage
command: pnpm test:chromium --coverage --project @base-ui-components/react --project docs
- run:
name: Check if coverage report is generated
command: |
Expand Down
7 changes: 7 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,12 @@ module.exports = {
'@typescript-eslint/no-use-before-define': 'off',
},
},
{
files: ['test/**/*{.ts,.tsx}'],
rules: {
'react/prop-types': 'off',
'guard-for-in': 'off',
},
},
],
};
23 changes: 12 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,21 @@
"test:coverage:ci": "cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=lcov mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'",
"test:coverage:html": "cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=html mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'",
"test:e2e": "cross-env NODE_ENV=production pnpm test:e2e:build && concurrently --success first --kill-others \"pnpm test:e2e:run\" \"pnpm test:e2e:server\"",
"test:e2e:build": "webpack --config test/e2e/webpack.config.js",
"test:e2e:dev": "concurrently \"pnpm test:e2e:build --watch\" \"pnpm test:e2e:server\"",
"test:e2e:run": "mocha --config test/e2e/.mocharc.js 'test/e2e/**/*.test.{js,ts,tsx}'",
"test:e2e:server": "serve test/e2e -p 5001",
"test:e2e:build": "vite build --config test/e2e/vite.config.mjs",
"test:e2e:dev": "vite --config test/e2e/vite.config.mjs -l info",
"test:e2e:run": "cross-env VITEST_ENV=chromium vitest --project e2e",
"test:e2e:server": "serve test/e2e -p 5173",
"test:karma": "cross-env NODE_ENV=test karma start test/karma.conf.js",
"test:karma:profile": "cross-env NODE_ENV=test karma start test/karma.conf.profile.js",
"test:regressions": "cross-env NODE_ENV=production pnpm test:regressions:build && concurrently --success first --kill-others \"pnpm test:regressions:run\" \"pnpm test:regressions:server\"",
"test:regressions:build": "pnpm release:build && webpack --config test/regressions/webpack.config.js",
"test:regressions:dev": "concurrently \"pnpm test:regressions:build --watch\" \"pnpm test:regressions:server\"",
"test:regressions:run": "mocha --config test/regressions/.mocharc.js --delay 'test/regressions/**/*.test.js'",
"test:regressions:server": "serve test/regressions -p 5001",
"test:regressions:build": "vite build --config test/regressions/vite.config.mjs",
"test:regressions:dev": "vite --config test/regressions/vite.config.mjs",
"test:regressions:run": "cross-env VITEST_ENV=chromium vitest --project regressions",
"test:regressions:server": "serve test/regressions -p 5173",
"test:unit": "cross-env NODE_ENV=test mocha 'packages/**/*.test.{js,ts,tsx}' 'docs/**/*.test.{js,ts,tsx}'",
"test:jsdom": "cross-env NODE_ENV=test VITEST_ENV=jsdom vitest",
"test:chromium": "cross-env NODE_ENV=test VITEST_ENV=chromium vitest",
"test:firefox": "cross-env NODE_ENV=test VITEST_ENV=firefox vitest",
"test:jsdom": "cross-env NODE_ENV=test VITEST_ENV=jsdom vitest --project @base-ui-components/react --project docs",
Copy link
Member Author

@mj12albert mj12albert Dec 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These all need to be filtered with --project now that test also includes Vitest workspaces

I noticed that tests in docs weren't being run at all before explicitly specifying the project flag

"test:chromium": "cross-env NODE_ENV=test VITEST_ENV=chromium vitest --project @base-ui-components/react --project docs",
"test:firefox": "cross-env NODE_ENV=test VITEST_ENV=firefox vitest --project @base-ui-components/react --project docs",
"test:argos": "node ./scripts/pushArgos.mjs",
"typescript": "tsc -b tsconfig.json",
"validate-declarations": "tsx scripts/validateTypescriptDeclarations.mts",
Expand Down Expand Up @@ -169,6 +169,7 @@
"typescript": "^5.7.2",
"unist-util-visit": "^5.0.0",
"url-join": "4.0.1",
"vite": "^6.0.3",
"vitest": "^2.1.8",
"webpack": "^5.97.1",
"webpack-bundle-analyzer": "^4.10.2",
Expand Down
Loading
Loading