@siyavuyachagi/typesharp 0.1.6 → 0.2.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.
Files changed (52) hide show
  1. package/README.md +40 -23
  2. package/dist/cli/index.js +23 -15
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/core/create-sample-config.d.ts.map +1 -1
  5. package/dist/core/create-sample-config.js +3 -3
  6. package/dist/core/create-sample-config.js.map +1 -1
  7. package/dist/core/index.d.ts.map +1 -1
  8. package/dist/core/index.js +17 -55
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/watch.d.ts +11 -0
  11. package/dist/core/watch.d.ts.map +1 -0
  12. package/dist/core/watch.js +82 -0
  13. package/dist/core/watch.js.map +1 -0
  14. package/dist/generator/generate-enum.d.ts +6 -0
  15. package/dist/generator/generate-enum.d.ts.map +1 -0
  16. package/dist/generator/generate-enum.js +26 -0
  17. package/dist/generator/generate-enum.js.map +1 -0
  18. package/dist/generator/generate-union-enum.d.ts +6 -0
  19. package/dist/generator/generate-union-enum.d.ts.map +1 -0
  20. package/dist/generator/generate-union-enum.js +13 -0
  21. package/dist/generator/generate-union-enum.js.map +1 -0
  22. package/dist/generator/index.d.ts +5 -1
  23. package/dist/generator/index.d.ts.map +1 -1
  24. package/dist/generator/index.js +23 -20
  25. package/dist/generator/index.js.map +1 -1
  26. package/dist/helpers/change-tracker.d.ts.map +1 -1
  27. package/dist/helpers/change-tracker.js.map +1 -1
  28. package/dist/helpers/watcher.d.ts +4 -0
  29. package/dist/helpers/watcher.d.ts.map +1 -0
  30. package/dist/helpers/watcher.js +5 -0
  31. package/dist/helpers/watcher.js.map +1 -0
  32. package/dist/parser/index.d.ts +28 -0
  33. package/dist/parser/index.d.ts.map +1 -1
  34. package/dist/parser/index.js +64 -2
  35. package/dist/parser/index.js.map +1 -1
  36. package/dist/parser/parse-classes-from-file.d.ts.map +1 -1
  37. package/dist/parser/parse-classes-from-file.js +33 -3
  38. package/dist/parser/parse-classes-from-file.js.map +1 -1
  39. package/dist/parser/parse-properties.js +3 -3
  40. package/dist/parser/parse-properties.js.map +1 -1
  41. package/dist/parser/resolve-project-files-from-source.d.ts.map +1 -1
  42. package/dist/parser/resolve-project-files-from-source.js +4 -1
  43. package/dist/parser/resolve-project-files-from-source.js.map +1 -1
  44. package/dist/scripts/pre-unistall.d.ts +2 -0
  45. package/dist/scripts/pre-unistall.d.ts.map +1 -0
  46. package/dist/scripts/pre-unistall.js +10 -0
  47. package/dist/scripts/pre-unistall.js.map +1 -0
  48. package/dist/types/index.d.ts +2 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/typesharp-config.d.ts +0 -4
  51. package/dist/types/typesharp-config.d.ts.map +1 -1
  52. package/package.json +13 -4
package/README.md CHANGED
@@ -1,4 +1,8 @@
1
- # TypeSharp
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/siyavuyachagi/typesharp/watch-feature/public/BannerTransparent.svg" alt="TypeSharp" height="120" />
3
+ </p>
4
+
5
+ <p align='center'>
2
6
 
