extension-develop 4.0.16 → 4.0.17
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 +1 -1
- package/dist/0~dev-server.mjs +25 -10
- package/dist/0~rspack-config.mjs +182 -190
- package/dist/101.mjs +114 -139
- package/dist/266.mjs +8 -7
- package/dist/349.mjs +249 -0
- package/dist/839.mjs +314 -29
- package/dist/845.mjs +19 -13
- package/dist/contract/codes.json +590 -0
- package/dist/contract/envelope.schema.json +42 -0
- package/dist/contract/golden.build.built.json +13 -0
- package/dist/contract/golden.build.compile.json +13 -0
- package/dist/contract/golden.dev.first-compile.json +23 -0
- package/dist/contract/golden.dev.ready.json +20 -0
- package/dist/contract/golden.doctor.healthy.json +45 -0
- package/dist/contract/golden.doctor.session-not-found.json +50 -0
- package/dist/contract/golden.eval.eval.json +16 -0
- package/dist/contract/golden.eval.ok.json +12 -0
- package/dist/dev-server/control-bridge/producer-runtime.d.ts +1 -1
- package/dist/dev-server/lifecycle-stream.d.ts +54 -0
- package/dist/lib/messages.d.ts +2 -10
- package/dist/lib/messaging.d.ts +180 -0
- package/dist/plugin-playwright/index.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/349.mjs
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
|
|
2
|
+
import pintor from "pintor";
|
|
3
|
+
const GLYPH = '⏵⏵⏵';
|
|
4
|
+
const DEBUG_GLYPH = '···';
|
|
5
|
+
const DEBUG_VALUES = new Set([
|
|
6
|
+
'1',
|
|
7
|
+
'true',
|
|
8
|
+
'yes',
|
|
9
|
+
'on',
|
|
10
|
+
'debug',
|
|
11
|
+
'dev',
|
|
12
|
+
'development'
|
|
13
|
+
]);
|
|
14
|
+
function isDebug() {
|
|
15
|
+
const raw = process.env.EXTENSION_DEBUG ?? process.env.EXTENSION_AUTHOR_MODE;
|
|
16
|
+
return DEBUG_VALUES.has(String(raw ?? '').trim().toLowerCase());
|
|
17
|
+
}
|
|
18
|
+
function prefix(type) {
|
|
19
|
+
if ('error' === type) return pintor.red(GLYPH);
|
|
20
|
+
if ('warn' === type) return pintor.brightYellow(GLYPH);
|
|
21
|
+
if ('success' === type) return pintor.green(GLYPH);
|
|
22
|
+
if ('debug' === type) return pintor.dim(pintor.gray(DEBUG_GLYPH));
|
|
23
|
+
return pintor.gray(GLYPH);
|
|
24
|
+
}
|
|
25
|
+
const fmt = {
|
|
26
|
+
heading: (title)=>pintor.underline(pintor.blue(title)),
|
|
27
|
+
label: (key)=>pintor.gray(key.toUpperCase()),
|
|
28
|
+
val: (value)=>pintor.underline(value),
|
|
29
|
+
code: (value)=>pintor.blue(value),
|
|
30
|
+
bullet: (value)=>`- ${value}`,
|
|
31
|
+
block (title, rows) {
|
|
32
|
+
const head = fmt.heading(title);
|
|
33
|
+
const body = rows.map(([key, value])=>`${fmt.label(key)} ${value}`).join('\n');
|
|
34
|
+
return `${head}\n${body}`;
|
|
35
|
+
},
|
|
36
|
+
truncate (input, max = 800) {
|
|
37
|
+
const s = (()=>{
|
|
38
|
+
try {
|
|
39
|
+
return 'string' == typeof input ? input : JSON.stringify(input);
|
|
40
|
+
} catch {
|
|
41
|
+
return String(input);
|
|
42
|
+
}
|
|
43
|
+
})();
|
|
44
|
+
return s.length > max ? `${s.slice(0, max)}…` : s;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const CARD_LABEL_WIDTH = 15;
|
|
48
|
+
function card(input = {}) {
|
|
49
|
+
const version = String(input.version || '').trim();
|
|
50
|
+
const suffix = String(input.suffix || '').trim();
|
|
51
|
+
const head = ` 🧩 ${pintor.brightBlue('Extension.js')}` + (version ? ` ${pintor.gray(version)}` : '') + (suffix ? ` ${suffix}` : '');
|
|
52
|
+
const body = (input.rows || []).filter((row)=>String(row.value || '').trim().length > 0).map((row)=>{
|
|
53
|
+
const label = row.label.padEnd(CARD_LABEL_WIDTH);
|
|
54
|
+
return ` ${label}${pintor.gray(String(row.value).trim())}`;
|
|
55
|
+
});
|
|
56
|
+
return [
|
|
57
|
+
head,
|
|
58
|
+
...body
|
|
59
|
+
].join('\n');
|
|
60
|
+
}
|
|
61
|
+
const CARD_KEYS_ENV = 'EXTENSION_CLI_CARD_KEYS';
|
|
62
|
+
const CARD_KEYS_SEPARATOR = '\u001f';
|
|
63
|
+
function isCardKeyClaimed(key) {
|
|
64
|
+
const claimed = String(process.env[CARD_KEYS_ENV] || '');
|
|
65
|
+
if (!claimed) return false;
|
|
66
|
+
return claimed.split(CARD_KEYS_SEPARATOR).includes(key);
|
|
67
|
+
}
|
|
68
|
+
function claimCardKey(key) {
|
|
69
|
+
if (isCardKeyClaimed(key)) return false;
|
|
70
|
+
const claimed = String(process.env[CARD_KEYS_ENV] || '');
|
|
71
|
+
process.env[CARD_KEYS_ENV] = claimed ? `${claimed}${CARD_KEYS_SEPARATOR}${key}` : key;
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
const GECKO_BROWSERS = new Set([
|
|
75
|
+
'firefox',
|
|
76
|
+
'firefox-based',
|
|
77
|
+
'gecko-based',
|
|
78
|
+
'librewolf',
|
|
79
|
+
'waterfox'
|
|
80
|
+
]);
|
|
81
|
+
function artifactNoun(browser) {
|
|
82
|
+
const name = String(browser || '').trim().toLowerCase();
|
|
83
|
+
if (GECKO_BROWSERS.has(name)) return 'Add-on';
|
|
84
|
+
if (name.includes('gecko') || name.includes('firefox')) return 'Add-on';
|
|
85
|
+
return 'Extension';
|
|
86
|
+
}
|
|
87
|
+
const ENVELOPE_SCHEMA = 1;
|
|
88
|
+
const CODES = {
|
|
89
|
+
E_ARGS: 'E_ARGS',
|
|
90
|
+
E_PROJECT_NOT_FOUND: 'E_PROJECT_NOT_FOUND',
|
|
91
|
+
E_MANIFEST_NOT_FOUND: 'E_MANIFEST_NOT_FOUND',
|
|
92
|
+
E_MANIFEST_INVALID: 'E_MANIFEST_INVALID',
|
|
93
|
+
E_FIRST_COMPILE: 'E_FIRST_COMPILE',
|
|
94
|
+
E_COMPILE: 'E_COMPILE',
|
|
95
|
+
E_BROWSER_NOT_FOUND: 'E_BROWSER_NOT_FOUND',
|
|
96
|
+
E_BROWSER_LAUNCH: 'E_BROWSER_LAUNCH',
|
|
97
|
+
E_PROFILE_LOCKED: 'E_PROFILE_LOCKED',
|
|
98
|
+
E_READY_TIMEOUT: 'E_READY_TIMEOUT',
|
|
99
|
+
E_SESSION_EXISTS: 'E_SESSION_EXISTS',
|
|
100
|
+
E_CONTROL_DENIED: 'E_CONTROL_DENIED',
|
|
101
|
+
E_CONTROL_UNAVAILABLE: 'E_CONTROL_UNAVAILABLE',
|
|
102
|
+
E_TOKEN_MISSING: 'E_TOKEN_MISSING',
|
|
103
|
+
E_NETWORK: 'E_NETWORK',
|
|
104
|
+
E_INTERRUPTED: 'E_INTERRUPTED',
|
|
105
|
+
E_NOT_IMPLEMENTED: 'E_NOT_IMPLEMENTED',
|
|
106
|
+
E_INTERNAL: 'E_INTERNAL',
|
|
107
|
+
E_UNSUPPORTED_BROWSER: 'E_UNSUPPORTED_BROWSER',
|
|
108
|
+
E_INVALID_OPTION: 'E_INVALID_OPTION',
|
|
109
|
+
E_PORT_UNAVAILABLE: 'E_PORT_UNAVAILABLE',
|
|
110
|
+
E_DEPENDENCY_INSTALL: 'E_DEPENDENCY_INSTALL',
|
|
111
|
+
E_TEMPLATE_NOT_FOUND: 'E_TEMPLATE_NOT_FOUND',
|
|
112
|
+
E_DESTINATION_NOT_EMPTY: 'E_DESTINATION_NOT_EMPTY',
|
|
113
|
+
E_DESTINATION_NOT_WRITABLE: 'E_DESTINATION_NOT_WRITABLE',
|
|
114
|
+
E_BROWSER_DOWNLOAD: 'E_BROWSER_DOWNLOAD',
|
|
115
|
+
E_SESSION_NOT_FOUND: 'E_SESSION_NOT_FOUND',
|
|
116
|
+
E_EVAL_REFUSED: 'E_EVAL_REFUSED',
|
|
117
|
+
E_TARGET_NOT_FOUND: 'E_TARGET_NOT_FOUND',
|
|
118
|
+
E_TIMEOUT: 'E_TIMEOUT',
|
|
119
|
+
E_PUBLISH_REJECTED: 'E_PUBLISH_REJECTED',
|
|
120
|
+
E_AUTH_REQUIRED: 'E_AUTH_REQUIRED',
|
|
121
|
+
E_SAFARI_TOOLCHAIN: 'E_SAFARI_TOOLCHAIN',
|
|
122
|
+
E_EVAL: 'E_EVAL',
|
|
123
|
+
E_INSPECT: 'E_INSPECT',
|
|
124
|
+
E_STORAGE: 'E_STORAGE',
|
|
125
|
+
E_LOGS_NOT_FOUND: 'E_LOGS_NOT_FOUND',
|
|
126
|
+
E_READY_ERROR_STATUS: 'E_READY_ERROR_STATUS',
|
|
127
|
+
E_COMMAND_UNSUPPORTED_FOR_TARGET: 'E_COMMAND_UNSUPPORTED_FOR_TARGET',
|
|
128
|
+
E_FLAG_VALUE_INVALID: 'E_FLAG_VALUE_INVALID',
|
|
129
|
+
E_FLAG_NOT_SUPPORTED_HERE: 'E_FLAG_NOT_SUPPORTED_HERE',
|
|
130
|
+
E_DEV_SERVER_START: 'E_DEV_SERVER_START',
|
|
131
|
+
E_DOCTOR_CHECKS_FAILED: 'E_DOCTOR_CHECKS_FAILED',
|
|
132
|
+
E_TELEMETRY_WRITE: 'E_TELEMETRY_WRITE',
|
|
133
|
+
E_PREVIEW_NO_DIST: 'E_PREVIEW_NO_DIST',
|
|
134
|
+
E_BROWSER_UNINSTALL: 'E_BROWSER_UNINSTALL',
|
|
135
|
+
E_NODE_VERSION: 'E_NODE_VERSION',
|
|
136
|
+
E_UNKNOWN_COMMAND: 'E_UNKNOWN_COMMAND',
|
|
137
|
+
E_REMOVED_FLAG: 'E_REMOVED_FLAG',
|
|
138
|
+
E_BROWSER_NOT_INSTALLABLE: 'E_BROWSER_NOT_INSTALLABLE',
|
|
139
|
+
E_PARENT_GONE: 'E_PARENT_GONE',
|
|
140
|
+
E_REMOTE_URL_UNSUPPORTED: 'E_REMOTE_URL_UNSUPPORTED',
|
|
141
|
+
E_CONFIG_LOAD: 'E_CONFIG_LOAD',
|
|
142
|
+
E_MANAGED_DEP_CONFLICT: 'E_MANAGED_DEP_CONFLICT',
|
|
143
|
+
E_TYPES_EMIT: 'E_TYPES_EMIT',
|
|
144
|
+
E_TSCONFIG_MISSING: 'E_TSCONFIG_MISSING',
|
|
145
|
+
E_OPTIONAL_DEP_UNRESOLVED: 'E_OPTIONAL_DEP_UNRESOLVED',
|
|
146
|
+
E_OPTIONAL_DEP_LOAD: 'E_OPTIONAL_DEP_LOAD',
|
|
147
|
+
E_OPTIONAL_DEP_UNKNOWN: 'E_OPTIONAL_DEP_UNKNOWN',
|
|
148
|
+
E_COMPANION_EXTENSION_PATH: 'E_COMPANION_EXTENSION_PATH',
|
|
149
|
+
E_MANIFEST_IN_PUBLIC: 'E_MANIFEST_IN_PUBLIC',
|
|
150
|
+
E_RUNTIME_NOT_FOUND: 'E_RUNTIME_NOT_FOUND',
|
|
151
|
+
E_MANIFEST_SHAPE: 'E_MANIFEST_SHAPE',
|
|
152
|
+
E_MANIFEST_PAGE_MISSING: 'E_MANIFEST_PAGE_MISSING',
|
|
153
|
+
E_MANIFEST_VERSION_UNSUPPORTED: 'E_MANIFEST_VERSION_UNSUPPORTED',
|
|
154
|
+
E_MANIFEST_LOAD_BLOCKERS: 'E_MANIFEST_LOAD_BLOCKERS',
|
|
155
|
+
E_MANIFEST_PERMISSION_MISSING: 'E_MANIFEST_PERMISSION_MISSING',
|
|
156
|
+
E_MANIFEST_MSG_KEY_MISSING: 'E_MANIFEST_MSG_KEY_MISSING',
|
|
157
|
+
E_MANIFEST_EMIT: 'E_MANIFEST_EMIT',
|
|
158
|
+
E_RESTART_REQUIRED: 'E_RESTART_REQUIRED',
|
|
159
|
+
E_COMPILE_FATAL: 'E_COMPILE_FATAL',
|
|
160
|
+
E_MODULE_NOT_FOUND: 'E_MODULE_NOT_FOUND',
|
|
161
|
+
E_ENTRY_NOT_FOUND: 'E_ENTRY_NOT_FOUND',
|
|
162
|
+
E_ASSET_MISSING: 'E_ASSET_MISSING',
|
|
163
|
+
E_SCRIPT_DEP_MISSING: 'E_SCRIPT_DEP_MISSING',
|
|
164
|
+
E_RESERVED_FOLDER: 'E_RESERVED_FOLDER',
|
|
165
|
+
E_CSS_PARSE: 'E_CSS_PARSE',
|
|
166
|
+
E_CSS_PREPROCESSOR_MISSING: 'E_CSS_PREPROCESSOR_MISSING',
|
|
167
|
+
E_CSS_DEAD_REF: 'E_CSS_DEAD_REF',
|
|
168
|
+
E_INTEGRATION_INSTALL: 'E_INTEGRATION_INSTALL',
|
|
169
|
+
E_POLYFILL_NOT_FOUND: 'E_POLYFILL_NOT_FOUND',
|
|
170
|
+
E_LOCALES_LAYOUT: 'E_LOCALES_LAYOUT',
|
|
171
|
+
E_WAR_INVALID: 'E_WAR_INVALID',
|
|
172
|
+
E_MATCH_PATTERN_INVALID: 'E_MATCH_PATTERN_INVALID',
|
|
173
|
+
E_BACKGROUND_REQUIRED: 'E_BACKGROUND_REQUIRED',
|
|
174
|
+
E_CONTENT_SCRIPT_SYNTAX: 'E_CONTENT_SCRIPT_SYNTAX',
|
|
175
|
+
E_NO_ENTRYPOINTS: 'E_NO_ENTRYPOINTS',
|
|
176
|
+
E_REMOTE_RESOURCE_BLOCKED: 'E_REMOTE_RESOURCE_BLOCKED',
|
|
177
|
+
E_PERF_BUDGET: 'E_PERF_BUDGET',
|
|
178
|
+
E_ZIP_SKIPPED: 'E_ZIP_SKIPPED',
|
|
179
|
+
E_ENV_NO_MATCH: 'E_ENV_NO_MATCH',
|
|
180
|
+
E_REMOTE_FETCH_TIMEOUT: 'E_REMOTE_FETCH_TIMEOUT',
|
|
181
|
+
E_REMOTE_DOWNLOAD: 'E_REMOTE_DOWNLOAD',
|
|
182
|
+
E_REMOTE_ZIP_INVALID: 'E_REMOTE_ZIP_INVALID',
|
|
183
|
+
E_LOCAL_ZIP_NOT_FOUND: 'E_LOCAL_ZIP_NOT_FOUND',
|
|
184
|
+
E_PROJECT_DOWNLOAD_EMPTY: 'E_PROJECT_DOWNLOAD_EMPTY',
|
|
185
|
+
E_BROWSER_BINARY_REQUIRED: 'E_BROWSER_BINARY_REQUIRED',
|
|
186
|
+
E_BROWSER_BINARY_INVALID: 'E_BROWSER_BINARY_INVALID',
|
|
187
|
+
E_BROWSER_EXITED: 'E_BROWSER_EXITED',
|
|
188
|
+
E_BROWSER_START_TIMEOUT: 'E_BROWSER_START_TIMEOUT',
|
|
189
|
+
E_LAUNCH_SKIPPED_COMPILE_ERRORS: 'E_LAUNCH_SKIPPED_COMPILE_ERRORS',
|
|
190
|
+
E_INSTANCE_AMBIGUOUS: 'E_INSTANCE_AMBIGUOUS',
|
|
191
|
+
E_WSL_INTEROP: 'E_WSL_INTEROP',
|
|
192
|
+
E_EXTENSION_LOAD_REFUSED: 'E_EXTENSION_LOAD_REFUSED',
|
|
193
|
+
E_ADDON_INSTALL: 'E_ADDON_INSTALL',
|
|
194
|
+
E_BROWSER_CONNECT: 'E_BROWSER_CONNECT',
|
|
195
|
+
E_BROWSER_CONNECTION_CLOSED: 'E_BROWSER_CONNECTION_CLOSED',
|
|
196
|
+
E_CDP_NOT_CONNECTED: 'E_CDP_NOT_CONNECTED',
|
|
197
|
+
E_CDP_TIMEOUT: 'E_CDP_TIMEOUT',
|
|
198
|
+
E_CDP_OP_FAILED: 'E_CDP_OP_FAILED',
|
|
199
|
+
E_EXTENSION_ID_UNKNOWN: 'E_EXTENSION_ID_UNKNOWN',
|
|
200
|
+
E_RDP_PROTOCOL: 'E_RDP_PROTOCOL',
|
|
201
|
+
E_DEV_SERVER_TIMEOUT: 'E_DEV_SERVER_TIMEOUT',
|
|
202
|
+
E_PORT_IN_USE: 'E_PORT_IN_USE',
|
|
203
|
+
E_SESSION_STOPPED: 'E_SESSION_STOPPED',
|
|
204
|
+
E_LOGS_STREAM_GAP: 'E_LOGS_STREAM_GAP',
|
|
205
|
+
E_CREATE_DIR: 'E_CREATE_DIR',
|
|
206
|
+
E_CREATE_WRITE: 'E_CREATE_WRITE',
|
|
207
|
+
E_CREATE_TESTS_SETUP: 'E_CREATE_TESTS_SETUP',
|
|
208
|
+
E_GIT_SKIPPED: 'E_GIT_SKIPPED',
|
|
209
|
+
E_BROWSER_INSTALL_PRIVILEGE: 'E_BROWSER_INSTALL_PRIVILEGE',
|
|
210
|
+
E_UNINSTALL_NOOP: 'E_UNINSTALL_NOOP'
|
|
211
|
+
};
|
|
212
|
+
function withExtras(base, extras) {
|
|
213
|
+
return {
|
|
214
|
+
...base,
|
|
215
|
+
...extras.hint ? {
|
|
216
|
+
hint: extras.hint
|
|
217
|
+
} : {},
|
|
218
|
+
...extras.truncated ? {
|
|
219
|
+
truncated: true
|
|
220
|
+
} : {},
|
|
221
|
+
warnings: extras.warnings || []
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
const ENVELOPE = {
|
|
225
|
+
schema: ENVELOPE_SCHEMA,
|
|
226
|
+
ok (command, status, value, extras = {}) {
|
|
227
|
+
return withExtras({
|
|
228
|
+
schema: ENVELOPE_SCHEMA,
|
|
229
|
+
ok: true,
|
|
230
|
+
command,
|
|
231
|
+
status,
|
|
232
|
+
value,
|
|
233
|
+
error: null,
|
|
234
|
+
warnings: []
|
|
235
|
+
}, extras);
|
|
236
|
+
},
|
|
237
|
+
fail (command, status, error, extras = {}) {
|
|
238
|
+
return withExtras({
|
|
239
|
+
schema: ENVELOPE_SCHEMA,
|
|
240
|
+
ok: false,
|
|
241
|
+
command,
|
|
242
|
+
status,
|
|
243
|
+
value: extras.value ?? null,
|
|
244
|
+
error,
|
|
245
|
+
warnings: []
|
|
246
|
+
}, extras);
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
export { CODES, ENVELOPE, artifactNoun, card, claimCardKey, fmt, isDebug, prefix };
|