@vizejs/native 0.0.1-alpha.7 → 0.0.1-alpha.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +42 -0
  2. package/index.d.ts +0 -99
  3. package/index.js +47 -37
  4. package/package.json +26 -27
package/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # @vizejs/native
2
+
3
+ Native Node.js bindings for the Vize Vue compiler via NAPI.
4
+
5
+ ## Features
6
+
7
+ - **Maximum Performance** - Native Rust speed in Node.js
8
+ - **Multi-threaded** - Parallel compilation support
9
+ - **Low Overhead** - Direct NAPI bindings, no IPC
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install @vizejs/native
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ```ts
20
+ import { compile, compileFiles } from '@vizejs/native'
21
+
22
+ // Single file
23
+ const result = compile(source, { filename: 'App.vue' })
24
+
25
+ // Multiple files (parallel)
26
+ const results = compileFiles([
27
+ 'src/App.vue',
28
+ 'src/components/Button.vue'
29
+ ], { threads: 4 })
30
+ ```
31
+
32
+ ## Platform Support
33
+
34
+ | Platform | Architecture | Status |
35
+ |----------|--------------|--------|
36
+ | Linux | x64, arm64 | ✓ |
37
+ | macOS | x64, arm64 | ✓ |
38
+ | Windows | x64 | ✓ |
39
+
40
+ ## License
41
+
42
+ MIT
package/index.d.ts CHANGED
@@ -1,99 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
-
4
- /* auto-generated by NAPI-RS */
5
-
6
- /** Compile Vue template to VDom render function */
7
- export declare function compile(template: string, options?: CompilerOptions | undefined | null): CompileResult
8
- /** Compile Vue template to Vapor mode */
9
- export declare function compileVapor(template: string, options?: CompilerOptions | undefined | null): CompileResult
10
- /** Parse template to AST only */
11
- export declare function parseTemplate(template: string, options?: CompilerOptions | undefined | null): any
12
- /** SFC parse options for NAPI */
13
- export interface SfcParseOptionsNapi {
14
- filename?: string
15
- }
16
- /** SFC compile options for NAPI */
17
- export interface SfcCompileOptionsNapi {
18
- filename?: string
19
- sourceMap?: boolean
20
- ssr?: boolean
21
- }
22
- /** SFC compile result for NAPI */
23
- export interface SfcCompileResultNapi {
24
- /** Generated JavaScript code */
25
- code: string
26
- /** Generated CSS (if any) */
27
- css?: string
28
- /** Compilation errors */
29
- errors: Array<string>
30
- /** Compilation warnings */
31
- warnings: Array<string>
32
- }
33
- /** Parse SFC (.vue file) - returns lightweight result for speed */
34
- export declare function parseSfc(source: string, options?: SfcParseOptionsNapi | undefined | null): object
35
- /** Compile SFC (.vue file) to JavaScript - main use case */
36
- export declare function compileSfc(source: string, options?: SfcCompileOptionsNapi | undefined | null): SfcCompileResultNapi
37
- /** Batch compile options for NAPI */
38
- export interface BatchCompileOptionsNapi {
39
- ssr?: boolean
40
- threads?: number
41
- }
42
- /** Batch compile result for NAPI */
43
- export interface BatchCompileResultNapi {
44
- /** Number of files compiled successfully */
45
- success: number
46
- /** Number of files that failed */
47
- failed: number
48
- /** Total input bytes */
49
- inputBytes: number
50
- /** Total output bytes */
51
- outputBytes: number
52
- /** Compilation time in milliseconds */
53
- timeMs: number
54
- }
55
- /** Batch compile SFC files matching a glob pattern (native multithreading) */
56
- export declare function compileSfcBatch(pattern: string, options?: BatchCompileOptionsNapi | undefined | null): BatchCompileResultNapi
57
- /** Compiler options for bindings */
58
- export interface CompilerOptions {
59
- /** Output mode: "module" or "function" */
60
- mode?: string
61
- /** Whether to prefix identifiers */
62
- prefixIdentifiers?: boolean
63
- /** Whether to hoist static nodes */
64
- hoistStatic?: boolean
65
- /** Whether to cache event handlers */
66
- cacheHandlers?: boolean
67
- /** Scope ID for scoped CSS */
68
- scopeId?: string
69
- /** Whether in SSR mode */
70
- ssr?: boolean
71
- /** Whether to generate source map */
72
- sourceMap?: boolean
73
- /** Filename for source map */
74
- filename?: string
75
- /** Output mode: "vdom" or "vapor" */
76
- outputMode?: string
77
- /** Whether the template contains TypeScript */
78
- isTs?: boolean
79
- /**
80
- * Script extension handling: "preserve" (keep TypeScript) or "downcompile" (transpile to JS)
81
- * Defaults to "downcompile"
82
- */
83
- scriptExt?: string
84
- }
85
- /** Compile result */
86
- export interface CompileResult {
87
- /** Generated code */
88
- code: string
89
- /** Preamble code (imports) */
90
- preamble: string
91
- /** AST (serialized as JSON) */
92
- ast: any
93
- /** Source map */
94
- map?: any
95
- /** Used helpers */
96
- helpers: Array<string>
97
- /** Template strings for Vapor mode static parts */
98
- templates?: Array<string>
99
- }
package/index.js CHANGED
@@ -32,10 +32,10 @@ switch (platform) {
32
32
  case 'android':
33
33
  switch (arch) {
34
34
  case 'arm64':
35
- localFileExisted = existsSync(join(__dirname, 'vize-bindings.android-arm64.node'))
35
+ localFileExisted = existsSync(join(__dirname, 'vize-vitrine.android-arm64.node'))
36
36
  try {
37
37
  if (localFileExisted) {
38
- nativeBinding = require('./vize-bindings.android-arm64.node')
38
+ nativeBinding = require('./vize-vitrine.android-arm64.node')
39
39
  } else {
40
40
  nativeBinding = require('@vizejs/native-android-arm64')
41
41
  }
@@ -44,10 +44,10 @@ switch (platform) {
44
44
  }
45
45
  break
46
46
  case 'arm':
47
- localFileExisted = existsSync(join(__dirname, 'vize-bindings.android-arm-eabi.node'))
47
+ localFileExisted = existsSync(join(__dirname, 'vize-vitrine.android-arm-eabi.node'))
48
48
  try {
49
49
  if (localFileExisted) {
50
- nativeBinding = require('./vize-bindings.android-arm-eabi.node')
50
+ nativeBinding = require('./vize-vitrine.android-arm-eabi.node')
51
51
  } else {
52
52
  nativeBinding = require('@vizejs/native-android-arm-eabi')
53
53
  }
@@ -63,11 +63,11 @@ switch (platform) {
63
63
  switch (arch) {
64
64
  case 'x64':
65
65
  localFileExisted = existsSync(
66
- join(__dirname, 'vize-bindings.win32-x64-msvc.node')
66
+ join(__dirname, 'vize-vitrine.win32-x64-msvc.node')
67
67
  )
68
68
  try {
69
69
  if (localFileExisted) {
70
- nativeBinding = require('./vize-bindings.win32-x64-msvc.node')
70
+ nativeBinding = require('./vize-vitrine.win32-x64-msvc.node')
71
71
  } else {
72
72
  nativeBinding = require('@vizejs/native-win32-x64-msvc')
73
73
  }
@@ -77,11 +77,11 @@ switch (platform) {
77
77
  break
78
78
  case 'ia32':
79
79
  localFileExisted = existsSync(
80
- join(__dirname, 'vize-bindings.win32-ia32-msvc.node')
80
+ join(__dirname, 'vize-vitrine.win32-ia32-msvc.node')
81
81
  )
82
82
  try {
83
83
  if (localFileExisted) {
84
- nativeBinding = require('./vize-bindings.win32-ia32-msvc.node')
84
+ nativeBinding = require('./vize-vitrine.win32-ia32-msvc.node')
85
85
  } else {
86
86
  nativeBinding = require('@vizejs/native-win32-ia32-msvc')
87
87
  }
@@ -91,11 +91,11 @@ switch (platform) {
91
91
  break
92
92
  case 'arm64':
93
93
  localFileExisted = existsSync(
94
- join(__dirname, 'vize-bindings.win32-arm64-msvc.node')
94
+ join(__dirname, 'vize-vitrine.win32-arm64-msvc.node')
95
95
  )
96
96
  try {
97
97
  if (localFileExisted) {
98
- nativeBinding = require('./vize-bindings.win32-arm64-msvc.node')
98
+ nativeBinding = require('./vize-vitrine.win32-arm64-msvc.node')
99
99
  } else {
100
100
  nativeBinding = require('@vizejs/native-win32-arm64-msvc')
101
101
  }
@@ -108,10 +108,10 @@ switch (platform) {
108
108
  }
109
109
  break
110
110
  case 'darwin':
111
- localFileExisted = existsSync(join(__dirname, 'vize-bindings.darwin-universal.node'))
111
+ localFileExisted = existsSync(join(__dirname, 'vize-vitrine.darwin-universal.node'))
112
112
  try {
113
113
  if (localFileExisted) {
114
- nativeBinding = require('./vize-bindings.darwin-universal.node')
114
+ nativeBinding = require('./vize-vitrine.darwin-universal.node')
115
115
  } else {
116
116
  nativeBinding = require('@vizejs/native-darwin-universal')
117
117
  }
@@ -119,10 +119,10 @@ switch (platform) {
119
119
  } catch {}
120
120
  switch (arch) {
121
121
  case 'x64':
122
- localFileExisted = existsSync(join(__dirname, 'vize-bindings.darwin-x64.node'))
122
+ localFileExisted = existsSync(join(__dirname, 'vize-vitrine.darwin-x64.node'))
123
123
  try {
124
124
  if (localFileExisted) {
125
- nativeBinding = require('./vize-bindings.darwin-x64.node')
125
+ nativeBinding = require('./vize-vitrine.darwin-x64.node')
126
126
  } else {
127
127
  nativeBinding = require('@vizejs/native-darwin-x64')
128
128
  }
@@ -132,11 +132,11 @@ switch (platform) {
132
132
  break
133
133
  case 'arm64':
134
134
  localFileExisted = existsSync(
135
- join(__dirname, 'vize-bindings.darwin-arm64.node')
135
+ join(__dirname, 'vize-vitrine.darwin-arm64.node')
136
136
  )
137
137
  try {
138
138
  if (localFileExisted) {
139
- nativeBinding = require('./vize-bindings.darwin-arm64.node')
139
+ nativeBinding = require('./vize-vitrine.darwin-arm64.node')
140
140
  } else {
141
141
  nativeBinding = require('@vizejs/native-darwin-arm64')
142
142
  }
@@ -152,10 +152,10 @@ switch (platform) {
152
152
  if (arch !== 'x64') {
153
153
  throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
154
154
  }
155
- localFileExisted = existsSync(join(__dirname, 'vize-bindings.freebsd-x64.node'))
155
+ localFileExisted = existsSync(join(__dirname, 'vize-vitrine.freebsd-x64.node'))
156
156
  try {
157
157
  if (localFileExisted) {
158
- nativeBinding = require('./vize-bindings.freebsd-x64.node')
158
+ nativeBinding = require('./vize-vitrine.freebsd-x64.node')
159
159
  } else {
160
160
  nativeBinding = require('@vizejs/native-freebsd-x64')
161
161
  }
@@ -168,11 +168,11 @@ switch (platform) {
168
168
  case 'x64':
169
169
  if (isMusl()) {
170
170
  localFileExisted = existsSync(
171
- join(__dirname, 'vize-bindings.linux-x64-musl.node')
171
+ join(__dirname, 'vize-vitrine.linux-x64-musl.node')
172
172
  )
173
173
  try {
174
174
  if (localFileExisted) {
175
- nativeBinding = require('./vize-bindings.linux-x64-musl.node')
175
+ nativeBinding = require('./vize-vitrine.linux-x64-musl.node')
176
176
  } else {
177
177
  nativeBinding = require('@vizejs/native-linux-x64-musl')
178
178
  }
@@ -181,11 +181,11 @@ switch (platform) {
181
181
  }
182
182
  } else {
183
183
  localFileExisted = existsSync(
184
- join(__dirname, 'vize-bindings.linux-x64-gnu.node')
184
+ join(__dirname, 'vize-vitrine.linux-x64-gnu.node')
185
185
  )
186
186
  try {
187
187
  if (localFileExisted) {
188
- nativeBinding = require('./vize-bindings.linux-x64-gnu.node')
188
+ nativeBinding = require('./vize-vitrine.linux-x64-gnu.node')
189
189
  } else {
190
190
  nativeBinding = require('@vizejs/native-linux-x64-gnu')
191
191
  }
@@ -197,11 +197,11 @@ switch (platform) {
197
197
  case 'arm64':
198
198
  if (isMusl()) {
199
199
  localFileExisted = existsSync(
200
- join(__dirname, 'vize-bindings.linux-arm64-musl.node')
200
+ join(__dirname, 'vize-vitrine.linux-arm64-musl.node')
201
201
  )
202
202
  try {
203
203
  if (localFileExisted) {
204
- nativeBinding = require('./vize-bindings.linux-arm64-musl.node')
204
+ nativeBinding = require('./vize-vitrine.linux-arm64-musl.node')
205
205
  } else {
206
206
  nativeBinding = require('@vizejs/native-linux-arm64-musl')
207
207
  }
@@ -210,11 +210,11 @@ switch (platform) {
210
210
  }
211
211
  } else {
212
212
  localFileExisted = existsSync(
213
- join(__dirname, 'vize-bindings.linux-arm64-gnu.node')
213
+ join(__dirname, 'vize-vitrine.linux-arm64-gnu.node')
214
214
  )
215
215
  try {
216
216
  if (localFileExisted) {
217
- nativeBinding = require('./vize-bindings.linux-arm64-gnu.node')
217
+ nativeBinding = require('./vize-vitrine.linux-arm64-gnu.node')
218
218
  } else {
219
219
  nativeBinding = require('@vizejs/native-linux-arm64-gnu')
220
220
  }
@@ -226,11 +226,11 @@ switch (platform) {
226
226
  case 'arm':
227
227
  if (isMusl()) {
228
228
  localFileExisted = existsSync(
229
- join(__dirname, 'vize-bindings.linux-arm-musleabihf.node')
229
+ join(__dirname, 'vize-vitrine.linux-arm-musleabihf.node')
230
230
  )
231
231
  try {
232
232
  if (localFileExisted) {
233
- nativeBinding = require('./vize-bindings.linux-arm-musleabihf.node')
233
+ nativeBinding = require('./vize-vitrine.linux-arm-musleabihf.node')
234
234
  } else {
235
235
  nativeBinding = require('@vizejs/native-linux-arm-musleabihf')
236
236
  }
@@ -239,11 +239,11 @@ switch (platform) {
239
239
  }
240
240
  } else {
241
241
  localFileExisted = existsSync(
242
- join(__dirname, 'vize-bindings.linux-arm-gnueabihf.node')
242
+ join(__dirname, 'vize-vitrine.linux-arm-gnueabihf.node')
243
243
  )
244
244
  try {
245
245
  if (localFileExisted) {
246
- nativeBinding = require('./vize-bindings.linux-arm-gnueabihf.node')
246
+ nativeBinding = require('./vize-vitrine.linux-arm-gnueabihf.node')
247
247
  } else {
248
248
  nativeBinding = require('@vizejs/native-linux-arm-gnueabihf')
249
249
  }
@@ -255,11 +255,11 @@ switch (platform) {
255
255
  case 'riscv64':
256
256
  if (isMusl()) {
257
257
  localFileExisted = existsSync(
258
- join(__dirname, 'vize-bindings.linux-riscv64-musl.node')
258
+ join(__dirname, 'vize-vitrine.linux-riscv64-musl.node')
259
259
  )
260
260
  try {
261
261
  if (localFileExisted) {
262
- nativeBinding = require('./vize-bindings.linux-riscv64-musl.node')
262
+ nativeBinding = require('./vize-vitrine.linux-riscv64-musl.node')
263
263
  } else {
264
264
  nativeBinding = require('@vizejs/native-linux-riscv64-musl')
265
265
  }
@@ -268,11 +268,11 @@ switch (platform) {
268
268
  }
269
269
  } else {
270
270
  localFileExisted = existsSync(
271
- join(__dirname, 'vize-bindings.linux-riscv64-gnu.node')
271
+ join(__dirname, 'vize-vitrine.linux-riscv64-gnu.node')
272
272
  )
273
273
  try {
274
274
  if (localFileExisted) {
275
- nativeBinding = require('./vize-bindings.linux-riscv64-gnu.node')
275
+ nativeBinding = require('./vize-vitrine.linux-riscv64-gnu.node')
276
276
  } else {
277
277
  nativeBinding = require('@vizejs/native-linux-riscv64-gnu')
278
278
  }
@@ -283,11 +283,11 @@ switch (platform) {
283
283
  break
284
284
  case 's390x':
285
285
  localFileExisted = existsSync(
286
- join(__dirname, 'vize-bindings.linux-s390x-gnu.node')
286
+ join(__dirname, 'vize-vitrine.linux-s390x-gnu.node')
287
287
  )
288
288
  try {
289
289
  if (localFileExisted) {
290
- nativeBinding = require('./vize-bindings.linux-s390x-gnu.node')
290
+ nativeBinding = require('./vize-vitrine.linux-s390x-gnu.node')
291
291
  } else {
292
292
  nativeBinding = require('@vizejs/native-linux-s390x-gnu')
293
293
  }
@@ -310,11 +310,21 @@ if (!nativeBinding) {
310
310
  throw new Error(`Failed to load native binding`)
311
311
  }
312
312
 
313
- const { compile, compileVapor, parseTemplate, parseSfc, compileSfc, compileSfcBatch } = nativeBinding
313
+ const { typeCheck, getTypeCheckCapabilities, typeCheckBatch, compile, compileVapor, parseTemplate, parseSfc, compileSfc, compileSfcBatch, compileSfcBatchWithResults, parseArt, artToCsf, generateArtDoc, generateArtCatalog, generateArtDocsBatch, generateArtPalette } = nativeBinding
314
314
 
315
+ module.exports.typeCheck = typeCheck
316
+ module.exports.getTypeCheckCapabilities = getTypeCheckCapabilities
317
+ module.exports.typeCheckBatch = typeCheckBatch
315
318
  module.exports.compile = compile
316
319
  module.exports.compileVapor = compileVapor
317
320
  module.exports.parseTemplate = parseTemplate
318
321
  module.exports.parseSfc = parseSfc
319
322
  module.exports.compileSfc = compileSfc
320
323
  module.exports.compileSfcBatch = compileSfcBatch
324
+ module.exports.compileSfcBatchWithResults = compileSfcBatchWithResults
325
+ module.exports.parseArt = parseArt
326
+ module.exports.artToCsf = artToCsf
327
+ module.exports.generateArtDoc = generateArtDoc
328
+ module.exports.generateArtCatalog = generateArtCatalog
329
+ module.exports.generateArtDocsBatch = generateArtDocsBatch
330
+ module.exports.generateArtPalette = generateArtPalette
package/package.json CHANGED
@@ -1,35 +1,30 @@
1
1
  {
2
2
  "name": "@vizejs/native",
3
- "version": "0.0.1-alpha.7",
3
+ "version": "0.0.1-alpha.71",
4
4
  "description": "High-performance Vue.js compiler - Native bindings",
5
5
  "publishConfig": {
6
- "provenance": false,
6
+ "provenance": true,
7
7
  "access": "public"
8
8
  },
9
9
  "main": "index.js",
10
10
  "types": "index.d.ts",
11
11
  "napi": {
12
- "name": "vize-bindings",
13
- "triples": {
14
- "defaults": true,
15
- "additional": [
16
- "x86_64-unknown-linux-musl",
17
- "aarch64-unknown-linux-gnu",
18
- "aarch64-unknown-linux-musl",
19
- "aarch64-apple-darwin",
20
- "aarch64-pc-windows-msvc"
21
- ]
22
- }
12
+ "binaryName": "vize-vitrine",
13
+ "targets": [
14
+ "x86_64-apple-darwin",
15
+ "aarch64-apple-darwin",
16
+ "x86_64-pc-windows-msvc",
17
+ "aarch64-pc-windows-msvc",
18
+ "x86_64-unknown-linux-gnu",
19
+ "x86_64-unknown-linux-musl",
20
+ "aarch64-unknown-linux-gnu",
21
+ "aarch64-unknown-linux-musl"
22
+ ]
23
23
  },
24
24
  "files": [
25
25
  "index.js",
26
26
  "index.d.ts"
27
27
  ],
28
- "scripts": {
29
- "build": "napi build --platform --release --cargo-cwd=../../crates/vize_vitrine --cargo-name=vize_bindings",
30
- "build:debug": "napi build --platform --cargo-cwd=../../crates/vize_vitrine --cargo-name=vize_bindings",
31
- "prepublishOnly": "napi prepublish -t npm"
32
- },
33
28
  "repository": {
34
29
  "type": "git",
35
30
  "url": "https://github.com/ubugeeei/vize"
@@ -44,16 +39,20 @@
44
39
  ],
45
40
  "license": "MIT",
46
41
  "devDependencies": {
47
- "@napi-rs/cli": "^2.18.0"
42
+ "@napi-rs/cli": "^3.0.0"
48
43
  },
49
44
  "optionalDependencies": {
50
- "@vizejs/native-win32-x64-msvc": "0.0.1-alpha.7",
51
- "@vizejs/native-darwin-x64": "0.0.1-alpha.7",
52
- "@vizejs/native-linux-x64-gnu": "0.0.1-alpha.7",
53
- "@vizejs/native-linux-x64-musl": "0.0.1-alpha.7",
54
- "@vizejs/native-linux-arm64-gnu": "0.0.1-alpha.7",
55
- "@vizejs/native-linux-arm64-musl": "0.0.1-alpha.7",
56
- "@vizejs/native-darwin-arm64": "0.0.1-alpha.7",
57
- "@vizejs/native-win32-arm64-msvc": "0.0.1-alpha.7"
45
+ "@vizejs/native-darwin-x64": "0.0.1-alpha.71",
46
+ "@vizejs/native-darwin-arm64": "0.0.1-alpha.71",
47
+ "@vizejs/native-win32-x64-msvc": "0.0.1-alpha.71",
48
+ "@vizejs/native-win32-arm64-msvc": "0.0.1-alpha.71",
49
+ "@vizejs/native-linux-x64-gnu": "0.0.1-alpha.71",
50
+ "@vizejs/native-linux-x64-musl": "0.0.1-alpha.71",
51
+ "@vizejs/native-linux-arm64-gnu": "0.0.1-alpha.71",
52
+ "@vizejs/native-linux-arm64-musl": "0.0.1-alpha.71"
53
+ },
54
+ "scripts": {
55
+ "build": "napi build --platform --release --manifest-path ../../crates/vize_vitrine/Cargo.toml -p vize_vitrine --features napi --output-dir .",
56
+ "build:debug": "napi build --platform --manifest-path ../../crates/vize_vitrine/Cargo.toml -p vize_vitrine --features napi --output-dir ."
58
57
  }
59
58
  }