Skip to content

Shrink app UI to 90% and convert all px to rem (16px browser default)#26826

Merged
AlexGaillard merged 165 commits into
mainfrom
florian/cms-1920-shrink-the-ui
Mar 11, 2026
Merged

Shrink app UI to 90% and convert all px to rem (16px browser default)#26826
AlexGaillard merged 165 commits into
mainfrom
florian/cms-1920-shrink-the-ui

Conversation

@formfcw

@formfcw formfcw commented Mar 6, 2026

Copy link
Copy Markdown
Contributor

Scope

Shrink the Directus app UI to 90% of its current size by removing the hardcoded 14px root font-size, switching to the
browser default (16px, WCAG-compliant), and converting all CSS px values to rem.

Conversion formulas:

  • px → rem: round(px × 0.9) / 16
  • Existing rem rebase (14px → 16px base): round(rem × 14 × 0.9) / 16
  • Letter-spacing: em where font-size is known, rem fallback otherwise (no intermediate rounding)

137 commits in 10 groups:

  1. Root font-size (1) — remove 14px root, set browser default + WCAG comment
  2. Rem rebase (20) — one commit per unique rem value, 14px base → 16px base
  3. px → rem (107) — one commit per unique px value, ×0.9 shrink
  4. Breakpoints (1) — SCSS mixins (breakpoint-up/breakpoint-down/breakpoint-only), JS BREAKPOINTS as rem
    strings, all media/container queries use mixins
  5. JS layout constants (3) — sidebar/nav-bar defaults, tabular row heights + column widths, v-drawer sidebar (all
    ×0.9)
  6. Sweep (1) — remaining px → rem conversions (editor styles, lib overrides, catch-all)
  7. Stylelint rule (1) — unit-disallowed-list banning px with ignoreProperties exceptions
  8. Letter-spacing fix (2) — revert incorrect rem conversions back to original px, then convert to em/rem correctly
  9. Content-padding fix (2) — revert fragile cssVar() parsing, replace with getComputedStyle() for resolved px
    values
  10. calc() type-safety fix (1) — unitless 0 in var() fallbacks → 0rem for valid calc() addition

Exceptions (kept as px):

  • border-width, outline-width, outline-offset — hairline rendering
  • box-shadow — decorative, sub-pixel sensitive
  • --focus-ring-width, --focus-ring-offset — 2px focus ring
  • Runtime DOM measurements (tooltip positioning, auto-width, expand transitions, auto-fit text, geometry controls, menu positioning, panel padding, resizable components)

Potential Risks / Drawbacks

  • Visual regressions in edge cases (complex layouts, third-party lib overrides)
  • TinyMCE iframe editor styles depend on browser default font-size matching 16px
  • SplitPanel behavior with shrunk min/max values — panels feel slightly smaller
  • Breakpoint shrink means responsive layout switches happen at 90% of old viewport widths
  • ApexCharts fontSize config values converted from px strings to rem strings — verify chart label sizing

Tested Scenarios

  • Stylelint passes with zero violations (app source)
  • Unit tests pass (105,942 passing)
  • Browser zoom at 100%, 125%, 150%
  • Browser default font-size at 16px, 18px, 20px

Review Notes / Questions

  • Build: run pnpm build before testing — JS layout constants and breakpoint changes require a rebuild
  • Groups 8–10 are fix-up commits that revert an incorrect intermediate conversion, then apply the correct one, so
    the combined diff shows original → correct (not wrong → correct)
  • Letter-spacing (5eeb080990): uses em when the element's font-size is determinable (e.g. 0.05em for 9px
    context), rem fallback with no intermediate rounding, truncated to 4 decimal places for stylelint
    number-max-precision
  • Content-padding (3637e1a05f): cssVar() + manual string slicing replaced with
    getComputedStyle(el).paddingInlineStart which always returns resolved px regardless of declared unit — used in both
    private-view-main.vue and v-workspace.vue
  • calc() fallbacks (d11548f0b0): var(--v-list-item-indent, 0)var(--v-list-item-indent, 0rem) — unitless 0
    is <number> not <length>, silently invalidating the entire calc() and dropping the padding declaration. Same fix
    applied to v-badge.vue offset vars. Uses 0rem instead of 0px to avoid triggering the new stylelint px ban.
  • Breakpoints (be6ef675a1): JS BREAKPOINTS converted to rem strings for VueUse useBreakpoints; new SCSS mixins
    replace all hardcoded media/container query values

