Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/autofix-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 24.x
cache: pnpm

- name: Setup
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 24.x
cache: pnpm

- name: Setup
Expand All @@ -44,7 +44,7 @@ jobs:
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 24.x
cache: pnpm

- name: Setup
Expand All @@ -61,7 +61,7 @@ jobs:

strategy:
matrix:
node: [16.x, 18.x]
node: [22.x, 24.x]
os: [ubuntu-latest, windows-latest, macos-latest]
fail-fast: false

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 24.x

- run: npx changelogithub
env:
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,20 @@
"prepublishOnly": "nr build",
"release": "bumpp package.json packages/*/package.json --commit --push --tag && pnpm publish -r --filter ./packages/*",
"test": "vitest",
"typecheck": "tsc --noEmit"
"typecheck": "tsgo --noEmit"
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify the tsgo command exists and is intended

The typecheck script was changed from tsc --noEmit to tsgo --noEmit. The command tsgo is not a standard TypeScript compiler command. This appears to be a typo or missing dependency.


🏁 Script executed:

#!/bin/bash
# Check if tsgo is a valid command or package
# Search for tsgo in package.json dependencies
cat package.json | jq '.dependencies, .devDependencies' | grep -i tsgo

# Search for any tsgo-related files or imports in the codebase
rg -i "tsgo" --type json --type ts --type js

# Check if this might be a typo for 'tsc'
fd -e json -e ts -e js | xargs grep -l "tsgo"

Length of output: 220


🏁 Script executed:

#!/bin/bash
# Verify if 'tsgo' and '@typescript/native-preview' are published on npm
npm view tsgo version || echo "tsgo not found on npm"
npm view @typescript/native-preview version || echo "@typescript/native-preview not found on npm"

Length of output: 536


Invalid typecheck command: tsgo is not a published package

  • package.json (line 13):
    • Current: "typecheck": "tsgo --noEmit"
    • Issue: tsgo does not exist on npm (E404). This is likely a typo for the standard TypeScript compiler command.
    • Suggestion: change to
      - "typecheck": "tsgo --noEmit"
      + "typecheck": "tsc --noEmit"
  • Dev dependency @typescript/native-preview@7.0.0-dev.20250716.1: this is a preview build and may introduce instability. Confirm that a preview release is acceptable for your CI/type-checking pipeline or consider using a stable TypeScript version instead.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"typecheck": "tsgo --noEmit"
