@atomic-ehr/fhir-canonical-manager 0.0.2 → 0.0.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/README.md +265 -25
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +24 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/search.d.ts.map +1 -1
- package/dist/cli/search.js +31 -10
- package/dist/cli/search.js.map +1 -1
- package/dist/compat.d.ts +11 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +53 -0
- package/dist/compat.js.map +1 -0
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +10 -3
- package/src/cli/index.ts +24 -1
- package/src/cli/init.ts +1 -1
- package/src/cli/search.ts +41 -12
- package/src/compat.ts +85 -0
- package/src/index.ts +3 -3
package/README.md
CHANGED
|
@@ -13,6 +13,7 @@ A TypeScript package manager for FHIR resources that provides canonical URL reso
|
|
|
13
13
|
- 🎯 **Flexible Search** - Search resources by type, kind, URL, version, or package
|
|
14
14
|
- ⚡ **Performance Optimized** - In-memory cache with disk persistence
|
|
15
15
|
- 🛠️ **TypeScript First** - Full TypeScript support with comprehensive types
|
|
16
|
+
- 🖥️ **CLI Tool** - Command-line interface for package management and resource discovery
|
|
16
17
|
|
|
17
18
|
## Installation
|
|
18
19
|
|
|
@@ -41,6 +42,185 @@ const resource = await manager.resolve('http://hl7.org/fhir/StructureDefinition/
|
|
|
41
42
|
console.log(resource.url); // http://hl7.org/fhir/StructureDefinition/Patient
|
|
42
43
|
```
|
|
43
44
|
|
|
45
|
+
## CLI Usage
|
|
46
|
+
|
|
47
|
+
The package includes a powerful command-line interface (`fcm`) for managing FHIR packages and searching resources without writing code.
|
|
48
|
+
|
|
49
|
+
### Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Install globally
|
|
53
|
+
npm install -g @atomic-ehr/fhir-canonical-manager
|
|
54
|
+
|
|
55
|
+
# Or use with npx
|
|
56
|
+
npx @atomic-ehr/fhir-canonical-manager
|
|
57
|
+
|
|
58
|
+
# Or run directly with bunx
|
|
59
|
+
bunx @atomic-ehr/fhir-canonical-manager
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Getting Started
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Create a new project and initialize with FHIR packages
|
|
66
|
+
mkdir my-fhir-project && cd my-fhir-project
|
|
67
|
+
fcm init hl7.fhir.r4.core
|
|
68
|
+
|
|
69
|
+
# Search for resources
|
|
70
|
+
fcm search Patient
|
|
71
|
+
|
|
72
|
+
# Get a specific resource
|
|
73
|
+
fcm resolve http://hl7.org/fhir/StructureDefinition/Patient
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Commands
|
|
77
|
+
|
|
78
|
+
#### `fcm init`
|
|
79
|
+
Initialize FHIR packages in the current directory.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Initialize with packages
|
|
83
|
+
fcm init hl7.fhir.r4.core hl7.fhir.us.core@5.0.1
|
|
84
|
+
|
|
85
|
+
# With custom registry
|
|
86
|
+
fcm init hl7.fhir.r4.core --registry https://packages.simplifier.net
|
|
87
|
+
|
|
88
|
+
# Initialize from existing package.json
|
|
89
|
+
fcm init
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Configuration is stored in `package.json`:
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"fcm": {
|
|
96
|
+
"packages": ["hl7.fhir.r4.core", "hl7.fhir.us.core@5.0.1"],
|
|
97
|
+
"registry": "https://fs.get-ig.org/pkgs"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
#### `fcm list`
|
|
103
|
+
List installed packages or resources.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# List all packages
|
|
107
|
+
fcm list
|
|
108
|
+
|
|
109
|
+
# List resources in a package
|
|
110
|
+
fcm list hl7.fhir.r4.core
|
|
111
|
+
|
|
112
|
+
# Filter by type
|
|
113
|
+
fcm list hl7.fhir.r4.core --type StructureDefinition
|
|
114
|
+
|
|
115
|
+
# Output as JSON
|
|
116
|
+
fcm list --json
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
#### `fcm search`
|
|
120
|
+
Search for resources with advanced filtering and prefix matching capabilities.
|
|
121
|
+
|
|
122
|
+
**Basic Usage:**
|
|
123
|
+
```bash
|
|
124
|
+
# Search by URL pattern
|
|
125
|
+
fcm search Patient
|
|
126
|
+
|
|
127
|
+
# Prefix search - space-separated terms match URL components
|
|
128
|
+
fcm search str def pat # Matches: StructureDefinition/Patient
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Resource Type Shortcuts:**
|
|
132
|
+
```bash
|
|
133
|
+
fcm search -sd # All StructureDefinitions
|
|
134
|
+
fcm search -cs # All CodeSystems
|
|
135
|
+
fcm search -vs # All ValueSets
|
|
136
|
+
fcm search -sd patient # Patient-related StructureDefinitions
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Advanced Filtering:**
|
|
140
|
+
```bash
|
|
141
|
+
# Filter by type (-t)
|
|
142
|
+
fcm search -t Extension # All Extensions
|
|
143
|
+
fcm search -t Patient # Resources with type="Patient"
|
|
144
|
+
fcm search -sd -t Patient # Patient StructureDefinition specifically
|
|
145
|
+
|
|
146
|
+
# Filter by kind (-k)
|
|
147
|
+
fcm search -k resource # All resources (Patient, Observation, etc.)
|
|
148
|
+
fcm search -k complex-type # All complex types (HumanName, Address, etc.)
|
|
149
|
+
fcm search -k primitive-type # All primitive types (string, boolean, etc.)
|
|
150
|
+
|
|
151
|
+
# Combine filters
|
|
152
|
+
fcm search -t Extension -k complex-type # All Extension complex types
|
|
153
|
+
fcm search -sd pat -t Extension # Patient-related Extensions
|
|
154
|
+
|
|
155
|
+
# Filter by package
|
|
156
|
+
fcm search allergy --package hl7.fhir.us.core
|
|
157
|
+
|
|
158
|
+
# Output as JSON
|
|
159
|
+
fcm search Patient --json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Output Format:**
|
|
163
|
+
By default, results are displayed one per line in the format:
|
|
164
|
+
```
|
|
165
|
+
url, {"resourceType":"...", "kind":"...", "type":"..."}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Example output:
|
|
169
|
+
```
|
|
170
|
+
http://hl7.org/fhir/StructureDefinition/Patient, {"resourceType":"StructureDefinition","kind":"resource","type":"Patient"}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
#### `fcm resolve`
|
|
174
|
+
Get a resource by its canonical URL.
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# Display resource
|
|
178
|
+
fcm resolve http://hl7.org/fhir/StructureDefinition/Patient
|
|
179
|
+
|
|
180
|
+
# Save to file
|
|
181
|
+
fcm resolve http://hl7.org/fhir/ValueSet/administrative-gender > gender.json
|
|
182
|
+
|
|
183
|
+
# Show only specific fields
|
|
184
|
+
fcm resolve http://hl7.org/fhir/StructureDefinition/Patient --fields url,type,kind
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### CLI Examples
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# Set up a new FHIR project
|
|
191
|
+
mkdir my-fhir-project && cd my-fhir-project
|
|
192
|
+
fcm init hl7.fhir.r4.core
|
|
193
|
+
|
|
194
|
+
# Search for Observation-related resources
|
|
195
|
+
fcm search observation
|
|
196
|
+
|
|
197
|
+
# Get a specific resource and save it
|
|
198
|
+
fcm resolve http://hl7.org/fhir/StructureDefinition/Observation > observation.json
|
|
199
|
+
|
|
200
|
+
# List all ValueSets in JSON format
|
|
201
|
+
fcm search --type ValueSet --json > valuesets.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Quick Reference
|
|
205
|
+
|
|
206
|
+
| Task | Command |
|
|
207
|
+
|------|---------|
|
|
208
|
+
| Initialize project | `fcm init hl7.fhir.r4.core` |
|
|
209
|
+
| List packages | `fcm list` |
|
|
210
|
+
| List package resources | `fcm list hl7.fhir.r4.core` |
|
|
211
|
+
| Search all resources | `fcm search` |
|
|
212
|
+
| Search by name | `fcm search Patient` |
|
|
213
|
+
| Search with prefix | `fcm search str def pat` |
|
|
214
|
+
| All StructureDefinitions | `fcm search -sd` |
|
|
215
|
+
| All CodeSystems | `fcm search -cs` |
|
|
216
|
+
| All ValueSets | `fcm search -vs` |
|
|
217
|
+
| Filter by type | `fcm search -t Extension` |
|
|
218
|
+
| Filter by kind | `fcm search -k resource` |
|
|
219
|
+
| Combine filters | `fcm search -sd -t Patient` |
|
|
220
|
+
| Get resource | `fcm resolve <url>` |
|
|
221
|
+
| Export as JSON | `fcm search --json` |
|
|
222
|
+
| Help | `fcm --help` |
|
|
223
|
+
|
|
44
224
|
## Core Concepts
|
|
45
225
|
|
|
46
226
|
### Package Management
|
|
@@ -218,6 +398,79 @@ Cleans up resources and clears cache from memory (disk cache persists).
|
|
|
218
398
|
await manager.destroy();
|
|
219
399
|
```
|
|
220
400
|
|
|
401
|
+
## CLI Reference
|
|
402
|
+
|
|
403
|
+
The `fcm` command-line interface provides comprehensive FHIR resource management capabilities.
|
|
404
|
+
|
|
405
|
+
### Command Overview
|
|
406
|
+
|
|
407
|
+
| Command | Description |
|
|
408
|
+
|---------|-------------|
|
|
409
|
+
| `fcm init [packages...]` | Initialize FHIR packages in current directory |
|
|
410
|
+
| `fcm list [package]` | List packages or resources |
|
|
411
|
+
| `fcm search [terms...]` | Search resources with advanced filtering |
|
|
412
|
+
| `fcm resolve <url>` | Get a resource by canonical URL |
|
|
413
|
+
|
|
414
|
+
### Global Options
|
|
415
|
+
|
|
416
|
+
- `--help`, `-h` - Show help information
|
|
417
|
+
- `--version`, `-v` - Show version number
|
|
418
|
+
- `--json` - Output results as JSON (available for list, search, resolve)
|
|
419
|
+
|
|
420
|
+
### Search Options
|
|
421
|
+
|
|
422
|
+
| Option | Description | Example |
|
|
423
|
+
|--------|-------------|---------|
|
|
424
|
+
| `-sd` | Filter to StructureDefinitions | `fcm search -sd` |
|
|
425
|
+
| `-cs` | Filter to CodeSystems | `fcm search -cs` |
|
|
426
|
+
| `-vs` | Filter to ValueSets | `fcm search -vs` |
|
|
427
|
+
| `-t <type>` | Filter by type field | `fcm search -t Extension` |
|
|
428
|
+
| `-k <kind>` | Filter by kind field | `fcm search -k resource` |
|
|
429
|
+
| `--type <resourceType>` | Filter by resourceType | `fcm search --type ValueSet` |
|
|
430
|
+
| `--package <name>` | Filter by package | `fcm search --package hl7.fhir.us.core` |
|
|
431
|
+
|
|
432
|
+
### Prefix Search
|
|
433
|
+
|
|
434
|
+
The search command supports intelligent prefix matching. When you provide multiple space-separated terms, each term is matched as a prefix against URL components:
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
# Search for "str" AND "def" AND "pat" as prefixes
|
|
438
|
+
fcm search str def pat
|
|
439
|
+
|
|
440
|
+
# This matches URLs like:
|
|
441
|
+
# - http://hl7.org/fhir/StructureDefinition/Patient
|
|
442
|
+
# - http://hl7.org/fhir/StructureDefinition/PatientContact
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### Filter Combinations
|
|
446
|
+
|
|
447
|
+
Filters can be combined for precise searching:
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
# Find all Extension complex types
|
|
451
|
+
fcm search -t Extension -k complex-type
|
|
452
|
+
|
|
453
|
+
# Find Patient-related Extensions
|
|
454
|
+
fcm search -sd pat -t Extension
|
|
455
|
+
|
|
456
|
+
# Find all primitive types in US Core
|
|
457
|
+
fcm search -k primitive-type --package hl7.fhir.us.core
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### Output Formats
|
|
461
|
+
|
|
462
|
+
**Default (Single-line):**
|
|
463
|
+
```
|
|
464
|
+
http://hl7.org/fhir/StructureDefinition/Patient, {"resourceType":"StructureDefinition","kind":"resource","type":"Patient"}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**JSON Format:**
|
|
468
|
+
```bash
|
|
469
|
+
fcm search Patient --json
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
Returns full IndexEntry objects as JSON array.
|
|
473
|
+
|
|
221
474
|
## Directory Structure
|
|
222
475
|
|
|
223
476
|
After initialization, your working directory will contain:
|
|
@@ -449,27 +702,6 @@ interface SourceContext {
|
|
|
449
702
|
}
|
|
450
703
|
```
|
|
451
704
|
|
|
452
|
-
## CLI Tool
|
|
453
|
-
|
|
454
|
-
The package includes a command-line search tool:
|
|
455
|
-
|
|
456
|
-
```bash
|
|
457
|
-
# Search by URL pattern
|
|
458
|
-
bun tools/search-canonical.ts --url Patient --limit 10
|
|
459
|
-
|
|
460
|
-
# Find all StructureDefinitions
|
|
461
|
-
bun tools/search-canonical.ts --type StructureDefinition
|
|
462
|
-
|
|
463
|
-
# Search by kind
|
|
464
|
-
bun tools/search-canonical.ts --kind resource --limit 20
|
|
465
|
-
|
|
466
|
-
# Export as JSON
|
|
467
|
-
bun tools/search-canonical.ts --type ValueSet --format json > valuesets.json
|
|
468
|
-
|
|
469
|
-
# Filter by package
|
|
470
|
-
bun tools/search-canonical.ts --package hl7.fhir.r4.core --type CodeSystem
|
|
471
|
-
```
|
|
472
|
-
|
|
473
705
|
## Development
|
|
474
706
|
|
|
475
707
|
To install dependencies:
|
|
@@ -495,11 +727,19 @@ bun run example.ts
|
|
|
495
727
|
```
|
|
496
728
|
fhir-canonical-manager/
|
|
497
729
|
├── src/
|
|
498
|
-
│
|
|
730
|
+
│ ├── index.ts # Core library implementation
|
|
731
|
+
│ ├── compat.ts # Bun/Node.js compatibility layer
|
|
732
|
+
│ └── cli/ # CLI implementation
|
|
733
|
+
│ ├── index.ts # CLI entry point
|
|
734
|
+
│ ├── init.ts # Init command
|
|
735
|
+
│ ├── list.ts # List command
|
|
736
|
+
│ ├── search.ts # Search command
|
|
737
|
+
│ └── resolve.ts # Resolve command
|
|
499
738
|
├── test/
|
|
500
|
-
│
|
|
501
|
-
├──
|
|
502
|
-
│ └──
|
|
739
|
+
│ ├── index.test.ts # Core library tests
|
|
740
|
+
│ ├── cli.test.ts # CLI unit tests
|
|
741
|
+
│ └── cli-integration.test.ts # CLI integration tests
|
|
742
|
+
├── dist/ # Compiled output (generated)
|
|
503
743
|
├── example.ts # Usage example
|
|
504
744
|
├── package.json
|
|
505
745
|
├── tsconfig.json
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAC;AAsEhE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAC;AAsEhE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAA;CAAE,CA4C7G;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAWpD;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1E"}
|
package/dist/cli/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { initCommand } from './init';
|
|
|
6
6
|
import { listCommand } from './list';
|
|
7
7
|
import { searchCommand } from './search';
|
|
8
8
|
import { resolveCommand } from './resolve';
|
|
9
|
-
const VERSION = '0.0.
|
|
9
|
+
const VERSION = '0.0.3';
|
|
10
10
|
function showHelp() {
|
|
11
11
|
console.log(`
|
|
12
12
|
fcm - FHIR Canonical Manager CLI
|
|
@@ -76,6 +76,29 @@ export function parseArgs(args) {
|
|
|
76
76
|
options[key] = true;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
else if (arg && arg.startsWith('-')) {
|
|
80
|
+
switch (arg) {
|
|
81
|
+
case '-sd':
|
|
82
|
+
options.resourceType = 'StructureDefinition';
|
|
83
|
+
break;
|
|
84
|
+
case '-cs':
|
|
85
|
+
options.resourceType = 'CodeSystem';
|
|
86
|
+
break;
|
|
87
|
+
case '-vs':
|
|
88
|
+
options.resourceType = 'ValueSet';
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
const key = arg.slice(1);
|
|
92
|
+
const nextArg = args[i + 1];
|
|
93
|
+
if (nextArg && !nextArg.startsWith('-')) {
|
|
94
|
+
options[key] = nextArg;
|
|
95
|
+
i++;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
options[key] = true;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
79
102
|
else if (arg) {
|
|
80
103
|
positional.push(arg);
|
|
81
104
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
-
import { $ } from '
|
|
3
|
+
import { $ } from '../compat';
|
|
4
4
|
import { parseArgs, loadPackageJson, savePackageJson } from './index';
|
|
5
5
|
import { CanonicalManager } from '../index';
|
|
6
6
|
export async function initCommand(args) {
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FjE"}
|
package/dist/cli/search.js
CHANGED
|
@@ -2,9 +2,11 @@ import { parseArgs, loadPackageJson, getConfigFromPackageJson } from './index';
|
|
|
2
2
|
import { CanonicalManager } from '../index';
|
|
3
3
|
export async function searchCommand(args) {
|
|
4
4
|
const { positional, options } = parseArgs(args);
|
|
5
|
-
const
|
|
5
|
+
const searchTerms = positional;
|
|
6
6
|
const isJson = options.json === true;
|
|
7
|
-
const
|
|
7
|
+
const resourceTypeFilter = (options.type || options.resourceType);
|
|
8
|
+
const typeFilter = options.t;
|
|
9
|
+
const kindFilter = options.k;
|
|
8
10
|
const packageFilter = options.package;
|
|
9
11
|
const packageJson = await loadPackageJson();
|
|
10
12
|
if (!packageJson?.fcm?.packages || packageJson.fcm.packages.length === 0) {
|
|
@@ -17,8 +19,8 @@ export async function searchCommand(args) {
|
|
|
17
19
|
await manager.init();
|
|
18
20
|
try {
|
|
19
21
|
const searchCriteria = {};
|
|
20
|
-
if (
|
|
21
|
-
searchCriteria.
|
|
22
|
+
if (kindFilter) {
|
|
23
|
+
searchCriteria.kind = kindFilter;
|
|
22
24
|
}
|
|
23
25
|
if (packageFilter) {
|
|
24
26
|
const packages = await manager.packages();
|
|
@@ -30,9 +32,23 @@ export async function searchCommand(args) {
|
|
|
30
32
|
searchCriteria.package = pkg;
|
|
31
33
|
}
|
|
32
34
|
let results = await manager.searchEntries(searchCriteria);
|
|
33
|
-
if (
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
if (resourceTypeFilter) {
|
|
36
|
+
results = results.filter(entry => entry.resourceType === resourceTypeFilter);
|
|
37
|
+
}
|
|
38
|
+
if (typeFilter) {
|
|
39
|
+
results = results.filter(entry => entry.type === typeFilter);
|
|
40
|
+
}
|
|
41
|
+
if (searchTerms.length > 0) {
|
|
42
|
+
const terms = searchTerms.map(t => t.toLowerCase());
|
|
43
|
+
results = results.filter(entry => {
|
|
44
|
+
if (!entry.url)
|
|
45
|
+
return false;
|
|
46
|
+
const urlLower = entry.url.toLowerCase();
|
|
47
|
+
return terms.every(term => {
|
|
48
|
+
const urlParts = urlLower.split(/[\/\-_\.]+/);
|
|
49
|
+
return urlParts.some(part => part.startsWith(term));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
36
52
|
}
|
|
37
53
|
if (isJson) {
|
|
38
54
|
console.log(JSON.stringify(results, null, 2));
|
|
@@ -42,10 +58,15 @@ export async function searchCommand(args) {
|
|
|
42
58
|
console.log("No resources found");
|
|
43
59
|
}
|
|
44
60
|
else {
|
|
45
|
-
|
|
61
|
+
const searchInfo = searchTerms.length > 0 ? ` matching "${searchTerms.join(' ')}"` : '';
|
|
62
|
+
console.log(`Found ${results.length} resource${results.length === 1 ? '' : 's'}${searchInfo}:`);
|
|
46
63
|
results.forEach(resource => {
|
|
47
|
-
|
|
48
|
-
|
|
64
|
+
const info = {
|
|
65
|
+
resourceType: resource.resourceType,
|
|
66
|
+
kind: resource.kind,
|
|
67
|
+
type: resource.type
|
|
68
|
+
};
|
|
69
|
+
console.log(`${resource.url}, ${JSON.stringify(info)}`);
|
|
49
70
|
});
|
|
50
71
|
}
|
|
51
72
|
}
|
package/dist/cli/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"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"}
|
package/dist/compat.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class ShellError extends Error {
|
|
2
|
+
exitCode: number;
|
|
3
|
+
stdout: string;
|
|
4
|
+
stderr: string;
|
|
5
|
+
constructor(message: string, exitCode: number, stdout: string, stderr: string);
|
|
6
|
+
}
|
|
7
|
+
export declare function $(strings: TemplateStringsArray, ...values: any[]): {
|
|
8
|
+
then(resolve: any, reject: any): Promise<any>;
|
|
9
|
+
quiet(): Promise<any>;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAmBA,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO9E;AAMD,wBAAgB,CAAC,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;kBAwC/C,GAAG,UAAU,GAAG;;EAOjC"}
|
package/dist/compat.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { exec } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
const execAsync = promisify(exec);
|
|
4
|
+
export class ShellError extends Error {
|
|
5
|
+
exitCode;
|
|
6
|
+
stdout;
|
|
7
|
+
stderr;
|
|
8
|
+
constructor(message, exitCode, stdout, stderr) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'ShellError';
|
|
11
|
+
this.exitCode = exitCode;
|
|
12
|
+
this.stdout = stdout;
|
|
13
|
+
this.stderr = stderr;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function $(strings, ...values) {
|
|
17
|
+
const command = strings.reduce((acc, str, i) => {
|
|
18
|
+
return acc + str + (values[i] || '');
|
|
19
|
+
}, '');
|
|
20
|
+
const execute = async (options = {}) => {
|
|
21
|
+
if (typeof Bun !== 'undefined' && Bun.$) {
|
|
22
|
+
const bunShell = Bun.$;
|
|
23
|
+
if (options.quiet) {
|
|
24
|
+
const result = await bunShell(strings, ...values).quiet();
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const result = await bunShell(strings, ...values);
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const { stdout, stderr } = await execAsync(command);
|
|
34
|
+
return {
|
|
35
|
+
stdout: stdout || '',
|
|
36
|
+
stderr: stderr || '',
|
|
37
|
+
exitCode: 0
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw new ShellError(`Failed with exit code ${error.code}`, error.code || 1, error.stdout || '', error.stderr || '');
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return {
|
|
45
|
+
then(resolve, reject) {
|
|
46
|
+
return execute().then(resolve, reject);
|
|
47
|
+
},
|
|
48
|
+
quiet() {
|
|
49
|
+
return execute({ quiet: true });
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../src/compat.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAGlC,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,MAAM,CAAS;IAEf,YAAY,OAAe,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAMD,MAAM,UAAU,CAAC,CAAC,OAA6B,EAAE,GAAG,MAAa;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAC7C,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,MAAM,OAAO,GAAG,KAAK,EAAE,UAA+B,EAAE,EAAE,EAAE;QAE1D,IAAI,OAAO,GAAG,KAAK,WAAW,IAAK,GAAW,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAI,GAAW,CAAC,CAAC,CAAC;YAEhC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;gBAClD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAGD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO;gBACL,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,MAAM,EAAE,MAAM,IAAI,EAAE;gBACpB,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,UAAU,CAClB,yBAAyB,KAAK,CAAC,IAAI,EAAE,EACrC,KAAK,CAAC,IAAI,IAAI,CAAC,EACf,KAAK,CAAC,MAAM,IAAI,EAAE,EAClB,KAAK,CAAC,MAAM,IAAI,EAAE,CACnB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAGF,OAAO;QACL,IAAI,CAAC,OAAY,EAAE,MAAW;YAC5B,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import * as fs from 'fs/promises';
|
|
3
3
|
import { createHash } from 'crypto';
|
|
4
|
-
import {
|
|
4
|
+
import { $, ShellError } from './compat';
|
|
5
5
|
const generateReferenceId = (metadata) => {
|
|
6
6
|
const input = `${metadata.packageName}@${metadata.packageVersion}:${metadata.filePath}`;
|
|
7
7
|
return createHash('sha256').update(input).digest('base64url');
|
|
@@ -141,10 +141,10 @@ const installPackages = async (packages, workingDir, registry) => {
|
|
|
141
141
|
for (const pkg of packages) {
|
|
142
142
|
try {
|
|
143
143
|
if (registry) {
|
|
144
|
-
await
|
|
144
|
+
await Bun.$ `cd ${workingDir} && npm add ${pkg} --registry ${registry}`;
|
|
145
145
|
}
|
|
146
146
|
else {
|
|
147
|
-
await
|
|
147
|
+
await Bun.$ `cd ${workingDir} && npm add ${pkg}`;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
catch (err) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atomic-ehr/fhir-canonical-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,12 +25,19 @@
|
|
|
25
25
|
"prepublishOnly": "bun run build"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/bun": "latest",
|
|
29
28
|
"@atomic-ehr/hl7.fhir.r4.core": "latest",
|
|
29
|
+
"@types/bun": "latest",
|
|
30
30
|
"typescript": "^5"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"typescript": "^5"
|
|
34
34
|
},
|
|
35
|
-
"
|
|
35
|
+
"fcm": {
|
|
36
|
+
"packages": [
|
|
37
|
+
"hl7.fhir.r4.core",
|
|
38
|
+
"search",
|
|
39
|
+
"pat"
|
|
40
|
+
],
|
|
41
|
+
"registry": "https://fs.get-ig.org/pkgs"
|
|
42
|
+
}
|
|
36
43
|
}
|
package/src/cli/index.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { listCommand } from './list';
|
|
|
11
11
|
import { searchCommand } from './search';
|
|
12
12
|
import { resolveCommand } from './resolve';
|
|
13
13
|
|
|
14
|
-
const VERSION = '0.0.
|
|
14
|
+
const VERSION = '0.0.3';
|
|
15
15
|
|
|
16
16
|
function showHelp() {
|
|
17
17
|
console.log(`
|
|
@@ -88,6 +88,29 @@ export function parseArgs(args: string[]): { positional: string[], options: Reco
|
|
|
88
88
|
} else {
|
|
89
89
|
options[key] = true;
|
|
90
90
|
}
|
|
91
|
+
} else if (arg && arg.startsWith('-')) {
|
|
92
|
+
// Handle short aliases
|
|
93
|
+
switch (arg) {
|
|
94
|
+
case '-sd':
|
|
95
|
+
options.resourceType = 'StructureDefinition';
|
|
96
|
+
break;
|
|
97
|
+
case '-cs':
|
|
98
|
+
options.resourceType = 'CodeSystem';
|
|
99
|
+
break;
|
|
100
|
+
case '-vs':
|
|
101
|
+
options.resourceType = 'ValueSet';
|
|
102
|
+
break;
|
|
103
|
+
default:
|
|
104
|
+
// Handle other single-letter flags
|
|
105
|
+
const key = arg.slice(1);
|
|
106
|
+
const nextArg = args[i + 1];
|
|
107
|
+
if (nextArg && !nextArg.startsWith('-')) {
|
|
108
|
+
options[key] = nextArg;
|
|
109
|
+
i++;
|
|
110
|
+
} else {
|
|
111
|
+
options[key] = true;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
91
114
|
} else if (arg) {
|
|
92
115
|
positional.push(arg);
|
|
93
116
|
}
|
package/src/cli/init.ts
CHANGED
package/src/cli/search.ts
CHANGED
|
@@ -3,9 +3,11 @@ import { CanonicalManager } from '../index';
|
|
|
3
3
|
|
|
4
4
|
export async function searchCommand(args: string[]): Promise<void> {
|
|
5
5
|
const { positional, options } = parseArgs(args);
|
|
6
|
-
const
|
|
6
|
+
const searchTerms = positional; // Now support multiple search terms
|
|
7
7
|
const isJson = options.json === true;
|
|
8
|
-
const
|
|
8
|
+
const resourceTypeFilter = (options.type || options.resourceType) as string | undefined;
|
|
9
|
+
const typeFilter = options.t as string | undefined;
|
|
10
|
+
const kindFilter = options.k as string | undefined;
|
|
9
11
|
const packageFilter = options.package as string | undefined;
|
|
10
12
|
|
|
11
13
|
// Load config from package.json
|
|
@@ -24,8 +26,9 @@ export async function searchCommand(args: string[]): Promise<void> {
|
|
|
24
26
|
// Build search criteria
|
|
25
27
|
const searchCriteria: any = {};
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
// Handle kind filter through search criteria
|
|
30
|
+
if (kindFilter) {
|
|
31
|
+
searchCriteria.kind = kindFilter;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
if (packageFilter) {
|
|
@@ -41,12 +44,33 @@ export async function searchCommand(args: string[]): Promise<void> {
|
|
|
41
44
|
// Search for resources
|
|
42
45
|
let results = await manager.searchEntries(searchCriteria);
|
|
43
46
|
|
|
47
|
+
// Filter by resourceType if specified
|
|
48
|
+
if (resourceTypeFilter) {
|
|
49
|
+
results = results.filter(entry => entry.resourceType === resourceTypeFilter);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Filter by type if specified (e.g., Extension, Patient, Observation)
|
|
53
|
+
if (typeFilter) {
|
|
54
|
+
results = results.filter(entry => entry.type === typeFilter);
|
|
55
|
+
}
|
|
56
|
+
|
|
44
57
|
// Filter by URL pattern if provided
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
if (searchTerms.length > 0) {
|
|
59
|
+
// Convert search terms to lowercase for case-insensitive matching
|
|
60
|
+
const terms = searchTerms.map(t => t.toLowerCase());
|
|
61
|
+
|
|
62
|
+
results = results.filter(entry => {
|
|
63
|
+
if (!entry.url) return false;
|
|
64
|
+
const urlLower = entry.url.toLowerCase();
|
|
65
|
+
|
|
66
|
+
// Check if all search terms match as prefixes in the URL
|
|
67
|
+
return terms.every(term => {
|
|
68
|
+
// Split the URL into parts (by /, -, _, .)
|
|
69
|
+
const urlParts = urlLower.split(/[\/\-_\.]+/);
|
|
70
|
+
// Check if any part starts with the search term
|
|
71
|
+
return urlParts.some(part => part.startsWith(term));
|
|
72
|
+
});
|
|
73
|
+
});
|
|
50
74
|
}
|
|
51
75
|
|
|
52
76
|
if (isJson) {
|
|
@@ -55,11 +79,16 @@ export async function searchCommand(args: string[]): Promise<void> {
|
|
|
55
79
|
if (results.length === 0) {
|
|
56
80
|
console.log("No resources found");
|
|
57
81
|
} else {
|
|
58
|
-
|
|
82
|
+
const searchInfo = searchTerms.length > 0 ? ` matching "${searchTerms.join(' ')}"` : '';
|
|
83
|
+
console.log(`Found ${results.length} resource${results.length === 1 ? '' : 's'}${searchInfo}:`);
|
|
59
84
|
|
|
60
85
|
results.forEach(resource => {
|
|
61
|
-
|
|
62
|
-
|
|
86
|
+
const info = {
|
|
87
|
+
resourceType: resource.resourceType,
|
|
88
|
+
kind: resource.kind,
|
|
89
|
+
type: resource.type
|
|
90
|
+
};
|
|
91
|
+
console.log(`${resource.url}, ${JSON.stringify(info)}`);
|
|
63
92
|
});
|
|
64
93
|
}
|
|
65
94
|
}
|
package/src/compat.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility layer for shell commands
|
|
3
|
+
* This allows the library to work with both Bun.$ and Node.js child_process
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { $ } from './compat';
|
|
7
|
+
* await $`npm install package-name`;
|
|
8
|
+
* await $`npm install package-name`.quiet();
|
|
9
|
+
*
|
|
10
|
+
* In Bun environment: Uses native Bun.$ for better performance
|
|
11
|
+
* In Node.js environment: Falls back to child_process.exec
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { exec } from 'child_process';
|
|
15
|
+
import { promisify } from 'util';
|
|
16
|
+
|
|
17
|
+
const execAsync = promisify(exec);
|
|
18
|
+
|
|
19
|
+
// Shell error type matching Bun's ShellError
|
|
20
|
+
export class ShellError extends Error {
|
|
21
|
+
exitCode: number;
|
|
22
|
+
stdout: string;
|
|
23
|
+
stderr: string;
|
|
24
|
+
|
|
25
|
+
constructor(message: string, exitCode: number, stdout: string, stderr: string) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = 'ShellError';
|
|
28
|
+
this.exitCode = exitCode;
|
|
29
|
+
this.stdout = stdout;
|
|
30
|
+
this.stderr = stderr;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Shell command execution that mimics Bun.$
|
|
36
|
+
* Works with both Bun and Node.js environments
|
|
37
|
+
*/
|
|
38
|
+
export function $(strings: TemplateStringsArray, ...values: any[]) {
|
|
39
|
+
const command = strings.reduce((acc, str, i) => {
|
|
40
|
+
return acc + str + (values[i] || '');
|
|
41
|
+
}, '');
|
|
42
|
+
|
|
43
|
+
// Create a chainable object that mimics Bun.$
|
|
44
|
+
const execute = async (options: { quiet?: boolean } = {}) => {
|
|
45
|
+
// If Bun.$ is available, use it
|
|
46
|
+
if (typeof Bun !== 'undefined' && (Bun as any).$) {
|
|
47
|
+
const bunShell = (Bun as any).$;
|
|
48
|
+
// Apply quiet option before executing if requested
|
|
49
|
+
if (options.quiet) {
|
|
50
|
+
const result = await bunShell(strings, ...values).quiet();
|
|
51
|
+
return result;
|
|
52
|
+
} else {
|
|
53
|
+
const result = await bunShell(strings, ...values);
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Node.js fallback
|
|
59
|
+
try {
|
|
60
|
+
const { stdout, stderr } = await execAsync(command);
|
|
61
|
+
return {
|
|
62
|
+
stdout: stdout || '',
|
|
63
|
+
stderr: stderr || '',
|
|
64
|
+
exitCode: 0
|
|
65
|
+
};
|
|
66
|
+
} catch (error: any) {
|
|
67
|
+
throw new ShellError(
|
|
68
|
+
`Failed with exit code ${error.code}`,
|
|
69
|
+
error.code || 1,
|
|
70
|
+
error.stdout || '',
|
|
71
|
+
error.stderr || ''
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// Return chainable API
|
|
77
|
+
return {
|
|
78
|
+
then(resolve: any, reject: any) {
|
|
79
|
+
return execute().then(resolve, reject);
|
|
80
|
+
},
|
|
81
|
+
quiet() {
|
|
82
|
+
return execute({ quiet: true });
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import * as path from 'path';
|
|
7
7
|
import * as fs from 'fs/promises';
|
|
8
8
|
import { createHash } from 'crypto';
|
|
9
|
-
import {
|
|
9
|
+
import { $, ShellError } from './compat';
|
|
10
10
|
|
|
11
11
|
// Types
|
|
12
12
|
export interface Reference {
|
|
@@ -309,9 +309,9 @@ const installPackages = async (packages: string[], workingDir: string, registry?
|
|
|
309
309
|
for (const pkg of packages) {
|
|
310
310
|
try {
|
|
311
311
|
if (registry) {
|
|
312
|
-
await
|
|
312
|
+
await Bun.$`cd ${workingDir} && npm add ${pkg} --registry ${registry}`;
|
|
313
313
|
} else {
|
|
314
|
-
await
|
|
314
|
+
await Bun.$`cd ${workingDir} && npm add ${pkg}`;
|
|
315
315
|
}
|
|
316
316
|
} catch (err) {
|
|
317
317
|
console.error(`Failed to install package ${pkg}:`, err);
|