@atomic-ehr/codegen 0.0.1-canary.20251112172458.7608c8c → 0.0.1-canary.20251113112112.5b598d6

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/dist/index.d.ts CHANGED
@@ -790,7 +790,7 @@ interface WriterOptions {
790
790
  tabSize: number;
791
791
  withDebugComment?: boolean;
792
792
  commentLinePrefix: string;
793
- writeTypeTree?: string;
793
+ generateProfile?: boolean;
794
794
  logger?: CodegenLogger;
795
795
  }
796
796
 
@@ -852,6 +852,7 @@ declare class APIBuilder {
852
852
  private typeSchemaConfig?;
853
853
  constructor(options?: APIBuilderOptions);
854
854
  fromPackage(packageName: string, version?: string): APIBuilder;
855
+ fromPackageRef(packageRef: string): APIBuilder;
855
856
  fromFiles(...filePaths: string[]): APIBuilder;
856
857
  fromSchemas(schemas: TypeSchema[]): APIBuilder;
857
858
  typescriptDepricated(options?: {
package/dist/index.js CHANGED
@@ -1411,11 +1411,6 @@ var extractNameFromCanonical = (canonical, dropFragment = true) => {
1411
1411
  return localName;
1412
1412
  };
1413
1413
  var packageMetaToFhir = (packageMeta) => `${packageMeta.name}#${packageMeta.version}`;
1414
- var npmToPackageMeta = (fhir) => {
1415
- const [name, version] = fhir.split("@");
1416
- if (!name) throw new Error(`Invalid FHIR package meta: ${fhir}`);
1417
- return { name, version: version ?? "latest" };
1418
- };
1419
1414
  var packageMetaToNpm = (packageMeta) => `${packageMeta.name}@${packageMeta.version}`;
1420
1415
  var enrichFHIRSchema = (schema, packageMeta) => {
1421
1416
  if (!packageMeta) {
@@ -1722,7 +1717,8 @@ var mkField = (register, fhirSchema, path, element, logger) => {
1722
1717
  }
1723
1718
  }
1724
1719
  const fieldType = buildFieldType(register, fhirSchema, path, element, logger);
1725
- if (!fieldType) logger?.warn(`Field type not found for ${path.join(".")}`);
1720
+ if (!fieldType)
1721
+ logger?.warn(`Field type not found for '${fhirSchema.url}#${path.join(".")}' (${fhirSchema.derivation})`);
1726
1722
  return {
1727
1723
  type: fieldType,
1728
1724
  required: isRequired(register, fhirSchema, path),
@@ -6105,7 +6101,7 @@ var TypeScript = class extends Writer {
6105
6101
  ...tsIndex.collectComplexTypes(),
6106
6102
  ...tsIndex.collectResources(),
6107
6103
  // ...tsIndex.collectLogicalModels(),
6108
- ...tsIndex.collectProfiles().filter((p) => tsIndex.isWithMetaField(p))
6104
+ ...this.opts.generateProfile ? tsIndex.collectProfiles().filter((p) => tsIndex.isWithMetaField(p)) : []
6109
6105
  ];
6110
6106
  const grouped = groupByPackages(typesToGenerate);
6111
6107
  this.cd("/", () => {
@@ -6269,6 +6265,10 @@ var APIBuilder = class {
6269
6265
  this.packages.push(pkg);
6270
6266
  return this;
6271
6267
  }
6268
+ fromPackageRef(packageRef) {
6269
+ this.packages.push(packageRef);
6270
+ return this;
6271
+ }
6272
6272
  fromFiles(...filePaths) {
6273
6273
  this.logger.debug(`Loading from ${filePaths.length} TypeSchema files`);
6274
6274
  const operation = this.loadFromFiles(filePaths);
@@ -6311,6 +6311,7 @@ var APIBuilder = class {
6311
6311
  tabSize: 4,
6312
6312
  withDebugComment: false,
6313
6313
  commentLinePrefix: "//",
6314
+ generateProfile: true,
6314
6315
  exportTypeTree: this.options.exportTypeTree
6315
6316
  };
6316
6317
  const effectiveOpts = { logger: this.logger, ...writerOpts, ...opts };
@@ -6400,10 +6401,11 @@ var APIBuilder = class {
6400
6401
  packages: this.packages,
6401
6402
  workingDir: ".codegen-cache/canonical-manager-cache"
6402
6403
  });
6403
- await manager.init();
6404
+ const ref2meta = await manager.init();
6405
+ const packageMetas = Object.values(ref2meta);
6404
6406
  const register = await registerFromManager(manager, {
6405
6407
  logger: this.logger,
6406
- focusedPackages: this.packages.map(npmToPackageMeta)
6408
+ focusedPackages: packageMetas
6407
6409
  });
6408
6410
  const typeSchemas = await generateTypeSchemas(register, this.logger);
6409
6411
  await tryWriteTypeSchema(typeSchemas, this.options, this.logger);