mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-07-31 14:56:25 -04:00
Bumps the npm-deps group in /src/frontend with 7 updates: | Package | From | To | | --- | --- | --- | | [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.3.2` | `4.3.3` | | [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.26.0` | `6.27.0` | | [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.58.0` | `0.59.0` | | [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.73.0` | `1.74.0` | | [oxlint-tsgolint](https://github.com/oxc-project/tsgolint) | `0.24.0` | `0.25.0` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.2` | `4.3.3` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.1.4` | `8.1.5` | Updates `@tailwindcss/vite` from 4.3.2 to 4.3.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/releases">@tailwindcss/vite's releases</a>.</em></p> <blockquote> <h2>v4.3.3</h2> <h3>Fixed</h3> <ul> <li>Support <code>--watch --poll[=ms]</code> in <code>@tailwindcss/cli</code> when filesystem events are unreliable or unavailable (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20297">#20297</a>)</li> <li>Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. <code>bg-[#fff]</code> and <code>bg-[#FFF]</code> → <code>bg-white</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20298">#20298</a>)</li> <li>Prevent Preflight from overriding Firefox's native <code>iframe:focus-visible</code> outline styles (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20292">#20292</a>)</li> <li>Ensure <code>theme('colors.foo')</code> in JS plugins resolves correctly when both <code>--color-foo</code> and <code>--color-foo-bar</code> exist (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20299">#20299</a>)</li> <li>Ensure fractional opacity modifiers work with named shadow sizes like <code>shadow-sm/12.5</code>, <code>text-shadow-sm/12.5</code>, <code>drop-shadow-sm/12.5</code>, and <code>inset-shadow-sm/12.5</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20302">#20302</a>)</li> <li>Parse selectors like <code>[data-foo]div</code> as two selectors instead of one (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20303">#20303</a>)</li> <li>Ensure <code>@tailwindcss/postcss</code> rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20310">#20310</a>)</li> <li>Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in <code>@tailwindcss/browser</code> and Tailwind Play (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20124">#20124</a>)</li> <li>Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like <code>oklch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20314">#20314</a>)</li> <li>Ensure <code>--spacing(0)</code> is optimized to <code>0px</code> instead of <code>0</code> so it remains a <code><length></code> when used in <code>calc(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20319">#20319</a>)</li> <li>Load <code>@parcel/watcher</code> only when needed in <code>@tailwindcss/cli --watch</code> mode, so one-off builds and <code>--watch --poll</code> work when <code>@parcel/watcher</code> can't be loaded (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20325">#20325</a>)</li> <li>Use explicit platform fonts instead of <code>system-ui</code> and <code>ui-sans-serif</code> so CJK text respects the page's <code>lang</code> attribute on Windows (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20318">#20318</a>)</li> <li>Prevent <code>@tailwindcss/upgrade</code> from rewriting ignored files when run from a subdirectory (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20329">#20329</a>)</li> <li>Ensure earlier <code>@source</code> rules pointing to nested files are scanned when later <code>@source</code> rules point to files in parent folders (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20335">#20335</a>)</li> <li>Prevent <code>@tailwindcss/vite</code> from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20336">#20336</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md">@tailwindcss/vite's changelog</a>.</em></p> <blockquote> <h2>[4.3.3] - 2026-07-16</h2> <h3>Fixed</h3> <ul> <li>Support <code>--watch --poll[=ms]</code> in <code>@tailwindcss/cli</code> when filesystem events are unreliable or unavailable (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20297">#20297</a>)</li> <li>Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. <code>bg-[#fff]</code> and <code>bg-[#FFF]</code> → <code>bg-white</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20298">#20298</a>)</li> <li>Prevent Preflight from overriding Firefox's native <code>iframe:focus-visible</code> outline styles (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20292">#20292</a>)</li> <li>Ensure <code>theme('colors.foo')</code> in JS plugins resolves correctly when both <code>--color-foo</code> and <code>--color-foo-bar</code> exist (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20299">#20299</a>)</li> <li>Ensure fractional opacity modifiers work with named shadow sizes like <code>shadow-sm/12.5</code>, <code>text-shadow-sm/12.5</code>, <code>drop-shadow-sm/12.5</code>, and <code>inset-shadow-sm/12.5</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20302">#20302</a>)</li> <li>Parse selectors like <code>[data-foo]div</code> as two selectors instead of one (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20303">#20303</a>)</li> <li>Ensure <code>@tailwindcss/postcss</code> rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20310">#20310</a>)</li> <li>Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in <code>@tailwindcss/browser</code> and Tailwind Play (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20124">#20124</a>)</li> <li>Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like <code>oklch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20314">#20314</a>)</li> <li>Ensure <code>--spacing(0)</code> is optimized to <code>0px</code> instead of <code>0</code> so it remains a <code><length></code> when used in <code>calc(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20319">#20319</a>)</li> <li>Load <code>@parcel/watcher</code> only when needed in <code>@tailwindcss/cli --watch</code> mode, so one-off builds and <code>--watch --poll</code> work when <code>@parcel/watcher</code> can't be loaded (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20325">#20325</a>)</li> <li>Use explicit platform fonts instead of <code>system-ui</code> and <code>ui-sans-serif</code> so CJK text respects the page's <code>lang</code> attribute on Windows (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20318">#20318</a>)</li> <li>Prevent <code>@tailwindcss/upgrade</code> from rewriting ignored files when run from a subdirectory (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20329">#20329</a>)</li> <li>Ensure earlier <code>@source</code> rules pointing to nested files are scanned when later <code>@source</code> rules point to files in parent folders (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20335">#20335</a>)</li> <li>Prevent <code>@tailwindcss/vite</code> from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20336">#20336</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="c2b24dd15f"><code>c2b24dd</code></a> 4.3.3 (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/20334">#20334</a>)</li> <li><a href="bdcd7087b3"><code>bdcd708</code></a> Don't trigger a full page reload for scanned files that Vite processes as mod...</li> <li>See full diff in <a href="https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/@tailwindcss-vite">compare view</a></li> </ul> </details> <br /> Updates `knip` from 6.26.0 to 6.27.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpro-nl/knip/releases">knip's releases</a>.</em></p> <blockquote> <h2>Release 6.27.0</h2> <ul> <li>Add Temporal plugin (98191a04aad0572bead191b101bfecef75067b0c)</li> <li>Handle -d alias for react-email dir argument (53d1fec3213db8d6a84dfa7a82050b122782e065)</li> <li>Expand pnpm script references with forwarded arguments (33e9799df39450033061b9c4c07daf22f5d15721)</li> <li>Treat path-shaped script tokens as file references, extend known global binaries (d9508c282ab81351beda4b2f859435b49f142c51)</li> <li>Mark tsdown neverBundle dependencies as referenced (5fd863ba12e68842f91ab1a94e7e30d1e571da92)</li> <li>Support TanStack Start in tanstack-router plugin (bd63cd8af88dac03a98aa17f1add322f7bdf4a94)</li> <li>Mark vite ssr.external dependencies as referenced (91de938032062cb667bced0eadef9e67d1e20b1f)</li> <li>Expand bun, npm, and yarn script references with forwarded arguments (b5a31767a83e2cec3fb20c3b146d94c0412a4fd6)</li> <li>Add Latitude as sponsor (42676759cad5fb10ac96fd7c0457037e906f4b68)</li> <li>Regenerate plugin list in docs (1d2cdffb4d4151f848c44e066eff43e9efbf44fe)</li> <li>Support Vue 2 template auto-imports (close <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1881">#1881</a>) (2157f3913f77216d268b2255899b6fc58609f9bb)</li> <li>Ignore block-commented stylesheet imports (resolve <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1880">#1880</a>, close <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1882">#1882</a>) (a627f53221547d5397d70722fcc2fd723889e579)</li> <li>Support TypeScript 5.0 narrowing for ssr.external (989292f79b9d19028bfc7ba988b74ba691041a45)</li> <li>Resolve local binaries from bun run (5e9a7f0286e2c2175bb299c514cc7b67a7cf24f1)</li> <li>Support Vitest inline project config extensions (f682327f6181f44e3924715efa7404aa39e532f0)</li> <li>Resolve package names from aliased node_modules paths (c273d5fbc1b0d3eaf27b38c3f31d3a2a4b6b184a)</li> <li>Support Tailwind CSS URL imports (57a4770447cc4c8f9ea4ffb9171c0c92eed4f255)</li> <li>Resolve unbuilt workspace package exports (close <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1877">#1877</a>) (1b0a2c0ee784db165c7f92fe10397a6cb513c1cf)</li> <li>Skip unresolved imports of gitignored generated files (605c9049f73838beb1c6fee83c6a5421ae1a6d07)</li> <li>Attribute imports of aliased packages to the declared dependency (d05e775c9a3a5676dc9eadcc1093f7d9983efd06)</li> <li>Flag unresolvable imports of transitive peer deps as unlisted (resolve <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1883">#1883</a>) (18f0bff4ea683837f75ca744d3fbde52df49b297)</li> <li>Don't count ambient module declarations in script files as imports (e52aecfd7c022cbe72b1c11dde3f4968579ac409)</li> <li>Update rolldown snapshot (a63e92788239062682603a5727ede371db7845c8)</li> <li>Remove obsolete workarounds from ecosystem tests (a521cf790d726c18e644e2e316cdc09eb654f607)</li> <li>Handle snapshotSerializers in Vitest plugin (resolve <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1884">#1884</a>) (b597de951f6f0e897afdbbbb8a7d0c06c8d2437d)</li> <li>Set the stage (c059c2be5803609924b852c2bf0cd90906a6a831)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e463b61a1f"><code>e463b61</code></a> Release knip@6.27.0</li> <li><a href="b597de951f"><code>b597de9</code></a> Handle snapshotSerializers in Vitest plugin (resolve <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1884">#1884</a>)</li> <li><a href="e52aecfd7c"><code>e52aecf</code></a> Don't count ambient module declarations in script files as imports</li> <li><a href="18f0bff4ea"><code>18f0bff</code></a> Flag unresolvable imports of transitive peer deps as unlisted (resolve <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1883">#1883</a>)</li> <li><a href="d05e775c9a"><code>d05e775</code></a> Attribute imports of aliased packages to the declared dependency</li> <li><a href="605c9049f7"><code>605c904</code></a> Skip unresolved imports of gitignored generated files</li> <li><a href="1b0a2c0ee7"><code>1b0a2c0</code></a> Resolve unbuilt workspace package exports (close <a href="https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1877">#1877</a>)</li> <li><a href="57a4770447"><code>57a4770</code></a> Support Tailwind CSS URL imports</li> <li><a href="c273d5fbc1"><code>c273d5f</code></a> Resolve package names from aliased node_modules paths</li> <li><a href="f682327f61"><code>f682327</code></a> Support Vitest inline project config extensions</li> <li>Additional commits viewable in <a href="https://github.com/webpro-nl/knip/commits/knip@6.27.0/packages/knip">compare view</a></li> </ul> </details> <br /> Updates `oxfmt` from 0.58.0 to 0.59.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md">oxfmt's changelog</a>.</em></p> <blockquote> <h2>[0.59.0] - 2026-07-13</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/24286">#24286</a>) (leaysgur)</li> </ul> <h2>[0.55.0] - 2026-06-15</h2> <h3>🚀 Features</h3> <ul> <li>9a2788b linter/unicorn: Implement <code>prefer-export-from</code> rule (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22935">#22935</a>) (AliceLanniste)</li> </ul> <h2>[0.54.0] - 2026-06-08</h2> <h3>📚 Documentation</h3> <ul> <li>dadafe3 oxlint, oxfmt: Mention migrate skills in npm READMEs (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22965">#22965</a>) (Boshen)</li> <li>f88961a oxfmt: Annotate each config option with supported languages (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22953">#22953</a>) (leaysgur)</li> </ul> <h2>[0.52.0] - 2026-05-26</h2> <h3>🚀 Features</h3> <ul> <li>16b8058 oxfmt: Support <code>vite-plus/resolveConfig</code> for vite.config.ts (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22454">#22454</a>) (leaysgur)</li> </ul> <h2>[0.50.0] - 2026-05-15</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>43b9978 formatter/sort_imports: Treat subpath imports as internal (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/22440">#22440</a>) (leaysgur)</li> </ul> <h2>[0.49.0] - 2026-05-11</h2> <h3>🚀 Features</h3> <ul> <li>6e8e818 oxfmt: Experimental .svelte support (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/21700">#21700</a>) (leaysgur)</li> </ul> <h2>[0.45.0] - 2026-04-13</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>50c389b oxfmt: Support <code>.editorconfig</code> <code>quote_type</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20989">#20989</a>) (leaysgur)</li> </ul> <h2>[0.44.0] - 2026-04-06</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>dd2df87 npm: Export package.json for oxlint and oxfmt (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20784">#20784</a>) (kazuya kawaguchi)</li> <li>4216380 oxfmt: Support <code>.editorconfig</code> <code>tab_width</code> fallback (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20988">#20988</a>) (leaysgur)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="2d4e8d2064"><code>2d4e8d2</code></a> release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/24454">#24454</a>)</li> <li><a href="415fe1e7bb"><code>415fe1e</code></a> fix(oxfmt): error on ignorePatterns that cannot match files outside the confi...</li> <li>See full diff in <a href="https://github.com/oxc-project/oxc/commits/oxfmt_v0.59.0/npm/oxfmt">compare view</a></li> </ul> </details> <br /> Updates `oxlint` from 1.73.0 to 1.74.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/oxc-project/oxc/releases">oxlint's releases</a>.</em></p> <blockquote> <h2>oxlint v1.27.0 && oxfmt v0.12.0</h2> <h1>Oxlint v1.27.0</h1> <h3>🚀 Features</h3> <ul> <li>222a8f0 linter/plugins: Implement <code>SourceCode#isSpaceBetween</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15498">#15498</a>) (overlookmotel)</li> <li>2f9735d linter/plugins: Implement <code>context.languageOptions</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15486">#15486</a>) (overlookmotel)</li> <li>bc731ff linter/plugins: Stub out all <code>Context</code> APIs (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15479">#15479</a>) (overlookmotel)</li> <li>5822cb4 linter/plugins: Add <code>extend</code> method to <code>FILE_CONTEXT</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15477">#15477</a>) (overlookmotel)</li> <li>7b1e6f3 apps: Add pure rust binaries and release to github (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15469">#15469</a>) (Boshen)</li> <li>2a89b43 linter: Introduce debug assertions after fixes to assert validity (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15389">#15389</a>) (camc314)</li> <li>ad3c45a editor: Add <code>oxc.path.node</code> option (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15040">#15040</a>) (Sysix)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>6f3cd77 linter/no-var: Incorrect warning for blocks (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15504">#15504</a>) (Hamir Mahal)</li> <li>6957fb9 linter/plugins: Do not allow access to <code>Context#id</code> in <code>createOnce</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15489">#15489</a>) (overlookmotel)</li> <li>7409630 linter/plugins: Allow access to <code>cwd</code> in <code>createOnce</code> in ESLint interop mode (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15488">#15488</a>) (overlookmotel)</li> <li>732205e parser: Reject <code>using</code> / <code>await using</code> in a switch <code>case</code> / <code>default</code> clause (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15225">#15225</a>) (sapphi-red)</li> <li>a17ca32 linter/plugins: Replace <code>Context</code> class (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15448">#15448</a>) (overlookmotel)</li> <li>ecf2f7b language_server: Fail gracefully when tsgolint executable not found (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15436">#15436</a>) (camc314)</li> <li>3c8d3a7 lang-server: Improve logging in failure case for tsgolint (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15299">#15299</a>) (camc314)</li> <li>ef71410 linter: Use jsx if source type is JS in fix debug assertion (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15434">#15434</a>) (camc314)</li> <li>e32bbf6 linter/no-var: Handle TypeScript declare keyword in fixer (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15426">#15426</a>) (camc314)</li> <li>6565dbe linter/switch-case-braces: Skip comments when searching for <code>:</code> token (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15425">#15425</a>) (camc314)</li> <li>85bd19a linter/prefer-class-fields: Insert value after type annotation in fixer (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15423">#15423</a>) (camc314)</li> <li>fde753e linter/plugins: Block access to <code>context.settings</code> in <code>createOnce</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15394">#15394</a>) (overlookmotel)</li> <li>ddd9f9f linter/forward-ref-uses-ref: Dont suggest removing wrapper in invalid positions (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15388">#15388</a>) (camc314)</li> <li>dac2a9c linter/no-template-curly-in-string: Remove fixer (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15387">#15387</a>) (camc314)</li> <li>989b8e3 linter/no-var: Only fix to <code>const</code> if the var has an initializer (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15385">#15385</a>) (camc314)</li> <li>cc403f5 linter/plugins: Return empty object for unimplemented parserServices (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15364">#15364</a>) (magic-akari)</li> </ul> <h3>⚡ Performance</h3> <ul> <li>25d577e language_server: Start tools in parallel (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15500">#15500</a>) (Sysix)</li> <li>3c57291 linter/plugins: Optimize loops (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15449">#15449</a>) (overlookmotel)</li> <li>3166233 linter/plugins: Remove <code>Arc</code>s (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15431">#15431</a>) (overlookmotel)</li> <li>9de1322 linter/plugins: Lazily deserialize settings JSON (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15395">#15395</a>) (overlookmotel)</li> <li>3049ec2 linter/plugins: Optimize <code>deepFreezeSettings</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15392">#15392</a>) (overlookmotel)</li> <li>444ebfd linter/plugins: Use single object for <code>parserServices</code> (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15378">#15378</a>) (overlookmotel)</li> </ul> <h3>📚 Documentation</h3> <ul> <li>97d2104 linter: Update comment in lint.rs about default value for tsconfig path (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15530">#15530</a>) (Connor Shea)</li> <li>2c6bd9e linter: Always refer as "ES2015" instead of "ES6" (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15411">#15411</a>) (sapphi-red)</li> <li>a0c5203 linter/import/named: Update "ES7" comment in examples (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15410">#15410</a>) (sapphi-red)</li> <li>3dc24b5 linter,minifier: Always refer as "ES Modules" instead of "ES6 Modules" (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15409">#15409</a>) (sapphi-red)</li> <li>2ad77fb linter/no-this-before-super: Correct "Why is this bad?" section (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15408">#15408</a>) (sapphi-red)</li> <li>57f0ce1 linter: Add backquotes where appropriate (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/15407">#15407</a>) (sapphi-red)</li> </ul> <h1>Oxfmt v0.12.0</h1> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md">oxlint's changelog</a>.</em></p> <blockquote> <h2>[1.74.0] - 2026-07-13</h2> <h3>🚀 Features</h3> <ul> <li>0433a83 linter/eslint/no-inner-declarations: Add <code>namespaces</code> option (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24044">#24044</a>) (Boshen)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>8337835 linter: Error on <code>ignorePatterns</code> that cannot match files aoutside the config directory (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24341">#24341</a>) (leaysgur)</li> <li>2ce5a33 linter: Resolve <code>ignorePatterns</code> relative to the config dir (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24339">#24339</a>) (leaysgur)</li> </ul> <h3>⚡ Performance</h3> <ul> <li>7f80cac linter/vue/prop-name-casing: Precompile <code>ignoreProps</code> regex pattern (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24413">#24413</a>) (connorshea)</li> <li>6272051 linter/typescript/no-require-imports: Compile allow patterns once (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24417">#24417</a>) (connorshea)</li> <li>33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24420">#24420</a>) (connorshea)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="2d4e8d2064"><code>2d4e8d2</code></a> release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24454">#24454</a>)</li> <li><a href="7f80cac4fd"><code>7f80cac</code></a> perf(linter/vue/prop-name-casing): precompile <code>ignoreProps</code> regex pattern (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/2">#2</a>...</li> <li><a href="6272051fcd"><code>6272051</code></a> perf(linter/typescript/no-require-imports): compile allow patterns once (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24417">#24417</a>)</li> <li><a href="33805b9691"><code>33805b9</code></a> perf(linter/jsdoc/require-param): compile checkTypesPattern regex once (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24420">#24420</a>)</li> <li><a href="0433a8376a"><code>0433a83</code></a> feat(linter/eslint/no-inner-declarations): add <code>namespaces</code> option (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24044">#24044</a>)</li> <li><a href="83378351e4"><code>8337835</code></a> fix(linter): error on <code>ignorePatterns</code> that cannot match files aoutside the c...</li> <li><a href="2ce5a33ecc"><code>2ce5a33</code></a> fix(linter): resolve <code>ignorePatterns</code> relative to the config dir (<a href="https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint/issues/24339">#24339</a>)</li> <li>See full diff in <a href="https://github.com/oxc-project/oxc/commits/oxlint_v1.74.0/npm/oxlint">compare view</a></li> </ul> </details> <br /> Updates `oxlint-tsgolint` from 0.24.0 to 0.25.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/oxc-project/tsgolint/releases">oxlint-tsgolint's releases</a>.</em></p> <blockquote> <h2>v0.25.0</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): update pnpm to v11.9.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1043">oxc-project/tsgolint#1043</a></li> <li>perf(no-unnecessary-type-parameters): reuse AST-walk visitor closure by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1034">oxc-project/tsgolint#1034</a></li> <li>perf(strict-void-return): reuse function-body walk visitor closure by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1033">oxc-project/tsgolint#1033</a></li> <li>chore: update typescript-go submodule by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1048">oxc-project/tsgolint#1048</a></li> <li>docs: normalize README sponsor section by <a href="https://github.com/Boshen"><code>@Boshen</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1050">oxc-project/tsgolint#1050</a></li> <li>chore: strip symbols from release binary by <a href="https://github.com/Boshen"><code>@Boshen</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1049">oxc-project/tsgolint#1049</a></li> <li>chore: add -trimpath to release build by <a href="https://github.com/Boshen"><code>@Boshen</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1051">oxc-project/tsgolint#1051</a></li> <li>chore(deps): update crate-ci/typos action to v1.48.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1052">oxc-project/tsgolint#1052</a></li> <li>chore(deps): update github actions by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1056">oxc-project/tsgolint#1056</a></li> <li>chore(deps): update npm packages by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1057">oxc-project/tsgolint#1057</a></li> <li>fix(no-deprecated): avoid contextual union property false positives by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1059">oxc-project/tsgolint#1059</a></li> <li>fix(prefer-optional-chain): preserve negated optional guard by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1061">oxc-project/tsgolint#1061</a></li> <li>perf(linter): gate reportNodeWithSuggestions on FixSuggestions by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1067">oxc-project/tsgolint#1067</a></li> <li>fix(switch-exhaustiveness-check): honor default case comment patterns by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1070">oxc-project/tsgolint#1070</a></li> <li>perf(strict-void-return): skip type queries for never-callable expressions by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1068">oxc-project/tsgolint#1068</a></li> <li>perf(no-unsafe-argument): skip type queries for never-unsafe arguments by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1066">oxc-project/tsgolint#1066</a></li> <li>Revert "perf(strict-void-return): skip type queries for never-callable expressions" by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1071">oxc-project/tsgolint#1071</a></li> <li>chore: update typescript-go submodule by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1072">oxc-project/tsgolint#1072</a></li> <li>chore(deps): update dependency dprint-json to v0.23.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1080">oxc-project/tsgolint#1080</a></li> <li>chore(deps): update taiki-e/install-action action to v2.83.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1082">oxc-project/tsgolint#1082</a></li> <li>chore(deps): update gomod by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1081">oxc-project/tsgolint#1081</a></li> <li>perf(no-unnecessary-type-arguments): skip signature resolution when node has no type arguments by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1064">oxc-project/tsgolint#1064</a></li> <li>refactor: miscellaneous code cleanup by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1077">oxc-project/tsgolint#1077</a></li> <li>refactor: remove dead code from rules by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1079">oxc-project/tsgolint#1079</a></li> <li>refactor: drop dead isFunction guards built on a bitwise ast.Kind mask by <a href="https://github.com/connorshea"><code>@connorshea</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1078">oxc-project/tsgolint#1078</a></li> <li>chore: update Node.js to 26.5.0 by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1087">oxc-project/tsgolint#1087</a></li> <li>fix(no-unnecessary-type-assertion): avoid recursive unknown checks by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1086">oxc-project/tsgolint#1086</a></li> <li>fix(no-unnecessary-type-assertions): generic array false positive by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1045">oxc-project/tsgolint#1045</a></li> <li>fix(no-unnecessary-type-assertion): preserve generic write casts by <a href="https://github.com/camc314"><code>@camc314</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1089">oxc-project/tsgolint#1089</a></li> <li>docs: update sponsor section by <a href="https://github.com/Boshen"><code>@Boshen</code></a> in <a href="https://redirect.github.com/oxc-project/tsgolint/pull/1090">oxc-project/tsgolint#1090</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/oxc-project/tsgolint/compare/v0.24.0...v0.25.0">https://github.com/oxc-project/tsgolint/compare/v0.24.0...v0.25.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="1abf9a5ea5"><code>1abf9a5</code></a> docs: update sponsor section</li> <li><a href="6ee7c11801"><code>6ee7c11</code></a> fix(no-unnecessary-type-assertion): preserve generic write casts (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1089">#1089</a>)</li> <li><a href="e23cc8351b"><code>e23cc83</code></a> fix(no-unnecessary-type-assertions): generic array false positive (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1045">#1045</a>)</li> <li><a href="c3269c01a0"><code>c3269c0</code></a> fix(no-unnecessary-type-assertion): avoid recursive unknown checks (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1086">#1086</a>)</li> <li><a href="c214d5c65f"><code>c214d5c</code></a> chore: update Node.js to 26.5.0 (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1087">#1087</a>)</li> <li><a href="002b818709"><code>002b818</code></a> refactor: drop dead isFunction guards built on a bitwise ast.Kind mask (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1078">#1078</a>)</li> <li><a href="d6a1cb2145"><code>d6a1cb2</code></a> refactor: remove dead code from rules (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1079">#1079</a>)</li> <li><a href="7823d59029"><code>7823d59</code></a> refactor: miscellaneous code cleanup (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1077">#1077</a>)</li> <li><a href="fcf43ff2e6"><code>fcf43ff</code></a> perf(no-unnecessary-type-arguments): skip signature resolution when node has ...</li> <li><a href="68759141e0"><code>6875914</code></a> chore(deps): update gomod (<a href="https://redirect.github.com/oxc-project/tsgolint/issues/1081">#1081</a>)</li> <li>Additional commits viewable in <a href="https://github.com/oxc-project/tsgolint/compare/v0.24.0...v0.25.0">compare view</a></li> </ul> </details> <br /> Updates `tailwindcss` from 4.3.2 to 4.3.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/releases">tailwindcss's releases</a>.</em></p> <blockquote> <h2>v4.3.3</h2> <h3>Fixed</h3> <ul> <li>Support <code>--watch --poll[=ms]</code> in <code>@tailwindcss/cli</code> when filesystem events are unreliable or unavailable (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20297">#20297</a>)</li> <li>Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. <code>bg-[#fff]</code> and <code>bg-[#FFF]</code> → <code>bg-white</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20298">#20298</a>)</li> <li>Prevent Preflight from overriding Firefox's native <code>iframe:focus-visible</code> outline styles (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20292">#20292</a>)</li> <li>Ensure <code>theme('colors.foo')</code> in JS plugins resolves correctly when both <code>--color-foo</code> and <code>--color-foo-bar</code> exist (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20299">#20299</a>)</li> <li>Ensure fractional opacity modifiers work with named shadow sizes like <code>shadow-sm/12.5</code>, <code>text-shadow-sm/12.5</code>, <code>drop-shadow-sm/12.5</code>, and <code>inset-shadow-sm/12.5</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20302">#20302</a>)</li> <li>Parse selectors like <code>[data-foo]div</code> as two selectors instead of one (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20303">#20303</a>)</li> <li>Ensure <code>@tailwindcss/postcss</code> rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20310">#20310</a>)</li> <li>Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in <code>@tailwindcss/browser</code> and Tailwind Play (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20124">#20124</a>)</li> <li>Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like <code>oklch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20314">#20314</a>)</li> <li>Ensure <code>--spacing(0)</code> is optimized to <code>0px</code> instead of <code>0</code> so it remains a <code><length></code> when used in <code>calc(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20319">#20319</a>)</li> <li>Load <code>@parcel/watcher</code> only when needed in <code>@tailwindcss/cli --watch</code> mode, so one-off builds and <code>--watch --poll</code> work when <code>@parcel/watcher</code> can't be loaded (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20325">#20325</a>)</li> <li>Use explicit platform fonts instead of <code>system-ui</code> and <code>ui-sans-serif</code> so CJK text respects the page's <code>lang</code> attribute on Windows (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20318">#20318</a>)</li> <li>Prevent <code>@tailwindcss/upgrade</code> from rewriting ignored files when run from a subdirectory (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20329">#20329</a>)</li> <li>Ensure earlier <code>@source</code> rules pointing to nested files are scanned when later <code>@source</code> rules point to files in parent folders (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20335">#20335</a>)</li> <li>Prevent <code>@tailwindcss/vite</code> from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20336">#20336</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md">tailwindcss's changelog</a>.</em></p> <blockquote> <h2>[4.3.3] - 2026-07-16</h2> <h3>Fixed</h3> <ul> <li>Support <code>--watch --poll[=ms]</code> in <code>@tailwindcss/cli</code> when filesystem events are unreliable or unavailable (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20297">#20297</a>)</li> <li>Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. <code>bg-[#fff]</code> and <code>bg-[#FFF]</code> → <code>bg-white</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20298">#20298</a>)</li> <li>Prevent Preflight from overriding Firefox's native <code>iframe:focus-visible</code> outline styles (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20292">#20292</a>)</li> <li>Ensure <code>theme('colors.foo')</code> in JS plugins resolves correctly when both <code>--color-foo</code> and <code>--color-foo-bar</code> exist (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20299">#20299</a>)</li> <li>Ensure fractional opacity modifiers work with named shadow sizes like <code>shadow-sm/12.5</code>, <code>text-shadow-sm/12.5</code>, <code>drop-shadow-sm/12.5</code>, and <code>inset-shadow-sm/12.5</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20302">#20302</a>)</li> <li>Parse selectors like <code>[data-foo]div</code> as two selectors instead of one (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20303">#20303</a>)</li> <li>Ensure <code>@tailwindcss/postcss</code> rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20310">#20310</a>)</li> <li>Ensure CSS nesting is handled even when Lightning CSS isn't run, such as in <code>@tailwindcss/browser</code> and Tailwind Play (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20124">#20124</a>)</li> <li>Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like <code>oklch</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20314">#20314</a>)</li> <li>Ensure <code>--spacing(0)</code> is optimized to <code>0px</code> instead of <code>0</code> so it remains a <code><length></code> when used in <code>calc(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20319">#20319</a>)</li> <li>Load <code>@parcel/watcher</code> only when needed in <code>@tailwindcss/cli --watch</code> mode, so one-off builds and <code>--watch --poll</code> work when <code>@parcel/watcher</code> can't be loaded (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20325">#20325</a>)</li> <li>Use explicit platform fonts instead of <code>system-ui</code> and <code>ui-sans-serif</code> so CJK text respects the page's <code>lang</code> attribute on Windows (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20318">#20318</a>)</li> <li>Prevent <code>@tailwindcss/upgrade</code> from rewriting ignored files when run from a subdirectory (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20329">#20329</a>)</li> <li>Ensure earlier <code>@source</code> rules pointing to nested files are scanned when later <code>@source</code> rules point to files in parent folders (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20335">#20335</a>)</li> <li>Prevent <code>@tailwindcss/vite</code> from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/20336">#20336</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="c2b24dd15f"><code>c2b24dd</code></a> 4.3.3 (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20334">#20334</a>)</li> <li><a href="e48c5e8047"><code>e48c5e8</code></a> Fix weird character rendering on Windows with Japanese locale (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20318">#20318</a>)</li> <li><a href="35a3e9c515"><code>35a3e9c</code></a> Always produce <code>\<length></code> value when optimizing <code>--spacing(0)</code> (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20319">#20319</a>)</li> <li><a href="4af47fbe94"><code>4af47fb</code></a> Fix hues in achromatic theme colors to be <code>none</code> (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20314">#20314</a>)</li> <li><a href="5835691d21"><code>5835691</code></a> Handle CSS nesting natively (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20124">#20124</a>)</li> <li><a href="67c745efde"><code>67c745e</code></a> Fix bug in attribute selector parsing (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20303">#20303</a>)</li> <li><a href="2683903b86"><code>2683903</code></a> Support fractional opacity modifiers for named shadow sizes (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20302">#20302</a>)</li> <li><a href="04588b1e8f"><code>04588b1</code></a> Fix theme() in JS plugins returning unresolved object instead of DEFAULT valu...</li> <li><a href="b53fa096c9"><code>b53fa09</code></a> fix: exclude iframes from focus-visible auto outline in Preflight (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20292">#20292</a>)</li> <li><a href="ef79119d4e"><code>ef79119</code></a> Bump dependencies (<a href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/20300">#20300</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tailwindlabs/tailwindcss/commits/v4.3.3/packages/tailwindcss">compare view</a></li> </ul> </details> <br /> Updates `vite` from 8.1.4 to 8.1.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>v8.1.5</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v8.1.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p> <blockquote> <h2><!-- raw HTML omitted --><a href="https://github.com/vitejs/vite/compare/v8.1.4...v8.1.5">8.1.5</a> (2026-07-16)<!-- raw HTML omitted --></h2> <h3>Bug Fixes</h3> <ul> <li><strong>bundled-dev:</strong> avoid duplicated <code>buildEnd</code> (<a href="https://redirect.github.com/vitejs/vite/issues/22931">#22931</a>) (<a href="8100320970">8100320</a>)</li> <li><strong>client:</strong> overlay error message format align rolldown (<a href="https://redirect.github.com/vitejs/vite/issues/22869">#22869</a>) (<a href="5a72b87807">5a72b87</a>)</li> <li><strong>deps:</strong> update all non-major dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/22921">#22921</a>) (<a href="fef682d3f0">fef682d</a>)</li> <li><strong>deps:</strong> update rolldown-related dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/22922">#22922</a>) (<a href="3c345e475a">3c345e4</a>)</li> <li><strong>module-runner:</strong> don't crash stack-trace source mapping when globalThis.Buffer is absent (<a href="https://redirect.github.com/vitejs/vite/issues/22945">#22945</a>) (<a href="f8b38e316b">f8b38e3</a>)</li> <li><strong>optimizer:</strong> respect importer module format for dynamic import interop with CJS deps (<a href="https://redirect.github.com/vitejs/vite/issues/22951">#22951</a>) (<a href="6c08c39ac4">6c08c39</a>)</li> <li><strong>ssr:</strong> scope switch-case declarations to the switch, not the function (<a href="https://redirect.github.com/vitejs/vite/issues/22893">#22893</a>) (<a href="b59a73f76f">b59a73f</a>)</li> </ul> <h3>Documentation</h3> <ul> <li><strong>build:</strong> fix incorrect <code>@default</code> for build.cssMinify (<a href="https://redirect.github.com/vitejs/vite/issues/22948">#22948</a>) (<a href="c88c236186">c88c236</a>)</li> <li><strong>build:</strong> fix incorrect <code>@default</code> for build.lib.formats (<a href="https://redirect.github.com/vitejs/vite/issues/22911">#22911</a>) (<a href="369ed609a4">369ed60</a>)</li> </ul> <h3>Tests</h3> <ul> <li>avoid scanner scanning all files under <code>__tests__</code> (<a href="https://redirect.github.com/vitejs/vite/issues/22912">#22912</a>) (<a href="c961cae286">c961cae</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="5e7fe129a4"><code>5e7fe12</code></a> release: v8.1.5</li> <li><a href="6c08c39ac4"><code>6c08c39</code></a> fix(optimizer): respect importer module format for dynamic import interop wit...</li> <li><a href="5a72b87807"><code>5a72b87</code></a> fix(client): overlay error message format align rolldown (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22869">#22869</a>)</li> <li><a href="f8b38e316b"><code>f8b38e3</code></a> fix(module-runner): don't crash stack-trace source mapping when globalThis.Bu...</li> <li><a href="8100320970"><code>8100320</code></a> fix(bundled-dev): avoid duplicated <code>buildEnd</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22931">#22931</a>)</li> <li><a href="c88c236186"><code>c88c236</code></a> docs(build): fix incorrect <code>@default</code> for build.cssMinify (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22948">#22948</a>)</li> <li><a href="b59a73f76f"><code>b59a73f</code></a> fix(ssr): scope switch-case declarations to the switch, not the function (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22">#22</a>...</li> <li><a href="fef682d3f0"><code>fef682d</code></a> fix(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22921">#22921</a>)</li> <li><a href="3c345e475a"><code>3c345e4</code></a> fix(deps): update rolldown-related dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22922">#22922</a>)</li> <li><a href="369ed609a4"><code>369ed60</code></a> docs(build): fix incorrect <code>@default</code> for build.lib.formats (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22911">#22911</a>)</li> <li>Additional commits viewable in <a href="https://github.com/vitejs/vite/commits/v8.1.5/packages/vite">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Source Code Documentation
This directory contains the frontend application for Calibre-Web Automated Book Downloader.
Structure
src/
└── frontend/ # React + TypeScript frontend application
├── public/ # Static assets (logo, favicon)
├── src/ # Source code
│ ├── components/ # React components
│ ├── App.tsx # Main application component
│ └── styles.css # Global styles
├── package.json # Dependencies and scripts
├── vite.config.ts # Vite configuration
└── tsconfig.json # TypeScript configuration
Frontend Development
Prerequisites
- Node.js (v16 or higher)
- npm or yarn
Quick Start
From the project root:
# Install dependencies
make install
# Start development server (http://localhost:5173)
make dev
# Build for production
make build
# Preview production build
make preview
# Run type checking
make frontend-typecheck
Alternatively, from src/frontend:
npm install
npm run dev
npm run build
Technology Stack
- Framework: React 18 with TypeScript
- Build Tool: Vite 5
- Styling: TailwindCSS 3
- Communication: WebSocket for real-time updates
Key Features
- Search Interface: Real-time book search with filtering
- Download Queue: Live status updates via WebSocket
- Details Modal: Rich book information display
- Responsive Design: Mobile-first approach
Development Tips
Hot Module Replacement (HMR)
The development server supports HMR for instant feedback during development.
API Integration
The frontend communicates with the Flask backend via:
- REST API endpoints (
/api/*) - WebSocket connection (
ws://localhost:8084/ws)
Building for Production
The production build is optimized and minified:
make build
Output is generated in src/frontend/dist/
Type Safety
Run TypeScript checks without building:
make frontend-typecheck
Debugging
Development Server Issues
- Ensure port 5173 is available
- Check that the backend is running on port 8084
- Verify WebSocket connection in browser console
Build Issues
- Clear
node_modulesand reinstall:make clean && make install - Check Node.js version compatibility
- Verify TypeScript configuration