scriptc 0.2.10 → 0.3.0
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.
- package/README.md +3 -3
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -34,13 +34,13 @@ Builds use a bounded persistent cache. Unchanged source can reuse the validated
|
|
|
34
34
|
- `scriptc run <file.ts>` — compile and run
|
|
35
35
|
- `scriptc coverage <file.ts>` — what compiles statically, and why the rest doesn't
|
|
36
36
|
|
|
37
|
-
`scriptc build app.ts --emit=ir|llvm|asm|obj` selects serialized typed IR, textual LLVM IR, target assembly, or a relocatable program object as the one primary artifact. `--emit=exe` is the default. Assembly/object emission uses the matching helper on supported macOS, Linux, and Windows hosts (and produces WASI artifacts when that target is selected). Objects retain undefined `scr_*` runtime references plus the `
|
|
37
|
+
`scriptc build app.ts --emit=ir|llvm|asm|obj` selects serialized typed IR, textual LLVM IR, target assembly, or a relocatable program object as the one primary artifact. `--emit=exe` is the default. Assembly/object emission uses the matching helper on supported macOS, Linux, and Windows hosts (and produces WASI artifacts when that target is selected). Objects retain undefined `scr_*` runtime references plus the `scr_runtime_abi_v14` compatibility marker; they are not library archives. External consumption is experimental and requires the exact matching runtime. `scriptc build app.ts --print=native-link-info -o app.o` prints the versioned JSON target/runtime/link recipe without performing a link. `--emit=asm|obj --sanitize` is rejected until ASan pipeline parity is available.
|
|
38
38
|
|
|
39
39
|
For embedder-hosted modules that are not installed npm packages, coverage can map an exact bare specifier to a local declaration with repeatable `--external-types <specifier=file.d.ts>` options. This is analysis-only: the types unblock application measurement, while runtime module uses remain reported as blockers.
|
|
40
40
|
|
|
41
|
-
No annotations, no dialect, no special stdlib: the same TypeScript you run on Node, type-checked by the real TypeScript compiler. Programs
|
|
41
|
+
No annotations, no dialect, no special stdlib: the same TypeScript you run on Node, type-checked by the real TypeScript compiler. Programs compile to native code; unsupported constructs fail the build with a specific error code and usually a rewrite hint.
|
|
42
42
|
|
|
43
|
-
WebAssembly is available as a production LLVM target: `SCRIPTC_TARGET=wasm32-wasi scriptc build app.ts`. It emits a WASI Preview 1 `.wasm` module, and `scriptc run` supplies a WASI host. The complete executable language tier—including async, generators,
|
|
43
|
+
WebAssembly is available as a production LLVM target: `SCRIPTC_TARGET=wasm32-wasi scriptc build app.ts`. It emits a WASI Preview 1 `.wasm` module, and `scriptc run` supplies a WASI host. The complete executable language tier—including async, generators, and timers—is supported. APIs needing capabilities WASI P1 does not expose (network sockets/fetch, child processes, OS signals, and filesystem watching), sanitizer builds, and native FFI are rejected with `SC3002`. With `--lib --profile`, the target produces a callable Wasm reactor with named host imports and per-instance memory. See [WebAssembly Modules](https://scriptc.dev/wasm) for the embedding contract.
|
|
44
44
|
|
|
45
45
|
Native code can be called through an explicit, link-time C ABI manifest: declare the function signature in TypeScript, bind it to a C symbol, and build with `--ffi <manifest.json>`. See the [Native FFI guide](https://scriptc.dev/ffi).
|
|
46
46
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scriptc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Compile ordinary TypeScript and JavaScript to small, fast native executables — no Node, no V8, no JavaScript engine in the binary",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://scriptc.dev",
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
"node": ">=24"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@scriptc/compiler": "0.
|
|
24
|
+
"@scriptc/compiler": "0.3.0"
|
|
25
25
|
},
|
|
26
26
|
"optionalDependencies": {
|
|
27
|
-
"@scriptc/cli-darwin-arm64": "0.
|
|
28
|
-
"@scriptc/cli-
|
|
29
|
-
"@scriptc/cli-linux-arm64-
|
|
30
|
-
"@scriptc/cli-
|
|
31
|
-
"@scriptc/cli-linux-
|
|
32
|
-
"@scriptc/cli-
|
|
33
|
-
"@scriptc/cli-
|
|
27
|
+
"@scriptc/cli-darwin-arm64": "0.3.0",
|
|
28
|
+
"@scriptc/cli-darwin-x64": "0.3.0",
|
|
29
|
+
"@scriptc/cli-linux-arm64-gnu": "0.3.0",
|
|
30
|
+
"@scriptc/cli-linux-x64-gnu": "0.3.0",
|
|
31
|
+
"@scriptc/cli-linux-arm64-musl": "0.3.0",
|
|
32
|
+
"@scriptc/cli-linux-x64-musl": "0.3.0",
|
|
33
|
+
"@scriptc/cli-win32-x64-msvc": "0.3.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "node ../../node_modules/typescript/bin/tsc -p tsconfig.json",
|