@siyavuyachagi/typesharp 0.1.5 → 0.1.6

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 (45) hide show
  1. package/README.md +23 -14
  2. package/bin/typesharp.js +4 -1
  3. package/dist/cli/index.js +14 -18
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/core/create-sample-config.js +5 -45
  6. package/dist/core/create-sample-config.js.map +1 -1
  7. package/dist/core/index.d.ts +1 -1
  8. package/dist/core/index.d.ts.map +1 -1
  9. package/dist/core/index.js +66 -145
  10. package/dist/core/index.js.map +1 -1
  11. package/dist/generator/index.d.ts +3 -3
  12. package/dist/generator/index.d.ts.map +1 -1
  13. package/dist/generator/index.js +47 -63
  14. package/dist/generator/index.js.map +1 -1
  15. package/dist/helpers/change-tracker.js +7 -46
  16. package/dist/helpers/change-tracker.js.map +1 -1
  17. package/dist/index.d.ts +4 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -10
  20. package/dist/index.js.map +1 -1
  21. package/dist/parser/index.d.ts +2 -2
  22. package/dist/parser/index.d.ts.map +1 -1
  23. package/dist/parser/index.js +9 -45
  24. package/dist/parser/index.js.map +1 -1
  25. package/dist/parser/parse-classes-from-file.d.ts +1 -1
  26. package/dist/parser/parse-classes-from-file.d.ts.map +1 -1
  27. package/dist/parser/parse-classes-from-file.js +6 -9
  28. package/dist/parser/parse-classes-from-file.js.map +1 -1
  29. package/dist/parser/parse-properties.d.ts +1 -1
  30. package/dist/parser/parse-properties.d.ts.map +1 -1
  31. package/dist/parser/parse-properties.js +2 -6
  32. package/dist/parser/parse-properties.js.map +1 -1
  33. package/dist/parser/resolve-project-files-from-source.js +3 -39
  34. package/dist/parser/resolve-project-files-from-source.js.map +1 -1
  35. package/dist/types/index.d.ts +3 -3
  36. package/dist/types/index.d.ts.map +1 -1
  37. package/dist/types/index.js +1 -2
  38. package/dist/types/naming-convention-config.d.ts +1 -1
  39. package/dist/types/naming-convention-config.d.ts.map +1 -1
  40. package/dist/types/naming-convention-config.js +1 -2
  41. package/dist/types/naming-convention.js +1 -2
  42. package/dist/types/typesharp-config.d.ts +2 -2
  43. package/dist/types/typesharp-config.d.ts.map +1 -1
  44. package/dist/types/typesharp-config.js +1 -2
  45. package/package.json +7 -5
package/README.md CHANGED
@@ -193,7 +193,7 @@ TypeSharp preserves your C# file organization. Here's how it works:
193
193
 
194
194
  TypeSharp supports multiple configuration formats:
195
195
 
196
- **JSON** (`typesharp.config.json`): (recommended)
196
+ **JSON** (`typesharp.config.json`): ⭐ **recommended**
197
197
 
198
198
  ```json
199
199
  {
@@ -202,12 +202,10 @@ TypeSharp supports multiple configuration formats:
202
202
  }
203
203
  ```
204
204
 
205
- **TypeScript** (`typesharp.config.ts`):
206
-
207
- ```typescript
208
- import { TypeSharpConfig } from "typesharp";
205
+ **JavaScript** (`typesharp.config.js`):
209
206
 
210
- const config: TypeSharpConfig = {
207
+ ```javascript
208
+ const config = {
211
209
  source: ["C:/Users/User/Desktop/MyApp/Domain/Domain.csproj"],
212
210
  outputPath: "./src/types",
213
211
  };
