@extenshi/cli 0.23.1 → 0.25.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.
Files changed (114) hide show
  1. package/README.md +1 -1
  2. package/dist/amo-source.d.ts +88 -17
  3. package/dist/amo-source.d.ts.map +1 -1
  4. package/dist/amo-source.js +442 -116
  5. package/dist/amo-source.js.map +1 -1
  6. package/dist/amowebstore-md.d.ts +26 -0
  7. package/dist/amowebstore-md.d.ts.map +1 -1
  8. package/dist/amowebstore-md.js +32 -3
  9. package/dist/amowebstore-md.js.map +1 -1
  10. package/dist/auto-update.d.ts +46 -3
  11. package/dist/auto-update.d.ts.map +1 -1
  12. package/dist/auto-update.js +94 -19
  13. package/dist/auto-update.js.map +1 -1
  14. package/dist/chromewebstore-md.d.ts +7 -0
  15. package/dist/chromewebstore-md.d.ts.map +1 -1
  16. package/dist/chromewebstore-md.js +20 -3
  17. package/dist/chromewebstore-md.js.map +1 -1
  18. package/dist/cli.js +73 -20
  19. package/dist/cli.js.map +1 -1
  20. package/dist/compliance-review.d.ts +5 -1
  21. package/dist/compliance-review.d.ts.map +1 -1
  22. package/dist/compliance-review.js +10 -5
  23. package/dist/compliance-review.js.map +1 -1
  24. package/dist/cws-policies.d.ts.map +1 -1
  25. package/dist/cws-policies.js +4 -0
  26. package/dist/cws-policies.js.map +1 -1
  27. package/dist/edgewebstore-md.d.ts +14 -0
  28. package/dist/edgewebstore-md.d.ts.map +1 -1
  29. package/dist/edgewebstore-md.js +20 -5
  30. package/dist/edgewebstore-md.js.map +1 -1
  31. package/dist/evidence-ingest.d.ts +67 -5
  32. package/dist/evidence-ingest.d.ts.map +1 -1
  33. package/dist/evidence-ingest.js +146 -21
  34. package/dist/evidence-ingest.js.map +1 -1
  35. package/dist/generate-listing.d.ts +18 -6
  36. package/dist/generate-listing.d.ts.map +1 -1
  37. package/dist/generate-listing.js +62 -19
  38. package/dist/generate-listing.js.map +1 -1
  39. package/dist/json-ld.d.ts +43 -5
  40. package/dist/json-ld.d.ts.map +1 -1
  41. package/dist/json-ld.js +53 -1
  42. package/dist/json-ld.js.map +1 -1
  43. package/dist/landing-sections.d.ts +21 -3
  44. package/dist/landing-sections.d.ts.map +1 -1
  45. package/dist/landing-sections.js +63 -17
  46. package/dist/landing-sections.js.map +1 -1
  47. package/dist/listing-checks.d.ts +15 -9
  48. package/dist/listing-checks.d.ts.map +1 -1
  49. package/dist/listing-checks.js +54 -46
  50. package/dist/listing-checks.js.map +1 -1
  51. package/dist/listing-data-flows.d.ts +140 -0
  52. package/dist/listing-data-flows.d.ts.map +1 -0
  53. package/dist/listing-data-flows.js +454 -0
  54. package/dist/listing-data-flows.js.map +1 -0
  55. package/dist/listing.d.ts +48 -0
  56. package/dist/listing.d.ts.map +1 -1
  57. package/dist/listing.js +201 -23
  58. package/dist/listing.js.map +1 -1
  59. package/dist/localize-parity.d.ts +26 -0
  60. package/dist/localize-parity.d.ts.map +1 -0
  61. package/dist/localize-parity.js +227 -0
  62. package/dist/localize-parity.js.map +1 -0
  63. package/dist/localize.d.ts +6 -0
  64. package/dist/localize.d.ts.map +1 -1
  65. package/dist/localize.js +4 -4
  66. package/dist/localize.js.map +1 -1
  67. package/dist/media.d.ts.map +1 -1
  68. package/dist/media.js +1 -2
  69. package/dist/media.js.map +1 -1
  70. package/dist/package.d.ts +13 -0
  71. package/dist/package.d.ts.map +1 -1
  72. package/dist/package.js +1 -1
  73. package/dist/package.js.map +1 -1
  74. package/dist/page.d.ts +16 -0
  75. package/dist/page.d.ts.map +1 -1
  76. package/dist/page.js +49 -4
  77. package/dist/page.js.map +1 -1
  78. package/dist/permission-justifications.d.ts +19 -1
  79. package/dist/permission-justifications.d.ts.map +1 -1
  80. package/dist/permission-justifications.js +129 -0
  81. package/dist/permission-justifications.js.map +1 -1
  82. package/dist/png.d.ts +40 -0
  83. package/dist/png.d.ts.map +1 -0
  84. package/dist/png.js +266 -0
  85. package/dist/png.js.map +1 -0
  86. package/dist/review-checks.d.ts +54 -13
  87. package/dist/review-checks.d.ts.map +1 -1
  88. package/dist/review-checks.js +367 -56
  89. package/dist/review-checks.js.map +1 -1
  90. package/dist/review-risk.d.ts +8 -3
  91. package/dist/review-risk.d.ts.map +1 -1
  92. package/dist/review-risk.js +14 -4
  93. package/dist/review-risk.js.map +1 -1
  94. package/dist/review-stores.d.ts +63 -0
  95. package/dist/review-stores.d.ts.map +1 -0
  96. package/dist/review-stores.js +92 -0
  97. package/dist/review-stores.js.map +1 -0
  98. package/dist/screenshots-scenes.d.ts +13 -0
  99. package/dist/screenshots-scenes.d.ts.map +1 -1
  100. package/dist/screenshots-scenes.js +20 -2
  101. package/dist/screenshots-scenes.js.map +1 -1
  102. package/dist/screenshots.d.ts +6 -4
  103. package/dist/screenshots.d.ts.map +1 -1
  104. package/dist/screenshots.js +31 -11
  105. package/dist/screenshots.js.map +1 -1
  106. package/dist/smoke.d.ts +54 -6
  107. package/dist/smoke.d.ts.map +1 -1
  108. package/dist/smoke.js +302 -26
  109. package/dist/smoke.js.map +1 -1
  110. package/dist/store-assets.d.ts +20 -3
  111. package/dist/store-assets.d.ts.map +1 -1
  112. package/dist/store-assets.js +17 -7
  113. package/dist/store-assets.js.map +1 -1
  114. package/package.json +1 -1
