@atomic-ehr/codegen 0.0.1-canary.20250808231821.ab61009
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 +446 -0
- package/dist/api/builder.d.ts +147 -0
- package/dist/api/builder.d.ts.map +1 -0
- package/dist/api/generators/typescript.d.ts +129 -0
- package/dist/api/generators/typescript.d.ts.map +1 -0
- package/dist/api/index.d.ts +51 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/cli/commands/generate/typescript.d.ts +11 -0
- package/dist/cli/commands/generate/typescript.d.ts.map +1 -0
- package/dist/cli/commands/generate.d.ts +23 -0
- package/dist/cli/commands/generate.d.ts.map +1 -0
- package/dist/cli/commands/index.d.ts +40 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/typeschema/generate.d.ts +18 -0
- package/dist/cli/commands/typeschema/generate.d.ts.map +1 -0
- package/dist/cli/commands/typeschema.d.ts +11 -0
- package/dist/cli/commands/typeschema.d.ts.map +1 -0
- package/dist/cli/index.d.ts +11 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/utils/prompts.d.ts +57 -0
- package/dist/cli/utils/prompts.d.ts.map +1 -0
- package/dist/cli/utils/spinner.d.ts +111 -0
- package/dist/cli/utils/spinner.d.ts.map +1 -0
- package/dist/config.d.ts +171 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4008 -0
- package/dist/logger.d.ts +158 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/types/base.d.ts +66 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/typeschema/cache.d.ts +105 -0
- package/dist/typeschema/cache.d.ts.map +1 -0
- package/dist/typeschema/core/binding.d.ts +29 -0
- package/dist/typeschema/core/binding.d.ts.map +1 -0
- package/dist/typeschema/core/field-builder.d.ts +45 -0
- package/dist/typeschema/core/field-builder.d.ts.map +1 -0
- package/dist/typeschema/core/identifier.d.ts +28 -0
- package/dist/typeschema/core/identifier.d.ts.map +1 -0
- package/dist/typeschema/core/nested-types.d.ts +25 -0
- package/dist/typeschema/core/nested-types.d.ts.map +1 -0
- package/dist/typeschema/core/transformer.d.ts +18 -0
- package/dist/typeschema/core/transformer.d.ts.map +1 -0
- package/dist/typeschema/generator.d.ts +57 -0
- package/dist/typeschema/generator.d.ts.map +1 -0
- package/dist/typeschema/index.d.ts +66 -0
- package/dist/typeschema/index.d.ts.map +1 -0
- package/dist/typeschema/parser.d.ts +92 -0
- package/dist/typeschema/parser.d.ts.map +1 -0
- package/dist/typeschema/profile/processor.d.ts +14 -0
- package/dist/typeschema/profile/processor.d.ts.map +1 -0
- package/dist/typeschema/schema.d.ts +486 -0
- package/dist/typeschema/schema.d.ts.map +1 -0
- package/dist/typeschema/types.d.ts +326 -0
- package/dist/typeschema/types.d.ts.map +1 -0
- package/dist/typeschema/utils.d.ts +7 -0
- package/dist/typeschema/utils.d.ts.map +1 -0
- package/dist/typeschema/value-set/processor.d.ts +20 -0
- package/dist/typeschema/value-set/processor.d.ts.map +1 -0
- package/dist/utils.d.ts +23 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +60 -0
- package/src/index.ts +86 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-Level TypeScript Generator
|
|
3
|
+
*
|
|
4
|
+
* Provides a high-level API for generating TypeScript interfaces from TypeSchema documents.
|
|
5
|
+
* This wraps the core TypeSchema transformer with additional convenience features.
|
|
6
|
+
*/
|
|
7
|
+
import { type TypeSchema } from "../../typeschema";
|
|
8
|
+
/**
|
|
9
|
+
* Options for the TypeScript API generator
|
|
10
|
+
*/
|
|
11
|
+
export interface TypeScriptAPIOptions {
|
|
12
|
+
outputDir: string;
|
|
13
|
+
moduleFormat?: "esm" | "cjs";
|
|
14
|
+
generateIndex?: boolean;
|
|
15
|
+
includeDocuments?: boolean;
|
|
16
|
+
namingConvention?: "PascalCase" | "camelCase";
|
|
17
|
+
includeExtensions?: boolean;
|
|
18
|
+
includeProfiles?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Generated file result
|
|
22
|
+
*/
|
|
23
|
+
export interface GeneratedFile {
|
|
24
|
+
path: string;
|
|
25
|
+
filename: string;
|
|
26
|
+
content: string;
|
|
27
|
+
exports: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface GeneratedTypeScript {
|
|
30
|
+
content: string;
|
|
31
|
+
imports: Map<string, string>;
|
|
32
|
+
exports: string[];
|
|
33
|
+
filename: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* High-Level TypeScript Generator
|
|
37
|
+
*
|
|
38
|
+
* Generates TypeScript interfaces from TypeSchema documents with additional
|
|
39
|
+
* features like index generation, documentation, and flexible output options.
|
|
40
|
+
*/
|
|
41
|
+
export declare class TypeScriptAPIGenerator {
|
|
42
|
+
private options;
|
|
43
|
+
private imports;
|
|
44
|
+
private exports;
|
|
45
|
+
private resourceTypes;
|
|
46
|
+
private currentSchemaName?;
|
|
47
|
+
constructor(options: TypeScriptAPIOptions);
|
|
48
|
+
/**
|
|
49
|
+
* Transform a single TypeSchema to TypeScript
|
|
50
|
+
*/
|
|
51
|
+
transformSchema(schema: TypeSchema): Promise<GeneratedTypeScript | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* Generate TypeScript for a single schema
|
|
54
|
+
*/
|
|
55
|
+
private generateTypeScriptForSchema;
|
|
56
|
+
/**
|
|
57
|
+
* Generate TypeScript for nested type
|
|
58
|
+
*/
|
|
59
|
+
private generateNested;
|
|
60
|
+
/**
|
|
61
|
+
* Generate TypeScript for a field
|
|
62
|
+
*/
|
|
63
|
+
private generateField;
|
|
64
|
+
/**
|
|
65
|
+
* Generate TypeScript for polymorphic instance
|
|
66
|
+
*/
|
|
67
|
+
private generatePolymorphicInstance;
|
|
68
|
+
/**
|
|
69
|
+
* Generate TypeScript for a regular field
|
|
70
|
+
*/
|
|
71
|
+
private generateRegularField;
|
|
72
|
+
private buildReferenceType;
|
|
73
|
+
/**
|
|
74
|
+
* Transform multiple schemas
|
|
75
|
+
*/
|
|
76
|
+
transformSchemas(schemas: TypeSchema[]): Promise<GeneratedTypeScript[]>;
|
|
77
|
+
/**
|
|
78
|
+
* Generate TypeScript files from TypeSchema documents
|
|
79
|
+
*/
|
|
80
|
+
generate(schemas: TypeSchema[]): Promise<GeneratedFile[]>;
|
|
81
|
+
private generateImportStatements;
|
|
82
|
+
/**
|
|
83
|
+
* Generate and return results without writing to files
|
|
84
|
+
*/
|
|
85
|
+
build(schemas: TypeSchema[]): Promise<GeneratedFile[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Set output directory
|
|
88
|
+
*/
|
|
89
|
+
setOutputDir(directory: string): void;
|
|
90
|
+
/**
|
|
91
|
+
* Update generator options
|
|
92
|
+
*/
|
|
93
|
+
setOptions(options: Partial<TypeScriptAPIOptions>): void;
|
|
94
|
+
/**
|
|
95
|
+
* Get current options
|
|
96
|
+
*/
|
|
97
|
+
getOptions(): Required<TypeScriptAPIOptions>;
|
|
98
|
+
private generateIndexFile;
|
|
99
|
+
private ensureDirectoryExists;
|
|
100
|
+
/**
|
|
101
|
+
* Filter schemas based on includeExtensions option
|
|
102
|
+
*/
|
|
103
|
+
private filterSchemas;
|
|
104
|
+
/**
|
|
105
|
+
* Generate index files for subfolders
|
|
106
|
+
*/
|
|
107
|
+
private generateSubfolderIndexFiles;
|
|
108
|
+
/**
|
|
109
|
+
* Generate index content for a subfolder
|
|
110
|
+
*/
|
|
111
|
+
private generateSubfolderIndex;
|
|
112
|
+
/**
|
|
113
|
+
* Format type name according to naming convention
|
|
114
|
+
*/
|
|
115
|
+
private formatTypeName;
|
|
116
|
+
/**
|
|
117
|
+
* Get TypeScript type for a TypeSchema identifier
|
|
118
|
+
*/
|
|
119
|
+
private getType;
|
|
120
|
+
/**
|
|
121
|
+
* Get base interface for schema
|
|
122
|
+
*/
|
|
123
|
+
private getBaseInterface;
|
|
124
|
+
/**
|
|
125
|
+
* Get filename for schema
|
|
126
|
+
*/
|
|
127
|
+
private getFilename;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/api/generators/typescript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAMN,KAAK,UAAU,EAIf,MAAM,kBAAkB,CAAC;AAO1B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;GAKG;AACH,qBAAa,sBAAsB;IAClC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,OAAO,EAAE,oBAAoB;IAYzC;;OAEG;IACG,eAAe,CACpB,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAgC3C;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+DnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAyCtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACG,gBAAgB,CACrB,OAAO,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAajC;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAkE/D,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6B5D;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAIxD;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC;YAI9B,iBAAiB;YA2IjB,qBAAqB;IAKnC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;YACW,2BAA2B;IA+BzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,OAAO;IAaf;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,WAAW;CAInB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* High-Level API Module
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for the atomic-codegen high-level API.
|
|
5
|
+
* Provides convenient access to all generators and utilities.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
export { TypeSchemaCache, TypeSchemaGenerator, TypeSchemaParser, } from "../typeschema";
|
|
10
|
+
export type { PackageInfo, TypeSchemaField, TypeSchemaIdentifier, } from "../typeschema/types";
|
|
11
|
+
export type { APIBuilderOptions, GenerationResult, ProgressCallback, } from "./builder";
|
|
12
|
+
export { APIBuilder, createAPI, generateTypesFromFiles, generateTypesFromPackage, } from "./builder";
|
|
13
|
+
export type { GeneratedFile, TypeScriptAPIOptions, } from "./generators/typescript";
|
|
14
|
+
export { TypeScriptAPIGenerator } from "./generators/typescript";
|
|
15
|
+
/**
|
|
16
|
+
* Quick start examples:
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* Generate TypeScript types from a FHIR package:
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { createAPI } from '@atomic-codegen/api';
|
|
22
|
+
*
|
|
23
|
+
* const result = await createAPI()
|
|
24
|
+
* .fromPackage('hl7.fhir.r4.core')
|
|
25
|
+
* .typescript()
|
|
26
|
+
* .generate();
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* Generate TypeScript types from TypeSchema files:
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { createAPI } from '@atomic-codegen/api';
|
|
33
|
+
*
|
|
34
|
+
* const result = await createAPI()
|
|
35
|
+
* .fromFiles('./schemas/*.ndjson')
|
|
36
|
+
* .typescript()
|
|
37
|
+
* .generate();
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* Build in-memory without writing files:
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import { createAPI } from '@atomic-codegen/api';
|
|
44
|
+
*
|
|
45
|
+
* const results = await createAPI()
|
|
46
|
+
* .fromPackage('hl7.fhir.r4.core')
|
|
47
|
+
* .typescript()
|
|
48
|
+
* .build();
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACX,WAAW,EACX,eAAe,EACf,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACN,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,WAAW,CAAC;AACnB,YAAY,EACX,aAAa,EACb,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate TypeScript Command
|
|
3
|
+
*
|
|
4
|
+
* Generate TypeScript types from TypeSchema files using the new high-level API
|
|
5
|
+
*/
|
|
6
|
+
import type { Config } from "../../../config";
|
|
7
|
+
/**
|
|
8
|
+
* Generate TypeScript types from TypeSchema using the high-level API
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateTypeScript(config: Config, inputPath?: string): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/generate/typescript.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAgC9C;;GAEG;AACH,wBAAsB,kBAAkB,CACvC,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate Command - High-Level API
|
|
3
|
+
*
|
|
4
|
+
* Main generate command that uses the high-level API for end-to-end generation
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandModule } from "yargs";
|
|
7
|
+
import type { CLIArgv } from "./index";
|
|
8
|
+
interface GenerateArgs extends CLIArgv {
|
|
9
|
+
packages?: string[];
|
|
10
|
+
input?: string;
|
|
11
|
+
output?: string;
|
|
12
|
+
typescript?: boolean;
|
|
13
|
+
format?: "esm" | "cjs";
|
|
14
|
+
"generate-index"?: boolean;
|
|
15
|
+
"include-docs"?: boolean;
|
|
16
|
+
"naming-convention"?: "PascalCase" | "camelCase";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Main generate command using high-level API
|
|
20
|
+
*/
|
|
21
|
+
export declare const generateCommand: CommandModule<{}, GenerateArgs>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,YAAa,SAAQ,OAAO;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,YAAY,CA6P3D,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* Atomic Codegen CLI - New Command Structure
|
|
4
|
+
*
|
|
5
|
+
* Modern CLI with subcommands for typeschema and code generation
|
|
6
|
+
*/
|
|
7
|
+
import { type ILogger } from "../../logger.ts";
|
|
8
|
+
/**
|
|
9
|
+
* CLI arguments interface
|
|
10
|
+
*/
|
|
11
|
+
export interface CLIArgv {
|
|
12
|
+
config?: string;
|
|
13
|
+
verbose?: boolean;
|
|
14
|
+
debug?: boolean;
|
|
15
|
+
logLevel?: string;
|
|
16
|
+
logFormat?: string;
|
|
17
|
+
logFile?: string;
|
|
18
|
+
_logger?: ILogger;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Main CLI entry point with subcommands
|
|
22
|
+
*/
|
|
23
|
+
export declare function createCLI(): import("yargs").Argv<{
|
|
24
|
+
verbose: boolean;
|
|
25
|
+
} & {
|
|
26
|
+
debug: boolean;
|
|
27
|
+
} & {
|
|
28
|
+
"log-level": string | undefined;
|
|
29
|
+
} & {
|
|
30
|
+
"log-format": string;
|
|
31
|
+
} & {
|
|
32
|
+
"log-file": string | undefined;
|
|
33
|
+
} & {
|
|
34
|
+
config: string | undefined;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Run the CLI
|
|
38
|
+
*/
|
|
39
|
+
export declare function runCLI(): Promise<void>;
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAIH,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvE;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAkBD;;GAEG;AACH,wBAAgB,SAAS;;;;;;;;;;;;GAqIxB;AAED;;GAEG;AACH,wBAAsB,MAAM,kBAG3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeSchema Generate Command
|
|
3
|
+
*
|
|
4
|
+
* Generate TypeSchema files from FHIR packages
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandModule } from "yargs";
|
|
7
|
+
interface GenerateTypeschemaArgs {
|
|
8
|
+
packages: string[];
|
|
9
|
+
output?: string;
|
|
10
|
+
format?: "ndjson" | "json";
|
|
11
|
+
verbose?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generate TypeSchema from FHIR packages
|
|
15
|
+
*/
|
|
16
|
+
export declare const generateTypeschemaCommand: CommandModule<{}, GenerateTypeschemaArgs>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/typeschema/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,UAAU,sBAAsB;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAAa,CACpD,EAAE,EACF,sBAAsB,CA6GtB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeSchema Commands
|
|
3
|
+
*
|
|
4
|
+
* Commands for validating and managing TypeSchema files
|
|
5
|
+
*/
|
|
6
|
+
import type { CommandModule } from "yargs";
|
|
7
|
+
/**
|
|
8
|
+
* TypeSchema command group
|
|
9
|
+
*/
|
|
10
|
+
export declare const typeschemaCommand: CommandModule;
|
|
11
|
+
//# sourceMappingURL=typeschema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeschema.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/typeschema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAmD/B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* Atomic Codegen CLI - Simplified High-Level API
|
|
4
|
+
*
|
|
5
|
+
* Clean, performant CLI with only essential commands:
|
|
6
|
+
* - typeschema: Create and manage TypeSchema files
|
|
7
|
+
* - generate: Generate code from TypeSchema
|
|
8
|
+
* - dev: Development utilities
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Prompts Utility
|
|
3
|
+
*
|
|
4
|
+
* Interactive prompts for better CLI user experience
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Prompt for project initialization
|
|
8
|
+
*/
|
|
9
|
+
export declare function promptInitConfig(): Promise<{
|
|
10
|
+
projectName: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
outputDir: string;
|
|
13
|
+
generators: string[];
|
|
14
|
+
packageManager: "npm" | "yarn" | "pnpm" | "bun";
|
|
15
|
+
typescript: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Prompt for FHIR package selection
|
|
19
|
+
*/
|
|
20
|
+
export declare function promptFHIRPackage(): Promise<{
|
|
21
|
+
packageId: string;
|
|
22
|
+
version?: string;
|
|
23
|
+
profiles?: string[];
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Prompt for generator configuration
|
|
27
|
+
*/
|
|
28
|
+
export declare function promptGeneratorConfig(generatorId: string): Promise<Record<string, any>>;
|
|
29
|
+
/**
|
|
30
|
+
* Prompt for confirmation with custom message
|
|
31
|
+
*/
|
|
32
|
+
export declare function promptConfirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Prompt for text input with validation
|
|
35
|
+
*/
|
|
36
|
+
export declare function promptInput(message: string, options?: {
|
|
37
|
+
default?: string;
|
|
38
|
+
validate?: (value: string) => boolean | string;
|
|
39
|
+
transform?: (value: string) => string;
|
|
40
|
+
}): Promise<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Show success message
|
|
43
|
+
*/
|
|
44
|
+
export declare function showSuccess(message: string): void;
|
|
45
|
+
/**
|
|
46
|
+
* Show error message
|
|
47
|
+
*/
|
|
48
|
+
export declare function showError(message: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Show warning message
|
|
51
|
+
*/
|
|
52
|
+
export declare function showWarning(message: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Show info message
|
|
55
|
+
*/
|
|
56
|
+
export declare function showInfo(message: string): void;
|
|
57
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAChD,UAAU,EAAE,OAAO,CAAC;CACpB,CAAC,CA0DD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAuDD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAoE9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;IAC/C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACtC,GACC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Spinner and Progress Utilities
|
|
3
|
+
*
|
|
4
|
+
* Visual progress indicators for long-running operations
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Task progress tracker
|
|
8
|
+
*/
|
|
9
|
+
export declare class ProgressTracker {
|
|
10
|
+
private tasks;
|
|
11
|
+
private currentSpinner;
|
|
12
|
+
/**
|
|
13
|
+
* Start a new task
|
|
14
|
+
*/
|
|
15
|
+
startTask(taskId: string, message: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Update task progress
|
|
18
|
+
*/
|
|
19
|
+
updateTask(taskId: string, message: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Complete a task successfully
|
|
22
|
+
*/
|
|
23
|
+
completeTask(taskId: string, message?: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Fail a task
|
|
26
|
+
*/
|
|
27
|
+
failTask(taskId: string, error?: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Stop all spinners
|
|
30
|
+
*/
|
|
31
|
+
stop(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get task statistics
|
|
34
|
+
*/
|
|
35
|
+
getStats(): {
|
|
36
|
+
total: number;
|
|
37
|
+
completed: number;
|
|
38
|
+
failed: number;
|
|
39
|
+
running: number;
|
|
40
|
+
pending: number;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Simple spinner for single operations
|
|
45
|
+
*/
|
|
46
|
+
export declare class SimpleSpinner {
|
|
47
|
+
private spinner;
|
|
48
|
+
constructor(message: string);
|
|
49
|
+
start(message?: string): SimpleSpinner;
|
|
50
|
+
update(message: string): SimpleSpinner;
|
|
51
|
+
succeed(message?: string): void;
|
|
52
|
+
fail(message?: string): void;
|
|
53
|
+
warn(message?: string): void;
|
|
54
|
+
info(message?: string): void;
|
|
55
|
+
stop(): void;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Progress bar for batch operations
|
|
59
|
+
*/
|
|
60
|
+
export declare class ProgressBar {
|
|
61
|
+
private total;
|
|
62
|
+
private message;
|
|
63
|
+
private current;
|
|
64
|
+
private barLength;
|
|
65
|
+
private startTime;
|
|
66
|
+
constructor(total: number, message: string);
|
|
67
|
+
/**
|
|
68
|
+
* Update progress
|
|
69
|
+
*/
|
|
70
|
+
update(current: number, additionalInfo?: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Increment progress by 1
|
|
73
|
+
*/
|
|
74
|
+
increment(additionalInfo?: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Complete the progress bar
|
|
77
|
+
*/
|
|
78
|
+
complete(message?: string): void;
|
|
79
|
+
/**
|
|
80
|
+
* Render the progress bar
|
|
81
|
+
*/
|
|
82
|
+
private render;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a simple spinner
|
|
86
|
+
*/
|
|
87
|
+
export declare function createSpinner(message: string): SimpleSpinner;
|
|
88
|
+
/**
|
|
89
|
+
* Create a progress tracker for multiple tasks
|
|
90
|
+
*/
|
|
91
|
+
export declare function createProgressTracker(): ProgressTracker;
|
|
92
|
+
/**
|
|
93
|
+
* Create a progress bar
|
|
94
|
+
*/
|
|
95
|
+
export declare function createProgressBar(total: number, message: string): ProgressBar;
|
|
96
|
+
/**
|
|
97
|
+
* Show a spinner for a promise
|
|
98
|
+
*/
|
|
99
|
+
export declare function withSpinner<T>(promise: Promise<T>, options: {
|
|
100
|
+
start: string;
|
|
101
|
+
success?: string | ((result: T) => string);
|
|
102
|
+
fail?: string | ((error: any) => string);
|
|
103
|
+
}): Promise<T>;
|
|
104
|
+
/**
|
|
105
|
+
* Multi-step task execution with progress
|
|
106
|
+
*/
|
|
107
|
+
export declare function executeSteps<T>(steps: Array<{
|
|
108
|
+
name: string;
|
|
109
|
+
task: () => Promise<T>;
|
|
110
|
+
}>): Promise<T[]>;
|
|
111
|
+
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/spinner.ts"],"names":[],"mappings":"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"}
|