@@ -215,14 +213,25 @@ const config: TypeSharpConfig = {
215
213
  export default config;
216
214
  ```
217
215
 
218
- **JavaScript** (`typesharp.config.js`):
216
+ **TypeScript** (`typesharp.config.ts`): ⚠️ **requires special setup**
219
217
 
220
- ```javascript
221
- module.exports = {
222
- source: ["C:/Users/User/Desktop/MyApp/Domain/Domain.csproj"],
223
- outputPath: "./src/types",
224
- };
225
- ```
218
+ TypeScript config files require one of the following approaches:
219
+
220
+ 1. Convert to JavaScript first (recommended):
221
+
222
+ ```bash
223
+ tsc typesharp.config.ts --module nodenext
224
+ ```
225
+
226
+ 2. Run with tsx loader:
227
+
228
+ ```bash
229
+ node --loader tsx/cjs ./node_modules/@siyavuyachagi/typesharp/bin/typesharp.js
230
+ ```
231
+
232
+ 3. Or use a `.js` config file instead (simplest)
233
+
234
+ If you prefer TypeScript configs, JSON format is the easiest alternative that provides type safety through JSDoc in most editors.
226
235
 
227
236
  ## Usage in package.json
228
237
 
@@ -591,4 +600,4 @@ MIT © Siyavuya Chagi
591
600
 
592
601
  ---
593
602
 
594
- Built with ❤️ in South Africa 🇿🇦
603
+ Built with ❤️ in South Africa 🇿🇦
package/bin/typesharp.js CHANGED
@@ -1,3 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- require('../dist/cli/index.js');
3
+ import('../dist/cli/index.js').catch(err => {
4
+ console.error(err);
5
+ process.exit(1);
6
+ });
package/dist/cli/index.js CHANGED
@@ -1,19 +1,15 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const commander_1 = require("commander");
8
- const core_1 = require("../core");
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const package_json_1 = require("../../package.json");
11
- const create_sample_config_1 = require("../core/create-sample-config");
12
- const program = new commander_1.Command();
2
+ import { Command } from 'commander';
3
+ import { generate } from '../core/index.js';
4
+ import chalk from 'chalk';
5
+ import pkg from '../../package.json' with { type: 'json' };
6
+ import { createSampleConfig } from '../core/create-sample-config.js';
7
+ const { version, name, description } = pkg;
8
+ const program = new Command();
13
9
  program
14
- .name(package_json_1.name)
15
- .description(package_json_1.description)
16
- .version(package_json_1.version)
10
+ .name(name)
11
+ .description(description)
12
+ .version(version)
17
13
  .usage('[command] [options]');
18
14
  // Generate command (default)
19
15
  program
@@ -23,7 +19,7 @@ program
23
19
  .option('--no-incremental', 'Disable incremental generation (full clean)')
24
20
  .action(async (options) => {
25
21
  try {
26
- await (0, core_1.generate)(options.config, options.incremental !== false);
22
+ await generate(options.config, options.incremental !== false);
27
23
  process.exit(0);
28
24
  }
29
25
  catch (error) {
@@ -39,15 +35,15 @@ program
39
35
  try {
40
36
  const format = options.format;
41
37
  if (!['ts', 'js', 'json'].includes(format)) {
42
- console.error(chalk_1.default.red.bold('❌ Invalid format.') + ' Use: ' + chalk_1.default.yellow('json, ts, ') + 'or' + chalk_1.default.yellow(' js'));
38
+ console.error(chalk.red.bold('❌ Invalid format.') + ' Use: ' + chalk.yellow('json, ts, ') + 'or' + chalk.yellow(' js'));
43
39
  process.exit(1);
44
40
  }
45
- (0, create_sample_config_1.createSampleConfig)(format);
41
+ createSampleConfig(format);
46
42
  process.exit(0);
47
43
  }
48
44
  catch (error) {
49
45
  if (error instanceof Error) {
50
- console.error(chalk_1.default.red.bold(`❌ Error:`), chalk_1.default.white(error.message));
46
+ console.error(chalk.red.bold(`❌ Error:`), chalk.white(error.message));
51
47
  }
52
48
  process.exit(1);
53
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kCAAmC;AACnC,kDAA0B;AAC1B,qDAAgE;AAChE,uEAAkE;AAClE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,mBAAI,CAAC;KACV,WAAW,CAAC,0BAAW,CAAC;KACxB,OAAO,CAAC,sBAAO,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,IAAA,eAAQ,EAAC,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,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,yCAAkB,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,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,48 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.createSampleConfig = void 0;
40
- const fs = __importStar(require("fs"));
41
- const chalk_1 = __importDefault(require("chalk"));
1
+ import * as fs from 'fs';
2
+ import chalk from "chalk";
42
3
  /**
43
4
  * Create a sample configuration file
44
5
  */
45
- const createSampleConfig = (format) => {
6
+ export const createSampleConfig = (format) => {
46
7
  const sampleConfig = {
47
8
  source: [
48
9
  'C:/Users/User/Desktop/MyApp/MyApp.sln',
@@ -78,13 +39,12 @@ const createSampleConfig = (format) => {
78
39
  const allConfigFiles = ['typesharp.config.ts', 'typesharp.config.js', 'typesharp.config.json'];
79
40
  const existingConfig = allConfigFiles.find(f => fs.existsSync(f));
80
41
  if (existingConfig) {
81
- console.log(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`${existingConfig} already exists. Skipping creation.`));
42
+ console.log(chalk.yellow.bold('❗ Warning:'), chalk.white(`${existingConfig} already exists. Skipping creation.`));
82
43
  return;
83
44
  }
84
45
  fs.writeFileSync(fileName, content, 'utf-8');
85
- console.log(chalk_1.default.green.bold('✅ Created'), chalk_1.default.white(`./${fileName}`));
46
+ console.log(chalk.green.bold('✅ Created'), chalk.white(`./${fileName}`));
86
47
  };
87
- exports.createSampleConfig = createSampleConfig;
88
48
  /**
89
49
  * Format a plain object as a JS/TS object literal (no quoted keys)
90
50
  */
@@ -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,4 +1,4 @@
1
- import { TypeSharpConfig } from '../types/typesharp-config';
1
+ import { TypeSharpConfig } from '../types/typesharp-config.js';
2
2
  /**
3
3
  * Merge user config with defaults
4
4
  */
@@ -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;AA8C5D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,OAAO,CAAC,eAAe,CAAC,KAAG,eAsBpE,CAAC;AAOF,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC9F;AAkHD;;;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;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,52 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.mergeWithDefaults = void 0;
40
- exports.generate = generate;
41
- exports.cleanOutputDirectory = cleanOutputDirectory;
42
- exports.loadConfig = loadConfig;
43
- const fs = __importStar(require("fs"));
44
- const path = __importStar(require("path"));
45
- const parser_1 = require("../parser");
46
- const generator_1 = require("../generator");
47
- const chalk_1 = __importDefault(require("chalk"));
48
- const url_1 = require("url");
49
- const resolve_project_files_from_source_1 = require("../parser/resolve-project-files-from-source");
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { parseCSharpFiles } from '../parser/index.js';
4
+ import { convertFileName, generateTypeScriptFiles } from '../generator/index.js';
5
+ import chalk from 'chalk';
6
+ import { pathToFileURL } from 'url';
7
+ import { resolveProjectFilesFromSource } from '../parser/resolve-project-files-from-source.js';
50
8
  /**
51
9
  * Default configuration values
52
10
  */
@@ -63,31 +21,41 @@ async function loadConfigFromFile(filePath) {
63
21
  if (ext === '.json') {
64
22
  const content = fs.readFileSync(filePath, 'utf-8');
65
23
  const config = JSON.parse(content);
66
- return (0, exports.mergeWithDefaults)(config);
24
+ return mergeWithDefaults(config);
67
25
  }
68
26
  if (ext === '.js') {
69
- const fileUrl = (0, url_1.pathToFileURL)(path.resolve(filePath)).href;
70
- const module = await Promise.resolve(`${fileUrl}`).then(s => __importStar(require(s)));
27
+ const fileUrl = pathToFileURL(path.resolve(filePath)).href;
28
+ const module = await import(fileUrl);
71
29
  const exportedConfig = module.default || module;
72
- return (0, exports.mergeWithDefaults)(exportedConfig);
30
+ return mergeWithDefaults(exportedConfig);
73
31
  }
74
32
  if (ext === '.ts') {
75
- // Use tsx to load TypeScript config files at runtime
76
- const tsxPath = require.resolve('tsx/cjs');
77
- require(tsxPath);
78
- const module = require(path.resolve(filePath));
79
- const exportedConfig = module.default || module;
80
- return (0, exports.mergeWithDefaults)(exportedConfig);
33
+ // In ESM mode, .ts config files need special handling
34
+ // Try to import directly (works if tsx is registered as a loader)
35
+ try {
36
+ const fileUrl = pathToFileURL(path.resolve(filePath)).href;
37
+ const module = await import(fileUrl);
38
+ const exportedConfig = module.default || module;
39
+ return mergeWithDefaults(exportedConfig);
40
+ }
41
+ catch (error) {
42
+ throw new Error(`Failed to load TypeScript config file: ${filePath}\n` +
43
+ `In ESM mode, you have two options:\n` +
44
+ `1. Use a .json config file instead\n` +
45
+ `2. Use a .js config file (compile your TypeScript first)\n` +
46
+ `3. Run TypeSharp with: node --loader tsx/cjs ./bin/typesharp.js\n` +
47
+ `Original error: ${error instanceof Error ? error.message : String(error)}`);
48
+ }
81
49
  }
82
50
  throw new Error(`Unsupported config file format: ${ext}`);
83
51
  }
84
52
  /**
85
53
  * Merge user config with defaults
86
54
  */
87
- const mergeWithDefaults = (config) => {
55
+ export const mergeWithDefaults = (config) => {
88
56
  // Deprecation warning
89
57
  if (config.projectFiles && !config.source) {
90
- console.warn(chalk_1.default.yellow.bold('⚠ Deprecation:'), chalk_1.default.white('`projectFiles` is deprecated. Please rename it to `source` in your config.'));
58
+ console.warn(chalk.yellow.bold('⚠ Deprecation:'), chalk.white('`projectFiles` is deprecated. Please rename it to `source` in your config.'));
91
59
  config.source = config.source || config.projectFiles;
92
60
  }
93
61
  if (!config.source && !config.projectFiles) {
@@ -101,130 +69,83 @@ const mergeWithDefaults = (config) => {
101
69
  ...config,
102
70
  };
103
71
  };
104
- exports.mergeWithDefaults = mergeWithDefaults;
105
- async function generate(configPath, incremental = true) {
72
+ export async function generate(configPath, incremental = true) {
106
73
  try {
107
- console.log(chalk_1.default.cyan.bold('\n🚀 TypeSharp - Starting generation...'));
74
+ console.log(chalk.cyan.bold('\n🚀 TypeSharp - Starting generation...'));
108
75
  const config = await loadConfig(configPath);
109
- console.log(chalk_1.default.green.bold('\n✓ Configuration loaded'));
110
- // [... existing code ...]
111
- // Parse C# files
112
- console.log(chalk_1.default.cyan('\n⧖ Parsing C# files...'));
113
- const parseResults = await (0, parser_1.parseCSharpFiles)(config);
76
+ console.log(chalk.green.bold('\n✓ Configuration loaded'));
77
+ console.log(chalk.cyan(`-> Output:`), chalk.white(config.outputPath));
78
+ console.log(chalk.cyan(`-> Annotation:`), chalk.white(`[${config.targetAnnotation}]`));
79
+ console.log(chalk.cyan(`-> Single file:`), chalk.white(config.singleOutputFile));
80
+ console.log(chalk.cyan('\n⧖ Parsing C# files...'));
81
+ const parseResults = await parseCSharpFiles(config);
114
82
  if (parseResults.length === 0) {
115
- console.warn(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`No C# files found with [${config.targetAnnotation}] attribute\n`));
83
+ console.warn(chalk.yellow.bold('❗ Warning:'), chalk.white(`No C# files found with [${config.targetAnnotation}] attribute\n`));
116
84
  return;
117
85
  }
