6851 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
367b59371f
|
ignore unreachable gitignore whitelists when promoting sources
Whether an explicitly listed directory is git ignored (and should bypass
the ignore rules as an external source) was decided by walking up from the
directory and letting the nearest `.gitignore` with a definitive answer
win. That's only half of git's precedence: a whitelist is unreachable when
a parent directory is excluded — git never descends into an excluded
directory, so re-include rules inside of it have no effect. With
.gitignore parent/
parent/.gitignore !child/
`@source "./parent/child"` stayed a regular auto source (the `!child/`
whitelist answered first), so the `.gitignore` files inside it kept
applying, even though git considers the whole tree ignored.
Decide exclusion the way git does instead: walk the path from the top
down, settling for every directory along the way whether it is excluded —
the first excluded directory makes everything below it ignored. Within a
single directory's decision the deepest `.gitignore` still wins, so
directories re-included by a deeper, reachable `!dir` pattern stay regular
auto sources. Both directions are now pinned by unit tests next to the
other promotion tests.
|
||
|
|
7de8663522
|
add test for unreachable gitignore whitelists | ||
|
|
ae45aca295
|
always include concrete file sources, even default-ignored ones
`@source ".env"` scanned nothing: the pattern walker only bypasses the default file rules when the glob pins an extension, and Rust's `Path::extension()` returns `None` for leading-dot names like `.env`, so the file fell through to the default rules — which ignore `.env` — and was dropped. A pattern without any wildcards names a concrete file and is the most explicit source there is, so it now always bypasses the default file rules, extension or not. Extension-pinning globs behave as before, and globs that pin nothing (e.g. `blog/*/**/*`) still apply the default rules. |
||
|
|
79b2ce7af8
|
add test for explicit extensionless file sources | ||
|
|
d78a138ca3
|
exclude whole directories when a @source not glob matches them
`@source not "./src/ba*"` is normalized to base `src` + pattern `/ba*` (the wildcard can't be hoisted into the base), but the pattern-walker's not-directive check only glob-matched the file path itself: `/ba*` never matches `/bar/index.html` since `*` doesn't cross `/`, and the directory pruning only recognized the normalized `/**/*` shape. So wildcard directory exclusions were silently ignored by pattern sources. Follow gitignore semantics instead: a pattern that matches a directory excludes the whole subtree. `NotRule::matches` now tests the path itself and every ancestor directory up to the directive's base, and replaces both the file-level check and the directory pruning check (the `/**/*` sentinel special case falls out naturally). The auto/external walker already behaved correctly because on-disk gitignore semantics apply there natively. |
||
|
|
fb43708997
|
add test for wildcard directory source exclusions | ||
|
|
35d2ea025d
|
simplify SourceEntry
- Fold `External { base }` into `Auto { base, external: bool }`. External
sources were never a distinct kind of source: they are auto sources whose
directory is itself ignored but was explicitly listed (set either directly
for `node_modules`-style directories, or by the gitignore promotion walk).
Every consumer except the walker-layer emission matched
`Auto { base } | External { base }`; those pairings collapse to a single
arm, and the promotion becomes setting a field instead of swapping
variants.
- Delete the unused `SourceEntry` ⇄ `GlobEntry` `From` conversions; the
glob accessors build `GlobEntry` values inline and nothing ever converted
through these impls.
- Document that directory-shaped `@source not` directives are normalized to
a `/**/*` pattern (semantically identical), which `NotRule::covers_dir`
relies on.
- Make the folder check in `From<PublicSourceEntry>` honest: joining the
"/"-pinned pattern onto the base discarded the base entirely (an absolute
path replaces it), so the check accidentally tested a nonsense path like
`/index.html` against the filesystem root. Strip the leading slash and
document that this arm only matters when `optimize()` could not
canonicalize the base.
|
||
|
|
cdcbf98744
|
questionable test | ||
|
|
6d9d3b65e4
|
rewrite source scanning around one walker per source kind
Previously all `@source` directives were compiled into a single file walker: directives became layered gitignore rules, `expand_restricted_patterns` injected `*` / `/*` / `!/dir/` counter-rules to restrict concrete patterns, and a global `filter_entry` re-checked files against every source. Because all rules were global to the one walker, sources contaminated each other: pattern-driven re-includes leaked into auto source results, and auto source bases legitimized files that only a pattern's walk root reached. This caused a family of bugs: - #18870: globs through directories that are ignored from within (Laravel's `storage/` layout) found nothing - a concrete file `@source` pointing behind `node_modules` or a git ignored directory scanned all of its siblings - `@source "./foo/*.html"` on an ignored folder also scanned other extensions in `foo` - external sources (explicitly listed ignored directories) scanned nested `node_modules` Sources are now split over multiple walkers: - One gitignore-aware walker for all auto/external roots. Default rules and `@source not` rules are registered as explicit in-memory gitignores in directive order (later directives win); external roots get a `!/**/*` whitelist plus a re-statement of the default rules so that e.g. nested `node_modules` stay ignored. - One walker per pattern base. The static prefix of a glob is the explicit part: it is used as the walk root and `.gitignore` files above it never apply, even when the base is hidden inside an ignored directory. The wildcard part is not explicit: `.gitignore` files inside the subtree and the default-ignored directories still prune (`@source "./**/*.html"` does not descend into `node_modules` or a git ignored `dist/"; `@source "./dist/**/*.html"` does). Matching files always win over file-level ignores, and globs that don't pin an extension re-apply the default extension rules. A filter closure makes the exact per-file decision, honoring the relative order of `@source not` directives, and `dir_could_contain_matches` keeps the walk pruned to directories that can actually contribute files. The `@source` semantics are now documented as a spec at the top of `scanner/mod.rs` and pinned by eleven new tests (six of which failed on the old implementation). Four unit tests asserting the internals of the removed `expand_restricted_patterns` mechanism were deleted; the user-visible behavior they guarded is covered by the scanner-level tests. |
||
|
|
5fcd42dd9f
|
don't promote re-included directories to external sources
When deciding whether an explicitly listed directory is git ignored (and should therefore bypass the ignore rules as an "external" source), follow git's precedence: walk up from the directory and let the nearest `.gitignore` with a definitive answer win. A directory that a deeper `.gitignore` re-includes via a `!dir` pattern is not ignored, even when an ancestor `.gitignore` ignores it, so it keeps its regular auto source detection behavior instead of bypassing the gitignore rules inside of it. |
||
|
|
54e2c1ab15
|
render symlinks relatively | ||
|
|
0308dd4adb
|
fix broken symlink tests | ||
|
|
e0d271bb62
|
render broken paths (symlinks) | ||
|
|
44765c4167
|
visualize scanned files | ||
|
|
a4d3f804ce
|
rebase ignore crate from 0.4.24 to 0.4.33
|
||
|
|
8ac18c7e72
|
test: fix 'with with' typo in css parser tests (#20410)
<!-- 👋 Hey, thanks for your interest in contributing to Tailwind! **Please ask first before starting work on any significant new features.** It's never a fun experience to have your pull request declined after investing a lot of time and effort into a new feature. To avoid this from happening, we request that contributors create a discussion to first discuss any significant new features. For more info, check out the contributing guide: https://github.com/tailwindlabs/tailwindcss/blob/main/.github/CONTRIBUTING.md --> ## Summary <!-- Provide a summary of the issue and the changes you're making. How does your change solve the problem? --> ## Test plan <!-- Explain how you tested your changes. Include the exact commands that you used to verify the change works and include screenshots/screen recordings of the update behavior in the browser if applicable. --> |
||
|
|
b86a6e0a0d
|
Fix slow Vite rebuilds in projects with large gitignored directories (#20408)
Preface: For full transparency, I used AI (Claude) to help dig into this issue we're having and write some of the explanation below. Our local Laravel application (with Docker) takes between 2-6s seconds (re)building `app.css` after each Blade file update. After checking with Claude, there seems to be some potential unnecessary traversing of big (gitignored) directories, specifically `vendor` and `storage`. As far as I understand it, two scans happen in tailwindcss: - a first scan, the content scan. This one reads the project files (auto-detect). It respects .gitignore, so it correctly skips vendor/ and storage/. - a second scan, the glob resolution (resolve_globs() in the oxide crate). It builds watch patterns that the Vite plugin registers, so a file save can trigger a CSS rebuild. It walks the project again, but this walk does not respect .gitignore. It only skips a hardcoded list of directory names from `ignored-content-dirs.txt` (node_modules, .git, venv, ...). vendor/ and storage/ are not on that list, so it descends into them and stats every file. These directories can never produce a watch pattern, because the content scan never visited them. That work is perhaps wasted? Maybe why this went unnoticed: on a native filesystem a stat takes about 1µs, so 57k of them is around 0.06s. A Docker bind mount multiplies that by roughly 100. And the big directory in a typical JS project is `node_modules`, which the name list already catches; `vendor/` is the PHP ecosystem's `node_modules`, and it is not on that list. (#19616 / #19632 fixed the same problem for `scanner.files`; the CLI never reads `scanner.globs`, so it was never affected.) The fix: the second walk now skips any directory the scan never visited, the same pruning the first walk (line 73) already does. Measured on our local project: `get_globs()` after `scan()` went from 9.9s to somewhere between 0.2 and 1.0s across runs, with identical output (35 globs). A template save now reloads in about 0.3s instead of 4. ## Test plan - `cargo test` in `crates/oxide`: 66 tests pass, including the glob assertions for nested and gitignored directories in `tests/scanner.rs`. - Compared the sorted `get_globs()` output before and after on the project above: identical. I've also set up a repo that reproduces the issue in a fresh Laravel app: https://github.com/marickvantuil/tailwind-scan-reproduce The results: | Environment | vendor/ | scan | get_globs | syscalls under vendor/ | | --- | --- | --- | --- | --- | | GitHub Actions (native FS) | present | 5.0 ms | 48.8 ms | 11,410 | | GitHub Actions (native FS) | absent | 4.5 ms | 0.9 ms | n/a | | macOS, Docker bind mount | present | 15.8 ms | 599.4 ms | 11,410 | | macOS, Docker bind mount | absent | 16.5 ms | 6.5 ms | n/a | --------- Co-authored-by: Marick van Tuil <marick@dolphiq.nl> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Robin Malfait <malfait.robin@gmail.com> |
||
|
|
16e94cbf7f
|
Make createCompatConfig theme mappings safe to spread when a namespace returns a string (#20399)
When building the legacy config compat layer, namespace mappings like
`fontSize` → `text`, `boxShadow` → `shadow`, `animation` → `animate`,
etc. spread the result of `theme(namespace, {})` directly:
```ts
...(theme('text', {}) ?? {})
```
Some of these namespaces can return a **string** (e.g. `theme('text',
{})` → `'1rem'`). Spreading a string produces char-indexed keys (`{ '0':
'1', '1': 'r', ... }`) instead of a `{ DEFAULT: ... }` entry, silently
corrupting the compat config output.
This PR adds a small `spreadTheme` helper that normalizes the return
value before spreading:
- `string` → `{ DEFAULT: value }`
- plain object → `{ ...value }`
- anything else → `{}`
and updates all namespace mappings to use it. Includes unit tests for
the helper plus integration tests for the affected namespaces and the
string-return regression cases.
---------
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
|
||
|
|
46df7ee2fc
|
Don't scan ignored folders using .gitignore safelist setup (#20397)
This PR fixes an issue where a folder containing a `.gitignore` that uses a whitelist setup results in too many folders being scanned: ```gitignore # .gitignore /* !/app ``` We want to make sure that we respect the `.gitignore` file, but we also need to make sure that `@source` directives 'win' from `.gitignore` files. For example: ```css @import 'tailwindcss'; @source "./node_modules/my-package/*.js"; ``` In this case, `node_modules` is likely ignored via `.gitignore`, but you _do_ want to include the files from the `my-package` folder, essentially overriding the `.gitignore` rules. To do this, we internally mark this folder as an `External` folder such that it gets read, because that's what we want. The current bug has a pattern like `/*` and then safelist/whitelist patterns to include certain folders. The problem with the `/*` pattern is that this convert the _current_ folder to an `External` folder. This is wrong. The current folder cannot be ignored by the current `.gitignore` file itself. You can ignore files and folders _inside_ the current folder, but not the folder itself. The current folder can only be ignored by parent `.gitignore` rules. Originally discussed in: https://github.com/tailwindlabs/tailwindcss/discussions/20382 Fixes: #20385 ## Test plan 1. Added regression tests 2. Added integration tests Manually tested, and logging the scanned files does result in some interesting results: <details> <summary>Before</summary> ``` Reading ".git/COMMIT_EDITMSG" Reading ".git/HEAD" Reading ".git/MERGE_RR" Reading ".git/config" Reading ".git/description" Reading ".git/hooks/applypatch-msg.sample" Reading ".git/hooks/commit-msg.sample" Reading ".git/hooks/fsmonitor-watchman.sample" Reading ".git/hooks/post-update.sample" Reading ".git/hooks/pre-applypatch.sample" Reading ".git/hooks/pre-commit.sample" Reading ".git/hooks/pre-merge-commit.sample" Reading ".git/hooks/pre-push.sample" Reading ".git/hooks/pre-rebase.sample" Reading ".git/hooks/pre-receive.sample" Reading ".git/hooks/prepare-commit-msg.sample" Reading ".git/hooks/push-to-checkout.sample" Reading ".git/hooks/sendemail-validate.sample" Reading ".git/hooks/update.sample" Reading ".git/index" Reading ".git/info/exclude" Reading ".git/logs/HEAD" Reading ".git/logs/refs/heads/main" Reading ".git/objects/02/2fe3aa1b28300c0146acdff4eb3240cd2a861b" Reading ".git/objects/17/45509b3ec34de9d8ddd6708c9d73f191c63c48" Reading ".git/objects/1e/d83f044a80cfec0843a0d68fa859c101e4e02f" Reading ".git/objects/60/76888f3ae7ecd2712c236933314e1c420e52f2" Reading ".git/objects/76/e5d55dc7d51e47bff78b27e39a13110e17c072" Reading ".git/objects/89/7b4529b9a3db489cc00e2cff4bbd1a2f09fb50" Reading ".git/objects/8c/781ce3374b53455c284bef51bffbee5ca88969" Reading ".git/objects/b2/ceaa157eef0b2a8d0231a1396b17684da71de7" Reading ".git/objects/da/7ef6439d0779bae07668b42d77dcbce2f84111" Reading ".git/refs/heads/main" Reading ".gitattributes" Reading ".gitignore" Reading "app/index.html" Reading "build/index.html" Reading "node_modules/.modules.yaml" Reading "node_modules/.package-map.json" Reading "node_modules/.pnpm-workspace-state-v1.json" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/LICENSE" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/README.md" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/package.json" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/src/strings.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/LICENSE" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/README.md" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/package.json" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/binary-search.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/by-source.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/resolve.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/sort.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/src/types.ts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sort.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sort.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/types.d.cts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/types.d.mts" Reading "node_modules/.pnpm/@jridgewell+gen-mapping@0.3.13/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/LICENSE" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/README.md" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/package.json" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/src/set-array.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/src/types.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/types.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/types.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/LICENSE" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/README.md" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/dist/remapping.mjs" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/dist/remapping.mjs.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/dist/remapping.umd.js" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/package.json" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/src/remapping.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/src/source-map-tree.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/src/source-map.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/src/types.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/remapping.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/remapping.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/remapping.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/remapping.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/source-map.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/types.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/types.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/types.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/remapping/types/types.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/LICENSE" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/README.md" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/package.json" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/binary-search.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/by-source.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/resolve.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/sort.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/src/types.ts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sort.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sort.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/types.d.cts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/types.d.mts" Reading "node_modules/.pnpm/@jridgewell+remapping@2.3.5/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/LICENSE" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/README.md" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts" Reading "node_modules/.pnpm/@jridgewell+resolve-uri@3.1.2/node_modules/@jridgewell/resolve-uri/package.json" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/LICENSE" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/README.md" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/resolve-uri/package.json" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/LICENSE" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/README.md" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/package.json" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/src/strings.ts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts" Reading "node_modules/.pnpm/@jridgewell+trace-mapping@0.3.31/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map" Reading "node_modules/.pnpm/@parcel+watcher-darwin-arm64@2.6.0/node_modules/@parcel/watcher-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher-darwin-arm64@2.6.0/node_modules/@parcel/watcher-darwin-arm64/README.md" Reading "node_modules/.pnpm/@parcel+watcher-darwin-arm64@2.6.0/node_modules/@parcel/watcher-darwin-arm64/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher-darwin-arm64/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher-darwin-arm64/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/binding.gyp" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/index.d.ts" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/index.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/index.js.flow" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/scripts/build-from-source.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Backend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Backend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Debounce.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Debounce.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/DirTree.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/DirTree.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Event.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Glob.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Glob.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/PromiseRunner.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Signal.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Watcher.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/Watcher.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/binding.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/linux/InotifyBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/linux/InotifyBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/macos/FSEventsBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/macos/FSEventsBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/shared/BruteForceBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/shared/BruteForceBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/unix/fts.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/unix/legacy.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/wasm/WasmBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/wasm/WasmBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/wasm/include.h" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/watchman/BSER.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/watchman/BSER.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/watchman/IPC.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/windows/WindowsBackend.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/windows/WindowsBackend.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/windows/win_utils.cc" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/src/windows/win_utils.hh" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/@parcel/watcher/wrapper.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/index.d.ts" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/lib/detect-libc.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/lib/elf.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/lib/filesystem.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/lib/process.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/detect-libc/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/is-glob/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/is-glob/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/is-glob/index.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/is-glob/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/LICENSE.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/common.gypi" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/except.gypi" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/index.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/napi-inl.deprecated.h" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/napi-inl.h" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/napi.h" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/node_addon_api.gyp" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/node_api.gyp" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/noexcept.gypi" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/nothing.c" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/package-support.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/tools/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/tools/check-napi.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/tools/clang-format.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/tools/conversion.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/node-addon-api/tools/eslint-format.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/LICENSE" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/README.md" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/index.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/lib/constants.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/lib/parse.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/lib/picomatch.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/lib/scan.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/lib/utils.js" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/package.json" Reading "node_modules/.pnpm/@parcel+watcher@2.6.0/node_modules/picomatch/posix.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/LICENSE" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/README.md" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/clone.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/graceful-fs.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/legacy-streams.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/package.json" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/graceful-fs/polyfills.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/LICENSE" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/README.md" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncParallelBailHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncParallelHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncSeriesBailHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncSeriesHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncSeriesLoopHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/Hook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/HookCodeFactory.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/HookMap.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/MultiHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/SyncBailHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/SyncHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/SyncLoopHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/SyncWaterfallHook.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/index.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/lib/util-browser.js" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/package.json" Reading "node_modules/.pnpm/enhanced-resolve@5.24.5/node_modules/tapable/tapable.d.ts" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/LICENSE" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/README.md" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/clone.js" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/graceful-fs.js" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/legacy-streams.js" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/package.json" Reading "node_modules/.pnpm/graceful-fs@4.2.11/node_modules/graceful-fs/polyfills.js" Reading "node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/LICENSE" Reading "node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/README.md" Reading "node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js" Reading "node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/package.json" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob/LICENSE" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob/README.md" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob/index.js" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-extglob/package.json" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/LICENSE" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/README.md" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js" Reading "node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/package.json" Reading "node_modules/.pnpm/lightningcss-darwin-arm64@1.33.0/node_modules/lightningcss-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/lightningcss-darwin-arm64@1.33.0/node_modules/lightningcss-darwin-arm64/README.md" Reading "node_modules/.pnpm/lightningcss-darwin-arm64@1.33.0/node_modules/lightningcss-darwin-arm64/package.json" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/LICENSE" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/README.md" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/index.d.ts" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/lib/detect-libc.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/lib/elf.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/lib/filesystem.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/lib/process.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/detect-libc/package.json" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss-darwin-arm64/README.md" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss-darwin-arm64/package.json" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/LICENSE" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/README.md" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/ast.d.ts" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/ast.js.flow" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/browserslistToTargets.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/composeVisitors.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/flags.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/index.d.ts" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/index.js" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/index.js.flow" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/index.mjs" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/targets.d.ts" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/node/targets.js.flow" Reading "node_modules/.pnpm/lightningcss@1.33.0/node_modules/lightningcss/package.json" Reading "node_modules/.pnpm/lock.yaml" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/LICENSE" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/README.md" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/package.json" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/src/strings.ts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/magic-string/LICENSE" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/magic-string/README.md" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/magic-string/dist/index.d.mts" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/magic-string/dist/index.mjs" Reading "node_modules/.pnpm/magic-string@1.1.0/node_modules/magic-string/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/LICENSE" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/README.md" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/types/set-array.d.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/src/gen-mapping.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/src/set-array.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/src/sourcemap-segment.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/src/types.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/gen-mapping.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/set-array.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/set-array.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/sourcemap-segment.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/types.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/types.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/types.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/gen-mapping/types/types.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/LICENSE" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/README.md" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/dist/remapping.mjs" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/dist/remapping.mjs.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/dist/remapping.umd.js" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/dist/remapping.umd.js.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/src/build-source-map-tree.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/src/remapping.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/src/source-map-tree.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/src/source-map.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/src/types.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/build-source-map-tree.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/remapping.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/remapping.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/remapping.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/remapping.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map-tree.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map-tree.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/source-map.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/types.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/types.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/types.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/remapping/types/types.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/LICENSE" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/README.md" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/resolve-uri/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/LICENSE" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/README.md" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/src/scopes.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/src/strings.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/src/vlq.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/scopes.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/sourcemap-codec.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/strings.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/strings.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/sourcemap-codec/types/vlq.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/LICENSE" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/README.md" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/package.json" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/binary-search.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/by-source.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/flatten-map.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/resolve.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/sort.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/sourcemap-segment.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/strip-filename.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/trace-mapping.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/src/types.ts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/binary-search.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/binary-search.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/by-source.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/by-source.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/flatten-map.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/resolve.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/resolve.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sort.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sort.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sort.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sort.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/sourcemap-segment.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/strip-filename.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/trace-mapping.d.mts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/types.d.cts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/types.d.cts.map" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/types.d.mts" Reading "node_modules/.pnpm/node_modules/@jridgewell/trace-mapping/types/types.d.mts.map" Reading "node_modules/.pnpm/node_modules/@parcel/watcher-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/node_modules/@parcel/watcher-darwin-arm64/README.md" Reading "node_modules/.pnpm/node_modules/@parcel/watcher-darwin-arm64/package.json" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/LICENSE" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/README.md" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/binding.gyp" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/index.d.ts" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/index.js" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/index.js.flow" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/package.json" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/scripts/build-from-source.js" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Backend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Backend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Debounce.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Debounce.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/DirTree.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/DirTree.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Event.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Glob.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Glob.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/PromiseRunner.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Signal.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Watcher.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/Watcher.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/binding.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/kqueue/KqueueBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/linux/InotifyBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/linux/InotifyBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/macos/FSEventsBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/macos/FSEventsBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/shared/BruteForceBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/shared/BruteForceBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/unix/fts.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/unix/legacy.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/wasm/WasmBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/wasm/WasmBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/wasm/include.h" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/watchman/BSER.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/watchman/BSER.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/watchman/IPC.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/watchman/WatchmanBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/windows/WindowsBackend.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/windows/WindowsBackend.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/windows/win_utils.cc" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/src/windows/win_utils.hh" Reading "node_modules/.pnpm/node_modules/@parcel/watcher/wrapper.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/esm-cache.loader.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/esm-cache.loader.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/index.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/index.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/index.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/require-cache.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/dist/require-cache.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/node/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-darwin-arm64/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-darwin-arm64/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.cjs.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.cjs.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.esm-bundler.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.min.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.min.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/dist/emnapi-core.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.cjs.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.iife.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.min.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/dist/emnapi.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.cjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/dist/emnapi-plugins.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/dist/fs-proxy.cjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/dist/fs.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/fs-proxy.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/runtime.cjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime/runtime.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/dist/wasm-util.min.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/jspi.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/load.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/memory.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/index.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/load.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/CopyrightNotice.txt" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/LICENSE.txt" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/README.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/SECURITY.md" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/modules/index.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/modules/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/modules/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.es6.html" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.es6.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.es6.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.html" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib/tslib.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/package.json" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/tailwindcss-oxide.wasi-browser.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/tailwindcss-oxide.wasi.cjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/wasi-worker-browser.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide-wasm32-wasi/wasi-worker.mjs" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide/LICENSE" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide/index.d.ts" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide/index.js" Reading "node_modules/.pnpm/node_modules/@tailwindcss/oxide/package.json" Reading "node_modules/.pnpm/node_modules/detect-libc/LICENSE" Reading "node_modules/.pnpm/node_modules/detect-libc/README.md" Reading "node_modules/.pnpm/node_modules/detect-libc/index.d.ts" Reading "node_modules/.pnpm/node_modules/detect-libc/lib/detect-libc.js" Reading "node_modules/.pnpm/node_modules/detect-libc/lib/elf.js" Reading "node_modules/.pnpm/node_modules/detect-libc/lib/filesystem.js" Reading "node_modules/.pnpm/node_modules/detect-libc/lib/process.js" Reading "node_modules/.pnpm/node_modules/detect-libc/package.json" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/LICENSE" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/README.md" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/AliasPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/AliasUtils.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/AppendPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ConditionalPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/FileExistsPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/LogInfoPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/MainFieldPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ModulesUtils.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/NextPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ParsePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/PnpPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/Resolver.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ResolverFactory.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/ResultPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/RootsPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/SymlinkPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/TryNextPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/TsconfigPathsPlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/UseFilePlugin.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/createInnerContext.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/forEachBail.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/getInnerRequest.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/getPaths.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/index.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/entrypoints.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/fileURLToPath.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/fs.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/graceful-fs-browser.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/identifier.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/memoize.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/module-browser.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/path-browser.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/path.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/process-browser.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/strip-json-comments.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/lib/util/url-browser.js" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/package.json" Reading "node_modules/.pnpm/node_modules/enhanced-resolve/types.d.ts" Reading "node_modules/.pnpm/node_modules/graceful-fs/LICENSE" Reading "node_modules/.pnpm/node_modules/graceful-fs/README.md" Reading "node_modules/.pnpm/node_modules/graceful-fs/clone.js" Reading "node_modules/.pnpm/node_modules/graceful-fs/graceful-fs.js" Reading "node_modules/.pnpm/node_modules/graceful-fs/legacy-streams.js" Reading "node_modules/.pnpm/node_modules/graceful-fs/package.json" Reading "node_modules/.pnpm/node_modules/graceful-fs/polyfills.js" Reading "node_modules/.pnpm/node_modules/is-extglob/LICENSE" Reading "node_modules/.pnpm/node_modules/is-extglob/README.md" Reading "node_modules/.pnpm/node_modules/is-extglob/index.js" Reading "node_modules/.pnpm/node_modules/is-extglob/package.json" Reading "node_modules/.pnpm/node_modules/is-glob/LICENSE" Reading "node_modules/.pnpm/node_modules/is-glob/README.md" Reading "node_modules/.pnpm/node_modules/is-glob/index.js" Reading "node_modules/.pnpm/node_modules/is-glob/package.json" Reading "node_modules/.pnpm/node_modules/jiti/LICENSE" Reading "node_modules/.pnpm/node_modules/jiti/README.md" Reading "node_modules/.pnpm/node_modules/jiti/dist/babel.cjs" Reading "node_modules/.pnpm/node_modules/jiti/dist/jiti.cjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-cli.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-hooks.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-native.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-register.d.mts" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-register.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti-static.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti.cjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti.d.cts" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti.d.mts" Reading "node_modules/.pnpm/node_modules/jiti/lib/jiti.mjs" Reading "node_modules/.pnpm/node_modules/jiti/lib/types.d.ts" Reading "node_modules/.pnpm/node_modules/jiti/package.json" Reading "node_modules/.pnpm/node_modules/lightningcss-darwin-arm64/LICENSE" Reading "node_modules/.pnpm/node_modules/lightningcss-darwin-arm64/README.md" Reading "node_modules/.pnpm/node_modules/lightningcss-darwin-arm64/package.json" Reading "node_modules/.pnpm/node_modules/lightningcss/LICENSE" Reading "node_modules/.pnpm/node_modules/lightningcss/README.md" Reading "node_modules/.pnpm/node_modules/lightningcss/node/ast.d.ts" Reading "node_modules/.pnpm/node_modules/lightningcss/node/ast.js.flow" Reading "node_modules/.pnpm/node_modules/lightningcss/node/browserslistToTargets.js" Reading "node_modules/.pnpm/node_modules/lightningcss/node/composeVisitors.js" Reading "node_modules/.pnpm/node_modules/lightningcss/node/flags.js" Reading "node_modules/.pnpm/node_modules/lightningcss/node/index.d.ts" Reading "node_modules/.pnpm/node_modules/lightningcss/node/index.js" Reading "node_modules/.pnpm/node_modules/lightningcss/node/index.js.flow" Reading "node_modules/.pnpm/node_modules/lightningcss/node/index.mjs" Reading "node_modules/.pnpm/node_modules/lightningcss/node/targets.d.ts" Reading "node_modules/.pnpm/node_modules/lightningcss/node/targets.js.flow" Reading "node_modules/.pnpm/node_modules/lightningcss/package.json" Reading "node_modules/.pnpm/node_modules/magic-string/LICENSE" Reading "node_modules/.pnpm/node_modules/magic-string/README.md" Reading "node_modules/.pnpm/node_modules/magic-string/dist/index.d.mts" Reading "node_modules/.pnpm/node_modules/magic-string/dist/index.mjs" Reading "node_modules/.pnpm/node_modules/magic-string/package.json" Reading "node_modules/.pnpm/node_modules/mri/index.d.ts" Reading "node_modules/.pnpm/node_modules/mri/lib/index.js" Reading "node_modules/.pnpm/node_modules/mri/lib/index.mjs" Reading "node_modules/.pnpm/node_modules/mri/license.md" Reading "node_modules/.pnpm/node_modules/mri/package.json" Reading "node_modules/.pnpm/node_modules/mri/readme.md" Reading "node_modules/.pnpm/node_modules/node-addon-api/LICENSE.md" Reading "node_modules/.pnpm/node_modules/node-addon-api/README.md" Reading "node_modules/.pnpm/node_modules/node-addon-api/common.gypi" Reading "node_modules/.pnpm/node_modules/node-addon-api/except.gypi" Reading "node_modules/.pnpm/node_modules/node-addon-api/index.js" Reading "node_modules/.pnpm/node_modules/node-addon-api/napi-inl.deprecated.h" Reading "node_modules/.pnpm/node_modules/node-addon-api/napi-inl.h" Reading "node_modules/.pnpm/node_modules/node-addon-api/napi.h" Reading "node_modules/.pnpm/node_modules/node-addon-api/node_addon_api.gyp" Reading "node_modules/.pnpm/node_modules/node-addon-api/node_api.gyp" Reading "node_modules/.pnpm/node_modules/node-addon-api/noexcept.gypi" Reading "node_modules/.pnpm/node_modules/node-addon-api/nothing.c" Reading "node_modules/.pnpm/node_modules/node-addon-api/package-support.json" Reading "node_modules/.pnpm/node_modules/node-addon-api/package.json" Reading "node_modules/.pnpm/node_modules/node-addon-api/tools/README.md" Reading "node_modules/.pnpm/node_modules/node-addon-api/tools/check-napi.js" Reading "node_modules/.pnpm/node_modules/node-addon-api/tools/clang-format.js" Reading "node_modules/.pnpm/node_modules/node-addon-api/tools/conversion.js" Reading "node_modules/.pnpm/node_modules/node-addon-api/tools/eslint-format.js" Reading "node_modules/.pnpm/node_modules/picocolors/LICENSE" Reading "node_modules/.pnpm/node_modules/picocolors/README.md" Reading "node_modules/.pnpm/node_modules/picocolors/package.json" Reading "node_modules/.pnpm/node_modules/picocolors/picocolors.browser.js" Reading "node_modules/.pnpm/node_modules/picocolors/picocolors.d.ts" Reading "node_modules/.pnpm/node_modules/picocolors/picocolors.js" Reading "node_modules/.pnpm/node_modules/picocolors/types.d.ts" Reading "node_modules/.pnpm/node_modules/picomatch/LICENSE" Reading "node_modules/.pnpm/node_modules/picomatch/README.md" Reading "node_modules/.pnpm/node_modules/picomatch/index.js" Reading "node_modules/.pnpm/node_modules/picomatch/lib/constants.js" Reading "node_modules/.pnpm/node_modules/picomatch/lib/parse.js" Reading "node_modules/.pnpm/node_modules/picomatch/lib/picomatch.js" Reading "node_modules/.pnpm/node_modules/picomatch/lib/scan.js" Reading "node_modules/.pnpm/node_modules/picomatch/lib/utils.js" Reading "node_modules/.pnpm/node_modules/picomatch/package.json" Reading "node_modules/.pnpm/node_modules/picomatch/posix.js" Reading "node_modules/.pnpm/node_modules/source-map-js/LICENSE" Reading "node_modules/.pnpm/node_modules/source-map-js/README.md" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/array-set.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/base64-vlq.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/base64.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/binary-search.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/mapping-list.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/quick-sort.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-map-consumer.d.ts" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-map-consumer.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-map-generator.d.ts" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-map-generator.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-node.d.ts" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/source-node.js" Reading "node_modules/.pnpm/node_modules/source-map-js/lib/util.js" Reading "node_modules/.pnpm/node_modules/source-map-js/package.json" Reading "node_modules/.pnpm/node_modules/source-map-js/source-map.d.ts" Reading "node_modules/.pnpm/node_modules/source-map-js/source-map.js" Reading "node_modules/.pnpm/node_modules/tapable/LICENSE" Reading "node_modules/.pnpm/node_modules/tapable/README.md" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncParallelBailHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncParallelHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncSeriesBailHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncSeriesHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncSeriesLoopHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/Hook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/HookCodeFactory.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/HookMap.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/MultiHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/SyncBailHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/SyncHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/SyncLoopHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/SyncWaterfallHook.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/index.js" Reading "node_modules/.pnpm/node_modules/tapable/lib/util-browser.js" Reading "node_modules/.pnpm/node_modules/tapable/package.json" Reading "node_modules/.pnpm/node_modules/tapable/tapable.d.ts" Reading "node_modules/@tailwindcss/cli/LICENSE" Reading "node_modules/@tailwindcss/cli/README.md" Reading "node_modules/@tailwindcss/cli/dist/index.mjs" Reading "node_modules/@tailwindcss/cli/package.json" Reading "node_modules/my-ui-lib/index.html" Reading "node_modules/tailwindcss/LICENSE" Reading "node_modules/tailwindcss/README.md" Reading "node_modules/tailwindcss/dist/chunk-5JIJA4QV.mjs" Reading "node_modules/tailwindcss/dist/chunk-C2OYBFIH.mjs" Reading "node_modules/tailwindcss/dist/chunk-DCG7AFIE.mjs" Reading "node_modules/tailwindcss/dist/colors-C__qRT83.d.ts" Reading "node_modules/tailwindcss/dist/colors.d.mts" Reading "node_modules/tailwindcss/dist/colors.d.ts" Reading "node_modules/tailwindcss/dist/colors.js" Reading "node_modules/tailwindcss/dist/colors.mjs" Reading "node_modules/tailwindcss/dist/default-theme.d.mts" Reading "node_modules/tailwindcss/dist/default-theme.d.ts" Reading "node_modules/tailwindcss/dist/default-theme.js" Reading "node_modules/tailwindcss/dist/default-theme.mjs" Reading "node_modules/tailwindcss/dist/flatten-color-palette.d.mts" Reading "node_modules/tailwindcss/dist/flatten-color-palette.d.ts" Reading "node_modules/tailwindcss/dist/flatten-color-palette.js" Reading "node_modules/tailwindcss/dist/flatten-color-palette.mjs" Reading "node_modules/tailwindcss/dist/lib.d.mts" Reading "node_modules/tailwindcss/dist/lib.d.ts" Reading "node_modules/tailwindcss/dist/lib.js" Reading "node_modules/tailwindcss/dist/lib.mjs" Reading "node_modules/tailwindcss/dist/plugin.d.mts" Reading "node_modules/tailwindcss/dist/plugin.d.ts" Reading "node_modules/tailwindcss/dist/plugin.js" Reading "node_modules/tailwindcss/dist/plugin.mjs" Reading "node_modules/tailwindcss/dist/resolve-config-B4yBzhca.d.ts" Reading "node_modules/tailwindcss/dist/resolve-config-QUZ9b-Gn.d.mts" Reading "node_modules/tailwindcss/dist/types-DWdTiksJ.d.mts" Reading "node_modules/tailwindcss/package.json" Reading "package.json" Reading "pnpm-lock.yaml" Reading "pnpm-workspace.yaml" Reading "public/index.html" Reading "tailwindcss-10742.log" ``` </details> <details> <summary>After</summary> ``` Reading "./app/index.html" Reading "./package.json" Reading "./public/index.html" ``` </details> |
||
|
|
e566a926e7
|
--default(…) should emit values as-is (#20392)
This PR fixes an issue where the `--default(…)` function that can be
used as part of `@utility` definitions goes through the same
pre-processing treatment as `--value(…)` and `--modifier(…)`.
Instead the `--default(…)` value should be emitted as-is.
The pre-processing treatment that's in place today is just to normalize
the value(s) that could be formatted in a strange way if you are dealing
with older Prettier / Biome versions.
Some of the transformations we do ahead of time:
- `--value(--spacing)` -> `--value(--spacing-*)`
- `--value(--spacing- *)` -> `--value(--spacing-*)`
- `--value(--text- * --line-height)` -> `--value(--text-*--line-height)`
- `--value(--text --line-height)` -> `--value(--text-*--line-height)`
- `--value(--text-\\* --line-height)` ->
`--value(--text-*--line-height)`
- `--value([ *])` -> `--value([*])`
One of these steps is getting rid of the spaces, that means that if your
`--default(…)` uses spaces, then we will get rid of it.
```css
@theme inline {
--text-box-trim-start: trim-start;
--text-box-trim-end: trim-end;
--text-box-trim-both: trim-both;
--text-box-edge-cap: cap alphabetic;
--text-box-edge-cap-text: cap text;
--text-box-edge-ex: ex alphabetic;
--text-box-edge-ex-text: ex text;
--text-box-edge-text: text alphabetic;
--text-box-edge-text-text: text text;
}
@utility trim-* {
text-box: --value('normal', 'inherit', 'initial', 'revert', 'revert-layer', 'unset');
text-box: --value(--text-box-trim-*) --modifier(--text-box-edge-*, --default(box alphabetic));
}
```
When you try to use this:
```html
<div className="trim-both" />
```
Then we get the following CSS out:
```css
.trim-both {
text-box: trim-both boxalphabetic;
}
```
This PR fixes that, and now the proper CSS will be emitted:
```css
.trim-both {
text-box: trim-both box alphabetic;
}
```
Fixes: #20391
## Test plan
1. Added an regression test to make sure that `--default(…)` values are
emitted as-is.
|
||
|
|
b8a5f85889
|
Detect classes in Ruby percent literals using angle brackets or custom delimiters (#20387)
## Summary Fixes #20386. Ruby lets you close a `%w`/`%W` literal with any non-alphanumeric character, but the pre-processor only recognized `[`, `(`, `{`, `#` and a space. So `%w<bg-green-400>` and `%w|bg-blue-400|` were skipped and the classes inside them never made it into the output. The boundary lookup now maps `<` to `>` alongside the other paired delimiters, and falls back to treating any other non-alphanumeric, non-whitespace character as its own closing delimiter. ## Test plan Added pre-processor and extraction cases for `%w<…>`, `%w|…|`, `%w:…:` and `%w!…!` in `crates/oxide/src/extractor/pre_processors/ruby.rs`. They fail on `main` and pass with this change. ``` cargo test -p tailwindcss-oxide ``` --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com> |
||
|
|
3524b45310
|
Attempt to fix flaky integration test (#20384)
One of the integration tests is flaky on CI. This is an attempt to "fix" it. It has probably something to do with the availability of the resources provided by GitHub because locally this works flawlessly for 100 runs straight. ## Test plan - Once we get 5 consecutive positive runs we van merge it. - No actual code was changed, only the flaky integration test itself. <img width="336" height="445" alt="image" src="https://github.com/user-attachments/assets/bec81687-62f5-4df3-8109-d0aaa4ffbd8a" /> |
||
|
|
b5ab20473b
|
improve flaky integration test | ||
|
|
9dae5163db
|
update changelog | ||
|
|
d190343594
|
Use wasm as a fallback for @tailwindcss/oxide (#20383)
Right now, we use Rust for `@tailwindcss/oxide` which has 2 responsibilities: 1. Traverse the file system and figure out which files need to be scanned based on auto source detection and `@source` directives. 2. Given those files, extract possible Tailwind CSS classes which we call candidates. Since this is using native code, we use napi-rs to get native `.node` files on a per platform / arch basis. So far so good, however, if you are on an OS that doesn't have a prebuilt binary, you will receive an error that might look like this: ``` Error: Cannot find native binding. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory. at Object.<anonymous> (/private/var/folders/1k/bdv8blv93xq7qgwjdwc9z88h0000gn/T/tailwind-integrationspYHIVP/node_modules/.pnpm/@tailwindcss+oxide@file+..+..+..+..+..+..+..+Users+robin+github.com+tailwindlabs+tailwi_47ae1688f61c719f66c73e2ff35e430f/node_modules/@tailwindcss/oxide/index.js:573:19) at Module._compile (node:internal/modules/cjs/loader:1829:14) at Object..js (node:internal/modules/cjs/loader:1969:10) at Module.load (node:internal/modules/cjs/loader:1552:32) at Module._load (node:internal/modules/cjs/loader:1354:12) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.require (node:internal/modules/cjs/loader:1575:12) at require (node:internal/modules/helpers:191:16) at file:///private/var/folders/1k/bdv8blv93xq7qgwjdwc9z88h0000gn/T/tailwind-integrationspYHIVP/index.mjs:5:19 at ModuleJob.run (node:internal/modules/esm/module_job:437:25) { cause: Error: Cannot find module '@tailwindcss/oxide-darwin-arm64' ``` This means that we have to add support for these platforms, and there are some open PRs related to this, which could be closed by this PR: - #20327 - #20276 - #20201 Today we already have support for the big platforms out there: - Windows arm64 - Windows x64 - macOS arm64 - macOS x64 But then it starts to get a bit out of hand once we start looking at Linux based versions: - Android arm eabi - Android arm64 - Linux arm64 gnu - Linux arm64 gnueabihf - Linux arm64 musl - Linux x64 gnu - Linux x64 musl - freebsd x64 ... and then we have the pending list from the 3 PRs linked above. Adding support for all of these is not the end of the world, but it gets complex if we need to keep supporting more and more. Right now we rely on a bunch of non-default napi-rs setup in CI just to support these other platforms. This PR solves that by using the `wasm32-wasi` build as a universal fallback. The napi-rs generated loader already knows how to fall back to `@tailwindcss/oxide-wasm32-wasi`, but that package declared `"cpu": ["wasm32"]`, so npm/pnpm never installed it on real hardware. Removing that restriction means the package is installed everywhere, and the loader picks it up whenever no native binding exists. This PR also fixes a `UVWASI_EACCES` crash on sandboxed platforms (OpenHarmony, Android): the generated wasm loader preopens `/`, which those sandboxes deny, so the fallback failed to load on exactly the platforms that need it (see [this comment](https://github.com/tailwindlabs/tailwindcss/pull/20276#issuecomment-4950167198)). We patch `@napi-rs/cli`'s codegen templates via `pnpm patch` to retry with narrower preopens (`/` → cwd → none). On such platforms, scanning is limited to files under the current working directory. ## Test plan Added two integration tests: 1. Trick pnpm (via `supportedArchitectures`) into installing for a platform we explicitly don't support, and assert `@tailwindcss/oxide` loads the wasm binding and scans files from disk. 2. Simulate a sandbox that denies preopening `/`, and assert the wasm binding still loads and scans. [ci-all] |
||
|
|
05c3a87627
|
Bump dependencies (#20381)
This PR bumps dependencies and dev dependencies and applies required changes due to version bumps. - Moved `@parcel/watcher` related dependencies to the `pnpm-workflow.yaml` catalog - Bumped Lightning CSS + updated tests with improvements - Bumped napi related dependencies - Tackled a Vitest warning ## Test plan All tests should still pass on all platforms [ci-all] |
||
|
|
50daebded0
|
Prevent @tailwindcss/vite crash under Vite's experimental bundledDev (#20379)
## Summary
Under Vite's experimental `bundledDev` mode, the `hotUpdate` hook in
`@tailwindcss/vite` gets called without a `server`. Vite only passes `{
type, file, modules }` here, but the hook loops over
`Object.values(server.environments)`, so editing any file (JS, CSS, or
HTML) throws `TypeError: Cannot read properties of undefined (reading
'environments')` and the dev server build fails.
The fix returns early when `server` is missing. Those environment loops
only look at environments other than the current one, and the
server-level `hot`/`ws` reload channels don't exist in this mode, so
bailing out leaves the classic (non-`bundledDev`) dev path untouched.
Fixes #20378
## Test plan
- Added a unit test that calls `hotUpdate` without a `server` and checks
it doesn't throw. It fails on the current code and passes with the
guard.
- Reproduced with a Vite 8 project using `experimental.bundledDev:
true`: before the change, editing any JS/CSS/HTML file crashed the dev
server; after it, edits work.
- `pnpm run test` and the `@tailwindcss/vite` integration suite both
pass.
[ci-all]
---------
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
|
||
|
|
6def8205b5 | update changelog | ||
|
|
a4e0f75633 | try converting variants with arbitrary values to builtin variants | ||
|
|
489c22b4be | add failing tests | ||
|
|
4be6110aff | update changelog | ||
|
|
25fa72c1ec | Use default Turbopack mode in integration test | ||
|
|
56565b68f9 | Add Turbopack loader integration coverage | ||
|
|
c9689a44a6 | Add @tailwindcss/turbopack loader | ||
|
|
d494a78532 | update changelog | ||
|
|
78b4864d30 |
always emit , ) instead of ,) for fallback values in CSS variables
This will bring the development version and production version closer together. It also means that the development version works in older supported browsers like Chrome v112 where the space is required (even though the spec allows both) There are no changes in tests just becaues we already run each test through Lightning CSS which normalizes these values: Input: ```css var(--tw-blur,) var(--tw-blur, ) ``` Lightning CSS output: ```css var(--tw-blur, ) var(--tw-blur, ) ``` |
||
|
|
423aee5309
|
Improve handling of @scope related at-rules (#20369)
Continuation of #20344, original commits of that PR are present in this PR as well. Before we talk about the issues, there is some jargon I'll be using that might be unfamiliar: ```css @scope (.from) to (.to) { /* ^^^^^^^^^^^^^^^^ This is the prelude */ /* ^^^^^^^ This is the `scope-start` */ /* ^^^^^ This is the `scope-end` */ } /* The `scope-start` is optional, if you only want `scope-end`: */ @scope to (.to) { } /* The `scope-end` is optional, if you only want `scope-start`: */ @scope (.from) { } ``` This PR contains multiple fixes, but they are all related to the `@scope` at-rule. The `@scope` at-rule is a beast, it's an at-rule where we do have multiple selectors in the prelude, which in turn can contain `&` rules. If you use `&` inside of an `@scope` rule, its meaning changes compared to what `&` typically means and it is even different whether it exists in `scope-start` or `scope-end`. Let's start with the original issue, if you define a custom variant like: ```css @custom-variant blue { @scope ([data-theme='blue']) to ([data-theme]) { @slot; } } ``` Then using `blue:bg-blue-500` used to generate: ```css .blue\:bg-blue-500 { @scope ([data-theme='blue']) to ([data-theme]) { background-color: var(--color-blue-500); } } ``` This is because internally we start with the AST node representing `bg-blue-500`, then we wrap all the `variant` related nodes around it (`blue`), and then wrap everything in the final rule with a selector representing the class (`.blue\:bg-blue-500`). This is incorrect because you want that sandwich effect where any `.blue\:bg-blue-500` class between an element with the `[data-theme="blue"]` attribute and another nested `[data-theme]` attribute. The other [PR](#20344) solved this by simply making sure that the `@scope` rule gets hoisted to the top. For this particular example that was enough. However, that would result in a ton more issues. This hoisting or swapping with the rule is only "safe" in a `custom-variant`. So similar to the other PR, this PR wraps this properly: ```css @scope ([data-theme='blue']) to ([data-theme]) { .blue\:bg-blue-500 { background-color: var(--color-blue-500); } } ``` The tricky part is that the nesting pass runs on _all_ CSS, custom variants _and_ your own CSS. Hoisting an `@scope` rule out of the rule it is nested in changes its meaning. Take a look at this example: ```css .parent { @scope (.from) to (.to) { * { border: 1px solid black; } } } ``` This says that you need a structure roughly like this: ```html <div class="parent"> <div class="from"> <div>This element will get a border</div> <div class="to"> <div>This element won't get a border, it's beyond the scope</div> </div> </div> </div> ``` If we had switched it: ```css @scope (.from) to (.to) { .parent { * { border: 1px solid black; } } } ``` Then this requires that an element with a class of `.parent` lives between the `.from` scope-start and `.to` scope-end: ```html <div class="from"> <div class="parent"> <div>This element will get a border</div> <div class="to"> <div>This element won't get a border, it's beyond the scope</div> </div> </div> </div> ``` Subtle, but it's definitely wrong. Instead, we will apply our flattening rules, such that the `@scope` gets hoisted, but we have to bring that `.parent` selector requirement inside of the `@scope` prelude, more specifically inside the `scope-start`: ```css @scope (.parent .from) to (.to) { * { border: 1px solid black; } } ``` We _could_ have left this as-is, but there is a Lightning CSS bug where the original CSS: ```css .parent { @scope (.from) to (.to) { * { border: 1px solid black; } } } ``` gets turned into: ```css @scope (.from) to (.to) { :scope * { border: 1px solid #000; } } ``` Notice how the `.parent` class is not found at all? (I will open some issues on the Lightning CSS repo (and PRs to fix this). But it's a good fix to have in Tailwind CSS as well, just because a lot of tooling is already using Lightning CSS on top of Tailwind CSS, so we need an entire chain to be updated for this to work.) Side note: the version we generate is untouched by Lightning CSS. ## Resolving `&` in the prelude `&` resolves differently depending on which scope selector you're looking at ([spec](https://drafts.csswg.org/css-nesting-1/#nesting-at-scope)): - In the `<scope-start>` selector, `&` refers to the elements matched by the nearest ancestor style rule (the utility, for variants). - In the `<scope-end>` selector, `&` refers to the scoping root and behaves like `:where(:scope)`. `:scope` might work, but that has a specificity of `0,1,0` instead of `0,0,0`. So this input: ```css .parent { @scope (& > .scope) to (& .limit) { .content { color: red; } } } ``` compiles to: ```css @scope (.parent > .scope) to (:where(:scope) .limit) { .content { color: red; } } ``` The substitution uses the exact same logic as `&` in nested style rule selectors: `:is(…)` semantics by default, dropping the `:is(…)` whenever the substitution is provably equivalent. So a complex parent compiles to `@scope (.a .b > .from)` rather than `@scope (:is(.a .b) > .from)`, while `.card&` inside a `main` rule keeps it (`@scope (.card:is(main))`) because substituting the type selector as-is would produce invalid CSS. For user CSS, every selector in a `<scope-start>` selector list is relative to the parent rule, whether it uses `&` or not, just like nested style rule selectors: ```css .parent { @scope (.a, & > .b) { .inside { color: red; } } } ``` compiles to: ```css @scope (.parent .a, .parent > .b) { .inside { color: red; } } ``` ## Controlling the composition with `&` Because `&` in the `<scope-start>` selector refers to the utility, variant authors can control where the utility ends up: ```css /* Default: the utility applies to elements inside the scope */ @custom-variant in-blue { @scope ([data-theme='blue']) to ([data-theme]) { @slot; } } /* Trailing `&`: the utility itself becomes the scoping root */ @custom-variant blue-self { @scope ([data-theme='blue'] &) to ([data-theme]) { @slot; } } /* Leading `&`: the scoping roots are found inside the utility */ @custom-variant scoped-panel { @scope (& .panel) { @slot; } } ``` generates: ```css @scope ([data-theme='blue']) to ([data-theme]) { .in-blue\:flex { display: flex; } } @scope ([data-theme='blue'] .blue-self\:flex) to ([data-theme]) { :where(:scope) { display: flex; } } @scope (.scoped-panel\:flex .panel) { :where(:scope) { display: flex; } } ``` Note that when the utility becomes the scoping root, the `<scope-end>` limit no longer affects the utility itself (a scoping root is never beyond its own limits), and the declarations apply to the root with zero specificity. The default composition is usually what you want to get the sandwich effect, but now you _can_ get the other behavior if you want. ## Bare declarations There is another small Lightning CSS bug that we want to fix. If you have the following CSS: ```css @scope (.from) to (.to) { color: red; } ``` Then Lightning CSS crashes with an unexpected input. The [spec says](https://drafts.csswg.org/css-cascade-6/#scoped-declarations) that: > Declarations may be used directly with the body of a `@scope` rule. Contiguous runs of declarations are wrapped in nested declarations rules, which match the scoping root with zero specificity. > > ```css > @scope (.foo) { > border: 1px solid black; > } > ``` > is equivalent to: > ```css > scope (.foo) { > :where(:scope) { > border: 1px solid black; > } > } > ``` So this is what we will do as well: ```css @scope (.from) to (.to) { :where(:scope) { color: red; } } ``` --- One more small detail about the implementation: we do have to track which CSS is coming from the custom variant, and what is user defined CSS. To do this, we insert some internal `context` nodes with a `{ source: 'user' }` or `{ source: 'variant' }` so we know when we can just swap this `@scope` around, or if we just have to handle the nesting and `&` substitutions. Fixes: #18961 Closes: #20344 ## Test plan 1. Added loads of new tests related to `@scope` in user-land 1. Added loads of new tests related to `@scope` in custom variants - When using the `@custom-variant` shorthand syntax - When using the `@custom-variant` syntax with `@slot` - When using arbitrary variants like `[@scope_(.from)_to_(.to)]:flex` - When using `addVariant()` and `matchVariant()` APIs 1. Added tests for the hoisting logic, prelude resolution for `&` selectors 1. Added browser based UI tests to make sure that the non-flattened version and flattened version behave the same. --- Sorry about all the sandwiches, I'm hungry myself. --------- Co-authored-by: uditDewan <udit.dewan21@gmail.com> |
||
|
|
f6b7c5818e
|
Update integration tests: PostCSS re-emits the UTF-8 BOM character (#20372)
This PR updates the integration tests that started failing because of a recent PostCSS update. PostCSS v8.5.24 started re-emitting the BOM character in the output, see: https://github.com/postcss/postcss/releases/tag/8.5.24 therefore the tests started failing. This PR just re-adds that back. It might not be clear from the diff on GitHub, but this is the change: <img width="878" height="84" alt="image" src="https://github.com/user-attachments/assets/5e2fbb6e-2ee4-46c5-9a2c-9c3a1a806bb0" /> ## Test plan 1. All tests pass again [ci-all] |
||
|
|
6de87c62c4
|
Fix changes to symlinked files outside of the project works (#20356)
This PR fixes an issue where changes to a symlinked file wouldn't result in hot-reload when using `@tailwincdss/vite`. This issue also exists in the other packages such as `@tailwincdss/postcss`, `@tailwincdss/webpack` and `@tailwincdss/cli`. The issue is that we watch the symlinked file, but not the "real" file for changes. If the source of the symlinked file lives in another folder that is not covered by auto-source detection or by any of the `@source` directives, then changes to that file won't trigger a change. To solve this, if a file is symlinked or lives in a symlinked folder, then we will make sure that the `scanner.files` contains the real path / canonicalized path to the real file as well just so we can detect changes in that file. Fixes: #20346 Closes: #20347 ## Test plan 1. Added a regression test for `@tailwindcss/vite` 2. Added tests in the scanner code itself 3. Manually tested on the reproduction: | | Initial state | After change | | ---: | --- | --- | | **Before** | <img width="3200" height="1800" alt="file-f8616573eec3150ae484fd279204c6d7" src="https://github.com/user-attachments/assets/2734ecc3-b5b6-420e-820d-8a4a8fcdd7f5" /> | <img width="3200" height="1800" alt="file-0e93fd3c2c9694c844b098616a3208d2" src="https://github.com/user-attachments/assets/fd86859b-420b-476b-80f6-e94d02e8b07b" /> | | **After** | <img width="3200" height="1800" alt="file-f8616573eec3150ae484fd279204c6d7" src="https://github.com/user-attachments/assets/2734ecc3-b5b6-420e-820d-8a4a8fcdd7f5" /> | <img width="3200" height="1800" alt="file-eb7b37430ea1363dddeac7226007afe4" src="https://github.com/user-attachments/assets/0a95b1a4-a357-491d-b57f-78460c0fc9db" /> | [ci-all] --------- Co-authored-by: Nic <162764842+Nic-Polumeyv@users.noreply.github.com> |
||
|
|
4c128662c2
|
Fix failing upgrade test in CI (#20357)
The last CI run on `main` was on July 16, and the last `globby` release (16.2.2) was released on July 15 (~21 hours earlier). Due to the default `minimumReleaseAge` in pnpm of 24 hours, it meant that we were receiving the previous globby version. In the new version, they slightly changed some of the `.gitignore` parsing, but in one of our upgrade tests we wrote an invalid `.gitignore` file (which had indented lines). This PR fixes that by using the `txt` tagged template literal, which behind the scenes uses `dedent` which in turn makes sure that we ship a proper `.gitignore` file. ## Test plan All tests should pass [ci-all] |
||
|
|
094bf62605
|
update release date | ||
|
|
c2b24dd15f
|
4.3.3 (#20334)
Some checks failed
Release / Build aarch64-apple-darwin (oxide) (release) Has been cancelled
Release / Build x86_64-apple-darwin (oxide) (release) Has been cancelled
Release / Build x86_64-unknown-freebsd (OXIDE) (release) Has been cancelled
Release / Build aarch64-unknown-linux-gnu (oxide) (release) Has been cancelled
Release / Build armv7-unknown-linux-gnueabihf (oxide) (release) Has been cancelled
Release / Build x86_64-unknown-linux-gnu (oxide) (release) Has been cancelled
Release / Build x86_64-unknown-linux-musl (oxide) (release) Has been cancelled
Release / Build aarch64-unknown-linux-musl (oxide) (release) Has been cancelled
Release / Build aarch64-linux-android (oxide) (release) Has been cancelled
Release / Build armv7-linux-androideabi (oxide) (release) Has been cancelled
Release / Build aarch64-pc-windows-msvc (oxide) (release) Has been cancelled
Release / Build x86_64-pc-windows-msvc (oxide) (release) Has been cancelled
Release / Build and publish Tailwind CSS (release) Has been cancelled
Release / notify (release) Has been cancelled
|
||
|
|
bdcd7087b3
|
Don't trigger a full page reload for scanned files that Vite processes as modules (#20336)
This PR fixes an issue where editing a scanned file that Vite (or one of its plugins) can process as a module, but that isn't currently loaded, caused `@tailwindcss/vite` to force a full page reload, throwing away all client state. The `hotUpdate` hook has a fallback that sends a `full-reload` for files that Tailwind scans but that Vite knows nothing about (e.g. `.php` or `.blade.php` templates rendered by a backend). Without it, edits to those files wouldn't refresh the page at all. To detect those files we check whether every module for the changed file is an `asset` and/or has no id, because the scanner's `addWatchFile` calls create exactly such placeholder nodes for every scanned file. The problem is that a source file that Vite _can_ process, but that isn't loaded yet, looks exactly the same. The realistic way to get into that state is code splitting: with route-level splitting (e.g. `React.lazy`, TanStack Router's `autoCodeSplitting`, lazy routes in `vue-router`), every component behind an un-visited split boundary only exists as a scan placeholder in the module graph. Editing any of them reloaded the whole app. The same happens for component stylesheets that a framework plugin compiles into the component (e.g. Angular via Analog), which never show up as their own module. A full reload is never useful for these files: if the file is loaded, Vite's own HMR handles it, and if it isn't loaded, reloading the page won't load it either. Any new candidates still apply through the regular `css-update` flow because the file is registered via `addWatchFile`. So instead, we now skip the fallback when the changed file is handled by Vite's module pipeline: - The file exists as a real module in another environment (e.g. an SSR-only module). This check already existed and is folded into the same code path. - The file is part of the JS/TS or CSS families, which Vite transforms natively. - For any other file type (e.g. `.vue`, `.svelte`, or `.md` with an SSG plugin), a file with the same extension exists as a real module in some environment's module graph, then a plugin does handle this file type and the changed file just isn't loaded (yet). External templates like `.php` files still trigger a full reload exactly like before. Fixes: #20320 Fixes: #19903 Closes: #20323 ## Test plan 1. Added integration tests to ensure extensions handled by default rely on HMR 2. Added integration tests to make sure that unknown extensions that have been handled already will also use HMR 3. Manually tested that changing a `.php` file still triggers a `full-reload` 4. Manually tested the reproduction where local client state isn't thrown away <img width="594" height="100" alt="file-14a86a90a1e4b810c2b80338ea688572" src="https://github.com/user-attachments/assets/a4507502-4a5d-43ee-93b9-14c793a25891" /> <img width="1122" height="1376" alt="file-a5121da2ad77b95fdd1703560ef1ff41" src="https://github.com/user-attachments/assets/cc5c67b0-b5ad-481f-8823-a3266d75357d" /> |
||
|
|
7811d74f37
|
Ensure earlier @source is not accidentally ignored by later @source (#20335)
This PR fixes an issue where an `@source` pointing to a file in a nested
folder was not scanned when a later `@source` pointed to a file in a
parent folder.
E.g.:
```css
@source "./nested/index.html";
@source "./index.html";
```
When using `@source` pointing to a specific file, then we want to make
sure that we ignore _other_ files since they are not listed explicitly.
To ensure that these patterns don't read other files, we inject a `*`
ignore pattern before it. You can think of the above being expanded to:
```rs
Ignored { base: "/project/src/nested", pattern: "*" }
Pattern { base: "/project/src/nested", pattern: "/index.html" }
Ignored { base: "/project/src", pattern: "*" }
Pattern { base: "/project/src", pattern: "/index.html" }
```
The problem with this is that the `Ignored { base: "/project/src",
pattern: "*" }` pattern results in ignoring the `nested` folder as well.
This means that we never even walk into the `nested` folder, so the
earlier `@source "./nested/index.html"` never matches anything.
We could switch the order in user land, but that's going to be hard to
maintain (and order matters for undoing/redoing earlier rules, so we
can't re-order internally either). Instead, we can scope the ignore
pattern to the _current_ path only, and not deeply nested. In other
words, the pattern should become:
```diff
- *
+ /*
```
It's a very subtle difference, but the pattern from above will now
become:
```diff
Ignored { base: "/project/src/nested", pattern: "*" }
Pattern { base: "/project/src/nested", pattern: "/index.html" }
- Ignored { base: "/project/src", pattern: "*" }
+ Ignored { base: "/project/src", pattern: "/*" }
Pattern { base: "/project/src", pattern: "/index.html" }
```
We already do this when an unrestricted root (e.g. `@source "./nested"`)
lives inside the base of a restricted pattern. This works because every
source base is also its own walk root, and a `/*` pattern only matches
direct children so it can't ignore anything when walking from the nested
root itself.
This PR extends that same check to restricted pattern bases: if another
`@source` pattern has its base nested inside the current base, we emit
`/*` instead of `*`.
Note that we only relax the pattern to `/*` when such a nested root
actually exists. Sibling folders that no `@source` points into (e.g. an
`ignore-me` folder next to `nested`) are still direct children, so they
still match `/*` and are never walked.
Fixes: #20333
## Test plan
1. Added a regression test with the reproduction setup
2. Added a similar test with another sibling folder that should still be
ignored
3. Tested it against the actual reproduction:
Before:
<img width="797" height="463" alt="image"
src="https://github.com/user-attachments/assets/893bb872-f5cf-4c5a-bfb5-2dc1043b5a39"
/>
After:
<img width="794" height="460" alt="image"
src="https://github.com/user-attachments/assets/a59aae45-68ad-4fe3-b21f-b568f535d24f"
/>
Notice that the `text-green-500` now appears as expected.
|
||
|
|
f861d5c5e6
|
use the same fix for template files
Forgot this as part of https://github.com/tailwindlabs/tailwindcss/pull/20329 |
||
|
|
a854b35bcf
|
Prevent @tailwindcss/upgrade from rewriting files inside node_modules when run from a workspace subpackage (#20329)
Fixes #20328. ## What changed When `@tailwindcss/upgrade` is invoked from a subpackage of a workspace (e.g. `pnpm --filter …` or `cd packages/foo && pnpm exec upgrade`), it traverses `../../node_modules/…` and applies its v3 → v4 migration transform (`@tailwind utilities;` → `@import 'tailwindcss/utilities' layer(utilities);`) to files inside the installed `tailwindcss` package itself — a self-referential import that later detonates as an infinite CSS-resolution loop and reads like a "cache corruption" bug (matches the report in #19726 / #20328). Root cause: `globby`'s `isGitIgnored` only walks `.gitignore` files at or below its `cwd`. When invoked from a subpackage, the workspace-root `.gitignore` (which almost always lists `node_modules`) is never consulted, and `../../node_modules/…` paths come back as **not** ignored. The fix anchors `isGitIgnored` at the git repository root instead of the subpackage: - New helper: `gitRoot(cwd)` in `src/utils/git.ts` — thin wrapper over `git rev-parse --show-toplevel`. - `analyze(stylesheets, { base })` in `src/codemods/css/analyze.ts` now calls `isGitIgnored({ cwd: gitRoot(base) ?? base })`. Falls back to the previous behavior when not inside a git repository or when `git` is unavailable. ## Test Added an integration test that reproduces the exact scenario: a pnpm workspace with a subpackage that imports `tailwindcss/utilities.css`, upgrade run from the subpackage, then asserts `packages/css/node_modules/tailwindcss/utilities.css` still holds the pristine `@tailwind utilities;` directive. Verified the test fails on `main` and passes with this change. The 415 existing upgrade unit tests still pass. Two npm-related snapshot failures in `upgrade-errors.test.ts` (`half-upgraded v3 project to v4 (bun|npm)`) pre-exist this change — they're about newer npm's `npm notice run` output that isn't in the snapshots, unrelated to what this PR touches. --- Edit by @RobinMalfait: going to run on all [ci-all] so we can make sure it works on Windows as well. --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com> |
||
|
|
e48c5e8047
|
Fix weird character rendering on Windows with Japanese locale (#20318)
This PR fixes an issue where some characters are incorrectly rendered on Windows with the Japanese locale. This is arguably a bug in the font that's loaded by Windows when it encounters `system-ui`. But waiting for fixes there might ... take a while. Another option is to not change the defaults in Tailwind CSS and instead let the users that support different locales implement a fallback by overriding the `--font-sans` variable. The biggest reason for me to _not_ change it in Tailwind CSS is that it requires us to know what the (proper) fallback fonts need to be on a per OS basis. But the main reason why I did want to make the change is that MDN says this about the `system-ui` font: > Glyphs are taken from the default user interface font on a given platform. Because typographic traditions vary widely across the world, this generic is provided for typefaces that don't map cleanly into the other generics. > > **Note:** As the name implies, `system-ui` is intended to make UI elements look like native apps, and not for typesetting large paragraphs of text. It may cause the displayed typeface to be undesirable for some users—for example, the default Windows CJK font may render Latin scripts poorly, and the `lang` attribute may not affect the displayed font. Some operating systems do not allow customizing `system-ui`, while browsers generally allow customizing the `sans-serif` font family. For large paragraphs, use `sans-serif` or some other non-UI font family instead. > > — https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-family#system-ui There are PRs in other big projects that made this kind of change as well. E.g.: - https://github.com/withastro/starlight/pull/3729 - https://github.com/vuejs/vitepress/pull/4988 The reasoning for getting rid of `ui-sans-serif` is twofold: 1. Because the starlight PR seems very well tested, and they got rid of it 2. In the event that the browser decided to load the broken font when it encounters `ui-sans-serif`, then we will run into the same issue again. Fixes: #19767 Fixes: #19768 ## Test plan 1. `system-ui` is not used anymore, so the bug doesn't happen 3. Everything still looks the same for the places I checked, but it's hard to know if this created _other_ issues on other OS + Locale combinations... |
||
|
|
b03e5e7731
|
Lazy load @parcel/watcher (#20325)
This PR ensure that we lazy load the `@parcel/watcher` in the `@tailwindcss/cli`. This means that we don't have to load it at all when using a normal build or when using `--watch --poll` combination. The bigger reason is that on some platforms `@parcel/watcher` might not work, and therefore the build will fail even if you don't use `--watch` at all. This PR fixes that by lazy loading it. Then, if we can't load it when using `--watch`, a useful workaround is shown by using `--watch --poll` instead. This PR also improves showing errors such that the `error.cause` property can be rendered as well. Maybe in the future we can make use of deferred imports (https://github.com/tc39/proposal-defer-import-eval) Fixes: #20322 ## Test plan 1. All tests still pass [ci-all] 2. Fabricated a fake error locally to prove that we can still use a normal build and `--watch --poll` as a workaround <img width="1122" height="1376" alt="file-2f91d99cfb9eb0e24a196c2dd358c1f3" src="https://github.com/user-attachments/assets/e37658ee-0827-422e-bd50-8ea5a85e1b7c" /> |
||
|
|
35a3e9c515
|
Always produce <length> value when optimizing --spacing(0) (#20319)
This PR fixes a type issue when using `--spacing(0)`. This construction doesn't really make sense, but if you use it, it produces the value `0` instead of `calc(var(--spacing) * 0)` which is fine if you use it in a spot where a `<length>` data type can be used, then the `0` is interpreted as a `<length>`. E.g.: `padding: 0` and `padding: 0px` are equivalent. However, if you use it in a CSS variable, then the `0` will turn in a `<number>` if you don't have an `@property` definition for that CSS variable. This on its own isn't the issue, but if you later use it as part of a `calc(…)` then the `<number>` instead of `<length>` type is being used. As seen in #20315. We could remove the optimization, and use `calc(var(--spacing) * 0)` again, but this is a bit silly since it only makes your CSS file larger. We could try to be smart, and only do it _if_ we're assigning to a CSS variable (which #20317 is doing). But if your CSS variable _does_ use a `<length>` then it's a non-issue. We would run into the same issue if you use `width: calc(100% --spacing(0))`. This value is a bit silly anyway, but it would originally resolve to `calc(100% + calc(var(--spacing) * 0))`, the optimization of `calc(100% - 0)` would make it invalid, so the fix in #20317 would not be enough. Instead I opted for an inbetween solution, by always using `0px`. In most cases we can use `0`, but in the places we can't the `0px` would at least ensure that we are dealing with `<length>` data types. This way we don't have to try to be smart to analyze where we use the value, and `0px` is still better than the long `calc(var(--spacing) * 0)` value. Fixes: #20315 Closes: #20317 ## Test plan 1. Manually tested that now `--spacing(0)` does produce `0px` which has a length type |
||
|
|
4af47fbe94
|
Fix hues in achromatic theme colors to be none (#20314)
|