@siyavuyachagi/typesharp 0.1.0 → 0.1.2

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 (42) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +196 -49
  3. package/dist/cli/index.js +7 -5
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/core/create-sample-config.d.ts +5 -0
  6. package/dist/core/create-sample-config.d.ts.map +1 -0
  7. package/dist/core/create-sample-config.js +110 -0
  8. package/dist/core/create-sample-config.js.map +1 -0
  9. package/dist/core/index.d.ts +5 -5
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +36 -66
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/generator/index.js +77 -53
  14. package/dist/generator/index.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/parser/index.d.ts.map +1 -1
  20. package/dist/parser/index.js +12 -176
  21. package/dist/parser/index.js.map +1 -1
  22. package/dist/parser/parse-properties.d.ts +6 -0
  23. package/dist/parser/parse-properties.d.ts.map +1 -0
  24. package/dist/parser/parse-properties.js +250 -0
  25. package/dist/parser/parse-properties.js.map +1 -0
  26. package/dist/parser/resolve-project-files-from-source.d.ts +29 -0
  27. package/dist/parser/resolve-project-files-from-source.d.ts.map +1 -0
  28. package/dist/parser/resolve-project-files-from-source.js +98 -0
  29. package/dist/parser/resolve-project-files-from-source.js.map +1 -0
  30. package/dist/types/index.d.ts +7 -1
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/dist/types/naming-convention-config.d.ts +9 -0
  33. package/dist/types/naming-convention-config.d.ts.map +1 -0
  34. package/dist/types/naming-convention-config.js +3 -0
  35. package/dist/types/naming-convention-config.js.map +1 -0
  36. package/dist/types/naming-convention.d.ts +5 -0
  37. package/dist/types/naming-convention.d.ts.map +1 -0
  38. package/dist/types/naming-convention.js +3 -0
  39. package/dist/types/naming-convention.js.map +1 -0
  40. package/dist/types/typesharp-config.d.ts +29 -25
  41. package/dist/types/typesharp-config.d.ts.map +1 -1
  42. package/package.json +14 -6
@@ -36,63 +36,77 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.mergeWithDefaults = void 0;
39
40
  exports.generate = generate;
40
41
  exports.cleanOutputDirectory = cleanOutputDirectory;
41
42
  exports.loadConfig = loadConfig;
42
- exports.createSampleConfig = createSampleConfig;
43
43
  const fs = __importStar(require("fs"));
44
44
  const path = __importStar(require("path"));
45
45
  const parser_1 = require("../parser");
46
46
  const generator_1 = require("../generator");
47
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");
48
50
  /**
49
51
  * Default configuration values
50
52
  */
51
53
  const DEFAULT_CONFIG = {
52
54
  targetAnnotation: 'TypeSharp',
53
55
  singleOutputFile: false,
54
- fileNamingConvention: 'kebab',
55
56
  namingConvention: 'camel'
56
57
  };
57
58
  /**
58
59
  * Load configuration from a file
59
60
  */
60
- function loadConfigFromFile(filePath) {
61
+ async function loadConfigFromFile(filePath) {
61
62
  const ext = path.extname(filePath);
62
63
  if (ext === '.json') {
63
64
  const content = fs.readFileSync(filePath, 'utf-8');
64
65
  const config = JSON.parse(content);
65
- return mergeWithDefaults(config);
66
- }
67
- if (ext === '.js' || ext === '.ts') {
68
- // For TypeScript/JavaScript files, we need to require them
69
- // eslint-disable-next-line @typescript-eslint/no-var-requires
70
- const config = require(path.resolve(filePath));
71
- const exportedConfig = config.default || config;
72
- return mergeWithDefaults(exportedConfig);
66
+ return (0, exports.mergeWithDefaults)(config);
67
+ }
68
+ 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)));
71
+ const exportedConfig = module.default || module;
72
+ return (0, exports.mergeWithDefaults)(exportedConfig);
73
+ }
74
+ 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);
73
81
  }
74
82
  throw new Error(`Unsupported config file format: ${ext}`);
