scriptc 0.0.13 → 0.0.15
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 +2 -0
- package/dist/main.js +74 -30
- package/dist/main.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -32,4 +32,6 @@ Requires clang on the PATH (Xcode Command Line Tools on macOS, `clang` package o
|
|
|
32
32
|
|
|
33
33
|
No annotations, no dialect, no special stdlib: the same TypeScript you run on Node, type-checked by the real TypeScript compiler. Programs outside the static tier can opt into `--dynamic`, which embeds a small JavaScript engine (~620KB) for the parts that can't be static; everything else fails the build with a specific error code and usually a rewrite hint.
|
|
34
34
|
|
|
35
|
+
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).
|
|
36
|
+
|
|
35
37
|
Docs: [scriptc.dev](https://scriptc.dev)
|
package/dist/main.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import { rmSync } from "node:fs";
|
|
3
|
+
import { readFileSync, rmSync } from "node:fs";
|
|
4
4
|
import { basename, dirname, join, resolve } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { parseArgs } from "node:util";
|
|
6
7
|
import { analyze, compile, compileC, compileLibrary, renderAll, renderCoverage, resolveProvenanceSources, setProvenanceSources } from "@scriptc/compiler";
|
|
7
8
|
const USAGE = `scriptc — TypeScript/JavaScript to native executables (experimental)
|
|
@@ -20,12 +21,13 @@ Usage:
|
|
|
20
21
|
|
|
21
22
|
Options:
|
|
22
23
|
-o, --out <path> output executable path (default: .scriptc/<name>)
|
|
23
|
-
--backend <b> code generator
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
program
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
--backend <b> code generator. llvm is the default and the output that
|
|
25
|
+
ships; c emits readable C for inspecting what the
|
|
26
|
+
compiler produced, and program behavior is identical
|
|
27
|
+
either way. A program outside the LLVM tier still
|
|
28
|
+
builds — the default lane emits C for it and a one-line
|
|
29
|
+
stderr note names the construct — while an explicit
|
|
30
|
+
--backend llvm fails with that construct named
|
|
29
31
|
--from-c treat input as a C (or .ll) file (toolchain plumbing/debugging)
|
|
30
32
|
--keep-c keep the generated program TU next to the executable
|
|
31
33
|
(default; the .ll — or the .c under --backend=c or
|
|
@@ -34,6 +36,8 @@ Options:
|
|
|
34
36
|
--emit-ir also write the IR as JSON next to the executable
|
|
35
37
|
--sanitize build with ASan + runtime RC audit
|
|
36
38
|
--dynamic embed the dynamic engine (adds ~620KB; static stays the default)
|
|
39
|
+
--ffi <file> bind signature-only TypeScript declarations to native
|
|
40
|
+
C symbols and link the manifest's archives/libraries
|
|
37
41
|
--npm-static <pkg[,pkg…]|auto>
|
|
38
42
|
compile the named npm packages' shipped JS statically as
|
|
39
43
|
program modules (repeatable; "auto" opts in every eligible
|
|
@@ -48,7 +52,18 @@ Options:
|
|
|
48
52
|
usable attestation keep the island path (a note, never
|
|
49
53
|
a failure)
|
|
50
54
|
-h, --help show this help
|
|
55
|
+
-v, --version print the version
|
|
51
56
|
`;
|
|
57
|
+
/** The version of the installed package. Read from the manifest rather than
|
|
58
|
+
* baked in by the build, so a stamped release and a source checkout answer
|
|
59
|
+
* the same way. */
|
|
60
|
+
function version() {
|
|
61
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
62
|
+
// dist/main.js at install time, src/main.ts under tsx: the manifest is
|
|
63
|
+
// one level up from either.
|
|
64
|
+
const manifest = JSON.parse(readFileSync(join(here, "..", "package.json"), "utf8"));
|
|
65
|
+
return manifest.version ?? "unknown";
|
|
66
|
+
}
|
|
52
67
|
/* The exit discipline: NEVER process.exit() after writing output. stdout/
|
|
53
68
|
* stderr to a PIPE are async streams — process.exit() drops whatever libuv
|
|
54
69
|
* hasn't flushed yet, which truncates large diagnostic renders at the pipe
|
|
@@ -66,27 +81,47 @@ function fail(msg) {
|
|
|
66
81
|
process.stderr.write(msg + "\n");
|
|
67
82
|
throw new CliExit(1);
|
|
68
83
|
}
|
|
84
|
+
/** parseArgs, with its throw turned into the CLI's own one-line error.
|
|
85
|
+
* Unparseable arguments are a USER error — an unknown flag or a missing
|
|
86
|
+
* value used to reach the top level as an uncaught ERR_PARSE_ARGS_* and
|
|
87
|
+
* print a Node stack trace over the user's terminal. */
|
|
88
|
+
function parseCli() {
|
|
89
|
+
try {
|
|
90
|
+
return parseArgs({ options: CLI_OPTIONS, allowPositionals: true, allowNegative: true });
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
// parseArgs appends a paragraph about `--` and positionals to the
|
|
94
|
+
// unknown-option message; the first sentence is the part that names
|
|
95
|
+
// what was wrong, and USAGE below already covers what was meant.
|
|
96
|
+
const raw = err instanceof Error ? err.message : String(err);
|
|
97
|
+
const msg = raw.split("\n")[0].split(". ")[0];
|
|
98
|
+
fail(`scriptc: ${msg}\n\n${USAGE}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const CLI_OPTIONS = {
|
|
102
|
+
out: { type: "string", short: "o" },
|
|
103
|
+
// No parseArgs default: unset means the compiler's default lane
|
|
104
|
+
// (LLVM with the transparent C fallback); an explicit value pins.
|
|
105
|
+
backend: { type: "string" },
|
|
106
|
+
"from-c": { type: "boolean", default: false },
|
|
107
|
+
"keep-c": { type: "boolean", default: true },
|
|
108
|
+
"emit-ir": { type: "boolean", default: false },
|
|
109
|
+
sanitize: { type: "boolean", default: false },
|
|
110
|
+
dynamic: { type: "boolean", default: false },
|
|
111
|
+
ffi: { type: "string" },
|
|
112
|
+
"npm-static": { type: "string", multiple: true },
|
|
113
|
+
"provenance-sources": { type: "boolean", default: false },
|
|
114
|
+
lib: { type: "boolean", default: false },
|
|
115
|
+
profile: { type: "string" },
|
|
116
|
+
help: { type: "boolean", short: "h", default: false },
|
|
117
|
+
version: { type: "boolean", short: "v", default: false },
|
|
118
|
+
};
|
|
69
119
|
async function main() {
|
|
70
|
-
const { values, positionals } =
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
backend: { type: "string" },
|
|
76
|
-
"from-c": { type: "boolean", default: false },
|
|
77
|
-
"keep-c": { type: "boolean", default: true },
|
|
78
|
-
"emit-ir": { type: "boolean", default: false },
|
|
79
|
-
sanitize: { type: "boolean", default: false },
|
|
80
|
-
dynamic: { type: "boolean", default: false },
|
|
81
|
-
"npm-static": { type: "string", multiple: true },
|
|
82
|
-
"provenance-sources": { type: "boolean", default: false },
|
|
83
|
-
lib: { type: "boolean", default: false },
|
|
84
|
-
profile: { type: "string" },
|
|
85
|
-
help: { type: "boolean", short: "h", default: false },
|
|
86
|
-
},
|
|
87
|
-
allowPositionals: true,
|
|
88
|
-
allowNegative: true,
|
|
89
|
-
});
|
|
120
|
+
const { values, positionals } = parseCli();
|
|
121
|
+
if (values.version) {
|
|
122
|
+
process.stdout.write(`${version()}\n`);
|
|
123
|
+
return 0;
|
|
124
|
+
}
|
|
90
125
|
if (values.help || positionals.length === 0) {
|
|
91
126
|
process.stdout.write(USAGE);
|
|
92
127
|
return values.help ? 0 : 1;
|
|
@@ -110,8 +145,8 @@ async function main() {
|
|
|
110
145
|
if (inputArg) {
|
|
111
146
|
fail("scriptc build --lib takes no input positional: the profile names the entry module");
|
|
112
147
|
}
|
|
113
|
-
if (values.dynamic || values.backend !== undefined || (values["npm-static"] ?? []).length > 0) {
|
|
114
|
-
fail("scriptc build --lib takes no --dynamic/--backend/--npm-static: the profile pins the emission,
|
|
148
|
+
if (values.dynamic || values.backend !== undefined || values.ffi !== undefined || (values["npm-static"] ?? []).length > 0) {
|
|
149
|
+
fail("scriptc build --lib takes no --dynamic/--backend/--npm-static/--ffi: the profile pins the emission, npm imports are judged automatically, and outbound FFI currently belongs to executable builds");
|
|
115
150
|
}
|
|
116
151
|
const profilePath = resolve(profileArg);
|
|
117
152
|
const libOutDir = values.out ? dirname(resolve(values.out)) : join(dirname(profilePath), ".scriptc");
|
|
@@ -141,6 +176,7 @@ async function main() {
|
|
|
141
176
|
if (!inputArg)
|
|
142
177
|
fail(`missing input file\n\n${USAGE}`);
|
|
143
178
|
const input = resolve(inputArg);
|
|
179
|
+
const ffiProfilePath = values.ffi !== undefined ? resolve(values.ffi) : undefined;
|
|
144
180
|
const backend = values.backend;
|
|
145
181
|
if (backend !== undefined && backend !== "c" && backend !== "llvm") {
|
|
146
182
|
fail(`unknown backend "${backend}" (supported: c, llvm)\n\n${USAGE}`);
|
|
@@ -172,7 +208,11 @@ async function main() {
|
|
|
172
208
|
process.stderr.write(`provenance: ${note}\n`);
|
|
173
209
|
}
|
|
174
210
|
if (command === "coverage") {
|
|
175
|
-
const { coverage, sourceTexts } = analyze(input, {
|
|
211
|
+
const { coverage, sourceTexts } = analyze(input, {
|
|
212
|
+
dynamic: values.dynamic,
|
|
213
|
+
...(npmStatic !== undefined ? { npmStatic } : {}),
|
|
214
|
+
...(ffiProfilePath !== undefined ? { ffiProfilePath } : {}),
|
|
215
|
+
});
|
|
176
216
|
const color = process.stdout.isTTY ?? false;
|
|
177
217
|
process.stdout.write(renderCoverage(coverage, { color, sourceTexts }) + "\n");
|
|
178
218
|
return coverage.preflightFailed ? 1 : 0;
|
|
@@ -182,6 +222,9 @@ async function main() {
|
|
|
182
222
|
const outPath = values.out ? resolve(values.out) : join(outDir, stem);
|
|
183
223
|
const build = async () => {
|
|
184
224
|
if (values["from-c"]) {
|
|
225
|
+
if (ffiProfilePath !== undefined) {
|
|
226
|
+
fail("--ffi is a TypeScript/JavaScript compiler feature and cannot be combined with --from-c");
|
|
227
|
+
}
|
|
185
228
|
await compileC({ cPath: input, outPath, sanitize: values.sanitize, dynamic: values.dynamic });
|
|
186
229
|
return outPath;
|
|
187
230
|
}
|
|
@@ -193,6 +236,7 @@ async function main() {
|
|
|
193
236
|
dynamic: values.dynamic,
|
|
194
237
|
...(backend !== undefined ? { backend } : {}),
|
|
195
238
|
...(npmStatic !== undefined ? { npmStatic } : {}),
|
|
239
|
+
...(ffiProfilePath !== undefined ? { ffiProfilePath } : {}),
|
|
196
240
|
});
|
|
197
241
|
if (!result.ok) {
|
|
198
242
|
const color = process.stderr.isTTY ?? false;
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scriptc",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
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",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"node": ">=20"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@scriptc/compiler": "0.0.
|
|
23
|
+
"@scriptc/compiler": "0.0.15"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "node ../../node_modules/typescript/bin/tsc -p tsconfig.json"
|