Checklist

  • Added or updated tests
  • Documentation PR created here or not required
  • OpenAPI package PR created here or not required

Fixes CMS-1920

formfcw added 30 commits March 5, 2026 15:27
Remove html { font-size: 14px } so the root font-size defaults to
the browser setting (typically 16px). Convert body font-size/line-height
to rem/unitless: 0.8125rem / 1.5385.

Existing rem values will render larger until rebased in follow-up commits.
formfcw added 10 commits March 9, 2026 14:48
* revert all line-height values to main

* convert lh 16px (fs unknown) > round(16*0.9)/16 = 0.875rem

* convert lh 18px (fs unknown) > round(18*0.9)/16 = 1rem

* convert lh=fs (12px, 18px, 24px) > round(n*0.9)/round(n*0.9) = 1 (unitless)

* convert lh 38px / fs 1.9375rem > round(38*0.9)/16 = 2.125 / 1.9375 = 1.0968 (unitless)

* convert lh 52px / fs 2.5rem > round(52*0.9)/16 = 2.9375 / 2.5 = 1.175 (unitless)

* convert lh 1rem (14px) / fs 0.6875rem > round(14*0.9)/16 = 0.8125 / 0.6875 = 1.1818 (unitless)

* convert lh 48px / fs 2.25rem > round(48*0.9)/16 = 2.6875 / 2.25 = 1.1944 (unitless)

* convert lh 19px / fs 0.875rem > round(19*0.9)/16 = 1.0625 / 0.875 = 1.2143 (unitless)

* convert lh 31px / fs 1.4375rem > round(31*0.9)/16 = 1.75 / 1.4375 = 1.2174 (unitless)

* convert lh 52px / fs 2.375rem > round(52*0.9)/16 = 2.9375 / 2.375 = 1.2368 (unitless)

* convert lh 28px / fs 1.25rem > round(28*0.9)/16 = 1.5625 / 1.25 = 1.25 (unitless)

* convert lh 22px (fs unknown) > round(22*0.9)/16 = 1.25rem

* convert lh 46px / fs 2rem > round(46*0.9)/16 = 2.5625 / 2 = 1.2813 (unitless)

* convert lh 18px / fs 0.75rem > round(18*0.9)/16 = 1 / 0.75 = 1.3333 (unitless)

* convert lh 24px / fs 1rem > round(24*0.9)/16 = 1.375 / 1 = 1.375 (unitless)

* convert lh 24px (fs unknown) > round(24*0.9)/16 = 1.375rem

* convert lh 20px / fs 0.8125rem > round(20*0.9)/16 = 1.125 / 0.8125 = 1.3846 (unitless)

* convert lh 34px / fs 1.375rem > round(34*0.9)/16 = 1.9375 / 1.375 = 1.4091 (unitless)

* convert lh 22px / fs 1rem > round(22*0.9)/16 = 1.25 / 0.875 = 1.4286 (unitless)

* convert lh 26px / fs 1.125rem > round(26*0.9)/16 = 1.4375 / 1.125 = 1.4375 (unitless)

* convert lh 1.25rem (17.5px) / fs 0.6875rem > round(17.5*0.9)/16 = 1 / 0.6875 = 1.4545 (unitless)

* convert lh 29px / fs 1.0625rem > round(29*0.9)/16 = 1.625 / 1.0625 = 1.5294 (unitless)

* convert lh 22px / fs 0.8125rem > round(22*0.9)/16 = 1.25 / 0.8125 = 1.5385 (unitless)

* convert lh 24px / fs 0.875rem > round(24*0.9)/16 = 1.375 / 0.875 = 1.5714 (unitless)

* convert lh 32px / fs 1.125rem > round(32*0.9)/16 = 1.8125 / 1.125 = 1.6111 (unitless)

* convert lh 20px / fs 0.6875rem > round(20*0.9)/16 = 1.125 / 0.6875 = 1.6364 (unitless)

* convert lh 26px / fs 1rem > round(26*0.9)/16 = 1.4375 / 0.875 = 1.6429 (unitless)

* convert lh 24px / fs 0.875rem > round(24*0.9)/16 = 1.375 / 0.8125 = 1.6923 (unitless)

