Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
5023734
[core] Rely more on baseline prettier config (#1183)
oliviertassinari Dec 24, 2024
1d4206e
[Dialog, Menu, Select] Set `pointer-events` on `InternalBackdrop` bas…
atomiks Dec 26, 2024
38f77b6
[docs] Fix line break for Floating UI brand name (#1228)
oliviertassinari Dec 26, 2024
9a0860a
[POC] Unmount ref
atomiks Dec 27, 2024
4d8f6a7
[docs] Have 404 link points to first page of docs (#1240)
oliviertassinari Dec 30, 2024
8f8b583
[ScrollArea] Read `DirectionProvider` and use logical positioning CSS…
mj12albert Jan 2, 2025
f7520aa
Bump @mui/monorepo to v6.3.0 (#1252)
renovate[bot] Jan 2, 2025
d042ae9
[docs-infra] Remove Next.js production profiler (#1242)
oliviertassinari Jan 2, 2025
5661b8c
Bump @stefanprobst/rehype-extract-toc to ^2.2.1 (#1253)
renovate[bot] Jan 2, 2025
49c2b74
Bump @types/node to ^18.19.69 (#1254)
renovate[bot] Jan 2, 2025
414149d
Bump prettier to ^3.4.2 (#1258)
renovate[bot] Jan 2, 2025
43a4d54
Bump react-router-dom to ^6.28.1 (#1259)
renovate[bot] Jan 2, 2025
167d526
Bump shiki to ^1.25.1 (#1260)
renovate[bot] Jan 2, 2025
5993cf8
Bump chalk to ^5.4.1 (#1266)
renovate[bot] Jan 2, 2025
676c540
Bump framer-motion to ^11.15.0 (#1267)
renovate[bot] Jan 2, 2025
e2e2631
Bump github/codeql-action action to v3.28.0 (#1268)
renovate[bot] Jan 2, 2025
163c1ff
Bump markdownlint-cli2 to ^0.17.1 (#1269)
renovate[bot] Jan 2, 2025
aa622eb
Bump piscina to ^4.8.0 (#1271)
renovate[bot] Jan 2, 2025
2b53f88
Bump pnpm to 9.15.2 (#1272)
renovate[bot] Jan 2, 2025
388782f
Bump stylelint to ^16.12.0 (#1273)
renovate[bot] Jan 2, 2025
78b9a2b
Bump @types/prop-types to ^15.7.14 (#1255)
renovate[bot] Jan 2, 2025
451f82d
Bump webpack to ^5.97.1 (#1276)
renovate[bot] Jan 2, 2025
a4dc22c
Bump tsx to ^4.19.2 (#1275)
renovate[bot] Jan 2, 2025
d3e8365
Bump @argos-ci/core to ^2.12.0 (#1262)
renovate[bot] Jan 2, 2025
6a256a8
Bump Emotion to ^11.14.0 (#1264)
renovate[bot] Jan 2, 2025
7de16f2
Bump terser to ^5.37.0 (#1274)
renovate[bot] Jan 2, 2025
b23e9e1
[core] Remove tsbuildinfo from the built package (#1152)
michaldudak Jan 2, 2025
cfdebd1
[core] Use stable React packages (#1113)
michaldudak Jan 2, 2025
7b1382a
Bump eslint (#1257)
renovate[bot] Jan 2, 2025
1aabbf1
Bump babel (#1265)
renovate[bot] Jan 2, 2025
7635f83
Bump terser-webpack-plugin to ^5.3.11 (#1261)
renovate[bot] Jan 2, 2025
ee1d09a
Bump @next/mdx to ^15.1.3 (#1263)
renovate[bot] Jan 2, 2025
3cb059d
Bump @octokit/rest to ^21.0.2 (#1277)
renovate[bot] Jan 2, 2025
84581de
Bump Public packages' dependencies (#1158)
renovate[bot] Jan 2, 2025
13894b1
Bump MUI (#1157)
renovate[bot] Jan 2, 2025
6a35e0e
[useButton] Fix Enter key preventDefault when rendering links (#1251)
mj12albert Jan 2, 2025
34dea77
[docs] Add security coverage (#1150)
oliviertassinari Jan 2, 2025
f8db0db
[Select] Fix highlight flash on Safari (#1233)
atomiks Jan 3, 2025
58434ca
[Slider] Set `position: relative` on range slider indicator (#1175)
mj12albert Jan 3, 2025
9fb1b40
[test] Use vite and vitest for e2e and regression tests (#1127)
mj12albert Jan 4, 2025
3d2f42f
[docs-infra] Always document the `className` and `render` props (#1226)
mnajdova Jan 4, 2025
a2da3d1
[Dialog] Don't call `onNestedDialogOpen` when unmounting a closed nes…
mj12albert Jan 6, 2025
14192a6
[docs] Add accessible label to demo variant selector (#1290)
michaldudak Jan 6, 2025
a14ea0e
[docs] Improvements on the styling guide (#1284)
mnajdova Jan 6, 2025
befe34c
ummountRef -> action
atomiks Jan 7, 2025
5a8731f
Merge branch 'master' into fix/js-anim
atomiks Jan 7, 2025
c5b4936
lockfile
atomiks Jan 7, 2025
cf3e715
[Slider] Use un-rounded values to position thumbs (#1219)
mj12albert Jan 7, 2025
2f1205a
[Select, Menu] Handle pseudo-element bounds in mouseup detection (#1250)
onehanddev Jan 7, 2025
1908c94
[popups] Require `Portal` part (#1222)
atomiks Jan 7, 2025
49bf54c
Merge branch 'master' into fix/js-anim
atomiks Jan 7, 2025
c13d778
[test] Ensure `Portal` is used in `MenuItem` test (#1299)
atomiks Jan 7, 2025
5d0cd32
[core] Enable linting mdx files and fix violations (#1292)
michaldudak Jan 7, 2025
2e87d21
[Slider] Ensure `onValueCommitted` is called with the same value as l…
mj12albert Jan 7, 2025
576effb
[Tabs] Expose width/height state in tabs indicator (#1288)
aarongarciah Jan 7, 2025
bcbceda
[core] Refactor data passing (#1249)
atomiks Jan 8, 2025
31cea62
[Tooltip, PreviewCard] Use `FloatingPortalLite` (#1278)
atomiks Jan 8, 2025
e198c83
[NumberField] Correctly handle quick touches (#1294)
atomiks Jan 8, 2025
412b1bd
[popups] Add `onCloseComplete` callback (#1235)
atomiks Jan 8, 2025
2b05351
[Menu] Fix closing the menu when clicking on checkboxitem/radioitem (…
michaldudak Jan 8, 2025
7c95b65
[Dialog] Remove `useFloating` call from the Popup (#1300)
michaldudak Jan 8, 2025
1eec235
[Menu] Fix `openOnHover` issues (#1191)
atomiks Jan 8, 2025
9552903
[test] Remove deprecated mocha and karma test scripts and update read…
michaldudak Jan 8, 2025
24301b6
[test] Add the isJSDOM utility (#1281)
michaldudak Jan 8, 2025
59c3810
Revert "[popups] Add onCloseComplete callback" (#1306)
atomiks Jan 8, 2025
cda90e5
[Separator] Support vertical orientation (#1304)
mj12albert Jan 8, 2025
fda6b0a
[core] Remove dangerfile (#1307)
michaldudak Jan 8, 2025
0ade784
[core] Fix wrong JSDocs in `useTransitionStatus` (#1293)
mnajdova Jan 8, 2025
c4addb1
[docs] Use discord redirect (#1227)
oliviertassinari Jan 8, 2025
5016515
Merge branch 'master' into fix/js-anim
atomiks Jan 10, 2025
f098d2c
Update
atomiks Jan 10, 2025
a8db50d
Add action for all popups
atomiks Jan 10, 2025
aa84338
Require manual open check
atomiks Jan 10, 2025
47bf76d
[useButton] Fix `focusableWhenDisabled` components (#1313)
mj12albert Jan 10, 2025
1147c18
[release] v1.0.0-alpha.5 (#1316)
michaldudak Jan 10, 2025
3b4f1ca
[Dialogs] Fix missing `id`s on Title and Description (#1326)
mj12albert Jan 13, 2025
8256095
[Tabs] Fix tabs activating incorrectly on non-primary button clicks (…
mj12albert Jan 16, 2025
140263d
[Menu] Fix iPad detection when applying scroll lock (#1342)
mj12albert Jan 17, 2025
154ee1e
Merge branch 'master' into fix/js-anim
atomiks Jan 20, 2025
4fd1541
Fix warning
atomiks Jan 20, 2025
8dc3265
Tests
atomiks Jan 20, 2025
77987ed
Add nativeEvent for mergeReactProps test
atomiks Jan 20, 2025
3c836fb
Lint
atomiks Jan 20, 2025
5d5f7ca
[docs][Slider] Prevent long presses from triggering context menu or t…
onehanddev Jan 21, 2025
aa22b7e
[Docs][Tabs] Fix example component names (#1345)
adamfratino Jan 21, 2025
4803e59
[Dialogs] Support multiple non-nested modal backdrops (#1327)
atomiks Jan 22, 2025
6fdba6b
[Checkbox, Menu, Radio] Avoid applying `hidden` attr when `keepMounte…
onehanddev Jan 22, 2025
638290b
Bump vite to ^6.0.3 [SECURITY] (#1350)
renovate[bot] Jan 22, 2025
dd10994
Bump MUI (#1335)
renovate[bot] Jan 22, 2025
960fb4c
Bump Public packages' dependencies (#1336)
renovate[bot] Jan 22, 2025
369f8cc
[Field] Add `filled` and `focused` style hooks (#1341)
atomiks Jan 23, 2025
d12518c
[useScrollLock] Fix jump with `scroll-behavior` style (#1343)
atomiks Jan 23, 2025
2d94ab9
[test] Speed up regression and E2E tests (#1354)
michaldudak Jan 24, 2025
09663c0
Bump react-router-dom to ^7.1.3 (#1337)
renovate[bot] Jan 24, 2025
0af3006
Polish animation page
atomiks Jan 27, 2025
516d53f
Merge branch 'master' into fix/js-anim
atomiks Jan 27, 2025
9a3bc73
[Menu] Support submenus with `openOnHover` prop (#1338)
atomiks Jan 28, 2025
851d1c1
[Tabs] Fix being able to activate a disabled tab (#1359)
michaldudak Jan 28, 2025
6fb0c4b
Bump MUI (#1363)
renovate[bot] Jan 29, 2025
9e0d121
Bump Public packages' dependencies (#1362)
renovate[bot] Jan 29, 2025
e1eb7bd
[useAnchorPositioning] Add `OffsetFunction` for `sideOffset` and `ali…
atomiks Jan 30, 2025
65c51d9
[Form] Fix focusing of invalid field controls on errors prop change (…
atomiks Jan 30, 2025
701a190
[code-infra] CircleCI maintenance (#1321)
michaldudak Jan 31, 2025
ebd2f06
[core] Update to new Tailwind docs (#1368)
oliviertassinari Jan 31, 2025
f75e28a
[core] Fix corepack installation in CircleCI (#1405)
mj12albert Feb 3, 2025
5ed518a
[core] Allow undefined function for `useEventCallback` (#1372)
atomiks Feb 3, 2025
b6291fe
[Progress] Add `format` prop and `Value` component (#1355)
mj12albert Feb 3, 2025
5e7126e
[docs] Underline links by default (#1357)
atomiks Feb 3, 2025
48fe95a
[infra] Fix support tier-1 flow regression (#1149)
oliviertassinari Feb 3, 2025
935988b
Bump @types/node to ^18.19.74 (#1379)
renovate[bot] Feb 3, 2025
02bc065
Bump eslint (#1383)
renovate[bot] Feb 3, 2025
167f78e
Bump markdownlint-cli2 to ^0.17.2 (#1386)
renovate[bot] Feb 3, 2025
509d65e
Bump react-router-dom to ^7.1.5 (#1389)
renovate[bot] Feb 3, 2025
7654ca8
Bump typescript to ^5.7.3 (#1390)
renovate[bot] Feb 3, 2025
8da7fcb
Bump concurrently to ^9.1.2 (#1402)
renovate[bot] Feb 3, 2025
8aa9397
Bump shiki to ^1.29.2 (#1397)
renovate[bot] Feb 3, 2025
cf364a0
Bump fs-extra to ^11.3.0 (#1385)
renovate[bot] Feb 3, 2025
e335dfe
Bump @types/lodash to ^4.17.15 (#1378)
renovate[bot] Feb 3, 2025
66a3bb9
Bump @types/react to ^19.0.8 (#1380)
renovate[bot] Feb 3, 2025
a2997dd
Bump chai-dom to ^1.12.1 (#1382)
renovate[bot] Feb 3, 2025
316ea41
Bump babel to ^7.26.7 (#1381)
renovate[bot] Feb 3, 2025
cbfdf6a
Bump framer-motion to motion (#1394)
renovate[bot] Feb 3, 2025
fbf0866
Bump mdast-util-mdx-jsx to ^3.2.0 (#1395)
renovate[bot] Feb 3, 2025
30c04ed
Bump @next/mdx to ^15.1.6 (#1377)
renovate[bot] Feb 3, 2025
6332430
Bump GitHub Actions (#1393)
renovate[bot] Feb 3, 2025
4964138
Bump @argos-ci/core to ^3.1.0 (#1399)
renovate[bot] Feb 3, 2025
f39bff3
Bump @octokit/rest to ^21.1.0 (#1392)
renovate[bot] Feb 3, 2025
eefa3bc
Bump vite to ^6.0.11 (#1391)
renovate[bot] Feb 3, 2025
f323fc6
Bump postcss to ^8.5.1 (#1396)
renovate[bot] Feb 3, 2025
37590c5
[Avatar] Add avatar component (#1210)
acomanescu Feb 4, 2025
7ab6031
[Dialogs] Remove `modal={open}` state (#1352)
atomiks Feb 4, 2025
1ecb1ae
Bump fast-glob to ^3.3.3 (#1384)
renovate[bot] Feb 4, 2025
84566a6
Bump stylelint to ^16.14.1 (#1398)
renovate[bot] Feb 4, 2025
58a9a13
[popups] `onOpenChangeComplete` prop (#1305)
atomiks Feb 4, 2025
8ef5ef4
Bump next to 15.1.6 (#1387)
renovate[bot] Feb 4, 2025
1368f62
Bump @mui/monorepo to v6.4.2 (#1376)
renovate[bot] Feb 4, 2025
f8ed96c
[core] Remove unused utils (#1366)
michaldudak Feb 4, 2025
fc6e224
[NoSsr] Reduce bundle size (#1244)
oliviertassinari Feb 4, 2025
f190f91
Merge
atomiks Feb 5, 2025
95a1052
Merge
atomiks Feb 5, 2025
6c818ea
proptypes
atomiks Feb 5, 2025
deb808a
Remove stale file
atomiks Feb 5, 2025
45dd76e
Check for params.action
atomiks Feb 5, 2025
1886b8f
Fix Menu test
atomiks Feb 5, 2025
83fe8ff
[useAnchorPositioning] Ensure `keepMounted` is a private param (#1410)
atomiks Feb 5, 2025
8fcc4ba
Update packages/react/src/menu/root/MenuRoot.test.tsx
atomiks Feb 5, 2025
9fc66fb
[core] Enable stylelint on CSS files (#1184)
oliviertassinari Feb 5, 2025
8678ac1
Rename to actions ref
atomiks Feb 5, 2025
79b7604
[Slider] Fix thumb positioning (#1411)
mj12albert Feb 5, 2025
8ddf7f0
Export Actions type
atomiks Feb 5, 2025
6fc23e8
[field controls] Respect `validationMode` (#1053)
atomiks Feb 5, 2025
01a3c0a
[docs] Zod Form example (#1365)
atomiks Feb 5, 2025
53e01ad
[experiments] Fully featured Menu + common infra (#1330)
michaldudak Feb 5, 2025
b0143a4
Bump vitest to ^2.1.8 [SECURITY] (#1413)
renovate[bot] Feb 5, 2025
df39131
Bump @vitest/browser to ^2.1.8 [SECURITY] (#1412)
renovate[bot] Feb 5, 2025
6149c10
[experiments] Tabs (#1419)
michaldudak Feb 5, 2025
12664a3
Bump Tailwind CSS (#910)
renovate[bot] Feb 5, 2025
2fefc1e
[docs] Update demo sandboxes to use React 19 (#1421)
michaldudak Feb 6, 2025
b939a3a
Merge
atomiks Feb 6, 2025
6aee360
pnpm-lock
atomiks Feb 6, 2025
1641f5f
Add missing actionsRef tests
atomiks Feb 6, 2025
ea32291
[release] 1.0.0-alpha.6 (#1424)
atomiks Feb 6, 2025
963bfa2
[docs] Update release instructions (#1417)
michaldudak Feb 6, 2025
a76167e
[Avatar] Add missing Avatar export (#1428)
Gomah Feb 6, 2025
920655c
[docs] Mention Progress.Value in API reference (#1429)
aarongarciah Feb 6, 2025
e69ca40
Merge branch 'master' into fix/js-anim
atomiks Feb 7, 2025
5e5cfbe
[core] Fix stylelint violations (#1422)
michaldudak Feb 7, 2025
4218da9
[core] Remove babel-plugin-istanbul (#1409)
michaldudak Feb 7, 2025
fb7f9ac
Bump MUI (#1414)
renovate[bot] Feb 7, 2025
8ef9807
Bump Public packages' dependencies (#1415)
renovate[bot] Feb 7, 2025
f94f6b9
Bump postcss-styled-syntax to ^0.7.1 (#922)
renovate[bot] Feb 7, 2025
53c3dc8
Bump @typescript-eslint/parser to ^8.24.0 (#1438)
renovate[bot] Feb 12, 2025
e896408
[core] Make `mergeReactProps` work with non-native event handlers (#1…
michaldudak Feb 13, 2025
36da5a5
[Avatar] Support cross origin in useImageLoadingStatus (#1433)
ISnackable Feb 13, 2025
15926be
[docs] Update the release instructions (#1444)
michaldudak Feb 14, 2025
c60a24f
[Tooltip] Fix `Provider` `delay=0` not being respected (#1416)
atomiks Feb 16, 2025
d919b93
[test] Skip flaky FieldRoot tests in real browsers (#1446)
michaldudak Feb 16, 2025
c4cc794
[docs] Tooltip guidelines (#1356)
atomiks Feb 16, 2025
8c6d4e6
[Slider] Narrow the type of `value` in callbacks (#1241)
seloner Feb 17, 2025
7db5bed
[Menu, Popover, PreviewCard] Set `pointer-events: none` style on back…
atomiks Feb 18, 2025
b7a095f
Merge branch 'master' into fix/js-anim
atomiks Feb 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
143 changes: 39 additions & 104 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
version: 2.1
orbs:
aws-cli: circleci/aws-cli@4.2.3
aws-s3: circleci/aws-s3@4.1.0

parameters:
browserstack-force:
Expand All @@ -16,31 +13,17 @@ parameters:
description: The name of the workflow to run
type: string
default: pipeline
e2e-base-url:
description: The base url for running end-to-end test
type: string
default: ''

default-job: &default-job
parameters:
react-version:
description: The version of react to be used
type: string
default: << pipeline.parameters.react-version >>
test-gate:
description: A particular type of tests that should be run
type: string
default: undefined
e2e-base-url:
description: The base url for running end-to-end test
type: string
default: << pipeline.parameters.e2e-base-url >>
environment:
# expose it globally otherwise we have to thread it from each job to the install command
BROWSERSTACK_FORCE: << pipeline.parameters.browserstack-force >>
REACT_VERSION: << parameters.react-version >>
TEST_GATE: << parameters.test-gate >>
AWS_REGION_ARTIFACTS: eu-central-1
COREPACK_ENABLE_DOWNLOAD_PROMPT: '0'
working_directory: /tmp/base-ui
docker:
Expand Down Expand Up @@ -72,6 +55,11 @@ commands:
default: stable

steps:
- run:
name: Set npm registry public signing keys
command: |
echo "export COREPACK_INTEGRITY_KEYS='$(curl https://registry.npmjs.org/-/npm/v1/keys | jq -c '{npm: .keys}')'" >> $BASH_ENV

- when:
condition: << parameters.browsers >>
steps:
Expand Down Expand Up @@ -151,7 +139,7 @@ jobs:
react-version: << parameters.react-version >>
- run:
name: Run tests on JSDOM
command: pnpm test:jsdom --coverage
command: pnpm test:jsdom:coverage
- run:
name: Check if coverage report is generated
command: |
Expand All @@ -172,7 +160,10 @@ jobs:
- install_js:
react-version: << parameters.react-version >>
- run:
name: Eslint
name: 'Prettier'
command: pnpm prettier --check
- run:
name: ESlint
command: pnpm eslint:ci
- run:
name: Stylelint
Expand All @@ -189,9 +180,6 @@ jobs:
- checkout
- install_js:
react-version: << parameters.react-version >>
- run:
name: '`pnpm prettier` changes committed?'
command: pnpm prettier --check
- run:
name: Generate PropTypes
command: pnpm proptypes
Expand All @@ -214,6 +202,11 @@ jobs:
command: |
pnpm docs:link-check
git add -A && git diff --exit-code --staged
- run:
name: '`pnpm inline-scripts changes committed?'
command: |
pnpm inline-scripts
git add -A && git diff --exit-code --staged
test_types:
<<: *default-job
resource_class: 'medium+'
Expand Down Expand Up @@ -245,18 +238,12 @@ jobs:
- run:
name: Resolve typescript version
command: |
pnpm add typescript@next -d -w
pnpm update -r typescript@next
# log a patch for maintainers who want to check out this change
git --no-pager diff HEAD
- run:
name: Tests TypeScript definitions
command: |
# ignore build failures
# it's expected that typescript@next fails since the lines of the errors
# change frequently. This build is monitored regardless of its status
set +e
pnpm typescript
exit 0
command: pnpm typescript
- restore_cache:
name: Restore generated declaration files
keys:
Expand All @@ -282,15 +269,15 @@ jobs:
<<: *default-job
resource_class: 'medium+'
docker:
- image: mcr.microsoft.com/playwright:v1.49.1-noble
- image: mcr.microsoft.com/playwright:v1.50.1-noble
steps:
- checkout
- install_js:
react-version: << parameters.react-version >>
browsers: true
- run:
name: Run tests on headless Chromium
command: pnpm test:chromium --coverage
command: pnpm test:chromium:coverage
- run:
name: Check if coverage report is generated
command: |
Expand All @@ -304,40 +291,10 @@ jobs:
curl -Os https://uploader.codecov.io/latest/linux/codecov
chmod +x codecov
./codecov -t ${CODECOV_TOKEN} -Z -F "$REACT_VERSION-browser"
- store_artifacts:
# hardcoded in karma-webpack
path: /tmp/_karma_webpack_
destination: artifact-file
test_profile:
<<: *default-job
docker:
- image: mcr.microsoft.com/playwright:v1.49.1-noble
steps:
- checkout
- install_js:
react-version: << parameters.react-version >>
browsers: true
- run:
name: Tests real browsers
# Run a couple of times for a better sample.
# TODO: hack something together where we can compile once and run multiple times e.g. by abusing watchmode.
command: |
# Running on chrome only since actual times are innaccurate anyway
# The other reason is that browserstack allows little concurrency so it's likely that we're starving other runs.
pnpm test:karma:profile --browsers chrome,chromeHeadless
pnpm test:karma:profile --browsers chrome,chromeHeadless
pnpm test:karma:profile --browsers chrome,chromeHeadless
pnpm test:karma:profile --browsers chrome,chromeHeadless
pnpm test:karma:profile --browsers chrome,chromeHeadless
# Persist reports for inspection in https://mui-dashboard.netlify.app/
- store_artifacts:
# see karma.conf.profile.js reactProfilerReporter.outputDir
path: tmp/react-profiler-report/karma
destination: react-profiler-report/karma
test_regressions:
<<: *default-job
docker:
- image: mcr.microsoft.com/playwright:v1.49.1-noble
- image: mcr.microsoft.com/playwright:v1.50.1-noble
steps:
- checkout
- install_js:
Expand All @@ -352,7 +309,7 @@ jobs:
test_e2e:
<<: *default-job
docker:
- image: mcr.microsoft.com/playwright:v1.49.1-noble
- image: mcr.microsoft.com/playwright:v1.50.1-noble
steps:
- checkout
- install_js:
Expand All @@ -365,9 +322,6 @@ jobs:
steps:
- checkout
- install_js
- run:
name: Run danger on PRs
command: pnpm danger ci --fail-on-errors
# TODO test bundle size https://github.com/mui/base-ui/issues/201
test_package:
<<: *default-job
Expand All @@ -383,77 +337,58 @@ jobs:
command: pnpm -r test:package

workflows:
version: 2
pipeline:
when:
equal: [pipeline, << pipeline.parameters.workflow >>]
jobs:
- checkout:
<<: *default-context
name: 'Checkout'
- test_unit:
<<: *default-context
name: 'JSDOM tests'
requires:
- checkout
- Checkout
- test_lint:
<<: *default-context
name: 'Linting'
requires:
- checkout
- Checkout
- test_static:
<<: *default-context
name: 'Generated files verification'
requires:
- checkout
- Checkout
- test_types:
<<: *default-context
name: 'Typechecking'
requires:
- checkout
- Checkout
- test_browser:
<<: *default-context
name: 'Browser tests'
requires:
- checkout
- Checkout
- test_regressions:
<<: *default-context
name: 'Regression tests'
requires:
- checkout
- Checkout
- test_e2e:
<<: *default-context
name: 'E2E tests'
requires:
- checkout
- test_bundle_size_monitor:
<<: *default-context
requires:
- checkout
- Checkout
# - test_bundle_size_monitor:
# <<: *default-context
# name: 'Bundle size monitor'
# requires:
# - checkout
- test_package:
<<: *default-context
name: 'Package verification'
requires:
- checkout
profile:
when:
equal: [profile, << pipeline.parameters.workflow >>]
jobs:
- test_profile:
<<: *default-context
react-17:
triggers:
- schedule:
cron: '0 0 * * *'
filters:
branches:
only:
- master
jobs:
- test_unit:
<<: *default-context
react-version: ^17.0.0
- test_browser:
<<: *default-context
react-version: ^17.0.0
- test_regressions:
<<: *default-context
react-version: ^17.0.0
- Checkout
react-18:
when:
equal: [pipeline, << pipeline.parameters.workflow >>]
Expand Down
1 change: 0 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.git
.nyc_output
/coverage
/docs/.next
/docs/export
Expand Down
39 changes: 38 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,38 @@ module.exports = {
},
overrides: [
...baseline.overrides.filter(
(ruleSet) => !ruleSet.rules.hasOwnProperty('filenames/match-exported'),
(ruleSet) =>
!ruleSet.rules.hasOwnProperty('filenames/match-exported') &&
!ruleSet.extends?.includes('plugin:mocha/recommended'),
),
{
files: [
// matching the pattern of the test runner
'*.test.?(c|m)[jt]s?(x)',
],
rules: {
// disable eslint-plugin-jsx-a11y
// tests are not driven by assistive technology
// add `jsx-a11y` rules once you encounter them in tests
'jsx-a11y/click-events-have-key-events': 'off',
'jsx-a11y/control-has-associated-label': 'off',
'jsx-a11y/iframe-has-title': 'off',
'jsx-a11y/label-has-associated-control': 'off',
'jsx-a11y/mouse-events-have-key-events': 'off',
'jsx-a11y/no-noninteractive-tabindex': 'off',
'jsx-a11y/no-static-element-interactions': 'off',
'jsx-a11y/tabindex-no-positive': 'off',

// In tests this is generally intended.
'react/button-has-type': 'off',
// They are accessed to test custom validator implementation with PropTypes.checkPropTypes
'react/forbid-foreign-prop-types': 'off',
// components that are defined in test are isolated enough
// that they don't need type-checking
'react/prop-types': 'off',
'react/no-unused-prop-types': 'off',
},
},
{
files: ['docs/src/app/(private)/experiments/**/*{.tsx,.js}'],
rules: {
Expand Down Expand Up @@ -87,5 +117,12 @@ module.exports = {
'@typescript-eslint/no-use-before-define': 'off',
},
},
{
files: ['test/**/*{.ts,.tsx}'],
rules: {
'react/prop-types': 'off',
'guard-for-in': 'off',
},
},
],
};
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/1.bug.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: 'Bug report'
about: 'File a bug report.'
labels: ['status: waiting for maintainer']
---

# Bug report
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/2.feature-request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: 'Feature request'
about: 'Suggest a new component or an enhancement for an existing component.'
labels: ['status: waiting for maintainer']
---

# Feature request
Expand Down
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/3.get-help.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
name: 'Get help'
about: 'Ask a question.'
labels: ['status: waiting for maintainer']
---

# Get help

## Ask a question

Before opening an issue, please consider starting a [GitHub Discussion](https://github.com/mui/base-ui/discussions) or asking the community for help in our [Discord](https://discord.com/channels/1287292451308048406/1287292451308048409).
Before opening an issue, please consider starting a [GitHub Discussion](https://github.com/mui/base-ui/discussions) or asking the community for help in our [Discord](https://base-ui.com/r/discord).
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/4.docs-feedback.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
name: 'Docs feedback'
about: 'Help us improve Base UI documentation.'
labels: ['status: waiting for maintainer']
---

# Docs feedback
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Set up pnpm
uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0
- name: Use Node.js 18.x
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 18
cache: 'pnpm' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies
Expand Down
Loading
Loading