@everywheredev/cli 0.0.5
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 +135 -0
- package/bin/pocketdev.js +19 -0
- package/dist/agent/agent-loop.d.ts +40 -0
- package/dist/agent/agent-loop.d.ts.map +1 -0
- package/dist/agent/agent-loop.js +162 -0
- package/dist/agent/agent-loop.js.map +1 -0
- package/dist/agent/approval.d.ts +38 -0
- package/dist/agent/approval.d.ts.map +1 -0
- package/dist/agent/approval.js +55 -0
- package/dist/agent/approval.js.map +1 -0
- package/dist/agent/run-tracker.d.ts +26 -0
- package/dist/agent/run-tracker.d.ts.map +1 -0
- package/dist/agent/run-tracker.js +43 -0
- package/dist/agent/run-tracker.js.map +1 -0
- package/dist/auth/device-flow.d.ts +61 -0
- package/dist/auth/device-flow.d.ts.map +1 -0
- package/dist/auth/device-flow.js +141 -0
- package/dist/auth/device-flow.js.map +1 -0
- package/dist/auth/hydra-oauth-auth-provider.d.ts +35 -0
- package/dist/auth/hydra-oauth-auth-provider.d.ts.map +1 -0
- package/dist/auth/hydra-oauth-auth-provider.js +153 -0
- package/dist/auth/hydra-oauth-auth-provider.js.map +1 -0
- package/dist/auth/keychain.d.ts +42 -0
- package/dist/auth/keychain.d.ts.map +1 -0
- package/dist/auth/keychain.js +138 -0
- package/dist/auth/keychain.js.map +1 -0
- package/dist/auth/pkce.d.ts +20 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +44 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/ports.d.ts +25 -0
- package/dist/auth/ports.d.ts.map +1 -0
- package/dist/auth/ports.js +8 -0
- package/dist/auth/ports.js.map +1 -0
- package/dist/commands/activity.d.ts +17 -0
- package/dist/commands/activity.d.ts.map +1 -0
- package/dist/commands/activity.js +54 -0
- package/dist/commands/activity.js.map +1 -0
- package/dist/commands/agent.d.ts +25 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +80 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/agents.d.ts +9 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +28 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/commits.d.ts +16 -0
- package/dist/commands/commits.d.ts.map +1 -0
- package/dist/commands/commits.js +39 -0
- package/dist/commands/commits.js.map +1 -0
- package/dist/commands/diff.d.ts +15 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +27 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/expose.d.ts +15 -0
- package/dist/commands/expose.d.ts.map +1 -0
- package/dist/commands/expose.js +39 -0
- package/dist/commands/expose.js.map +1 -0
- package/dist/commands/index.d.ts +7 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +12 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/login.d.ts +9 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +27 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +9 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +24 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/me.d.ts +10 -0
- package/dist/commands/me.d.ts.map +1 -0
- package/dist/commands/me.js +25 -0
- package/dist/commands/me.js.map +1 -0
- package/dist/commands/open.d.ts +16 -0
- package/dist/commands/open.d.ts.map +1 -0
- package/dist/commands/open.js +34 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/ports.d.ts +75 -0
- package/dist/commands/ports.d.ts.map +1 -0
- package/dist/commands/ports.js +78 -0
- package/dist/commands/ports.js.map +1 -0
- package/dist/commands/profile.d.ts +21 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +93 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/push.d.ts +18 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +116 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/registry.d.ts +15 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +45 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/request.d.ts +25 -0
- package/dist/commands/request.d.ts.map +1 -0
- package/dist/commands/request.js +58 -0
- package/dist/commands/request.js.map +1 -0
- package/dist/commands/resume.d.ts +22 -0
- package/dist/commands/resume.d.ts.map +1 -0
- package/dist/commands/resume.js +69 -0
- package/dist/commands/resume.js.map +1 -0
- package/dist/commands/save.d.ts +34 -0
- package/dist/commands/save.d.ts.map +1 -0
- package/dist/commands/save.js +141 -0
- package/dist/commands/save.js.map +1 -0
- package/dist/commands/session.d.ts +9 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +282 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/skills/markdown-loader.d.ts +19 -0
- package/dist/commands/skills/markdown-loader.d.ts.map +1 -0
- package/dist/commands/skills/markdown-loader.js +108 -0
- package/dist/commands/skills/markdown-loader.js.map +1 -0
- package/dist/commands/skills/registry.d.ts +23 -0
- package/dist/commands/skills/registry.d.ts.map +1 -0
- package/dist/commands/skills/registry.js +45 -0
- package/dist/commands/skills/registry.js.map +1 -0
- package/dist/commands/terminal.d.ts +19 -0
- package/dist/commands/terminal.d.ts.map +1 -0
- package/dist/commands/terminal.js +39 -0
- package/dist/commands/terminal.js.map +1 -0
- package/dist/commands/tree.d.ts +16 -0
- package/dist/commands/tree.d.ts.map +1 -0
- package/dist/commands/tree.js +44 -0
- package/dist/commands/tree.js.map +1 -0
- package/dist/commands/undo.d.ts +18 -0
- package/dist/commands/undo.d.ts.map +1 -0
- package/dist/commands/undo.js +46 -0
- package/dist/commands/undo.js.map +1 -0
- package/dist/config/config-store.d.ts +19 -0
- package/dist/config/config-store.d.ts.map +1 -0
- package/dist/config/config-store.js +199 -0
- package/dist/config/config-store.js.map +1 -0
- package/dist/config/defaults.d.ts +22 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +38 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/ports.d.ts +60 -0
- package/dist/config/ports.d.ts.map +1 -0
- package/dist/config/ports.js +8 -0
- package/dist/config/ports.js.map +1 -0
- package/dist/config/profile-constants.d.ts +4 -0
- package/dist/config/profile-constants.d.ts.map +1 -0
- package/dist/config/profile-constants.js +10 -0
- package/dist/config/profile-constants.js.map +1 -0
- package/dist/config/profile.d.ts +84 -0
- package/dist/config/profile.d.ts.map +1 -0
- package/dist/config/profile.js +66 -0
- package/dist/config/profile.js.map +1 -0
- package/dist/contract/index.d.ts +193 -0
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +14 -0
- package/dist/contract/index.js.map +1 -0
- package/dist/core/app.d.ts +35 -0
- package/dist/core/app.d.ts.map +1 -0
- package/dist/core/app.js +86 -0
- package/dist/core/app.js.map +1 -0
- package/dist/core/command-router.d.ts +29 -0
- package/dist/core/command-router.d.ts.map +1 -0
- package/dist/core/command-router.js +61 -0
- package/dist/core/command-router.js.map +1 -0
- package/dist/core/errors.d.ts +39 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +106 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/preflight.d.ts +16 -0
- package/dist/core/preflight.d.ts.map +1 -0
- package/dist/core/preflight.js +38 -0
- package/dist/core/preflight.js.map +1 -0
- package/dist/core/repl.d.ts +18 -0
- package/dist/core/repl.d.ts.map +1 -0
- package/dist/core/repl.js +128 -0
- package/dist/core/repl.js.map +1 -0
- package/dist/di/container.d.ts +13 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +160 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/tokens.d.ts +20 -0
- package/dist/di/tokens.d.ts.map +1 -0
- package/dist/di/tokens.js +22 -0
- package/dist/di/tokens.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/render/ink-renderer.d.ts +28 -0
- package/dist/render/ink-renderer.d.ts.map +1 -0
- package/dist/render/ink-renderer.js +174 -0
- package/dist/render/ink-renderer.js.map +1 -0
- package/dist/render/plain-renderer.d.ts +16 -0
- package/dist/render/plain-renderer.d.ts.map +1 -0
- package/dist/render/plain-renderer.js +38 -0
- package/dist/render/plain-renderer.js.map +1 -0
- package/dist/render/ports.d.ts +12 -0
- package/dist/render/ports.d.ts.map +1 -0
- package/dist/render/ports.js +10 -0
- package/dist/render/ports.js.map +1 -0
- package/dist/render/raw-renderer.d.ts +11 -0
- package/dist/render/raw-renderer.d.ts.map +1 -0
- package/dist/render/raw-renderer.js +68 -0
- package/dist/render/raw-renderer.js.map +1 -0
- package/dist/render/repl-input.d.ts +15 -0
- package/dist/render/repl-input.d.ts.map +1 -0
- package/dist/render/repl-input.js +102 -0
- package/dist/render/repl-input.js.map +1 -0
- package/dist/session/file-session-store.d.ts +26 -0
- package/dist/session/file-session-store.d.ts.map +1 -0
- package/dist/session/file-session-store.js +174 -0
- package/dist/session/file-session-store.js.map +1 -0
- package/dist/session/ports.d.ts +50 -0
- package/dist/session/ports.d.ts.map +1 -0
- package/dist/session/ports.js +6 -0
- package/dist/session/ports.js.map +1 -0
- package/dist/sync/git-sync.d.ts +16 -0
- package/dist/sync/git-sync.d.ts.map +1 -0
- package/dist/sync/git-sync.js +28 -0
- package/dist/sync/git-sync.js.map +1 -0
- package/dist/sync/git.d.ts +12 -0
- package/dist/sync/git.d.ts.map +1 -0
- package/dist/sync/git.js +100 -0
- package/dist/sync/git.js.map +1 -0
- package/dist/sync/reconciler.d.ts +36 -0
- package/dist/sync/reconciler.d.ts.map +1 -0
- package/dist/sync/reconciler.js +143 -0
- package/dist/sync/reconciler.js.map +1 -0
- package/dist/sync/walk.d.ts +23 -0
- package/dist/sync/walk.d.ts.map +1 -0
- package/dist/sync/walk.js +81 -0
- package/dist/sync/walk.js.map +1 -0
- package/dist/sync/watch.d.ts +13 -0
- package/dist/sync/watch.d.ts.map +1 -0
- package/dist/sync/watch.js +75 -0
- package/dist/sync/watch.js.map +1 -0
- package/dist/tools/git-diff.d.ts +16 -0
- package/dist/tools/git-diff.d.ts.map +1 -0
- package/dist/tools/git-diff.js +25 -0
- package/dist/tools/git-diff.js.map +1 -0
- package/dist/tools/http-request.d.ts +25 -0
- package/dist/tools/http-request.d.ts.map +1 -0
- package/dist/tools/http-request.js +41 -0
- package/dist/tools/http-request.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +22 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/ports.d.ts +58 -0
- package/dist/tools/ports.d.ts.map +1 -0
- package/dist/tools/ports.js +17 -0
- package/dist/tools/ports.js.map +1 -0
- package/dist/tools/read-file.d.ts +16 -0
- package/dist/tools/read-file.d.ts.map +1 -0
- package/dist/tools/read-file.js +24 -0
- package/dist/tools/read-file.js.map +1 -0
- package/dist/tools/registry.d.ts +10 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +28 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/run-command.d.ts +20 -0
- package/dist/tools/run-command.d.ts.map +1 -0
- package/dist/tools/run-command.js +65 -0
- package/dist/tools/run-command.js.map +1 -0
- package/dist/tools/write-file.d.ts +24 -0
- package/dist/tools/write-file.d.ts.map +1 -0
- package/dist/tools/write-file.js +60 -0
- package/dist/tools/write-file.js.map +1 -0
- package/dist/transport/composite-transport.d.ts +30 -0
- package/dist/transport/composite-transport.d.ts.map +1 -0
- package/dist/transport/composite-transport.js +71 -0
- package/dist/transport/composite-transport.js.map +1 -0
- package/dist/transport/device-browser.d.ts +19 -0
- package/dist/transport/device-browser.d.ts.map +1 -0
- package/dist/transport/device-browser.js +243 -0
- package/dist/transport/device-browser.js.map +1 -0
- package/dist/transport/device-git.d.ts +14 -0
- package/dist/transport/device-git.d.ts.map +1 -0
- package/dist/transport/device-git.js +107 -0
- package/dist/transport/device-git.js.map +1 -0
- package/dist/transport/device-http.d.ts +10 -0
- package/dist/transport/device-http.d.ts.map +1 -0
- package/dist/transport/device-http.js +96 -0
- package/dist/transport/device-http.js.map +1 -0
- package/dist/transport/device-terminal.d.ts +44 -0
- package/dist/transport/device-terminal.d.ts.map +1 -0
- package/dist/transport/device-terminal.js +140 -0
- package/dist/transport/device-terminal.js.map +1 -0
- package/dist/transport/http-transport.d.ts +26 -0
- package/dist/transport/http-transport.d.ts.map +1 -0
- package/dist/transport/http-transport.js +125 -0
- package/dist/transport/http-transport.js.map +1 -0
- package/dist/transport/ports.d.ts +67 -0
- package/dist/transport/ports.d.ts.map +1 -0
- package/dist/transport/ports.js +11 -0
- package/dist/transport/ports.js.map +1 -0
- package/dist/transport/reconnect.d.ts +44 -0
- package/dist/transport/reconnect.d.ts.map +1 -0
- package/dist/transport/reconnect.js +69 -0
- package/dist/transport/reconnect.js.map +1 -0
- package/dist/transport/terminal-transport.d.ts +28 -0
- package/dist/transport/terminal-transport.d.ts.map +1 -0
- package/dist/transport/terminal-transport.js +63 -0
- package/dist/transport/terminal-transport.js.map +1 -0
- package/dist/transport/ws-stream-transport.d.ts +66 -0
- package/dist/transport/ws-stream-transport.d.ts.map +1 -0
- package/dist/transport/ws-stream-transport.js +246 -0
- package/dist/transport/ws-stream-transport.js.map +1 -0
- package/package.json +65 -0
- package/scripts/ensure-node-pty.mjs +52 -0
- package/scripts/smoke.mjs +52 -0
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@everywheredev/cli",
|
|
3
|
+
"version": "0.0.5",
|
|
4
|
+
"description": "PocketDev CLI — a Claude-Code-style TypeScript thin client for the PocketDev host (FULL-REMOTE Hydra OAuth2).",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"bin": {
|
|
8
|
+
"pocketdev": "bin/pocketdev.js"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/vectorkub/pocketdev.git",
|
|
13
|
+
"directory": "cli"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/vectorkub/pocketdev/tree/main/cli#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/vectorkub/pocketdev/issues"
|
|
18
|
+
},
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"bin/",
|
|
24
|
+
"dist/",
|
|
25
|
+
"scripts/",
|
|
26
|
+
"README.md"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=20"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc -p tsconfig.json",
|
|
33
|
+
"build:watch": "tsc -p tsconfig.json --watch",
|
|
34
|
+
"dev": "node --import tsx ./src/index.ts",
|
|
35
|
+
"test": "vitest run --passWithNoTests",
|
|
36
|
+
"test:watch": "vitest",
|
|
37
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
38
|
+
"smoke": "node scripts/smoke.mjs",
|
|
39
|
+
"prepare": "npm run build",
|
|
40
|
+
"postinstall": "node scripts/ensure-node-pty.mjs"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"chalk": "^5.3.0",
|
|
44
|
+
"chokidar": "^4.0.3",
|
|
45
|
+
"ignore": "^5.3.2",
|
|
46
|
+
"ink": "^5.0.1",
|
|
47
|
+
"jose": "^5.9.6",
|
|
48
|
+
"keytar": "^7.9.0",
|
|
49
|
+
"node-pty": "^1.0.0",
|
|
50
|
+
"puppeteer-core": "^23.11.1",
|
|
51
|
+
"react": "^18.3.1",
|
|
52
|
+
"reflect-metadata": "^0.2.2",
|
|
53
|
+
"tsyringe": "^4.8.0",
|
|
54
|
+
"ws": "^8.18.0",
|
|
55
|
+
"zod": "^3.23.8"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^20.14.0",
|
|
59
|
+
"@types/react": "^18.3.3",
|
|
60
|
+
"@types/ws": "^8.5.12",
|
|
61
|
+
"tsx": "^4.16.0",
|
|
62
|
+
"typescript": "^5.5.0",
|
|
63
|
+
"vitest": "^2.0.0"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Postinstall guard for node-pty's native binaries.
|
|
2
|
+
//
|
|
3
|
+
// node-pty execs a bundled `spawn-helper` to allocate the PTY on macOS/Linux. npm frequently extracts it
|
|
4
|
+
// WITHOUT the executable bit, which makes every PTY spawn fail with "posix_spawnp failed" → the device
|
|
5
|
+
// terminal exits 1 instantly. This runs after install to (1) confirm the prebuild for this platform/arch
|
|
6
|
+
// exists and (2) restore +x on the helper. It is best-effort and NEVER fails the install (exit 0 always),
|
|
7
|
+
// since the runtime also self-heals (src/transport/device-terminal.ts:ensureSpawnHelperExecutable).
|
|
8
|
+
|
|
9
|
+
import { chmodSync, existsSync, readdirSync } from "node:fs";
|
|
10
|
+
import { createRequire } from "node:module";
|
|
11
|
+
import { dirname, join } from "node:path";
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
const require = createRequire(import.meta.url);
|
|
15
|
+
const root = dirname(require.resolve("node-pty/package.json"));
|
|
16
|
+
const tag = `${process.platform}-${process.arch}`; // e.g. darwin-arm64, linux-x64
|
|
17
|
+
|
|
18
|
+
let fixed = 0;
|
|
19
|
+
const helpers = [
|
|
20
|
+
join(root, "build", "Release", "spawn-helper"), // built-from-source layout
|
|
21
|
+
];
|
|
22
|
+
const prebuilds = join(root, "prebuilds");
|
|
23
|
+
if (existsSync(prebuilds)) {
|
|
24
|
+
for (const d of readdirSync(prebuilds)) {
|
|
25
|
+
helpers.push(join(prebuilds, d, "spawn-helper"));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const h of helpers) {
|
|
29
|
+
if (existsSync(h)) {
|
|
30
|
+
try {
|
|
31
|
+
chmodSync(h, 0o755);
|
|
32
|
+
fixed++;
|
|
33
|
+
} catch {
|
|
34
|
+
/* not our file / read-only fs */
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Warn (don't fail) if there's no prebuild for this platform — node-pty would need a build toolchain.
|
|
40
|
+
const ptyNode = join(prebuilds, tag, "pty.node");
|
|
41
|
+
const builtNode = join(root, "build", "Release", "pty.node");
|
|
42
|
+
if (!existsSync(ptyNode) && !existsSync(builtNode)) {
|
|
43
|
+
console.warn(
|
|
44
|
+
`[pocketdev] node-pty has no prebuilt binary for ${tag}; dashboard terminal sharing may be off. ` +
|
|
45
|
+
`Install a build toolchain (python3 + a C++ compiler) and run \`npm rebuild node-pty\`.`,
|
|
46
|
+
);
|
|
47
|
+
} else if (fixed > 0) {
|
|
48
|
+
console.log(`[pocketdev] node-pty ready (${tag}); ensured spawn-helper is executable.`);
|
|
49
|
+
}
|
|
50
|
+
} catch {
|
|
51
|
+
// node-pty not installed yet / layout differs — the runtime self-heal covers it.
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Cross-OS smoke test for the published CLI shape.
|
|
2
|
+
//
|
|
3
|
+
// The CLI has no offline `--help`/`--version` — every invocation routes to the `session` command,
|
|
4
|
+
// which needs auth + a running host. So we can't prove "this OS is supported" by running the binary.
|
|
5
|
+
// Instead we directly load the two NATIVE addons (the real per-OS/arch risk) and the compiled entry:
|
|
6
|
+
// - require("node-pty") / require("keytar") loads the native binary for this platform/arch. `require`
|
|
7
|
+
// does NOT touch the OS secret service or spawn a PTY, so it is safe headless/CI.
|
|
8
|
+
// - import("../dist/index.js") proves the built JS + its full dependency graph resolve here.
|
|
9
|
+
//
|
|
10
|
+
// Ships in `files` (scripts/), so it runs identically from a source checkout and from an installed
|
|
11
|
+
// tarball: `node scripts/smoke.mjs` (cwd = package root) or
|
|
12
|
+
// `node node_modules/@pocketdev/cli/scripts/smoke.mjs` (from a consumer install).
|
|
13
|
+
|
|
14
|
+
import { createRequire } from "node:module";
|
|
15
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
16
|
+
import { dirname, join } from "node:path";
|
|
17
|
+
|
|
18
|
+
const require = createRequire(import.meta.url);
|
|
19
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
|
|
21
|
+
let failed = false;
|
|
22
|
+
const ok = (m) => console.log(`ok: ${m}`);
|
|
23
|
+
const fail = (m, e) => {
|
|
24
|
+
failed = true;
|
|
25
|
+
console.error(`FAIL: ${m}: ${e?.stack ?? e}`);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
console.log(`[smoke] ${process.platform}-${process.arch} node ${process.version}`);
|
|
29
|
+
|
|
30
|
+
for (const mod of ["node-pty", "keytar"]) {
|
|
31
|
+
try {
|
|
32
|
+
require(mod);
|
|
33
|
+
ok(`native addon "${mod}" loaded`);
|
|
34
|
+
} catch (e) {
|
|
35
|
+
fail(`native addon "${mod}"`, e);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
// scripts/ -> ../dist/index.js (pathToFileURL handles Windows drive paths correctly)
|
|
41
|
+
await import(pathToFileURL(join(here, "..", "dist", "index.js")).href);
|
|
42
|
+
ok("dist/index.js loaded");
|
|
43
|
+
} catch (e) {
|
|
44
|
+
fail("dist/index.js", e);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (failed) {
|
|
48
|
+
console.error("[smoke] FAILED");
|
|
49
|
+
process.exitCode = 1;
|
|
50
|
+
} else {
|
|
51
|
+
console.log("[smoke] OK — all native addons + compiled entry load on this platform");
|
|
52
|
+
}
|