@nz-open-data-connectors/nz-sources 0.1.0 → 0.1.3
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 +72 -28
- package/dist/adeSearch.d.ts.map +1 -1
- package/dist/adeSearch.js +3 -5
- package/dist/adeSearch.js.map +1 -1
- package/dist/apiKey.d.ts +12 -0
- package/dist/apiKey.d.ts.map +1 -0
- package/dist/apiKey.js +18 -0
- package/dist/apiKey.js.map +1 -0
- package/dist/arcgisHub.d.ts.map +1 -1
- package/dist/arcgisHub.js +4 -9
- package/dist/arcgisHub.js.map +1 -1
- package/dist/dataGovtDatastore.d.ts.map +1 -1
- package/dist/dataGovtDatastore.js +4 -6
- package/dist/dataGovtDatastore.js.map +1 -1
- package/dist/dataGovtNz.d.ts.map +1 -1
- package/dist/dataGovtNz.js +3 -5
- package/dist/dataGovtNz.js.map +1 -1
- package/dist/digitalNz.d.ts.map +1 -1
- package/dist/digitalNz.js +11 -13
- package/dist/digitalNz.js.map +1 -1
- package/dist/errors.d.ts +12 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -4
- package/dist/errors.js.map +1 -1
- package/dist/geonet.d.ts.map +1 -1
- package/dist/geonet.js +5 -5
- package/dist/geonet.js.map +1 -1
- package/dist/http.d.ts +34 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +83 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lawa.d.ts.map +1 -1
- package/dist/lawa.js +3 -5
- package/dist/lawa.js.map +1 -1
- package/dist/linz.d.ts.map +1 -1
- package/dist/linz.js +8 -6
- package/dist/linz.js.map +1 -1
- package/dist/lris.d.ts.map +1 -1
- package/dist/lris.js +3 -5
- package/dist/lris.js.map +1 -1
- package/dist/mfe.d.ts.map +1 -1
- package/dist/mfe.js +3 -5
- package/dist/mfe.js.map +1 -1
- package/dist/nzor.d.ts.map +1 -1
- package/dist/nzor.js +3 -5
- package/dist/nzor.js.map +1 -1
- package/dist/nzta.d.ts.map +1 -1
- package/dist/nzta.js +4 -5
- package/dist/nzta.js.map +1 -1
- package/dist/nztaOpenData.d.ts +50 -0
- package/dist/nztaOpenData.d.ts.map +1 -0
- package/dist/nztaOpenData.js +107 -0
- package/dist/nztaOpenData.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -0
- package/dist/registry.js.map +1 -1
- package/dist/tradeMe.d.ts.map +1 -1
- package/dist/tradeMe.js +5 -5
- package/dist/tradeMe.js.map +1 -1
- package/package.json +27 -5
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { NzSourceParseError } from './errors.js';
|
|
3
|
+
import { httpGet } from './http.js';
|
|
4
|
+
import { readFixtureJson } from './fixtures.js';
|
|
5
|
+
/** Registry id for the Waka Kotahi (NZTA) open data adapter. */
|
|
6
|
+
export const NZTA_OPEN_DATA_SOURCE_ID = 'nzta-open-data';
|
|
7
|
+
const NZTA_OPEN_DATA_DISTRIBUTION_SCHEMA = z.object({
|
|
8
|
+
title: z.string(),
|
|
9
|
+
format: z.string(),
|
|
10
|
+
mediaType: z.string(),
|
|
11
|
+
accessURL: z.string(),
|
|
12
|
+
});
|
|
13
|
+
const NZTA_OPEN_DATA_CONTACT_SCHEMA = z.object({
|
|
14
|
+
fn: z.string(),
|
|
15
|
+
hasEmail: z.string().optional().default(''),
|
|
16
|
+
});
|
|
17
|
+
const NZTA_OPEN_DATA_DATASET_SCHEMA = z.object({
|
|
18
|
+
'@type': z.literal('dcat:Dataset'),
|
|
19
|
+
identifier: z.string(),
|
|
20
|
+
title: z.string(),
|
|
21
|
+
description: z.string().optional().default(''),
|
|
22
|
+
landingPage: z.string().optional().default(''),
|
|
23
|
+
keyword: z.array(z.string()).optional().default([]),
|
|
24
|
+
issued: z.string().optional().default(''),
|
|
25
|
+
modified: z.string().optional().default(''),
|
|
26
|
+
publisher: z.object({ name: z.string() }).optional(),
|
|
27
|
+
contactPoint: NZTA_OPEN_DATA_CONTACT_SCHEMA.optional(),
|
|
28
|
+
license: z.string().optional().default(''),
|
|
29
|
+
theme: z
|
|
30
|
+
.union([z.array(z.string()), z.string()])
|
|
31
|
+
.optional()
|
|
32
|
+
.default(''),
|
|
33
|
+
spatial: z.string().optional().default(''),
|
|
34
|
+
distribution: z.array(NZTA_OPEN_DATA_DISTRIBUTION_SCHEMA).optional().default([]),
|
|
35
|
+
});
|
|
36
|
+
const NZTA_OPEN_DATA_CATALOGUE_SCHEMA = z.object({
|
|
37
|
+
'@type': z.literal('dcat:Catalog'),
|
|
38
|
+
dataset: z.array(NZTA_OPEN_DATA_DATASET_SCHEMA),
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Normalizes a DCAT theme, which the feed sends as a list or a bare string.
|
|
42
|
+
*
|
|
43
|
+
* @param theme - Theme list, empty string, or a single theme name.
|
|
44
|
+
* @returns Theme names with empty entries removed.
|
|
45
|
+
*/
|
|
46
|
+
function normalizeNztaOpenDataThemes(theme) {
|
|
47
|
+
if (typeof theme === 'string') {
|
|
48
|
+
return theme.length > 0 ? [theme] : [];
|
|
49
|
+
}
|
|
50
|
+
return theme.filter((name) => name.length > 0);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parses a Waka Kotahi (NZTA) open data DCAT 1.1 catalogue payload.
|
|
54
|
+
*
|
|
55
|
+
* @param payload - Raw JSON from the NZTA DCAT US 1.1 catalogue feed.
|
|
56
|
+
* @returns Catalogue datasets with their distributions and licence details.
|
|
57
|
+
*/
|
|
58
|
+
export function parseNztaOpenDataCatalogue(payload) {
|
|
59
|
+
const parsed = NZTA_OPEN_DATA_CATALOGUE_SCHEMA.safeParse(payload);
|
|
60
|
+
if (!parsed.success) {
|
|
61
|
+
throw new NzSourceParseError('NZTA open data', parsed.error.message);
|
|
62
|
+
}
|
|
63
|
+
const datasets = parsed.data.dataset.map((dataset) => ({
|
|
64
|
+
identifier: dataset.identifier,
|
|
65
|
+
title: dataset.title,
|
|
66
|
+
description: dataset.description,
|
|
67
|
+
landingPage: dataset.landingPage,
|
|
68
|
+
keywords: dataset.keyword,
|
|
69
|
+
issued: dataset.issued,
|
|
70
|
+
modified: dataset.modified,
|
|
71
|
+
publisher: dataset.publisher?.name ?? '',
|
|
72
|
+
contactName: dataset.contactPoint?.fn ?? '',
|
|
73
|
+
contactEmail: (dataset.contactPoint?.hasEmail ?? '').replace(/^mailto:/i, ''),
|
|
74
|
+
license: dataset.license,
|
|
75
|
+
themes: normalizeNztaOpenDataThemes(dataset.theme),
|
|
76
|
+
spatial: dataset.spatial,
|
|
77
|
+
distributions: dataset.distribution.map((distribution) => ({
|
|
78
|
+
title: distribution.title,
|
|
79
|
+
format: distribution.format,
|
|
80
|
+
mediaType: distribution.mediaType,
|
|
81
|
+
accessUrl: distribution.accessURL,
|
|
82
|
+
})),
|
|
83
|
+
}));
|
|
84
|
+
return { count: datasets.length, datasets };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Fetches the Waka Kotahi (NZTA) open data DCAT 1.1 catalogue feed. Keyless.
|
|
88
|
+
* Falls back to a committed fixture when the API is unreachable.
|
|
89
|
+
*
|
|
90
|
+
* @param fetchImpl - Fetch implementation override for tests.
|
|
91
|
+
* @returns Catalogue datasets with their distributions and licence details.
|
|
92
|
+
*/
|
|
93
|
+
export async function fetchNztaOpenDataCatalogue(fetchImpl = globalThis.fetch) {
|
|
94
|
+
const response = await httpGet('NZTA open data', 'https://opendata-nzta.opendata.arcgis.com/api/feed/dcat-us/1.1.json', { fetchImpl: fetchImpl });
|
|
95
|
+
return parseNztaOpenDataCatalogue(await response.json());
|
|
96
|
+
}
|
|
97
|
+
/** Waka Kotahi (NZTA) adapter: open data hub catalogue, keyless. */
|
|
98
|
+
export const nztaOpenDataAdapter = {
|
|
99
|
+
id: NZTA_OPEN_DATA_SOURCE_ID,
|
|
100
|
+
name: 'Waka Kotahi open data hub',
|
|
101
|
+
auth: 'none',
|
|
102
|
+
description: 'DCAT 1.1 catalogue of Waka Kotahi (NZTA) transport and road datasets.',
|
|
103
|
+
fetchLive: (options) => fetchNztaOpenDataCatalogue(options?.fetchImpl),
|
|
104
|
+
parse: parseNztaOpenDataCatalogue,
|
|
105
|
+
loadFixture: () => parseNztaOpenDataCatalogue(readFixtureJson('nzta-open-data-2026-10-05.json')),
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=nztaOpenData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nztaOpenData.js","sourceRoot":"","sources":["../src/nztaOpenData.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/E,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,OAAO,CAAC,EAenD,CAAC;AAEF,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAE3E;AAED,mEAAmE;AACnE,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,aAAa,CAAC,CAsBxB;AAED,iFAAiF;AACjF,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAQ3B"}
|
package/dist/registry.js
CHANGED
|
@@ -10,6 +10,7 @@ import { lrisAdapter } from './lris.js';
|
|
|
10
10
|
import { mfeAdapter } from './mfe.js';
|
|
11
11
|
import { nzorAdapter } from './nzor.js';
|
|
12
12
|
import { nztaAdapter } from './nzta.js';
|
|
13
|
+
import { nztaOpenDataAdapter } from './nztaOpenData.js';
|
|
13
14
|
import { tradeMeAdapter } from './tradeMe.js';
|
|
14
15
|
/** Every NZ data source behind the uniform adapter interface. */
|
|
15
16
|
export const NZ_DATA_SOURCES = [
|
|
@@ -26,6 +27,7 @@ export const NZ_DATA_SOURCES = [
|
|
|
26
27
|
mfeAdapter,
|
|
27
28
|
lrisAdapter,
|
|
28
29
|
nztaAdapter,
|
|
30
|
+
nztaOpenDataAdapter,
|
|
29
31
|
];
|
|
30
32
|
/** Looks up a source adapter by id. */
|
|
31
33
|
export function getNzDataSource(id) {
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tradeMe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradeMe.d.ts","sourceRoot":"","sources":["../src/tradeMe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tradeMe.d.ts","sourceRoot":"","sources":["../src/tradeMe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,eAAe,EAAE,CAAC;CAClC;AAyBD,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAKxE;AAYD,oEAAoE;AACpE,wBAAsB,sBAAsB,CAC1C,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GACpD,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED,qEAAqE;AACrE,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,eAAe,CAQzD,CAAC"}
|
package/dist/tradeMe.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NzSourceParseError } from './errors.js';
|
|
2
|
+
import { httpGet } from './http.js';
|
|
2
3
|
import { readFixtureJson } from './fixtures.js';
|
|
3
4
|
function isRawTradeMeCategory(value) {
|
|
4
5
|
if (typeof value !== 'object' || value === null) {
|
|
@@ -29,10 +30,9 @@ function toTradeMeCategory(category) {
|
|
|
29
30
|
}
|
|
30
31
|
/** Fetches the Trade Me category tree. Public endpoint, keyless. */
|
|
31
32
|
export async function fetchTradeMeCategories(fetchImpl = globalThis.fetch) {
|
|
32
|
-
const response = await
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
33
|
+
const response = await httpGet('Trade Me', 'https://api.trademe.co.nz/v1/Categories.json', {
|
|
34
|
+
fetchImpl: fetchImpl,
|
|
35
|
+
});
|
|
36
36
|
return parseTradeMeCategories(await response.json());
|
|
37
37
|
}
|
|
38
38
|
/** Trade Me adapter: category tree, keyless for public endpoints. */
|
package/dist/tradeMe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradeMe.js","sourceRoot":"","sources":["../src/tradeMe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tradeMe.js","sourceRoot":"","sources":["../src/tradeMe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqBhD,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QACnE,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA4B;IACrD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,aAAa,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAqC,UAAU,CAAC,KAAK;IAErD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,8CAA8C,EAAE;QACzF,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IACH,OAAO,sBAAsB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAmC;IAC5D,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,oCAAoC;IACjD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC;IAClE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACtF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nz-open-data-connectors/nz-sources",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"description": "Keyless-first TypeScript clients for 14 New Zealand public data sources, with live probes and offline fixtures.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"new-zealand",
|
|
8
|
+
"open-data",
|
|
9
|
+
"api",
|
|
10
|
+
"api-client",
|
|
11
|
+
"typescript",
|
|
12
|
+
"geonet",
|
|
13
|
+
"stats-nz",
|
|
14
|
+
"linz",
|
|
15
|
+
"digitalnz",
|
|
16
|
+
"arcgis"
|
|
17
|
+
],
|
|
4
18
|
"private": false,
|
|
5
19
|
"type": "module",
|
|
6
20
|
"main": "./dist/index.js",
|
|
@@ -31,16 +45,24 @@
|
|
|
31
45
|
"devDependencies": {
|
|
32
46
|
"@nz-open-data-connectors/config-eslint": "*",
|
|
33
47
|
"@nz-open-data-connectors/config-typescript": "*",
|
|
34
|
-
"@types/node": "
|
|
48
|
+
"@types/node": "26.6.6",
|
|
35
49
|
"eslint": "9.39.5",
|
|
36
50
|
"typescript": "6.0.3",
|
|
37
|
-
"vitest": "
|
|
51
|
+
"vitest": "5.0.5"
|
|
38
52
|
},
|
|
39
53
|
"dependencies": {
|
|
40
|
-
"fast-xml-parser": "5.11.
|
|
41
|
-
"zod": "
|
|
54
|
+
"fast-xml-parser": "5.11.2",
|
|
55
|
+
"zod": "4.6.7"
|
|
42
56
|
},
|
|
43
57
|
"publishConfig": {
|
|
44
58
|
"access": "public"
|
|
59
|
+
},
|
|
60
|
+
"repository": {
|
|
61
|
+
"type": "git",
|
|
62
|
+
"url": "git+https://github.com/olitreadwell/nz-open-data-connectors.git"
|
|
63
|
+
},
|
|
64
|
+
"homepage": "https://github.com/olitreadwell/nz-open-data-connectors#readme",
|
|
65
|
+
"bugs": {
|
|
66
|
+
"url": "https://github.com/olitreadwell/nz-open-data-connectors/issues"
|
|
45
67
|
}
|
|
46
68
|
}
|