118
- // NEW: Incremental cleanup
119
86
  if (incremental) {
120
- await cleanOnlyChangedOutputFiles(config, parseResults);
87
+ const changedFiles = await cleanOnlyChangedOutputFiles(config, parseResults);
88
+ generateTypeScriptFiles(config, parseResults, changedFiles);
121
89
  }
122
90
  else {
123
- cleanOutputDirectory(config.outputPath); // Full clean (old behavior)
91
+ cleanOutputDirectory(config.outputPath);
92
+ generateTypeScriptFiles(config, parseResults);
124
93
  }
125
94
  const allClasses = parseResults.flatMap(result => result.classes);
126
- console.log(chalk_1.default.green.bold(`✓ Found ${allClasses.length} class(es) with [${config.targetAnnotation}] attribute`));
127
- console.log(chalk_1.default.blue.cyan('\n⧖ Generating TypeScript files...'));
128
- (0, generator_1.generateTypeScriptFiles)(config, parseResults);
129
- console.log(chalk_1.default.green.bold('✅ Generation completed successfully!\n'));
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'));
130
99
  }
131
100
  catch (error) {
132
- // [... error handling ...]
101
+ if (error instanceof Error) {
102
+ console.error(chalk.red.bold(`\n❌ Error:`), chalk.white(error.message));
103
+ }
104
+ else {
105
+ console.error(chalk.red.bold(`\n❌ An unknown error occurred`));
106
+ }
107
+ throw error;
133
108
  }
