@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.
- package/LICENSE +1 -1
- package/README.md +196 -49
- package/dist/cli/index.js +7 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/core/create-sample-config.d.ts +5 -0
- package/dist/core/create-sample-config.d.ts.map +1 -0
- package/dist/core/create-sample-config.js +110 -0
- package/dist/core/create-sample-config.js.map +1 -0
- package/dist/core/index.d.ts +5 -5
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +36 -66
- package/dist/core/index.js.map +1 -1
- package/dist/generator/index.js +77 -53
- package/dist/generator/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +12 -176
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parse-properties.d.ts +6 -0
- package/dist/parser/parse-properties.d.ts.map +1 -0
- package/dist/parser/parse-properties.js +250 -0
- package/dist/parser/parse-properties.js.map +1 -0
- package/dist/parser/resolve-project-files-from-source.d.ts +29 -0
- package/dist/parser/resolve-project-files-from-source.d.ts.map +1 -0
- package/dist/parser/resolve-project-files-from-source.js +98 -0
- package/dist/parser/resolve-project-files-from-source.js.map +1 -0
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/naming-convention-config.d.ts +9 -0
- package/dist/types/naming-convention-config.d.ts.map +1 -0
- package/dist/types/naming-convention-config.js +3 -0
- package/dist/types/naming-convention-config.js.map +1 -0
- package/dist/types/naming-convention.d.ts +5 -0
- package/dist/types/naming-convention.d.ts.map +1 -0
- package/dist/types/naming-convention.js +3 -0
- package/dist/types/naming-convention.js.map +1 -0
- package/dist/types/typesharp-config.d.ts +29 -25
- package/dist/types/typesharp-config.d.ts.map +1 -1
- package/package.json +14 -6
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.resolveProjectFilesFromSource = resolveProjectFilesFromSource;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
/**
|
|
40
|
+
* Resolves a list of `.csproj` file paths from one or more source entries.
|
|
41
|
+
*
|
|
42
|
+
* Supported source types:
|
|
43
|
+
* - `.csproj` — used directly
|
|
44
|
+
* - `.sln` — parsed using regex to extract referenced `.csproj` paths
|
|
45
|
+
* - `.slnx` — parsed as XML to extract `<Project Path="..." />` entries
|
|
46
|
+
*
|
|
47
|
+
* @param source - A single path or array of paths to `.csproj`, `.sln`, or `.slnx` files
|
|
48
|
+
* @returns A flat array of resolved absolute `.csproj` file paths
|
|
49
|
+
* @throws If a source file type is not `.csproj`, `.sln`, or `.slnx`
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Single solution file
|
|
53
|
+
* resolveProjectFilesFromSource('C:/MyApp/MyApp.sln');
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // XML solution file
|
|
57
|
+
* resolveProjectFilesFromSource('C:/MyApp/MyApp.slnx');
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* // Mixed sources
|
|
61
|
+
* resolveProjectFilesFromSource([
|
|
62
|
+
* 'C:/MyApp/MyApp.slnx',
|
|
63
|
+
* 'C:/Other/Other.csproj'
|
|
64
|
+
* ]);
|
|
65
|
+
*/
|
|
66
|
+
function resolveProjectFilesFromSource(source) {
|
|
67
|
+
const sources = Array.isArray(source) ? source : [source];
|
|
68
|
+
const csprojFiles = [];
|
|
69
|
+
for (const s of sources) {
|
|
70
|
+
if (s.endsWith('.sln')) {
|
|
71
|
+
const content = fs.readFileSync(s, 'utf-8');
|
|
72
|
+
const slnDir = path.dirname(s);
|
|
73
|
+
const matches = [...content.matchAll(/"([^"]+\.csproj)"/g)];
|
|
74
|
+
for (const match of matches) {
|
|
75
|
+
const relPath = match[1].replace(/\\/g, path.sep);
|
|
76
|
+
csprojFiles.push(path.resolve(slnDir, relPath));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else if (s.endsWith('.slnx')) {
|
|
80
|
+
const content = fs.readFileSync(s, 'utf-8');
|
|
81
|
+
const slnDir = path.dirname(s);
|
|
82
|
+
const matches = [...content.matchAll(/<Project\s+Path="([^"]+\.csproj)"\s*\/>/g)];
|
|
83
|
+
for (const match of matches) {
|
|
84
|
+
const relPath = match[1].replace(/\\/g, path.sep);
|
|
85
|
+
csprojFiles.push(path.resolve(slnDir, relPath));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else if (s.endsWith('.csproj')) {
|
|
89
|
+
csprojFiles.push(s);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error(`Unsupported source file type: "${path.basename(s)}". Expected .csproj, .sln, or .slnx`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
console.log('csproj files', csprojFiles);
|
|
96
|
+
return csprojFiles;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=resolve-project-files-from-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-project-files-from-source.js","sourceRoot":"","sources":["../../src/parser/resolve-project-files-from-source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,sEA8BC;AA5DD,uCAAyB;AACzB,2CAA6B;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,6BAA6B,CAAC,MAAyB;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC,CAAC;YAClF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;QAC7G,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IACxC,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { NamingConvention } from "./
|
|
1
|
+
import { NamingConvention } from "./naming-convention";
|
|
2
|
+
import { NamingConventionConfig } from "./naming-convention-config";
|
|
2
3
|
import { TypeSharpConfig } from "./typesharp-config";
|
|
3
4
|
/**
|
|
4
5
|
* Parsed C# property
|
|
@@ -9,6 +10,10 @@ export interface CSharpProperty {
|
|
|
9
10
|
isNullable: boolean;
|
|
10
11
|
isArray: boolean;
|
|
11
12
|
isGeneric: boolean;
|
|
13
|
+
/** Whether the property is marked as obsolete/deprecated */
|
|
14
|
+
isDeprecated: boolean;
|
|
15
|
+
/** Optional message from [Obsolete("...")] */
|
|
16
|
+
deprecationMessage?: string;
|
|
12
17
|
genericType?: string;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
@@ -39,5 +44,6 @@ export interface GenerationOptions {
|
|
|
39
44
|
classes: CSharpClass[];
|
|
40
45
|
}
|
|
41
46
|
export type { TypeSharpConfig };
|
|
47
|
+
export type { NamingConventionConfig };
|
|
42
48
|
export type { NamingConvention };
|
|
43
49
|
//# 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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,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,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,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,sBAAsB,EAAE,CAAA;AACtC,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NamingConvention } from "./naming-convention";
|
|
2
|
+
/**
|
|
3
|
+
* More specific naming convension configuration
|
|
4
|
+
*/
|
|
5
|
+
export type NamingConventionConfig = {
|
|
6
|
+
file: NamingConvention;
|
|
7
|
+
dir: NamingConvention;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=naming-convention-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-convention-config.d.ts","sourceRoot":"","sources":["../../src/types/naming-convention-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,gBAAgB,CAAC;CACzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-convention-config.js","sourceRoot":"","sources":["../../src/types/naming-convention-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-convention.d.ts","sourceRoot":"","sources":["../../src/types/naming-convention.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-convention.js","sourceRoot":"","sources":["../../src/types/naming-convention.ts"],"names":[],"mappings":""}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
+
import { NamingConvention } from "./naming-convention";
|
|
2
|
+
import { NamingConventionConfig } from "./naming-convention-config";
|
|
1
3
|
/**
|
|
2
|
-
* TypeSharp configuration
|
|
4
|
+
* TypeSharp configuration file
|
|
5
|
+
* @see https://github.com/siyavuyachagi/typesharp
|
|
3
6
|
*/
|
|
4
7
|
export interface TypeSharpConfig {
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Path(s) to C# source(s): `.csproj` file(s) or a `.sln` solution file.
|
|
10
|
+
* When a `.sln` is provided, TypeSharp automatically discovers all projects within it.
|
|
11
|
+
*
|
|
12
|
+
* Replaces the deprecated `projectFiles` option.
|
|
13
|
+
* @example
|
|
14
|
+
* source: "C:/MyApp/MyApp.sln"
|
|
11
15
|
* // or
|
|
12
|
-
* [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
16
|
+
* source: ["C:/MyApp/Api/Api.csproj", "C:/MyApp/Domain/Domain.csproj"]
|
|
17
|
+
*/
|
|
18
|
+
source: string | string[];
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Use `source` instead. Will be removed in a future version.
|
|
21
|
+
* @see source
|
|
17
22
|
*/
|
|
18
|
-
projectFiles
|
|
23
|
+
projectFiles?: string | string[];
|
|
19
24
|
/**
|
|
20
25
|
* Path where TypeScript files will be generated
|
|
21
26
|
*/
|
|
@@ -25,26 +30,29 @@ export interface TypeSharpConfig {
|
|
|
25
30
|
*/
|
|
26
31
|
targetAnnotation?: string;
|
|
27
32
|
/**
|
|
28
|
-
* Controls whether generated types are written to one file or multiple files.
|
|
33
|
+
* Controls whether generated types are written to one file or multiple files. (default: `false`)
|
|
29
34
|
*
|
|
30
35
|
* - true → All generated types go into a single file: "index.ts"
|
|
31
|
-
* - false → Each
|
|
36
|
+
* - false → Each file is written separately, using the naming convention.
|
|
32
37
|
* The original folder structure is preserved in the output.
|
|
33
38
|
*/
|
|
34
39
|
singleOutputFile?: boolean;
|
|
35
40
|
/**
|
|
36
|
-
* Naming convention for generated
|
|
41
|
+
* Naming convention for property names in generated types (default: `camel`)
|
|
42
|
+
* @example
|
|
43
|
+
* "namingConvention": "camel",
|
|
44
|
+
* // or
|
|
45
|
+
* "namingConvention": {
|
|
46
|
+
* dir: 'kebab',
|
|
47
|
+
* file: 'camel',
|
|
48
|
+
* }
|
|
37
49
|
*/
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Naming convention for property names in generated types
|
|
41
|
-
*/
|
|
42
|
-
namingConvention?: NamingConvention;
|
|
50
|
+
namingConvention?: NamingConvention | NamingConventionConfig;
|
|
43
51
|
/**
|
|
44
52
|
* Suffix appended to generated TypeScript type names.
|
|
45
53
|
* The suffix is formatted based on the selected naming convention.
|
|
46
54
|
* ```
|
|
47
|
-
* Examples (suffix = "
|
|
55
|
+
* Examples (suffix = "dto"):
|
|
48
56
|
* camel : User -> userDto
|
|
49
57
|
* pascal: User -> UserDto
|
|
50
58
|
* snake : User -> user_dto
|
|
@@ -53,8 +61,4 @@ export interface TypeSharpConfig {
|
|
|
53
61
|
*/
|
|
54
62
|
fileSuffix?: string;
|
|
55
63
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Naming convention options for file and property names
|
|
58
|
-
*/
|
|
59
|
-
export type NamingConvention = 'kebab' | 'snake' | 'camel' | 'pascal';
|
|
60
64
|
//# 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
|
|
1
|
+
{"version":3,"file":"typesharp-config.d.ts","sourceRoot":"","sources":["../../src/types/typesharp-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE5B;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEjC;;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"}
|
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.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Siyavuya Chagi <syavuya08@gmail.com>",
|
|
7
7
|
"repository": {
|
|
@@ -16,25 +16,33 @@
|
|
|
16
16
|
},
|
|
17
17
|
"type": "commonjs",
|
|
18
18
|
"files": [
|
|
19
|
+
"bin",
|
|
19
20
|
"dist",
|
|
20
21
|
"README.md",
|
|
21
22
|
"LICENSE"
|
|
22
23
|
],
|
|
23
24
|
"keywords": [
|
|
24
|
-
"
|
|
25
|
-
"csharp",
|
|
25
|
+
"cli",
|
|
26
26
|
"code-generation",
|
|
27
|
-
"
|
|
27
|
+
"csharp",
|
|
28
|
+
"type-sharp",
|
|
29
|
+
"types",
|
|
30
|
+
"typescript"
|
|
28
31
|
],
|
|
29
32
|
"scripts": {
|
|
30
33
|
"build": "tsc",
|
|
31
34
|
"dev": "tsc --watch",
|
|
32
35
|
"prepublishOnly": "npm run build",
|
|
33
|
-
"test": "
|
|
36
|
+
"test": "vitest",
|
|
37
|
+
"test:run": "vitest run",
|
|
38
|
+
"test:ui": "npx vitest --ui"
|
|
34
39
|
},
|
|
35
40
|
"devDependencies": {
|
|
36
41
|
"@types/node": "^25.0.0",
|
|
37
|
-
"
|
|
42
|
+
"@vitest/ui": "^4.0.18",
|
|
43
|
+
"tsx": "^4.21.0",
|
|
44
|
+
"typescript": "^5.9.3",
|
|
45
|
+
"vitest": "^4.0.18"
|
|
38
46
|
},
|
|
39
47
|
"dependencies": {
|
|
40
48
|
"chalk": "^5.6.2",
|