@@ -13,14 +13,16 @@
13
13
  * Locale switching is the part that silently goes wrong elsewhere, so it is
14
14
  * verified, not assumed: each locale gets a fresh Chromium whose UI language is
15
15
  * set per platform (--lang; LANGUAGE on Linux; -AppleLanguages on macOS, where
16
- * --lang is ignored), then `chrome.i18n` inside the extension must report that
17
- * locale AND render a message from `_locales/<locale>`. A mismatch fails the run
18
- * instead of producing English screenshots labelled German.
16
+ * --lang is ignored, plus -AppleLocale for the renderers so form-field numbers
17
+ * follow the shot, not the Mac's region), then `chrome.i18n` inside the
18
+ * extension must report that locale AND render a message from
19
+ * `_locales/<locale>`. A mismatch fails the run instead of producing English
20
+ * screenshots labelled German.
19
21
  *
20
22
  * Determinism: fixed viewport and device scale factor, `reducedMotion`,
21
23
  * animations/transitions/caret disabled, UTC timezone, optional fixed clock,
22
24
  * fonts + images awaited before every capture, and the store canvas composed
23
- * with resvg (no browser scaling). The source directory is never modified — the
25
+ * with resvg (no browser scaling), written as 24-bit RGB (png.ts). The source directory is never modified — the
24
26
  * build is staged into a temporary copy (a zip is extracted there).
25
27
  *
26
28
  * `--evidence` is the shared mechanism (auto-evidence.ts screenshotsEvidence):