134
109
  }
135
- // export async function generate(configPath?: string): Promise<void> {
136
- // try {
137
- // console.log(chalk.cyan.bold('\n🚀 TypeSharp - Starting generation...'));
138
- // // Load configuration
139
- // const config = await loadConfig(configPath);
140
- // console.log(chalk.green.bold('\n✓ Configuration loaded'));
141
- // // Display project files
142
- // const projectFiles = Array.isArray(config.projectFiles)
143
- // ? config.projectFiles
144
- // : [config.projectFiles];
145
- // if (projectFiles.length === 1) {
146
- // console.log(chalk.cyan(`-> Target:`), chalk.white(projectFiles[0]));
147
- // } else {
148
- // console.log(chalk.cyan(`-> Targets (${projectFiles.length} projects):`));
149
- // projectFiles.forEach((file, index) => {
150
- // console.log(chalk.cyan(` ${index + 1}.`), chalk.white(file));
151
- // });
152
- // }
153
- // console.log(chalk.cyan(`-> Output:`), chalk.white(config.outputPath));
154
- // console.log(chalk.cyan(`-> Annotation:`), chalk.white(`[${config.targetAnnotation}]`));
155
- // console.log(chalk.cyan(`-> Single file:`), chalk.white(config.singleOutputFile));
156
- // if (config.fileSuffix) {
157
- // console.log(chalk.cyan(`-> File suffix:`), chalk.white(config.fileSuffix));
158
- // }
159
- // // Validate configuration
160
- // console.log(chalk.cyan('\n⧖ Configuration validation...'));
161
- // validateConfig(config);
162
- // console.log(chalk.green.bold('✓ Configuration validated'));
163
- // // Clean output directory
164
- // cleanOutputDirectory(config.outputPath);
165
- // // Parse C# files from all projects
166
- // console.log(chalk.cyan('\n⧖ Parsing C# files...'));
167
- // const parseResults = await parseCSharpFiles(config);
168
- // if (parseResults.length === 0) {
169
- // console.warn(chalk.yellow.bold('❗ Warning:'), chalk.white(`No C# files found with [${config.targetAnnotation}] attribute\n`));
170
- // return;
171
- // }
172
- // // Collect all classes
173
- // const allClasses = parseResults.flatMap(result => result.classes);
174
- // console.log(chalk.green.bold(`✓ Found ${allClasses.length} class(es) with [${config.targetAnnotation}] attribute`));
175
- // // Generate TypeScript files
176
- // console.log(chalk.blue.cyan('\n⧖ Generating TypeScript files...'));
177
- // generateTypeScriptFiles(config, parseResults);
178
- // console.log(chalk.green.bold('✅ Generation completed successfully!\n'));
179
- // } catch (error) {
180
- // if (error instanceof Error) {
181
- // console.error(chalk.red.bold(`\n❌ Error:`), chalk.white(error.message));
182
- // } else {
183
- // console.error(chalk.red.bold(`\n❌ An unknown error occurred`));
184
- // }
185
- // throw error;
186
- // }
187
- // }
188
110
  /**
189
111
  * Clean only output files corresponding to changed C# files
190
112
  */