* convert lh 26px / fs 0.8125rem > round(26*0.9)/16 = 1.4375 / 0.8125 = 1.7692 (unitless)

* convert lh 22px / fs 0.75rem > round(22*0.9)/16 = 1.25 / 0.6875 = 1.8182 (unitless)

* convert lh 24px / fs 0.8125rem > round(24*0.9)/16 = 1.375 / 0.75 = 1.8333 (unitless)

* convert lh 28px / fs 0.8125rem > round(28*0.9)/16 = 1.5625 / 0.8125 = 1.9231 (unitless)

* convert lh 34px (fs=inherit) > round(34*0.9)/16 = 1.9375rem

* convert lh 2.65rem (37.1px) / fs 1rem > round(37.1*0.9)/16 = 2.0625 / 0.8125 = 2.5385 (unitless)

* convert lh 52px (fs=dynamic v-bind) > round(52*0.9)/16 = 2.9375rem

* convert em line-heights to unitless (numerically identical)

* revert all non-mixin @media breakpoint values to main

* convert @media min-height 375px: round(375×0.9) = 338 > 338/16 = 21.125rem

* convert @media 400px: round(400×0.9) = 360 > 360/16 = 22.5rem

* convert @media 500px: round(500×0.9) = 450 > 450/16 = 28.125rem

* convert @media 544px: round(544×0.9) = 490 > 490/16 = 30.625rem

* convert @media 600px: round(600×0.9) = 540 > 540/16 = 33.75rem

* convert @media 618px: round(618×0.9) = 556 > 556/16 = 34.75rem

* convert @media 706px: round(706×0.9) = 635 > 635/16 = 39.6875rem

* convert @media 767px: round(767×0.9) = 690 > 690/16 = 43.125rem

* convert @media 768px: round(768×0.9) = 691 > 691/16 = 43.1875rem

* convert @media 840px: round(840×0.9) = 756 > 756/16 = 47.25rem

* convert @media 960px: round(960×0.9) = 864 > 864/16 = 54rem

* convert @media 1200px: round(1200×0.9) = 1080 > 1080/16 = 67.5rem

* convert @media 1260px: round(1260×0.9) = 1134 > 1134/16 = 70.875rem

* convert @media 1330px: round(1330×0.9) = 1197 > 1197/16 = 74.8125rem

* convert @media 1512px: round(1512×0.9) = 1361 > 1361/16 = 85.0625rem
Comment thread app/src/components/v-workspace.vue
Comment thread app/src/panels/pie-chart/panel-pie-chart.vue
@HZooly

This comment was marked as resolved.

@formfcw formfcw requested a review from alvarosabu March 10, 2026 12:50

@alvarosabu alvarosabu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM and LGTClaude 🐧

@HZooly HZooly left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Shrink it!

