Skip to content

Commit b1b757e

Browse files
committed
fix: add ./valuesets/* subpath export to generated package.json
1 parent 2035edc commit b1b757e

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

src/generator/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,10 +428,13 @@ export async function generateIntoPackage(packageArchivePath: string, outArchive
428428
logger.log('FHIR client generated');
429429
}
430430

431-
// Only add ./fhir-client export if the directory was actually created
431+
// Only add subpath exports if their directories were actually created
432432
if (fs.existsSync(path.join(outputDir, 'fhir-client'))) {
433433
generatedExports['./fhir-client'] = { types: './fhir-client/index.d.ts', import: './fhir-client/index.js' };
434434
}
435+
if (fs.existsSync(path.join(outputDir, 'valuesets'))) {
436+
generatedExports['./valuesets/*'] = { types: './valuesets/*.d.ts', import: './valuesets/*.js' };
437+
}
435438

436439
const generatedPackageJsonPath = path.join(outputDir, 'package.json');
437440
fs.writeFileSync(generatedPackageJsonPath, JSON.stringify(generatedPackageJson, null, 2));
@@ -612,10 +615,13 @@ export async function generateIntoPackageDirect(
612615
logger.log('FHIR client generated');
613616
}
614617

615-
// Only add ./fhir-client export if the directory was actually created
618+
// Only add subpath exports if their directories were actually created
616619
if (fs.existsSync(path.join(outputDir, 'fhir-client'))) {
617620
generatedExports['./fhir-client'] = { types: './fhir-client/index.d.ts', import: './fhir-client/index.js' };
618621
}
622+
if (fs.existsSync(path.join(outputDir, 'valuesets'))) {
623+
generatedExports['./valuesets/*'] = { types: './valuesets/*.d.ts', import: './valuesets/*.js' };
624+
}
619625

620626
const generatedPackageJsonPath = path.join(outputDir, 'package.json');
621627
fs.writeFileSync(generatedPackageJsonPath, JSON.stringify(generatedPackageJson, null, 2));

src/test/fhirClientPackaging.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ describe('FHIR client packaging', () => {
8585
});
8686

8787
describe('package.json exports', () => {
88-
it('has exports field with . and ./fhir-client', () => {
88+
it('has exports field with ., ./fhir-client, and ./valuesets/*', () => {
8989
const pkg = JSON.parse(fs.readFileSync(path.join(generatedDir, 'package.json'), 'utf8'));
9090
expect(pkg.exports).toBeDefined();
9191
expect(pkg.exports['.']).toEqual({
@@ -96,6 +96,10 @@ describe('FHIR client packaging', () => {
9696
types: './fhir-client/index.d.ts',
9797
import: './fhir-client/index.js',
9898
});
99+
expect(pkg.exports['./valuesets/*']).toEqual({
100+
types: './valuesets/*.d.ts',
101+
import: './valuesets/*.js',
102+
});
99103
});
100104

101105
it('has @babelfhir-ts/client-r4 in dependencies', () => {

0 commit comments

Comments
 (0)