191
113
  async function cleanOnlyChangedOutputFiles(config, parseResults) {
192
- const { loadPreviousHashes, savePreviousHashes, getChangedFiles, computeFileHash } = await Promise.resolve().then(() => __importStar(require('../helpers/change-tracker')));
114
+ const { loadPreviousHashes, savePreviousHashes, getChangedFiles, computeFileHash } = await import('../helpers/change-tracker.js');
193
115
  const csharpFiles = parseResults.map(r => r.filePath);
194
116
  const previousHashes = loadPreviousHashes();
195
117
  const { changed, deleted } = getChangedFiles(csharpFiles, previousHashes);
196
118
  console.log('\n🔍 Change Detection:');
197
119
  if (changed.length > 0) {
198
- console.log(chalk_1.default.yellow(` Changed files: ${changed.length}`));
199
- changed.forEach(f => console.log(chalk_1.default.yellow(` ↳ ${f}`)));
120
+ console.log(chalk.yellow(` Changed files: ${changed.length}`));
121
+ changed.forEach((f) => console.log(chalk.yellow(` ↳ ${f}`)));
200
122
  }
201
123
  if (deleted.length > 0) {
202
- console.log(chalk_1.default.red(` Deleted files: ${deleted.length}`));
203
- deleted.forEach(f => console.log(chalk_1.default.red(` ↳ ${f}`)));
124
+ console.log(chalk.red(` Deleted files: ${deleted.length}`));
125
+ deleted.forEach((f) => console.log(chalk.red(` ↳ ${f}`)));
204
126
  }
205
- // Remove TS files for deleted C# files
206
127
  for (const deletedFile of deleted) {
207
128
  removeCorrespondingTsFile(config, deletedFile);
208
129
  }
209
- // Save current hashes for next run
210
130
  const currentHashes = new Map();
211
131
  for (const file of csharpFiles) {
212
132
  currentHashes.set(file, computeFileHash(file));
213
133
  }
214
134
  savePreviousHashes(currentHashes);
135
+ return new Set(changed);
215
136
  }
