@brandlab-digital/conformance 1.0.0-rc.8 → 1.0.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/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +35 -93
- package/dist/cli.js.map +1 -1
- package/dist/current-release.d.ts +3 -0
- package/dist/current-release.d.ts.map +1 -0
- package/dist/current-release.js +54 -0
- package/dist/current-release.js.map +1 -0
- package/dist/project.d.ts +19 -24
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +444 -1070
- package/dist/project.js.map +1 -1
- package/dist/release-manifest.d.ts +29 -82
- package/dist/release-manifest.d.ts.map +1 -1
- package/dist/release-manifest.js +141 -348
- package/dist/release-manifest.js.map +1 -1
- package/dist/rendered-content.d.ts +36 -0
- package/dist/rendered-content.d.ts.map +1 -0
- package/dist/rendered-content.js +146 -0
- package/dist/rendered-content.js.map +1 -0
- package/dist/verification-policy.d.ts +162 -0
- package/dist/verification-policy.d.ts.map +1 -0
- package/dist/verification-policy.js +309 -0
- package/dist/verification-policy.js.map +1 -0
- package/package.json +6 -22
- package/dist/legacy-architecture-contracts.d.ts +0 -31
- package/dist/legacy-architecture-contracts.d.ts.map +0 -1
- package/dist/legacy-architecture-contracts.js +0 -49
- package/dist/legacy-architecture-contracts.js.map +0 -1
- package/dist/locations.d.ts +0 -63
- package/dist/locations.d.ts.map +0 -1
- package/dist/locations.js +0 -105
- package/dist/locations.js.map +0 -1
- package/dist/project-config-v2-contract.d.ts +0 -32
- package/dist/project-config-v2-contract.d.ts.map +0 -1
- package/dist/project-config-v2-contract.js +0 -926
- package/dist/project-config-v2-contract.js.map +0 -1
- package/dist/project-config-v3.d.ts +0 -43
- package/dist/project-config-v3.d.ts.map +0 -1
- package/dist/project-config-v3.js +0 -2876
- package/dist/project-config-v3.js.map +0 -1
- package/dist/project-config.d.ts +0 -3
- package/dist/project-config.d.ts.map +0 -1
- package/dist/project-config.js +0 -3
- package/dist/project-config.js.map +0 -1
- package/dist/release-catalog.d.ts +0 -4
- package/dist/release-catalog.d.ts.map +0 -1
- package/dist/release-catalog.js +0 -714
- package/dist/release-catalog.js.map +0 -1
- package/dist/release-contract-compatibility.d.ts +0 -97
- package/dist/release-contract-compatibility.d.ts.map +0 -1
- package/dist/release-contract-compatibility.js +0 -112
- package/dist/release-contract-compatibility.js.map +0 -1
- package/dist/schema-hygiene.d.ts +0 -26
- package/dist/schema-hygiene.d.ts.map +0 -1
- package/dist/schema-hygiene.js +0 -28
- package/dist/schema-hygiene.js.map +0 -1
- package/dist/source-safety-contracts.d.ts +0 -20
- package/dist/source-safety-contracts.d.ts.map +0 -1
- package/dist/source-safety-contracts.js +0 -60
- package/dist/source-safety-contracts.js.map +0 -1
- package/dist/vitest.d.ts +0 -110
- package/dist/vitest.d.ts.map +0 -1
- package/dist/vitest.js +0 -2678
- package/dist/vitest.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-policy.js","sourceRoot":"","sources":["../src/verification-policy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brandlab-digital/conformance",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/RomieDandan/brandlab.git",
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"sideEffects": false,
|
|
12
12
|
"bin": {
|
|
13
|
-
"brandlab-
|
|
13
|
+
"brandlab-verify": "dist/cli.js"
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "tsc -p tsconfig.json",
|
|
19
|
+
"build": "rm -rf dist && tsc -p tsconfig.json",
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
22
22
|
},
|
|
@@ -32,33 +32,17 @@
|
|
|
32
32
|
"types": "./dist/project.d.ts",
|
|
33
33
|
"import": "./dist/project.js"
|
|
34
34
|
},
|
|
35
|
-
"./project-config": {
|
|
36
|
-
"types": "./dist/project-config.d.ts",
|
|
37
|
-
"import": "./dist/project-config.js"
|
|
38
|
-
},
|
|
39
35
|
"./release-manifest": {
|
|
40
36
|
"types": "./dist/release-manifest.d.ts",
|
|
41
37
|
"import": "./dist/release-manifest.js"
|
|
42
38
|
},
|
|
43
|
-
"./release-catalog": {
|
|
44
|
-
"types": "./dist/release-catalog.d.ts",
|
|
45
|
-
"import": "./dist/release-catalog.js"
|
|
46
|
-
},
|
|
47
|
-
"./vitest": {
|
|
48
|
-
"types": "./dist/vitest.d.ts",
|
|
49
|
-
"import": "./dist/vitest.js"
|
|
50
|
-
},
|
|
51
39
|
"./search-certification": {
|
|
52
40
|
"types": "./dist/search-certification.d.ts",
|
|
53
41
|
"import": "./dist/search-certification.js"
|
|
54
42
|
},
|
|
55
|
-
"./
|
|
56
|
-
"types": "./dist/
|
|
57
|
-
"import": "./dist/
|
|
58
|
-
},
|
|
59
|
-
"./schema-hygiene": {
|
|
60
|
-
"types": "./dist/schema-hygiene.d.ts",
|
|
61
|
-
"import": "./dist/schema-hygiene.js"
|
|
43
|
+
"./rendered-content": {
|
|
44
|
+
"types": "./dist/rendered-content.d.ts",
|
|
45
|
+
"import": "./dist/rendered-content.js"
|
|
62
46
|
}
|
|
63
47
|
}
|
|
64
48
|
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type BrandlabArchitectureConfigLike, type BrandlabArchitectureIssue, type BrandlabArchitectureReport } from "./vitest.js";
|
|
2
|
-
export type BrandlabLegacyArchitectureContract = "architecture-v1" | "architecture-v2";
|
|
3
|
-
export interface BrandlabLegacyArchitectureInspection {
|
|
4
|
-
contract: BrandlabLegacyArchitectureContract;
|
|
5
|
-
rulesetId: string;
|
|
6
|
-
report: BrandlabArchitectureReport;
|
|
7
|
-
issues: readonly BrandlabArchitectureIssue[];
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Architecture v1 made only contract presence operationally blocking. The
|
|
11
|
-
* deeper architecture diagnosis existed, but did not become maintenance debt
|
|
12
|
-
* until architecture v2.
|
|
13
|
-
*/
|
|
14
|
-
export declare const BRANDLAB_LEGACY_ARCHITECTURE_V1_RULESET_ID = "legacy-architecture-v1-config-presence@6e9dfbd25280f1092b6d88c71c4164e5e9a53d4e";
|
|
15
|
-
/**
|
|
16
|
-
* The v2 evaluator source is identical in Alpha.18, Alpha.19, Alpha.23 and
|
|
17
|
-
* RC.1. The evaluator depends on constants and helpers throughout vitest.ts,
|
|
18
|
-
* so that entire source module is the deliberate freeze boundary. Its digest
|
|
19
|
-
* is pinned by project.test.ts; later edits must introduce a new contract or
|
|
20
|
-
* immutable snapshot instead of silently becoming historical maintenance.
|
|
21
|
-
*/
|
|
22
|
-
export declare const BRANDLAB_LEGACY_ARCHITECTURE_V2_RULESET_ID = "legacy-architecture-v2@sha256:5f4979b80552b98b9bb558a3bbce12001bf354b05ea9b979c638c2d1a6c4cdac";
|
|
23
|
-
export declare const BRANDLAB_LEGACY_ARCHITECTURE_V2_SOURCE_SHA256 = "5f4979b80552b98b9bb558a3bbce12001bf354b05ea9b979c638c2d1a6c4cdac";
|
|
24
|
-
export declare function inspectLegacyArchitectureContract(options: {
|
|
25
|
-
root: string;
|
|
26
|
-
architecture: BrandlabArchitectureConfigLike | null | undefined;
|
|
27
|
-
contract: BrandlabLegacyArchitectureContract;
|
|
28
|
-
}): BrandlabLegacyArchitectureInspection;
|
|
29
|
-
export declare function legacyArchitectureRulesetId(contract: string | null | undefined): string | null;
|
|
30
|
-
export declare function targetOnlyLegacyArchitectureIssues(installed: BrandlabLegacyArchitectureInspection | null, target: BrandlabLegacyArchitectureInspection): readonly BrandlabArchitectureIssue[];
|
|
31
|
-
//# sourceMappingURL=legacy-architecture-contracts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-architecture-contracts.d.ts","sourceRoot":"","sources":["../src/legacy-architecture-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,kCAAkC,GAC1C,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,0BAA0B,CAAC;IACnC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,oFAC4B,CAAC;AAEpF;;;;;;GAMG;AACH,eAAO,MAAM,0CAA0C,mGAC2C,CAAC;AAEnG,eAAO,MAAM,6CAA6C,qEACU,CAAC;AAMrE,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,8BAA8B,GAAG,IAAI,GAAG,SAAS,CAAC;IAChE,QAAQ,EAAE,kCAAkC,CAAC;CAC9C,GAAG,oCAAoC,CAevC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,oCAAoC,GAAG,IAAI,EACtD,MAAM,EAAE,oCAAoC,GAC3C,SAAS,yBAAyB,EAAE,CAKtC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { evaluateBrandlabArchitecture, } from "./vitest.js";
|
|
2
|
-
/**
|
|
3
|
-
* Architecture v1 made only contract presence operationally blocking. The
|
|
4
|
-
* deeper architecture diagnosis existed, but did not become maintenance debt
|
|
5
|
-
* until architecture v2.
|
|
6
|
-
*/
|
|
7
|
-
export const BRANDLAB_LEGACY_ARCHITECTURE_V1_RULESET_ID = "legacy-architecture-v1-config-presence@6e9dfbd25280f1092b6d88c71c4164e5e9a53d4e";
|
|
8
|
-
/**
|
|
9
|
-
* The v2 evaluator source is identical in Alpha.18, Alpha.19, Alpha.23 and
|
|
10
|
-
* RC.1. The evaluator depends on constants and helpers throughout vitest.ts,
|
|
11
|
-
* so that entire source module is the deliberate freeze boundary. Its digest
|
|
12
|
-
* is pinned by project.test.ts; later edits must introduce a new contract or
|
|
13
|
-
* immutable snapshot instead of silently becoming historical maintenance.
|
|
14
|
-
*/
|
|
15
|
-
export const BRANDLAB_LEGACY_ARCHITECTURE_V2_RULESET_ID = "legacy-architecture-v2@sha256:5f4979b80552b98b9bb558a3bbce12001bf354b05ea9b979c638c2d1a6c4cdac";
|
|
16
|
-
export const BRANDLAB_LEGACY_ARCHITECTURE_V2_SOURCE_SHA256 = "5f4979b80552b98b9bb558a3bbce12001bf354b05ea9b979c638c2d1a6c4cdac";
|
|
17
|
-
const V1_MAINTENANCE_RULE_IDS = new Set([
|
|
18
|
-
"brandlab-architecture-config-missing",
|
|
19
|
-
]);
|
|
20
|
-
export function inspectLegacyArchitectureContract(options) {
|
|
21
|
-
const report = evaluateBrandlabArchitecture({
|
|
22
|
-
root: options.root,
|
|
23
|
-
architecture: options.architecture,
|
|
24
|
-
});
|
|
25
|
-
return {
|
|
26
|
-
contract: options.contract,
|
|
27
|
-
rulesetId: options.contract === "architecture-v1"
|
|
28
|
-
? BRANDLAB_LEGACY_ARCHITECTURE_V1_RULESET_ID
|
|
29
|
-
: BRANDLAB_LEGACY_ARCHITECTURE_V2_RULESET_ID,
|
|
30
|
-
report,
|
|
31
|
-
issues: options.contract === "architecture-v1"
|
|
32
|
-
? report.issues.filter((issue) => V1_MAINTENANCE_RULE_IDS.has(issue.code))
|
|
33
|
-
: report.issues,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export function legacyArchitectureRulesetId(contract) {
|
|
37
|
-
if (contract === "architecture-v1") {
|
|
38
|
-
return BRANDLAB_LEGACY_ARCHITECTURE_V1_RULESET_ID;
|
|
39
|
-
}
|
|
40
|
-
if (contract === "architecture-v2") {
|
|
41
|
-
return BRANDLAB_LEGACY_ARCHITECTURE_V2_RULESET_ID;
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
export function targetOnlyLegacyArchitectureIssues(installed, target) {
|
|
46
|
-
const installedRuleIds = new Set((installed?.issues ?? []).map((issue) => issue.code));
|
|
47
|
-
return target.issues.filter((issue) => !installedRuleIds.has(issue.code));
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=legacy-architecture-contracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-architecture-contracts.js","sourceRoot":"","sources":["../src/legacy-architecture-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAI7B,MAAM,aAAa,CAAC;AAarB;;;;GAIG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,iFAAiF,CAAC;AAEpF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,gGAAgG,CAAC;AAEnG,MAAM,CAAC,MAAM,6CAA6C,GACxD,kEAAkE,CAAC;AAErE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,sCAAsC;CACvC,CAAC,CAAC;AAEH,MAAM,UAAU,iCAAiC,CAAC,OAIjD;IACC,MAAM,MAAM,GAAG,4BAA4B,CAAC;QAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,QAAQ,KAAK,iBAAiB;YAC/C,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,0CAA0C;QAC9C,MAAM;QACN,MAAM,EAAE,OAAO,CAAC,QAAQ,KAAK,iBAAiB;YAC5C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,MAAM;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAmC;IAEnC,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACnC,OAAO,0CAA0C,CAAC;IACpD,CAAC;IACD,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QACnC,OAAO,0CAA0C,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,SAAsD,EACtD,MAA4C;IAE5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CACrD,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|
package/dist/locations.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Location-page conformance rules (Brandlab Location Pages Standard §11).
|
|
3
|
-
*
|
|
4
|
-
* These checks are heuristics over project source text and sitemap output.
|
|
5
|
-
* They are deliberately conservative: each rule documents its escape hatch so
|
|
6
|
-
* a compliant pattern is never impossible, only explicit.
|
|
7
|
-
*/
|
|
8
|
-
import type { SourcePattern, SourcePatternMatch, SourceTextFile } from "./vitest.js";
|
|
9
|
-
export declare const BRANDLAB_LOCATION_FORBIDDEN_SOURCE_PATTERNS: readonly SourcePattern[];
|
|
10
|
-
/**
|
|
11
|
-
* Flags `approvedIndexable*` assignments whose value is produced by code
|
|
12
|
-
* (call/map/flatMap) instead of an explicit literal list (standard §7.4).
|
|
13
|
-
*
|
|
14
|
-
* Escape hatch: statements that reference an identifier containing "frozen"
|
|
15
|
-
* are allowed — that is the documented snapshot pattern (an explicit,
|
|
16
|
-
* human-edited literal module filtered into record shape).
|
|
17
|
-
*/
|
|
18
|
-
export declare function findGeneratedServiceLocationApprovals(files: readonly SourceTextFile[]): SourcePatternMatch[];
|
|
19
|
-
export interface LocationLinkDumpOptions {
|
|
20
|
-
files: readonly SourceTextFile[];
|
|
21
|
-
/** Path prefixes that identify location URLs, e.g. ['/locations/']. */
|
|
22
|
-
locationPathPrefixes: readonly string[];
|
|
23
|
-
/** Only files whose path matches are checked. Default: footer/nav components. */
|
|
24
|
-
filePathPattern?: RegExp;
|
|
25
|
-
/** Maximum location links allowed per matching file. Default 20 (≈ regions, never all suburbs). */
|
|
26
|
-
maxLinks?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface LocationLinkDumpFinding {
|
|
29
|
-
file: string;
|
|
30
|
-
linkCount: number;
|
|
31
|
-
maxLinks: number;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Flags footer/nav components that link a suburb dump (standard §6.6 — nav
|
|
35
|
-
* and footer carry region links only; "blocks of text that list cities and
|
|
36
|
-
* regions" is Google's own keyword-stuffing example).
|
|
37
|
-
*/
|
|
38
|
-
export declare function findLocationLinkDumps({ files, locationPathPrefixes, filePathPattern, maxLinks, }: LocationLinkDumpOptions): LocationLinkDumpFinding[];
|
|
39
|
-
/**
|
|
40
|
-
* Copy-hygiene patterns for location data modules (standard §3.8). Applied to
|
|
41
|
-
* `src/data/locations/**` and `src/data/serviceLocations/**` rendered-string
|
|
42
|
-
* sources: unresolved tokens and template wording must never reach a
|
|
43
|
-
* customer-facing surface.
|
|
44
|
-
*/
|
|
45
|
-
export declare const BRANDLAB_LOCATION_COPY_PATTERNS: readonly SourcePattern[];
|
|
46
|
-
export interface LocationUrlShareOptions {
|
|
47
|
-
/** All sitemap entry URLs (absolute or root-relative). */
|
|
48
|
-
urls: readonly string[];
|
|
49
|
-
/** Predicate identifying location-family URLs. */
|
|
50
|
-
isLocationUrl: (url: string) => boolean;
|
|
51
|
-
/** Warn when location URLs exceed this share of all URLs. Default 0.4 (standard §8.8). */
|
|
52
|
-
maxShare?: number;
|
|
53
|
-
}
|
|
54
|
-
export interface LocationUrlShareResult {
|
|
55
|
-
locationUrlCount: number;
|
|
56
|
-
totalUrlCount: number;
|
|
57
|
-
share: number;
|
|
58
|
-
maxShare: number;
|
|
59
|
-
exceeded: boolean;
|
|
60
|
-
}
|
|
61
|
-
/** Volume alarm for location-heavy sitemaps (standard §8.8). */
|
|
62
|
-
export declare function evaluateLocationUrlShare({ urls, isLocationUrl, maxShare, }: LocationUrlShareOptions): LocationUrlShareResult;
|
|
63
|
-
//# sourceMappingURL=locations.d.ts.map
|
package/dist/locations.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErF,eAAO,MAAM,2CAA2C,EAAE,SAAS,aAAa,EAkB/E,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,kBAAkB,EAAE,CAuBtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,uEAAuE;IACvE,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,oBAAoB,EACpB,eAAiC,EACjC,QAAa,GACd,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAiBrD;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,SAAS,aAAa,EAcnE,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,kDAAkD;IAClD,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,aAAa,EACb,QAAc,GACf,EAAE,uBAAuB,GAAG,sBAAsB,CAYlD"}
|
package/dist/locations.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
export const BRANDLAB_LOCATION_FORBIDDEN_SOURCE_PATTERNS = [
|
|
2
|
-
{
|
|
3
|
-
// Rating markup about the business/its services is never emitted
|
|
4
|
-
// (standard §6.2). Matches emission sites, not prose/comments.
|
|
5
|
-
name: "self-serving rating schema emission",
|
|
6
|
-
pattern: /['"]@type['"]\s*:\s*['"](?:AggregateRating|Review)['"]/,
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
name: "self-serving rating schema builder",
|
|
10
|
-
pattern: /\bbuild(?:Service)?(?:AggregateRating|Rating|Review)Schema\b/,
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
// Named constant reused as every sitemap entry's lastModified defeats
|
|
14
|
-
// the freshness signal (standard §6.3). Use per-record
|
|
15
|
-
// lastSubstantialUpdate dates instead.
|
|
16
|
-
name: "constant sitemap lastModified",
|
|
17
|
-
pattern: /lastModified\s*:\s*SITEMAP_LAST_MODIFIED\b/,
|
|
18
|
-
},
|
|
19
|
-
];
|
|
20
|
-
/**
|
|
21
|
-
* Flags `approvedIndexable*` assignments whose value is produced by code
|
|
22
|
-
* (call/map/flatMap) instead of an explicit literal list (standard §7.4).
|
|
23
|
-
*
|
|
24
|
-
* Escape hatch: statements that reference an identifier containing "frozen"
|
|
25
|
-
* are allowed — that is the documented snapshot pattern (an explicit,
|
|
26
|
-
* human-edited literal module filtered into record shape).
|
|
27
|
-
*/
|
|
28
|
-
export function findGeneratedServiceLocationApprovals(files) {
|
|
29
|
-
const matches = [];
|
|
30
|
-
const assignment = /\bapprovedIndexable\w*\s*[:=]/;
|
|
31
|
-
const generated = /[:=][^;\n]*(?:\.flatMap\(|\.map\(|\w+\(\s*\))/;
|
|
32
|
-
for (const file of files) {
|
|
33
|
-
const lines = file.text.split("\n");
|
|
34
|
-
lines.forEach((line, index) => {
|
|
35
|
-
if (!assignment.test(line))
|
|
36
|
-
return;
|
|
37
|
-
if (/frozen/i.test(line))
|
|
38
|
-
return;
|
|
39
|
-
if (!generated.test(line))
|
|
40
|
-
return;
|
|
41
|
-
matches.push({
|
|
42
|
-
file: file.path,
|
|
43
|
-
patternName: "generated service-location approvals",
|
|
44
|
-
line: index + 1,
|
|
45
|
-
column: line.search(assignment) + 1,
|
|
46
|
-
text: line.trim(),
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return matches;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Flags footer/nav components that link a suburb dump (standard §6.6 — nav
|
|
54
|
-
* and footer carry region links only; "blocks of text that list cities and
|
|
55
|
-
* regions" is Google's own keyword-stuffing example).
|
|
56
|
-
*/
|
|
57
|
-
export function findLocationLinkDumps({ files, locationPathPrefixes, filePathPattern = /(footer|nav)/i, maxLinks = 20, }) {
|
|
58
|
-
const findings = [];
|
|
59
|
-
for (const file of files) {
|
|
60
|
-
if (!filePathPattern.test(file.path))
|
|
61
|
-
continue;
|
|
62
|
-
let linkCount = 0;
|
|
63
|
-
for (const prefix of locationPathPrefixes) {
|
|
64
|
-
linkCount += file.text.split(prefix).length - 1;
|
|
65
|
-
}
|
|
66
|
-
if (linkCount > maxLinks) {
|
|
67
|
-
findings.push({ file: file.path, linkCount, maxLinks });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return findings;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Copy-hygiene patterns for location data modules (standard §3.8). Applied to
|
|
74
|
-
* `src/data/locations/**` and `src/data/serviceLocations/**` rendered-string
|
|
75
|
-
* sources: unresolved tokens and template wording must never reach a
|
|
76
|
-
* customer-facing surface.
|
|
77
|
-
*/
|
|
78
|
-
export const BRANDLAB_LOCATION_COPY_PATTERNS = [
|
|
79
|
-
{
|
|
80
|
-
name: "unresolved bracket token",
|
|
81
|
-
pattern: /\[(?:Suburb|Region|Location|Service|Business Name|Phone|Email)\]/,
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
name: "unresolved curly token in string",
|
|
85
|
-
pattern: /['"`][^'"`\n]*\{(?:suburb|region|location|service)\}[^'"`\n]*['"`]/,
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "template wording",
|
|
89
|
-
pattern: /\b(?:lorem ipsum|placeholder copy|copy goes here|content goes here|insert copy|TODO copy|sample copy|starter copy|boilerplate copy)\b/i,
|
|
90
|
-
},
|
|
91
|
-
];
|
|
92
|
-
/** Volume alarm for location-heavy sitemaps (standard §8.8). */
|
|
93
|
-
export function evaluateLocationUrlShare({ urls, isLocationUrl, maxShare = 0.4, }) {
|
|
94
|
-
const totalUrlCount = urls.length;
|
|
95
|
-
const locationUrlCount = urls.filter((url) => isLocationUrl(url)).length;
|
|
96
|
-
const share = totalUrlCount === 0 ? 0 : locationUrlCount / totalUrlCount;
|
|
97
|
-
return {
|
|
98
|
-
locationUrlCount,
|
|
99
|
-
totalUrlCount,
|
|
100
|
-
share,
|
|
101
|
-
maxShare,
|
|
102
|
-
exceeded: share > maxShare,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=locations.js.map
|
package/dist/locations.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locations.js","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export declare const BRANDLAB_CONFIG_V2_RULESET_ID = "project-config-v2@1.0.0-rc.1:5d6c4a9a27abd65e5a8e55d5f66145ff499ead7d";
|
|
2
|
-
export declare const BRANDLAB_CONFIG_V2_PROFILES: readonly ["next-local-service", "next-root-level", "next-static-legacy", "legacy-php"];
|
|
3
|
-
export interface InspectedBrandlabProjectConfig {
|
|
4
|
-
projectId: string;
|
|
5
|
-
profile: (typeof BRANDLAB_CONFIG_V2_PROFILES)[number];
|
|
6
|
-
routes: {
|
|
7
|
-
families: readonly string[];
|
|
8
|
-
};
|
|
9
|
-
capabilities: {
|
|
10
|
-
blogAdapter: string | null;
|
|
11
|
-
contactEnabled: boolean;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface BrandlabConfigV2Issue {
|
|
15
|
-
ruleId: string;
|
|
16
|
-
surface: string;
|
|
17
|
-
severity: "blocker" | "warning" | "info";
|
|
18
|
-
evidenceKind: "static" | "behavioural" | "runtime";
|
|
19
|
-
path?: string;
|
|
20
|
-
line?: number;
|
|
21
|
-
expected: string;
|
|
22
|
-
actual: string;
|
|
23
|
-
remediation: string;
|
|
24
|
-
}
|
|
25
|
-
export interface BrandlabConfigV2Inspection {
|
|
26
|
-
config: InspectedBrandlabProjectConfig | null;
|
|
27
|
-
imports: ReadonlySet<string>;
|
|
28
|
-
executableImports: ReadonlySet<string>;
|
|
29
|
-
issues: BrandlabConfigV2Issue[];
|
|
30
|
-
}
|
|
31
|
-
export declare function inspectBrandlabConfigV2(root: string): BrandlabConfigV2Inspection;
|
|
32
|
-
//# sourceMappingURL=project-config-v2-contract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-config-v2-contract.d.ts","sourceRoot":"","sources":["../src/project-config-v2-contract.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,6BAA6B,0EAC+B,CAAC;AAE1E,eAAO,MAAM,2BAA2B,wFAK9B,CAAC;AA0CX,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,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;KACzB,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,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC;AAqDD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,CA2FhF"}
|