@brandlab-digital/conformance 1.0.0-rc.33 → 1.0.0-rc.34
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.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +23 -5
- package/dist/cli.js.map +1 -1
- package/dist/project-config-v3.d.ts +2 -0
- package/dist/project-config-v3.d.ts.map +1 -1
- package/dist/project-config-v3.js +37 -22
- package/dist/project-config-v3.js.map +1 -1
- package/dist/project.d.ts +7 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +40 -21
- package/dist/project.js.map +1 -1
- package/dist/release-catalog.d.ts.map +1 -1
- package/dist/release-catalog.js +49 -0
- package/dist/release-catalog.js.map +1 -1
- package/dist/verification-policy.d.ts +1 -1
- package/dist/verification-policy.js +2 -2
- package/dist/verification-policy.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.d.ts
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAG/B,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,KAAK;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAG/B,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,KAAK;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAuBD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA+ChF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAGH,GACA,MAAM,CA8CR;AAYD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,GACvC,qBAAqB,CAiCvB;AAsID,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT"}
|
package/dist/cli.js
CHANGED
|
@@ -11,14 +11,16 @@ Usage:
|
|
|
11
11
|
brandlab-verify [--root <path>] [--support-policy <path>]
|
|
12
12
|
[--installed-release <version|unadopted>]
|
|
13
13
|
[--release-manifest <path>]...
|
|
14
|
-
[--target-release <version|none>] [--mode <local|ci|preflight>]
|
|
14
|
+
[--target-release <version|none>] [--mode <local|ci|preflight>]
|
|
15
|
+
[--legacy-diagnostics] [--json]
|
|
15
16
|
|
|
16
17
|
Exit status:
|
|
17
18
|
local/ci fail only for high-signal installed-release blockers
|
|
18
19
|
preflight also fails for high-signal target-release blockers
|
|
19
20
|
|
|
20
|
-
The
|
|
21
|
-
|
|
21
|
+
The normal result contains only the current objective verification checks.
|
|
22
|
+
Use --legacy-diagnostics only when investigating a historical implementation
|
|
23
|
+
shape; JSON alone never enables retired rules.
|
|
22
24
|
Without an external support policy, local verification uses the installed
|
|
23
25
|
release's embedded contract. Portfolio and release checks always supply the
|
|
24
26
|
canonical Brandlab support policy.
|
|
@@ -30,6 +32,7 @@ export function parseBrandlabConformanceArgs(argv) {
|
|
|
30
32
|
releaseManifestPaths: [],
|
|
31
33
|
mode: "local",
|
|
32
34
|
json: false,
|
|
35
|
+
legacyDiagnostics: false,
|
|
33
36
|
help: false,
|
|
34
37
|
};
|
|
35
38
|
for (let index = 0; index < argv.length; index += 1) {
|
|
@@ -40,6 +43,9 @@ export function parseBrandlabConformanceArgs(argv) {
|
|
|
40
43
|
else if (argument === "--json") {
|
|
41
44
|
parsed.json = true;
|
|
42
45
|
}
|
|
46
|
+
else if (argument === "--legacy-diagnostics") {
|
|
47
|
+
parsed.legacyDiagnostics = true;
|
|
48
|
+
}
|
|
43
49
|
else if (argument === "--root") {
|
|
44
50
|
parsed.root = resolve(requireValue(argv, ++index, "--root"));
|
|
45
51
|
}
|
|
@@ -101,6 +107,7 @@ export function runBrandlabConformanceCli(argv, io = {
|
|
|
101
107
|
mode: options.mode,
|
|
102
108
|
releaseManifests: releaseManifests.length > 0 ? releaseManifests : undefined,
|
|
103
109
|
supportPolicy,
|
|
110
|
+
includeLegacyDiagnostics: options.legacyDiagnostics,
|
|
104
111
|
});
|
|
105
112
|
io.stdout(options.json ? `${JSON.stringify(result, null, 2)}\n` : formatResult(result));
|
|
106
113
|
return shouldFailBrandlabConformance(result) ? 1 : 0;
|
|
@@ -202,16 +209,27 @@ function resolveSupportPolicyReleaseManifestPaths(supportPolicyPath, supportPoli
|
|
|
202
209
|
throw new Error(`Cannot resolve every support-policy release manifest from ${supportPolicyPath}.`);
|
|
203
210
|
}
|
|
204
211
|
function formatResult(result) {
|
|
212
|
+
const externalChecks = result.verification.checks.filter((check) => check.status === "not_run");
|
|
213
|
+
const staticStatus = result.verification.maintenance.blockers > 0
|
|
214
|
+
? "blocked"
|
|
215
|
+
: result.verification.maintenance.warnings > 0
|
|
216
|
+
? "warning"
|
|
217
|
+
: "pass";
|
|
205
218
|
const lines = [
|
|
206
219
|
"Brandlab verification",
|
|
207
220
|
`installed: ${result.installedRelease ?? "unadopted"}`,
|
|
208
221
|
`target: ${result.targetRelease ?? "none"}`,
|
|
209
222
|
`policy: ${result.verification.policyVersion}`,
|
|
210
|
-
`
|
|
223
|
+
`static checks: ${staticStatus}`,
|
|
224
|
+
`external evidence: ${externalChecks.length > 0
|
|
225
|
+
? `not run (${externalChecks.map((check) => check.title).join(", ")})`
|
|
226
|
+
: "complete"}`,
|
|
211
227
|
`maintenance: ${formatSummary(result.verification.maintenance)}`,
|
|
212
228
|
`migration: ${formatSummary(result.verification.migration)}`,
|
|
213
|
-
`diagnostics: ${result.diagnostics.findings.length}`,
|
|
214
229
|
];
|
|
230
|
+
if (result.diagnostics.findings.length > 0) {
|
|
231
|
+
lines.push(`legacy diagnostics: ${result.diagnostics.findings.length}`);
|
|
232
|
+
}
|
|
215
233
|
for (const family of result.verification.families) {
|
|
216
234
|
if (family.status === "pass")
|
|
217
235
|
continue;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,GAG9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,8 +42,10 @@ export interface BrandlabConfigV3Inspection {
|
|
|
42
42
|
frameworkOwnedExports: ReadonlyMap<string, ReadonlySet<string>>;
|
|
43
43
|
issues: BrandlabConfigV3Issue[];
|
|
44
44
|
}
|
|
45
|
+
export type BrandlabConfigV3InspectionMode = "current" | "legacy-diagnostics";
|
|
45
46
|
export declare function inspectBrandlabConfigV3(root: string, options?: {
|
|
46
47
|
contractVersion?: BrandlabInspectableConfigurationContract;
|
|
48
|
+
mode?: BrandlabConfigV3InspectionMode;
|
|
47
49
|
}): BrandlabConfigV3Inspection;
|
|
48
50
|
/** SHA-256 evidence for the exact canonical serializer output produced at runtime. */
|
|
49
51
|
export declare function digestBrandlabPlatformContractSerialization(serialized: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config-v3.d.ts","sourceRoot":"","sources":["../src/project-config-v3.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,MAAM,MAAM,wCAAwC,GAChD,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,eAAO,MAAM,2BAA2B,wFAK9B,CAAC;AA8CX,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,mBAAmB,EAAE;QACnB,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACxD,CAAC;IACF,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACzC,YAAY,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"project-config-v3.d.ts","sourceRoot":"","sources":["../src/project-config-v3.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,MAAM,MAAM,wCAAwC,GAChD,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,eAAO,MAAM,2BAA2B,wFAK9B,CAAC;AA8CX,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,mBAAmB,EAAE;QACnB,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACxD,CAAC;IACF,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACzC,YAAY,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,qBAAqB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,oBAAoB,CAAC;AAuP9E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,wCAAwC,CAAC;IAC3D,IAAI,CAAC,EAAE,8BAA8B,CAAC;CAClC,GACL,0BAA0B,CA8G5B;AAgkGD,sFAAsF;AACtF,wBAAgB,2CAA2C,CAAC,UAAU,EAAE,MAAM,UAe7E"}
|
|
@@ -304,6 +304,7 @@ const PROTECTED_LOCAL_PATTERNS = [
|
|
|
304
304
|
];
|
|
305
305
|
export function inspectBrandlabConfigV3(root, options = {}) {
|
|
306
306
|
const contractVersion = options.contractVersion ?? "project-config-v5";
|
|
307
|
+
const mode = options.mode ?? "legacy-diagnostics";
|
|
307
308
|
const issues = [];
|
|
308
309
|
const configPath = join(root, "brandlab.config.ts");
|
|
309
310
|
const usage = collectProjectImports(root, issues);
|
|
@@ -378,9 +379,9 @@ export function inspectBrandlabConfigV3(root, options = {}) {
|
|
|
378
379
|
}
|
|
379
380
|
const config = validateConfigValue(value, issues, contractVersion);
|
|
380
381
|
if (config) {
|
|
381
|
-
addImportContractIssues(root, config, usage, issues, contractVersion);
|
|
382
|
+
addImportContractIssues(root, config, usage, issues, contractVersion, mode);
|
|
382
383
|
}
|
|
383
|
-
addProtectedImplementationIssues(root, issues, contractVersion);
|
|
384
|
+
addProtectedImplementationIssues(root, issues, contractVersion, mode);
|
|
384
385
|
return {
|
|
385
386
|
config,
|
|
386
387
|
imports,
|
|
@@ -1041,7 +1042,7 @@ function isIsoDate(value) {
|
|
|
1041
1042
|
return false;
|
|
1042
1043
|
return !Number.isNaN(Date.parse(value));
|
|
1043
1044
|
}
|
|
1044
|
-
function addImportContractIssues(root, config, usage, issues, contractVersion) {
|
|
1045
|
+
function addImportContractIssues(root, config, usage, issues, contractVersion, mode) {
|
|
1045
1046
|
if (config.profile === "legacy-php") {
|
|
1046
1047
|
const nextEvidence = detectNextPackageBackedEvidence(root, usage);
|
|
1047
1048
|
if (nextEvidence.length === 0)
|
|
@@ -1055,24 +1056,26 @@ function addImportContractIssues(root, config, usage, issues, contractVersion) {
|
|
|
1055
1056
|
path: "brandlab.config.ts",
|
|
1056
1057
|
}));
|
|
1057
1058
|
}
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
moduleName: "@brandlab-digital/site-next/headers",
|
|
1066
|
-
surface: "headers",
|
|
1067
|
-
exports: ["buildBrandlabHeaderRules"],
|
|
1068
|
-
}, usage, issues);
|
|
1069
|
-
if (config.routes.families.includes("locations") ||
|
|
1070
|
-
config.routes.families.includes("service-locations")) {
|
|
1059
|
+
if (mode === "legacy-diagnostics") {
|
|
1060
|
+
for (const [moduleName, surface] of REQUIRED_KERNEL_IMPORTS) {
|
|
1061
|
+
requireModuleExecution(moduleName, surface, usage, issues);
|
|
1062
|
+
}
|
|
1063
|
+
for (const requirement of STRICT_KERNEL_USAGES) {
|
|
1064
|
+
requireStrictUsage(requirement, usage, issues);
|
|
1065
|
+
}
|
|
1071
1066
|
requireStrictUsage({
|
|
1072
|
-
moduleName: "@brandlab-digital/site-
|
|
1073
|
-
surface: "
|
|
1074
|
-
exports: ["
|
|
1067
|
+
moduleName: "@brandlab-digital/site-next/headers",
|
|
1068
|
+
surface: "headers",
|
|
1069
|
+
exports: ["buildBrandlabHeaderRules"],
|
|
1075
1070
|
}, usage, issues);
|
|
1071
|
+
if (config.routes.families.includes("locations") ||
|
|
1072
|
+
config.routes.families.includes("service-locations")) {
|
|
1073
|
+
requireStrictUsage({
|
|
1074
|
+
moduleName: "@brandlab-digital/site-core/locations",
|
|
1075
|
+
surface: "location-proof",
|
|
1076
|
+
exports: ["defineLocationRouteDecision", "defineLocationRouteQuality"],
|
|
1077
|
+
}, usage, issues);
|
|
1078
|
+
}
|
|
1076
1079
|
}
|
|
1077
1080
|
const contactEvidence = detectContactSurfaceEvidence(root, usage);
|
|
1078
1081
|
const contactRequired = config.capabilities.contactEnabled || contactEvidence.length > 0;
|
|
@@ -1110,7 +1113,9 @@ function addImportContractIssues(root, config, usage, issues, contractVersion) {
|
|
|
1110
1113
|
exports: ["createContactHttpSubmissionController"],
|
|
1111
1114
|
}, usage, issues);
|
|
1112
1115
|
}
|
|
1113
|
-
if (
|
|
1116
|
+
if (mode === "legacy-diagnostics" &&
|
|
1117
|
+
config.capabilities.blogAdapter &&
|
|
1118
|
+
config.capabilities.blogAdapter !== "none") {
|
|
1114
1119
|
const adapterExport = config.capabilities.blogAdapter === "mdx"
|
|
1115
1120
|
? "createRouteAwareMdxBlogAdapter"
|
|
1116
1121
|
: "createRouteAwareStructuredBlogAdapter";
|
|
@@ -1156,7 +1161,8 @@ function addImportContractIssues(root, config, usage, issues, contractVersion) {
|
|
|
1156
1161
|
}, usage, issues);
|
|
1157
1162
|
}
|
|
1158
1163
|
}
|
|
1159
|
-
else if (
|
|
1164
|
+
else if (mode === "legacy-diagnostics" &&
|
|
1165
|
+
config.capabilities.reviewsProvider === "project-owned") {
|
|
1160
1166
|
requireStrictUsage({
|
|
1161
1167
|
moduleName: "@brandlab-digital/site-next/reviews",
|
|
1162
1168
|
surface: "project-reviews",
|
|
@@ -2944,11 +2950,20 @@ function isRuntimeIdentifierReference(identifier) {
|
|
|
2944
2950
|
}
|
|
2945
2951
|
return true;
|
|
2946
2952
|
}
|
|
2947
|
-
function addProtectedImplementationIssues(root, issues, contractVersion) {
|
|
2953
|
+
function addProtectedImplementationIssues(root, issues, contractVersion, mode) {
|
|
2948
2954
|
for (const file of walkProjectRuntimeFiles(root)) {
|
|
2949
2955
|
const relativePath = normalizePath(relative(root, file));
|
|
2950
2956
|
const source = readFileSync(file, "utf8");
|
|
2951
2957
|
for (const rule of PROTECTED_LOCAL_PATTERNS) {
|
|
2958
|
+
if (mode === "current" &&
|
|
2959
|
+
[
|
|
2960
|
+
"brandlab-config-v3-circular-business-evidence",
|
|
2961
|
+
"brandlab-config-v3-local-programmatic-proof-derivation",
|
|
2962
|
+
"brandlab-config-v3-hardcoded-search-demand",
|
|
2963
|
+
"brandlab-config-v3-url-derived-breadcrumbs",
|
|
2964
|
+
].includes(rule.ruleId)) {
|
|
2965
|
+
continue;
|
|
2966
|
+
}
|
|
2952
2967
|
if ("minimumContract" in rule &&
|
|
2953
2968
|
!configurationContractIncludes(contractVersion, rule.minimumContract))
|
|
2954
2969
|
continue;
|