@extenshi/cli 0.20.0 → 0.22.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/README.md +4 -0
- package/dist/amo-source-detect.d.ts +18 -0
- package/dist/amo-source-detect.d.ts.map +1 -0
- package/dist/amo-source-detect.js +41 -0
- package/dist/amo-source-detect.js.map +1 -0
- package/dist/amo-source.d.ts +41 -0
- package/dist/amo-source.d.ts.map +1 -0
- package/dist/amo-source.js +240 -0
- package/dist/amo-source.js.map +1 -0
- package/dist/amowebstore-md.d.ts +38 -0
- package/dist/amowebstore-md.d.ts.map +1 -0
- package/dist/amowebstore-md.js +118 -0
- package/dist/amowebstore-md.js.map +1 -0
- package/dist/auto-evidence.d.ts +100 -0
- package/dist/auto-evidence.d.ts.map +1 -0
- package/dist/auto-evidence.js +197 -0
- package/dist/auto-evidence.js.map +1 -0
- package/dist/cli.js +320 -8
- package/dist/cli.js.map +1 -1
- package/dist/edgewebstore-md.d.ts +26 -0
- package/dist/edgewebstore-md.d.ts.map +1 -0
- package/dist/edgewebstore-md.js +95 -0
- package/dist/edgewebstore-md.js.map +1 -0
- package/dist/evidence-ingest.d.ts +60 -0
- package/dist/evidence-ingest.d.ts.map +1 -0
- package/dist/evidence-ingest.js +141 -0
- package/dist/evidence-ingest.js.map +1 -0
- package/dist/expected-error.d.ts +9 -0
- package/dist/expected-error.d.ts.map +1 -1
- package/dist/expected-error.js +16 -1
- package/dist/expected-error.js.map +1 -1
- package/dist/firefox-rdp.d.ts +55 -0
- package/dist/firefox-rdp.d.ts.map +1 -0
- package/dist/firefox-rdp.js +203 -0
- package/dist/firefox-rdp.js.map +1 -0
- package/dist/gecko-id.d.ts +55 -0
- package/dist/gecko-id.d.ts.map +1 -0
- package/dist/gecko-id.js +132 -0
- package/dist/gecko-id.js.map +1 -0
- package/dist/generate-listing.d.ts +19 -8
- package/dist/generate-listing.d.ts.map +1 -1
- package/dist/generate-listing.js +66 -18
- package/dist/generate-listing.js.map +1 -1
- package/dist/icon.d.ts +18 -0
- package/dist/icon.d.ts.map +1 -1
- package/dist/icon.js +29 -20
- package/dist/icon.js.map +1 -1
- package/dist/json-ld.d.ts +89 -0
- package/dist/json-ld.d.ts.map +1 -0
- package/dist/json-ld.js +118 -0
- package/dist/json-ld.js.map +1 -0
- package/dist/landing-page.d.ts +123 -0
- package/dist/landing-page.d.ts.map +1 -0
- package/dist/landing-page.js +405 -0
- package/dist/landing-page.js.map +1 -0
- package/dist/media.d.ts +42 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +96 -0
- package/dist/media.js.map +1 -0
- package/dist/package.d.ts +163 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/package.js +500 -0
- package/dist/package.js.map +1 -0
- package/dist/page.d.ts +141 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +227 -0
- package/dist/page.js.map +1 -0
- package/dist/pay-contract.d.ts +20 -13
- package/dist/pay-contract.d.ts.map +1 -1
- package/dist/pay-contract.js +20 -11
- package/dist/pay-contract.js.map +1 -1
- package/dist/pay-test-cycle.d.ts +40 -0
- package/dist/pay-test-cycle.d.ts.map +1 -0
- package/dist/pay-test-cycle.js +207 -0
- package/dist/pay-test-cycle.js.map +1 -0
- package/dist/pay.d.ts +1 -1
- package/dist/pay.d.ts.map +1 -1
- package/dist/pay.js +1 -0
- package/dist/pay.js.map +1 -1
- package/dist/project.d.ts +39 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +231 -20
- package/dist/project.js.map +1 -1
- package/dist/publish.d.ts +33 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +113 -2
- package/dist/publish.js.map +1 -1
- package/dist/review-checks.d.ts +13 -0
- package/dist/review-checks.d.ts.map +1 -1
- package/dist/review-checks.js.map +1 -1
- package/dist/review-risk.d.ts +10 -1
- package/dist/review-risk.d.ts.map +1 -1
- package/dist/review-risk.js +1 -0
- package/dist/review-risk.js.map +1 -1
- package/dist/scan.d.ts +3 -2
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +4 -2
- package/dist/scan.js.map +1 -1
- package/dist/screenshots-scenes.d.ts +1383 -0
- package/dist/screenshots-scenes.d.ts.map +1 -0
- package/dist/screenshots-scenes.js +276 -0
- package/dist/screenshots-scenes.js.map +1 -0
- package/dist/screenshots.d.ts +145 -0
- package/dist/screenshots.d.ts.map +1 -0
- package/dist/screenshots.js +557 -0
- package/dist/screenshots.js.map +1 -0
- package/dist/smoke.d.ts +81 -0
- package/dist/smoke.d.ts.map +1 -0
- package/dist/smoke.js +491 -0
- package/dist/smoke.js.map +1 -0
- package/dist/store-assets.d.ts +139 -0
- package/dist/store-assets.d.ts.map +1 -0
- package/dist/store-assets.js +582 -0
- package/dist/store-assets.js.map +1 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +3 -0
- package/dist/telemetry.js.map +1 -1
- package/dist/zip.d.ts +57 -0
- package/dist/zip.d.ts.map +1 -0
- package/dist/zip.js +134 -0
- package/dist/zip.js.map +1 -0
- package/package.json +4 -3
package/dist/cli.js
CHANGED
|
@@ -27,14 +27,19 @@
|
|
|
27
27
|
* re-reads the config on the first event of the run, so an answer given here is
|
|
28
28
|
* already in force for the very run that asked it.
|
|
29
29
|
*/
|
|
30
|
+
import { existsSync, statSync } from 'node:fs';
|
|
30
31
|
import { readFile } from 'node:fs/promises';
|
|
31
32
|
import { createRequire } from 'node:module';
|
|
32
33
|
import os from 'node:os';
|
|
34
|
+
import path from 'node:path';
|
|
33
35
|
import * as readline from 'node:readline/promises';
|
|
34
36
|
import { program } from 'commander';
|
|
37
|
+
import { runAmoSource } from './amo-source.js';
|
|
38
|
+
import { evidenceBrowsers, generatedListingEvidence, listingEvidence, permissionsEvidence, recordAutoEvidence, scanEvidence, sha256Hex, smokeEvidence, } from './auto-evidence.js';
|
|
35
39
|
import { checkAutoUpdate } from './auto-update.js';
|
|
36
40
|
import { CONFIG_PATH, loadConfig, readTelemetryPreference, saveConfig, saveTelemetryPreference, } from './config.js';
|
|
37
|
-
import {
|
|
41
|
+
import { registerEvidenceIngest } from './evidence-ingest.js';
|
|
42
|
+
import { InvalidInputError, isExpectedError } from './expected-error.js';
|
|
38
43
|
import { runGenerateListing } from './generate-listing.js';
|
|
39
44
|
import { runIconPreview } from './icon.js';
|
|
40
45
|
import { applyLocalization, checkLocalization, prepareLocalization } from './localize.js';
|
|
@@ -42,12 +47,20 @@ import { initializeLocalization } from './localize-init.js';
|
|
|
42
47
|
import { makeLoginBff } from './login-bff.js';
|
|
43
48
|
import { runBrowserLogin } from './login-flow.js';
|
|
44
49
|
import { openBrowser, openLoopback, sleep } from './login-runtime.js';
|
|
50
|
+
import { runMediaUpload } from './media.js';
|
|
51
|
+
import { parsePackageBrowsers, resolvePackagedArtifact, runPackage } from './package.js';
|
|
52
|
+
import { runPageGenerate, runPagePublish, runPageRegister, runPageUnpublish } from './page.js';
|
|
45
53
|
import { registerPayCommands } from './pay.js';
|
|
54
|
+
import { registerPayTestCycle } from './pay-test-cycle.js';
|
|
46
55
|
import { registerProjectCommands } from './project.js';
|
|
47
56
|
import { runPublish } from './publish.js';
|
|
57
|
+
import { runListingOnlyChecks } from './review-checks.js';
|
|
48
58
|
import { runReviewRisk } from './review-risk.js';
|
|
49
59
|
import { parseRefs, parseStore, runRisk } from './risk.js';
|
|
50
60
|
import { runScan } from './scan.js';
|
|
61
|
+
import { runScreenshotsCommand } from './screenshots.js';
|
|
62
|
+
import { ENGINE_BROWSER, parseSmokeEngine, renderSmoke, runSmoke } from './smoke.js';
|
|
63
|
+
import { runStoreAssets } from './store-assets.js';
|
|
51
64
|
import { captureError, captureEvent, classifyError, flagsFromArgv, flushTelemetry, initTelemetry, } from './telemetry.js';
|
|
52
65
|
import { defaultConsentDeps, envAnswerSource, maybeAskForTelemetryConsent } from './telemetry-consent.js';
|
|
53
66
|
const MISSING_KEY_HELP = "Looks like you don't have an Extenshi API key set up yet — let's fix that.\n" +
|
|
@@ -101,8 +114,24 @@ async function runCommand(command, action) {
|
|
|
101
114
|
process.exit(1);
|
|
102
115
|
}
|
|
103
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* `--evidence` is checked BEFORE the work it attests: a paid scan that cannot
|
|
119
|
+
* record its evidence afterwards would spend a credit for nothing.
|
|
120
|
+
*/
|
|
121
|
+
function assertEvidenceBinding() {
|
|
122
|
+
if (!existsSync(path.join(process.cwd(), '.extenshi/project.json')))
|
|
123
|
+
throw new InvalidInputError('--evidence records against the project bound in this directory. Run extenshi project bind --project <id> --repo <owner/repo> first.');
|
|
124
|
+
}
|
|
125
|
+
/** Evidence binds to the exact package bytes, so it needs a package file, not an unpacked folder. */
|
|
126
|
+
async function evidenceArtifact(artifact) {
|
|
127
|
+
if (!existsSync(artifact) || !statSync(artifact).isFile())
|
|
128
|
+
throw new InvalidInputError('--evidence binds to the exact package: pass the zip (e.g. from extenshi package), not an unpacked folder.');
|
|
129
|
+
const bytes = await readFile(artifact);
|
|
130
|
+
return { bytes, digest: sha256Hex(bytes) };
|
|
131
|
+
}
|
|
104
132
|
registerProjectCommands(program);
|
|
105
|
-
registerPayCommands(program);
|
|
133
|
+
registerPayTestCycle(registerPayCommands(program));
|
|
134
|
+
registerEvidenceIngest(program, runCommand);
|
|
106
135
|
program
|
|
107
136
|
.name('extenshi')
|
|
108
137
|
.description('Pre-publish security scanner for browser extensions')
|
|
@@ -124,12 +153,21 @@ program
|
|
|
124
153
|
.option('--listing <file>', 'JSON file with your store listing text (name / shortDescription / description, optionally per locale). ' +
|
|
125
154
|
'Without it the listing checks still run, but only over the name and short description the package carries — ' +
|
|
126
155
|
'the full description lives in the dashboard, never in the artifact')
|
|
156
|
+
.option('--evidence', 'Record the result as `scan` release evidence for the project bound here (extenshi project bind), bound to this exact package')
|
|
157
|
+
.option('--evidence-browser <list>', 'Store(s) the evidence is for: chrome,edge,firefox (default: read from the extenshi-packages.json next to the zip)')
|
|
127
158
|
.action(async (artifact, opts) => {
|
|
128
159
|
await runCommand('scan', async () => {
|
|
129
160
|
const config = await loadConfig(opts.apiUrl);
|
|
130
161
|
if (!config.apiKey) {
|
|
131
162
|
throw new Error(MISSING_KEY_HELP);
|
|
132
163
|
}
|
|
164
|
+
// Everything --evidence needs is settled before a credit is spent.
|
|
165
|
+
let evidence;
|
|
166
|
+
if (opts.evidence) {
|
|
167
|
+
assertEvidenceBinding();
|
|
168
|
+
const { digest } = await evidenceArtifact(artifact);
|
|
169
|
+
evidence = { digest, browsers: evidenceBrowsers(artifact, digest, opts.evidenceBrowser) };
|
|
170
|
+
}
|
|
133
171
|
// Auto-update check (fail-soft — never blocks scan)
|
|
134
172
|
await checkAutoUpdate();
|
|
135
173
|
let reportFormat;
|
|
@@ -160,7 +198,7 @@ program
|
|
|
160
198
|
// explicitly disabled (--no-open), and not in CI (no browser/display —
|
|
161
199
|
// the file is still written so CI can archive it as an artifact).
|
|
162
200
|
const openReport = format === 'html' && (opts.open ?? true) && !process.env.CI;
|
|
163
|
-
await runScan({
|
|
201
|
+
const body = await runScan({
|
|
164
202
|
artifactPath: artifact,
|
|
165
203
|
apiKey: config.apiKey,
|
|
166
204
|
apiUrl: config.apiUrl,
|
|
@@ -179,6 +217,8 @@ program
|
|
|
179
217
|
bffUrl: config.bffUrl,
|
|
180
218
|
listingPath: opts.listing,
|
|
181
219
|
});
|
|
220
|
+
if (evidence)
|
|
221
|
+
await recordAutoEvidence(scanEvidence({ artifactDigest: evidence.digest, browsers: evidence.browsers, body }));
|
|
182
222
|
});
|
|
183
223
|
});
|
|
184
224
|
program
|
|
@@ -190,6 +230,13 @@ program
|
|
|
190
230
|
.option('--stores <list>', 'Comma-separated stores: chrome,firefox,edge (default: every store with complete credentials)')
|
|
191
231
|
.option('--firefox-artifact <path>', 'Separate .xpi for Firefox (default: the main artifact)')
|
|
192
232
|
.option('--release-notes <text>', 'Release notes passed to stores that accept them')
|
|
233
|
+
.option('--listing <file>', 'Firefox: AMO listing (JSON, or the AMO.md `generate-listing --store firefox` writes, placeholders filled); ' +
|
|
234
|
+
'creates the add-on on first submission or edits its listing')
|
|
235
|
+
.option('--source <archive>', 'Firefox: reviewer source archive (.zip/.tar.gz) for the new version (needs --listing)')
|
|
236
|
+
.option('--screenshots <dir>', 'Firefox: AMO previews in file-name order: an image folder or `extenshi screenshots` output (its firefox/<locale>/ set); needs --listing')
|
|
237
|
+
.option('--allow-new-addon', 'Firefox: allow creating a NEW AMO add-on, whose id is permanent (in a bound project the owner-decided amo.addonId governs this)')
|
|
238
|
+
.option('--addon-id <id>', 'Firefox: the AMO add-on id ({GUID} or name@domain), stated explicitly; required with --allow-new-addon outside a bound project')
|
|
239
|
+
.option('--replace-screenshots', 'Firefox: replace the previews of an existing AMO add-on')
|
|
193
240
|
.option('--validate', 'Only validate store credentials, publish nothing')
|
|
194
241
|
.option('--no-wait', 'Edge: return after commit without polling the operation to a terminal status')
|
|
195
242
|
.option('--extension-id <id>', 'Numeric catalog ID — checks publish-beta access against this specific extension')
|
|
@@ -226,6 +273,12 @@ program
|
|
|
226
273
|
bffUrl: config.bffUrl,
|
|
227
274
|
apiKey: config.apiKey,
|
|
228
275
|
extensionId,
|
|
276
|
+
listingPath: opts.listing,
|
|
277
|
+
sourcePath: opts.source,
|
|
278
|
+
screenshotsDir: opts.screenshots,
|
|
279
|
+
allowNewAddon: opts.allowNewAddon ?? false,
|
|
280
|
+
addonId: opts.addonId,
|
|
281
|
+
replaceScreenshots: opts.replaceScreenshots ?? false,
|
|
229
282
|
});
|
|
230
283
|
});
|
|
231
284
|
});
|
|
@@ -244,8 +297,20 @@ program
|
|
|
244
297
|
'The package already supplies the localized name and short description; this adds the full description, ' +
|
|
245
298
|
'which exists only in the developer dashboard.')
|
|
246
299
|
.option('--json', 'Output raw JSON findings')
|
|
300
|
+
.option('--evidence', 'Record `permissions` evidence (bound to the packaged manifest) and, with --listing, `listing` evidence per locale ' +
|
|
301
|
+
'(bound to that file — pass the same file to release prepare --listing) for the project bound here')
|
|
302
|
+
.option('--evidence-browser <list>', 'Store(s) the evidence is for: chrome,edge,firefox (default: --store, else the extenshi-packages.json next to the zip)')
|
|
247
303
|
.action(async (artifact, opts) => {
|
|
248
304
|
await runCommand('review-risk', async () => {
|
|
305
|
+
let evidence;
|
|
306
|
+
if (opts.evidence) {
|
|
307
|
+
assertEvidenceBinding();
|
|
308
|
+
const { digest } = await evidenceArtifact(artifact);
|
|
309
|
+
evidence = {
|
|
310
|
+
digest,
|
|
311
|
+
browsers: evidenceBrowsers(artifact, digest, opts.evidenceBrowser ?? opts.store),
|
|
312
|
+
};
|
|
313
|
+
}
|
|
249
314
|
// Default to CHROME — this tool is Chrome-Web-Store-centric, and pinning
|
|
250
315
|
// the store avoids diffing against another store's snapshot.
|
|
251
316
|
const storeMap = {
|
|
@@ -261,7 +326,7 @@ program
|
|
|
261
326
|
// manifest diff only uses the key if the catalog read path is gated.
|
|
262
327
|
const config = await loadConfig();
|
|
263
328
|
await checkAutoUpdate();
|
|
264
|
-
await runReviewRisk({
|
|
329
|
+
const result = await runReviewRisk({
|
|
265
330
|
artifactPath: artifact,
|
|
266
331
|
extensionId: opts.extensionId,
|
|
267
332
|
bffUrl: (opts.catalogUrl ?? 'https://bff.extenshi.io').replace(/\/$/, ''),
|
|
@@ -270,6 +335,27 @@ program
|
|
|
270
335
|
listingPath: opts.listing,
|
|
271
336
|
outputJson: opts.json ?? false,
|
|
272
337
|
});
|
|
338
|
+
if (evidence) {
|
|
339
|
+
const listingFindings = runListingOnlyChecks(result.listing);
|
|
340
|
+
const records = permissionsEvidence({
|
|
341
|
+
artifactDigest: evidence.digest,
|
|
342
|
+
manifest: result.manifest,
|
|
343
|
+
browsers: evidence.browsers,
|
|
344
|
+
findings: result.summary.findings,
|
|
345
|
+
listingCheckIds: new Set(listingFindings.map((f) => f.check)),
|
|
346
|
+
});
|
|
347
|
+
if (opts.listing)
|
|
348
|
+
records.push(...listingEvidence({
|
|
349
|
+
artifactDigest: evidence.digest,
|
|
350
|
+
listingBytes: await readFile(opts.listing),
|
|
351
|
+
listing: result.listing,
|
|
352
|
+
browsers: evidence.browsers,
|
|
353
|
+
listingFindings,
|
|
354
|
+
}));
|
|
355
|
+
else
|
|
356
|
+
process.stderr.write('note: no listing evidence — it binds to a listing file; pass --listing <file> (the one you give release prepare --listing)\n');
|
|
357
|
+
await recordAutoEvidence(records);
|
|
358
|
+
}
|
|
273
359
|
});
|
|
274
360
|
});
|
|
275
361
|
const localize = program
|
|
@@ -321,21 +407,140 @@ localize
|
|
|
321
407
|
});
|
|
322
408
|
program
|
|
323
409
|
.command('generate-listing <artifact>')
|
|
324
|
-
.description('Generate
|
|
410
|
+
.description('Generate a store listing draft from a packaged (.zip/.crx/.xpi) or unpacked extension: ' +
|
|
325
411
|
'listing copy, permission justifications, single purpose and privacy-practices questions. ' +
|
|
326
412
|
'Assembles the existing justification and privacy-disclosure checklists — does not write ' +
|
|
327
|
-
'anything into
|
|
328
|
-
|
|
413
|
+
'anything into any store dashboard. --store picks CHROMEWEBSTORE.md / EDGE.md / AMO.md ' +
|
|
414
|
+
'(default chrome); all three are the same listing draft `review-risk --listing` accepts.')
|
|
415
|
+
.option('--store <store>', 'Which store to draft for: chrome (default), edge, or firefox', 'chrome')
|
|
416
|
+
.option('--output <path>', 'Where to write the markdown (default: the per-store filename in the current directory)')
|
|
329
417
|
.option('--listing <file>', 'JSON file with your store listing text (name / shortDescription / description). ' +
|
|
330
418
|
'Overlays the package so the generated markdown can include the full dashboard description.')
|
|
419
|
+
.option('--evidence', 'After writing the file, run the listing rules over it and record `listing` evidence per locale, bound to the ' +
|
|
420
|
+
'generated file (pass it to release prepare --listing). Needs a packaged zip, not a folder.')
|
|
421
|
+
.option('--evidence-browser <list>', 'Store(s) the evidence is for: chrome,edge,firefox (default: the --store the draft is written for)')
|
|
331
422
|
.action(async (artifact, opts) => {
|
|
332
423
|
await runCommand('generate-listing', async () => {
|
|
424
|
+
const store = (opts.store ?? 'chrome').trim().toLowerCase();
|
|
425
|
+
if (store !== 'chrome' && store !== 'edge' && store !== 'firefox') {
|
|
426
|
+
throw new Error(`--store must be chrome, edge or firefox (got "${opts.store}")`);
|
|
427
|
+
}
|
|
428
|
+
// The draft is one store's listing, so its evidence is that store's by default.
|
|
429
|
+
let evidence;
|
|
430
|
+
if (opts.evidence) {
|
|
431
|
+
assertEvidenceBinding();
|
|
432
|
+
const { bytes, digest } = await evidenceArtifact(artifact);
|
|
433
|
+
evidence = {
|
|
434
|
+
bytes,
|
|
435
|
+
digest,
|
|
436
|
+
browsers: evidenceBrowsers(artifact, digest, opts.evidenceBrowser ?? store),
|
|
437
|
+
};
|
|
438
|
+
}
|
|
333
439
|
await checkAutoUpdate();
|
|
334
|
-
await runGenerateListing({
|
|
440
|
+
const outputPath = await runGenerateListing({
|
|
335
441
|
artifactPath: artifact,
|
|
336
442
|
outputPath: opts.output,
|
|
337
443
|
listingPath: opts.listing,
|
|
444
|
+
store,
|
|
445
|
+
});
|
|
446
|
+
if (evidence)
|
|
447
|
+
await recordAutoEvidence(await generatedListingEvidence({
|
|
448
|
+
artifactBytes: evidence.bytes,
|
|
449
|
+
artifactDigest: evidence.digest,
|
|
450
|
+
draftPath: outputPath,
|
|
451
|
+
browsers: evidence.browsers,
|
|
452
|
+
}));
|
|
453
|
+
});
|
|
454
|
+
});
|
|
455
|
+
program
|
|
456
|
+
.command('package [dir]')
|
|
457
|
+
.description('Build one reproducible store zip per browser from an unpacked build directory: sorted entries, fixed ' +
|
|
458
|
+
'timestamps, no file modes or extra metadata — the same bytes on every machine and timezone. Prints the ' +
|
|
459
|
+
'sha256 of each zip and writes extenshi-packages.json, which release prepare, test smoke and evidence ' +
|
|
460
|
+
'ingest accept directly. Never modifies the source directory. Free, offline.')
|
|
461
|
+
.option('--browser <list>', 'Comma-separated: chrome,edge,firefox (default: chrome)')
|
|
462
|
+
.option('--chrome-dir <dir>', 'Build directory for Chrome (overrides [dir])')
|
|
463
|
+
.option('--edge-dir <dir>', 'Build directory for Edge (overrides [dir])')
|
|
464
|
+
.option('--firefox-dir <dir>', 'Build directory for Firefox (overrides [dir])')
|
|
465
|
+
.option('--out <dir>', 'Output directory (default: .extenshi/packages — ignored by the dirty-tree digest release prepare records)')
|
|
466
|
+
.option('--exclude <patterns...>', 'Leave files out (gitignore-style globs, comma-separated or repeated). Dot-entries and node_modules are always left out.')
|
|
467
|
+
.option('--gecko-id <id>', 'Firefox: write this add-on ID into the PACKAGED manifest. A missing or placeholder ID is refused otherwise.')
|
|
468
|
+
.option('--fix-war', 'Replace wildcard web_accessible_resources with the explicit list of matching files, in the packaged copy only')
|
|
469
|
+
.option('--json', 'Print the packages manifest as JSON')
|
|
470
|
+
.action(async (dir, opts) => {
|
|
471
|
+
await runCommand('package', async () => {
|
|
472
|
+
runPackage({
|
|
473
|
+
dir,
|
|
474
|
+
dirs: { chrome: opts.chromeDir, edge: opts.edgeDir, firefox: opts.firefoxDir },
|
|
475
|
+
browsers: parsePackageBrowsers(opts.browser),
|
|
476
|
+
outDir: opts.out ?? '.extenshi/packages',
|
|
477
|
+
exclude: opts.exclude,
|
|
478
|
+
geckoId: opts.geckoId,
|
|
479
|
+
fixWar: opts.fixWar ?? false,
|
|
480
|
+
json: opts.json ?? false,
|
|
481
|
+
cliVersion: pkg.version,
|
|
482
|
+
});
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
const test = program.command('test').description('Test packaged extensions in real browsers');
|
|
486
|
+
test
|
|
487
|
+
.command('smoke <package>')
|
|
488
|
+
.description('Install the EXACT package (a zip, or extenshi-packages.json + --browser) in a real browser and check that it ' +
|
|
489
|
+
'loads, its service worker/background starts, the browser reports no manifest errors, and its popup/options/' +
|
|
490
|
+
'side-panel pages open without console errors. chromium/edge use Playwright (install it in your project: ' +
|
|
491
|
+
'npm i -D playwright && npx playwright install chromium); firefox needs only a Firefox binary. Exit 1 on failure.')
|
|
492
|
+
.requiredOption('--browser <browser>', 'chromium (alias chrome) | edge | firefox')
|
|
493
|
+
.option('--json', 'Print the result as JSON')
|
|
494
|
+
.option('--timeout <ms>', 'Budget per wait (service worker start, page load)', '15000')
|
|
495
|
+
.option('--headed', 'Show the browser window')
|
|
496
|
+
.option('--firefox-bin <path>', 'Firefox binary (default: FIREFOX_BIN, standard install locations, PATH)')
|
|
497
|
+
.option('--browser-path <path>', 'Chromium/Edge executable instead of the Playwright channel default')
|
|
498
|
+
.option('--evidence', 'Record the result as `installed` release evidence for the project bound here (extenshi project bind)')
|
|
499
|
+
.action(async (packagePath, opts) => {
|
|
500
|
+
await runCommand('test smoke', async () => {
|
|
501
|
+
const engine = parseSmokeEngine(opts.browser);
|
|
502
|
+
if (opts.evidence)
|
|
503
|
+
assertEvidenceBinding();
|
|
504
|
+
const timeoutMs = Number.parseInt(opts.timeout, 10);
|
|
505
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs < 1000)
|
|
506
|
+
throw new InvalidInputError('--timeout must be ≥ 1000 ms');
|
|
507
|
+
const { artifactPath } = resolvePackagedArtifact(packagePath, ENGINE_BROWSER[engine]);
|
|
508
|
+
const result = await runSmoke({
|
|
509
|
+
artifactPath,
|
|
510
|
+
engine,
|
|
511
|
+
timeoutMs,
|
|
512
|
+
headed: opts.headed ?? false,
|
|
513
|
+
firefoxBinary: opts.firefoxBin,
|
|
514
|
+
browserPath: opts.browserPath,
|
|
338
515
|
});
|
|
516
|
+
process.stdout.write(opts.json ? `${JSON.stringify(result, null, 2)}\n` : `${renderSmoke(result)}\n`);
|
|
517
|
+
if (opts.evidence)
|
|
518
|
+
await recordAutoEvidence(smokeEvidence({ browser: ENGINE_BROWSER[engine], result }));
|
|
519
|
+
if (result.status === 'failed')
|
|
520
|
+
process.exitCode = 1;
|
|
521
|
+
});
|
|
522
|
+
});
|
|
523
|
+
program
|
|
524
|
+
.command('amo-source <project-dir>')
|
|
525
|
+
.description('Produce the AMO source-code archive + BUILD.md reviewer instructions for a Firefox add-on ' +
|
|
526
|
+
'project directory. Excludes node_modules/dist/.git and dotenv secrets (.env*); includes the ' +
|
|
527
|
+
'lockfile. Refuses on an uncommitted git working tree (the archive should match a real commit). ' +
|
|
528
|
+
'Flags vendored minified files with no reproducible-build provenance as blockers. Does not talk ' +
|
|
529
|
+
'to the AMO API — upload the archive by hand, or via the separate AMO API submission path.')
|
|
530
|
+
.option('--out <path>', 'Where to write the archive (default: amo-source.zip in the current directory)')
|
|
531
|
+
.action(async (projectDir, opts) => {
|
|
532
|
+
await runCommand('amo-source', async () => {
|
|
533
|
+
await checkAutoUpdate();
|
|
534
|
+
const result = await runAmoSource({ projectDir, outputPath: opts.out });
|
|
535
|
+
console.log(`Wrote ${result.zipPath} (${result.fileCount} files)`);
|
|
536
|
+
console.log(`Wrote ${result.buildMdPath}`);
|
|
537
|
+
if (result.blockers.length > 0) {
|
|
538
|
+
console.log(`\n${result.blockers.length} file(s) need a source-code submission before this can go to AMO:`);
|
|
539
|
+
for (const f of result.blockers)
|
|
540
|
+
console.log(` - ${f.path}`);
|
|
541
|
+
console.log('See BUILD.md for what to do about each one.');
|
|
542
|
+
process.exitCode = 1;
|
|
543
|
+
}
|
|
339
544
|
});
|
|
340
545
|
});
|
|
341
546
|
program
|
|
@@ -398,6 +603,113 @@ icon
|
|
|
398
603
|
await runIconPreview(iconPath, opts, pkg.version);
|
|
399
604
|
});
|
|
400
605
|
});
|
|
606
|
+
icon
|
|
607
|
+
.command('store-assets <source>')
|
|
608
|
+
.description('Render the store LISTING artwork from one .svg / .png source: Chrome Web Store icon 128 (96 px artwork + ' +
|
|
609
|
+
'16 px padding), 440×280 promo tile and 1400×560 marquee; Edge Add-ons 300×300 logo and 440×280 / ' +
|
|
610
|
+
'1400×560 tiles; AMO 128 / 64 / 32 icons. Offline (WebAssembly renderer), no API key.')
|
|
611
|
+
.option('--store <stores>', 'Comma-separated: chrome, edge, firefox (default: all)')
|
|
612
|
+
.option('--out <dir>', 'Output directory (default: ./store-assets)')
|
|
613
|
+
.option('--background <color>', 'Promo tile / marquee background (default: a light tint of the icon colour)')
|
|
614
|
+
.option('--icon-background <color>', 'Fill behind icons and the Edge logo (default: transparent)')
|
|
615
|
+
.option('--promo <file>', 'Full-bleed artwork (.svg/.png) for the 440×280 tiles instead of composing the icon')
|
|
616
|
+
.option('--marquee <file>', 'Full-bleed artwork (.svg/.png) for the 1400×560 tiles instead of composing the icon')
|
|
617
|
+
.option('--font <files...>', 'Font files for text in SVG sources (system fonts are matched by name otherwise)')
|
|
618
|
+
.option('--json', 'Print the result as JSON')
|
|
619
|
+
.action(async (source, opts) => {
|
|
620
|
+
await runCommand('icon store-assets', async () => {
|
|
621
|
+
await runStoreAssets(source, opts);
|
|
622
|
+
});
|
|
623
|
+
});
|
|
624
|
+
program
|
|
625
|
+
.command('screenshots <extension>')
|
|
626
|
+
.description('Store screenshots without a human: load an unpacked build (or .zip) in Chromium, run the declarative ' +
|
|
627
|
+
'scenes in --scenes per locale (the UI language is switched and verified through chrome.i18n), and ' +
|
|
628
|
+
'write each store size — Chrome/Edge/AMO 1280×800 (or --small) — as <out>/<store>/<locale>/NN-<scene>-WxH.png ' +
|
|
629
|
+
'plus screenshots.json. Needs Playwright with Chromium in the project (npm i -D playwright && npx playwright ' +
|
|
630
|
+
'install chromium). Scenes format: https://docs.extenshi.io/developers/cli#extenshi-screenshots')
|
|
631
|
+
.requiredOption('--scenes <scenes.json>', 'Declarative scenes file')
|
|
632
|
+
.option('--locales <codes>', 'Comma-separated _locales codes (default: every locale the extension ships)')
|
|
633
|
+
.option('--store <stores>', 'Comma-separated: chrome, edge, firefox (default: all)')
|
|
634
|
+
.option('--out <dir>', 'Output directory (default: ./store-screenshots)')
|
|
635
|
+
.option('--small', "Each store's smaller size: Chrome 640×400, Edge 640×480, AMO 640×400")
|
|
636
|
+
.option('--headed', 'Show the browser window (debugging scenes)')
|
|
637
|
+
.option('--json', 'Print the result as JSON')
|
|
638
|
+
.action(async (extension, opts) => {
|
|
639
|
+
await runCommand('screenshots', async () => {
|
|
640
|
+
await runScreenshotsCommand(extension, opts);
|
|
641
|
+
});
|
|
642
|
+
});
|
|
643
|
+
program
|
|
644
|
+
.command('media')
|
|
645
|
+
.description("The project's PUBLIC media store (logo, screenshots) used by hosted pages")
|
|
646
|
+
.command('upload <files...>')
|
|
647
|
+
.description("Upload PNG/JPEG/WebP images (≤2 MB each; .svg is rasterized to PNG locally) to the project's public media " +
|
|
648
|
+
'store and print their stable URLs — the same store Dojo uploads use, accepted by `page publish` as ' +
|
|
649
|
+
'screenshots[].url / logoUrl. The server strips metadata and enforces a per-project quota. Requires an ' +
|
|
650
|
+
'API key (extenshi login) with hosted.write.')
|
|
651
|
+
.requiredOption('--project <id>', 'Dojo project ID (UUID)')
|
|
652
|
+
.option('--svg-width <px>', 'Width to rasterize .svg files at (default 1024)')
|
|
653
|
+
.action(async (files, opts) => {
|
|
654
|
+
await runCommand('media upload', async () => {
|
|
655
|
+
await runMediaUpload(files, opts);
|
|
656
|
+
});
|
|
657
|
+
});
|
|
658
|
+
const page = program
|
|
659
|
+
.command('page')
|
|
660
|
+
.description('Landing page (homepage) for your extension: generate static HTML offline, register its URL');
|
|
661
|
+
page
|
|
662
|
+
.command('generate')
|
|
663
|
+
.description('Build a static landing page (no JavaScript) from a JSON config with the same fields as the ' +
|
|
664
|
+
'Dojo Page generator (a saved {"form": …} works too). Free and fully offline — no API key, no network. ' +
|
|
665
|
+
'Host the file on any HTTPS origin, then run `extenshi page register`.')
|
|
666
|
+
.requiredOption('--config <landing.json>', 'Landing config JSON (extensionName, tagline, chromeUrl, features, …)')
|
|
667
|
+
.option('--out <path>', 'Output HTML file', 'index.html')
|
|
668
|
+
.option('--logo <file>', 'Logo: .svg (validated, embedded as an image) or .png/.jpg/.webp/.gif (≤256 KiB)')
|
|
669
|
+
.action(async (opts) => {
|
|
670
|
+
await runCommand('page generate', async () => {
|
|
671
|
+
await runPageGenerate(opts);
|
|
672
|
+
});
|
|
673
|
+
});
|
|
674
|
+
page
|
|
675
|
+
.command('register')
|
|
676
|
+
.description("Register the HTTPS URL where you host the page as the project's homepage (or support page). " +
|
|
677
|
+
'The server fetches and hashes the public page; a homepage feeds HOMEPAGE_URL in the integration config. ' +
|
|
678
|
+
'Requires an API key (extenshi login).')
|
|
679
|
+
.requiredOption('--project <id>', 'Dojo project ID (UUID)')
|
|
680
|
+
.requiredOption('--url <https-url>', 'Public https:// URL of the hosted page')
|
|
681
|
+
.option('--kind <kind>', 'homepage | support', 'homepage')
|
|
682
|
+
.action(async (opts) => {
|
|
683
|
+
await runCommand('page register', async () => {
|
|
684
|
+
await runPageRegister(opts);
|
|
685
|
+
});
|
|
686
|
+
});
|
|
687
|
+
page
|
|
688
|
+
.command('publish')
|
|
689
|
+
.description('Host the landing page on extenshi.io (page.extenshi.io/<code>, or /landing on your active custom ' +
|
|
690
|
+
'domain) from the same JSON config as `page generate`. Republishing keeps the URL. Also registers it ' +
|
|
691
|
+
'as the project homepage unless --no-homepage. Screenshots must be https store/Dojo images. ' +
|
|
692
|
+
'Requires an API key (extenshi login).')
|
|
693
|
+
.requiredOption('--project <id>', 'Dojo project ID (UUID)')
|
|
694
|
+
.requiredOption('--config <landing.json>', 'Landing config JSON')
|
|
695
|
+
.option('--logo <file>', 'Logo: .svg or .png/.jpg/.webp/.gif (≤256 KiB)')
|
|
696
|
+
.option('--no-homepage', 'Do not register the URL as the project homepage')
|
|
697
|
+
.option('--upload-local', "Upload local screenshot / logoUrl paths (relative to the config file) to the project's public media store first")
|
|
698
|
+
.action(async (opts) => {
|
|
699
|
+
await runCommand('page publish', async () => {
|
|
700
|
+
await runPagePublish(opts);
|
|
701
|
+
});
|
|
702
|
+
});
|
|
703
|
+
page
|
|
704
|
+
.command('unpublish')
|
|
705
|
+
.description('Take the hosted landing page offline (404). The URL returns on the next publish; a homepage ' +
|
|
706
|
+
'registration pointing at it is removed.')
|
|
707
|
+
.requiredOption('--project <id>', 'Dojo project ID (UUID)')
|
|
708
|
+
.action(async (opts) => {
|
|
709
|
+
await runCommand('page unpublish', async () => {
|
|
710
|
+
await runPageUnpublish(opts);
|
|
711
|
+
});
|
|
712
|
+
});
|
|
401
713
|
/**
|
|
402
714
|
* Change or inspect the answer to the first-run telemetry question.
|
|
403
715
|
*
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EDGE.md — Microsoft Edge Add-ons listing draft (`extenshi generate-listing --store edge`).
|
|
3
|
+
*
|
|
4
|
+
* Shares the Name / Short description / Description / Single purpose headings
|
|
5
|
+
* with CHROMEWEBSTORE.md on purpose: `review-risk --listing EDGE.md` parses
|
|
6
|
+
* it through the exact same `listingDraftFromChromeWebStoreMd` heading
|
|
7
|
+
* lookup, so nothing in listing.ts needs to know EDGE.md exists.
|
|
8
|
+
*
|
|
9
|
+
* Field names, limits and step order come from Microsoft's own publish guide:
|
|
10
|
+
* https://learn.microsoft.com/en-us/microsoft-edge/extensions/publish/publish-extension
|
|
11
|
+
* (Store logo 300×300 recommended / 128×128 minimum; description 250–10,000
|
|
12
|
+
* chars; search terms ≤7 terms / ≤30 chars each / ≤21 words total; privacy
|
|
13
|
+
* policy URL and permission justifications live on the Privacy step).
|
|
14
|
+
*/
|
|
15
|
+
import type { Listing } from './listing.js';
|
|
16
|
+
export declare const EDGE_FILENAME = "EDGE.md";
|
|
17
|
+
export declare function renderEdgeMd(input: {
|
|
18
|
+
listing: Listing | null;
|
|
19
|
+
justifications?: readonly {
|
|
20
|
+
permission: string;
|
|
21
|
+
prompt: string;
|
|
22
|
+
}[];
|
|
23
|
+
needsPrivacyPolicy?: boolean;
|
|
24
|
+
singlePurpose?: string;
|
|
25
|
+
}): string;
|
|
26
|
+
//# sourceMappingURL=edgewebstore-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edgewebstore-md.d.ts","sourceRoot":"","sources":["../src/edgewebstore-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC,wBAAgB,YAAY,CAAC,KAAK,EAAE;IACnC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,cAAc,CAAC,EAAE,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClE,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAmFT"}
|