Skip to content

Upgrade toolchain: Vite 8, Vue 3.5, Vitest 4, TypeScript 6, pnpm 11, Node 24; replace ESLint/Prettier with oxlint/oxfmt#418

Open
sebdanielsson wants to merge 13 commits into
sharevb:chore/all-my-stuffsfrom
sebdanielsson:feat/vite-8-vue35-ts6-toolchain
Open

Upgrade toolchain: Vite 8, Vue 3.5, Vitest 4, TypeScript 6, pnpm 11, Node 24; replace ESLint/Prettier with oxlint/oxfmt#418
sebdanielsson wants to merge 13 commits into
sharevb:chore/all-my-stuffsfrom
sebdanielsson:feat/vite-8-vue35-ts6-toolchain

Conversation

@sebdanielsson

Copy link
Copy Markdown

Description

Modernizes the entire build/lint/test toolchain in place (128 files, no mass reformat — existing code style is preserved):

  • Vite 4 → 8.1.3 (Rolldown/Oxc based): build.rollupOptionsbuild.rolldownOptions, dropped optimizeDeps.esbuildOptions, @vitejs/plugin-vue 4 → 6, @vitejs/plugin-vue-jsx 3 → 5
  • Vue 3.3 → 3.5.39, vue-tsc 1.8 → 3.3.6, Vitest 0.34 → 4.1.9, jsdom 22 → 29
  • TypeScript 5.2 → 6.0.3 with moduleResolution: "bundler" (removes the deprecated baseUrl/node10 options that TS 7 deletes). TS 7 (Go-based, currently RC) is not adoptable yet: its tsc is the native binary without the JS compiler API that vue-tsc/Volar require (TypeScript Native / TypeScript 7 (@typescript/native-preview, tsgo) Support vuejs/language-tools#5381)
  • UnoCSS 0.57 → 66 (presetUnopresetWind3), unplugin-auto-import/components/icons/vue-markdown to current majors (dtsTsx disabled in unplugin-vue-components: it emits invalid declarations for dotted component names)
  • pnpm 9 → 11.10.0: settings moved to pnpm-workspace.yaml, fresh lockfile passing pnpm 11's supply-chain policies, explicit allowBuilds decisions for every dependency build script
  • ESLint (@antfu config) + Prettier replaced by oxlint + oxfmt: configs mirror the previous style rules (120 cols, single quotes, semicolons). Existing files are deliberately not mass-reformatted — oxfmt follows Prettier's philosophy with no brace-style/operator-position options, so a whole-tree format would touch ~870 files; only files with real changes are formatted
  • CI: Node 22 → 24 everywhere (workflows + node:24-alpine Docker base), all GitHub Actions pinned to their latest patch releases

CI is ~3.4× faster: the full ci workflow (lint + unit tests + typecheck) went from 10m28s to 3m06s on identical runners — oxlint lints the whole tree in seconds where ESLint took minutes, and Vitest 4 + the Rolldown-based Vite 8 speed up the rest. Production builds complete in ~2 minutes for the full 32k-module bundle.

Notable bugs fixed along the way (surfaced by the stricter tooling and browser testing):

  • @vueuse/head 1.0.0 silently stops applying page titles under Vue 3.5 — every tool page kept the default index title (bumped to 1.3.1)
  • WireGuard config generator: the pre-shared-keys checkbox used v-model:value, which never binds on a standalone n-checkbox — the toggle did nothing (now v-model:checked)
  • Invalid ::ffff:: IPv6 literal in ipv6registry.json — stricter parsing in cidr-tools 11.3 made the IPv4-mapped range never match
  • Incomplete string escaping in parquets-reader column keys (CodeQL js/incomplete-sanitization)
  • mask-closable="false" string attrs (truthy) became real boolean bindings in countdown/cron-alarm/time-alarm
  • Invalid syntax in several project-local .d.ts files, plus ~212 template/prop type errors surfaced by vue-tsc 3's stricter checking
  • fanger pinned to 0.3.1 (0.3.2 was published without its dist/)

Dependency-resolution notes:

  • isolated-vm (17 MB) and onnxruntime-node (208 MB) are stubbed via overrides — native-only transitives of webcrack / @huggingface/transformers that vite.config.ts already aliases to an empty module for the browser bundle. Installs are ~225 MB lighter and no longer need node-gyp
  • elliptic is overridden to npm ^6.6.1 (webcrypto-liner-shim pins a GitHub fork tarball that isn't reachable from all build environments; drop the override if you prefer the fork)
  • blockExoticSubdeps is disabled with an in-file rationale: the xlsx override points the whole graph at the SheetJS CDN tarball because the npm version is stale and vulnerable, and pnpm 11 has no per-package exception

Additional context

Try it live: the upgraded app is deployed at
https://it-tools-git-claude-vite-a06fd1-sebastian-danielssons-projects.vercel.app
(Vercel preview of this change set, always tracking the latest build).

Verification, all green:

  • vue-tsc --noEmit -p tsconfig.vitest.json: clean
  • oxlint src: clean
  • Unit tests: 665/665 passing (Vitest 4)
  • Playwright e2e: 100/100 passing (chromium)
  • Production build + PWA generation: OK
  • A Playwright sweep of all 457 tool routes: every page renders with correct title and no console errors
  • CodeQL: no alerts on the changed code

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Submit the PR against the chore/all-my-stuffs branch.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description, in PLAIN ENGLISH ONLY, in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Run pnpm install --ignore-scripts && pnpm lint:fix && pnpm typecheck to ensure pnpm lock, oxlint and typecheck are ok
  • Ideally, include relevant tests that fail without this PR but pass with it.

Copilot AI review requested due to automatic review settings July 5, 2026 15:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR modernizes the project’s frontend/tooling stack (Vite/Vue/TypeScript/Vitest/pnpm/Node) and replaces the ESLint/Prettier-based workflow with oxlint/oxfmt, while also carrying a set of smaller correctness and typing fixes across tool pages and utilities.

Changes:

  • Upgrade build/test/typecheck tooling (Vite → 8, Vue → 3.5, TS → 6, Vitest → 4, Node → 24, pnpm → 11) and adjust configs accordingly.
  • Replace ESLint/Prettier with oxlint/oxfmt (new .oxlintrc.json / .oxfmtrc.json, remove legacy ESLint/Prettier configs, update docs/VSCode recommendations).
  • Assorted fixes/cleanups across tools (UI bindings, stricter typing, small runtime fixes, workflow pinning).

Reviewed changes

Copilot reviewed 116 out of 129 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
vite.config.ts Migrates Vite build config to Rolldown options; adjusts plugin settings.
unocss.config.ts Switches UnoCSS preset to presetWind3.
tsconfig.vite-config.json Updates Node tsconfig base to Node 24.
tsconfig.app.json Switches TS resolution to bundler and adds explicit paths entries.
stubs/empty-stub/package.json Adds local stub package used for pnpm overrides.
stubs/empty-stub/index.js Implements stub module export.
src/utils/ipv6registry.json Fixes invalid IPv6 literal for IPv4-mapped range.
src/utils/defaults.test.ts Test formatting/structure update.
src/ui/c-table/c-table.vue Refactors props typing/formatting and template formatting.
src/ui/c-select/c-select.demo.vue Demo typing adjustment.
src/ui/c-monaco-editor/c-monaco-editor.vue Tightens TS typing around Monaco environment and emits signatures.
src/ui/c-modal-value/c-modal-value.demo.vue Demo template adjustment.
src/ui/c-buttons-select/c-buttons-select.vue Improves generic prop typing and key typing in template.
src/tools/zxcvbn-password-strength/zxcvbn-password-strength.vue Typing/formatting improvements; minor template refactor.
src/tools/yaml-viewer/composeverter.d.ts Updates third-party module typings for stricter TS.
src/tools/wireguard-config-generator/wireguard-config-generator.vue Fixes Naive UI checkbox binding (v-model:checked) and formatting.
src/tools/which-day/which-day.vue Adds as const where needed; formatting.
src/tools/week-number-converter/week-number-converter.vue Refactors computed/template formatting; ensures string values where required.
src/tools/watermarker/watermarker.vue Formatting and null-safe label creation; minor template style cleanup.
src/tools/uuid-generator/uuid-generator.vue Typing improvements for query param storage and options passing.
src/tools/uuid-converter/uuid-converter.vue Const assertion for label alignment config; template formatting.
src/tools/url-text-fragment-maker/url-text-fragment-maker.vue Adjusts template formatting and uses a cast for type.
src/tools/url-cleaner/url-cleaner.vue Template formatting.
src/tools/ulid-generator/ulid-generator.vue Keeps options typed while passing array copies; formatting.
src/tools/torrent-to-magnet/torrent-to-magnet.vue Cleans up error handling; fixes magnetURI default type; formatting.
src/tools/timezone-converter/timezone-converter.vue Updates import style and formatting; minor UI prop cleanups.
src/tools/time-alarm/time-alarm.vue Fixes boolean binding for mask-closable; formatting.
src/tools/svg-previewer/svg-previewer.vue Normalizes ref default type and formatting.
src/tools/sip-auth/sip-auth.vue Ensures transformer always returns a string.
src/tools/short-urls-expander/short-urls-expander.vue Improves formatting and null handling for copyable outputs.
src/tools/serial-console/serial-console.vue Template typing workarounds for Naive UI select values.
src/tools/sensitive-data-masker/sensitive-data-masker.service.ts Refactors for readability; keeps regex logic intact.
src/tools/rsvp-reader/rsvp-reader.vue Refactors control flow; fixes progress percentage type expectation.
src/tools/power-converter/power-converter.vue Fixes syntax; sets UnitsConverter converter-type.
src/tools/potrace/esm-potrace-wasm.d.ts Tightens module typings.
src/tools/pomodoro-timer/app/storeUtils.js Refactors ternaries; fixes arithmetic precedence; export formatting.
src/tools/pomodoro-timer/app/store/index.js Refactors toggle logic and removes empty sections.
src/tools/pin-code-generator/pin-code-generator.service.test.ts Test formatting and Set usage simplification.
src/tools/pgp-file-encryption/pgp-file-encryption.vue Improves Blob typing and formatting; minor template cleanup.
src/tools/pdf-concat/pdf-concat.vue Refactors arrays/formatting; uses as any for props typing edge.
src/tools/parquets-reader/parquets-reader.vue Fixes escaping for column keys and pagination prop shape.
src/tools/outlook-parser/outlook-parser.vue Tightens BlobPart typing and stringification for UI values.
src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue Counter typing aligned with type="number" input; formatting.
src/tools/mime-types/mime-types.vue Formatting and minor template text layout changes.
src/tools/mermaid-exporter/mermaid-exporter.e2e.spec.ts Increases expect timeout for lazy-loaded mermaid chunk.
src/tools/markdown-toc-generator/markdown-contents.d.ts Fixes module typing formatting.
src/tools/many-units-converter/many-units-converter.vue Refactors computed logic and formatting; minor template fixes.
src/tools/json-to-protobuf/json-to-protobuf.vue Simplifies schema build and formatting.
src/tools/json-to-msgpack/json-to-msgpack.vue Blob creation uses explicit Uint8Array; formatting.
src/tools/json-to-env/json-to-env.service.test.ts Updates inline snapshot output (needs regeneration verification).
src/tools/json-to-csv/json-to-csv.service.test.ts Updates inline snapshot output (needs regeneration verification).
src/tools/json-editor/json-editor.vue Uses Mode.text constant; fixes spacing and control flow formatting.
src/tools/js-unobfuscator/js-unobfuscator.vue Refactors async race and formatting; typing cast for bundle value.
src/tools/javascript-obfuscator/javascript-obfuscator.service.test.ts Simplifies test logic and formatting.
src/tools/jasypt-string-encryption/jasypt.d.ts Tightens typings and formatting.
src/tools/isbn-validator-and-parser/isbn-validator-and-parser.vue Fixes audit card to pass clues array to key-value list; formatting.
src/tools/ipv6-address-converter/ip-bigint.d.ts Fixes invalid default-param typing; improves signature correctness.
src/tools/ipv4-address-converter/ipv4-address-converter.vue Refactors validation rules and computed formatting; null-safe values.
src/tools/ip-range-to-cidr/ip-bigint.d.ts Same ip-bigint typing fixes for another tool scope.
src/tools/image-converter/image-converter.vue Fixes WebP conversion buffer usage and improves typings/formatting.
src/tools/iban-validator-and-parser/iban-validator-and-parser.vue Formatting; null-safe friendly format binding.
src/tools/html-to-xhtml/html-to-xhtml.service.ts Formatting and minor serialization refactor.
src/tools/heic-converter/heic-convert.d.ts Updates browser conversion typings and exports.
src/tools/gitattributes-generator/gitattributes-generator.vue Fetch URL formatting and command generation behavior change.
src/tools/gif-to-mp4/gif-to-mp4.vue Ensures ffmpeg args are strings; BlobPart typing; formatting.
src/tools/force-converter/force-converter.vue Sets UnitsConverter converter-type and cleans supportedUnits keys.
src/tools/floating-point-number-converter/floating-point-number-converter.model.ts Refactors logic and adds lint suppression commentary.
src/tools/firewalld-generator/firewalld-generator.vue Improves template formatting and fixes boolean select typing workaround.
src/tools/file-hasher/file-hasher.vue Refactors formatting and reduces unsafe casts.
src/tools/docker-compose-validator/composeverter.d.ts Aligns composeverter typings with stricter TS.
src/tools/docker-compose-converter/composeverter.d.ts Same composeverter typing adjustments.
src/tools/dmarc-report-analyzer/dmarc-report-analyzer.vue Template formatting and null-safe values.
src/tools/dead-pixel/dead-pixel.vue Fixes invalid HTML structure (ul inside p) and formatting.
src/tools/crop-image/crop-image.vue Refactors control flow, math precedence, template formatting and styles.
src/tools/cron-alarm/cron-alarm.vue Fixes boolean binding for mask-closable; formatting.
src/tools/crc-calculator/crc-calculator.vue Refactors computed/watch and typing cast for crc input.
src/tools/countdown/countdown.vue Fixes boolean binding for mask-closable; formatting.
src/tools/citation-generator/citation-generator.vue Makes year numeric; refactors validation and formatting.
src/tools/cidr-in-cidr/cidr-in-cidr.vue Formatting and validation/compute structure improvements.
src/tools/certificate-key-parser/certificate-key-parser.infos.ts Typing/formatting improvements and safer buffer-to-hex conversion.
src/tools/case-converter/case-converter.vue Validation typing/formatting improvements and const assertions.
src/tools/bcrypt/bcrypt.models.test.ts Stabilizes describe name string and formatting.
src/tools/angle-converter/angle-converter.vue Sets UnitsConverter converter-type.
src/pages/Home.page.vue Formatting and useHead typing workarounds.
src/pages/About.vue Formatting and useHead typing workarounds.
src/layouts/tool.layout.vue Typing cast for markdown source; formatting and style cleanup.
src/composable/flexSearch.ts Refactors typings and sorting math formatting.
src/components/UnitsConverter.vue Makes converterType optional and refactors initialization/formatting.
src/components/InputCopyable.vue Expands accepted value types; stringifies for display/copy.
src/_empty.ts Removes redundant export {}.
renovate.json Removes UnoCSS ESLint config from renovate grouping.
README.md Updates dev tooling guidance for oxlint/oxfmt and revised CI command.
pnpm-workspace.yaml Adds pnpm 11 workspace settings: overrides, patches, allowBuilds.
Dockerfile Updates base image to Node 24 and installs pnpm 11; copies workspace/stubs.
.vscode/settings.json Switches save actions to oxc formatter + oxlint fixes.
.vscode/extensions.json Recommends Oxc VSCode extension instead of ESLint.
.prettierrc Removes Prettier config (tooling replaced).
.oxlintrc.json Adds oxlint configuration mirroring former ESLint rules.
.oxfmtrc.json Adds oxfmt configuration (print width, quotes, etc.).
.github/workflows/sharevb-releases.yml Pins actions and upgrades CI Node version to 24.
.github/workflows/sharevb-github-pages-publish.yml Pins actions, upgrades Node to 24, updates pnpm setup action.
.github/workflows/sharevb-e2e-tests.yml Pins actions and upgrades Node to 24; updates cache action.
.github/workflows/sharevb-docker-realease-latest.yml Pins actions and upgrades Node to 24.
.github/workflows/sharevb-docker-realease-baseurl-it-tools.yml Pins actions and upgrades Node to 24.
.github/workflows/sharevb-docker-nightly-release.yml Pins actions and upgrades Node to 24.
.github/workflows/sharevb-codeql-analysis.yml Pins CodeQL action and checkout.
.github/workflows/sharevb-ci.yml Pins actions and upgrades Node to 24.
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md Updates pre-submit command to oxlint-based workflow.
.eslintrc.cjs Removes ESLint config (superseded by oxlint).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 42 to +47
<c-input-text
v-model:value="url"
:label="t('tools.url-text-fragment-maker.texts.label-base-url')"
:placeholder="t('tools.url-text-fragment-maker.texts.placeholder-base-url')"
type="url"
clearable raw-text mb-5
:type="'url' as any"
clearable
Comment on lines 55 to 58
expect(result).toMatchInlineSnapshot(`
"LIST=\\"[1,2,3]\\"
OBJ=\\"{\\\\\\"a\\\\\\":1}\\""
"LIST="[1,2,3]"
OBJ="{\\"a\\":1}""
`);
Comment on lines 82 to 85
expect(convertArrayToCsv({ arrayOrObject: array })).toMatchInlineSnapshot(`
"a,b
\\"hello, world\\",2"
"hello, world",2"
`);
Comment on lines 91 to 94
expect(convertArrayToCsv({ arrayOrObject: array })).toMatchInlineSnapshot(`
"a,b
hello \\\\\\"world\\\\\\",2"
hello \\"world\\",2"
`);
@sharevb

sharevb commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Hi @sebdanielsson unfortunately, I pushed some changes and it mades some conflicts. Could you resolve ? many thanks

claude added 8 commits July 5, 2026 16:29
…nd pnpm 11; adopt oxlint/oxfmt

- vite 4 -> 8.1.3 (rolldown-based: build.rollupOptions -> rolldownOptions,
  drop optimizeDeps.esbuildOptions), @vitejs/plugin-vue 4 -> 6, plugin-vue-jsx 3 -> 5
- vue 3.3 -> 3.5.39, vue-tsc 1.8 -> 3.3.6, vitest 0.34 -> 4.1.9, jsdom 22 -> 29
- typescript 5.2 -> 6.0.3 with moduleResolution=bundler (baseUrl/node10 are
  hard errors in TS 6, removed in TS 7); TS 7 RC not adoptable: its native
  tsc lacks the JS compiler API vue-tsc needs (vuejs/language-tools#5381)
- unocss 0.57 -> 66 (presetUno -> presetWind3), unplugin-* to current majors
  (unplugin-vue-components dtsTsx disabled: emits invalid declarations for
  dotted component names)
- @vueuse/head 1.0.0 -> 1.3.1 (1.0.0 silently stopped applying page titles
  under Vue 3.5)
- replace ESLint (@antfu config) + Prettier with oxlint + oxfmt; configs
  mirror the previous style rules. Existing files are intentionally NOT
  mass-reformatted (oxfmt has no brace-style/operator-position options to
  match the old @antfu style) — only files with real changes are formatted
- pnpm 9 -> 11.10.0: settings move to pnpm-workspace.yaml, fresh lockfile
  passing supply-chain policies, explicit allowBuilds decisions,
  blockExoticSubdeps off (xlsx CDN override patches vulnerable npm 0.18.5)
- isolated-vm (17 MB) and onnxruntime-node (208 MB) stubbed via overrides:
  native-only transitives already aliased to an empty module for the bundle
- elliptic overridden to npm ^6.6.1 (github fork tarball of
  webcrypto-liner-shim unreachable from the build environment)
- CI: node 22 -> 24, all actions pinned to latest patch releases, automatic
  Vercel workflows disabled (fork deploys via Vercel Git integration),
  vercel.json: git.deploymentEnabled removed, buildCommand skips no-op vue-tsc
- Dockerfile: node:24-alpine, pnpm@11, ship pnpm-workspace.yaml and stubs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
vue-tsc 3 checks templates far more strictly than 1.8 and TS 5.7+ made
Uint8Array generic over its backing buffer. Widen shared component props
(InputCopyable, c-table, c-input-text, UnitsConverter), convert values at
call sites, fix invalid local .d.ts declarations, and repair issues the
new tooling exposed:

- WireGuard generator: pre-shared-keys checkbox used v-model:value which
  never binds on a standalone n-checkbox (now v-model:checked)
- mask-closable="false" string attrs became real boolean bindings in
  countdown/cron-alarm/time-alarm
- v-model casts (x as any) fail to compile under plugin-vue 6 + rolldown;
  replaced with :value/@update:value split bindings
- invalid '::ffff::' IPv6 literal in ipv6registry.json, exposed by stricter
  parsing in cidr-tools 11.3 (IPv4-mapped range never matched)
- fanger pinned to 0.3.1 (0.3.2 published without dist/)
- countries-and-timezones namespace imports, Vitest 4 snapshot format,
  invalid ul-inside-p HTML in dead-pixel, test assertion outside it() block

vue-tsc clean; oxlint clean; vitest 665/665; vite build + PWA OK;
Playwright e2e 100/100; all 457 tool routes render without errors

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
The tree deliberately keeps its existing @antfu-era formatting; running
'pnpm fmt' (oxfmt over all of src) would reformat ~800 untouched files.
Format only the files you change, or run 'pnpm fmt' in a dedicated PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
CodeQL flagged incomplete string escaping (js/incomplete-sanitization):
escaping '.' to '\.' without first escaping existing backslashes makes
column names containing backslashes ambiguous in naive-ui's nested-key
syntax. Escape backslashes first.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
mermaid is a large lazy-loaded chunk; webkit on cold CI runners exceeds
Playwright's default 5s expect timeout even across retries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
Copilot review on the upstream PR flagged the casts. c-input-text
renders any non-password type as a text input, so widen its type union
to include 'url' instead of casting; for naive-ui's NInput use the
documented input-props to set the native input's type=number.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
(cherry picked from commit 9068203)
… in Docker Label Generator

- fold upstream's new CodeMirror/picomatch dependencies into the pnpm 11
  lockfile; add @lezer/highlight to optimizeDeps (kept from upstream)
- dockerfile-label-generator: n-date-picker emits a number timestamp,
  not a Date — calling toISOString() on it would throw at runtime the
  moment a date was picked. Type as number and convert via new Date()
- drop stray tsconfig.vite-config.tsbuildinfo build artifact; ignore
  *.tsbuildinfo

vue-tsc clean; oxlint clean; vitest 665/665; vite build OK

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
The fork-specific Vercel changes (Git-integration deploys, disabled CLI
workflows, build:vercel command) are excluded from the upstream
contribution; upstream deploys via its own Vercel CLI workflows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
(cherry picked from commit ed182ec)
@sebdanielsson sebdanielsson force-pushed the feat/vite-8-vue35-ts6-toolchain branch from 9068203 to 95ff83e Compare July 5, 2026 16:36
@sebdanielsson

Copy link
Copy Markdown
Author

Hi @sebdanielsson unfortunately, I pushed some changes and it mades some conflicts. Could you resolve ? many thanks

Fixed!

…ct timeout

- dockerfile-label-generator escaped quotes without escaping existing
  backslashes first (CodeQL js/incomplete-sanitization, same class as
  the parquets-reader fix): a value ending in a backslash would break
  the generated LABEL quoting
- playwright: 15s global expect timeout — first paint of heavy lazy
  chunks exceeds the 5s default on slow CI browsers (webkit), which
  intermittently failed title assertions across retries

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M6deEDJXFzgDzPiYPAcsv1
(cherry picked from commit 5b3822e)
try {
if (outputFormatValue === 'webp') {
const encodedImage = await arrayBufferToWebP(fileBuffer);
const encodedImage = await arrayBufferToWebP(fileBuffer.buffer);

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This is strange

Comment thread .gitignore Outdated
Comment thread stats.html Outdated
Comment thread tsconfig.app.json
"paths": {
"@/*": ["./src/*"]
"@/*": ["./src/*"],
"figue": ["./node_modules/figue/dist/index.d.ts"],

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Why ?

Comment thread tsconfig.app.json
"@/*": ["./src/*"]
"@/*": ["./src/*"],
"figue": ["./node_modules/figue/dist/index.d.ts"],
"@it-tools/oggen": ["./node_modules/@it-tools/oggen/dist/index.d.ts"],

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Why ?

Comment thread tsconfig.app.json
"@/*": ["./src/*"],
"figue": ["./node_modules/figue/dist/index.d.ts"],
"@it-tools/oggen": ["./node_modules/@it-tools/oggen/dist/index.d.ts"],
"libphonenumber-js/types": ["./node_modules/libphonenumber-js/types.d.ts"]

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Why ?

Comment thread tsconfig.vite-config.tsbuildinfo Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants