Skip to content

feat(migrate): migrate transpile-only ts-node scripts and preloads - #3210

Open
fengmk2 wants to merge 6 commits into
feat/migrate-oxnode-to-vpxfrom
feat/migrate-ts-node-to-vpx
Open

fengmk2 wants to merge 6 commits into
feat/migrate-oxnode-to-vpxfrom
feat/migrate-ts-node-to-vpx

Conversation

@fengmk2

@fengmk2 fengmk2 commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

vp migrate leaves ts-node commands and preloads in projects.

This change maps supported commands that explicitly disable type-checking to vpx. Supported Node.js preloads and literal NODE_OPTIONS assignments use vite-plus/register. Commands that type-check or need unsupported configuration stay unchanged with a warning.

The migration removes the ts-node development dependency only when no remaining use needs it.

@fengmk2
fengmk2 added this pull request to stack #3211 October 23, 2026 08:15
@socket-security

socket-security Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​typescript@​7.0.2 ⏵ 7.0.2N/AN/AN/AN/AN/A

View full report

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: 3941778

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://feat-migrate-ts-node-to-vpx-viteplus-dev.voidzero-docs.workers.dev (commit 86b6566)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://2b6caef4-viteplus-dev.voidzero-docs.workers.dev 86b6566 2026-10-26T05:53:52.000Z Visit the dashboard ↗
  • Build: Failed ❌

View logs ↗
46ea137 2026-10-26T02:12:50.470Z View logs ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://2d318327-viteplus-dev.voidzero-docs.workers.dev 9266201 2026-10-26T01:50:55.039Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://39b02de6-viteplus-dev.voidzero-docs.workers.dev 3941778 2026-10-25T13:03:01.752Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://a51d330b-viteplus-dev.voidzero-docs.workers.dev 60d7bd8 2026-10-23T14:01:22.490Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://e25c1b1b-viteplus-dev.voidzero-docs.workers.dev 964f0e9 2026-10-23T08:50:33.713Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://2e2a993b-viteplus-dev.voidzero-docs.workers.dev 6ccf2a4 2026-10-23T08:16:48.154Z Visit the dashboard ↗

@fengmk2
fengmk2 marked this pull request as draft October 23, 2026 08:27
@fengmk2
fengmk2 force-pushed the feat/migrate-ts-node-to-vpx branch from 964f0e9 to 60d7bd8 Compare October 23, 2026 13:59
@fengmk2
fengmk2 marked this pull request as ready for review October 23, 2026 14:00
@fengmk2
fengmk2 removed this pull request from stack #3211 October 23, 2026 14:01
@fengmk2 fengmk2 changed the title feat(migrate): migrate transpile-only ts-node scripts to vpx feat(migrate): migrate transpile-only ts-node scripts and preloads Oct 23, 2026
@fengmk2
fengmk2 added this pull request to stack #3214 October 23, 2026 14:01
@fengmk2
fengmk2 force-pushed the feat/migrate-ts-node-to-vpx branch from 60d7bd8 to 3941778 Compare October 25, 2026 13:01
@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Preview binary sizes (46ea137)

Compared with the latest stable release, v1.4.0. Preview build.
Each row measures one binary. Negative changes mean a smaller preview binary.

