@suchipi/quickjs 0.1.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/LICENSE +40 -0
- package/README.md +145 -0
- package/build/aarch64-apple-darwin/bin/qjs +0 -0
- package/build/aarch64-apple-darwin/bin/qjsbootstrap +0 -0
- package/build/aarch64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-apple-darwin/bin/qjsc +0 -0
- package/build/aarch64-apple-darwin/bin/quickjs-run +0 -0
- package/build/aarch64-apple-darwin/dts/inspect.d.ts +123 -0
- package/build/aarch64-apple-darwin/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/aarch64-apple-darwin/dts/quickjs-libc.d.ts +1309 -0
- package/build/aarch64-apple-darwin/dts/quickjs-libcontext.d.ts +179 -0
- package/build/aarch64-apple-darwin/dts/quickjs.d.ts +859 -0
- package/build/aarch64-apple-darwin/lib/quickjs-core.a +0 -0
- package/build/aarch64-apple-darwin/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-gnu/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-gnu/dts/inspect.d.ts +123 -0
- package/build/aarch64-unknown-linux-gnu/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/aarch64-unknown-linux-gnu/dts/quickjs-libc.d.ts +1309 -0
- package/build/aarch64-unknown-linux-gnu/dts/quickjs-libcontext.d.ts +179 -0
- package/build/aarch64-unknown-linux-gnu/dts/quickjs.d.ts +859 -0
- package/build/aarch64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-musl/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-musl/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-musl/dts/inspect.d.ts +123 -0
- package/build/aarch64-unknown-linux-musl/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/aarch64-unknown-linux-musl/dts/quickjs-libc.d.ts +1309 -0
- package/build/aarch64-unknown-linux-musl/dts/quickjs-libcontext.d.ts +179 -0
- package/build/aarch64-unknown-linux-musl/dts/quickjs.d.ts +859 -0
- package/build/aarch64-unknown-linux-musl/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-musl/lib/quickjs-full.a +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjs +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsbootstrap +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
- package/build/aarch64-unknown-linux-static/bin/qjsc +0 -0
- package/build/aarch64-unknown-linux-static/bin/quickjs-run +0 -0
- package/build/aarch64-unknown-linux-static/dts/inspect.d.ts +123 -0
- package/build/aarch64-unknown-linux-static/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/aarch64-unknown-linux-static/dts/quickjs-libc.d.ts +1309 -0
- package/build/aarch64-unknown-linux-static/dts/quickjs-libcontext.d.ts +179 -0
- package/build/aarch64-unknown-linux-static/dts/quickjs.d.ts +859 -0
- package/build/aarch64-unknown-linux-static/lib/quickjs-core.a +0 -0
- package/build/aarch64-unknown-linux-static/lib/quickjs-full.a +0 -0
- package/build/x86_64-apple-darwin/bin/qjs +0 -0
- package/build/x86_64-apple-darwin/bin/qjsbootstrap +0 -0
- package/build/x86_64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-apple-darwin/bin/qjsc +0 -0
- package/build/x86_64-apple-darwin/bin/quickjs-run +0 -0
- package/build/x86_64-apple-darwin/dts/inspect.d.ts +123 -0
- package/build/x86_64-apple-darwin/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/x86_64-apple-darwin/dts/quickjs-libc.d.ts +1309 -0
- package/build/x86_64-apple-darwin/dts/quickjs-libcontext.d.ts +179 -0
- package/build/x86_64-apple-darwin/dts/quickjs.d.ts +859 -0
- package/build/x86_64-apple-darwin/lib/quickjs-core.a +0 -0
- package/build/x86_64-apple-darwin/lib/quickjs-full.a +0 -0
- package/build/x86_64-pc-windows-static/bin/qjs.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsbootstrap-bytecode.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsbootstrap.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/qjsc.exe +0 -0
- package/build/x86_64-pc-windows-static/bin/quickjs-run.exe +0 -0
- package/build/x86_64-pc-windows-static/dts/inspect.d.ts +123 -0
- package/build/x86_64-pc-windows-static/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/x86_64-pc-windows-static/dts/quickjs-libc.d.ts +1309 -0
- package/build/x86_64-pc-windows-static/dts/quickjs-libcontext.d.ts +179 -0
- package/build/x86_64-pc-windows-static/dts/quickjs.d.ts +859 -0
- package/build/x86_64-pc-windows-static/lib/quickjs-core.a +0 -0
- package/build/x86_64-pc-windows-static/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-gnu/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-gnu/dts/inspect.d.ts +123 -0
- package/build/x86_64-unknown-linux-gnu/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/x86_64-unknown-linux-gnu/dts/quickjs-libc.d.ts +1309 -0
- package/build/x86_64-unknown-linux-gnu/dts/quickjs-libcontext.d.ts +179 -0
- package/build/x86_64-unknown-linux-gnu/dts/quickjs.d.ts +859 -0
- package/build/x86_64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-musl/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-musl/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-musl/dts/inspect.d.ts +123 -0
- package/build/x86_64-unknown-linux-musl/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/x86_64-unknown-linux-musl/dts/quickjs-libc.d.ts +1309 -0
- package/build/x86_64-unknown-linux-musl/dts/quickjs-libcontext.d.ts +179 -0
- package/build/x86_64-unknown-linux-musl/dts/quickjs.d.ts +859 -0
- package/build/x86_64-unknown-linux-musl/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-musl/lib/quickjs-full.a +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjs +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsbootstrap +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
- package/build/x86_64-unknown-linux-static/bin/qjsc +0 -0
- package/build/x86_64-unknown-linux-static/bin/quickjs-run +0 -0
- package/build/x86_64-unknown-linux-static/dts/inspect.d.ts +123 -0
- package/build/x86_64-unknown-linux-static/dts/quickjs-libbytecode.d.ts +24 -0
- package/build/x86_64-unknown-linux-static/dts/quickjs-libc.d.ts +1309 -0
- package/build/x86_64-unknown-linux-static/dts/quickjs-libcontext.d.ts +179 -0
- package/build/x86_64-unknown-linux-static/dts/quickjs.d.ts +859 -0
- package/build/x86_64-unknown-linux-static/lib/quickjs-core.a +0 -0
- package/build/x86_64-unknown-linux-static/lib/quickjs-full.a +0 -0
- package/npm/cli/qjs.js +4 -0
- package/npm/cli/qjsc.js +4 -0
- package/npm/cli/quickjs-run.js +4 -0
- package/npm/cli/run-binary.js +17 -0
- package/npm/index.js +68 -0
- package/package.json +35 -0
- package/tsconfig.json +19 -0
|
Binary file
|
|
Binary file
|
package/npm/cli/qjs.js
ADDED
package/npm/cli/qjsc.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const path = require("path");
|
|
3
|
+
const child_process = require("child_process");
|
|
4
|
+
const { identifyCurrentPlatform } = require("..");
|
|
5
|
+
|
|
6
|
+
module.exports = function runBinary(name) {
|
|
7
|
+
const platform = identifyCurrentPlatform();
|
|
8
|
+
|
|
9
|
+
let bin = path.resolve(__dirname, "..", "..", "build", platform, "bin", name);
|
|
10
|
+
if (process.platform === "win32") {
|
|
11
|
+
bin += ".exe";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const argv = process.argv.slice(2);
|
|
15
|
+
|
|
16
|
+
child_process.spawn(bin, argv, { stdio: "inherit" }).on("exit", process.exit);
|
|
17
|
+
};
|
package/npm/index.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const path = require("path");
|
|
2
|
+
const child_process = require("child_process");
|
|
3
|
+
|
|
4
|
+
exports.buildArtifactsLocation = function buildArtifactsLocation() {
|
|
5
|
+
return path.resolve(__dirname, "..", "build");
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
exports.identifyCurrentPlatform = function identifyCurrentPlatform() {
|
|
9
|
+
const platform = process.platform;
|
|
10
|
+
switch (platform) {
|
|
11
|
+
case "darwin":
|
|
12
|
+
case "linux":
|
|
13
|
+
case "win32": {
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
default: {
|
|
17
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** @type {string} */
|
|
22
|
+
let arch = process.arch;
|
|
23
|
+
switch (arch) {
|
|
24
|
+
case "arm64": {
|
|
25
|
+
arch = "aarch64";
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
case "x64": {
|
|
29
|
+
arch = "x86_64";
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
default: {
|
|
33
|
+
throw new Error(`Unsupported processor architecture: ${arch}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
switch (platform) {
|
|
38
|
+
case "darwin": {
|
|
39
|
+
return `${arch}-apple-darwin`;
|
|
40
|
+
}
|
|
41
|
+
case "win32": {
|
|
42
|
+
if (arch !== "x86_64") {
|
|
43
|
+
throw new Error(`Architecture is not supported on Windows: ${arch}`);
|
|
44
|
+
}
|
|
45
|
+
return `${arch}-pc-windows-static`;
|
|
46
|
+
}
|
|
47
|
+
case "linux": {
|
|
48
|
+
const lddInfo = runShell(`ldd --version 2>&1 || true`);
|
|
49
|
+
if (/musl/.test(lddInfo)) {
|
|
50
|
+
return `${arch}-unknown-linux-musl`;
|
|
51
|
+
} else if (/GLIBC|GNU/.test(lddInfo)) {
|
|
52
|
+
return `${arch}-unknown-linux-gnu`;
|
|
53
|
+
} else {
|
|
54
|
+
return `${arch}-unknown-linux-static`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
default: {
|
|
58
|
+
// should be unreachable
|
|
59
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
function runShell(cmd) {
|
|
65
|
+
return child_process
|
|
66
|
+
.spawnSync(cmd, { shell: true, encoding: "utf-8" })
|
|
67
|
+
.stdout.trim();
|
|
68
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@suchipi/quickjs",
|
|
3
|
+
"description": "Suchipi's QuickJS Fork",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"main": "./npm/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"qjs": "./npm/cli/qjs.js",
|
|
8
|
+
"qjsc": "./npm/cli/qjsc.js",
|
|
9
|
+
"quickjs-run": "./npm/cli/quickjs-run.js"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"@babel/core": "^7.20.5",
|
|
13
|
+
"@babel/preset-env": "^7.20.2",
|
|
14
|
+
"@babel/preset-typescript": "^7.18.6",
|
|
15
|
+
"@suchipi/shinobi": "^0.2.0",
|
|
16
|
+
"@types/jest": "^29.2.4",
|
|
17
|
+
"@types/node": "^18.11.9",
|
|
18
|
+
"@types/shelljs": "^0.8.11",
|
|
19
|
+
"babel-jest": "^29.3.1",
|
|
20
|
+
"first-base": "^0.2.0",
|
|
21
|
+
"jest": "^29.3.1",
|
|
22
|
+
"path-less-traveled": "^2.0.0",
|
|
23
|
+
"prettier": "^2.8.1",
|
|
24
|
+
"shelljs": "^0.8.5"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"test": "jest --runInBand"
|
|
28
|
+
},
|
|
29
|
+
"prettier": {},
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"repository": "suchipi/quickjs",
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
}
|
|
35
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
"./src/quickjs/quickjs.d.ts",
|
|
4
|
+
"./src/quickjs-libc/quickjs-libc.d.ts",
|
|
5
|
+
"./src/quickjs-libbytecode/quickjs-libbytecode.d.ts",
|
|
6
|
+
"./src/quickjs-libcontext/quickjs-libcontext.d.ts",
|
|
7
|
+
],
|
|
8
|
+
"include": ["./**/*.js", "./**/*.ts"],
|
|
9
|
+
"exclude": ["oldtests/**/*", "build/**/*", "examples/**/*"],
|
|
10
|
+
"compilerOptions": {
|
|
11
|
+
"allowJs": true,
|
|
12
|
+
"checkJs": true,
|
|
13
|
+
"noEmit": true,
|
|
14
|
+
"lib": ["ES2020"],
|
|
15
|
+
"strictNullChecks": true,
|
|
16
|
+
"esModuleInterop": true,
|
|
17
|
+
"types": ["jest"]
|
|
18
|
+
}
|
|
19
|
+
}
|