@siyavuyachagi/typesharp 0.1.0 β†’ 0.1.1

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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # TypeSharp
2
2
 
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![npm version](https://img.shields.io/npm/v/@siyavuyachagi/typesharp.svg)](https://www.npmjs.com/package/@siyavuyachagi/typesharp)
5
+ [![Sponsor](https://img.shields.io/badge/Sponsor-πŸ’–-ff69b4)](https://github.com/sponsors/siyavuyachagi)
6
+
3
7
  Generate TypeScript types from C# models with ease! TypeSharp scans your ASP.NET Core projects and automatically generates TypeScript interfaces from your C# classes decorated with the `[TypeSharp]` attribute.
4
8
 
5
9
  ## Features
@@ -8,29 +12,32 @@ Generate TypeScript types from C# models with ease! TypeSharp scans your ASP.NET
8
12
  🎯 **Custom Attribute Targeting** – Use `[TypeSharp]` or any custom attribute
9
13
  πŸ”„ **Nullable Support** – `string?` β†’ `string | null`
10
14
  πŸ“¦ **Collection Handling** – Supports `List<T>`, `IEnumerable<T>`, arrays **and generic collections**
15
+ πŸ—ΊοΈ **Dictionary Mapping** – `Dictionary<K, V>` β†’ `Record<K, V>`
11
16
  🧬 **Generic Types** – Preserves generic type definitions like `Response<T>` β†’ `Response<T>`
12
17
  🧬 **Inheritance** – Preserves class inheritance using `extends`
18
+ πŸ—οΈ **Computed Properties** – Expression-bodied and block getter properties are included
13
19
  🎨 **Naming Conventions** – Convert property names (camel, pascal, snake, kebab)
14
20
  πŸ“ **Flexible Output** – Single file or multiple files
15
21
  πŸ”’ **Enum Support** – Converts C# enums to TypeScript string enums
16
- πŸ—‚οΈ **File Grouping** – Preserves C# file organization (multiple classes per file stay together)
22
+ πŸ—‚οΈ **File Grouping** – Preserves C# file organization (multiple classes per file stay together)
23
+ πŸ”— **Auto Imports** – Automatically generates `import type` statements between output files
24
+ 🏒 **Multi-Project** – Scan multiple `.csproj` files in a single run
17
25
 
26
+ ## How TypeSharp Compares
18
27
 
19
- ## How TypeSharp Compares
20
28
  This is not an OpenApi-based tool !
21
- | Feature | TypeSharp | NSwag | openapi-typescript | TypeGen |
29
+ | Feature | TypeSharp | NSwag | openapi-typescript | TypeGen |
22
30
  | --------------------- | --------- | ----- | ------------------ | ------- |
23
- | Direct C# parsing | βœ… | ❌ | ❌ | βœ… |
24
- | Attribute targeting | βœ… | ⚠️ | ❌ | ⚠️ |
25
- | Non-API models | βœ… | ❌ | ❌ | βœ… |
26
- | Generics preserved | βœ… | ⚠️ | ⚠️ | ⚠️ |
27
- | File grouping | βœ… | ❌ | ❌ | ❌ |
28
- | Naming control | βœ… | ⚠️ | ⚠️ | ❌ |
29
- | API client generation | ❌ | βœ… | ❌ | ❌ |
31
+ | Direct C# parsing | βœ… | ❌ | ❌ | βœ… |
32
+ | Attribute targeting | βœ… | ⚠️ | ❌ | ⚠️ |
33
+ | Non-API models | βœ… | ❌ | ❌ | βœ… |
34
+ | Generics preserved | βœ… | ⚠️ | ⚠️ | ⚠️ |
35
+ | File grouping | βœ… | ❌ | ❌ | ❌ |
36
+ | Naming control | βœ… | ⚠️ | ⚠️ | ❌ |
37
+ | API client generation | ❌ | βœ… | ❌ | ❌ |
30
38
 
31
39
  For more [docs/why-typesharp](docs/why-typesharp.md)
32
40
 
33
-
34
41
  ## Installation
35
42
 
36
43
  ```bash
@@ -85,7 +92,7 @@ public class ApiResponse<T>
85
92
 
86
93
  ### 3. Create a configuration file
87
94
 
88
- In your frontend end project run the following script
95
+ In your frontend project run the following script
89
96
 
90
97
  ```bash
91
98
  # Create TypeScript config
@@ -93,29 +100,27 @@ npx typesharp init
93
100
 
94
101
  # ----- OR -------
95
102
 
96
- # Create JSON config (default)
103
+ # Create JSON config
97
104
  npx typesharp init --format json
98
105
 
99
- # Create TypeScript config
106
+ # Create TypeScript config (default)
100
107
  npx typesharp init --format ts
101
108
 
102
109
  # Create JavaScript config
103
110
  npx typesharp init --format js
104
-
105
111
  ```
106
112
 
107
113
  This creates `typesharp.config.json`:
108
114
 
109
115
  ```json
110
116
  {
111
- "projectFile": [
117
+ "projectFiles": [
112
118
  "C:/Users/User/Desktop/MyApp/Api/Api.csproj",
113
119
  "C:/Users/User/Desktop/MyApp/Domain/Domain.csproj"
114
120
  ],
115
121
  "outputPath": "./app/types",
116
122
  "targetAnnotation": "TypeSharp",
117
123
  "singleOutputFile": false,
118
- "fileNamingConvention": "kebab",
119
124
  "namingConvention": "camel"
120
125
  }
121
126
  ```
@@ -183,23 +188,40 @@ export interface ApiResponse<T> {
183
188
  errors: string[];
184
189
  }
185
190
  ```
191
+
186
192
  For more advanced usage [docs/usage](docs/usage.md)
187
193
 
188
194
  ## Configuration
189
195
 
190
196
  ### 1. Configuration Options
191
197
 
192
- | Option | Type | Default | Description |
193
- | ---------------------- | ---------- | ------------- | ------------------------------------------------ |
194
- | `projectFiles` | `string[]` | _required_ | Full path(s) to your C# .csproj file |
195
- | `outputPath` | `string` | _required_ | Where to generate TypeScript files |
196
- | `targetAnnotation` | `string` | `'TypeSharp'` | C# attribute name to look for |
197
- | `singleOutputFile` | `boolean` | `false` | Generate one file or multiple files (see below) |
198
- | `fileNamingConvention` | `string` | `'kebab'` | File naming: `kebab`, `camel`, `pascal`, `snake` |
199
- | `namingConvention` | `string` | `'camel'` | Property naming: `camel`, `pascal`, `snake` |
200
- | `fileSuffix` | `string` | `optional` | Suffix for file names: `user-dto.ts` |
198
+ | Option | Type | Default | Description |
199
+ | ------------------ | ----------------------------------------- | ------------- | ------------------------------------------------------------- |
200
+ | `projectFiles` | `string \| string[]` | _required_ | Full path(s) to your C# .csproj file(s) |
201
+ | `outputPath` | `string` | _required_ | Where to generate TypeScript files |
202
+ | `targetAnnotation` | `string` | `'TypeSharp'` | C# attribute name to look for |
203
+ | `singleOutputFile` | `boolean` | `false` | Generate one file or multiple files (see below) |
204
+ | `namingConvention` | `string \| { dir: string, file: string }` | `'camel'` | Property/file/dir naming: `kebab`, `camel`, `pascal`, `snake` |
205
+ | `fileSuffix` | `string` | _optional_ | Suffix appended to generated file names: `user-dto.ts` |
201
206
 
202
- ### 2. Output File Behavior
207
+ ### 2. Naming Convention
208
+
209
+ `namingConvention` accepts either a simple string that applies to everything, or a config object for separate control over directories and files:
210
+
211
+ ```json
212
+ // Simple β€” applies to both dirs and files
213
+ { "namingConvention": "kebab" }
214
+
215
+ // Advanced β€” separate control
216
+ {
217
+ "namingConvention": {
218
+ "dir": "kebab",
219
+ "file": "camel"
220
+ }
221
+ }
222
+ ```
223
+
224
+ ### 3. Output File Behavior
203
225
 
204
226
  TypeSharp preserves your C# file organization. Here's how it works:
205
227
 
@@ -226,7 +248,7 @@ Backend/ src/types/
226
248
 
227
249
  **This means if you organize related DTOs in one C# file, they'll stay together in the generated TypeScript file!** 🎯
228
250
 
229
- ### 3. Configuration File Formats
251
+ ### 4. Configuration File Formats
230
252
 
231
253
  TypeSharp supports multiple configuration formats:
232
254
 
@@ -311,44 +333,136 @@ export interface Product extends BaseEntity {
311
333
  }
312
334
  ```
313
335
 
314
- ### 2. Single Output File
336
+ ### 2. Computed Properties
337
+
338
+ TypeSharp includes expression-bodied and block getter properties in the generated output:
339
+
340
+ **C#:**
341
+
342
+ ```csharp
343
+ [TypeSharp]
344
+ public class PollOptionUserLinkDto
345
+ {
346
+ public int Id { get; set; }
347
+ public int UserId { get; set; }
348
+ public UserDto User { get; set; }
349
+
350
+ // Expression-bodied
351
+ public string? Avatar => User?.Avatar;
352
+
353
+ // Block getter
354
+ public string UserFirstName { get { return User.FirstName; } }
355
+
356
+ // Init-only (Planned)
357
+ // public string Slug { get; init; }
358
+ }
359
+ ```
360
+
361
+ **Generated TypeScript:**
362
+
363
+ ```typescript
364
+ export interface PollOptionUserLinkDto {
365
+ id: number;
366
+ userId: number;
367
+ user: UserDto;
368
+ avatar: string | null;
369
+ userFirstName: string;
370
+ slug: string;
371
+ }
372
+ ```
373
+
374
+ ### 3. Dictionary Types
375
+
376
+ **C#:**
377
+
378
+ ```csharp
379
+ [TypeSharp]
380
+ public class PermissionMap
381
+ {
382
+ public Dictionary<string, bool> Flags { get; set; }
383
+ public IReadOnlyDictionary<string, List<string>> RolePermissions { get; set; }
384
+ }
385
+ ```
386
+
387
+ **Generated TypeScript:**
388
+
389
+ ```typescript
390
+ export interface PermissionMap {
391
+ flags: Record<string, boolean>;
392
+ rolePermissions: Record<string, string[]>;
393
+ }
394
+ ```
395
+
396
+ ### 4. Multi-Project
397
+
398
+ Scan multiple C# projects at once:
399
+
400
+ ```json
401
+ {
402
+ "projectFiles": [
403
+ "C:/MyApp/Api/Api.csproj",
404
+ "C:/MyApp/Domain/Domain.csproj",
405
+ "C:/MyApp/Contracts/Contracts.csproj"
406
+ ],
407
+ "outputPath": "./src/types"
408
+ }
409
+ ```
410
+
411
+ ### 5. Single Output File
315
412
 
316
413
  **Config:**
317
414
 
318
415
  ```typescript
319
416
  const config: TypeSharpConfig = {
320
- projectFile: "./Backend/Backend.csproj",
417
+ projectFiles: "./Backend/Backend.csproj",
321
418
  outputPath: "./src/types",
322
419
  singleOutputFile: true,
323
420
  };
324
421
  ```
325
422
 
326
- All types will be generated in `src/types/index.ts`
423
+ All types will be generated in `src/types/types.ts`
327
424
 
328
- ### 3. Custom Naming Conventions
425
+ ### 6. Custom Naming Conventions
329
426
 
330
427
  **Config:**
331
428
 
332
429
  ```typescript
333
430
  const config: TypeSharpConfig = {
334
- projectFile: "./Backend/Backend.csproj",
431
+ projectFiles: "./Backend/Backend.csproj",
335
432
  outputPath: "./src/types",
336
- fileNamingConvention: "snake", // user_model.ts
337
- namingConvention: "pascal", // UserName, not userName
433
+ namingConvention: {
434
+ dir: "kebab", // ./src/types/my-feature/
435
+ file: "camel", // myFeatureDto.ts
436
+ },
338
437
  };
339
438
  ```
340
439
 
341
440
  ## Type Mappings
342
441
 
343
- | C# Type | TypeScript Type |
344
- | ------------------------------------------- | ---------------- |
345
- | `string` | `string` |
346
- | `int`, `long`, `double`, `float`, `decimal` | `number` |
347
- | `bool` | `boolean` |
348
- | `DateTime`, `DateOnly`, `TimeOnly` | `string` |
349
- | `Guid` | `string` |
350
- | `List<T>`, `IEnumerable<T>`, `T[]` | `T[]` |
351
- | `string?` | `string \| null` |
442
+ ### Primitives & Common Types
443
+
444
+ | C# Type | TypeScript Type |
445
+ | --------------------------------------------------- | --------------- |
446
+ | `bool` | `boolean` |
447
+ | `byte`, `decimal`, `double`, `float`, `int`, `long` | `number` |
448
+ | `DateTime`, `DateOnly`, `TimeOnly` | `string` |
449
+ | `Guid`, `string` | `string` |
450
+ | `object` | `any` |
451
+
452
+ ### Collections
453
+
454
+ | C# Type | TypeScript Type |
455
+ | -------------------------------------------------------------------- | --------------- |
456
+ | `List<T>`, `ICollection<T>`, `IEnumerable<T>`, `T[]` | `T[]` |
457
+ | `Dictionary<K, V>`, `IDictionary<K, V>`, `IReadOnlyDictionary<K, V>` | `Record<K, V>` |
458
+
459
+ ### ASP.NET / File Types
460
+
461
+ | C# Type | TypeScript Type |
462
+ | -------------------------------------- | --------------- |
463
+ | `IFormFile`, `FormFile` | `File` |
464
+ | `IFormFileCollection` | `File[]` |
465
+ | `FileStream`, `MemoryStream`, `Stream` | `Blob` |
352
466
 
353
467
  ## Programmatic Usage
354
468
 
@@ -369,10 +483,6 @@ generateTypes();
369
483
  - Node.js >= 14
370
484
  - TypeScript >= 4.5 (if using TypeScript config)
371
485
 
372
- <!-- ## Contributing
373
-
374
- Contributions are welcome! Please feel free to submit a Pull Request. -->
375
-
376
486
  ## License
377
487
 
378
488
  MIT Β© Siyavuya Chagi
package/dist/cli/index.js CHANGED
@@ -31,7 +31,7 @@ program
31
31
  program
32
32
  .command('init')
33
33
  .description('Create a sample configuration file')
34
- .option('-f, --format <format>', 'Configuration file format (ts, js, json)', 'json') // default to 'json'
34
+ .option('-f, --format <format>', 'Configuration file format (ts, js, json)', 'ts') // default to 'ts'
35
35
  .action((options) => {
36
36
  try {
37
37
  const format = options.format;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kCAAuD;AACvD,kDAA0B;AAE1B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,mEAAmE,CAAC;KAChF,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEhC,6BAA6B;AAC7B,OAAO;KACJ,OAAO,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACxC,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,eAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,EAAE,MAAM,CAAC,CAAC,oBAAoB;KACxG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8B,CAAC;QAEtD,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kCAAuD;AACvD,kDAA0B;AAE1B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,mEAAmE,CAAC;KAChF,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAEhC,6BAA6B;AAC7B,OAAO;KACJ,OAAO,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KACxC,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,eAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,EAAE,IAAI,CAAC,CAAC,kBAAkB;KACpG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,MAA8B,CAAC;QAEtD,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAA,yBAAkB,EAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -12,5 +12,5 @@ export declare function loadConfig(configPath?: string): TypeSharpConfig;
12
12
  /**
13
13
  * Create a sample configuration file
14
14
  */
15
- export declare function createSampleConfig(format?: 'ts' | 'js' | 'json'): void;
15
+ export declare function createSampleConfig(format: 'ts' | 'js' | 'json'): void;
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuD5D,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEjE;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QAiB/C;AAUD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,CAqB/D;AA2CD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,IAAI,GAAG,IAAI,GAAG,MAAe,GAAG,IAAI,CAwC9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAuD5D,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEjE;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QAiB/C;AAUD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,CAqB/D;AA2CD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAwCrE"}
@@ -51,7 +51,7 @@ const chalk_1 = __importDefault(require("chalk"));
51
51
  const DEFAULT_CONFIG = {
52
52
  targetAnnotation: 'TypeSharp',
53
53
  singleOutputFile: false,
54
- fileNamingConvention: 'kebab',
54
+ // fileNamingConvention: 'kebab',
55
55
  namingConvention: 'camel'
56
56
  };
57
57
  /**
@@ -221,7 +221,7 @@ function validateConfig(config) {
221
221
  /**
222
222
  * Create a sample configuration file
223
223
  */
224
- function createSampleConfig(format = 'json') {
224
+ function createSampleConfig(format) {
225
225
  const sampleConfig = {
226
226
  // Show array format as example
227
227
  projectFiles: [
@@ -231,8 +231,8 @@ function createSampleConfig(format = 'json') {
231
231
  outputPath: './app/types',
232
232
  targetAnnotation: 'TypeSharp',
233
233
  singleOutputFile: false,
234
- fileNamingConvention: 'kebab',
235
234
  namingConvention: 'camel',
235
+ fileSuffix: ''
236
236
  };
237
237
  let fileName;
238
238
  let content;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,4BAiEC;AAaD,oDAiBC;AAaD,gCAqBC;AA8CD,gDAwCC;AAnRD,uCAAyB;AACzB,2CAA6B;AAC7B,sCAA6C;AAC7C,4CAAuD;AACvD,kDAA0B;AAG1B;;GAEG;AACH,MAAM,cAAc,GAA6B;IAC/C,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,KAAK;IACvB,oBAAoB,EAAE,OAAO;IAC7B,gBAAgB,EAAE,OAAO;CAC1B,CAAC;AAEF;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACnC,2DAA2D;QAC3D,8DAA8D;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC;QAChD,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAgC;IACzD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,MAAM;KACS,CAAC;AACvB,CAAC;AAIM,KAAK,UAAU,QAAQ,CAAC,UAAmB;IAChD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAExE,qBAAqB;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAE1D,wBAAwB;QACxB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,YAAY;YACrB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;YAC1E,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC3D,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAG3D,yBAAyB;QACzB,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAGxC,mCAAmC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC7G,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,MAAM,oBAAoB,MAAM,CAAC,gBAAgB,aAAa,CAAC,CAAC,CAAC;QAEpH,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACnE,IAAA,mCAAuB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAM;IAE/B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAEnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,eAAK,CAAC,aAAa,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAEnC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAUD;;GAEG;AACH,SAAgB,UAAU,CAAC,UAAmB;IAC5C,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG;QACnB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;KACxB,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;AACJ,CAAC;AAGD;;GAEG;AACH,SAAS,cAAc,CAAC,MAAuB;IAC7C,uDAAuD;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,YAAY;QACrB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAE1B,6BAA6B;IAC7B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACzC,yBAAyB;QACzB,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,qDAAqD,CAAC,EAAE,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1J,CAAC;IACH,CAAC;AACH,CAAC;AAGD;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAA+B,MAAM;IACtE,MAAM,YAAY,GAAoB;QACpC,+BAA+B;QAC/B,YAAY,EAAE;YACZ,4CAA4C;YAC5C,kDAAkD;SACnD;QACD,UAAU,EAAE,aAAa;QACzB,gBAAgB,EAAE,WAAW;QAC7B,gBAAgB,EAAE,KAAK;QACvB,oBAAoB,EAAE,OAAO;QAC7B,gBAAgB,EAAE,OAAO;KAC1B,CAAC;IAEF,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAe,CAAC;IAEpB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,QAAQ,GAAG,uBAAuB,CAAC;QACnC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,QAAQ,GAAG,qBAAqB,CAAC;QACjC,OAAO,GAAG,oBAAoB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,qBAAqB,CAAC;QACjC,OAAO,GAAG;;kCAEoB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;;;CAGtE,CAAC;IACA,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,GAAG,QAAQ,qCAAqC,CAAC,CAAC,CAAC;QAC5G,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,eAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7D;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,WAAW,EAAE,GAC1B,IAAI,CAcN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7D;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,WAAW,EAAE,GAC1B,IAAI,CAgBN"}
@@ -45,12 +45,14 @@ const chalk_1 = __importDefault(require("chalk"));
45
45
  */
46
46
  function generateTypeScriptFiles(config, parseResults) {
47
47
  const outputPath = config.outputPath;
48
+ // Convention output type
49
+ const fileConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.file ?? 'camel';
48
50
  if (!fs.existsSync(outputPath)) {
49
51
  fs.mkdirSync(outputPath, { recursive: true });
50
52
  }
51
53
  if (config.singleOutputFile) {
52
54
  const allClasses = parseResults.flatMap(r => r.classes);
53
- generateSingleFile(allClasses, outputPath, config);
55
+ generateSingleFile(allClasses, outputPath);
54
56
  }
55
57
  else {
56
58
  // Generate one TypeScript file per C# file (preserves grouping)
@@ -60,9 +62,10 @@ function generateTypeScriptFiles(config, parseResults) {
60
62
  /**
61
63
  * Generate a single file with all types
62
64
  */
63
- function generateSingleFile(classes, outputPath, config) {
65
+ function generateSingleFile(classes, outputPath) {
64
66
  const content = classes
65
- .map(cls => generateTypeScriptClass(cls, config))
67
+ .sort((a, b) => (a.isEnum ? -1 : 1) - (b.isEnum ? -1 : 1) || a.name.localeCompare(b.name)) // Sort by type or name - Asc order
68
+ .map(cls => generateTypeScriptClass(cls))
66
69
  .join('\n\n');
67
70
  const header = generateFileHeader();
68
71
  const fullContent = `${header}\n\n${content}\n`;
@@ -72,20 +75,27 @@ function generateSingleFile(classes, outputPath, config) {
72
75
  console.log(chalk_1.default.whiteBright(` - Generated:`), chalk_1.default.blue(filePath));
73
76
  }
74
77
  /**
75
- * Generate multiple files - one TypeScript file per C# source file
78
+ * Generate multiple files - one TypeScript file per C# source file.
76
79
  * This preserves the original grouping of classes
77
80
  */
78
81
  function generateMultipleFiles(outputPath, config, parseResults) {
82
+ // Convention output type
83
+ const dirConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.dir ?? 'snake';
84
+ const fileConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.file ?? 'camel';
79
85
  // Build a map of class names to their file paths for import resolution
80
- const classToFileMap = buildClassToFileMap(parseResults, config, outputPath);
81
- for (const result of parseResults) {
86
+ const classToFileMap = buildClassToFileMap(parseResults, config, outputPath, fileConvention);
87
+ // Sort results by path - Asc order
88
+ const parseResultsSorted = parseResults.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
89
+ for (const result of parseResultsSorted) {
82
90
  // Generate content for all classes in this C# file
83
91
  const content = result.classes
84
- .map(cls => generateTypeScriptClass(cls, config))
92
+ .map(cls => generateTypeScriptClass(cls))
85
93
  .join('\n\n');
86
94
  // Preserve folder structure
87
95
  const relativeDir = path.dirname(result.relativePath);
88
- const targetDir = path.join(outputPath, relativeDir);
96
+ const appDir = path.join(outputPath, relativeDir);
97
+ // Convert dir with configued conventions
98
+ const targetDir = convertDirName(appDir, dirConvention);
89
99
  // Create directory if needed
90
100
  if (!fs.existsSync(targetDir)) {
91
101
  fs.mkdirSync(targetDir, { recursive: true });
@@ -95,28 +105,28 @@ function generateMultipleFiles(outputPath, config, parseResults) {
95
105
  // Apply file suffix if configured
96
106
  let baseName = originalFileName;
97
107
  if (config.fileSuffix) {
98
- const convention = config.fileNamingConvention || 'kebab';
99
- const suffix = convertFileName(config.fileSuffix, convention);
100
- baseName = `${baseName}-${suffix}`;
108
+ // Capitalize the 1st character for better convention
109
+ const suffix = config.fileSuffix.charAt(0).toUpperCase() + config.fileSuffix.slice(1);
110
+ baseName = `${baseName}${suffix}`;
101
111
  }
102
112
  // Apply naming convention to the filename
103
- const fileName = convertFileName(baseName, config.fileNamingConvention || 'kebab');
113
+ const fileName = convertFileName(baseName, fileConvention);
104
114
  const filePath = path.join(targetDir, `${fileName}.ts`);
105
115
  // Generate imports for this file
106
116
  const currentClassNames = result.classes.map(c => c.name);
107
- const imports = generateImports(result.classes, classToFileMap, filePath, currentClassNames);
117
+ const imports = generateImports(result.classes, classToFileMap, filePath, currentClassNames, dirConvention);
108
118
  const header = generateFileHeader();
109
119
  const fullContent = imports
110
- ? `${header}\n\n${imports}\n\n${content}\n`
120
+ ? `${imports}\n\n${header}\n\n${content}\n`
111
121
  : `${header}\n\n${content}\n`;
112
122
  fs.writeFileSync(filePath, fullContent, 'utf-8');
113
- console.log(chalk_1.default.whiteBright(` - Generated:`), chalk_1.default.blue(filePath));
123
+ console.log(chalk_1.default.blue(` ↳`), chalk_1.default.blue(filePath));
114
124
  }
115
125
  }
116
126
  /**
117
127
  * Build a map of class names to their output file paths
118
128
  */
119
- function buildClassToFileMap(parseResults, config, outputPath) {
129
+ function buildClassToFileMap(parseResults, config, outputPath, namingConvension) {
120
130
  const map = new Map();
121
131
  for (const result of parseResults) {
122
132
  const relativeDir = path.dirname(result.relativePath);
@@ -124,11 +134,10 @@ function buildClassToFileMap(parseResults, config, outputPath) {
124
134
  const originalFileName = path.basename(result.relativePath, '.cs');
125
135
  let baseName = originalFileName;
126
136
  if (config.fileSuffix) {
127
- const convention = config.fileNamingConvention || 'kebab';
128
- const suffix = convertFileName(config.fileSuffix, convention);
137
+ const suffix = convertFileName(config.fileSuffix, namingConvension);
129
138
  baseName = `${baseName}-${suffix}`;
130
139
  }
131
- const fileName = convertFileName(baseName, config.fileNamingConvention || 'kebab');
140
+ const fileName = convertFileName(baseName, namingConvension);
132
141
  const filePath = path.join(targetDir, `${fileName}.ts`);
133
142
  // Map all classes in this file to this file path
134
143
  for (const cls of result.classes) {
@@ -140,7 +149,7 @@ function buildClassToFileMap(parseResults, config, outputPath) {
140
149
  /**
141
150
  * Generate import statements for referenced types
142
151
  */
143
- function generateImports(classes, classToFileMap, currentFilePath, currentClassNames) {
152
+ function generateImports(classes, classToFileMap, currentFilePath, currentClassNames, namingConvension) {
144
153
  const imports = new Map(); // filePath -> Set of class names
145
154
  for (const cls of classes) {
146
155
  // Skip enums as they don't have properties
@@ -178,7 +187,7 @@ function generateImports(classes, classToFileMap, currentFilePath, currentClassN
178
187
  // Generate import statements
179
188
  const importStatements = [];
180
189
  for (const [filePath, classNames] of imports.entries()) {
181
- const relativePath = getRelativeImportPath(currentFilePath, filePath);
190
+ const relativePath = getRelativeImportPath(currentFilePath, filePath, namingConvension);
182
191
  const sortedNames = Array.from(classNames).sort();
183
192
  importStatements.push(`import type { ${sortedNames.join(', ')} } from '${relativePath}';`);
184
193
  }
@@ -187,7 +196,7 @@ function generateImports(classes, classToFileMap, currentFilePath, currentClassN
187
196
  /**
188
197
  * Get relative import path from one file to another
189
198
  */
190
- function getRelativeImportPath(fromFile, toFile) {
199
+ function getRelativeImportPath(fromFile, toFile, namingConvension) {
191
200
  const fromDir = path.dirname(fromFile);
192
201
  let relativePath = path.relative(fromDir, toFile);
193
202
  // Remove .ts extension
@@ -196,6 +205,8 @@ function getRelativeImportPath(fromFile, toFile) {
196
205
  if (!relativePath.startsWith('.')) {
197
206
  relativePath = './' + relativePath;
198
207
  }
208
+ // Convert dir naming
209
+ relativePath = convertDirName(relativePath, namingConvension);
199
210
  // Convert Windows backslashes to forward slashes
200
211
  relativePath = relativePath.replace(/\\/g, '/');
201
212
  return relativePath;
@@ -210,11 +221,11 @@ function isPrimitiveType(type) {
210
221
  /**
211
222
  * Generate TypeScript interface or enum from C# class
212
223
  */
213
- function generateTypeScriptClass(cls, config) {
224
+ function generateTypeScriptClass(cls) {
214
225
  if (cls.isEnum) {
215
226
  return generateEnum(cls);
216
227
  }
217
- return generateInterface(cls, config);
228
+ return generateInterface(cls);
218
229
  }
219
230
  /**
220
231
  * Generate TypeScript enum
@@ -229,9 +240,9 @@ function generateEnum(cls) {
229
240
  /**
230
241
  * Generate TypeScript interface
231
242
  */
232
- function generateInterface(cls, config) {
243
+ function generateInterface(cls) {
233
244
  const properties = cls.properties
234
- .map(prop => generateProperty(prop, config.namingConvention || 'camel'))
245
+ .map(prop => generateProperty(prop))
235
246
  .join('\n');
236
247
  // Build generic parameters for the interface
237
248
  const genericParams = cls.genericParameters && cls.genericParameters.length > 0
@@ -250,8 +261,8 @@ function generateInterface(cls, config) {
250
261
  /**
251
262
  * Generate a single property
252
263
  */
253
- function generateProperty(prop, convention) {
254
- const propertyName = convertPropertyName(prop.name, convention);
264
+ function generateProperty(prop) {
265
+ const propertyName = convertPropertyName(prop.name);
255
266
  let type = prop.type;
256
267
  // Handle arrays: append [] only when prop.isArray is true and the type does not already look like a Record or an array
257
268
  const alreadyArrayLike = /\[\]$/.test(type);
@@ -268,37 +279,51 @@ function generateProperty(prop, convention) {
268
279
  /**
269
280
  * Convert property name to specified convention
270
281
  */
271
- function convertPropertyName(name, convention) {
272
- switch (convention) {
273
- case 'camel':
274
- return toCamelCase(name);
275
- case 'pascal':
276
- return toPascalCase(name);
277
- case 'snake':
278
- return toSnakeCase(name);
279
- case 'kebab':
280
- return toKebabCase(name);
281
- default:
282
- return name;
283
- }
282
+ function convertPropertyName(name) {
283
+ return toCamelCase(name);
284
+ // switch (convention) {
285
+ // case 'camel':
286
+ // return toCamelCase(name);
287
+ // case 'pascal':
288
+ // return toPascalCase(name);
289
+ // case 'snake':
290
+ // return toSnakeCase(name);
291
+ // default:
292
+ // return name;
293
+ // }
284
294
  }
285
295
  /**
286
296
  * Convert file name to specified convention
287
297
  */
288
298
  function convertFileName(name, convention) {
289
299
  switch (convention) {
290
- case 'kebab':
291
- return toKebabCase(name);
292
- case 'snake':
293
- return toSnakeCase(name);
294
300
  case 'camel':
295
301
  return toCamelCase(name);
302
+ case 'kebab':
303
+ return toKebabCase(name);
296
304
  case 'pascal':
297
305
  return toPascalCase(name);
306
+ case 'snake':
307
+ return toSnakeCase(name);
298
308
  default:
299
309
  return name;
300
310
  }
301
311
  }
312
+ const convertDirName = (dir, convension) => {
313
+ try {
314
+ const splitter = path.sep;
315
+ const segments = dir.split(splitter);
316
+ const formatted = segments.map((segment) => {
317
+ return convertFileName(segment, convension);
318
+ });
319
+ const joined = formatted.join(splitter);
320
+ return joined;
321
+ }
322
+ catch (error) {
323
+ console.error('Error converting dir name', error);
324
+ throw error;
325
+ }
326
+ };
302
327
  /**
303
328
  * Convert string to camelCase
304
329
  */
@@ -319,18 +344,16 @@ function toPascalCase(str) {
319
344
  */
320
345
  function toSnakeCase(str) {
321
346
  return str
322
- .replace(/([A-Z])/g, '_$1')
323
- .toLowerCase()
324
- .replace(/^_/, '');
347
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
348
+ .toLowerCase();
325
349
  }
326
350
  /**
327
351
  * Convert string to kebab-case
328
352
  */
329
353
  function toKebabCase(str) {
330
354
  return str
331
- .replace(/([A-Z])/g, '-$1')
332
- .toLowerCase()
333
- .replace(/^-/, '');
355
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
356
+ .toLowerCase();
334
357
  }
335
358
  /**
336
359
  * Generate file header comment
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,8 @@ function parseClassesFromFile(content, targetAnnotation) {
75
75
  // Remove comments
76
76
  const cleanContent = removeComments(content);
77
77
  // Find all classes/enums with the target annotation
78
- const annotationRegex = new RegExp(`\\[${targetAnnotation}\\]`, 'g');
78
+ const annotationRegex = new RegExp(`\\[${targetAnnotation}(Attribute)?\\]`, // support 'Attribute; suffix
79
+ 'g');
79
80
  const matches = [...cleanContent.matchAll(annotationRegex)];
80
81
  for (const match of matches) {
81
82
  const startIndex = match.index;
@@ -165,26 +166,31 @@ function extractClassBody(content) {
165
166
  */
166
167
  function parseProperties(classBody) {
167
168
  const properties = [];
169
+ let match;
168
170
  // Match property declarations with get/set
169
171
  const propertyRegex = /public\s+([\w<>[\]?]+)\s+(\w+)\s*\{\s*get;\s*set;\s*\}/g;
170
- let match;
171
172
  while ((match = propertyRegex.exec(classBody)) !== null) {
172
173
  const type = match[1];
173
174
  const name = match[2];
174
175
  properties.push(parsePropertyType(name, type));
175
176
  }
176
177
  // Also match computed/expression-bodied properties (with =>)
177
- // These are read-only, so we'll skip them for now since they don't have set;
178
- // If you want to include them, uncomment below:
179
- /*
180
178
  const computedPropertyRegex = /public\s+([\w<>[\]?]+)\s+(\w+)\s*=>/g;
181
179
  while ((match = computedPropertyRegex.exec(classBody)) !== null) {
182
- const type = match[1]!;
183
- const name = match[2]!;
184
-
185
- properties.push(parsePropertyType(name, type));
180
+ const type = match[1];
181
+ const name = match[2];
182
+ properties.push(parsePropertyType(name, type));
183
+ }
184
+ // { get { return ...; } }
185
+ const getBlockRegex = /public\s+([\w<>[\]?]+)\s+(\w+)\s*\{\s*get\s*\{[^}]*\}\s*\}/g;
186
+ while ((match = getBlockRegex.exec(classBody)) !== null) {
187
+ properties.push(parsePropertyType(match[2], match[1]));
186
188
  }
187
- */
189
+ // { get; set; } and { get; init; }
190
+ // const autoPropertyRegex = /public\s+([\w<>[\]?]+)\s+(\w+)\s*\{\s*get;\s*(?:set|init);\s*\}/g;
191
+ // while ((match = autoPropertyRegex.exec(classBody)) !== null) {
192
+ // properties.push(parsePropertyType(match[2]!, match[1]!));
193
+ // }
188
194
  return properties;
189
195
  }
190
196
  /**
@@ -312,18 +318,26 @@ function parsePropertyType(name, csType) {
312
318
  */
313
319
  function mapCSharpTypeToTypeScript(csType) {
314
320
  const typeMap = {
315
- 'string': 'string',
316
- 'int': 'number',
317
- 'long': 'number',
318
- 'double': 'number',
319
- 'float': 'number',
320
- 'decimal': 'number',
321
321
  'bool': 'boolean',
322
- 'DateTime': 'string',
322
+ 'byte': 'number',
323
+ 'byte[]': 'Blob',
324
+ 'decimal': 'number',
325
+ 'double': 'number',
323
326
  'DateOnly': 'string',
324
- 'TimeOnly': 'string',
327
+ 'DateTime': 'string',
328
+ 'float': 'number',
329
+ 'FileStream': 'Blob',
330
+ 'FormFile': 'File',
325
331
  'Guid': 'string',
326
- 'object': 'any'
332
+ 'int': 'number',
333
+ 'IFormFile': 'File',
334
+ 'IFormFileCollection': 'File[]',
335
+ 'long': 'number',
336
+ 'MemoryStream': 'Blob',
337
+ 'object': 'any',
338
+ 'string': 'string',
339
+ 'Stream': 'Blob',
340
+ 'TimeOnly': 'string',
327
341
  };
328
342
  return typeMap[csType] || csType;
329
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NamingConvention } from "./typesharp-config";
1
+ import { NamingConvention, NamingConventionConfig } from "./typesharp-config";
2
2
  import { TypeSharpConfig } from "./typesharp-config";
3
3
  /**
4
4
  * Parsed C# property
@@ -40,4 +40,5 @@ export interface GenerationOptions {
40
40
  }
41
41
  export type { TypeSharpConfig };
42
42
  export type { NamingConvention };
43
+ export type { NamingConventionConfig };
43
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAGD,YAAY,EAAE,eAAe,EAAE,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAGD,YAAY,EAAE,eAAe,EAAE,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAChC,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * TypeSharp configuration
3
+ * @see https://github.com/siyavuyachagi/typesharp
3
4
  */
4
5
  export interface TypeSharpConfig {
5
6
  /**
@@ -28,23 +29,26 @@ export interface TypeSharpConfig {
28
29
  * Controls whether generated types are written to one file or multiple files.
29
30
  *
30
31
  * - true β†’ All generated types go into a single file: "index.ts"
31
- * - false β†’ Each type is written to its own file, using the naming convention.
32
+ * - false β†’ Each file is written separately, using the naming convention.
32
33
  * The original folder structure is preserved in the output.
33
34
  */
34
35
  singleOutputFile?: boolean;
35
- /**
36
- * Naming convention for generated file names
37
- */
38
- fileNamingConvention?: NamingConvention;
39
36
  /**
40
37
  * Naming convention for property names in generated types
38
+ * @example
39
+ * "namingConvention": "camel",
40
+ * // or
41
+ * "namingConvention": {
42
+ * dir: 'kebab',
43
+ * file: 'camel',
44
+ * }
41
45
  */
42
- namingConvention?: NamingConvention;
46
+ namingConvention?: NamingConvention | NamingConventionConfig;
43
47
  /**
44
48
  * Suffix appended to generated TypeScript type names.
45
49
  * The suffix is formatted based on the selected naming convention.
46
50
  * ```
47
- * Examples (suffix = "Dto"):
51
+ * Examples (suffix = "dto"):
48
52
  * camel : User -> userDto
49
53
  * pascal: User -> UserDto
50
54
  * snake : User -> user_dto
@@ -54,7 +58,14 @@ export interface TypeSharpConfig {
54
58
  fileSuffix?: string;
55
59
  }
56
60
  /**
57
- * Naming convention options for file and property names
61
+ * Naming convention options for path, file and property names
58
62
  */
59
63
  export type NamingConvention = 'kebab' | 'snake' | 'camel' | 'pascal';
64
+ /**
65
+ * More specific naming convension configuration
66
+ */
67
+ export type NamingConventionConfig = {
68
+ file: NamingConvention;
69
+ dir: NamingConvention;
70
+ };
60
71
  //# sourceMappingURL=typesharp-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typesharp-config.d.ts","sourceRoot":"","sources":["../../src/types/typesharp-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAE5B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEhC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;IAExC;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"typesharp-config.d.ts","sourceRoot":"","sources":["../../src/types/typesharp-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE5B;;;;;;;;;;;;OAYG;IACH,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEhC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAO3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,CAAC;IAE7D;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,gBAAgB,CAAC;CACzB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@siyavuyachagi/typesharp",
3
3
  "description": "Generate TypeScript types from C# models with TypeSharp attribute",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "license": "MIT",
6
6
  "author": "Siyavuya Chagi <syavuya08@gmail.com>",
7
7
  "repository": {
@@ -16,6 +16,7 @@
16
16
  },
17
17
  "type": "commonjs",
18
18
  "files": [
19
+ "bin",
19
20
  "dist",
20
21
  "README.md",
21
22
  "LICENSE"