@@ -35,7 +37,8 @@ import os from 'node:os';
35
37
  import path from 'node:path';
36
38
  import JSZip from 'jszip';
37
39
  import { InvalidInputError } from './expected-error.js';
38
- import { chromeLang, extensionIdForKey, extensionIdForPath, macLocaleWrapper, parseLocales, parseScenes, pickSampleMessage, placeCapture, pngDimensions, resolveCatalogLocale, screenshotFileName, } from './screenshots-scenes.js';
40
+ import { opaquePngAsRgb } from './png.js';
41
+ import { chromeLang, extensionIdForKey, extensionIdForPath, macLocaleWrapper, macRendererLocalePrefix, parseLocales, parseScenes, pickSampleMessage, placeCapture, pngDimensions, resolveCatalogLocale, screenshotFileName, } from './screenshots-scenes.js';
39
42
  import { parseStores, renderSvg, STORE_SCREENSHOT_SPECS } from './store-assets.js';
40
43
  export const PROBE_PAGE = '__extenshi_screenshots__.html';
41
44
  const INSTALL_HINT = 'Install it next to your extension: npm i -D playwright && npx playwright install chromium ' +
@@ -228,6 +231,17 @@ async function launch(pw, opts) {
228
231
  await writeFile(wrapper, macLocaleWrapper(executable, opts.lang));
229
232
  await chmod(wrapper, 0o700);
230
233
  launchOpts.executablePath = wrapper;
234
+ // Number formatting follows the region of the RENDERER process; see
235
+ // macRendererLocalePrefix. Chromium splits the prefix on spaces.
236
+ const prefix = path.join(opts.work, `renderer-${opts.lang}.sh`);
237
+ if (/\s/.test(prefix)) {
238
+ opts.warnings.push(`${opts.lang}: numbers in form fields follow this Mac's region — the temporary directory path (${opts.work}) has a space, which --renderer-cmd-prefix cannot take`);
239
+ }
240
+ else {
241
+ await writeFile(prefix, macRendererLocalePrefix(opts.lang));
242
+ await chmod(prefix, 0o700);
243
+ launchOpts.args.push(`--renderer-cmd-prefix=${prefix}`);
244
+ }
231
245
  }
