@atomic-ehr/fhir-canonical-manager 0.0.11 → 0.0.12
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/README.md +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/manager/canonical.d.ts.map +1 -1
- package/dist/manager/canonical.js +20 -1
- package/dist/manager/canonical.js.map +1 -1
- package/dist/types/core.d.ts +1 -0
- package/dist/types/core.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -3
- package/src/manager/canonical.ts +33 -1
- package/src/types/core.ts +1 -0
package/README.md
CHANGED
|
@@ -433,6 +433,25 @@ const packages = await manager.packages();
|
|
|
433
433
|
// ]
|
|
434
434
|
```
|
|
435
435
|
|
|
436
|
+
### `addPackages(packages: string[]): Promise<void>`
|
|
437
|
+
|
|
438
|
+
Add (and install if needed) extra FHIR packages at runtime.
|
|
439
|
+
|
|
440
|
+
```typescript
|
|
441
|
+
await manager.addPackages(
|
|
442
|
+
"hl7.fhir.us.core@5.0.1",
|
|
443
|
+
"hl7.fhir.us.davinci-drug-formulary"
|
|
444
|
+
);
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
- Accepts one or more package specifiers: name or name@version
|
|
448
|
+
- If manager not yet initialised, they are appended and normal `init()` flow handles install
|
|
449
|
+
- Already present packages are skipped (idempotent)
|
|
450
|
+
- New ones are installed, `node_modules` re‑scanned, cache persisted
|
|
451
|
+
- Resources become immediately available to `resolve`, `search`, CLI commands
|
|
452
|
+
|
|
453
|
+
Returns: `Promise<void>` (resolves when indexing is updated)
|
|
454
|
+
|
|
436
455
|
### `getSearchParametersForResource(resourceType): Promise<SearchParameter[]>`
|
|
437
456
|
|
|
438
457
|
Gets all search parameters applicable to a specific FHIR resource type.
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './types/index.js';
|
|
|
2
2
|
export { createReferenceManager, ReferenceManagerFactory as ReferenceManager } from './reference/index.js';
|
|
3
3
|
export type { ReferenceManager as ReferenceManagerType } from './reference/index.js';
|
|
4
4
|
export { CanonicalManager, createCanonicalManager } from './manager/index.js';
|
|
5
|
+
export type { CanonicalManager as TCanonicalManager } from './types/core.js';
|
|
5
6
|
import { createCanonicalManager } from './manager/index.js';
|
|
6
7
|
export default createCanonicalManager;
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3G,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,YAAY,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/manager/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAOjB,MAAM,mBAAmB,CAAC;AAe3B,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/manager/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAOjB,MAAM,mBAAmB,CAAC;AAe3B,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,KAAG,gBAmVvD,CAAC"}
|
|
@@ -8,7 +8,7 @@ import { scanDirectory } from '../scanner/index.js';
|
|
|
8
8
|
import { resolveWithContext } from '../resolver/index.js';
|
|
9
9
|
import { filterBySmartSearch } from '../search/index.js';
|
|
10
10
|
export const createCanonicalManager = (config) => {
|
|
11
|
-
const { packages, workingDir } = config;
|
|
11
|
+
const { packages = [], workingDir } = config;
|
|
12
12
|
const registry = config.registry
|
|
13
13
|
? config.registry.endsWith("/")
|
|
14
14
|
? config.registry
|
|
@@ -63,6 +63,24 @@ export const createCanonicalManager = (config) => {
|
|
|
63
63
|
ensureInitialized();
|
|
64
64
|
return Object.values(cache.packages).map((p) => p.id);
|
|
65
65
|
};
|
|
66
|
+
const addPackages = async (...newPackages) => {
|
|
67
|
+
if (newPackages.length === 0)
|
|
68
|
+
return;
|
|
69
|
+
const packagesToAdd = newPackages.filter((pkg) => !packages.includes(pkg));
|
|
70
|
+
if (packagesToAdd.length !== 0) {
|
|
71
|
+
packages.push(...packagesToAdd);
|
|
72
|
+
}
|
|
73
|
+
if (!initialized) {
|
|
74
|
+
await init();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (packagesToAdd.length === 0) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
await installPackages(packages, workingDir, registry);
|
|
81
|
+
await scanDirectory(nodeModulesPath, cache);
|
|
82
|
+
await saveCacheToDisk(cache, cacheDir, workingDir);
|
|
83
|
+
};
|
|
66
84
|
const resolveEntry = async (canonicalUrl, options) => {
|
|
67
85
|
ensureInitialized();
|
|
68
86
|
if (options?.sourceContext) {
|
|
@@ -182,6 +200,7 @@ export const createCanonicalManager = (config) => {
|
|
|
182
200
|
init,
|
|
183
201
|
destroy,
|
|
184
202
|
packages: getPackages,
|
|
203
|
+
addPackages,
|
|
185
204
|
resolveEntry,
|
|
186
205
|
resolve,
|
|
187
206
|
read,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/manager/canonical.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAWlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAoB,EAAE;IACzE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/manager/canonical.ts"],"names":[],"mappings":"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"}
|
package/dist/types/core.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export interface CanonicalManager {
|
|
|
55
55
|
init(): Promise<void>;
|
|
56
56
|
destroy(): Promise<void>;
|
|
57
57
|
packages(): Promise<PackageId[]>;
|
|
58
|
+
addPackages(...packageNames: string[]): Promise<void>;
|
|
58
59
|
resolveEntry(canonicalUrl: string, options?: {
|
|
59
60
|
package?: string;
|
|
60
61
|
version?: string;
|
package/dist/types/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,SAAS;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACjF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GACjD,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC;IAGzF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACjC,YAAY,CACV,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GACA,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,CACL,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GACA,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,aAAa,CAAC,MAAM,EAAE;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxB,WAAW,CACT,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,GACA,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACzB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAClF"}
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -10,11 +10,11 @@ export * from './types/index.js';
|
|
|
10
10
|
export { createReferenceManager, ReferenceManagerFactory as ReferenceManager } from './reference/index.js';
|
|
11
11
|
export type { ReferenceManager as ReferenceManagerType } from './reference/index.js';
|
|
12
12
|
|
|
13
|
-
// Re-export main CanonicalManager
|
|
13
|
+
// Re-export main CanonicalManager factory and class
|
|
14
14
|
export { CanonicalManager, createCanonicalManager } from './manager/index.js';
|
|
15
15
|
|
|
16
|
-
//
|
|
17
|
-
|
|
16
|
+
// Re-export CanonicalManager type interface with T prefix
|
|
17
|
+
export type { CanonicalManager as TCanonicalManager } from './types/core.js';
|
|
18
18
|
|
|
19
19
|
// Default export for backward compatibility
|
|
20
20
|
import { createCanonicalManager } from './manager/index.js';
|
package/src/manager/canonical.ts
CHANGED
|
@@ -29,7 +29,7 @@ import { resolveWithContext } from '../resolver/index.js';
|
|
|
29
29
|
import { filterBySmartSearch } from '../search/index.js';
|
|
30
30
|
|
|
31
31
|
export const createCanonicalManager = (config: Config): CanonicalManager => {
|
|
32
|
-
const { packages, workingDir } = config;
|
|
32
|
+
const { packages = [], workingDir } = config;
|
|
33
33
|
// Ensure registry URL ends with /
|
|
34
34
|
const registry = config.registry
|
|
35
35
|
? config.registry.endsWith("/")
|
|
@@ -110,6 +110,37 @@ export const createCanonicalManager = (config: Config): CanonicalManager => {
|
|
|
110
110
|
return Object.values(cache.packages).map((p) => p.id);
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
+
const addPackages = async (...newPackages: string[]): Promise<void> => {
|
|
114
|
+
if (newPackages.length === 0) return;
|
|
115
|
+
|
|
116
|
+
// Check if packages already exists in packages
|
|
117
|
+
const packagesToAdd = newPackages.filter((pkg) => !packages.includes(pkg));
|
|
118
|
+
if (packagesToAdd.length !== 0) {
|
|
119
|
+
// Update config packages
|
|
120
|
+
packages.push(...packagesToAdd);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// If not initialized yet, init will handle installation
|
|
124
|
+
if(!initialized) {
|
|
125
|
+
await init();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// If it is initialized and there are no new packages, do nothing
|
|
130
|
+
if (packagesToAdd.length === 0) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Install new packages
|
|
135
|
+
await installPackages(packages, workingDir, registry);
|
|
136
|
+
|
|
137
|
+
// Re-scan node_modules to update cache
|
|
138
|
+
await scanDirectory(nodeModulesPath, cache);
|
|
139
|
+
|
|
140
|
+
// Update cache on disk
|
|
141
|
+
await saveCacheToDisk(cache, cacheDir, workingDir);
|
|
142
|
+
};
|
|
143
|
+
|
|
113
144
|
const resolveEntry = async (
|
|
114
145
|
canonicalUrl: string,
|
|
115
146
|
options?: {
|
|
@@ -327,6 +358,7 @@ export const createCanonicalManager = (config: Config): CanonicalManager => {
|
|
|
327
358
|
init,
|
|
328
359
|
destroy,
|
|
329
360
|
packages: getPackages,
|
|
361
|
+
addPackages,
|
|
330
362
|
resolveEntry,
|
|
331
363
|
resolve,
|
|
332
364
|
read,
|
package/src/types/core.ts
CHANGED