@page-scanner/cli 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 +201 -0
- package/README.md +217 -0
- package/dist/api.d.ts +87 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +132 -0
- package/dist/api.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +49 -0
- package/dist/bin.js.map +1 -0
- package/dist/bridge/server.d.ts +97 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +329 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/bridge/tokens.d.ts +10 -0
- package/dist/bridge/tokens.d.ts.map +1 -0
- package/dist/bridge/tokens.js +15 -0
- package/dist/bridge/tokens.js.map +1 -0
- package/dist/cli/args.d.ts +63 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +388 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/commands.d.ts +8 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +234 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/format.d.ts +22 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +152 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +54 -0
- package/dist/config.js.map +1 -0
- package/dist/daemon/client.d.ts +28 -0
- package/dist/daemon/client.d.ts.map +1 -0
- package/dist/daemon/client.js +139 -0
- package/dist/daemon/client.js.map +1 -0
- package/dist/daemon/rpc-server.d.ts +31 -0
- package/dist/daemon/rpc-server.d.ts.map +1 -0
- package/dist/daemon/rpc-server.js +254 -0
- package/dist/daemon/rpc-server.js.map +1 -0
- package/dist/daemon/run.d.ts +20 -0
- package/dist/daemon/run.d.ts.map +1 -0
- package/dist/daemon/run.js +129 -0
- package/dist/daemon/run.js.map +1 -0
- package/dist/daemon/self.d.ts +25 -0
- package/dist/daemon/self.d.ts.map +1 -0
- package/dist/daemon/self.js +113 -0
- package/dist/daemon/self.js.map +1 -0
- package/dist/daemon/state.d.ts +25 -0
- package/dist/daemon/state.d.ts.map +1 -0
- package/dist/daemon/state.js +116 -0
- package/dist/daemon/state.js.map +1 -0
- package/dist/errors.d.ts +32 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +83 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/output.d.ts +13 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +71 -0
- package/dist/output.js.map +1 -0
- package/dist/protocol.d.ts +144 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +128 -0
- package/dist/protocol.js.map +1 -0
- package/dist/version.d.ts +11 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/package.json +77 -0
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mirror of `extension/src/lib/bridge/protocol.ts`.
|
|
3
|
+
*
|
|
4
|
+
* The extension owns the wire contract, because it owns the features the
|
|
5
|
+
* contract describes: the export formats, the paper sizes, what to do with a
|
|
6
|
+
* video. This file restates them for a package that cannot import the
|
|
7
|
+
* extension's source, and `protocol.contract.test.ts` fails if the two drift.
|
|
8
|
+
*
|
|
9
|
+
* The direction is the other half of the mirror, too. Over there the guards
|
|
10
|
+
* check what arrives *at the extension*; here they check what arrives *at the
|
|
11
|
+
* server*: a handshake, a ping, and the frames that answer a request. A
|
|
12
|
+
* loopback port is reachable by every process on the machine, so nothing here
|
|
13
|
+
* assumes a shape it has not checked, and a frame that fails a guard is
|
|
14
|
+
* dropped rather than coerced.
|
|
15
|
+
*/
|
|
16
|
+
/** Bumped when a change would make an older server and a newer extension disagree. */
|
|
17
|
+
export const BRIDGE_PROTOCOL_VERSION = 1;
|
|
18
|
+
/** Ping cadence. Chrome resets the service worker's idle timer on every frame. */
|
|
19
|
+
export const BRIDGE_PING_INTERVAL_MS = 20_000;
|
|
20
|
+
/** Mirrors EXPORT_FORMAT_IDS in `extension/src/lib/export/formats.ts`. */
|
|
21
|
+
export const EXPORT_FORMAT_IDS = ['pdf', 'png', 'jpeg'];
|
|
22
|
+
/** Mirrors the keys of PAGE_SIZE_LABELS in `extension/src/lib/pdf/layout.ts`. */
|
|
23
|
+
export const PAGE_SIZE_IDS = ['auto', 'a4', 'letter'];
|
|
24
|
+
/** Mirrors DEFAULT_PAGE_SIZE in `extension/src/lib/pdf/layout.ts`. */
|
|
25
|
+
export const DEFAULT_PAGE_SIZE = 'a4';
|
|
26
|
+
/** Mirrors VIDEO_HANDLINGS in `extension/src/lib/capture/viewport-units.ts`. */
|
|
27
|
+
export const VIDEO_HANDLINGS = ['frame', 'blank'];
|
|
28
|
+
function isRecord(value) {
|
|
29
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
30
|
+
}
|
|
31
|
+
function isNonEmptyString(value) {
|
|
32
|
+
return typeof value === 'string' && value.length > 0;
|
|
33
|
+
}
|
|
34
|
+
/** An id has to be safe to echo back and to use as a map key, so bound it. */
|
|
35
|
+
function isRequestId(value) {
|
|
36
|
+
return typeof value === 'string' && value.length > 0 && value.length <= 128;
|
|
37
|
+
}
|
|
38
|
+
function isFiniteNumber(value) {
|
|
39
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
40
|
+
}
|
|
41
|
+
export function isHelloFrame(value) {
|
|
42
|
+
return (isRecord(value) &&
|
|
43
|
+
value.type === 'hello' &&
|
|
44
|
+
isFiniteNumber(value.protocol) &&
|
|
45
|
+
typeof value.token === 'string' &&
|
|
46
|
+
isNonEmptyString(value.browserId) &&
|
|
47
|
+
typeof value.label === 'string' &&
|
|
48
|
+
typeof value.extensionVersion === 'string');
|
|
49
|
+
}
|
|
50
|
+
export function isPingFrame(value) {
|
|
51
|
+
return isRecord(value) && value.type === 'ping';
|
|
52
|
+
}
|
|
53
|
+
function isWindowSummary(value) {
|
|
54
|
+
return (isRecord(value) &&
|
|
55
|
+
Number.isInteger(value.windowId) &&
|
|
56
|
+
typeof value.focused === 'boolean' &&
|
|
57
|
+
typeof value.windowType === 'string' &&
|
|
58
|
+
Number.isInteger(value.tabCount));
|
|
59
|
+
}
|
|
60
|
+
function isTabSummary(value) {
|
|
61
|
+
return (isRecord(value) &&
|
|
62
|
+
Number.isInteger(value.tabId) &&
|
|
63
|
+
Number.isInteger(value.windowId) &&
|
|
64
|
+
typeof value.url === 'string' &&
|
|
65
|
+
typeof value.title === 'string' &&
|
|
66
|
+
typeof value.active === 'boolean');
|
|
67
|
+
}
|
|
68
|
+
function isTruncationReport(value) {
|
|
69
|
+
return (isRecord(value) &&
|
|
70
|
+
isFiniteNumber(value.requestedWidth) &&
|
|
71
|
+
isFiniteNumber(value.requestedHeight) &&
|
|
72
|
+
isFiniteNumber(value.width) &&
|
|
73
|
+
isFiniteNumber(value.height) &&
|
|
74
|
+
typeof value.message === 'string');
|
|
75
|
+
}
|
|
76
|
+
export function isTabsResponse(value) {
|
|
77
|
+
return (isRecord(value) &&
|
|
78
|
+
value.type === 'tabs' &&
|
|
79
|
+
isRequestId(value.id) &&
|
|
80
|
+
Array.isArray(value.windows) &&
|
|
81
|
+
value.windows.every(isWindowSummary) &&
|
|
82
|
+
Array.isArray(value.tabs) &&
|
|
83
|
+
value.tabs.every(isTabSummary));
|
|
84
|
+
}
|
|
85
|
+
export function isScanResultResponse(value) {
|
|
86
|
+
return (isRecord(value) &&
|
|
87
|
+
value.type === 'scan-result' &&
|
|
88
|
+
isRequestId(value.id) &&
|
|
89
|
+
isFiniteNumber(value.width) &&
|
|
90
|
+
isFiniteNumber(value.height) &&
|
|
91
|
+
(value.mode === 'vector' || value.mode === 'raster') &&
|
|
92
|
+
isNonEmptyString(value.fileName) &&
|
|
93
|
+
typeof value.bytesBase64 === 'string' &&
|
|
94
|
+
(value.truncated === undefined || isTruncationReport(value.truncated)));
|
|
95
|
+
}
|
|
96
|
+
export function isErrorResponse(value) {
|
|
97
|
+
return (isRecord(value) &&
|
|
98
|
+
value.type === 'error' &&
|
|
99
|
+
isRequestId(value.id) &&
|
|
100
|
+
typeof value.message === 'string');
|
|
101
|
+
}
|
|
102
|
+
export function isBridgeResponse(value) {
|
|
103
|
+
return isTabsResponse(value) || isScanResultResponse(value) || isErrorResponse(value);
|
|
104
|
+
}
|
|
105
|
+
/** Everything the extension may send, parsed from one socket message. */
|
|
106
|
+
export function parseInbound(raw) {
|
|
107
|
+
let value;
|
|
108
|
+
try {
|
|
109
|
+
value = JSON.parse(raw);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
if (isHelloFrame(value))
|
|
115
|
+
return value;
|
|
116
|
+
if (isPingFrame(value))
|
|
117
|
+
return value;
|
|
118
|
+
if (isBridgeResponse(value))
|
|
119
|
+
return value;
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
export function helloAck() {
|
|
123
|
+
return { type: 'hello-ok' };
|
|
124
|
+
}
|
|
125
|
+
export function helloReject(message) {
|
|
126
|
+
return { type: 'hello-error', message };
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The published version, as a literal.
|
|
3
|
+
*
|
|
4
|
+
* Reading it from package.json would be truer, but the file is outside
|
|
5
|
+
* `rootDir` for the tsc build and absent from the Bun single-file binary, so
|
|
6
|
+
* the two places it is needed most are exactly where that fails.
|
|
7
|
+
* `version.test.ts` asserts this matches package.json, so the copy cannot
|
|
8
|
+
* drift without a red test.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CLI_VERSION = "0.1.0";
|
|
11
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The published version, as a literal.
|
|
3
|
+
*
|
|
4
|
+
* Reading it from package.json would be truer, but the file is outside
|
|
5
|
+
* `rootDir` for the tsc build and absent from the Bun single-file binary, so
|
|
6
|
+
* the two places it is needed most are exactly where that fails.
|
|
7
|
+
* `version.test.ts` asserts this matches package.json, so the copy cannot
|
|
8
|
+
* drift without a red test.
|
|
9
|
+
*/
|
|
10
|
+
export const CLI_VERSION = '0.1.0';
|
|
11
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@page-scanner/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Capture a whole web page from the command line, through the Page Scanner Chrome extension.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"chrome",
|
|
7
|
+
"chrome-extension",
|
|
8
|
+
"screenshot",
|
|
9
|
+
"full-page-screenshot",
|
|
10
|
+
"pdf",
|
|
11
|
+
"cli",
|
|
12
|
+
"page-scanner"
|
|
13
|
+
],
|
|
14
|
+
"author": "Byungdon Yoon",
|
|
15
|
+
"license": "Apache-2.0",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/sbd530/page-scanner.git",
|
|
19
|
+
"directory": "cli"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/sbd530/page-scanner/tree/main/cli#readme",
|
|
22
|
+
"bugs": "https://github.com/sbd530/page-scanner/issues",
|
|
23
|
+
"type": "module",
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=24"
|
|
26
|
+
},
|
|
27
|
+
"bin": {
|
|
28
|
+
"page-scanner": "dist/bin.js"
|
|
29
|
+
},
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"default": "./dist/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./daemon": {
|
|
36
|
+
"types": "./dist/daemon/run.d.ts",
|
|
37
|
+
"default": "./dist/daemon/run.js"
|
|
38
|
+
},
|
|
39
|
+
"./package.json": "./package.json"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"README.md",
|
|
44
|
+
"LICENSE"
|
|
45
|
+
],
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public",
|
|
48
|
+
"provenance": true
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"ws": "^8.18.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@types/node": "^24",
|
|
55
|
+
"@types/ws": "^8.18.1",
|
|
56
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
57
|
+
"esbuild": "^0.25.12",
|
|
58
|
+
"typescript": "^6.0.3",
|
|
59
|
+
"vitest": "^4.1.11"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "tsc -p tsconfig.build.json",
|
|
63
|
+
"bundle": "node scripts/bundle.mjs",
|
|
64
|
+
"compile": "tsc --noEmit",
|
|
65
|
+
"typecheck": "tsc --noEmit",
|
|
66
|
+
"lint": "eslint .",
|
|
67
|
+
"lint:fix": "eslint . --fix",
|
|
68
|
+
"format": "prettier --write .",
|
|
69
|
+
"format:check": "prettier --check .",
|
|
70
|
+
"test": "vitest run",
|
|
71
|
+
"test:watch": "vitest",
|
|
72
|
+
"test:coverage": "vitest run --coverage",
|
|
73
|
+
"ci:checks": "pnpm run typecheck && pnpm run lint && pnpm run format:check && pnpm run test:coverage",
|
|
74
|
+
"ci:build": "pnpm run build",
|
|
75
|
+
"ci": "pnpm run ci:checks && pnpm run ci:build"
|
|
76
|
+
}
|
|
77
|
+
}
|