75
83
  }
76
84
  /**
77
85
  * Merge user config with defaults
78
86
  */
79
- function mergeWithDefaults(config) {
80
- if (!config.projectFiles) {
81
- throw new Error('targetPath is required in configuration');
87
+ const mergeWithDefaults = (config) => {
88
+ // Deprecation warning
89
+ 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.'));
91
+ config.source = config.projectFiles;
92
+ }
93
+ if (!config.source && !config.projectFiles) {
94
+ throw new Error('`source` is required in configuration');
82
95
  }
83
96
  if (!config.outputPath) {
84
97
  throw new Error('outputPath is required in configuration');
85
98
  }
86
99
  return {
87
100
  ...DEFAULT_CONFIG,
88
- ...config
101
+ ...config,
89
102
  };
90
- }
103
+ };
104
+ exports.mergeWithDefaults = mergeWithDefaults;
91
105
  async function generate(configPath) {
92
106
  try {
93
107
  console.log(chalk_1.default.cyan.bold('\n🚀 TypeSharp - Starting generation...'));
94
108
  // Load configuration
95
- const config = loadConfig(configPath);
109
+ const config = await loadConfig(configPath);
96
110
  console.log(chalk_1.default.green.bold('\n✓ Configuration loaded'));
97
111
  // Display project files
98
112
  const projectFiles = Array.isArray(config.projectFiles)
@@ -123,7 +137,7 @@ async function generate(configPath) {
123
137
  console.log(chalk_1.default.cyan('\n⧖ Parsing C# files...'));
124
138
  const parseResults = await (0, parser_1.parseCSharpFiles)(config);
125
139
  if (parseResults.length === 0) {
126
- console.warn(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`No C# files found with [TypeSharp] attribute\n`));
140
+ console.warn(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`No C# files found with [${config.targetAnnotation}] attribute\n`));
127
141
  return;
128
142
  }
129
143
  // Collect all classes
@@ -168,9 +182,9 @@ function cleanOutputDirectory(dir) {
168
182
  /**
169
183
  * Load configuration from file or use provided config
170
184
  */
171
- function loadConfig(configPath) {
185
+ async function loadConfig(configPath) {
172
186
  if (configPath && fs.existsSync(configPath)) {
173
- return loadConfigFromFile(configPath);
187
+ return await loadConfigFromFile(configPath);
174
188
  }
175
189
  // Look for default config files
176
190
  const defaultPaths = [
@@ -180,7 +194,7 @@ function loadConfig(configPath) {
180
194
  ];
181
195
  for (const defaultPath of defaultPaths) {
182
196
  if (fs.existsSync(defaultPath)) {
183
- return loadConfigFromFile(defaultPath);
197
+ return await loadConfigFromFile(defaultPath);
184
198
  }
185
199
  }
186
200
  throw new Error('No configuration file found. Please create typesharp.config.ts, typesharp.config.js, or typesharp.config.json');
@@ -190,9 +204,7 @@ function loadConfig(configPath) {
190
204
  */
191
205
  function validateConfig(config) {
192
206
  // Convert single project to array for unified handling
193
- const projectFiles = Array.isArray(config.projectFiles)
194
- ? config.projectFiles
195
- : [config.projectFiles];
207
+ const projectFiles = (0, resolve_project_files_from_source_1.resolveProjectFilesFromSource)(config.source);
196
208
  // Validate each project file
197
209
  for (const projectFile of projectFiles) {
198
210
  if (!fs.existsSync(projectFile)) {
@@ -218,46 +230,4 @@ function validateConfig(config) {
218
230
  }
219
231
  }
220
232
  }
221
- /**
222
- * Create a sample configuration file
223
- */
224
- function createSampleConfig(format = 'json') {
225
- const sampleConfig = {
226
- // Show array format as example
227
- projectFiles: [
228
- 'C:/Users/User/Desktop/MyApp/Api/Api.csproj',
229
- 'C:/Users/User/Desktop/MyApp/Domain/Domain.csproj'
230
- ],
231
- outputPath: './app/types',
232
- targetAnnotation: 'TypeSharp',
233
- singleOutputFile: false,
234
- fileNamingConvention: 'kebab',
235
- namingConvention: 'camel',
236
- };
237
- let fileName;
238
- let content;
239
- if (format === 'json') {
240
- fileName = 'typesharp.config.json';
241
- content = JSON.stringify(sampleConfig, null, 2);
242
- }
243
- else if (format === 'js') {
244
- fileName = 'typesharp.config.js';
245
- content = `module.exports = ${JSON.stringify(sampleConfig, null, 2)};\n`;
246
- }
247
- else {
248
- fileName = 'typesharp.config.ts';
249
- content = `import type { TypeSharpConfig } from 'typesharp';
250
-
251
- const config: TypeSharpConfig = ${JSON.stringify(sampleConfig, null, 2)};
252
-
253
- export default config;
254
- `;
255
- }
256
- if (fs.existsSync(fileName)) {
257
- console.log(chalk_1.default.yellow.bold('❗ Warning:'), chalk_1.default.white(`${fileName} already exists. Skipping creation.`));
258
- return;
259
- }
260
- fs.writeFileSync(fileName, content, 'utf-8');
261
- console.log(chalk_1.default.green.bold('✅ Created'), chalk_1.default.white(`./${fileName}`));
262
- }
263
233
  //# 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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"}
@@ -50,7 +50,7 @@ function generateTypeScriptFiles(config, parseResults) {
50
50
  }
51
51
  if (config.singleOutputFile) {
52
52
  const allClasses = parseResults.flatMap(r => r.classes);
53
- generateSingleFile(allClasses, outputPath, config);
53
+ generateSingleFile(allClasses, outputPath);
54
54
  }
55
55
  else {
56
56
  // Generate one TypeScript file per C# file (preserves grouping)
@@ -60,9 +60,10 @@ function generateTypeScriptFiles(config, parseResults) {
60
60
  /**
61
61
  * Generate a single file with all types
62
62
  */
63
- function generateSingleFile(classes, outputPath, config) {
63
+ function generateSingleFile(classes, outputPath) {
64
64
  const content = classes
65
- .map(cls => generateTypeScriptClass(cls, config))
65
+ .sort((a, b) => (a.isEnum ? -1 : 1) - (b.isEnum ? -1 : 1) || a.name.localeCompare(b.name)) // Sort by type or name - Asc order
66
+ .map(cls => generateTypeScriptClass(cls))
66
67
  .join('\n\n');
67
68
  const header = generateFileHeader();
68
69
  const fullContent = `${header}\n\n${content}\n`;
@@ -72,20 +73,27 @@ function generateSingleFile(classes, outputPath, config) {
72
73
  console.log(chalk_1.default.whiteBright(` - Generated:`), chalk_1.default.blue(filePath));
73
74
  }
74
75
  /**
75
- * Generate multiple files - one TypeScript file per C# source file
76
+ * Generate multiple files - one TypeScript file per C# source file.
76
77
  * This preserves the original grouping of classes
77
78
  */
78
79
  function generateMultipleFiles(outputPath, config, parseResults) {
80
+ // Convention output type
81
+ const dirConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.dir ?? 'snake';
82
+ const fileConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.file ?? 'camel';
79
83
  // 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) {
84
+ const classToFileMap = buildClassToFileMap(parseResults, config, outputPath, fileConvention);
85
+ // Sort results by path - Asc order
86
+ const parseResultsSorted = parseResults.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
87
+ for (const result of parseResultsSorted) {
82
88
  // Generate content for all classes in this C# file
83
89
  const content = result.classes
84
- .map(cls => generateTypeScriptClass(cls, config))
90
+ .map(cls => generateTypeScriptClass(cls))
85
91
  .join('\n\n');
86
92
  // Preserve folder structure
87
93
  const relativeDir = path.dirname(result.relativePath);
88
- const targetDir = path.join(outputPath, relativeDir);
94
+ const appDir = path.join(outputPath, relativeDir);
95
+ // Convert dir with configued conventions
96
+ const targetDir = convertDirName(appDir, dirConvention);
89
97
  // Create directory if needed
90
98
  if (!fs.existsSync(targetDir)) {
91
99
  fs.mkdirSync(targetDir, { recursive: true });
@@ -95,28 +103,28 @@ function generateMultipleFiles(outputPath, config, parseResults) {
95
103
  // Apply file suffix if configured
96
104
  let baseName = originalFileName;
97
105
  if (config.fileSuffix) {
98
- const convention = config.fileNamingConvention || 'kebab';
99
- const suffix = convertFileName(config.fileSuffix, convention);
100
- baseName = `${baseName}-${suffix}`;
106
+ // Capitalize the 1st character for better convention
107
+ const suffix = config.fileSuffix.charAt(0).toUpperCase() + config.fileSuffix.slice(1);
108
+ baseName = `${baseName}${suffix}`;
101
109
  }
102
110
  // Apply naming convention to the filename
103
- const fileName = convertFileName(baseName, config.fileNamingConvention || 'kebab');
111
+ const fileName = convertFileName(baseName, fileConvention);
104
112
  const filePath = path.join(targetDir, `${fileName}.ts`);
105
113
  // Generate imports for this file
106
114
  const currentClassNames = result.classes.map(c => c.name);
107
- const imports = generateImports(result.classes, classToFileMap, filePath, currentClassNames);
115
+ const imports = generateImports(result.classes, classToFileMap, filePath, currentClassNames, dirConvention);
108
116
  const header = generateFileHeader();
109
117
  const fullContent = imports
110
- ? `${header}\n\n${imports}\n\n${content}\n`
118
+ ? `${imports}\n\n${header}\n\n${content}\n`
111
119
  : `${header}\n\n${content}\n`;
112
120
  fs.writeFileSync(filePath, fullContent, 'utf-8');
113
- console.log(chalk_1.default.whiteBright(` - Generated:`), chalk_1.default.blue(filePath));
121
+ console.log(chalk_1.default.blue(` ↳`), chalk_1.default.blue(filePath));
114
122
  }
115
123
  }
116
124
  /**
117
125
  * Build a map of class names to their output file paths
118
126
  */
119
- function buildClassToFileMap(parseResults, config, outputPath) {
127
+ function buildClassToFileMap(parseResults, config, outputPath, namingConvension) {
120
128
  const map = new Map();
121
129
  for (const result of parseResults) {
122
130
  const relativeDir = path.dirname(result.relativePath);
@@ -124,11 +132,10 @@ function buildClassToFileMap(parseResults, config, outputPath) {
124
132
  const originalFileName = path.basename(result.relativePath, '.cs');
125
133
  let baseName = originalFileName;
126
134
  if (config.fileSuffix) {
127
- const convention = config.fileNamingConvention || 'kebab';
128
- const suffix = convertFileName(config.fileSuffix, convention);
135
+ const suffix = convertFileName(config.fileSuffix, namingConvension);
129
136
  baseName = `${baseName}-${suffix}`;
130
137
  }
131
- const fileName = convertFileName(baseName, config.fileNamingConvention || 'kebab');
138
+ const fileName = convertFileName(baseName, namingConvension);
132
139
  const filePath = path.join(targetDir, `${fileName}.ts`);
133
140
  // Map all classes in this file to this file path
134
141
  for (const cls of result.classes) {
@@ -140,7 +147,7 @@ function buildClassToFileMap(parseResults, config, outputPath) {
140
147
  /**
141
148
  * Generate import statements for referenced types
142
149
  */
143
- function generateImports(classes, classToFileMap, currentFilePath, currentClassNames) {
150
+ function generateImports(classes, classToFileMap, currentFilePath, currentClassNames, namingConvension) {
144
151
  const imports = new Map(); // filePath -> Set of class names
145
152
  for (const cls of classes) {
146
153
  // Skip enums as they don't have properties
@@ -178,7 +185,7 @@ function generateImports(classes, classToFileMap, currentFilePath, currentClassN
178
185
  // Generate import statements
179
186
  const importStatements = [];
180
187
  for (const [filePath, classNames] of imports.entries()) {
181
- const relativePath = getRelativeImportPath(currentFilePath, filePath);
188
+ const relativePath = getRelativeImportPath(currentFilePath, filePath, namingConvension);
182
189
  const sortedNames = Array.from(classNames).sort();
183
190
  importStatements.push(`import type { ${sortedNames.join(', ')} } from '${relativePath}';`);
184
191
  }
@@ -187,7 +194,7 @@ function generateImports(classes, classToFileMap, currentFilePath, currentClassN
187
194
  /**
188
195
  * Get relative import path from one file to another
189
196
  */
190
- function getRelativeImportPath(fromFile, toFile) {
197
+ function getRelativeImportPath(fromFile, toFile, namingConvension) {
191
198
  const fromDir = path.dirname(fromFile);
192
199
  let relativePath = path.relative(fromDir, toFile);
193
200
  // Remove .ts extension
@@ -196,6 +203,8 @@ function getRelativeImportPath(fromFile, toFile) {
196
203
  if (!relativePath.startsWith('.')) {
197
204
  relativePath = './' + relativePath;
198
205
  }
206
+ // Convert dir naming
207
+ relativePath = convertDirName(relativePath, namingConvension);
199
208
  // Convert Windows backslashes to forward slashes
200
209
  relativePath = relativePath.replace(/\\/g, '/');
201
210
  return relativePath;
@@ -210,11 +219,11 @@ function isPrimitiveType(type) {
210
219
  /**
211
220
  * Generate TypeScript interface or enum from C# class
212
221
  */
213
- function generateTypeScriptClass(cls, config) {
222
+ function generateTypeScriptClass(cls) {
214
223
  if (cls.isEnum) {
215
224
  return generateEnum(cls);
216
225
  }
217
- return generateInterface(cls, config);
226
+ return generateInterface(cls);
218
227
  }
219
228
  /**
220
229
  * Generate TypeScript enum
@@ -229,9 +238,9 @@ function generateEnum(cls) {
229
238
  /**
230
239
  * Generate TypeScript interface
231
240
  */
232
- function generateInterface(cls, config) {
241
+ function generateInterface(cls) {
233
242
  const properties = cls.properties
234
- .map(prop => generateProperty(prop, config.namingConvention || 'camel'))
243
+ .map(prop => generateProperty(prop))
235
244
  .join('\n');
236
245
  // Build generic parameters for the interface
237
246
  const genericParams = cls.genericParameters && cls.genericParameters.length > 0
@@ -250,55 +259,72 @@ function generateInterface(cls, config) {
250
259
  /**
251
260
  * Generate a single property
252
261
  */
253
- function generateProperty(prop, convention) {
254
- const propertyName = convertPropertyName(prop.name, convention);
262
+ function generateProperty(prop) {
263
+ const propertyName = convertPropertyName(prop.name);
255
264
  let type = prop.type;
256
- // Handle arrays: append [] only when prop.isArray is true and the type does not already look like a Record or an array
257
265
  const alreadyArrayLike = /\[\]$/.test(type);
258
266
  const isRecordType = /^Record<.*>$/.test(type);
259
267
  if (prop.isArray && !isRecordType && !alreadyArrayLike) {
260
268
  type = `${type}[]`;
261
269
  }
262
- // Handle nullable
263
270
  if (prop.isNullable) {
264
271
  type = `${type} | null`;
265
272
  }
273
+ // Add @deprecated JSDoc if marked obsolete
274
+ if (prop.isDeprecated) {
275
+ const msg = prop.deprecationMessage ? ` ${prop.deprecationMessage}` : '';
276
+ return ` /** @deprecated${msg} */\n ${propertyName}: ${type};`;
277
+ }
266
278
  return ` ${propertyName}: ${type};`;
267
279
  }
268
280
  /**
269
281
  * Convert property name to specified convention
270
282
  */
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
- }
283
+ function convertPropertyName(name) {
284
+ return toCamelCase(name);
285
+ // switch (convention) {
286
+ // case 'camel':
287
+ // return toCamelCase(name);
288
+ // case 'pascal':
289
+ // return toPascalCase(name);
290
+ // case 'snake':
291
+ // return toSnakeCase(name);
292
+ // default:
293
+ // return name;
294
+ // }
284
295
  }
285
296
  /**
286
297
  * Convert file name to specified convention
287
298
  */
288
299
  function convertFileName(name, convention) {
289
300
  switch (convention) {
290
- case 'kebab':
291
- return toKebabCase(name);
292
- case 'snake':
293
- return toSnakeCase(name);
294
301
  case 'camel':
295
302
  return toCamelCase(name);
303
+ case 'kebab':
304
+ return toKebabCase(name);
296
305
  case 'pascal':
297
306
  return toPascalCase(name);
307
+ case 'snake':
308
+ return toSnakeCase(name);
298
309
  default:
299
310
  return name;
300
311
  }
301
312
  }
313
+ const convertDirName = (dir, convension) => {
314
+ try {
315
+ const splitter = path.sep;
316
+ const segments = dir.split(splitter);
317
+ const formatted = segments.map((segment) => {
318
+ return convertFileName(segment, convension);
319
+ });
320
+ const joined = formatted.join(splitter);
321
+ return joined;
322
+ }
323
+ catch (error) {
324
+ console.error('Error converting dir name', error);
325
+ throw error;
326
+ }
327
+ };
302
328
  /**
303
329
  * Convert string to camelCase
304
330
  */
@@ -319,18 +345,16 @@ function toPascalCase(str) {
319
345
  */
320
346
  function toSnakeCase(str) {
321
347
  return str
322
- .replace(/([A-Z])/g, '_$1')
323
- .toLowerCase()
324
- .replace(/^_/, '');
348
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
349
+ .toLowerCase();
325
350
  }
326
351
  /**
327
352
  * Convert string to kebab-case
328
353
  */
329
354
  function toKebabCase(str) {
330
355
  return str
331
- .replace(/([A-Z])/g, '-$1')
332
- .toLowerCase()
333
- .replace(/^-/, '');
356
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
357
+ .toLowerCase();
334
358
  }
335
359
  /**
336
360
  * 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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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { generate, loadConfig, createSampleConfig } from './core';
1
+ export { generate, loadConfig } from './core';
2
2
  export { parseCSharpFiles } from './parser';
3
3
  export { generateTypeScriptFiles } from './generator';
4
4
  export type { TypeSharpConfig, NamingConvention, CSharpClass, CSharpProperty, ParseResult, GenerationOptions } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EAClB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTypeScriptFiles = exports.parseCSharpFiles = exports.createSampleConfig = exports.loadConfig = exports.generate = void 0;
3
+ exports.generateTypeScriptFiles = exports.parseCSharpFiles = exports.loadConfig = exports.generate = void 0;
4
4
  // Main exports for programmatic usage
5
5
  var core_1 = require("./core");
6
6
  Object.defineProperty(exports, "generate", { enumerable: true, get: function () { return core_1.generate; } });
7
7
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return core_1.loadConfig; } });
8
- Object.defineProperty(exports, "createSampleConfig", { enumerable: true, get: function () { return core_1.createSampleConfig; } });
9
8
  var parser_1 = require("./parser");
10
9
  Object.defineProperty(exports, "parseCSharpFiles", { enumerable: true, get: function () { return parser_1.parseCSharpFiles; } });
11
10
  var generator_1 = require("./generator");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,+BAAkE;AAAzD,gGAAA,QAAQ,OAAA;AAAE,kGAAA,UAAU,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AACjD,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,yCAAsD;AAA7C,oHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,+BAA8C;AAArC,gGAAA,QAAQ,OAAA;AAAE,kGAAA,UAAU,OAAA;AAC7B,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,yCAAsD;AAA7C,oHAAA,uBAAuB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAiCtF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQ5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+BtF"}