"typecheck": "tsc --noEmit"
🤖 Prompt for AI Agents
In package.json at line 13, the "typecheck" script uses "tsgo --noEmit", which
is an invalid command because "tsgo" is not a published package. Replace "tsgo"
with the correct TypeScript compiler command "tsc" to fix the script. Also,
review the use of the preview version of @typescript/native-preview in dev
dependencies and consider switching to a stable TypeScript version if stability
is a concern.

},
"devDependencies": {
"@antfu/ni": "^25.0.0",
"@so1ve/eslint-config": "^3.7.0",
"@so1ve/prettier-config": "^3.7.0",
"@types/node": "^24.0.13",
"@typescript/native-preview": "7.0.0-dev.20250711.1",
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Consider the stability implications of using a dev preview package

The addition of @typescript/native-preview at version 7.0.0-dev.20250711.1 is a development preview that may have stability issues or breaking changes.


🌐 Web query:

What is @typescript/native-preview package and is version 7.0.0-dev.20250711.1 stable for production use?

💡 Result:

The @typescript/native-preview package is a preview build of the native TypeScript compiler and toolset, ported from JavaScript to Go, aimed at delivering significantly faster build times and lower memory usage compared to the traditional Node.js-based TypeScript compiler[1][3][6]. It provides a new executable, tsgo, which works similarly to tsc and is designed for use in testing and experimentation while development proceeds toward full feature parity and stability[1][2][5][6].

As of mid-2025, @typescript/native-preview remains in an early, experimental state. The project’s maintainers, including the TypeScript team at Microsoft, repeatedly emphasize that this package:

  • Is intended for testing and experimentation only
  • Lacks full feature parity with the canonical TypeScript toolchain (some features are missing or only partially implemented; see the GitHub status table for details[2])
  • Is not recommended for production use at this time[5]

"This package is intended for testing and experimentation. It will eventually be replaced by the official TypeScript package... The native port of TypeScript is still in progress. We expect many gaps..."[5]

The 7.0.0-dev.20250711.1 version is a development/nightly build, as indicated by the dev tag and date. Nightly or -dev versions are inherently unstable and may contain regressions, incomplete features, or breaking changes by design[4][5]. Stable production use is only advisable when the TypeScript team explicitly announces general availability and removes the preview/dev labels.

In summary:
@typescript/native-preview is a preview, not stable, package. Version 7.0.0-dev.20250711.1 is not stable or recommended for production use; it is for early adopters and testers only. For production deployments, continue to use the official typescript package until a formal stable release is announced[1][5].

Citations:


Avoid using the experimental @typescript/native-preview in production

The 7.0.0-dev.20250711.1 build is an early, feature-incomplete preview ported to Go and is not recommended for production use. For stable, fully supported compilations, switch to the official typescript package—or at minimum move this preview into devDependencies and pin a stable TypeScript release for your production builds.

  • package.json (dependencies, around line 20)

Suggested change:

- "@typescript/native-preview": "7.0.0-dev.20250711.1",
+ "typescript": "^5.x"          // use the official stable TypeScript compiler

Optionally, if you still need to experiment with @typescript/native-preview:

- (in "dependencies")
+ (move to "devDependencies")
  "@typescript/native-preview": "7.0.0-dev.20250711.1",

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In package.json at line 20, the dependency "@typescript/native-preview" is an
experimental and unstable package not suitable for production. To fix this, move
"@typescript/native-preview" from "dependencies" to "devDependencies" and add
the stable "typescript" package version to "dependencies" to ensure production
builds use a stable TypeScript release.

"@vue-macros/test-utils": "^2.0.0",
"bumpp": "^10.2.0",
"eslint": "^9.30.1",
"prettier": "^3.6.2",
"tsdown": "^0.12.9",
"typescript": "^5.8.3",
"unbuild": "^3.5.0",
"vite": "^7.0.4",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4",
Expand Down
7 changes: 0 additions & 7 deletions packages/common/build.config.ts

This file was deleted.

22 changes: 12 additions & 10 deletions packages/common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@
"name": "@vue.ts/common",
"version": "0.6.0",
"author": "Ray <i@mk1.io> (https://github.com/so1ve)",
"description": "",
"keywords": [],
"type": "module",
"description": "Utils used by vue.ts",
"keywords": [
"utils",
"vue.ts"
],
"homepage": "https://github.com/so1ve/vue.ts/tree/main/packages/common#readme",
"repository": {
"type": "git",
Expand All @@ -16,23 +20,21 @@
"license": "MIT",
"sideEffects": false,
"exports": {
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
}
".": "./dist/index.js"
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "unbuild",
"build": "tsdown",
"prepublishOnly": "nr build",
"stub": "unbuild --stub"
"watch": "tsdown --watch"
},
"dependencies": {
"@rollup/pluginutils": "^5.2.0"
Expand Down
1 change: 1 addition & 0 deletions packages/common/tsdown.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "../../tsdown.config.ts";
19 changes: 19 additions & 0 deletions packages/complex-types/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,25 @@ export default defineConfig({

<br></details>

<details>
<summary>Rolldown</summary><br>

```ts
// rolldown.config.js
import VueComplexTypes from "@vue.ts/complex-types/rolldown";

export default {
plugins: [
VueComplexTypes({
/* options */
}),
// other plugins
],
};
```

<br></details>

<details>
<summary>Rollup</summary><br>

Expand Down
15 changes: 0 additions & 15 deletions packages/complex-types/build.config.ts

This file was deleted.

98 changes: 56 additions & 42 deletions packages/complex-types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@
"name": "@vue.ts/complex-types",
"version": "0.6.0",
"author": "Ray <i@mk1.io> (@so1ve)",
"type": "module",
"description": "Resolve complex types in Vue SFCs.",
"keywords": [
"astro",
"farm",
"nuxt",
"rolldown",
"rollup",
"rspack",
"transform",
"typescript",
"unplugin",
"vite",
"vue",
"vue.ts",
"webpack"
],
"homepage": "https://github.com/so1ve/vue.ts/tree/main/packages/language#readme",
Expand All @@ -27,46 +31,22 @@
"license": "MIT",
"sideEffects": false,
"exports": {
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
},
".": "./dist/index.js",
"./*": "./*",
"./astro": {
"require": "./dist/astro.cjs",
"import": "./dist/astro.mjs"
},
"./esbuild": {
"require": "./dist/esbuild.cjs",
"import": "./dist/esbuild.mjs"
},
"./nuxt": {
"require": "./dist/nuxt.cjs",
"import": "./dist/nuxt.mjs"
},
"./rollup": {
"require": "./dist/rollup.cjs",
"import": "./dist/rollup.mjs"
},
"./rspack": {
"require": "./dist/rspack.cjs",
"import": "./dist/rspack.mjs"
},
"./types": {
"require": "./dist/types.cjs",
"import": "./dist/types.mjs"
},
"./vite": {
"require": "./dist/vite.cjs",
"import": "./dist/vite.mjs"
},
"./webpack": {
"require": "./dist/webpack.cjs",
"import": "./dist/webpack.mjs"
}
"./astro": "./dist/astro.js",
"./esbuild": "./dist/esbuild.js",
"./farm": "./dist/farm.js",
"./nuxt": "./dist/nuxt.js",
"./rolldown": "./dist/rolldown.js",
"./rollup": "./dist/rollup.js",
"./rspack": "./dist/rspack.js",
"./types": "./dist/types.js",
"./vite": "./dist/vite.js",
"./webpack": "./dist/webpack.js"
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "dist/index.d.ts",
"typesVersions": {
"*": {
"*": [
Expand All @@ -82,9 +62,9 @@
"access": "public"
},
"scripts": {
"build": "unbuild",
"build": "tsdown",
"prepublishOnly": "nr build",
"stub": "unbuild --stub"
"watch": "tsdown --watch"
},
"dependencies": {
"@nuxt/kit": "^3.17.6",
Expand All @@ -96,13 +76,47 @@
"devDependencies": {
"@nuxt/schema": "^3.17.6",
"@vue-macros/better-define": "^1.11.4",
"rolldown": "1.0.0-beta.27",
"rollup": "^4.44.2",
"unbuild": "^3.5.0",
"vite": "^7.0.4",
"webpack": "^5.100.1"
},
"peerDependencies": {
"@farmfe/core": ">=1",
"@nuxt/kit": "^3 || ^4",
"@nuxt/schema": "^3 || ^4",
"esbuild": "*",
"rolldown": "*",
"rollup": "^3",
"typescript": "^5.2.2",
"vue": "^3.3.7"
"vite": ">=3",
"vue": "^3.3.7",
"webpack": "^4 || ^5"
},
"peerDependenciesMeta": {
"@farmfe/core": {
"optional": true
},
"@nuxt/kit": {
"optional": true
},
"@nuxt/schema": {
"optional": true
},
"esbuild": {
"optional": true
},
"rolldown": {
"optional": true
},
"rollup": {
"optional": true
},
"vite": {
"optional": true
},
"webpack": {
"optional": true
}
}
}
10 changes: 7 additions & 3 deletions packages/complex-types/src/astro.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
import type { Options } from "./types";
import unplugin from ".";
import { createVitePlugin } from "unplugin";

import type { Options } from "./core/types";
import { unpluginFactory } from ".";

export default (options: Options) => ({
name: "@vue.ts/complex-types",
hooks: {
"astro:config:setup": async (astro: any) => {
astro.config.vite.plugins ??= [];
astro.config.vite.plugins.push(unplugin.vite(options));
astro.config.vite.plugins.push(
createVitePlugin(unpluginFactory)(options),
);
},
},
});
Loading
Loading