@primmel/primmel 1.21.1 → 1.21.2
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/src/check-allowlist.d.ts +22 -0
- package/dist/src/check-allowlist.d.ts.map +1 -1
- package/dist/src/check-allowlist.js +58 -0
- package/dist/src/check-allowlist.js.map +1 -1
- package/dist/src/check.d.ts.map +1 -1
- package/dist/src/check.js +11 -1
- package/dist/src/check.js.map +1 -1
- package/dist/src/ser-des/package.d.ts +11 -0
- package/dist/src/ser-des/package.d.ts.map +1 -1
- package/dist/src/ser-des/package.js +7 -1
- package/dist/src/ser-des/package.js.map +1 -1
- package/dist-browser/index.mjs +5 -1
- package/dist-cli/primmel.mjs +46 -2
- package/package.json +1 -1
|
@@ -53,4 +53,26 @@ export interface AllowlistResult {
|
|
|
53
53
|
* (audit level — at the default level C51/C52 do not run).
|
|
54
54
|
*/
|
|
55
55
|
export declare function applyAllowlist(issues: CheckIssue[], allowlist: PackageAllowlist, activeRules: Set<string>): AllowlistResult;
|
|
56
|
+
/**
|
|
57
|
+
* The provider pass (composition): a consumer's check re-reports the
|
|
58
|
+
* diagnostics of every package in its `uses` closure, so the KNOWN
|
|
59
|
+
* register travels with the package — each provider's own allowlist
|
|
60
|
+
* entries apply to the issues its elements contribute, exactly as they
|
|
61
|
+
* do when the provider is checked alone. The consumer never re-authors
|
|
62
|
+
* its providers' dispositions.
|
|
63
|
+
*
|
|
64
|
+
* Attribution is by the entry's own glob: in a valid composition an
|
|
65
|
+
* element id has exactly ONE contributor (uses-no-redefine), and the
|
|
66
|
+
* entries name their elements — a provider's match on a consumer's
|
|
67
|
+
* diagnostic is the provider's own element by construction.
|
|
68
|
+
*
|
|
69
|
+
* The STALE discipline applies unchanged: a provider entry matching no
|
|
70
|
+
* issue in the consumer's check fails with C57 naming the provider
|
|
71
|
+
* (the entries are written for diagnostics that always fire when the
|
|
72
|
+
* elements are composed in, so a stale match is real drift).
|
|
73
|
+
*/
|
|
74
|
+
export declare function applyProviderAllowlists(issues: CheckIssue[], providers: ReadonlyArray<{
|
|
75
|
+
id: string;
|
|
76
|
+
dir: string;
|
|
77
|
+
}>, activeRules: Set<string>): CheckIssue[];
|
|
56
78
|
//# sourceMappingURL=check-allowlist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-allowlist.d.ts","sourceRoot":"","sources":["../../src/check-allowlist.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;uEACmE;IACnE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;6DACyD;IACzD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAUD,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK7D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CA4EA;AA8DD,qEAAqE;AACrE,eAAO,MAAM,cAAc,aAA0B,CAAC;AAEtD;oEACoE;AACpE,eAAO,MAAM,mBAAmB,aAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,yDAAyD;IACzD,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,eAAe,CA2EjB"}
|
|
1
|
+
{"version":3,"file":"check-allowlist.d.ts","sourceRoot":"","sources":["../../src/check-allowlist.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,2BAA2B,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;uEACmE;IACnE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;6DACyD;IACzD,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAUD,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK7D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CA4EA;AA8DD,qEAAqE;AACrE,eAAO,MAAM,cAAc,aAA0B,CAAC;AAEtD;oEACoE;AACpE,eAAO,MAAM,mBAAmB,aAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,uDAAuD;IACvD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,yDAAyD;IACzD,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,eAAe,CA2EjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAAE,EACpB,SAAS,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACrD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,UAAU,EAAE,CAwCd"}
|
|
@@ -49,6 +49,7 @@ exports.TEXT_BUDGETED_RULES = exports.BUDGETED_RULES = exports.ALLOWLIST_FILENAM
|
|
|
49
49
|
exports.globMatch = globMatch;
|
|
50
50
|
exports.loadAllowlist = loadAllowlist;
|
|
51
51
|
exports.applyAllowlist = applyAllowlist;
|
|
52
|
+
exports.applyProviderAllowlists = applyProviderAllowlists;
|
|
52
53
|
const fs_1 = require("fs");
|
|
53
54
|
const path_1 = require("path");
|
|
54
55
|
const tokenize_1 = require("./ser-des/tokenize");
|
|
@@ -304,4 +305,61 @@ function applyAllowlist(issues, allowlist, activeRules) {
|
|
|
304
305
|
}
|
|
305
306
|
return { issues: out, known, stale };
|
|
306
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* The provider pass (composition): a consumer's check re-reports the
|
|
310
|
+
* diagnostics of every package in its `uses` closure, so the KNOWN
|
|
311
|
+
* register travels with the package — each provider's own allowlist
|
|
312
|
+
* entries apply to the issues its elements contribute, exactly as they
|
|
313
|
+
* do when the provider is checked alone. The consumer never re-authors
|
|
314
|
+
* its providers' dispositions.
|
|
315
|
+
*
|
|
316
|
+
* Attribution is by the entry's own glob: in a valid composition an
|
|
317
|
+
* element id has exactly ONE contributor (uses-no-redefine), and the
|
|
318
|
+
* entries name their elements — a provider's match on a consumer's
|
|
319
|
+
* diagnostic is the provider's own element by construction.
|
|
320
|
+
*
|
|
321
|
+
* The STALE discipline applies unchanged: a provider entry matching no
|
|
322
|
+
* issue in the consumer's check fails with C57 naming the provider
|
|
323
|
+
* (the entries are written for diagnostics that always fire when the
|
|
324
|
+
* elements are composed in, so a stale match is real drift).
|
|
325
|
+
*/
|
|
326
|
+
function applyProviderAllowlists(issues, providers, activeRules) {
|
|
327
|
+
const out = [...issues];
|
|
328
|
+
for (const provider of providers) {
|
|
329
|
+
const { allowlist, issues: parseIssues } = loadAllowlist(provider.dir);
|
|
330
|
+
out.push(...parseIssues);
|
|
331
|
+
for (const entry of allowlist.entries) {
|
|
332
|
+
if (!activeRules.has(entry.rule)) {
|
|
333
|
+
continue; // dormant at this level, the root pass's rule
|
|
334
|
+
}
|
|
335
|
+
let matched = false;
|
|
336
|
+
for (const issue of out) {
|
|
337
|
+
if (!issue.known &&
|
|
338
|
+
issue.check === entry.rule &&
|
|
339
|
+
globMatch(entry.match, issue.message)) {
|
|
340
|
+
issue.known = true;
|
|
341
|
+
matched = true;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (!matched) {
|
|
345
|
+
// A WARNING here, never an error: a provider's entry set is
|
|
346
|
+
// validated when the PROVIDER is checked (its diagnostics fire
|
|
347
|
+
// there), but a consumer's overlay may legitimately REPLACE the
|
|
348
|
+
// element an entry was written for — the diagnostic then never
|
|
349
|
+
// fires in that closure (e.g. twin-cert's certificate-template
|
|
350
|
+
// overlay over r60-lml's). Visible, never a false gate.
|
|
351
|
+
out.push({
|
|
352
|
+
check: 'C57',
|
|
353
|
+
severity: 'warning',
|
|
354
|
+
// KNOWN: the note prints (visible) but never fails a gate,
|
|
355
|
+
// not even --strict — the entry is validated on the
|
|
356
|
+
// provider's own check, where its diagnostics fire.
|
|
357
|
+
known: true,
|
|
358
|
+
message: `provider "${provider.id}": entry [${entry.rule}] "${entry.match}" matches no issue in this composed check — the entry is stale, or a downstream overlay replaced its element (allowlist-stale)`,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return out;
|
|
364
|
+
}
|
|
307
365
|
//# sourceMappingURL=check-allowlist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-allowlist.js","sourceRoot":"","sources":["../../src/check-allowlist.ts"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,4DAA4D;AAC5D,sEAAsE;AACtE,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,0CAA0C;AAC1C,EAAE;AACF,uBAAuB;AACvB,sBAAsB;AACtB,cAAc;AACd,kEAAkE;AAClE,qEAAqE;AACrE,sEAAsE;AACtE,2CAA2C;AAC3C,kCAAkC;AAClC,MAAM;AACN,EAAE;AACF,yEAAyE;AACzE,oEAAoE;AACpE,gBAAgB;AAChB,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,aAAa;AACb,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,oEAAoE;AACpE,uEAAuE;AACvE,4DAA4D;AAC5D,sEAAsE;AACtE,qEAAqE;AACrE,yEAAyE;AACzE,qEAAqE;AACrE,wDAAwD;AACxD,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,kDAAkD;AAClD,wEAAwE;;;AAuCxE,8BAKC;AAWD,sCA+EC;AAwFD,wCA+EC;
|
|
1
|
+
{"version":3,"file":"check-allowlist.js","sourceRoot":"","sources":["../../src/check-allowlist.ts"],"names":[],"mappings":"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"}
|
package/dist/src/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAmYA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/check.ts"],"names":[],"mappings":"AAmYA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AA+D7C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA+CD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,UAAU,EAAE,CAmmNd;AAoBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAwFjE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAOH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoCvE;AAUD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAmFnE;AAWD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAiIlE;AAiFD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA2GvE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAwQnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA+ExE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA0EjE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA6FhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CAoBhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,EAAE,CA8CnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,GACjB,UAAU,EAAE,CAuNd"}
|
package/dist/src/check.js
CHANGED
|
@@ -473,11 +473,13 @@ function checkPackage(dir, options = {}) {
|
|
|
473
473
|
'namespace-pin-violation': 'C119',
|
|
474
474
|
};
|
|
475
475
|
let standard;
|
|
476
|
+
let compositionProviders = [];
|
|
476
477
|
try {
|
|
477
478
|
const loaded = (0, package_1.loadPackageWithIssues)(dir, {
|
|
478
479
|
resolvePackage: options.resolvePackage,
|
|
479
480
|
});
|
|
480
481
|
standard = loaded.standard;
|
|
482
|
+
compositionProviders = loaded.composition?.providers ?? [];
|
|
481
483
|
for (const i of loaded.issues) {
|
|
482
484
|
// The deprecation report (phase 2): the parse-time issue maps to
|
|
483
485
|
// its rule.
|
|
@@ -5454,7 +5456,15 @@ function checkPackage(dir, options = {}) {
|
|
|
5454
5456
|
const level = strictness === 'audit' ? 'audit' : 'normal';
|
|
5455
5457
|
const { allowlist, issues: allowlistParseIssues } = (0, check_allowlist_1.loadAllowlist)(dir);
|
|
5456
5458
|
issues.push(...allowlistParseIssues);
|
|
5457
|
-
|
|
5459
|
+
let finalized = (0, check_allowlist_1.applyAllowlist)(issues, allowlist, (0, check_rules_1.activeRuleIds)(level)).issues;
|
|
5460
|
+
// The provider pass (composition): the KNOWN register travels with
|
|
5461
|
+
// the package — every provider in the `uses` closure contributes its
|
|
5462
|
+
// own allowlist to the diagnostics its elements carry into this
|
|
5463
|
+
// check. The consumer never re-authors its providers' dispositions
|
|
5464
|
+
// (the INHERITED-entry pattern retires here).
|
|
5465
|
+
if (compositionProviders.length > 0) {
|
|
5466
|
+
finalized = (0, check_allowlist_1.applyProviderAllowlists)(finalized, compositionProviders, (0, check_rules_1.activeRuleIds)(level));
|
|
5467
|
+
}
|
|
5458
5468
|
if (options.strict) {
|
|
5459
5469
|
for (const i of finalized) {
|
|
5460
5470
|
if (i.severity !== 'warning' || i.known) {
|