216
137
  /**
217
138
  * Deletes all contents of a directory but keeps the directory itself.
218
139
  * @param dir Path to the directory to clean
219
140
  */
220
- function cleanOutputDirectory(dir) {
141
+ export function cleanOutputDirectory(dir) {
221
142
  if (!fs.existsSync(dir))
222
143
  return;
223
144
  const entries = fs.readdirSync(dir);
224
145
  console.log('\nRemoving:');
225
146
  for (const entry of entries) {
226
147
  const fullPath = path.join(dir, entry);
227
- console.log(chalk_1.default.red('-', chalk_1.default.strikethrough(`${fullPath}`)));
148
+ console.log(chalk.red('-', chalk.strikethrough(`${fullPath}`)));
228
149
  const stat = fs.lstatSync(fullPath);
229
150
  if (stat.isDirectory()) {
230
151
  fs.rmSync(fullPath, { recursive: true, force: true });
@@ -248,17 +169,17 @@ function removeCorrespondingTsFile(config, csharpFilePath) {
248
169
  if (config.fileSuffix) {
249
170
  baseName = `${baseName}${config.fileSuffix}`;
250
171
  }
251
- const tsFileName = (0, generator_1.convertFileName)(baseName, fileConvention) + '.ts';
172
+ const tsFileName = convertFileName(baseName, fileConvention) + '.ts';
252
173
  const tsFilePath = path.join(outputPath, path.dirname(relativePath), tsFileName);
253
174
  if (fs.existsSync(tsFilePath)) {
254
175
  fs.unlinkSync(tsFilePath);
255
- console.log(chalk_1.default.red(` Removed: ${tsFilePath}`));
176
+ console.log(chalk.red(` Removed: ${tsFilePath}`));
256
177
  }
257
178
  }
258
179
  /**
259
180
  * Load configuration from file or use provided config
260
181
  */
261
- async function loadConfig(configPath) {
182
+ export async function loadConfig(configPath) {
262
183
  if (configPath && fs.existsSync(configPath)) {
263
184
  return await loadConfigFromFile(configPath);
264
185
  }
@@ -280,7 +201,7 @@ async function loadConfig(configPath) {
280
201
  */
281
202
  function validateConfig(config) {
282
203
  // Convert single project to array for unified handling
283
- const projectFiles = (0, resolve_project_files_from_source_1.resolveProjectFilesFromSource)(config.source);
204
+ const projectFiles = resolveProjectFilesFromSource(config.source);
284
205
  // Validate each project file
285
206
  for (const projectFile of projectFiles) {
286
207
  if (!fs.existsSync(projectFile)) {
@@ -302,7 +223,7 @@ function validateConfig(config) {
302
223
  // Remove spaces, [ and ]
303
224
  config.targetAnnotation = config.targetAnnotation.replace(/[ \[\]]/g, '');
304
225
  if (config.targetAnnotation !== original) {
305
- console.warn(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`remove invalid characters (space, [ or ]) from your`), chalk_1.default.bold('targetAnnotation'), `\n`);
226
+ console.warn(chalk.yellow.bold('❗ Warning:'), chalk.white(`remove invalid characters (space, [ or ]) from your`), chalk.bold('targetAnnotation'), `\n`);
306
227
  }
307
228
  }
308
229
  }
@@ -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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"}
@@ -1,9 +1,9 @@
1
- import { NamingConvention } from '../types';
2
- import type { ParseResult, TypeSharpConfig } from '../types';
1
+ import { NamingConvention } from '../types/index.js';
2
+ 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[]): void;
6
+ export declare function generateTypeScriptFiles(config: TypeSharpConfig, parseResults: ParseResult[], changedFiles?: Set<string>): void;
7
7
  /**
8
8
  * Convert file name to specified convention
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzE,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;AA+WD;;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;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"}