3
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
8
  [![npm version](https://img.shields.io/npm/v/@siyavuyachagi/typesharp.svg?label=Version)](https://www.npmjs.com/package/@siyavuyachagi/typesharp)
@@ -8,6 +12,8 @@
8
12
  [![GitHub stars](https://img.shields.io/github/stars/siyavuyachagi/typesharp?label=Stars)](https://github.com/siyavuyachagi/typesharp/stargazers)
9
13
  [![Sponsor](https://img.shields.io/badge/Sponsor-šŸ’–-ff69b4)](https://github.com/sponsors/siyavuyachagi)
10
14
 
15
+ </p>
16
+
11
17
  Generate TypeScript types from C# models with ease! TypeSharp scans your ASP.NET Core projects and automatically generates TypeScript interfaces from your C# classes and records decorated with the `[TypeSharp]` attribute.
12
18
 
13
19
  Project structure: [docs/project-structure](docs/project-structure.md)
@@ -129,7 +135,6 @@ This creates `typesharp.config.json`:
129
135
  "C:/Users/User/Desktop/MyApp/Domain/Domain.csproj"
130
136
  ],
131
137
  "outputPath": "./app/types",
132
- "targetAnnotation": "TypeSharp",
133
138
  "singleOutputFile": false,
134
139
  "namingConvention": "camel"
135
140
  }
@@ -139,12 +144,15 @@ This creates `typesharp.config.json`:
139
144
 
140
145
  ```bash
141
146
  npx typesharp
147
+ # OR
148
+ npx typesharp generate
142
149
 
143
- # ----- OR -------
150
+ # ----- With options -------
144
151
 
145
- npx typesharp generate
146
- # or with custom config
152
+ # custom config
147
153
  npx typesharp generate --config ./custom-config.ts
154
+ # force clean generation
155
+ npx typesharp generate --no-incremental
148
156
  ```
149
157
 
150
158
  For more advanced usage [docs/usage](docs/usage.md)
@@ -153,14 +161,13 @@ For more advanced usage [docs/usage](docs/usage.md)
153
161
 
154
162
  ### 1. Configuration Options
155
163
 
156
- | Option | Type | Default | Description |
157
- | ------------------ | ----------------------------------------- | ------------- | ------------------------------------------------------------- |
158
- | `source` | `string \| string[]` | _required_ | Full path(s) to your C# .csproj file(s) |
159
- | `outputPath` | `string` | _required_ | Where to generate TypeScript files |
160
- | `targetAnnotation` | `string` | `'TypeSharp'` | C# attribute name to look for |
161
- | `singleOutputFile` | `boolean` | `false` | Generate one file or multiple files (see below) |
162
- | `namingConvention` | `string \| { dir: string, file: string }` | `'camel'` | Property/file/dir naming: `kebab`, `camel`, `pascal`, `snake` |
163
- | `fileSuffix` | `string` | _optional_ | Suffix appended to generated file names: `user-dto.ts` |
164
+ | Option | Type | Default | Description |
165
+ | ------------------ | ----------------------------------------- | ---------- | ------------------------------------------------------------- |
166
+ | `source` | `string \| string[]` | _required_ | Full path(s) to your C# .csproj file(s) |
167
+ | `outputPath` | `string` | _required_ | Where to generate TypeScript files |
168
+ | `singleOutputFile` | `boolean` | `false` | Generate one file or multiple files (see below) |
169
+ | `namingConvention` | `string \| { dir: string, file: string }` | `'camel'` | Property/file/dir naming: `kebab`, `camel`, `pascal`, `snake` |
170
+ | `fileSuffix` | `string` | _optional_ | Suffix appended to generated file names: `user-dto.ts` |
164
171
 
165
172
  ### 2. Naming Convention
166
173
 
@@ -206,8 +213,8 @@ TypeSharp supports multiple configuration formats:
206
213
 
207
214
  ```javascript
208
215
  const config = {
209
- source: ["C:/Users/User/Desktop/MyApp/Domain/Domain.csproj"],
210
- outputPath: "./src/types",
216
+ source: ['C:/Users/User/Desktop/MyApp/Domain/Domain.csproj'],
217
+ outputPath: './src/types',
211
218
  };
212
219
 
213
220
  export default config;
@@ -524,8 +531,8 @@ export interface auth_response {
524
531
 
525
532
  ```typescript
526
533
  const config: TypeSharpConfig = {
527
- source: "./Backend/Backend.csproj",
528
- outputPath: "./src/types",
534
+ source: './Backend/Backend.csproj',
535
+ outputPath: './src/types',
529
536
  singleOutputFile: true,
530
537
  };
531
538
  ```
@@ -534,11 +541,11 @@ const config: TypeSharpConfig = {
534
541
 
535
542
  ```typescript
536
543
  const config: TypeSharpConfig = {
537
- source: "./Backend/Backend.csproj",
538
- outputPath: "./src/types",
544
+ source: './Backend/Backend.csproj',
545
+ outputPath: './src/types',
539
546
  namingConvention: {
540
- dir: "kebab",
541
- file: "camel",
547
+ dir: 'kebab',
548
+ file: 'camel',
542
549
  },
543
550
  };
544
551
  ```
@@ -573,15 +580,25 @@ const config: TypeSharpConfig = {
573
580
  ## Programmatic Usage
574
581
 
575
582
  ```typescript
576
- import { generate } from "typesharp";
583
+ import { generate } from 'typesharp';
577
584
 
578
585
  async function generateTypes() {
579
- await generate("./path/to/config.ts");
586
+ await generate('./path/to/config.ts');
580
587
  }
581
588
 
582
589
  generateTypes();
583
590
  ```
584
591
 
592
+ ## Preview
593
+
594
+ ### Terminal Output
595
+
596
+ <img src="https://github.com/siyavuyachagi/typesharp/blob/main/public/images/terminal.png?raw=true" alt="TypeSharp" />
597
+
598
+ ### Test Results
599
+
600
+ <img src="./public/images/tests.png" alt="TypeSharp" />
601
+
585
602
  ## Requirements
586
603
 
587
604
  - Node.js >= 20
package/dist/cli/index.js CHANGED
@@ -4,6 +4,7 @@ import { generate } from '../core/index.js';
4
4
  import chalk from 'chalk';
5
5
  import pkg from '../../package.json' with { type: 'json' };
6
6
  import { createSampleConfig } from '../core/create-sample-config.js';
7
+ import { startWatch } from '../core/watch.js';
7
8
  const { version, name, description } = pkg;
8
9
  const program = new Command();
9
10
  program
@@ -11,21 +12,6 @@ program
11
12
  .description(description)
12
13
  .version(version)
13
14
  .usage('[command] [options]');
14
- // Generate command (default)
15
- program
16
- .command('generate', { isDefault: true })
17
- .description('Generate TypeScript types from C# files')
18
- .option('-c, --config <path>', 'Path to configuration file')
19
- .option('--no-incremental', 'Disable incremental generation (full clean)')
20
- .action(async (options) => {
21
- try {
22
- await generate(options.config, options.incremental !== false);
23
- process.exit(0);
24
- }
25
- catch (error) {
26
- process.exit(1);
27
- }
28
- });
29
15
  // Init command
30
16
  program
31
17
  .command('init')
@@ -48,5 +34,27 @@ program
48
34
  process.exit(1);
49
35
  }
50
36
  });
37
+ // Generate command (default)
38
+ program
39
+ .command('generate', { isDefault: true })
40
+ .description('Generate TypeScript types from C# files')
41
+ .option('-c, --config <path>', 'Path to configuration file')
42
+ .option('--no-incremental', 'Disable incremental generation (full clean)')
43
+ .option('-w, --watch', 'Watch for file changes and re-run generation')
44
+ .action(async (options) => {
45
+ try {
46
+ const incremental = options.incremental !== false;
47
+ if (options.watch) {
48
+ await startWatch(options.config, incremental);
49
+ }
50
+ else {
51
+ await generate(options.config, incremental);
52
+ }
53
+ process.exit(0);
54
+ }
55
+ catch (error) {
56
+ process.exit(1);
57
+ }
58
+ });
51
59
  program.parse();
52
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,WAAW,CAAC,WAAW,CAAC;KACxB,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,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;QAC9D,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,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kBAAkB,CAAC,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,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-sample-config.d.ts","sourceRoot":"","sources":["../../src/core/create-sample-config.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,MAAM,KAAG,IA2CjE,CAAA"}
1
+ {"version":3,"file":"create-sample-config.d.ts","sourceRoot":"","sources":["../../src/core/create-sample-config.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,MAAM,KAAG,IA0CjE,CAAA"}
@@ -9,7 +9,6 @@ export const createSampleConfig = (format) => {
9
9
  'C:/Users/User/Desktop/MyApp/MyApp.sln',
10
10
  ],
11
11
  outputPath: './app/types',
12
- targetAnnotation: 'TypeSharp',
13
12
  singleOutputFile: false,
14
13
  namingConvention: 'camel',
15
14
  fileSuffix: ''
@@ -26,7 +25,7 @@ export const createSampleConfig = (format) => {
26
25
  }
27
26
  else {
28
27
  fileName = 'typesharp.config.ts';
29
- let namespace = '@siyavuyachagi/typesharp';
28
+ const namespace = '@siyavuyachagi/typesharp';
30
29
  content = [
31
30
  `import type { TypeSharpConfig } from '${namespace}';`,
32
31
  ``,
@@ -43,11 +42,12 @@ export const createSampleConfig = (format) => {
43
42
  return;
44
43
  }
45
44
  fs.writeFileSync(fileName, content, 'utf-8');
46
- console.log(chalk.green.bold('āœ… Created'), chalk.white(`./${fileName}`));
45
+ console.log(chalk.gray('└── ') + chalk.blue(`./${fileName}`));
47
46
  };
48
47
  /**
49
48
  * Format a plain object as a JS/TS object literal (no quoted keys)
50
49
  */
50
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
51
51
  const formatAsJsObject = (obj, indent = 0) => {
52
52
  const pad = ' '.repeat(indent + 2);
53
53
  const closePad = ' '.repeat(indent);
@@ -1 +1 @@
1
- {"version":3,"file":"create-sample-config.js","sourceRoot":"","sources":["../../src/core/create-sample-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-sample-config.js","sourceRoot":"","sources":["../../src/core/create-sample-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAwD/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,OAAO,CAAC,eAAe,CAAC,KAAG,eAsBpE,CAAC;AAMF,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C9F;AAgDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QAiB/C;AAkCD;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAsD/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,OAAO,CAAC,eAAe,CAAC,KAAG,eAsBpE,CAAC;AAMF,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C9F;AAuCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,QAoB/C;AAkCD;;GAEG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB9E"}
@@ -4,12 +4,10 @@ import { parseCSharpFiles } from '../parser/index.js';
4
4
  import { convertFileName, generateTypeScriptFiles } from '../generator/index.js';
5
5
  import chalk from 'chalk';
6
6
  import { pathToFileURL } from 'url';
7
- import { resolveProjectFilesFromSource } from '../parser/resolve-project-files-from-source.js';
8
7
  /**
9
8
  * Default configuration values
10
9
  */
11
10
  const DEFAULT_CONFIG = {
12
- targetAnnotation: 'TypeSharp',
13
11
  singleOutputFile: false,
14
12
  namingConvention: 'camel'
15
13
  };
@@ -75,27 +73,27 @@ export async function generate(configPath, incremental = true) {
75
73
  const config = await loadConfig(configPath);
76
74
  console.log(chalk.green.bold('\nāœ“ Configuration loaded'));
77
75
  console.log(chalk.cyan(`-> Output:`), chalk.white(config.outputPath));
78
- console.log(chalk.cyan(`-> Annotation:`), chalk.white(`[${config.targetAnnotation}]`));
79
76
  console.log(chalk.cyan(`-> Single file:`), chalk.white(config.singleOutputFile));
77
+ console.log(chalk.cyan(`-> Naming convention:`), chalk.white(config.namingConvention));
80
78
  console.log(chalk.cyan('\nā§– Parsing C# files...'));
81
79
  const parseResults = await parseCSharpFiles(config);
82
80
  if (parseResults.length === 0) {
83
- console.warn(chalk.yellow.bold('ā— Warning:'), chalk.white(`No C# files found with [${config.targetAnnotation}] attribute\n`));
81
+ console.warn(chalk.yellow.bold('\nā— Warning:'), chalk.white(`No C# files found with [TypeSharp] attribute\n`));
84
82
  return;
85
83
  }
84
+ const allClasses = parseResults.flatMap(result => result.classes);
85
+ console.log(chalk.green.bold(`\nāœ“ Found ${allClasses.length} ${allClasses.length === 1 ? 'class' : 'classes'} with [TypeSharp] attribute`));
86
+ let metrics;
86
87
  if (incremental) {
87
88
  const changedFiles = await cleanOnlyChangedOutputFiles(config, parseResults);
88
- generateTypeScriptFiles(config, parseResults, changedFiles);
89
+ metrics = generateTypeScriptFiles(config, parseResults, changedFiles);
89
90
  }
90
91
  else {
91
92
  cleanOutputDirectory(config.outputPath);
92
- generateTypeScriptFiles(config, parseResults);
93
+ metrics = generateTypeScriptFiles(config, parseResults);
93
94
  }
94
- const allClasses = parseResults.flatMap(result => result.classes);
95
- console.log(chalk.green.bold(`āœ“ Found ${allClasses.length} class(es) with [${config.targetAnnotation}] attribute`));
96
- console.log(chalk.blue.cyan('\nā§– Generating TypeScript files...'));
97
- generateTypeScriptFiles(config, parseResults);
98
- console.log(chalk.green.bold('āœ… Generation completed successfully!\n'));
95
+ console.log(chalk.blue(`\nCreated: ${metrics.created} | Updated: ${metrics.updated} | Total files: ${metrics.total}`));
96
+ console.log(chalk.green.bold('\nāœ“ Generation completed successfully!'));
99
97
  }
100
98
  catch (error) {
101
99
  if (error instanceof Error) {
@@ -115,17 +113,10 @@ async function cleanOnlyChangedOutputFiles(config, parseResults) {
115
113
  const csharpFiles = parseResults.map(r => r.filePath);
116
114
  const previousHashes = loadPreviousHashes();
117
115
  const { changed, deleted } = getChangedFiles(csharpFiles, previousHashes);
118
- console.log('\nšŸ” Change Detection:');
119
- if (changed.length > 0) {
120
- console.log(chalk.yellow(` Changed files: ${changed.length}`));
121
- changed.forEach((f) => console.log(chalk.yellow(` ↳ ${f}`)));
122
- }
123
116
  if (deleted.length > 0) {
124
- console.log(chalk.red(` Deleted files: ${deleted.length}`));
125
- deleted.forEach((f) => console.log(chalk.red(` ↳ ${f}`)));
126
- }
127
- for (const deletedFile of deleted) {
128
- removeCorrespondingTsFile(config, deletedFile);
117
+ for (const deletedFile of deleted) {
118
+ removeCorrespondingTsFile(config, deletedFile);
119
+ }
129
120
  }
130
121
  const currentHashes = new Map();
131
122
  for (const file of csharpFiles) {
@@ -142,10 +133,12 @@ export function cleanOutputDirectory(dir) {
142
133
  if (!fs.existsSync(dir))
143
134
  return;
144
135
  const entries = fs.readdirSync(dir);
145
- console.log('\nRemoving:');
146
- for (const entry of entries) {
136
+ console.log(chalk.cyan('\nā§– Clearing output directory:'));
137
+ for (const [index, entry] of entries.entries()) {
147
138
  const fullPath = path.join(dir, entry);
148
- console.log(chalk.red('-', chalk.strikethrough(`${fullPath}`)));
139
+ const isLast = index === entries.length - 1;
140
+ const tree = chalk.gray(isLast ? '└──' : 'ā”œā”€ā”€');
141
+ console.log(tree, chalk.red('deleted'), chalk.gray(`${chalk.strikethrough(fullPath)}`));
149
142
  const stat = fs.lstatSync(fullPath);
150
143
  if (stat.isDirectory()) {
151
144
  fs.rmSync(fullPath, { recursive: true, force: true });
@@ -196,35 +189,4 @@ export async function loadConfig(configPath) {
196
189
  }
197
190
  throw new Error('No configuration file found. Please create typesharp.config.ts, typesharp.config.js, or typesharp.config.json');
198
191
  }
199
- /**
200
- * Validate configuration
201
- */
202
- function validateConfig(config) {
203
- // Convert single project to array for unified handling
204
- const projectFiles = resolveProjectFilesFromSource(config.source);
205
- // Validate each project file
206
- for (const projectFile of projectFiles) {
207
- if (!fs.existsSync(projectFile)) {
208
- throw new Error(`Project file does not exist: ${projectFile}`);
209
- }
210
- const stats = fs.statSync(projectFile);
211
- if (!stats.isFile()) {
212
- throw new Error(`Target path is not a file: ${projectFile}`);
213
- }
214
- if (!projectFile.endsWith('.csproj')) {
215
- throw new Error(`Target file is not a .csproj: ${projectFile}`);
216
- }
217
- }
218
- /**
219
- * Optional fields sanitization
220
- */
221
- if (config.targetAnnotation) {
222
- const original = config.targetAnnotation;
223
- // Remove spaces, [ and ]
224
- config.targetAnnotation = config.targetAnnotation.replace(/[ \[\]]/g, '');
225
- if (config.targetAnnotation !== original) {
226
- console.warn(chalk.yellow.bold('ā— Warning:'), chalk.white(`remove invalid characters (space, [ or ]) from your`), chalk.bold('targetAnnotation'), `\n`);
227
- }
228
- }
229
- }
230
192
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Start TypeSharp in watch mode.
3
+ * Runs an initial generation (respecting the incremental flag),
4
+ * then watches the entire project for any file change and re-runs
5
+ * incremental generation on each detected save.
6
+ *
7
+ * Note: fs.watch recursive mode requires Node >= 20 on Windows/macOS.
8
+ * Linux support requires Node >= 22.
9
+ */
10
+ export declare function startWatch(configPath: string | undefined, incremental: boolean): Promise<void>;
11
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"AAoBA;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DpG"}
@@ -0,0 +1,82 @@
1
+ import * as path from 'path';
2
+ import chalk from 'chalk';
3
+ import { generate, loadConfig } from './index.js';
4
+ import { watchDirectory } from '../helpers/watcher.js';
5
+ const DEBOUNCE_MS = 300;
6
+ const IGNORED_SEGMENTS = [
7
+ 'node_modules',
8
+ '.git',
9
+ '.typesharp',
10
+ 'dist',
11
+ 'build',
12
+ '.nuxt',
13
+ '.output',
14
+ '.next',
15
+ '.svelte-kit'
16
+ ];
17
+ /**
18
+ * Start TypeSharp in watch mode.
19
+ * Runs an initial generation (respecting the incremental flag),
20
+ * then watches the entire project for any file change and re-runs
21
+ * incremental generation on each detected save.
22
+ *
23
+ * Note: fs.watch recursive mode requires Node >= 20 on Windows/macOS.
24
+ * Linux support requires Node >= 22.
25
+ */
26
+ export async function startWatch(configPath, incremental) {
27
+ console.log(chalk.cyan.bold('\nšŸš€ TypeSharp - Starting watch mode...'));
28
+ // Initial generation — full or incremental depending on the flag
29
+ await generate(configPath, incremental);
30
+ // Load config so we can exclude the output directory from watch events
31
+ const config = await loadConfig(configPath);
32
+ const outputPath = path.resolve(config.outputPath);
33
+ const watchDir = process.cwd();
34
+ console.log(chalk.cyan('\nšŸ‘ Watching for changes...'));
35
+ console.log(chalk.gray(` Directory : ${watchDir}`));
36
+ console.log(chalk.gray(` Debounce : ${DEBOUNCE_MS}ms`));
37
+ console.log(chalk.gray(' Press Ctrl+C to stop\n'));
38
+ let debounceTimer = null;
39
+ let isGenerating = false;
40
+ const watcher = watchDirectory(watchDir, (_eventType, filename) => {
41
+ if (!filename)
42
+ return;
43
+ const absoluteFile = path.resolve(watchDir, filename);
44
+ // Ignore changes inside the output directory — prevents infinite loop
45
+ if (absoluteFile.startsWith(outputPath + path.sep) || absoluteFile === outputPath)
46
+ return;
47
+ const normalized = filename.replace(/\\/g, '/');
48
+ const segments = normalized.split('/');
49
+ // Ignore common non-source directories
50
+ if (segments.some(seg => IGNORED_SEGMENTS.includes(seg)))
51
+ return;
52
+ // Debounce — batch rapid saves (e.g. formatter running on save)
53
+ if (debounceTimer)
54
+ clearTimeout(debounceTimer);
55
+ debounceTimer = setTimeout(async () => {
56
+ if (isGenerating)
57
+ return;
58
+ isGenerating = true;
59
+ console.log(chalk.gray(`\nā§– Change detected: ${filename}`));
60
+ try {
61
+ // Always incremental after the initial run —
62
+ // hashing determines which C# files actually changed
63
+ await generate(configPath, true);
64
+ }
65
+ catch {
66
+ // generate() already logs the error — don't kill the watcher
67
+ }
68
+ finally {
69
+ isGenerating = false;
70
+ }
71
+ }, DEBOUNCE_MS);
72
+ });
73
+ // Graceful shutdown on Ctrl+C
74
+ process.on('SIGINT', () => {
75
+ console.log(chalk.yellow('\n\nšŸ‘‹ TypeSharp watch stopped.'));
76
+ watcher.close();
77
+ process.exit(0);
78
+ });
79
+ // Keep the process alive indefinitely
80
+ await new Promise(() => { });
81
+ }
82
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/core/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CSharpClass } from "../types/index.js";
2
+ /**
3
+ * Generate TypeScript enum
4
+ */
5
+ export declare function generateEnum(cls: CSharpClass): string;
6
+ //# sourceMappingURL=generate-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-enum.d.ts","sourceRoot":"","sources":["../../src/generator/generate-enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAWrD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Generate TypeScript enum
3
+ */
4
+ export function generateEnum(cls) {
5
+ if (cls.isUnion) {
6
+ return generateUnionEnum(cls);
7
+ }
8
+ const values = cls.enumValues || [];
9
+ const enumValues = values
10
+ .map(v => ` ${v} = '${v}'`)
11
+ .join(',\n');
12
+ return `export enum ${cls.name} {\n${enumValues}\n}`;
13
+ }
14
+ /**
15
+ * Generate a const object + union type from a [Union]-decorated enum
16
+ */
17
+ function generateUnionEnum(cls) {
18
+ const values = cls.enumValues || [];
19
+ const entries = values.map(v => ` ${v}: '${v}'`).join(',\n');
20
+ return [
21
+ `export const ${cls.name} = {\n${entries}\n} as const;`,
22
+ ``,
23
+ `export type ${cls.name} = typeof ${cls.name}[keyof typeof ${cls.name}];`
24
+ ].join('\n');
25
+ }
26
+ //# sourceMappingURL=generate-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-enum.js","sourceRoot":"","sources":["../../src/generator/generate-enum.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAgB;IAC3C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3B,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,eAAe,GAAG,CAAC,IAAI,OAAO,UAAU,KAAK,CAAC;AACvD,CAAC;AAID;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAgB;IACvC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO;QACH,gBAAgB,GAAG,CAAC,IAAI,SAAS,OAAO,eAAe;QACvD,EAAE;QACF,eAAe,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,IAAI;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CSharpClass } from "../types/index.js";
2
+ /**
3
+ * Generate a const object + union type from a [Union]-decorated enum
4
+ */
5
+ export declare function generateUnionEnum(cls: CSharpClass): string;
6
+ //# sourceMappingURL=generate-union-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-union-enum.d.ts","sourceRoot":"","sources":["../../src/generator/generate-union-enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAQ1D"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generate a const object + union type from a [Union]-decorated enum
3
+ */
4
+ export function generateUnionEnum(cls) {
5
+ const values = cls.enumValues || [];
6
+ const entries = values.map(v => ` ${v}: '${v}'`).join(',\n');
7
+ return [
8
+ `export const ${cls.name} = {\n${entries}\n} as const;`,
9
+ ``,
10
+ `export type ${cls.name} = typeof ${cls.name}[keyof typeof ${cls.name}];`
11
+ ].join('\n');
12
+ }
13
+ //# sourceMappingURL=generate-union-enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-union-enum.js","sourceRoot":"","sources":["../../src/generator/generate-union-enum.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAgB;IAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO;QACH,gBAAgB,GAAG,CAAC,IAAI,SAAS,OAAO,eAAe;QACvD,EAAE;QACF,eAAe,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,IAAI,IAAI;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
@@ -3,7 +3,11 @@ import type { ParseResult, TypeSharpConfig } from '../types/index.js';
3
3
  /**
4
4
  * Generate TypeScript files from parsed C# classes
5
5
  */
6
- export declare function generateTypeScriptFiles(config: TypeSharpConfig, parseResults: ParseResult[], changedFiles?: Set<string>): void;
6
+ export declare function generateTypeScriptFiles(config: TypeSharpConfig, parseResults: ParseResult[], changedFiles?: Set<string>): {
7
+ created: number;
8
+ updated: number;
9
+ total: number;
10
+ };
7
11
  /**
8
12
  * Convert file name to specified convention
9
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGtE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,WAAW,EAAE,EAC3B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,IAAI,CAaN;AA2YD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAalF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAItE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,WAAW,EAAE,EAC3B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAarD;AAsYD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAalF"}