@AlexGaillard AlexGaillard merged commit c99bac6 into main Mar 11, 2026
70 checks passed
@AlexGaillard AlexGaillard deleted the florian/cms-1920-shrink-the-ui branch March 11, 2026 13:00
@github-actions github-actions Bot added this to the Next Release milestone Mar 11, 2026
alexlebens pushed a commit to alexlebens/infrastructure that referenced this pull request Mar 26, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [directus/directus](https://github.com/directus/directus) | minor | `11.16.1` → `11.17.0` |

---

### Release Notes

<details>
<summary>directus/directus (directus/directus)</summary>

### [`v11.17.0`](https://github.com/directus/directus/releases/tag/v11.17.0)

[Compare Source](directus/directus@v11.16.1...v11.17.0)

##### ⚠️ Potential Breaking Changes

**Added support for importing data in the background ([#&#8203;26914](directus/directus#26914
Imports now automatically time out after 1 hour, with a maximum of 20 running concurrently. These limits can be configured via `IMPORT_TIMEOUT` and `IMPORT_MAX_CONCURRENCY`, respectively.

**Improved build times using `tsdown`’s `oxc-transform` ([#&#8203;26604](directus/directus#26604
Exports previously available from `@directus/types/collab` are now exported directly from `@directus/types`

**Shrunk app UI to 90% and converted all px to rem (16px browser default) ([#&#8203;26826](directus/directus#26826
Potential breaking change: The app UI has been shrunk to 90% of its previous size. Extensions that rely on hardcoded px values or the old 14px root font-size may render incorrectly — all app sizing now uses rem based on the 16px browser default.

- **[@&#8203;directus/api](https://github.com/directus/api)**
  - Added support for importing data in the background ([#&#8203;26914](directus/directus#26914) by [@&#8203;Nitwel](https://github.com/Nitwel))
- **[@&#8203;directus/types](https://github.com/directus/types)**
  - Improved build times using `tsdown`’s `oxc-transform` ([#&#8203;26604](directus/directus#26604) by [@&#8203;Nitwel](https://github.com/Nitwel))
- **[@&#8203;directus/specs](https://github.com/directus/specs)**
  - Updated fast-xml-parser, qs, minimatch, tar, undici, vue-split-panel and flatted dependencies ([#&#8203;26951](directus/directus#26951) by [@&#8203;br41nslug](https://github.com/br41nslug))

##### ✨ New Features & Improvements

- **[@&#8203;directus/app](https://github.com/directus/app)**
  - Added support for importing data in the background ([#&#8203;26914](directus/directus#26914) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Added utility endpoint and UI to generate translations collections and fields. ([#&#8203;26742](directus/directus#26742) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
  - Added deployment provider link on the run detail page, opening deployments directly in Vercel or Netlify dashboards. ([#&#8203;26888](directus/directus#26888) by [@&#8203;LZylstra](https://github.com/LZylstra))
  - Shrunk app UI to 90% and converted all px to rem (16px browser default) ([#&#8203;26826](directus/directus#26826) by [@&#8203;formfcw](https://github.com/formfcw))
- **[@&#8203;directus/api](https://github.com/directus/api)**
  - Added tool search tool for Anthropic AI provider to reduce context usage ([#&#8203;26864](directus/directus#26864) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
  - Added support for setting the `secure` attribute on OpenID/OAuth2 cookies via the `AUTH_<PROVIDER>_COOKIE_SECURE` environment variable ([#&#8203;26628](directus/directus#26628) by [@&#8203;dstockton](https://github.com/dstockton))
  - Updated `FilesService.uploadOne` to support an optional `storage` parameter ([#&#8203;26882](directus/directus#26882) by [@&#8203;gaetansenn](https://github.com/gaetansenn))
  - Added AI SDK Devtools middleware support for debugging AI Assistant in development only. Added AI telemetry provider ([#&#8203;26678](directus/directus#26678) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
    config for Braintrust and Langfuse, enabling sending traces for observability, usage, and token costs.
  - Added utility endpoint and UI to generate translations collections and fields. ([#&#8203;26742](directus/directus#26742) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
  - Added support for Redis namespace control ([#&#8203;26943](directus/directus#26943) by [@&#8203;dstockton](https://github.com/dstockton))
- **[@&#8203;directus/errors](https://github.com/directus/errors)**
  - Added support for importing data in the background ([#&#8203;26914](directus/directus#26914) by [@&#8203;Nitwel](https://github.com/Nitwel))
- **[@&#8203;directus/env](https://github.com/directus/env)**
  - Added support for importing data in the background ([#&#8203;26914](directus/directus#26914) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Added support for Redis namespace control ([#&#8203;26943](directus/directus#26943) by [@&#8203;dstockton](https://github.com/dstockton))
- **[@&#8203;directus/system-data](https://github.com/directus/system-data)**
  - Added utility endpoint and UI to generate translations collections and fields. ([#&#8203;26742](directus/directus#26742) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
- **[@&#8203;directus/constants](https://github.com/directus/constants)**
  - Added utility endpoint and UI to generate translations collections and fields. ([#&#8203;26742](directus/directus#26742) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
- **[@&#8203;directus/extensions-sdk](https://github.com/directus/extensions-sdk)**
  - Shrunk app UI to 90% and converted all px to rem (16px browser default) ([#&#8203;26826](directus/directus#26826) by [@&#8203;formfcw](https://github.com/formfcw))
- **[@&#8203;directus/themes](https://github.com/directus/themes)**
  - Shrunk app UI to 90% and converted all px to rem (16px browser default) ([#&#8203;26826](directus/directus#26826) by [@&#8203;formfcw](https://github.com/formfcw))

##### 🐛 Bug Fixes & Optimizations

- **[@&#8203;directus/app](https://github.com/directus/app)**
  - Fix file renaming ([#&#8203;26946](directus/directus#26946) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Fixed filtering out `preRegisterCheck === false` modules from settings module bar config ([#&#8203;26953](directus/directus#26953) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Prevented uncaught exception when v-menu has no tabbable elements ([#&#8203;26922](directus/directus#26922) by [@&#8203;robluton](https://github.com/robluton))
  - Fixed a bug where global draft updates failed for singleton collections ([#&#8203;26910](directus/directus#26910) by [@&#8203;formfcw](https://github.com/formfcw))
  - Refactored "Clear value(s) on save when hidden" condition so it's applied inside a drawer ([#&#8203;26925](directus/directus#26925) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Added functionality to duplicate access policies ([#&#8203;26889](directus/directus#26889) by [@&#8203;robluton](https://github.com/robluton))
  - Reduced width of split panel resize handle to prevent scrollbar interference ([#&#8203;26908](directus/directus#26908) by [@&#8203;robluton](https://github.com/robluton))
  - Updated Vite to version 8.0.0 ([#&#8203;26887](directus/directus#26887) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Corrected field editability for conditional update policies and version items ([#&#8203;26815](directus/directus#26815) by [@&#8203;HZooly](https://github.com/HZooly))
  - Fixed date picker not emitting value after month/year change. ([#&#8203;26880](directus/directus#26880) by [@&#8203;powerseed](https://github.com/powerseed))
  - Fixed inconsistent dropdown arrows in visual editor header bar ([#&#8203;26904](directus/directus#26904) by [@&#8203;formfcw](https://github.com/formfcw))
- **[@&#8203;directus/api](https://github.com/directus/api)**
  - Added API request counting to telemetry reports. Requests are tracked by HTTP method and cache status. ([#&#8203;26738](directus/directus#26738) by [@&#8203;connorwinston](https://github.com/connorwinston))
  - Fix file renaming ([#&#8203;26946](directus/directus#26946) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Fixed errors during import not propagated while the file is streaming ([#&#8203;26881](directus/directus#26881) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Added `cache clear` CLI command with `--system` and `--data` flags ([#&#8203;26898](directus/directus#26898) by [@&#8203;gaetansenn](https://github.com/gaetansenn))
  - Improved build times using `tsdown`’s `oxc-transform` ([#&#8203;26604](directus/directus#26604) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Preserved M2A type info when using named GraphQL fragments ([#&#8203;26920](directus/directus#26920) by [@&#8203;gaetansenn](https://github.com/gaetansenn))
  - Added GraphQL resolver deduplication ([#&#8203;26949](directus/directus#26949) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Fixed aggregation sanitization ([#&#8203;26948](directus/directus#26948) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Added cross origin opener policy settings ([#&#8203;26947](directus/directus#26947) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Fixed revisions not using prepareDelta ([#&#8203;26867](directus/directus#26867) by [@&#8203;br41nslug](https://github.com/br41nslug))
- **[@&#8203;directus/types](https://github.com/directus/types)**
  - Fix file renaming ([#&#8203;26946](directus/directus#26946) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Updated `FilesService.uploadOne` to support an optional `storage` parameter ([#&#8203;26882](directus/directus#26882) by [@&#8203;gaetansenn](https://github.com/gaetansenn))
  - Added GraphQL resolver deduplication ([#&#8203;26949](directus/directus#26949) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Fixed revisions not using prepareDelta ([#&#8203;26867](directus/directus#26867) by [@&#8203;br41nslug](https://github.com/br41nslug))
- **[@&#8203;directus/env](https://github.com/directus/env)**
  - Fix file renaming ([#&#8203;26946](directus/directus#26946) by [@&#8203;br41nslug](https://github.com/br41nslug))
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Added support for setting the `secure` attribute on OpenID/OAuth2 cookies via the `AUTH_<PROVIDER>_COOKIE_SECURE` environment variable ([#&#8203;26628](directus/directus#26628) by [@&#8203;dstockton](https://github.com/dstockton))
  - Added AI SDK Devtools middleware support for debugging AI Assistant in development only. Added AI telemetry provider ([#&#8203;26678](directus/directus#26678) by [@&#8203;bryantgillespie](https://github.com/bryantgillespie))
    config for Braintrust and Langfuse, enabling sending traces for observability, usage, and token costs.
  - Added cross origin opener policy settings ([#&#8203;26947](directus/directus#26947) by [@&#8203;br41nslug](https://github.com/br41nslug))
- **[@&#8203;directus/ai](https://github.com/directus/ai)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/composables](https://github.com/directus/composables)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/constants](https://github.com/directus/constants)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/errors](https://github.com/directus/errors)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/extensions](https://github.com/directus/extensions)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/extensions-registry](https://github.com/directus/extensions-registry)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/extensions-sdk](https://github.com/directus/extensions-sdk)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Updated Vite to version 8.0.0 ([#&#8203;26887](directus/directus#26887) by [@&#8203;Nitwel](https://github.com/Nitwel))
- **[@&#8203;directus/format-title](https://github.com/directus/format-title)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/memory](https://github.com/directus/memory)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/pressure](https://github.com/directus/pressure)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/release-notes-generator](https://github.com/directus/release-notes-generator)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Fixed generated build ([#&#8203;26959](directus/directus#26959) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/schema](https://github.com/directus/schema)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/schema-builder](https://github.com/directus/schema-builder)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage](https://github.com/directus/storage)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-azure](https://github.com/directus/storage-driver-azure)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-cloudinary](https://github.com/directus/storage-driver-cloudinary)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-gcs](https://github.com/directus/storage-driver-gcs)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-local](https://github.com/directus/storage-driver-local)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-s3](https://github.com/directus/storage-driver-s3)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/storage-driver-supabase](https://github.com/directus/storage-driver-supabase)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/stores](https://github.com/directus/stores)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/system-data](https://github.com/directus/system-data)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/themes](https://github.com/directus/themes)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/update-check](https://github.com/directus/update-check)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/utils](https://github.com/directus/utils)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Preserved M2A type info when using named GraphQL fragments ([#&#8203;26920](directus/directus#26920) by [@&#8203;gaetansenn](https://github.com/gaetansenn))
  - Fixed revisions not using prepareDelta ([#&#8203;26867](directus/directus#26867) by [@&#8203;br41nslug](https://github.com/br41nslug))
- **[@&#8203;directus/validation](https://github.com/directus/validation)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
- **[@&#8203;directus/sdk](https://github.com/directus/sdk)**
  - Updated `@directus/tsconfig` dependency from 3.0.0 to 4.0.0 ([#&#8203;26879](directus/directus#26879) by [@&#8203;AlexGaillard](https://github.com/AlexGaillard))
  - Improved build times using `tsdown`’s `oxc-transform` ([#&#8203;26604](directus/directus#26604) by [@&#8203;Nitwel](https://github.com/Nitwel))
  - Fixed function typing in sdk for  `date` and `time` fields. ([#&#8203;26936](directus/directus#26936) by [@&#8203;costajohnt](https://github.com/costajohnt))

##### 📦 Published Versions

- `@directus/app@15.6.0`
- `@directus/api@35.0.0`
- `@directus/ai@1.3.1`
- `@directus/composables@11.2.16`
- `@directus/constants@14.3.0`
- `create-directus-extension@11.0.32`
- `@directus/env@5.7.0`
- `@directus/errors@2.3.0`
- `@directus/extensions@3.0.22`
- `@directus/extensions-registry@3.0.22`
- `@directus/extensions-sdk@17.1.0`
- `@directus/format-title@12.1.2`
- `@directus/memory@3.1.5`
- `@directus/pressure@3.0.20`
- `@directus/release-notes-generator@2.0.4`
- `@directus/schema@13.0.6`
- `@directus/schema-builder@0.0.17`
- `@directus/specs@13.0.0`
- `@directus/storage@12.0.4`
- `@directus/storage-driver-azure@12.0.20`
- `@directus/storage-driver-cloudinary@12.0.20`
- `@directus/storage-driver-gcs@12.0.20`
- `@directus/storage-driver-local@12.0.4`
- `@directus/storage-driver-s3@&#8203;12.1.6`
- `@directus/storage-driver-supabase@3.0.20`
- `@directus/stores@2.0.1`
- `@directus/system-data@4.4.0`
- `@directus/themes@1.3.0`
- `@directus/types@15.0.0`
- `@directus/update-check@13.0.5`
- `@directus/utils@13.3.2`
- `@directus/validation@2.0.20`
- `@directus/sdk@21.2.1`

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44OS4zIiwidXBkYXRlZEluVmVyIjoiNDMuODkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZ2l0aHViLXJlbGVhc2VzIiwiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5109
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators May 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants