@brandlab-digital/conformance 0.1.0-alpha.4 → 0.1.0-alpha.5

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/vitest.d.ts CHANGED
@@ -13,6 +13,21 @@ export interface SourcePatternMatch {
13
13
  column: number;
14
14
  text: string;
15
15
  }
16
+ export interface PackageJsonLike {
17
+ dependencies?: Record<string, string>;
18
+ devDependencies?: Record<string, string>;
19
+ }
20
+ export interface SharedPackageVersionIssue {
21
+ packageName: string;
22
+ installedVersion: string | null;
23
+ issue: 'missing' | 'mismatch' | 'not-exact';
24
+ }
25
+ export interface NpmDistTagIssue {
26
+ packageName: string;
27
+ tag: string;
28
+ expectedVersion: string;
29
+ actualVersion: string | null;
30
+ }
16
31
  export declare const BRANDLAB_FORBIDDEN_SOURCE_PATTERNS: readonly SourcePattern[];
17
32
  export declare function scanTextFiles(options: {
18
33
  roots: readonly string[];
@@ -21,4 +36,18 @@ export declare function findForbiddenBrandlabPatterns(options: {
21
36
  roots: readonly string[];
22
37
  patterns?: readonly SourcePattern[];
23
38
  }): SourcePatternMatch[];
39
+ export declare function evaluateSharedPackageVersionSpecs(options: {
40
+ packageJson: PackageJsonLike;
41
+ expectedVersion: string;
42
+ packageNames: readonly string[];
43
+ }): SharedPackageVersionIssue[];
44
+ export declare function evaluateNpmDistTags(options: {
45
+ packageName: string;
46
+ expectedVersion: string;
47
+ distTags: Record<string, string | undefined>;
48
+ tags?: readonly string[];
49
+ }): NpmDistTagIssue[];
50
+ export declare function isSearchCertificationFresh(evidence: {
51
+ evidenceRecordedAt?: string;
52
+ } | null | undefined, now?: number, maxAgeDays?: number): boolean;
24
53
  //# sourceMappingURL=vitest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAcD,eAAO,MAAM,kCAAkC,EAAE,SAAS,aAAa,EAiBtE,CAAA;AAwBD,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,cAAc,EAAE,CAOrF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CACpC,GAAG,kBAAkB,EAAE,CAyBvB"}
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAcD,eAAO,MAAM,kCAAkC,EAAE,SAAS,aAAa,EAiBtE,CAAA;AAwBD,wBAAgB,aAAa,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,cAAc,EAAE,CAOrF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CACpC,GAAG,kBAAkB,EAAE,CAyBvB;AAMD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,WAAW,EAAE,eAAe,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,GAAG,yBAAyB,EAAE,CAuB9B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB,GAAG,eAAe,EAAE,CAgBpB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC5D,GAAG,SAAa,EAChB,UAAU,SAAK,WAOhB"}
package/dist/vitest.js CHANGED
@@ -77,4 +77,51 @@ export function findForbiddenBrandlabPatterns(options) {
77
77
  }
78
78
  return matches;
79
79
  }
80
+ function getPackageVersion(packageJson, packageName) {
81
+ return packageJson.dependencies?.[packageName] ?? packageJson.devDependencies?.[packageName] ?? null;
82
+ }
83
+ export function evaluateSharedPackageVersionSpecs(options) {
84
+ const issues = [];
85
+ for (const packageName of options.packageNames) {
86
+ const installedVersion = getPackageVersion(options.packageJson, packageName);
87
+ if (!installedVersion) {
88
+ issues.push({ packageName, installedVersion, issue: 'missing' });
89
+ continue;
90
+ }
91
+ if (installedVersion !== options.expectedVersion) {
92
+ issues.push({
93
+ packageName,
94
+ installedVersion,
95
+ issue: installedVersion.replace(/^[~^]/, '') === options.expectedVersion
96
+ ? 'not-exact'
97
+ : 'mismatch',
98
+ });
99
+ }
100
+ }
101
+ return issues;
102
+ }
103
+ export function evaluateNpmDistTags(options) {
104
+ const tags = options.tags ?? ['alpha', 'latest'];
105
+ return tags.flatMap((tag) => {
106
+ const actualVersion = options.distTags[tag] ?? null;
107
+ return actualVersion === options.expectedVersion
108
+ ? []
109
+ : [
110
+ {
111
+ packageName: options.packageName,
112
+ tag,
113
+ expectedVersion: options.expectedVersion,
114
+ actualVersion,
115
+ },
116
+ ];
117
+ });
118
+ }
119
+ export function isSearchCertificationFresh(evidence, now = Date.now(), maxAgeDays = 14) {
120
+ if (!evidence?.evidenceRecordedAt)
121
+ return false;
122
+ const recordedAt = Date.parse(evidence.evidenceRecordedAt);
123
+ if (!Number.isFinite(recordedAt))
124
+ return false;
125
+ return now - recordedAt <= maxAgeDays * 24 * 60 * 60 * 1000;
126
+ }
80
127
  //# sourceMappingURL=vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.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": "0.1.0-alpha.4",
3
+ "version": "0.1.0-alpha.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,