232
246
  else {
233
247
  // Full Chromium (new headless) — chromium-headless-shell has no extension support.
@@ -346,13 +360,18 @@ async function captureScene(ctx, probe, scene, file, url) {
346
360
  }
347
361
  let box;
348
362
  if (crop === 'content') {
363
+ // The body's own box, both edges: an RTL page puts a fixed-width body at
364
+ // the RIGHT of the viewport, so cropping from x=0 captured the empty
365
+ // space to its left. Chromium reports the specified margins, not the
366
+ // over-constrained remainder, so margin + box is the visible popup.
349
367
  box = await page.evaluate(() => {
350
368
  const body = document.body;
351
369
  const r = body.getBoundingClientRect();
352
370
  const style = getComputedStyle(body);
353
- const width = Math.ceil(r.right + Number.parseFloat(style.marginRight || '0'));
371
+ const left = Math.max(0, Math.floor(r.left - Number.parseFloat(style.marginLeft || '0')));
372
+ const right = Math.min(innerWidth, Math.ceil(r.right + Number.parseFloat(style.marginRight || '0')));
354
373
  const height = Math.ceil(Math.max(r.bottom + Number.parseFloat(style.marginBottom || '0'), body.scrollHeight));
355
- return { x: 0, y: 0, width: Math.min(width, innerWidth), height: Math.min(height, innerHeight) };
374
+ return { x: left, y: 0, width: Math.max(0, right - left), height: Math.min(height, innerHeight) };
356
375
  });
357
376
  }
358
377
  else {
@@ -385,8 +404,10 @@ async function captureScene(ctx, probe, scene, file, url) {
385
404
  /** Compose a capture onto a store-size canvas with resvg (exact pixels, no browser scaling). */
386
405
  export async function composeOnCanvas(capture, canvas, opts) {
387
406
  const px = pngDimensions(capture.png);
407
+ // Screenshots go out as 24-bit PNGs: Chromium and resvg both write an alpha
408
+ // channel even for an opaque image, and the Chrome Web Store asks for none.
388
409
  if (opts.fit === 'contain' && px.width === canvas.width && px.height === canvas.height)
389
- return capture.png;
410
+ return opaquePngAsRgb(capture.png);
390
411
  const place = placeCapture(capture.css, canvas, { fit: opts.fit, margin: opts.margin, scale: opts.dsf });
391
412
  const n = (v) => Number(v.toFixed(3));
392
413
  const framed = opts.fit === 'contain' && (place.width < canvas.width || place.height < canvas.height);
@@ -407,8 +428,7 @@ export async function composeOnCanvas(capture, canvas, opts) {
407
428
  const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="${canvas.width}" height="${canvas.height}" viewBox="0 0 ${canvas.width} ${canvas.height}">` +
408
429
  `<defs>${defs}</defs><rect width="${canvas.width}" height="${canvas.height}" fill="${opts.backgroundTo ? 'url(#bg)' : opts.background}"/>` +
409
430
  `${shadow}${image}</svg>`;
410
- const raster = await renderSvg(svg, canvas.width);
411
- return Buffer.from(raster.png);
431
+ return (await renderSvg(svg, canvas.width, [], { png: 'rgb-if-opaque' })).png;
412
432
  }
413
433
  const sha256 = (b) => createHash('sha256').update(b).digest('hex');
414
434
  async function verifyLocale(probe, ext, locale) {
@@ -466,7 +486,7 @@ export async function runScreenshots(input, opts) {
466
486
  }
467
487
  for (const locale of locales) {
468
488
  const lang = chromeLang(locale);
469
- const ctx = await launch(pw, { ext, lang, work, file, headed: Boolean(opts.headed) });
489
+ const ctx = await launch(pw, { ext, lang, work, file, headed: Boolean(opts.headed), warnings });
470
490
  try {
471
491
  if (ext.manifest.background?.service_worker && !ctx.serviceWorkers().length)
472
492
  await ctx.waitForEvent('serviceworker', { timeout: 10_000 }).catch(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"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"}
package/dist/smoke.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  /**
2
- * `extenshi test smoke <zip> --browser chromium|edge|firefox` — install the
3
- * EXACT packaged zip in a real browser and check that it actually works:
4
- * it loads, its service worker / background starts, the browser reports no
5
- * manifest errors, and its popup / options / side-panel pages open without
6
- * console errors.
2
+ * `extenshi test smoke <zip|dir> --browser chromium|edge|firefox` — install the
3
+ * EXACT packaged zip (or an unpacked build folder) in a real browser and check
4
+ * that it actually works: it loads, its service worker / background starts,
5
+ * the browser reports no manifest errors, and its popup / options / side-panel
6
+ * pages open without console errors. With `--site <url>` it then opens each
7
+ * site and checks that the `content_scripts` entries matching it were injected.
7
8
  *
8
9
  * Engines (all optional, resolved lazily — the CLI install stays small):
9
10
  * chromium Playwright's bundled Chromium (`npx playwright install chromium`).
@@ -15,7 +16,15 @@
15
16
  *
16
17
  * Chromium engines get the zip extracted to a temp directory (they load
17
18
  * unpacked extensions only); Firefox installs the zip file itself. Either way
18
- * the bytes are the package's, and the result carries its sha256.
19
+ * the bytes are the package's, and the result carries its sha256. A folder is
20
+ * read the way `extenshi package` reads one (dot-entries and node_modules left
21
+ * out) into a reproducible zip, which then takes the same path.
22
+ *
23
+ * Content scripts (Chromium/Edge only for now) are observed over the DevTools
24
+ * protocol, without the extension's cooperation: the browser reports each
25
+ * extension file it compiles into the page (Debugger.scriptParsed) and each
26
+ * stylesheet it injects (CSS origin "injected"). That proves injection, not
27
+ * that the script then did its job.
19
28
  *
20
29
  * Limits, stated in every result: the popup is opened as a tab, not from the
21
30
  * toolbar, and no page is interacted with — this proves the package boots
@@ -34,6 +43,8 @@ export interface SmokeCheck {
34
43
  }
35
44
  export interface SmokeResult {
36
45
  artifact: string;
46
+ /** `directory`: an unpacked folder; `sha256` is then that of the zip built from it. */
47
+ source: 'zip' | 'directory';
37
48
  sha256: string;
38
49
  browser: SmokeEngine;
39
50
  engine: {
@@ -55,6 +66,41 @@ export interface ExtensionPage {
55
66
  }
56
67
  /** The extension's own pages a user can open, as the manifest declares them. */
57
68
  export declare function extensionPages(manifest: Json): ExtensionPage[];
69
+ /**
70
+ * A manifest match pattern as the browser applies it to a page: `<all_urls>`;
71
+ * scheme `*` = http or https; host `*.example.com` = the host and its
72
+ * subdomains; no port = any port; the path glob covers path + query. A pattern
73
+ * the browser would reject matches nothing.
74
+ */
75
+ export declare function matchesPattern(pattern: string, url: URL): boolean;
76
+ export interface MatchingContentScript {
77
+ /** Position in manifest.content_scripts. */
78
+ index: number;
79
+ js: string[];
80
+ css: string[];
81
+ }
82
+ /** The `content_scripts` entries the browser injects into a top-level page at `url`. */
83
+ export declare function contentScriptsFor(manifest: Json, url: string): MatchingContentScript[];
84
+ /** What the browser reported while one site was open (top frame only). */
85
+ export interface SiteObservation {
86
+ /** The URL as given. */
87
+ site: string;
88
+ /** Where the tab ended up (redirects); absent when it did not open. */
89
+ finalUrl?: string;
90
+ openError?: string;
91
+ /** Extension files compiled into the page, relative to the extension root. */
92
+ scripts: string[];
93
+ /** Stylesheets the browser injected for the extension. */
94
+ injectedSheets: number;
95
+ /** Errors attributed to the extension (its isolated world, its files, its URLs). */
96
+ errors: string[];
97
+ }
98
+ /** The checks one visited site yields: injection of every matching entry, then extension errors. */
99
+ export declare function siteChecks(manifest: Json, observation: SiteObservation): SmokeCheck[];
100
+ /** A `--site` value: an absolute http(s) URL. */
101
+ export declare function parseSiteUrl(value: string): string;
102
+ /** A directory (an unpacked build) rather than a package file. */
103
+ export declare function isExtensionDirectory(file: string): boolean;
58
104
  /** Checks that need no browser: the files the manifest names exist, and Firefox has a real add-on ID. */
59
105
  export declare function staticChecks(manifest: Json, paths: Set<string>, engine: SmokeEngine): SmokeCheck[];
60
106
  export interface SmokeOptions {
@@ -69,6 +115,8 @@ export interface SmokeOptions {
69
115
  browserPath?: string;
70
116
  /** Where to resolve Playwright from first (default: cwd). */
71
117
  cwd?: string;
118
+ /** http(s) pages to open after install, checking the content scripts that match each (Chromium/Edge). */
119
+ sites?: string[];
72
120
  }
73
121
  export declare function runSmoke(options: SmokeOptions): Promise<SmokeResult>;
74
122
  /** Resolve Playwright from the project first, then next to the CLI (global installs, CI tool prefixes). */
@@ -1 +1 @@
1
- {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAcH,eAAO,MAAM,aAAa,0CAA2C,CAAA;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AACxD,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAI7E,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAMvE;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AACzD,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC3B,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAQ/B,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAA;IACpD,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,IAAI,GAAG,aAAa,EAAE,CAgB9D;AA+BD,yGAAyG;AACzG,wBAAgB,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,EAAE,CAsBlG;AAED,MAAM,WAAW,YAAY;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,WAAW,CAAA;IACnB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA2B1E;AASD,2GAA2G;AAC3G,wBAAsB,cAAc,CAAC,GAAG,SAAgB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBtG;AA6VD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAOvD"}
1
+ {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"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"}