@extenshi/cli 0.14.2 → 0.15.1
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/cli.js +13 -6
- package/dist/cli.js.map +1 -1
- package/dist/compliance-review.d.ts +6 -2
- package/dist/compliance-review.d.ts.map +1 -1
- package/dist/compliance-review.js +33 -12
- package/dist/compliance-review.js.map +1 -1
- package/dist/cws-policies.d.ts.map +1 -1
- package/dist/cws-policies.js +5 -0
- package/dist/cws-policies.js.map +1 -1
- package/dist/expected-error.d.ts +34 -0
- package/dist/expected-error.d.ts.map +1 -0
- package/dist/expected-error.js +37 -0
- package/dist/expected-error.js.map +1 -0
- package/dist/listing.d.ts +25 -7
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +84 -24
- package/dist/listing.js.map +1 -1
- package/dist/review-catalog.d.ts +41 -1
- package/dist/review-catalog.d.ts.map +1 -1
- package/dist/review-catalog.js +95 -3
- package/dist/review-catalog.js.map +1 -1
- package/dist/review-checks.d.ts +7 -0
- package/dist/review-checks.d.ts.map +1 -1
- package/dist/review-checks.js +146 -12
- package/dist/review-checks.js.map +1 -1
- package/dist/review-risk.d.ts.map +1 -1
- package/dist/review-risk.js +21 -7
- package/dist/review-risk.js.map +1 -1
- package/package.json +1 -1
package/dist/review-risk.js
CHANGED
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import fs from 'node:fs';
|
|
26
26
|
import ora from 'ora';
|
|
27
|
-
import { assembleListing, listingCoverageNotes } from './listing.js';
|
|
27
|
+
import { assembleListing, listingCoverageNotes, listingFromCatalog } from './listing.js';
|
|
28
28
|
import { loadArtifact } from './review-archive.js';
|
|
29
|
-
import { fetchPriorManifest } from './review-catalog.js';
|
|
29
|
+
import { fetchCatalogListing, fetchPriorManifest } from './review-catalog.js';
|
|
30
30
|
import { runChecks, summarize } from './review-checks.js';
|
|
31
31
|
import { renderReviewReport } from './review-render.js';
|
|
32
32
|
const MAX_SIZE = 50 * 1024 * 1024; // 50 MB, matches `scan`
|
|
@@ -45,14 +45,23 @@ export async function runReviewRisk(opts) {
|
|
|
45
45
|
// Optional manifest diff (check 3) — only when an extension id is supplied.
|
|
46
46
|
let priorManifest = null;
|
|
47
47
|
let diffNote = null;
|
|
48
|
+
// The published listing, used only to fill what the package and the draft
|
|
49
|
+
// cannot supply — in practice the full description.
|
|
50
|
+
let catalogListing = null;
|
|
48
51
|
if (opts.extensionId) {
|
|
49
|
-
const spinner = ora({
|
|
50
|
-
|
|
52
|
+
const spinner = ora({
|
|
53
|
+
text: 'Fetching your published manifest and listing…',
|
|
54
|
+
stream: process.stderr,
|
|
55
|
+
}).start();
|
|
56
|
+
// One round trip each, in parallel: neither read depends on the other, and
|
|
57
|
+
// serialising them would double the only wait this command has.
|
|
58
|
+
const args = {
|
|
51
59
|
bffUrl: opts.bffUrl,
|
|
52
60
|
extensionId: opts.extensionId,
|
|
53
61
|
apiKey: opts.apiKey,
|
|
54
62
|
store: opts.store,
|
|
55
|
-
}
|
|
63
|
+
};
|
|
64
|
+
const [prior, published] = await Promise.all([fetchPriorManifest(args), fetchCatalogListing(args)]);
|
|
56
65
|
if (prior.manifest) {
|
|
57
66
|
priorManifest = prior.manifest;
|
|
58
67
|
const v = prior.meta?.version ? ` (published v${prior.meta.version})` : '';
|
|
@@ -62,12 +71,17 @@ export async function runReviewRisk(opts) {
|
|
|
62
71
|
spinner.warn(`Auto-disable diff skipped: ${prior.reason}`);
|
|
63
72
|
diffNote = prior.reason ?? 'last published manifest unavailable';
|
|
64
73
|
}
|
|
74
|
+
catalogListing = published.listing ? listingFromCatalog(published.listing) : null;
|
|
75
|
+
if (!catalogListing && published.reason) {
|
|
76
|
+
process.stderr.write(`note: published listing not used: ${published.reason}\n`);
|
|
77
|
+
}
|
|
65
78
|
}
|
|
66
79
|
else {
|
|
67
80
|
diffNote =
|
|
68
81
|
'pass --extension-id <numeric catalog id> to diff against your last published manifest (auto-disable check)';
|
|
69
82
|
}
|
|
70
|
-
const listing = assembleListing(manifest, files, opts.listingPath);
|
|
83
|
+
const listing = assembleListing(manifest, files, opts.listingPath, catalogListing);
|
|
84
|
+
const usedCatalog = catalogListing !== null;
|
|
71
85
|
const summary = summarize(runChecks({ manifest, files, priorManifest, listing }));
|
|
72
86
|
if (opts.outputJson) {
|
|
73
87
|
process.stdout.write(`${JSON.stringify({
|
|
@@ -97,7 +111,7 @@ export async function runReviewRisk(opts) {
|
|
|
97
111
|
renderReviewReport(summary);
|
|
98
112
|
if (diffNote)
|
|
99
113
|
process.stderr.write(`note: ${diffNote}\n`);
|
|
100
|
-
for (const note of listingCoverageNotes(listing, opts.listingPath))
|
|
114
|
+
for (const note of listingCoverageNotes(listing, opts.listingPath, usedCatalog))
|
|
101
115
|
process.stderr.write(`note: ${note}\n`);
|
|
102
116
|
}
|
|
103
117
|
// Block a publish pipeline only on a definite rejection.
|
package/dist/review-risk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-risk.js","sourceRoot":"","sources":["../src/review-risk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"review-risk.js","sourceRoot":"","sources":["../src/review-risk.ts"],"names":[],"mappings":"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"}
|