@brandlab-digital/conformance 1.0.0-rc.2 → 1.0.0-rc.20
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/analytics-contract.d.ts +20 -0
- package/dist/analytics-contract.d.ts.map +1 -0
- package/dist/analytics-contract.js +211 -0
- package/dist/analytics-contract.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -3
- package/dist/cli.js.map +1 -1
- package/dist/project-config-v3.d.ts +9 -1
- package/dist/project-config-v3.d.ts.map +1 -1
- package/dist/project-config-v3.js +210 -24
- package/dist/project-config-v3.js.map +1 -1
- package/dist/project-config.d.ts +1 -1
- package/dist/project-config.d.ts.map +1 -1
- package/dist/project-config.js +1 -1
- package/dist/project-config.js.map +1 -1
- package/dist/project-documentation.d.ts +28 -0
- package/dist/project-documentation.d.ts.map +1 -0
- package/dist/project-documentation.js +398 -0
- package/dist/project-documentation.js.map +1 -0
- package/dist/project.d.ts +4 -1
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +263 -15
- package/dist/project.js.map +1 -1
- package/dist/release-catalog.d.ts.map +1 -1
- package/dist/release-catalog.js +1356 -0
- package/dist/release-catalog.js.map +1 -1
- package/dist/release-contract-compatibility.d.ts +126 -0
- package/dist/release-contract-compatibility.d.ts.map +1 -1
- package/dist/release-contract-compatibility.js +126 -0
- package/dist/release-contract-compatibility.js.map +1 -1
- package/dist/release-manifest.d.ts +1 -0
- package/dist/release-manifest.d.ts.map +1 -1
- package/dist/release-manifest.js +7 -0
- package/dist/release-manifest.js.map +1 -1
- package/dist/rendered-content.d.ts +18 -0
- package/dist/rendered-content.d.ts.map +1 -0
- package/dist/rendered-content.js +80 -0
- package/dist/rendered-content.js.map +1 -0
- package/dist/source-safety-contracts.d.ts +1 -1
- package/dist/source-safety-contracts.d.ts.map +1 -1
- package/dist/source-safety-contracts.js +5 -1
- package/dist/source-safety-contracts.js.map +1 -1
- package/package.json +19 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const BRANDLAB_ANALYTICS_V3_RULESET_ID = "analytics-v3@1.0.0-rc.17";
|
|
2
|
+
export interface BrandlabAnalyticsV3Issue {
|
|
3
|
+
ruleId: string;
|
|
4
|
+
surface: "analytics";
|
|
5
|
+
severity: "blocker" | "warning" | "info";
|
|
6
|
+
evidenceKind: "static";
|
|
7
|
+
path?: string;
|
|
8
|
+
line?: number;
|
|
9
|
+
expected: string;
|
|
10
|
+
actual: string;
|
|
11
|
+
remediation: string;
|
|
12
|
+
}
|
|
13
|
+
export interface BrandlabAnalyticsV3Inspection {
|
|
14
|
+
rulesetId: typeof BRANDLAB_ANALYTICS_V3_RULESET_ID;
|
|
15
|
+
websiteCallsDeclared: boolean;
|
|
16
|
+
leadDiagnosticsDeclared: boolean;
|
|
17
|
+
issues: BrandlabAnalyticsV3Issue[];
|
|
18
|
+
}
|
|
19
|
+
export declare function inspectBrandlabAnalyticsV3(root: string): BrandlabAnalyticsV3Inspection;
|
|
20
|
+
//# sourceMappingURL=analytics-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-contract.d.ts","sourceRoot":"","sources":["../src/analytics-contract.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gCAAgC,6BACjB,CAAC;AAE7B,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACzC,YAAY,EAAE,QAAQ,CAAC;IACvB,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,6BAA6B;IAC5C,SAAS,EAAE,OAAO,gCAAgC,CAAC;IACnD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAaD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAkDtF"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync } from "node:fs";
|
|
2
|
+
import { extname, join, relative } from "node:path";
|
|
3
|
+
import * as ts from "typescript";
|
|
4
|
+
export const BRANDLAB_ANALYTICS_V3_RULESET_ID = "analytics-v3@1.0.0-rc.17";
|
|
5
|
+
const SOURCE_EXTENSIONS = new Set([".js", ".jsx", ".mjs", ".ts", ".tsx"]);
|
|
6
|
+
const SKIPPED_DIRECTORIES = new Set([
|
|
7
|
+
".git",
|
|
8
|
+
".next",
|
|
9
|
+
".turbo",
|
|
10
|
+
"coverage",
|
|
11
|
+
"dist",
|
|
12
|
+
"generated",
|
|
13
|
+
"node_modules",
|
|
14
|
+
]);
|
|
15
|
+
export function inspectBrandlabAnalyticsV3(root) {
|
|
16
|
+
const sourceRoot = join(root, "src");
|
|
17
|
+
const files = existsSync(sourceRoot) ? walkSourceFiles(sourceRoot) : [];
|
|
18
|
+
const sources = files.map((path) => ({
|
|
19
|
+
path,
|
|
20
|
+
relativePath: relative(root, path).split(/[/\\]/).join("/"),
|
|
21
|
+
source: readFileSync(path, "utf8"),
|
|
22
|
+
}));
|
|
23
|
+
const issues = [];
|
|
24
|
+
const inspections = sources.map((entry) => inspectAnalyticsSource(entry, issues));
|
|
25
|
+
const websiteCallsDeclared = inspections.some((inspection) => inspection.websiteCallsDeclared);
|
|
26
|
+
const leadDiagnosticsDeclared = inspections.some((inspection) => inspection.leadDiagnosticsDeclared);
|
|
27
|
+
if (websiteCallsDeclared) {
|
|
28
|
+
const sharedGoogleTagRendered = inspections.some((inspection) => inspection.sharedGoogleTagRendered);
|
|
29
|
+
if (!sharedGoogleTagRendered) {
|
|
30
|
+
issues.push(analyticsIssue({
|
|
31
|
+
ruleId: "brandlab-analytics-website-call-renderer",
|
|
32
|
+
expected: "Projects declaring websiteCalls render BrandlabGoogleTag from @brandlab-digital/site-next/analytics/google-tag.",
|
|
33
|
+
actual: "The website-call contract is declared without the shared Google tag renderer.",
|
|
34
|
+
remediation: "Render BrandlabGoogleTag once from the root layout and pass the verified public business phone number.",
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (leadDiagnosticsDeclared) {
|
|
39
|
+
const sharedDiagnosticsCalled = inspections.some((inspection) => inspection.sharedDiagnosticCalled);
|
|
40
|
+
if (!sharedDiagnosticsCalled) {
|
|
41
|
+
issues.push(analyticsIssue({
|
|
42
|
+
ruleId: "brandlab-analytics-lead-diagnostics-unused",
|
|
43
|
+
expected: "An enabled leadDiagnostics contract is consumed through at least one shared helper.",
|
|
44
|
+
actual: "leadDiagnostics is enabled but no shared diagnostic helper is imported.",
|
|
45
|
+
remediation: "Instrument the intended form or CTA through the shared helpers, or remove the unused opt-in.",
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
rulesetId: BRANDLAB_ANALYTICS_V3_RULESET_ID,
|
|
51
|
+
websiteCallsDeclared,
|
|
52
|
+
leadDiagnosticsDeclared,
|
|
53
|
+
issues: issues.sort((first, second) => first.ruleId.localeCompare(second.ruleId) ||
|
|
54
|
+
(first.path ?? "").localeCompare(second.path ?? "") ||
|
|
55
|
+
(first.line ?? 0) - (second.line ?? 0)),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function inspectAnalyticsSource(entry, issues) {
|
|
59
|
+
const sourceFile = ts.createSourceFile(entry.path, entry.source, ts.ScriptTarget.Latest, true, scriptKind(entry.path));
|
|
60
|
+
const googleTagBindings = new Set();
|
|
61
|
+
const diagnosticBindings = new Set();
|
|
62
|
+
const emittedRules = new Set();
|
|
63
|
+
let websiteCallsDeclared = false;
|
|
64
|
+
let leadDiagnosticsDeclared = false;
|
|
65
|
+
let sharedGoogleTagRendered = false;
|
|
66
|
+
let sharedDiagnosticCalled = false;
|
|
67
|
+
for (const statement of sourceFile.statements) {
|
|
68
|
+
if (!ts.isImportDeclaration(statement) || !ts.isStringLiteral(statement.moduleSpecifier))
|
|
69
|
+
continue;
|
|
70
|
+
const imports = statement.importClause?.namedBindings;
|
|
71
|
+
if (!imports || !ts.isNamedImports(imports))
|
|
72
|
+
continue;
|
|
73
|
+
for (const specifier of imports.elements) {
|
|
74
|
+
const importedName = specifier.propertyName?.text ?? specifier.name.text;
|
|
75
|
+
if (statement.moduleSpecifier.text === "@brandlab-digital/site-next/analytics/google-tag" &&
|
|
76
|
+
importedName === "BrandlabGoogleTag") {
|
|
77
|
+
googleTagBindings.add(specifier.name.text);
|
|
78
|
+
}
|
|
79
|
+
if (statement.moduleSpecifier.text === "@brandlab-digital/site-next/analytics" &&
|
|
80
|
+
["trackLeadFormStart", "trackLeadFormError", "trackLeadCtaClick"].includes(importedName)) {
|
|
81
|
+
diagnosticBindings.add(specifier.name.text);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const emitIssue = (node, options) => {
|
|
86
|
+
if (emittedRules.has(options.ruleId))
|
|
87
|
+
return;
|
|
88
|
+
emittedRules.add(options.ruleId);
|
|
89
|
+
issues.push(analyticsIssue({
|
|
90
|
+
...options,
|
|
91
|
+
path: entry.relativePath,
|
|
92
|
+
line: sourceFile.getLineAndCharacterOfPosition(node.getStart(sourceFile)).line + 1,
|
|
93
|
+
actual: `A local implementation appears in ${entry.relativePath}.`,
|
|
94
|
+
}));
|
|
95
|
+
};
|
|
96
|
+
const visit = (node) => {
|
|
97
|
+
if (ts.isPropertyAssignment(node)) {
|
|
98
|
+
const name = propertyName(node.name);
|
|
99
|
+
if (name === "websiteCalls" && ts.isObjectLiteralExpression(node.initializer)) {
|
|
100
|
+
websiteCallsDeclared = true;
|
|
101
|
+
}
|
|
102
|
+
if (name === "leadDiagnostics" &&
|
|
103
|
+
ts.isObjectLiteralExpression(node.initializer) &&
|
|
104
|
+
node.initializer.properties.some((property) => ts.isPropertyAssignment(property) &&
|
|
105
|
+
propertyName(property.name) === "enabled" &&
|
|
106
|
+
property.initializer.kind === ts.SyntaxKind.TrueKeyword)) {
|
|
107
|
+
leadDiagnosticsDeclared = true;
|
|
108
|
+
}
|
|
109
|
+
if (name === "phone_conversion_number") {
|
|
110
|
+
emitIssue(node, {
|
|
111
|
+
ruleId: "brandlab-analytics-local-website-call-snippet",
|
|
112
|
+
expected: "Website-call forwarding configuration is rendered by BrandlabGoogleTag.",
|
|
113
|
+
remediation: "Remove the local phone snippet and use @brandlab-digital/site-next/analytics/google-tag.",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if ((ts.isJsxOpeningElement(node) || ts.isJsxSelfClosingElement(node)) &&
|
|
118
|
+
ts.isIdentifier(node.tagName) &&
|
|
119
|
+
googleTagBindings.has(node.tagName.text)) {
|
|
120
|
+
sharedGoogleTagRendered = true;
|
|
121
|
+
}
|
|
122
|
+
if (ts.isCallExpression(node)) {
|
|
123
|
+
if (ts.isIdentifier(node.expression) &&
|
|
124
|
+
diagnosticBindings.has(node.expression.text)) {
|
|
125
|
+
sharedDiagnosticCalled = true;
|
|
126
|
+
}
|
|
127
|
+
if (ts.isPropertyAccessExpression(node.expression) &&
|
|
128
|
+
node.expression.name.text === "createElement" &&
|
|
129
|
+
node.arguments[0] &&
|
|
130
|
+
ts.isIdentifier(node.arguments[0]) &&
|
|
131
|
+
googleTagBindings.has(node.arguments[0].text)) {
|
|
132
|
+
sharedGoogleTagRendered = true;
|
|
133
|
+
}
|
|
134
|
+
const eventName = gtagEventName(node);
|
|
135
|
+
if (["lead_form_start", "lead_form_error", "lead_cta_click"].includes(eventName ?? "")) {
|
|
136
|
+
emitIssue(node, {
|
|
137
|
+
ruleId: "brandlab-analytics-local-lead-diagnostic",
|
|
138
|
+
expected: "Lead diagnostics use the privacy-safe shared analytics helpers.",
|
|
139
|
+
remediation: "Use trackLeadFormStart, trackLeadFormError or trackLeadCtaClick from @brandlab-digital/site-next/analytics.",
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (eventName === "conversion") {
|
|
143
|
+
emitIssue(node, {
|
|
144
|
+
ruleId: "brandlab-analytics-local-ads-conversion",
|
|
145
|
+
expected: "Direct form conversion transport stays inside the shared accepted-delivery runtime.",
|
|
146
|
+
remediation: "Remove the local Google Ads conversion event and use trackDeliveredContact or trackDeliveredContactWithEnhancedConversions.",
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
ts.forEachChild(node, visit);
|
|
151
|
+
};
|
|
152
|
+
visit(sourceFile);
|
|
153
|
+
return {
|
|
154
|
+
websiteCallsDeclared,
|
|
155
|
+
leadDiagnosticsDeclared,
|
|
156
|
+
sharedGoogleTagRendered,
|
|
157
|
+
sharedDiagnosticCalled,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function propertyName(name) {
|
|
161
|
+
return ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)
|
|
162
|
+
? name.text
|
|
163
|
+
: null;
|
|
164
|
+
}
|
|
165
|
+
function gtagEventName(node) {
|
|
166
|
+
const callee = node.expression;
|
|
167
|
+
const isGtag = (ts.isIdentifier(callee) && callee.text === "gtag") ||
|
|
168
|
+
(ts.isPropertyAccessExpression(callee) && callee.name.text === "gtag");
|
|
169
|
+
if (!isGtag || node.arguments.length < 2)
|
|
170
|
+
return null;
|
|
171
|
+
const command = node.arguments[0];
|
|
172
|
+
const event = node.arguments[1];
|
|
173
|
+
return command && ts.isStringLiteralLike(command) && command.text === "event" &&
|
|
174
|
+
event && ts.isStringLiteralLike(event)
|
|
175
|
+
? event.text
|
|
176
|
+
: null;
|
|
177
|
+
}
|
|
178
|
+
function scriptKind(path) {
|
|
179
|
+
switch (extname(path)) {
|
|
180
|
+
case ".tsx": return ts.ScriptKind.TSX;
|
|
181
|
+
case ".jsx": return ts.ScriptKind.JSX;
|
|
182
|
+
case ".js":
|
|
183
|
+
case ".mjs": return ts.ScriptKind.JS;
|
|
184
|
+
default: return ts.ScriptKind.TS;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function analyticsIssue(options) {
|
|
188
|
+
return {
|
|
189
|
+
surface: "analytics",
|
|
190
|
+
severity: "blocker",
|
|
191
|
+
evidenceKind: "static",
|
|
192
|
+
...options,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function walkSourceFiles(directory) {
|
|
196
|
+
const files = [];
|
|
197
|
+
for (const entry of readdirSync(directory, { withFileTypes: true })) {
|
|
198
|
+
if (entry.isSymbolicLink())
|
|
199
|
+
continue;
|
|
200
|
+
const path = join(directory, entry.name);
|
|
201
|
+
if (entry.isDirectory()) {
|
|
202
|
+
if (!SKIPPED_DIRECTORIES.has(entry.name))
|
|
203
|
+
files.push(...walkSourceFiles(path));
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (entry.isFile() && SOURCE_EXTENSIONS.has(extname(entry.name)))
|
|
207
|
+
files.push(path);
|
|
208
|
+
}
|
|
209
|
+
return files.sort();
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=analytics-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-contract.js","sourceRoot":"","sources":["../src/analytics-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -16,5 +16,6 @@ interface CliIo {
|
|
|
16
16
|
}
|
|
17
17
|
export declare function parseBrandlabConformanceArgs(argv: readonly string[]): CliOptions;
|
|
18
18
|
export declare function runBrandlabConformanceCli(argv: readonly string[], io?: CliIo): number;
|
|
19
|
+
export declare function isBrandlabConformanceCliEntrypoint(moduleUrl: string, argvPath: string | undefined): boolean;
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=cli.d.ts.map
|
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;AAOtB,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;AAeD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgDhF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAGH,GACA,MAAM,CAqCR"}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AAOtB,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;AAeD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAgDhF;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAGH,GACA,MAAM,CAqCR;AA0FD,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAOT"}
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
3
3
|
import { dirname, isAbsolute, resolve } from "node:path";
|
|
4
|
-
import {
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { evaluateBrandlabProject, shouldFailBrandlabConformance, } from "./project.js";
|
|
6
6
|
import { compareBrandlabSemver, } from "./release-manifest.js";
|
|
7
7
|
const HELP = `Brandlab version-aware conformance
|
|
@@ -172,7 +172,17 @@ function requireValue(argv, index, argument) {
|
|
|
172
172
|
throw new Error(`${argument} requires a value.`);
|
|
173
173
|
return value;
|
|
174
174
|
}
|
|
175
|
-
|
|
175
|
+
export function isBrandlabConformanceCliEntrypoint(moduleUrl, argvPath) {
|
|
176
|
+
if (!argvPath)
|
|
177
|
+
return false;
|
|
178
|
+
try {
|
|
179
|
+
return realpathSync(fileURLToPath(moduleUrl)) === realpathSync(resolve(argvPath));
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (isBrandlabConformanceCliEntrypoint(import.meta.url, process.argv[1])) {
|
|
176
186
|
process.exitCode = runBrandlabConformanceCli(process.argv.slice(2));
|
|
177
187
|
}
|
|
178
188
|
//# sourceMappingURL=cli.js.map
|
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,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare const BRANDLAB_CONFIG_V3_RULESET_ID = "project-config-v3@1.0.0-rc.2";
|
|
2
|
+
export declare const BRANDLAB_CONFIG_V4_RULESET_ID = "project-config-v4@1.0.0-rc.12";
|
|
3
|
+
export declare const BRANDLAB_CONFIG_V5_RULESET_ID = "project-config-v5@1.0.0-rc.19";
|
|
4
|
+
export type BrandlabInspectableConfigurationContract = "project-config-v3" | "project-config-v4" | "project-config-v5";
|
|
2
5
|
export declare const BRANDLAB_CONFIG_V3_PROFILES: readonly ["next-local-service", "next-root-level", "next-static-legacy", "legacy-php"];
|
|
3
6
|
export interface InspectedBrandlabProjectConfig {
|
|
4
7
|
projectId: string;
|
|
@@ -14,6 +17,9 @@ export interface InspectedBrandlabProjectConfig {
|
|
|
14
17
|
contactEnabled: boolean;
|
|
15
18
|
locationStrategy: string | null;
|
|
16
19
|
reviewsProvider: string | null;
|
|
20
|
+
reviewsMode: string | null;
|
|
21
|
+
reviewsRouteIds: readonly string[];
|
|
22
|
+
reviewsMonthlyRequestLimit: number | null;
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
25
|
export interface BrandlabConfigV3Issue {
|
|
@@ -37,7 +43,9 @@ export interface BrandlabConfigV3Inspection {
|
|
|
37
43
|
frameworkOwnedExports: ReadonlyMap<string, ReadonlySet<string>>;
|
|
38
44
|
issues: BrandlabConfigV3Issue[];
|
|
39
45
|
}
|
|
40
|
-
export declare function inspectBrandlabConfigV3(root: string
|
|
46
|
+
export declare function inspectBrandlabConfigV3(root: string, options?: {
|
|
47
|
+
contractVersion?: BrandlabInspectableConfigurationContract;
|
|
48
|
+
}): BrandlabConfigV3Inspection;
|
|
41
49
|
/** SHA-256 evidence for the exact canonical serializer output produced at runtime. */
|
|
42
50
|
export declare function digestBrandlabPlatformContractSerialization(serialized: string): string;
|
|
43
51
|
//# sourceMappingURL=project-config-v3.d.ts.map
|
|
@@ -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;
|
|
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;AA+CX,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;QACnC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3C,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;AAuOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,wCAAwC,CAAA;CAAO,GAC3E,0BAA0B,CA6G5B;AA0gGD,sFAAsF;AACtF,wBAAgB,2CAA2C,CAAC,UAAU,EAAE,MAAM,UAe7E"}
|