@extenshi/cli 0.15.2 → 0.16.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/dist/chromewebstore-md.d.ts +37 -0
- package/dist/chromewebstore-md.d.ts.map +1 -0
- package/dist/chromewebstore-md.js +117 -0
- package/dist/chromewebstore-md.js.map +1 -0
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +12 -4
- package/dist/listing.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CHROMEWEBSTORE.md (ROADMAP it.2 T11).
|
|
3
|
+
*
|
|
4
|
+
* Assembles listing copy, permission justifications, single-purpose and
|
|
5
|
+
* privacy-practices notes from tools that already exist. It is NOT a third
|
|
6
|
+
* listing format: `review-risk --listing CHROMEWEBSTORE.md` parses the
|
|
7
|
+
* Name / Short description / Description sections into the same draft
|
|
8
|
+
* object `listing.json` uses.
|
|
9
|
+
*/
|
|
10
|
+
import type { Listing } from './listing.js';
|
|
11
|
+
export declare const CHROMEWEBSTORE_FILENAME = "CHROMEWEBSTORE.md";
|
|
12
|
+
/**
|
|
13
|
+
* Pull the listing draft out of a CHROMEWEBSTORE.md. Missing sections
|
|
14
|
+
* stay undefined so mergeListings can fill from the artifact.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseChromeWebStoreMd(md: string): {
|
|
17
|
+
name?: string;
|
|
18
|
+
shortDescription?: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
singlePurpose?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function listingDraftFromChromeWebStoreMd(md: string): Record<string, string>;
|
|
23
|
+
export declare function renderChromeWebStoreMd(input: {
|
|
24
|
+
listing: Listing | null;
|
|
25
|
+
justifications?: readonly {
|
|
26
|
+
permission: string;
|
|
27
|
+
prompt: string;
|
|
28
|
+
}[];
|
|
29
|
+
privacy?: readonly {
|
|
30
|
+
dataType: string;
|
|
31
|
+
permission: string;
|
|
32
|
+
}[];
|
|
33
|
+
singlePurpose?: string;
|
|
34
|
+
}): string;
|
|
35
|
+
/** Starter file for get_project_scaffold. Same headings the parser reads. */
|
|
36
|
+
export declare function starterChromeWebStoreMd(name: string, shortDescription: string): string;
|
|
37
|
+
//# sourceMappingURL=chromewebstore-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromewebstore-md.d.ts","sourceRoot":"","sources":["../src/chromewebstore-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,eAAO,MAAM,uBAAuB,sBAAsB,CAAA;AAe1D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG;IAClD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,CAgBA;AAED,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,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,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAmDT;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAUtF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CHROMEWEBSTORE.md (ROADMAP it.2 T11).
|
|
3
|
+
*
|
|
4
|
+
* Assembles listing copy, permission justifications, single-purpose and
|
|
5
|
+
* privacy-practices notes from tools that already exist. It is NOT a third
|
|
6
|
+
* listing format: `review-risk --listing CHROMEWEBSTORE.md` parses the
|
|
7
|
+
* Name / Short description / Description sections into the same draft
|
|
8
|
+
* object `listing.json` uses.
|
|
9
|
+
*/
|
|
10
|
+
export const CHROMEWEBSTORE_FILENAME = 'CHROMEWEBSTORE.md';
|
|
11
|
+
function section(body, heading) {
|
|
12
|
+
const re = new RegExp(`^## ${heading}\\s*$`, 'im');
|
|
13
|
+
const start = body.search(re);
|
|
14
|
+
if (start < 0)
|
|
15
|
+
return '';
|
|
16
|
+
const after = body.slice(start).split('\n').slice(1);
|
|
17
|
+
const lines = [];
|
|
18
|
+
for (const line of after) {
|
|
19
|
+
if (/^##\s+/.test(line))
|
|
20
|
+
break;
|
|
21
|
+
lines.push(line);
|
|
22
|
+
}
|
|
23
|
+
return lines.join('\n').trim();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Pull the listing draft out of a CHROMEWEBSTORE.md. Missing sections
|
|
27
|
+
* stay undefined so mergeListings can fill from the artifact.
|
|
28
|
+
*/
|
|
29
|
+
export function parseChromeWebStoreMd(md) {
|
|
30
|
+
const name = section(md, 'Name');
|
|
31
|
+
const shortDescription = section(md, 'Short description');
|
|
32
|
+
const description = section(md, 'Description');
|
|
33
|
+
const singlePurpose = section(md, 'Single purpose');
|
|
34
|
+
const out = {};
|
|
35
|
+
if (name)
|
|
36
|
+
out.name = name;
|
|
37
|
+
if (shortDescription)
|
|
38
|
+
out.shortDescription = shortDescription;
|
|
39
|
+
if (description)
|
|
40
|
+
out.description = description;
|
|
41
|
+
if (singlePurpose)
|
|
42
|
+
out.singlePurpose = singlePurpose;
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
export function listingDraftFromChromeWebStoreMd(md) {
|
|
46
|
+
const parsed = parseChromeWebStoreMd(md);
|
|
47
|
+
const draft = {};
|
|
48
|
+
if (parsed.name)
|
|
49
|
+
draft.name = parsed.name;
|
|
50
|
+
if (parsed.shortDescription)
|
|
51
|
+
draft.shortDescription = parsed.shortDescription;
|
|
52
|
+
if (parsed.description)
|
|
53
|
+
draft.description = parsed.description;
|
|
54
|
+
return draft;
|
|
55
|
+
}
|
|
56
|
+
export function renderChromeWebStoreMd(input) {
|
|
57
|
+
const loc = input.listing?.locales.find((l) => l.locale === input.listing?.defaultLocale) ?? input.listing?.locales[0];
|
|
58
|
+
const justifications = input.justifications ?? [];
|
|
59
|
+
const privacy = input.privacy ?? [];
|
|
60
|
+
const justBlock = justifications.length === 0
|
|
61
|
+
? '_No sensitive permissions need a dashboard justification yet._'
|
|
62
|
+
: justifications.map((j) => `### ${j.permission}\n\n${j.prompt}`).join('\n\n');
|
|
63
|
+
const privacyBlock = privacy.length === 0
|
|
64
|
+
? '_No Privacy-practices questions follow from the current permissions._'
|
|
65
|
+
: privacy.map((p) => `- **${p.dataType}** (from \`${p.permission}\`)`).join('\n');
|
|
66
|
+
return `# CHROMEWEBSTORE.md
|
|
67
|
+
|
|
68
|
+
Listing copy, permission justifications, single purpose and privacy
|
|
69
|
+
practices for Chrome Web Store. This is the same draft \`review-risk --listing\`
|
|
70
|
+
already accepts as JSON — run:
|
|
71
|
+
|
|
72
|
+
\`npx @extenshi/cli@latest review-risk --listing CHROMEWEBSTORE.md\`
|
|
73
|
+
|
|
74
|
+
Do not paste this into the store automatically. Fill the dashboard by hand.
|
|
75
|
+
|
|
76
|
+
## Name
|
|
77
|
+
|
|
78
|
+
${loc?.name ?? ''}
|
|
79
|
+
|
|
80
|
+
## Short description
|
|
81
|
+
|
|
82
|
+
${loc?.shortDescription ?? ''}
|
|
83
|
+
|
|
84
|
+
## Description
|
|
85
|
+
|
|
86
|
+
${loc?.description ?? ''}
|
|
87
|
+
|
|
88
|
+
## Single purpose
|
|
89
|
+
|
|
90
|
+
${input.singlePurpose ?? loc?.shortDescription ?? loc?.name ?? ''}
|
|
91
|
+
|
|
92
|
+
## Permission justifications
|
|
93
|
+
|
|
94
|
+
${justBlock}
|
|
95
|
+
|
|
96
|
+
## Privacy practices
|
|
97
|
+
|
|
98
|
+
${privacyBlock}
|
|
99
|
+
|
|
100
|
+
## Version history
|
|
101
|
+
|
|
102
|
+
_Record each upload: version, what changed, why._
|
|
103
|
+
`;
|
|
104
|
+
}
|
|
105
|
+
/** Starter file for get_project_scaffold. Same headings the parser reads. */
|
|
106
|
+
export function starterChromeWebStoreMd(name, shortDescription) {
|
|
107
|
+
return renderChromeWebStoreMd({
|
|
108
|
+
listing: {
|
|
109
|
+
source: 'draft',
|
|
110
|
+
defaultLocale: 'en',
|
|
111
|
+
locales: [{ locale: 'en', name, shortDescription }],
|
|
112
|
+
appliesToAllLocales: true,
|
|
113
|
+
},
|
|
114
|
+
singlePurpose: shortDescription || name,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=chromewebstore-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chromewebstore-md.js","sourceRoot":"","sources":["../src/chromewebstore-md.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAA;AAE1D,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe;IAC7C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,OAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAK;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAM/C,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;IACnD,MAAM,GAAG,GAKL,EAAE,CAAA;IACN,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACzB,IAAI,gBAAgB;QAAE,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC7D,IAAI,WAAW;QAAE,GAAG,CAAC,WAAW,GAAG,WAAW,CAAA;IAC9C,IAAI,aAAa;QAAE,GAAG,CAAC,aAAa,GAAG,aAAa,CAAA;IACpD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,EAAU;IAC1D,MAAM,MAAM,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAA;IACxC,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,IAAI,MAAM,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACzC,IAAI,MAAM,CAAC,gBAAgB;QAAE,KAAK,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;IAC7E,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IAC9D,OAAO,KAAK,CAAA;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACA,MAAM,GAAG,GACR,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAC3G,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,IAAI,EAAE,CAAA;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;IACnC,MAAM,SAAS,GACd,cAAc,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,gEAAgE;QAClE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChF,MAAM,YAAY,GACjB,OAAO,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,uEAAuE;QACzE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,cAAc,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnF,OAAO;;;;;;;;;;;;EAYN,GAAG,EAAE,IAAI,IAAI,EAAE;;;;EAIf,GAAG,EAAE,gBAAgB,IAAI,EAAE;;;;EAI3B,GAAG,EAAE,WAAW,IAAI,EAAE;;;;EAItB,KAAK,CAAC,aAAa,IAAI,GAAG,EAAE,gBAAgB,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE;;;;EAI/D,SAAS;;;;EAIT,YAAY;;;;;CAKb,CAAA;AACD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,gBAAwB;IAC7E,OAAO,sBAAsB,CAAC;QAC7B,OAAO,EAAE;YACR,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;YACnD,mBAAmB,EAAE,IAAI;SACzB;QACD,aAAa,EAAE,gBAAgB,IAAI,IAAI;KACvC,CAAC,CAAA;AACH,CAAC"}
|
package/dist/listing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE3D,2FAA2F;AAC3F,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAA;AAE5D,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAA;IACd,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,OAAO;IACvB,MAAM,EAAE,aAAa,CAAA;IACrB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAmED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAgCtF;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CA8BtD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAyD/E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,GAAG,IAAI,CAkBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GACtB,OAAO,GAAG,IAAI,CA2ChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,OAAO,GACnB,MAAM,EAAE,CAoBV"}
|
package/dist/listing.js
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
* `mergeListings`) and the report has to say it was used.
|
|
28
28
|
*/
|
|
29
29
|
import fs from 'node:fs';
|
|
30
|
+
import { listingDraftFromChromeWebStoreMd } from './chromewebstore-md.js';
|
|
30
31
|
const DEFAULT_LOCALE_FALLBACK = 'default';
|
|
31
32
|
/** `__MSG_someKey__` — the store's placeholder for a localized manifest string. */
|
|
32
33
|
const MSG_PLACEHOLDER_RE = /^__MSG_([A-Za-z0-9_@]+)__$/;
|
|
@@ -303,11 +304,18 @@ export function assembleListing(manifest, files, listingPath, catalog) {
|
|
|
303
304
|
throw new Error(`Listing file not found: ${listingPath}`);
|
|
304
305
|
}
|
|
305
306
|
let parsed;
|
|
306
|
-
|
|
307
|
-
|
|
307
|
+
const raw = fs.readFileSync(listingPath, 'utf8');
|
|
308
|
+
if (listingPath.toLowerCase().endsWith('.md')) {
|
|
309
|
+
// CHROMEWEBSTORE.md is the same draft as listing.json, in markdown.
|
|
310
|
+
parsed = listingDraftFromChromeWebStoreMd(raw);
|
|
308
311
|
}
|
|
309
|
-
|
|
310
|
-
|
|
312
|
+
else {
|
|
313
|
+
try {
|
|
314
|
+
parsed = JSON.parse(raw);
|
|
315
|
+
}
|
|
316
|
+
catch (err) {
|
|
317
|
+
throw new Error(`Listing file is not valid JSON: ${err.message}`);
|
|
318
|
+
}
|
|
311
319
|
}
|
|
312
320
|
try {
|
|
313
321
|
listing = mergeListings(fromArtifact, parseListingFile(parsed));
|
package/dist/listing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../src/listing.ts"],"names":[],"mappings":"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"}
|