typia 6.10.0-dev.20240909 → 6.10.0-dev.20240910-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/lib/executable/TypiaSetupWizard.js +48 -25
- package/lib/executable/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/setup/PackageManager.js +12 -12
- package/lib/executable/setup/PackageManager.js.map +1 -1
- package/lib/factories/MetadataFactory.d.ts +2 -0
- package/lib/factories/MetadataFactory.js +89 -40
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_object.js +9 -3
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +3 -1
- package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_function.js +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
- package/lib/llm.d.ts +8 -8
- package/lib/programmers/llm/LlmApplicationProgrammer.js +4 -1
- package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
- package/lib/transformers/TransformerError.js +6 -1
- package/lib/transformers/TransformerError.js.map +1 -1
- package/package.json +2 -1
- package/src/executable/TypiaGenerateWizard.ts +83 -83
- package/src/executable/TypiaPatchWizard.ts +42 -42
- package/src/executable/TypiaSetupWizard.ts +160 -151
- package/src/executable/setup/ArgumentParser.ts +43 -43
- package/src/executable/setup/CommandExecutor.ts +8 -8
- package/src/executable/setup/FileRetriever.ts +22 -22
- package/src/executable/setup/PackageManager.ts +86 -86
- package/src/executable/setup/PluginConfigurator.ts +69 -69
- package/src/executable/typia.ts +55 -55
- package/src/factories/MetadataFactory.ts +43 -2
- package/src/factories/internal/metadata/emplace_metadata_object.ts +9 -3
- package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +3 -1
- package/src/factories/internal/metadata/iterate_metadata_function.ts +2 -0
- package/src/llm.ts +8 -8
- package/src/programmers/llm/LlmApplicationProgrammer.ts +6 -1
- package/src/transformers/TransformerError.ts +6 -1
|
@@ -67,7 +67,7 @@ var iterate_metadata_function = function (checker) {
|
|
|
67
67
|
var _a, _b;
|
|
68
68
|
return MetadataParameter_1.MetadataParameter.create({
|
|
69
69
|
name: p.name,
|
|
70
|
-
type: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(errors)(checker.getTypeOfSymbol(p), __assign(__assign({}, explore), { top: false })),
|
|
70
|
+
type: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(errors)(checker.getTypeOfSymbol(p), __assign(__assign({}, explore), { top: false, parameter: p.name })),
|
|
71
71
|
description: (_a = CommentFactory_1.CommentFactory.description(p)) !== null && _a !== void 0 ? _a : null,
|
|
72
72
|
jsDocTags: (_b = p === null || p === void 0 ? void 0 : p.getJsDocTags()) !== null && _b !== void 0 ? _b : [],
|
|
73
73
|
});
|
|
@@ -75,7 +75,7 @@ var iterate_metadata_function = function (checker) {
|
|
|
75
75
|
async: async,
|
|
76
76
|
output: (0, explore_metadata_1.explore_metadata)(checker)(__assign(__assign({}, options), { functional: false }))(collection)(errors)(async
|
|
77
77
|
? ((_b = (_a = signature.getReturnType().aliasTypeArguments) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : checker.getTypeFromTypeNode(TypeFactory_1.TypeFactory.keyword("any")))
|
|
78
|
-
: signature.getReturnType(), __assign(__assign({}, explore), { top: false })),
|
|
78
|
+
: signature.getReturnType(), __assign(__assign({}, explore), { top: false, output: true })),
|
|
79
79
|
}));
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate_metadata_function.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_function.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oHAAmH;AAEnH,+DAA8D;AAC9D,+EAA8E;AAC9E,iFAAgF;AAEhF,uDAAsD;AAGtD,iDAAgD;AAChD,uDAAsD;AAE/C,IAAM,yBAAyB,GACpC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UACE,QAAkB,EAClB,IAAa,EACb,OAAiC;;oBAEjC,IAAM,WAAW,GACf,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,WAAW,KAAK,IAAI;wBAAE,OAAO,KAAK,CAAC;yBAClC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;4BACjC,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB,mCAAgB,CAAC,MAAM,CAAC;gCACtB,UAAU,EAAE,EAAE;gCACd,MAAM,EAAE,mBAAQ,CAAC,UAAU,EAAE;gCAC7B,KAAK,EAAE,KAAK;6BACb,CAAC,CACH,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACA,IAAA,KAAA,OAAc,IAAI,CAAC,iBAAiB,EAAE,IAAA,EAArC,SAAS,QAA4B,CAAC;wBAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS;4BAChE,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB,mCAAgB,CAAC,MAAM,CAAC;gCACtB,UAAU,EAAE,EAAE;gCACd,MAAM,EAAE,mBAAQ,CAAC,UAAU,EAAE;gCAC7B,KAAK,EAAE,KAAK;6BACb,CAAC,CACH,CAAC;6BACC,CAAC;4BACI,IAAA,KAAK,GACX,yDAA2B,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,MADpD,CACqD;4BAClE,QAAQ,CAAC,SAAS,CAAC,IAAI,CACrB,mCAAgB,CAAC,MAAM,CAAC;gCACtB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC;;oCACrC,OAAA,qCAAiB,CAAC,MAAM,CAAC;wCACvB,IAAI,EAAE,CAAC,CAAC,IAAI;wCACZ,IAAI,EAAE,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAC1D,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,wBAErB,OAAO,KACV,GAAG,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"iterate_metadata_function.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_function.ts"],"names":[],"mappings":"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"}
|
package/lib/llm.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
|
2
2
|
/**
|
|
3
3
|
* > You must configure the generic argument `App`.
|
|
4
4
|
*
|
|
5
|
-
* TypeScript functions to LLM function
|
|
5
|
+
* TypeScript functions to LLM function calling application.
|
|
6
6
|
*
|
|
7
|
-
* Creates an application of LLM (Large Language Model) function calling
|
|
8
|
-
* a TypeScript class or interface type containig the target functions to be
|
|
9
|
-
* the LLM function calling feature.
|
|
7
|
+
* Creates an application of LLM (Large Language Model) function calling application
|
|
8
|
+
* from a TypeScript class or interface type containig the target functions to be
|
|
9
|
+
* called by the LLM function calling feature.
|
|
10
10
|
*
|
|
11
11
|
* If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
|
|
12
12
|
* like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
|
|
@@ -39,11 +39,11 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
|
|
|
39
39
|
*/
|
|
40
40
|
declare function application(options?: ILlmApplication.IOptions): never;
|
|
41
41
|
/**
|
|
42
|
-
* TypeScript functions to LLM function
|
|
42
|
+
* TypeScript functions to LLM function calling application.
|
|
43
43
|
*
|
|
44
|
-
* Creates an application of LLM (Large Language Model) function calling
|
|
45
|
-
* a TypeScript class or interface type containig the target functions to be
|
|
46
|
-
* the LLM function calling feature.
|
|
44
|
+
* Creates an application of LLM (Large Language Model) function calling application
|
|
45
|
+
* from a TypeScript class or interface type containig the target functions to be
|
|
46
|
+
* called by the LLM function calling feature.
|
|
47
47
|
*
|
|
48
48
|
* If you put the returned {@link ILlmApplication.functions} objects to the LLM provider
|
|
49
49
|
* like [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select the
|
|
@@ -92,9 +92,11 @@ var LlmApplicationProgrammer;
|
|
|
92
92
|
top: true,
|
|
93
93
|
object: null,
|
|
94
94
|
property: null,
|
|
95
|
+
parameter: null,
|
|
95
96
|
nested: null,
|
|
96
|
-
escaped: false,
|
|
97
97
|
aliased: false,
|
|
98
|
+
escaped: false,
|
|
99
|
+
output: false,
|
|
98
100
|
});
|
|
99
101
|
if (errors.length)
|
|
100
102
|
throw new Error("Failed to write LLM application: " + errors.join("\n"));
|
|
@@ -106,6 +108,7 @@ var LlmApplicationProgrammer;
|
|
|
106
108
|
p.value.size() === 1 &&
|
|
107
109
|
p.key.isSoleLiteral();
|
|
108
110
|
})
|
|
111
|
+
.filter(function (p) { return p.jsDocTags.find(function (tag) { return tag.name === "hidden"; }) === undefined; })
|
|
109
112
|
.map(function (p) {
|
|
110
113
|
return writeFunction({
|
|
111
114
|
name: p.key.getSoleLiteral(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,6DAA4D;AAE5D,IAAiB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,8 +42,13 @@ exports.TransformerError = TransformerError;
|
|
|
42
42
|
var subject = e.explore.object === null
|
|
43
43
|
? ""
|
|
44
44
|
: join(e.explore.object)(e.explore.property);
|
|
45
|
+
var middle = e.explore.parameter
|
|
46
|
+
? "(parameter: ".concat(JSON.stringify(e.explore.parameter), ")")
|
|
47
|
+
: e.explore.output
|
|
48
|
+
? "(return type)"
|
|
49
|
+
: "";
|
|
45
50
|
var type = "".concat(subject.length ? "".concat(subject, ": ") : "").concat(e.name);
|
|
46
|
-
return "- ".concat(type, "\n").concat(e.messages
|
|
51
|
+
return "- ".concat(type).concat(middle, "\n").concat(e.messages
|
|
47
52
|
.map(function (msg) { return " - ".concat(msg); })
|
|
48
53
|
.join("\n"));
|
|
49
54
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformerError.js","sourceRoot":"","sources":["../../src/transformers/TransformerError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIA,4CAA2C;AAE3C;IAAsC,oCAAK;IAGzC,0BAAmB,KAA8B;;QAC/C,YAAA,MAAK,YAAC,KAAK,CAAC,OAAO,CAAC,SAAC;QACrB,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,uBAAuB;QACvB,IAAM,KAAK,GAAG,WAAW,SAAS,CAAC;QACnC,IAAI,MAAM,CAAC,cAAc;YAAE,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;;YACxD,KAAY,CAAC,SAAS,GAAG,KAAK,CAAC;;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AAZD,CAAsC,KAAK,GAY1C;AAZY,4CAAgB;AAa7B,WAAiB,gBAAgB;IAMlB,qBAAI,GACf,UAAC,MAAc;QACf,OAAA,UAAC,MAAgC;YAC/B,IAAM,IAAI,GAAW,MAAM;iBACxB,GAAG,CAAC,UAAC,CAAC;gBACL,IAAM,OAAO,GACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI;oBACvB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAM,IAAI,GAAW,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,OAAI,CAAC,CAAC,CAAC,EAAE,SAC1D,CAAC,CAAC,IAAI,CACN,CAAC;gBACH,OAAO,YAAK,IAAI,eAAK,CAAC,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"TransformerError.js","sourceRoot":"","sources":["../../src/transformers/TransformerError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIA,4CAA2C;AAE3C;IAAsC,oCAAK;IAGzC,0BAAmB,KAA8B;;QAC/C,YAAA,MAAK,YAAC,KAAK,CAAC,OAAO,CAAC,SAAC;QACrB,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,uBAAuB;QACvB,IAAM,KAAK,GAAG,WAAW,SAAS,CAAC;QACnC,IAAI,MAAM,CAAC,cAAc;YAAE,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;;YACxD,KAAY,CAAC,SAAS,GAAG,KAAK,CAAC;;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AAZD,CAAsC,KAAK,GAY1C;AAZY,4CAAgB;AAa7B,WAAiB,gBAAgB;IAMlB,qBAAI,GACf,UAAC,MAAc;QACf,OAAA,UAAC,MAAgC;YAC/B,IAAM,IAAI,GAAW,MAAM;iBACxB,GAAG,CAAC,UAAC,CAAC;gBACL,IAAM,OAAO,GACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI;oBACvB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAM,MAAM,GAAW,CAAC,CAAC,OAAO,CAAC,SAAS;oBACxC,CAAC,CAAC,sBAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAG;oBACvD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;wBAChB,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,EAAE,CAAC;gBACT,IAAM,IAAI,GAAW,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,OAAI,CAAC,CAAC,CAAC,EAAE,SAC1D,CAAC,CAAC,IAAI,CACN,CAAC;gBACH,OAAO,YAAK,IAAI,SAAG,MAAM,eAAK,CAAC,CAAC,QAAQ;qBACrC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,cAAO,GAAG,CAAE,EAAZ,CAAY,CAAC;qBAC1B,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;YAClB,CAAC,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,CAAC;YAChB,OAAO,IAAI,gBAAgB,CAAC;gBAC1B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,uCAAgC,IAAI,CAAE;aAChD,CAAC,CAAC;QACL,CAAC;IAxBD,CAwBC,CAAC;IAEJ,IAAM,IAAI,GAAG,UAAC,MAAsB,IAAK,OAAA,UAAC,GAA2B;QACnE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;aAChC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,UAAO,CAAC;aAC1D,IAAI,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,GAAG,CAAE,CAAC;QAC/D,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAG,CAAC;IAClD,CAAC,EALwC,CAKxC,CAAC;AACJ,CAAC,EAxCgB,gBAAgB,gCAAhB,gBAAgB,QAwChC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "6.10.0-dev.
|
|
3
|
+
"version": "6.10.0-dev.20240910-2",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"commander": "^10.0.0",
|
|
72
72
|
"comment-json": "^4.2.3",
|
|
73
73
|
"inquirer": "^8.2.5",
|
|
74
|
+
"package-manager-detector": "^0.2.0",
|
|
74
75
|
"randexp": "^0.5.3"
|
|
75
76
|
},
|
|
76
77
|
"peerDependencies": {
|
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
|
|
3
|
-
import { TypiaProgrammer } from "../programmers/TypiaProgrammer";
|
|
4
|
-
|
|
5
|
-
import { ArgumentParser } from "./setup/ArgumentParser";
|
|
6
|
-
import { PackageManager } from "./setup/PackageManager";
|
|
7
|
-
|
|
8
|
-
export namespace TypiaGenerateWizard {
|
|
9
|
-
export async function generate(): Promise<void> {
|
|
10
|
-
console.log("----------------------------------------");
|
|
11
|
-
console.log(" Typia Generate Wizard");
|
|
12
|
-
console.log("----------------------------------------");
|
|
13
|
-
|
|
14
|
-
// LOAD PACKAGE.JSON INFO
|
|
15
|
-
const pack: PackageManager = await PackageManager.mount();
|
|
16
|
-
const options: IArguments = await ArgumentParser.parse(pack)(inquiry);
|
|
17
|
-
await TypiaProgrammer.build(options);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const inquiry: ArgumentParser.Inquiry<IArguments> = async (
|
|
21
|
-
_pack,
|
|
22
|
-
command,
|
|
23
|
-
prompt,
|
|
24
|
-
action,
|
|
25
|
-
) => {
|
|
26
|
-
// PREPARE ASSETS
|
|
27
|
-
command.option("--input [path]", "input directory");
|
|
28
|
-
command.option("--output [directory]", "output directory");
|
|
29
|
-
command.option("--project [project]", "tsconfig.json file location");
|
|
30
|
-
|
|
31
|
-
const questioned = { value: false };
|
|
32
|
-
|
|
33
|
-
const input = (name: string) => async (message: string) => {
|
|
34
|
-
const result = await prompt()({
|
|
35
|
-
type: "input",
|
|
36
|
-
name,
|
|
37
|
-
message,
|
|
38
|
-
default: "",
|
|
39
|
-
});
|
|
40
|
-
return result[name] as string;
|
|
41
|
-
};
|
|
42
|
-
const select =
|
|
43
|
-
(name: string) =>
|
|
44
|
-
(message: string) =>
|
|
45
|
-
async <Choice extends string>(choices: Choice[]): Promise<Choice> => {
|
|
46
|
-
questioned.value = true;
|
|
47
|
-
return (
|
|
48
|
-
await prompt()({
|
|
49
|
-
type: "list",
|
|
50
|
-
name: name,
|
|
51
|
-
message: message,
|
|
52
|
-
choices: choices,
|
|
53
|
-
})
|
|
54
|
-
)[name];
|
|
55
|
-
};
|
|
56
|
-
const configure = async (): Promise<string> => {
|
|
57
|
-
const files: string[] = await (
|
|
58
|
-
await fs.promises.readdir(process.cwd())
|
|
59
|
-
).filter(
|
|
60
|
-
(str) =>
|
|
61
|
-
str.substring(0, 8) === "tsconfig" &&
|
|
62
|
-
str.substring(str.length - 5) === ".json",
|
|
63
|
-
);
|
|
64
|
-
if (files.length === 0)
|
|
65
|
-
throw new URIError(`Unable to find "tsconfig.json" file.`);
|
|
66
|
-
else if (files.length === 1) return files[0]!;
|
|
67
|
-
return select("tsconfig")("TS Config File")(files);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
return action(async (options) => {
|
|
71
|
-
options.input ??= await input("input")("input directory");
|
|
72
|
-
options.output ??= await input("output")("output directory");
|
|
73
|
-
options.project ??= await configure();
|
|
74
|
-
return options as IArguments;
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export interface IArguments {
|
|
79
|
-
input: string;
|
|
80
|
-
output: string;
|
|
81
|
-
project: string;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
|
|
3
|
+
import { TypiaProgrammer } from "../programmers/TypiaProgrammer";
|
|
4
|
+
|
|
5
|
+
import { ArgumentParser } from "./setup/ArgumentParser";
|
|
6
|
+
import { PackageManager } from "./setup/PackageManager";
|
|
7
|
+
|
|
8
|
+
export namespace TypiaGenerateWizard {
|
|
9
|
+
export async function generate(): Promise<void> {
|
|
10
|
+
console.log("----------------------------------------");
|
|
11
|
+
console.log(" Typia Generate Wizard");
|
|
12
|
+
console.log("----------------------------------------");
|
|
13
|
+
|
|
14
|
+
// LOAD PACKAGE.JSON INFO
|
|
15
|
+
const pack: PackageManager = await PackageManager.mount();
|
|
16
|
+
const options: IArguments = await ArgumentParser.parse(pack)(inquiry);
|
|
17
|
+
await TypiaProgrammer.build(options);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const inquiry: ArgumentParser.Inquiry<IArguments> = async (
|
|
21
|
+
_pack,
|
|
22
|
+
command,
|
|
23
|
+
prompt,
|
|
24
|
+
action,
|
|
25
|
+
) => {
|
|
26
|
+
// PREPARE ASSETS
|
|
27
|
+
command.option("--input [path]", "input directory");
|
|
28
|
+
command.option("--output [directory]", "output directory");
|
|
29
|
+
command.option("--project [project]", "tsconfig.json file location");
|
|
30
|
+
|
|
31
|
+
const questioned = { value: false };
|
|
32
|
+
|
|
33
|
+
const input = (name: string) => async (message: string) => {
|
|
34
|
+
const result = await prompt()({
|
|
35
|
+
type: "input",
|
|
36
|
+
name,
|
|
37
|
+
message,
|
|
38
|
+
default: "",
|
|
39
|
+
});
|
|
40
|
+
return result[name] as string;
|
|
41
|
+
};
|
|
42
|
+
const select =
|
|
43
|
+
(name: string) =>
|
|
44
|
+
(message: string) =>
|
|
45
|
+
async <Choice extends string>(choices: Choice[]): Promise<Choice> => {
|
|
46
|
+
questioned.value = true;
|
|
47
|
+
return (
|
|
48
|
+
await prompt()({
|
|
49
|
+
type: "list",
|
|
50
|
+
name: name,
|
|
51
|
+
message: message,
|
|
52
|
+
choices: choices,
|
|
53
|
+
})
|
|
54
|
+
)[name];
|
|
55
|
+
};
|
|
56
|
+
const configure = async (): Promise<string> => {
|
|
57
|
+
const files: string[] = await (
|
|
58
|
+
await fs.promises.readdir(process.cwd())
|
|
59
|
+
).filter(
|
|
60
|
+
(str) =>
|
|
61
|
+
str.substring(0, 8) === "tsconfig" &&
|
|
62
|
+
str.substring(str.length - 5) === ".json",
|
|
63
|
+
);
|
|
64
|
+
if (files.length === 0)
|
|
65
|
+
throw new URIError(`Unable to find "tsconfig.json" file.`);
|
|
66
|
+
else if (files.length === 1) return files[0]!;
|
|
67
|
+
return select("tsconfig")("TS Config File")(files);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return action(async (options) => {
|
|
71
|
+
options.input ??= await input("input")("input directory");
|
|
72
|
+
options.output ??= await input("output")("output directory");
|
|
73
|
+
options.project ??= await configure();
|
|
74
|
+
return options as IArguments;
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export interface IArguments {
|
|
79
|
+
input: string;
|
|
80
|
+
output: string;
|
|
81
|
+
project: string;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
|
|
3
|
-
export namespace TypiaPatchWizard {
|
|
4
|
-
export const main = async (): Promise<void> => {
|
|
5
|
-
console.log("----------------------------------------");
|
|
6
|
-
console.log(" Typia Setup Wizard");
|
|
7
|
-
console.log("----------------------------------------");
|
|
8
|
-
console.log(
|
|
9
|
-
[
|
|
10
|
-
`Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
|
|
11
|
-
``,
|
|
12
|
-
`Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
|
|
13
|
-
``,
|
|
14
|
-
`This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
|
|
15
|
-
].join("\n"),
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
await patch();
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const patch = async (): Promise<void> => {
|
|
22
|
-
const location: string = require.resolve("typescript/lib/tsc.js");
|
|
23
|
-
const content: string = await fs.promises.readFile(location, "utf8");
|
|
24
|
-
if (content.indexOf(FROM_WITH_COMMENT) !== -1)
|
|
25
|
-
await fs.promises.writeFile(
|
|
26
|
-
location,
|
|
27
|
-
content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT),
|
|
28
|
-
"utf8",
|
|
29
|
-
);
|
|
30
|
-
else if (content.indexOf(FROM_ONLY) !== -1)
|
|
31
|
-
await fs.promises.writeFile(
|
|
32
|
-
location,
|
|
33
|
-
content.replace(FROM_ONLY, TO_ONLY),
|
|
34
|
-
"utf8",
|
|
35
|
-
);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
|
|
40
|
-
const TO_WITH_COMMENT = `var defaultJSDocParsingMode = 0 /* ParseAll */`;
|
|
41
|
-
const FROM_ONLY = `var defaultJSDocParsingMode = 2`;
|
|
42
|
-
const TO_ONLY = `var defaultJSDocParsingMode = 0`;
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
|
|
3
|
+
export namespace TypiaPatchWizard {
|
|
4
|
+
export const main = async (): Promise<void> => {
|
|
5
|
+
console.log("----------------------------------------");
|
|
6
|
+
console.log(" Typia Setup Wizard");
|
|
7
|
+
console.log("----------------------------------------");
|
|
8
|
+
console.log(
|
|
9
|
+
[
|
|
10
|
+
`Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
|
|
11
|
+
``,
|
|
12
|
+
`Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
|
|
13
|
+
``,
|
|
14
|
+
`This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
|
|
15
|
+
].join("\n"),
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
await patch();
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const patch = async (): Promise<void> => {
|
|
22
|
+
const location: string = require.resolve("typescript/lib/tsc.js");
|
|
23
|
+
const content: string = await fs.promises.readFile(location, "utf8");
|
|
24
|
+
if (content.indexOf(FROM_WITH_COMMENT) !== -1)
|
|
25
|
+
await fs.promises.writeFile(
|
|
26
|
+
location,
|
|
27
|
+
content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT),
|
|
28
|
+
"utf8",
|
|
29
|
+
);
|
|
30
|
+
else if (content.indexOf(FROM_ONLY) !== -1)
|
|
31
|
+
await fs.promises.writeFile(
|
|
32
|
+
location,
|
|
33
|
+
content.replace(FROM_ONLY, TO_ONLY),
|
|
34
|
+
"utf8",
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
|
|
40
|
+
const TO_WITH_COMMENT = `var defaultJSDocParsingMode = 0 /* ParseAll */`;
|
|
41
|
+
const FROM_ONLY = `var defaultJSDocParsingMode = 2`;
|
|
42
|
+
const TO_ONLY = `var defaultJSDocParsingMode = 0`;
|