@matter/dcl-data 2026.5.1-5.1
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/LICENSE +21 -0
- package/README.md +2 -0
- package/data/cd-signers.jsonl +6 -0
- package/data/paa-roots.jsonl +169 -0
- package/data/vendors.json +3386 -0
- package/dist/esm/node.d.ts +11 -0
- package/dist/esm/node.d.ts.map +1 -0
- package/dist/esm/node.js +79 -0
- package/dist/esm/node.js.map +6 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/types.d.ts +59 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +14 -0
- package/dist/esm/types.js.map +6 -0
- package/manifest.json +22 -0
- package/package.json +56 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PaaRootEntry, CdSignerEntry, VendorEntry, Manifest, SeedSource } from "./types.js";
|
|
2
|
+
export declare function readManifest(packageRoot?: string): Manifest;
|
|
3
|
+
type Opts = {
|
|
4
|
+
packageRoot?: string;
|
|
5
|
+
includeTest?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function paaRoots(opts?: Opts): SeedSource<PaaRootEntry>;
|
|
8
|
+
export declare function cdSigners(opts?: Opts): SeedSource<CdSignerEntry>;
|
|
9
|
+
export declare function vendors(opts?: Opts): SeedSource<VendorEntry>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKjG,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAA2B,GAAG,QAAQ,CAE/E;AAwBD,KAAK,IAAI,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,CAY9D;AAED,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,CAYhE;AAED,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAc5D"}
|
package/dist/esm/node.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { createInterface } from "node:readline";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { DclDataCorruptError } from "./types.js";
|
|
7
|
+
const defaultPackageRoot = join(dirname(fileURLToPath(import.meta.url)), "../..");
|
|
8
|
+
function readManifest(packageRoot = defaultPackageRoot) {
|
|
9
|
+
return JSON.parse(readFileSync(join(packageRoot, "manifest.json"), "utf8"));
|
|
10
|
+
}
|
|
11
|
+
async function* streamJsonl(filePath, filter) {
|
|
12
|
+
const stream = createReadStream(filePath, { encoding: "utf8" });
|
|
13
|
+
const rl = createInterface({ input: stream, crlfDelay: Infinity });
|
|
14
|
+
let lineNumber = 0;
|
|
15
|
+
try {
|
|
16
|
+
for await (const line of rl) {
|
|
17
|
+
lineNumber++;
|
|
18
|
+
if (line.trim() === "") continue;
|
|
19
|
+
let entry;
|
|
20
|
+
try {
|
|
21
|
+
entry = JSON.parse(line);
|
|
22
|
+
} catch (e) {
|
|
23
|
+
throw new DclDataCorruptError(filePath, lineNumber, e);
|
|
24
|
+
}
|
|
25
|
+
if (!filter || filter(entry)) yield entry;
|
|
26
|
+
}
|
|
27
|
+
} finally {
|
|
28
|
+
rl.close();
|
|
29
|
+
stream.destroy();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function paaRoots(opts) {
|
|
33
|
+
const root = opts?.packageRoot ?? defaultPackageRoot;
|
|
34
|
+
const manifest = readManifest(root);
|
|
35
|
+
const includeTest = opts?.includeTest ?? false;
|
|
36
|
+
return {
|
|
37
|
+
builtAt: manifest.builtAt,
|
|
38
|
+
expectedCount: manifest.counts.paaRoots - (includeTest ? 0 : manifest.counts.paaRootsTest),
|
|
39
|
+
entries: streamJsonl(
|
|
40
|
+
join(root, "data", "paa-roots.jsonl"),
|
|
41
|
+
includeTest ? void 0 : (e) => e.kind !== "test"
|
|
42
|
+
)
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function cdSigners(opts) {
|
|
46
|
+
const root = opts?.packageRoot ?? defaultPackageRoot;
|
|
47
|
+
const manifest = readManifest(root);
|
|
48
|
+
const includeTest = opts?.includeTest ?? false;
|
|
49
|
+
return {
|
|
50
|
+
builtAt: manifest.builtAt,
|
|
51
|
+
expectedCount: manifest.counts.cdSigners - (includeTest ? 0 : manifest.counts.cdSignersTest),
|
|
52
|
+
entries: streamJsonl(
|
|
53
|
+
join(root, "data", "cd-signers.jsonl"),
|
|
54
|
+
includeTest ? void 0 : (e) => e.kind !== "test"
|
|
55
|
+
)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function vendors(opts) {
|
|
59
|
+
const root = opts?.packageRoot ?? defaultPackageRoot;
|
|
60
|
+
const manifest = readManifest(root);
|
|
61
|
+
const includeTest = opts?.includeTest ?? false;
|
|
62
|
+
const all = JSON.parse(readFileSync(join(root, "data", "vendors.json"), "utf8"));
|
|
63
|
+
return {
|
|
64
|
+
builtAt: manifest.builtAt,
|
|
65
|
+
expectedCount: manifest.counts.vendors - (includeTest ? 0 : manifest.counts.vendorsTest),
|
|
66
|
+
entries: (async function* () {
|
|
67
|
+
for (const v of all) {
|
|
68
|
+
if (includeTest || v.kind !== "test") yield v;
|
|
69
|
+
}
|
|
70
|
+
})()
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
cdSigners,
|
|
75
|
+
paaRoots,
|
|
76
|
+
readManifest,
|
|
77
|
+
vendors
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/node.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,wBAAwB;AACjC,SAAS,oBAAoB;AAC7B,SAAS,MAAM,eAAe;AAC9B,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAE9B,SAAS,2BAA2B;AAEpC,MAAM,qBAAqB,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC,GAAG,OAAO;AAEzE,SAAS,aAAa,cAAsB,oBAA8B;AAC7E,SAAO,KAAK,MAAM,aAAa,KAAK,aAAa,eAAe,GAAG,MAAM,CAAC;AAC9E;AAEA,gBAAgB,YAAe,UAAkB,QAAmD;AAChG,QAAM,SAAS,iBAAiB,UAAU,EAAE,UAAU,OAAO,CAAC;AAC9D,QAAM,KAAK,gBAAgB,EAAE,OAAO,QAAQ,WAAW,SAAS,CAAC;AACjE,MAAI,aAAa;AACjB,MAAI;AACA,qBAAiB,QAAQ,IAAI;AACzB;AACA,UAAI,KAAK,KAAK,MAAM,GAAI;AACxB,UAAI;AACJ,UAAI;AACA,gBAAQ,KAAK,MAAM,IAAI;AAAA,MAC3B,SAAS,GAAG;AACR,cAAM,IAAI,oBAAoB,UAAU,YAAY,CAAC;AAAA,MACzD;AACA,UAAI,CAAC,UAAU,OAAO,KAAK,EAAG,OAAM;AAAA,IACxC;AAAA,EACJ,UAAE;AACE,OAAG,MAAM;AACT,WAAO,QAAQ;AAAA,EACnB;AACJ;AAIO,SAAS,SAAS,MAAuC;AAC5D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,YAAY,cAAc,IAAI,SAAS,OAAO;AAAA,IAC7E,SAAS;AAAA,MACL,KAAK,MAAM,QAAQ,iBAAiB;AAAA,MACpC,cAAc,SAAY,OAAK,EAAE,SAAS;AAAA,IAC9C;AAAA,EACJ;AACJ;AAEO,SAAS,UAAU,MAAwC;AAC9D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,aAAa,cAAc,IAAI,SAAS,OAAO;AAAA,IAC9E,SAAS;AAAA,MACL,KAAK,MAAM,QAAQ,kBAAkB;AAAA,MACrC,cAAc,SAAY,OAAK,EAAE,SAAS;AAAA,IAC9C;AAAA,EACJ;AACJ;AAEO,SAAS,QAAQ,MAAsC;AAC1D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,QAAM,MAAM,KAAK,MAAM,aAAa,KAAK,MAAM,QAAQ,cAAc,GAAG,MAAM,CAAC;AAC/E,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,WAAW,cAAc,IAAI,SAAS,OAAO;AAAA,IAC5E,UAAU,mBAAmB;AACzB,iBAAW,KAAK,KAAK;AACjB,YAAI,eAAe,EAAE,SAAS,OAAQ,OAAM;AAAA,MAChD;AAAA,IACJ,GAAG;AAAA,EACP;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type SeedSource<T> = {
|
|
2
|
+
builtAt: string;
|
|
3
|
+
expectedCount: number;
|
|
4
|
+
entries: AsyncIterable<T>;
|
|
5
|
+
};
|
|
6
|
+
export type CertEntry = {
|
|
7
|
+
subjectKeyId: string;
|
|
8
|
+
derHex: string;
|
|
9
|
+
kind: "production" | "test";
|
|
10
|
+
subject?: string;
|
|
11
|
+
issuer?: string;
|
|
12
|
+
notBefore?: string;
|
|
13
|
+
notAfter?: string;
|
|
14
|
+
};
|
|
15
|
+
export type PaaRootEntry = CertEntry & {
|
|
16
|
+
role: "paa";
|
|
17
|
+
};
|
|
18
|
+
export type CdSignerEntry = CertEntry & {
|
|
19
|
+
role: "cd-signer";
|
|
20
|
+
};
|
|
21
|
+
export type VendorEntry = {
|
|
22
|
+
vendorId: number;
|
|
23
|
+
vendorName: string;
|
|
24
|
+
companyLegalName?: string;
|
|
25
|
+
companyPreferredName?: string;
|
|
26
|
+
vendorLandingPageURL?: string;
|
|
27
|
+
creator?: string;
|
|
28
|
+
kind: "production" | "test";
|
|
29
|
+
[extra: string]: unknown;
|
|
30
|
+
};
|
|
31
|
+
export type Manifest = {
|
|
32
|
+
builtAt: string;
|
|
33
|
+
schemaVersion: number;
|
|
34
|
+
sources: {
|
|
35
|
+
dcl: {
|
|
36
|
+
url: string;
|
|
37
|
+
latestBlockHeight?: number;
|
|
38
|
+
};
|
|
39
|
+
github: {
|
|
40
|
+
repo: string;
|
|
41
|
+
ref: string;
|
|
42
|
+
commit: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
counts: {
|
|
46
|
+
paaRoots: number;
|
|
47
|
+
paaRootsTest: number;
|
|
48
|
+
cdSigners: number;
|
|
49
|
+
cdSignersTest: number;
|
|
50
|
+
vendors: number;
|
|
51
|
+
vendorsTest: number;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
export declare class DclDataCorruptError extends Error {
|
|
55
|
+
readonly file: string;
|
|
56
|
+
readonly lineNumber: number;
|
|
57
|
+
constructor(file: string, lineNumber: number, cause: unknown);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QACL,GAAG,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,MAAM,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAF/B,YACa,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAC3B,KAAK,EAAE,OAAO,EAIjB;CACJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class DclDataCorruptError extends Error {
|
|
2
|
+
constructor(file, lineNumber, cause) {
|
|
3
|
+
super(`Corrupt entry in ${file} at line ${lineNumber}`, { cause });
|
|
4
|
+
this.file = file;
|
|
5
|
+
this.lineNumber = lineNumber;
|
|
6
|
+
this.name = "DclDataCorruptError";
|
|
7
|
+
}
|
|
8
|
+
file;
|
|
9
|
+
lineNumber;
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
DclDataCorruptError
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
package/manifest.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"builtAt": "2026-05-15T10:30:27.318Z",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"sources": {
|
|
5
|
+
"dcl": {
|
|
6
|
+
"url": "https://on.dcl.csa-iot.org"
|
|
7
|
+
},
|
|
8
|
+
"github": {
|
|
9
|
+
"repo": "project-chip/connectedhomeip",
|
|
10
|
+
"ref": "master",
|
|
11
|
+
"commit": "unknown"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"counts": {
|
|
15
|
+
"paaRoots": 169,
|
|
16
|
+
"paaRootsTest": 95,
|
|
17
|
+
"cdSigners": 6,
|
|
18
|
+
"cdSignersTest": 6,
|
|
19
|
+
"vendors": 427,
|
|
20
|
+
"vendorsTest": 0
|
|
21
|
+
}
|
|
22
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@matter/dcl-data",
|
|
3
|
+
"version": "2026.5.15.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Daily snapshot of Matter DCL data for seeding matter.js services",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=18"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/esm/types.d.ts",
|
|
13
|
+
"default": "./dist/esm/types.js"
|
|
14
|
+
},
|
|
15
|
+
"./node": {
|
|
16
|
+
"types": "./dist/esm/node.d.ts",
|
|
17
|
+
"default": "./dist/esm/node.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"data",
|
|
26
|
+
"manifest.json",
|
|
27
|
+
"LICENSE"
|
|
28
|
+
],
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "nacho-build",
|
|
31
|
+
"build-clean": "nacho-build --clean",
|
|
32
|
+
"test": "matter-test",
|
|
33
|
+
"format": "oxfmt \"src/**/*.ts\" \"tools/**/*.ts\" \"test/**/*.ts\"",
|
|
34
|
+
"format-verify": "oxfmt --check \"src/**/*.ts\" \"tools/**/*.ts\" \"test/**/*.ts\"",
|
|
35
|
+
"lint": "oxlint --type-aware",
|
|
36
|
+
"lint-fix": "oxlint --fix --type-aware"
|
|
37
|
+
},
|
|
38
|
+
"overrides": {
|
|
39
|
+
"mocha": {
|
|
40
|
+
"diff": "^8.0.3",
|
|
41
|
+
"serialize-javascript": "^7.0.4"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@matter/main": "dev",
|
|
46
|
+
"@matter/testing": "dev",
|
|
47
|
+
"@nacho-iot/js-tools": "^0.1.7",
|
|
48
|
+
"@types/chai": "^4.3.20",
|
|
49
|
+
"@types/mocha": "^10.0.10",
|
|
50
|
+
"@types/node": "^25.8.0",
|
|
51
|
+
"oxfmt": "^0.49.0",
|
|
52
|
+
"oxlint": "^1.64.0",
|
|
53
|
+
"oxlint-tsgolint": "^0.22.1",
|
|
54
|
+
"typescript": "^6.0.3"
|
|
55
|
+
}
|
|
56
|
+
}
|