Repository navigation
Update npm non-major - #19
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.4.0→1.6.21.4.0→1.6.24.13.15→4.13.161.4.0→1.5.01.4.0→1.5.01.4.0→1.6.2Release Notes
voidzero-dev/void (@void/md)
v1.6.2Compare Source
isVoidActionError()to recognize action errors at any status, including thrown401,403, and5xxerrors. Available from all four framework adapters.c.redirect()unintentionally forwarding incoming query parameters to its destination.prerender = false, avoiding 404s and extra round trips.useParams()returning stale parameters after client-side navigation._headersfiles being dropped on native Cloudflare deployments that preserve existing secrets.void.jsonin projects usingvoid.config.ts.Thanks to @0froq, @dvkam, @karthickeyan-dev, @morinokami, @niteshseram, @yangshun, and @yujiym for their contributions!
Recognizing Action Errors
Use
isVoidActionError()in error handling to distinguish failed actions from other errors and read their status and message:Action error handling
v1.6.1Compare Source
void preparefailing in fresh projects with authentication whentsconfig.jsonextends.void/tsconfig.json.v1.6.0Compare Source
routing.typedRoutesto check URL strings in links, navigation, and rewrites. Enabled by default in new Pages apps.aria-currentanddata-void-activeindicators toLink, withactiveMatch="prefix"for nested pages.data-void-pendingtoLinkwhile its destination is loading.prefetch.defaultStrategyto configure a default prefetch strategy for everyLink.Linkprefetching to skip external URLs, respect data saver and 2G connections, and wait 300 ms before prefetching visible links.{ resolveOn: 'data' }to Reactrouter.visit()androuter.refresh()to avoid deadlocks when awaiting navigation inside Actions or transitions.threadingoption tosendEmail()so replies sent later can stay in the same conversation.--runtime-logs minimalfor self-hosted platforms to omit request URLs and log and exception messages from runtime telemetry.Linktypes rejecting standard attributes and listeners such astarget,download, and@click.useForm()clearing errors written directly in an input handler..island.file was present.Thanks to @0froq, @Dazzanova, @dvkam, @iPLAYCAFE-dev, @karthickeyan-dev, @morinokami, @serkodev, @sglyon, @ubugeeei, and @yangshun for their contributions!
New Features
Typed Routes
New Pages apps enable typed route URLs automatically. To enable them in an existing app:
TypeScript then checks URL strings passed to
Link, router methods, andc.rewrite()against your app's routes.Checked URL strings
Active and Pending Links
Style the current page and a navigation in progress with CSS:
Use
activeMatch="prefix"to keep a section's link active on nested pages:Active links · Pending links
Prefetch Defaults
Configure prefetching once in your framework adapter:
The same option works with
voidVue,voidSvelte, andvoidSolid. Individual links can override it:Visible links wait 300 ms before prefetching. Automatic prefetching skips when the browser reports data saver or a 2G connection.
Prefetching
Awaiting Navigation in React Actions
Pass
resolveOn: 'data'when awaiting navigation inside a React Action or transition:This lets the Action finish once page data is ready, allowing React to commit the update.
React navigation completion
Email Threading
Save an incoming message's ID and use it when sending a reply later, such as from a queue job:
Reply later
Connected-App Refresh Tokens
Connected apps can renew access by posting
grant_type=refresh_tokenand their refresh token to/oauth/token, using HTTP Basic client authentication.Connected apps
Minimal Runtime Logs
Choose minimal logging when installing or upgrading a self-hosted platform:
Runtime logs
Upgrade Guide
Form types are stricter in this release:
form.dataandform.errorscannot be replaced. In React and Solid, update fields through the form methods. Vue and Svelte continue to support editing data and errors in place.string | undefined. Check that an error exists before using it.useIslandForm()now infers field types from its defaults. Annotate defaults that need a wider type, such asnull as File | null.v1.5.0Compare Source
routeUrl()fromvoid/routesto build URLs with autocomplete and type checking for route patterns and required parameters.router.visit(),router.prefetch(),router.flush(), andc.rewrite().logger.child(fields)to attach shared fields to log entries, with support for nested child loggers and per-call overrides.action()hanging when awaited inside a transition,useActionState, or a form action.withValidator({ query })dropping repeated query parameters. Repeated values are now preserved as arrays.void secret sync --platform cloudflarereporting success without storing secrets.--yestovoid secret syncfor scripts and CI. Cancelled secret commands now exit with a non-zero status.Thanks to @0froq, @Dazzanova, @morinokami, and @yangshun for their contributions!
Upgrade Guide
Please run
void migrateto add the.cloudflarebuild folder to your.gitignore. If you are usingvoid secret syncon CI, please add the--yesflag.honojs/hono (hono)
v4.13.16Compare Source
Security fixes
This release includes fixes for the following security issues:
mount()andapp.mount()can forward a path that bypasses middleware scoped inside the mount prefixAffects:
mount()inhono/mountandapp.mount(). A dynamic prefix such as/api/:tenant/*was removed by the length of the route pattern. The forwarded path was also re-normalized by the URL parser, so a decoded\became/and..collapsed. Both let a crafted request skip middleware scoped inside the mount prefix. Routes such as/assets*and duplicate parameter names now throw. GHSA-4m76-xfj5-7975RegExpRouter skips wildcard middleware for certain route patterns and for paths with an encoded line terminator
Affects:
RegExpRouter, including the defaultSmartRouter. Wildcard middleware was not applied in three cases: a parameter written as{[^/]+}in the middleware path only, a/prefix*route next to/prefix/*middleware, and a path with an encoded line terminator. RegExpRouter now covers the same routes as the other routers. Custom patterns that can match the empty string, such as{[0-9]*}, throwUnsupportedPathError. RegeneratePreparedRegExpRouterdata. GHSA-h7mg-cq63-vhpqvalidator('form')skips validation formultipart/form-datarequests with extra parametersAffects:
validator('form')inhono/validator. Amultipart/form-datarequest with an extra parameter such ascharsetwas not recognized as a form. The validator then saw an empty object while the handler could read all fields. GHSA-4h7h-rv7c-7m2vcsshelper does not escape a closing tag assembled from template parts and values, allowing HTML injectionAffects:
cssinhono/css. A</style>split between the template and a value, or between two values, was not escaped. Closing tags are now escaped after minification. GHSA-3gg2-335m-rxc6csrf()does not check requests sent by hyperlink auditing (text/ping)Affects:
csrf()inhono/csrf. A POST sent by Chromium's<a ping>has the content typetext/pingand was not checked againstOriginandSec-Fetch-Site. GHSA-46wx-v44x-9hh2Users who rely on path-scoped middleware with
mount(), wildcard middleware with the default router,validator('form'), thecsshelper with untrusted values, orcsrf()are strongly encouraged to upgrade to this version.What's Changed
critin #5597Full Changelog: honojs/hono@v4.13.15...v4.13.16
voidzero-dev/vite-plus (vite)
v1.5.0: vite-plus v1.5.0Compare Source
Vite+ 1.5 adds an official Homebrew tap, runs TypeScript through Node.js with
node --import vite-plus/register, and letsvp migratemoveoxnodeand transpile-onlyts-nodescripts tovpx.Features
vpfrom the official Homebrew tap on macOS and glibc Linux (docs) (#2740), by @fengmk2:node --import vite-plus/registerruns TypeScript with the same loader asvpx, so tools that start Node.js themselves, such as the Node.js test runner, AVA, or aNODE_OPTIONSsetting, can run TypeScript files (docs) (#3208), by @fengmk2.vp migratemovesoxnodecommands and transpile-onlyts-nodecommands tovpx, and moves their Node.js preloads and literalNODE_OPTIONSvalues tovite-plus/register.ts-nodecommands that type-check stay unchanged with a warning, and thets-nodedependency is removed only when nothing still uses it. A project already on Vite+ gets this migration withvp migrate --full(docs) (#3209, #3210), by @fengmk2.vp migratewarns when it finds Rollup, Rolldown, or Jest dependencies with matching configuration, and explains how to move them to Vite, tsdown, or Vitest. The warnings show during the first migration, or withvp migrate --fullin a project already on Vite+ (#3275), by @KTrain5169 and @fengmk2.vite-plusexportsresolveConfigFromFile(configFile, options?), which resolves a config relative to the config file's directory instead ofprocess.cwd(), so editor plugins with several workspace folders load the files of the right project (#3249), by @leaysgur and @fengmk2.minimatch@11.0.4, which fixes a denial of service through glob pattern amplification (GHSA-g3hv-75wg-m249, medium), andzstd@0.13.4, which fixes RUSTSEC-2026-0391, RUSTSEC-2026-0398, and RUSTSEC-2026-0403 (#3328, #3331), by @renovate[bot] and @wan9chi.rolldown@1.2.15torolldown@1.2.16, withexperimentalInlineCommonChunksin dev mode and no crash when the working directory was deleted.tsdown@0.23.1totsdown@0.23.4:vp pack --env-filecan be repeated to load several env files, the config has a JSON schema, and?inlineCSS imported from dependencies is inlined.vitest@5.0.5tovitest@5.1.0, with--last-failedand--since-last-run, fake timers fornode:timers, and interactive review of failed snapshots. Browser mode now uses port 23315 by default.oxlint@1.89.0tooxlint@1.91.0andoxlint-tsgolint@7.0.2004tooxlint-tsgolint@7.0.2005, with the new type-aware ruletypescript/no-unsafe-enum-assignment, wider checks in rules such asarray-callback-return,no-useless-concat, andno-control-regex, and two rules moved into thesuspiciouscategory.oxfmt@0.74.0tooxfmt@0.76.0, with a new HTML formatter and JavaScript and TypeScript fixes for parentheses, array layout, and line width with wide characters.vp check, runvp fmtafter upgrading.oxlint@1.91.0can reportreact/immutabilityfor aletdeclared inside an effect and reassigned by a closure in that effect (oxc#28401).vpxandvite-plus/registerrun onoxc-node@1.0.1, which resolves a.jsxspecifier to its.tsxor.tssource.Fixes & Enhancements
vp createinto a target path that is a symbolic link removes only the link after confirmation, instead of deleting the contents of the linked directory, and the overwrite prompt names symbolic links and files (#2418), by @leslieeilsel and @fengmk2.vp imploderemoves only directories and shims that it can verify as Vite+ installations, and refuses the home directory, its parents, and filesystem roots even with--yes, so aVP_HOMEthat points at another directory cannot delete unrelated files (#3228), by @jong-kyung.vp runstarts faster in workspaces whose tasks share cacheinputandoutputpatterns, because each pattern is parsed once. In a 138-package workspace this saves about 2 seconds of CPU on every run (vite-task#887, vite-task#890), by @jasonkuhrt and @wan9chi.vp runand package-manager commands in npm projects start about 110 ms sooner, becausevpreads the npm version from npm'spackage.jsoninstead of runningnpm --version(#3259), by @magurotuna.vp migratechecks Vitest prerequisites faster in workspaces, because it parses each lockfile once (#3212), by @jong-kyung.vp upgradeinstall the global CLI's dependencies with the Node.js version that the release pins (24.22.2 for this release), instead of the latest LTS (docs) (#3269), by @fengmk2.latestalias invp env use,vp env default,vp env pin,vp env install, and.nvmrcresolves to the newest stable release instead of a27.0.0-alphabuild, andvp env list-remotemarks that stable release as latest (#3335), by @voidzero-bot[bot] and @fengmk2.VP_NODE_VERSION=22and other partial versions work for project commands such asvp build,vp run, andvp list, instead of failing with a 404 download error (#3341), by @jong-kyung.vp install -gcommands that run at the same time no longer delete each other's active package, and a command that starts while a package manager is being installed no longer runs its shim before the shim is executable (#3185, #3248), by @jong-kyung.vp configwaits and retries when another linked git worktree holds the shared git config lock, so apreparescript no longer fails when two worktrees install at the same time (#3199), by @naokihaba.vp env doctorreports Node.js resolution failures, unreadable config, a failing systemnode, and missing shims as errors and exits with code 1. When it finds only warnings, the summary saysSome warnings foundinstead ofAll checks passed(#3215, #3222), by @liangmiQwQ.vpandvpruse the named completer input, so Nushell 0.116 shows no deprecation warning, and they fall back to file completion when fish is not installed. Runvp env setup --refreshto regenerateenv.nu(#3267, #3276), by @naokihaba.vp migrateremoves thetsxdependency even when a comment still contains atsxcommand or code fence, and keeps it for JSDoc type imports that need it (#3299), by @voidzero-bot[bot] and @fengmk2.prefer-vite-plus-importslint rule and its autofix leave theviteandvitestimports thatvp migratekeeps, such asvitestimports in a package that listsvitestinpeerDependencies, sovp lint --fixno longer breaks the package for its plain Vitest users (#3192), by @Dunqing.typeAwareandunusedDisableDirectives, so editor diagnostics follow thelint.optionsinvite.config.ts. Existing editor settings stay unchanged (#2357), by @pweyck.vp dlxwith npm runs the right executable for scoped packages such as@angular/cli(#3229), by @jong-kyung.vp outdated -rin npm projects checks the workspaces instead of transitive dependencies, and requires npm 7.14.0 or later (#3240), by @jong-kyung.--prodand--devwork with npm 6, and filters that npm 6 cannot apply are rejected instead of passed through (#3251), by @jong-kyung.vp pm stagebefore npm 11.15.0, are skipped with a warning. Unsupportedpnpm dlxandpnpm packoptions, and project-only flags on managed global commands such asvp install -g, are rejected instead of silently ignored (#3286, #3285), by @jong-kyung.vp toolchain -gis short forvp toolchain --global(#3189), by @jong-kyung.execwith an empty path orexeclwith 32 or more arguments (vite-task#896, vite-task#865), by @wan9chi and @tlq5l.Refactor
Docs
vp checkstops at formatting failures, and thatvp checkflags go before file paths (#3262), by @SaKaNa-Y.vitedependency with its override during a manual npm installation, to avoidEOVERRIDE(#3157), by @SaKaNa-Y.FOO=bar commandwork in task commands on every platform (#3161), by @tartelettie./vp-setupredirect and the redirects for moved guide pages (#3271), by @fengmk2.Chore
40cb9ca; its user-facing changes are listed above (#3246, #3280), by @wan9chi.--full, stabilize pnpm setup and Bun snapshots, update the tiptap ecosystem pin, use a recorded package in the install shortcut case, and remove duplicatedevEnginesparse tests (#3193, #3196, #3242, #3305, #3301), by @liangmiQwQ, @fengmk2, @wan9chi, and @Brooooooklyn.dprintandtaploinjust init(#3234, #3310, #3250), by @renovate[bot], @leaysgur, and @fengmk2.AGENTS.md, and the Rolldown exports in the CLI bundling notes (#3207, #3238, #3316), by @fengmk2 and @liangmiQwQ.Bundled Versions
8.3.5981f07f1.2.16de6facf1.0.17ff14c30.23.45.1.01.91.07.0.20050.76.0Upgrade
New Contributors
@yamaurakazuto, @tartelettie, @pweyck, @jasonkuhrt
Full Changelog: voidzero-dev/vite-plus@v1.4.0...v1.5.0
Published Packages
@voidzero-dev/vite-plus-core@1.5.0vite-plus@1.5.0create-vite-plus@1.5.0Installation
macOS/Linux:
curl -fsSL https://vite.plus | bashHomebrew (macOS/Linux):
See the Homebrew guide to switch from the script installer or the Homebrew Core
vite-plusformula.Windows:
Or download and run
vp-setup.exefrom the assets below.Docker:
docker run --rm -it -v "$PWD:/app" -w /app ghcr.io/voidzero-dev/vite-plus:1.5.0 vp buildRun any
vpcommand without installing it; see the Docker guide for more.Create a New App
Start a project without installing the global
vp:create-vite-plusrunsvp createthrough your package manager.Run the command without arguments to pick a template interactively, and see the create guide for other package managers, templates, and options.
Configuration
📅 Schedule: (in timezone Asia/Tokyo)
* 0-11 * * 6)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.