Binary Latest release Preview Change
vp (macOS ARM64) 5.38 MiB 5.38 MiB +96 B (+0.00%)
NAPI (macOS ARM64) 42.20 MiB 42.20 MiB +32 B (+0.00%)
vp (macOS x64) 6.82 MiB 6.82 MiB +4.05 KiB (+0.06%)
NAPI (macOS x64) 47.34 MiB 47.34 MiB +4.04 KiB (+0.01%)
vp (Linux ARM64 GNU) 6.81 MiB 6.82 MiB +4.00 KiB (+0.06%)
NAPI (Linux ARM64 GNU) 31.44 MiB 31.46 MiB +23.25 KiB (+0.07%)
vp (Linux ARM64 musl) 6.88 MiB 6.89 MiB +7.15 KiB (+0.10%)
NAPI (Linux ARM64 musl) 30.67 MiB 30.68 MiB +7.19 KiB (+0.02%)
vp (Linux x64 GNU) 8.22 MiB 8.23 MiB +4.00 KiB (+0.05%)
NAPI (Linux x64 GNU) 35.45 MiB 35.46 MiB +3.31 KiB (+0.01%)
vp (Linux x64 musl) 8.29 MiB 8.30 MiB +3.09 KiB (+0.04%)
NAPI (Linux x64 musl) 34.43 MiB 34.44 MiB +6.88 KiB (+0.02%)
vp (Windows x64) 6.09 MiB 6.10 MiB +3.50 KiB (+0.06%)
NAPI (Windows x64) 31.16 MiB 31.17 MiB +9.00 KiB (+0.03%)
Trampoline (Windows x64) 13.00 KiB 13.00 KiB 0 B (0.00%)
Installer (Windows x64) 4.67 MiB 4.67 MiB 0 B (0.00%)
vp (Windows ARM64) 5.33 MiB 5.33 MiB +4.50 KiB (+0.08%)
NAPI (Windows ARM64) 27.57 MiB 27.58 MiB +10.50 KiB (+0.04%)
Trampoline (Windows ARM64) 13.00 KiB 13.00 KiB 0 B (0.00%)
Installer (Windows ARM64) 3.85 MiB 3.85 MiB 0 B (0.00%)
gzip -9 sizes
Binary Latest release Preview Change
vp (macOS ARM64) 3.20 MiB 3.20 MiB +1.07 KiB (+0.03%)
NAPI (macOS ARM64) 18.25 MiB 18.25 MiB -1.73 KiB (-0.01%)
vp (macOS x64) 3.38 MiB 3.38 MiB +1.92 KiB (+0.06%)
NAPI (macOS x64) 19.44 MiB 19.44 MiB +1.07 KiB (+0.01%)
vp (Linux ARM64 GNU) 3.69 MiB 3.69 MiB +2.00 KiB (+0.05%)
NAPI (Linux ARM64 GNU) 13.31 MiB 13.32 MiB +3.46 KiB (+0.03%)
vp (Linux ARM64 musl) 3.71 MiB 3.72 MiB +2.75 KiB (+0.07%)
NAPI (Linux ARM64 musl) 13.01 MiB 13.01 MiB +2.93 KiB (+0.02%)
vp (Linux x64 GNU) 3.76 MiB 3.76 MiB +1.14 KiB (+0.03%)
NAPI (Linux x64 GNU) 14.12 MiB 14.12 MiB +2.98 KiB (+0.02%)
vp (Linux x64 musl) 3.78 MiB 3.79 MiB +2.52 KiB (+0.06%)
NAPI (Linux x64 musl) 13.66 MiB 13.67 MiB +3.39 KiB (+0.02%)
vp (Windows x64) 2.82 MiB 2.82 MiB +1.86 KiB (+0.06%)
NAPI (Windows x64) 12.69 MiB 12.70 MiB +5.43 KiB (+0.04%)
Trampoline (Windows x64) 7.14 KiB 7.14 KiB +1 B (+0.01%)
Installer (Windows x64) 2.24 MiB 2.24 MiB +25 B (+0.00%)
vp (Windows ARM64) 2.69 MiB 2.69 MiB +2.21 KiB (+0.08%)
NAPI (Windows ARM64) 12.05 MiB 12.05 MiB +6.76 KiB (+0.05%)
Trampoline (Windows ARM64) 6.93 KiB 6.93 KiB +2 B (+0.03%)
Installer (Windows ARM64) 2.14 MiB 2.14 MiB +35 B (+0.00%)

Raw sizes are uncompressed file sizes. gzip sizes recompress each binary at level 9; they are not package or download archive sizes.
The baseline uses published release files, including NAPI packages from npm at the same version. Build versions and toolchains can affect the difference.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Registry bridge build (46ea137)

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c
@voidzero-dev/vite-plus-core 0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c
create-vite-plus 0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/46ea13783f2f09ada4587abf435c6e97848bc97c/packages/cli/install.sh | VP_PR_VERSION=3210 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/46ea13783f2f09ada4587abf435c6e97848bc97c/packages/cli/install-legacy.sh bash
# Windows (PowerShell)
$env:VP_PR_VERSION="3210"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/46ea13783f2f09ada4587abf435c6e97848bc97c/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/46ea13783f2f09ada4587abf435c6e97848bc97c/packages/cli/install.ps1 | iex

Or download the standalone Windows installer built from this commit:

Architecture Installer
x64 vp-setup-x86_64-pc-windows-msvc.exe
Arm64 vp-setup-aarch64-pc-windows-msvc.exe

GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:

.\vp-setup.exe --version "0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c" --registry "https://registry-bridge.viteplus.dev/"

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

Or create a new project from this commit without installing the CLI:

export npm_config_registry=https://registry-bridge.viteplus.dev/ pnpm_config_registry=https://registry-bridge.viteplus.dev/
pnpm create vite-plus@0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c # or: npm create vite-plus@0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c
$env:npm_config_registry="https://registry-bridge.viteplus.dev/"; $env:pnpm_config_registry="https://registry-bridge.viteplus.dev/"
pnpm create vite-plus@0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c # or: npm create vite-plus@0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c

pnpm 11+ reads pnpm_config_registry, npm and older pnpm read npm_config_registry. The new project pins this build, so keep the registry set for later installs, or configure it as below.

Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:

Package manager Registry config
npm / pnpm / Bun .npmrc: registry=https://registry-bridge.viteplus.dev/
Yarn (v2+) .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/"

Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):

{
  "devDependencies": {
    "vite-plus": "0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.46ea13783f2f09ada4587abf435c6e97848bc97c"
  }
}

@github-actions

Copy link
Copy Markdown
Contributor

🐳 Docker preview image

Built from this PR's registry bridge build:

Image Compressed size
ghcr.io/voidzero-dev/vite-plus:pr-3210 218MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-3210 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-3210

Quick check:

docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-3210 vp --version

See docs/guide/docker.md for usage.

@fengmk2
fengmk2 force-pushed the feat/migrate-ts-node-to-vpx branch from 3941778 to 9266201 Compare October 26, 2026 01:50
@fengmk2
fengmk2 force-pushed the feat/migrate-ts-node-to-vpx branch from 9266201 to 46ea137 Compare October 26, 2026 02:11
@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests preview-build Publish this PR's commits to the registry bridge as preview builds test: sfw and removed preview-build Publish this PR's commits to the registry bridge as preview builds labels Oct 26, 2026
@fengmk2
fengmk2 force-pushed the feat/migrate-ts-node-to-vpx branch from 46ea137 to 86b6566 Compare October 26, 2026 05:53

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant