@nestia/migrate 0.7.7 → 0.7.8
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/bundles/NEST_TEMPLATE.js +2 -2
- package/lib/bundles/SDK_TEMPLATE.js +1 -1
- package/lib/internal/MigrateCommander.js +12 -1
- package/lib/internal/MigrateCommander.js.map +1 -1
- package/lib/programmers/MigrateNestModuleProgrammer.js +1 -1
- package/lib/programmers/MigrateNestModuleProgrammer.js.map +1 -1
- package/package.json +70 -68
- package/src/bundles/NEST_TEMPLATE.ts +2 -2
- package/src/bundles/SDK_TEMPLATE.ts +1 -1
- package/src/internal/MigrateCommander.ts +13 -2
- package/src/module.ts +14 -14
- package/src/programmers/MigrateNestModuleProgrammer.ts +1 -0
- package/src/structures/IMigrateDto.ts +8 -8
- package/src/structures/IMigrateProgram.ts +25 -25
- package/src/structures/ISwaggerComponents.ts +7 -7
- package/src/structures/ISwaggerRoute.ts +55 -55
- package/src/structures/ISwaggerSchema.ts +90 -90
@@ -50,7 +50,7 @@ exports.NEST_TEMPLATE = [
|
|
50
50
|
{
|
51
51
|
"location": "",
|
52
52
|
"file": "package.json",
|
53
|
-
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"test\": \"node bin/test\",\r\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\r\n \"------------------------BUILDS------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install && typia patch\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"------------------------WEBPACK------------------------\": \"\",\r\n \"webpack\": \"rimraf dist && webpack\",\r\n \"webpack:start\": \"cd dist && node dist/server\",\r\n \"------------------------DEPLOYS------------------------\": \"\",\r\n \"package:api\": \"npm run build:swagger && npm run build:api && cd packages/api && npm publish\",\r\n \"start\": \"node lib/executable/server\",\r\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-start\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.4.1\",\r\n \"@nestia/sdk\": \"^2.5.4\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/express\": \"^4.17.21\",\r\n \"@types/inquirer\": \"^8.2.5\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^6.19.1\",\r\n \"@typescript-eslint/parser\": \"^6.19.1\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"copy-webpack-plugin\": \"^11.0.0\",\r\n \"eslint-plugin-deprecation\": \"^2.0.0\",\r\n \"express\": \"^4.18.2\",\r\n \"nestia\": \"^5.2.2\",\r\n \"prettier\": \"^3.2.4\",\r\n \"prettier-plugin-prisma\": \"^5.0.0\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"swagger-ui-express\": \"^5.0.0\",\r\n \"ts-loader\": \"^9.5.1\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.3.2\",\r\n \"typescript-transform-paths\": \"^3.4.6\",\r\n \"webpack\": \"^5.89.0\",\r\n \"webpack-cli\": \"^5.1.4\",\r\n \"write-file-webpack-plugin\": \"^4.5.1\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^2.5.4\",\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"@nestjs/common\": \"^10.3.1\",\r\n \"@nestjs/core\": \"^10.3.1\",\r\n \"@nestjs/platform-express\": \"^10.3.1\",\r\n \"commander\": \"10.0.0\",\r\n \"dotenv\": \"^16.3.1\",\r\n \"dotenv-expand\": \"^10.0.0\",\r\n \"inquirer\": \"8.2.5\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^5.4.
|
53
|
+
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"test\": \"node bin/test\",\r\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\r\n \"------------------------BUILDS------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install && typia patch\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"------------------------WEBPACK------------------------\": \"\",\r\n \"webpack\": \"rimraf dist && webpack\",\r\n \"webpack:start\": \"cd dist && node dist/server\",\r\n \"------------------------DEPLOYS------------------------\": \"\",\r\n \"package:api\": \"npm run build:swagger && npm run build:api && cd packages/api && npm publish\",\r\n \"start\": \"node lib/executable/server\",\r\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-start\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.4.1\",\r\n \"@nestia/sdk\": \"^2.5.4\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/express\": \"^4.17.21\",\r\n \"@types/inquirer\": \"^8.2.5\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^6.19.1\",\r\n \"@typescript-eslint/parser\": \"^6.19.1\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"copy-webpack-plugin\": \"^11.0.0\",\r\n \"eslint-plugin-deprecation\": \"^2.0.0\",\r\n \"express\": \"^4.18.2\",\r\n \"nestia\": \"^5.2.2\",\r\n \"prettier\": \"^3.2.4\",\r\n \"prettier-plugin-prisma\": \"^5.0.0\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"swagger-ui-express\": \"^5.0.0\",\r\n \"ts-loader\": \"^9.5.1\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.3.2\",\r\n \"typescript-transform-paths\": \"^3.4.6\",\r\n \"webpack\": \"^5.89.0\",\r\n \"webpack-cli\": \"^5.1.4\",\r\n \"write-file-webpack-plugin\": \"^4.5.1\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^2.5.4\",\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"@nestjs/common\": \"^10.3.1\",\r\n \"@nestjs/core\": \"^10.3.1\",\r\n \"@nestjs/platform-express\": \"^10.3.1\",\r\n \"commander\": \"10.0.0\",\r\n \"dotenv\": \"^16.3.1\",\r\n \"dotenv-expand\": \"^10.0.0\",\r\n \"inquirer\": \"8.2.5\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^5.4.6\",\r\n \"uuid\": \"^9.0.0\"\r\n },\r\n \"stackblitz\": {\r\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\r\n }\r\n}"
|
54
54
|
},
|
55
55
|
{
|
56
56
|
"location": "packages/api",
|
@@ -65,7 +65,7 @@ exports.NEST_TEMPLATE = [
|
|
65
65
|
{
|
66
66
|
"location": "packages/api",
|
67
67
|
"file": "package.json",
|
68
|
-
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"npm run build:sdk && npm run compile\",\r\n \"build:sdk\": \"rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api\",\r\n \"compile\": \"rimraf lib && tsc\",\r\n \"deploy\": \"npm run build && npm publish\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.
|
68
|
+
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"npm run build:sdk && npm run compile\",\r\n \"build:sdk\": \"rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api\",\r\n \"compile\": \"rimraf lib && tsc\",\r\n \"deploy\": \"npm run build && npm publish\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.6\"\r\n }\r\n}"
|
69
69
|
},
|
70
70
|
{
|
71
71
|
"location": "packages/api",
|
@@ -15,7 +15,7 @@ exports.SDK_TEMPLATE = [
|
|
15
15
|
{
|
16
16
|
"location": "",
|
17
17
|
"file": "package.json",
|
18
|
-
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"rimraf lib && tsc\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.
|
18
|
+
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"rimraf lib && tsc\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.6\"\r\n }\r\n}"
|
19
19
|
},
|
20
20
|
{
|
21
21
|
"location": "",
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.MigrateCommander = void 0;
|
16
16
|
const fs_1 = __importDefault(require("fs"));
|
17
17
|
const path_1 = __importDefault(require("path"));
|
18
|
+
const prettier_1 = require("prettier");
|
18
19
|
const MigrateFileArchiver_1 = require("../archivers/MigrateFileArchiver");
|
19
20
|
const module_1 = require("../module");
|
20
21
|
const MigrateInquirer_1 = require("./MigrateInquirer");
|
@@ -48,9 +49,19 @@ var MigrateCommander;
|
|
48
49
|
: app.sdk(options.simulate);
|
49
50
|
yield MigrateFileArchiver_1.MigrateFileArchiver.archive({
|
50
51
|
mkdir: fs_1.default.promises.mkdir,
|
51
|
-
writeFile: (file, content) => fs_1.default.promises.writeFile(file, content, "utf-8"),
|
52
|
+
writeFile: (file, content) => __awaiter(this, void 0, void 0, function* () { return fs_1.default.promises.writeFile(file, yield beautify(content), "utf-8"); }),
|
52
53
|
})(options.output)(files);
|
53
54
|
});
|
55
|
+
const beautify = (script) => __awaiter(this, void 0, void 0, function* () {
|
56
|
+
try {
|
57
|
+
return yield (0, prettier_1.format)(script, {
|
58
|
+
parser: "typescript",
|
59
|
+
});
|
60
|
+
}
|
61
|
+
catch (_a) {
|
62
|
+
return script;
|
63
|
+
}
|
64
|
+
});
|
54
65
|
const halt = (desc) => {
|
55
66
|
console.error(desc);
|
56
67
|
process.exit(-1);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MigrateCommander.js","sourceRoot":"","sources":["../../src/internal/MigrateCommander.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;
|
1
|
+
{"version":3,"file":"MigrateCommander.js","sourceRoot":"","sources":["../../src/internal/MigrateCommander.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,uCAAkC;AAElC,0EAAuE;AACvE,sCAA+C;AAE/C,uDAAoD;AAEpD,IAAiB,gBAAgB,CAoDhC;AApDD,WAAiB,gBAAgB;IAClB,qBAAI,GAAG,GAAwB,EAAE;QAC5C,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE,CAC1C,GAAG,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,OAAO,GAA4B,MAAM,iCAAe,CAAC,KAAK,EAAE,CAAC;QAEvE,4BAA4B;QAC5B,MAAM,MAAM,GAAW,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAE,CAAC;QACxD,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACtE,IAAI,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK;YACtC,IAAI,CAAC,qDAAqD,CAAC,CAAC;aACzD,IAAI,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;YAClD,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAExD,eAAe;QACf,MAAM,OAAO,GAAa,CAAC,GAAG,EAAE;YAC9B,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK;gBACxC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACtD,MAAM,KAAK,GAAa,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,KAAK;gBAC1B,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAW,YAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,GAAG,GAAuB,IAAI,2BAAkB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,EAAE,KAAK,EAAE,GACb,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC5B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,yCAAmB,CAAC,OAAO,CAAC;YAChC,KAAK,EAAE,YAAE,CAAC,QAAQ,CAAC,KAAK;YACxB,SAAS,EAAE,CAAO,IAAI,EAAE,OAAO,EAAE,EAAE,gDACjC,OAAA,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA,GAAA;SAChE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAA,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAO,MAAc,EAAmB,EAAE;QACzD,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,iBAAM,EAAC,MAAM,EAAE;gBAC1B,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAS,EAAE;QACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC,EApDgB,gBAAgB,gCAAhB,gBAAgB,QAoDhC"}
|
@@ -16,7 +16,7 @@ var MigrateNestModuleProgrammer;
|
|
16
16
|
typescript_1.default.factory.createClassDeclaration([
|
17
17
|
typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Module"), undefined, [
|
18
18
|
typescript_1.default.factory.createObjectLiteralExpression([
|
19
|
-
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("controllers"), typescript_1.default.factory.createArrayLiteralExpression(controllers.map((c) => typescript_1.default.factory.createIdentifier(c.name)))),
|
19
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("controllers"), typescript_1.default.factory.createArrayLiteralExpression(controllers.map((c) => typescript_1.default.factory.createIdentifier(c.name)), true)),
|
20
20
|
], true),
|
21
21
|
])),
|
22
22
|
typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MigrateNestModuleProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MigrateNestModuleProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,sDAAmD;AAEnD,IAAiB,2BAA2B,
|
1
|
+
{"version":3,"file":"MigrateNestModuleProgrammer.js","sourceRoot":"","sources":["../../src/programmers/MigrateNestModuleProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,sDAAmD;AAEnD,IAAiB,2BAA2B,CAwC3C;AAxCD,WAAiB,2BAA2B;IAC7B,iCAAK,GAAG,CAAC,WAAiC,EAAkB,EAAE,CAAC;QAC1E,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;QACnC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACjE;QACD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B;YACE,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;gBACE,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;oBACE,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,EACD,IAAI,CACL,CACF;iBACF,EACD,IAAI,CACL;aACF,CACF,CACF;YACD,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACpD,EACD,UAAU,EACV,SAAS,EACT,SAAS,EACT,EAAE,CACH;KACF,CAAC;AACJ,CAAC,EAxCgB,2BAA2B,2CAA3B,2BAA2B,QAwC3C;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CACrD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC5B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACtC;CACF,CAAC,CACH,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACrC,CAAC"}
|
package/package.json
CHANGED
@@ -1,68 +1,70 @@
|
|
1
|
-
{
|
2
|
-
"name": "@nestia/migrate",
|
3
|
-
"version": "0.7.
|
4
|
-
"description": "Migration program from swagger to NestJS",
|
5
|
-
"main": "lib/index.js",
|
6
|
-
"typings": "lib/index.d.ts",
|
7
|
-
"bin": {
|
8
|
-
"@nestia/migrate": "lib/executable/migrate.js"
|
9
|
-
},
|
10
|
-
"scripts": {
|
11
|
-
"build": "rimraf lib && tsc",
|
12
|
-
"bundle": "ts-node src/executable/bundle.ts",
|
13
|
-
"dev": "npm run build -- --watch",
|
14
|
-
"prepare": "ts-patch install && typia patch && npm run bundle",
|
15
|
-
"test": "node lib/test"
|
16
|
-
},
|
17
|
-
"repository": {
|
18
|
-
"type": "git",
|
19
|
-
"url": "https://github.com/samchon/nestia"
|
20
|
-
},
|
21
|
-
"keywords": [
|
22
|
-
"migration",
|
23
|
-
"swagger",
|
24
|
-
"NestJS",
|
25
|
-
"nestia"
|
26
|
-
],
|
27
|
-
"author": "Jeongho Nam",
|
28
|
-
"license": "MIT",
|
29
|
-
"bugs": {
|
30
|
-
"url": "https://github.com/samchon/nestia/issues"
|
31
|
-
},
|
32
|
-
"homepage": "https://
|
33
|
-
"devDependencies": {
|
34
|
-
"@nestia/core": "2.5.4",
|
35
|
-
"@nestia/fetcher": "2.5.4",
|
36
|
-
"@nestjs/common": "^10.3.1",
|
37
|
-
"@nestjs/core": "^10.3.1",
|
38
|
-
"@nestjs/platform-express": "^10.3.1",
|
39
|
-
"@nestjs/platform-fastify": "^10.3.1",
|
40
|
-
"@
|
41
|
-
"@types/
|
42
|
-
"@types/
|
43
|
-
"
|
44
|
-
"dotenv
|
45
|
-
"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"ts-
|
50
|
-
"
|
51
|
-
"
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
"
|
56
|
-
"
|
57
|
-
"
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
"
|
63
|
-
"
|
64
|
-
"
|
65
|
-
"
|
66
|
-
"
|
67
|
-
|
68
|
-
|
1
|
+
{
|
2
|
+
"name": "@nestia/migrate",
|
3
|
+
"version": "0.7.8",
|
4
|
+
"description": "Migration program from swagger to NestJS",
|
5
|
+
"main": "lib/index.js",
|
6
|
+
"typings": "lib/index.d.ts",
|
7
|
+
"bin": {
|
8
|
+
"@nestia/migrate": "lib/executable/migrate.js"
|
9
|
+
},
|
10
|
+
"scripts": {
|
11
|
+
"build": "rimraf lib && tsc",
|
12
|
+
"bundle": "ts-node src/executable/bundle.ts",
|
13
|
+
"dev": "npm run build -- --watch",
|
14
|
+
"prepare": "ts-patch install && typia patch && npm run bundle",
|
15
|
+
"test": "node lib/test"
|
16
|
+
},
|
17
|
+
"repository": {
|
18
|
+
"type": "git",
|
19
|
+
"url": "https://github.com/samchon/nestia"
|
20
|
+
},
|
21
|
+
"keywords": [
|
22
|
+
"migration",
|
23
|
+
"swagger",
|
24
|
+
"NestJS",
|
25
|
+
"nestia"
|
26
|
+
],
|
27
|
+
"author": "Jeongho Nam",
|
28
|
+
"license": "MIT",
|
29
|
+
"bugs": {
|
30
|
+
"url": "https://github.com/samchon/nestia/issues"
|
31
|
+
},
|
32
|
+
"homepage": "https://nestia.io",
|
33
|
+
"devDependencies": {
|
34
|
+
"@nestia/core": "2.5.4",
|
35
|
+
"@nestia/fetcher": "2.5.4",
|
36
|
+
"@nestjs/common": "^10.3.1",
|
37
|
+
"@nestjs/core": "^10.3.1",
|
38
|
+
"@nestjs/platform-express": "^10.3.1",
|
39
|
+
"@nestjs/platform-fastify": "^10.3.1",
|
40
|
+
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
|
41
|
+
"@types/express": "^4.17.21",
|
42
|
+
"@types/inquirer": "^9.0.7",
|
43
|
+
"@types/node": "^20.3.3",
|
44
|
+
"dotenv": "^16.3.1",
|
45
|
+
"dotenv-expand": "^10.0.0",
|
46
|
+
"rimraf": "^5.0.1",
|
47
|
+
"serialize-error": "^4.1.0",
|
48
|
+
"source-map-support": "^0.5.21",
|
49
|
+
"ts-node": "^10.9.1",
|
50
|
+
"ts-patch": "^3.1.0",
|
51
|
+
"tstl": "^2.5.13",
|
52
|
+
"typescript-transform-paths": "^3.4.6"
|
53
|
+
},
|
54
|
+
"dependencies": {
|
55
|
+
"commander": "10.0.0",
|
56
|
+
"inquirer": "8.2.5",
|
57
|
+
"prettier": "^3.2.5",
|
58
|
+
"typescript": "^5.3.3",
|
59
|
+
"typia": "^5.4.6"
|
60
|
+
},
|
61
|
+
"files": [
|
62
|
+
"lib",
|
63
|
+
"src",
|
64
|
+
"!lib/test",
|
65
|
+
"!src/test",
|
66
|
+
"package.json",
|
67
|
+
"README.md",
|
68
|
+
"LICENSE"
|
69
|
+
]
|
70
|
+
}
|
@@ -47,7 +47,7 @@ export const NEST_TEMPLATE = [
|
|
47
47
|
{
|
48
48
|
"location": "",
|
49
49
|
"file": "package.json",
|
50
|
-
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"test\": \"node bin/test\",\r\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\r\n \"------------------------BUILDS------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install && typia patch\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"------------------------WEBPACK------------------------\": \"\",\r\n \"webpack\": \"rimraf dist && webpack\",\r\n \"webpack:start\": \"cd dist && node dist/server\",\r\n \"------------------------DEPLOYS------------------------\": \"\",\r\n \"package:api\": \"npm run build:swagger && npm run build:api && cd packages/api && npm publish\",\r\n \"start\": \"node lib/executable/server\",\r\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-start\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.4.1\",\r\n \"@nestia/sdk\": \"^2.5.4\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/express\": \"^4.17.21\",\r\n \"@types/inquirer\": \"^8.2.5\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^6.19.1\",\r\n \"@typescript-eslint/parser\": \"^6.19.1\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"copy-webpack-plugin\": \"^11.0.0\",\r\n \"eslint-plugin-deprecation\": \"^2.0.0\",\r\n \"express\": \"^4.18.2\",\r\n \"nestia\": \"^5.2.2\",\r\n \"prettier\": \"^3.2.4\",\r\n \"prettier-plugin-prisma\": \"^5.0.0\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"swagger-ui-express\": \"^5.0.0\",\r\n \"ts-loader\": \"^9.5.1\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.3.2\",\r\n \"typescript-transform-paths\": \"^3.4.6\",\r\n \"webpack\": \"^5.89.0\",\r\n \"webpack-cli\": \"^5.1.4\",\r\n \"write-file-webpack-plugin\": \"^4.5.1\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^2.5.4\",\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"@nestjs/common\": \"^10.3.1\",\r\n \"@nestjs/core\": \"^10.3.1\",\r\n \"@nestjs/platform-express\": \"^10.3.1\",\r\n \"commander\": \"10.0.0\",\r\n \"dotenv\": \"^16.3.1\",\r\n \"dotenv-expand\": \"^10.0.0\",\r\n \"inquirer\": \"8.2.5\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^5.4.
|
50
|
+
"content": "{\r\n \"private\": true,\r\n \"name\": \"@ORGANIZATION/PROJECT\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"Starter kit of Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"scripts\": {\r\n \"test\": \"node bin/test\",\r\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\r\n \"------------------------BUILDS------------------------\": \"\",\r\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\r\n \"build:api\": \"rimraf packages/api/lib && npm run build:sdk && tsc -p packages/api/tsconfig.json\",\r\n \"build:main\": \"rimraf lib && tsc\",\r\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\r\n \"build:swagger\": \"npx nestia swagger\",\r\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\r\n \"dev\": \"npm run build:test -- --watch\",\r\n \"eslint\": \"eslint src && eslint test\",\r\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\r\n \"prepare\": \"ts-patch install && typia patch\",\r\n \"prettier\": \"prettier src --write && prettier test --write\",\r\n \"------------------------WEBPACK------------------------\": \"\",\r\n \"webpack\": \"rimraf dist && webpack\",\r\n \"webpack:start\": \"cd dist && node dist/server\",\r\n \"------------------------DEPLOYS------------------------\": \"\",\r\n \"package:api\": \"npm run build:swagger && npm run build:api && cd packages/api && npm publish\",\r\n \"start\": \"node lib/executable/server\",\r\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia-start\"\r\n },\r\n \"keywords\": [\r\n \"nestia\",\r\n \"template\",\r\n \"boilerplate\"\r\n ],\r\n \"author\": \"AUTHOR\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\r\n },\r\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\r\n \"devDependencies\": {\r\n \"@nestia/e2e\": \"^0.4.1\",\r\n \"@nestia/sdk\": \"^2.5.4\",\r\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\r\n \"@types/cli\": \"^0.11.21\",\r\n \"@types/express\": \"^4.17.21\",\r\n \"@types/inquirer\": \"^8.2.5\",\r\n \"@types/node\": \"^18.11.0\",\r\n \"@types/uuid\": \"^8.3.4\",\r\n \"@typescript-eslint/eslint-plugin\": \"^6.19.1\",\r\n \"@typescript-eslint/parser\": \"^6.19.1\",\r\n \"chalk\": \"^4.1.0\",\r\n \"cli\": \"^1.0.1\",\r\n \"copy-webpack-plugin\": \"^11.0.0\",\r\n \"eslint-plugin-deprecation\": \"^2.0.0\",\r\n \"express\": \"^4.18.2\",\r\n \"nestia\": \"^5.2.2\",\r\n \"prettier\": \"^3.2.4\",\r\n \"prettier-plugin-prisma\": \"^5.0.0\",\r\n \"rimraf\": \"^3.0.2\",\r\n \"source-map-support\": \"^0.5.21\",\r\n \"swagger-ui-express\": \"^5.0.0\",\r\n \"ts-loader\": \"^9.5.1\",\r\n \"ts-node\": \"^10.9.1\",\r\n \"ts-patch\": \"^3.0.2\",\r\n \"typescript\": \"^5.3.2\",\r\n \"typescript-transform-paths\": \"^3.4.6\",\r\n \"webpack\": \"^5.89.0\",\r\n \"webpack-cli\": \"^5.1.4\",\r\n \"write-file-webpack-plugin\": \"^4.5.1\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/core\": \"^2.5.4\",\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"@nestjs/common\": \"^10.3.1\",\r\n \"@nestjs/core\": \"^10.3.1\",\r\n \"@nestjs/platform-express\": \"^10.3.1\",\r\n \"commander\": \"10.0.0\",\r\n \"dotenv\": \"^16.3.1\",\r\n \"dotenv-expand\": \"^10.0.0\",\r\n \"inquirer\": \"8.2.5\",\r\n \"serialize-error\": \"^4.1.0\",\r\n \"tstl\": \"^2.5.13\",\r\n \"typia\": \"^5.4.6\",\r\n \"uuid\": \"^9.0.0\"\r\n },\r\n \"stackblitz\": {\r\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test\"\r\n }\r\n}"
|
51
51
|
},
|
52
52
|
{
|
53
53
|
"location": "packages/api",
|
@@ -62,7 +62,7 @@ export const NEST_TEMPLATE = [
|
|
62
62
|
{
|
63
63
|
"location": "packages/api",
|
64
64
|
"file": "package.json",
|
65
|
-
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"npm run build:sdk && npm run compile\",\r\n \"build:sdk\": \"rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api\",\r\n \"compile\": \"rimraf lib && tsc\",\r\n \"deploy\": \"npm run build && npm publish\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.
|
65
|
+
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"npm run build:sdk && npm run compile\",\r\n \"build:sdk\": \"rimraf ../../src/api/functional && cd ../.. && npx nestia sdk && cd packages/api\",\r\n \"compile\": \"rimraf lib && tsc\",\r\n \"deploy\": \"npm run build && npm publish\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.6\"\r\n }\r\n}"
|
66
66
|
},
|
67
67
|
{
|
68
68
|
"location": "packages/api",
|
@@ -12,7 +12,7 @@ export const SDK_TEMPLATE = [
|
|
12
12
|
{
|
13
13
|
"location": "",
|
14
14
|
"file": "package.json",
|
15
|
-
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"rimraf lib && tsc\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.
|
15
|
+
"content": "{\r\n \"name\": \"@ORGANIZATION/PROJECT-api\",\r\n \"version\": \"0.1.0\",\r\n \"description\": \"SDK library generated by Nestia\",\r\n \"main\": \"lib/index.js\",\r\n \"typings\": \"lib/index.d.ts\",\r\n \"scripts\": {\r\n \"build\": \"rimraf lib && tsc\",\r\n \"prepare\": \"ts-patch install && typia patch\"\r\n },\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"https://github.com/samchon/nestia\"\r\n },\r\n \"author\": \"Jeongho Nam\",\r\n \"license\": \"MIT\",\r\n \"bugs\": {\r\n \"url\": \"https://github.com/samchon/nestia/issues\"\r\n },\r\n \"homepage\": \"https://nestia.io\",\r\n \"files\": [\r\n \"lib\",\r\n \"swagger.json\",\r\n \"package.json\",\r\n \"README.md\"\r\n ],\r\n \"devDependencies\": {\r\n \"rimraf\": \"^5.0.5\",\r\n \"ts-node\": \"^10.9.2\",\r\n \"ts-patch\": \"^3.1.2\",\r\n \"typescript\": \"^5.3.3\"\r\n },\r\n \"dependencies\": {\r\n \"@nestia/fetcher\": \"^2.5.4\",\r\n \"typia\": \"^5.4.6\"\r\n }\r\n}"
|
16
16
|
},
|
17
17
|
{
|
18
18
|
"location": "",
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import fs from "fs";
|
2
2
|
import path from "path";
|
3
|
+
import { format } from "prettier";
|
3
4
|
|
4
5
|
import { MigrateFileArchiver } from "../archivers/MigrateFileArchiver";
|
5
6
|
import { MigrateApplication } from "../module";
|
@@ -39,11 +40,21 @@ export namespace MigrateCommander {
|
|
39
40
|
: app.sdk(options.simulate);
|
40
41
|
await MigrateFileArchiver.archive({
|
41
42
|
mkdir: fs.promises.mkdir,
|
42
|
-
writeFile: (file, content) =>
|
43
|
-
fs.promises.writeFile(file, content, "utf-8"),
|
43
|
+
writeFile: async (file, content) =>
|
44
|
+
fs.promises.writeFile(file, await beautify(content), "utf-8"),
|
44
45
|
})(options.output)(files);
|
45
46
|
};
|
46
47
|
|
48
|
+
const beautify = async (script: string): Promise<string> => {
|
49
|
+
try {
|
50
|
+
return await format(script, {
|
51
|
+
parser: "typescript",
|
52
|
+
});
|
53
|
+
} catch {
|
54
|
+
return script;
|
55
|
+
}
|
56
|
+
};
|
57
|
+
|
47
58
|
const halt = (desc: string): never => {
|
48
59
|
console.error(desc);
|
49
60
|
process.exit(-1);
|
package/src/module.ts
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
export * from "./MigrateApplication";
|
2
|
-
|
3
|
-
export * from "./analyzers/MigrateAnalyzer";
|
4
|
-
|
5
|
-
export * from "./archivers/MigrateFileArchiver";
|
6
|
-
|
7
|
-
export * from "./structures/ISwagger";
|
8
|
-
export * from "./structures/ISwaggerComponents";
|
9
|
-
export * from "./structures/ISwaggerInfo";
|
10
|
-
export * from "./structures/ISwaggerRoute";
|
11
|
-
export * from "./structures/ISwaggerSecurity";
|
12
|
-
export * from "./structures/ISwaggerSchema";
|
13
|
-
export * from "./structures/IMigrateProgram";
|
14
|
-
export * from "./structures/IMigrateSchema";
|
1
|
+
export * from "./MigrateApplication";
|
2
|
+
|
3
|
+
export * from "./analyzers/MigrateAnalyzer";
|
4
|
+
|
5
|
+
export * from "./archivers/MigrateFileArchiver";
|
6
|
+
|
7
|
+
export * from "./structures/ISwagger";
|
8
|
+
export * from "./structures/ISwaggerComponents";
|
9
|
+
export * from "./structures/ISwaggerInfo";
|
10
|
+
export * from "./structures/ISwaggerRoute";
|
11
|
+
export * from "./structures/ISwaggerSecurity";
|
12
|
+
export * from "./structures/ISwaggerSchema";
|
13
|
+
export * from "./structures/IMigrateProgram";
|
14
|
+
export * from "./structures/IMigrateSchema";
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { ISwaggerSchema } from "./ISwaggerSchema";
|
2
|
-
|
3
|
-
export interface IMigrateDto {
|
4
|
-
name: string;
|
5
|
-
location: string;
|
6
|
-
schema: ISwaggerSchema | null;
|
7
|
-
children: IMigrateDto[];
|
8
|
-
}
|
1
|
+
import { ISwaggerSchema } from "./ISwaggerSchema";
|
2
|
+
|
3
|
+
export interface IMigrateDto {
|
4
|
+
name: string;
|
5
|
+
location: string;
|
6
|
+
schema: ISwaggerSchema | null;
|
7
|
+
children: IMigrateDto[];
|
8
|
+
}
|
@@ -1,25 +1,25 @@
|
|
1
|
-
import { IMigrateController } from "./IMigrateController";
|
2
|
-
import { IMigrateRoute } from "./IMigrateRoute";
|
3
|
-
import { ISwagger } from "./ISwagger";
|
4
|
-
import { ISwaggerRoute } from "./ISwaggerRoute";
|
5
|
-
|
6
|
-
export interface IMigrateProgram extends IMigrateProgram.IProps {
|
7
|
-
controllers: IMigrateController[];
|
8
|
-
}
|
9
|
-
export namespace IMigrateProgram {
|
10
|
-
export type Dictionary = Map<ISwaggerRoute, IEntry>;
|
11
|
-
export interface IEntry {
|
12
|
-
controller: IMigrateController;
|
13
|
-
route: IMigrateRoute;
|
14
|
-
}
|
15
|
-
export interface IProps {
|
16
|
-
mode: "nest" | "sdk";
|
17
|
-
simulate: boolean;
|
18
|
-
swagger: ISwagger;
|
19
|
-
dictionary: Dictionary;
|
20
|
-
}
|
21
|
-
export interface IConfig {
|
22
|
-
mode: "nest" | "sdk";
|
23
|
-
simulate: boolean;
|
24
|
-
}
|
25
|
-
}
|
1
|
+
import { IMigrateController } from "./IMigrateController";
|
2
|
+
import { IMigrateRoute } from "./IMigrateRoute";
|
3
|
+
import { ISwagger } from "./ISwagger";
|
4
|
+
import { ISwaggerRoute } from "./ISwaggerRoute";
|
5
|
+
|
6
|
+
export interface IMigrateProgram extends IMigrateProgram.IProps {
|
7
|
+
controllers: IMigrateController[];
|
8
|
+
}
|
9
|
+
export namespace IMigrateProgram {
|
10
|
+
export type Dictionary = Map<ISwaggerRoute, IEntry>;
|
11
|
+
export interface IEntry {
|
12
|
+
controller: IMigrateController;
|
13
|
+
route: IMigrateRoute;
|
14
|
+
}
|
15
|
+
export interface IProps {
|
16
|
+
mode: "nest" | "sdk";
|
17
|
+
simulate: boolean;
|
18
|
+
swagger: ISwagger;
|
19
|
+
dictionary: Dictionary;
|
20
|
+
}
|
21
|
+
export interface IConfig {
|
22
|
+
mode: "nest" | "sdk";
|
23
|
+
simulate: boolean;
|
24
|
+
}
|
25
|
+
}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { ISwaggerSchema } from "./ISwaggerSchema";
|
2
|
-
import { ISwaggerSecurity } from "./ISwaggerSecurity";
|
3
|
-
|
4
|
-
export interface ISwaggerComponents {
|
5
|
-
schemas?: Record<string, ISwaggerSchema>;
|
6
|
-
securitySchemes?: Record<string, ISwaggerSecurity>;
|
7
|
-
}
|
1
|
+
import { ISwaggerSchema } from "./ISwaggerSchema";
|
2
|
+
import { ISwaggerSecurity } from "./ISwaggerSecurity";
|
3
|
+
|
4
|
+
export interface ISwaggerComponents {
|
5
|
+
schemas?: Record<string, ISwaggerSchema>;
|
6
|
+
securitySchemes?: Record<string, ISwaggerSecurity>;
|
7
|
+
}
|
@@ -1,55 +1,55 @@
|
|
1
|
-
import { IJsDocTagInfo } from "typia/lib/schemas/metadata/IJsDocTagInfo";
|
2
|
-
|
3
|
-
import { ISwaggerSchema } from "./ISwaggerSchema";
|
4
|
-
|
5
|
-
export interface ISwaggerRoute {
|
6
|
-
parameters?: ISwaggerRoute.IParameter[];
|
7
|
-
requestBody?: ISwaggerRoute.IRequestBody;
|
8
|
-
responses?: ISwaggerRoute.IResponseBody;
|
9
|
-
summary?: string;
|
10
|
-
description?: string;
|
11
|
-
deprecated?: boolean;
|
12
|
-
security?: Record<string, string[]>[];
|
13
|
-
tags?: string[];
|
14
|
-
"x-nestia-jsDocTags"?: IJsDocTagInfo[];
|
15
|
-
}
|
16
|
-
export namespace ISwaggerRoute {
|
17
|
-
export interface IParameter {
|
18
|
-
name?: string;
|
19
|
-
in: "path" | "query" | "header" | "cookie";
|
20
|
-
schema: ISwaggerSchema;
|
21
|
-
required?: boolean;
|
22
|
-
description?: string;
|
23
|
-
}
|
24
|
-
export interface IRequestBody {
|
25
|
-
description?: string;
|
26
|
-
content: IContent;
|
27
|
-
required?: boolean;
|
28
|
-
"x-nestia-encrypted"?: boolean;
|
29
|
-
}
|
30
|
-
export type IResponseBody = Record<
|
31
|
-
string,
|
32
|
-
{
|
33
|
-
description?: string;
|
34
|
-
content?: IContent;
|
35
|
-
"x-nestia-encrypted"?: boolean;
|
36
|
-
}
|
37
|
-
>;
|
38
|
-
export interface IContent {
|
39
|
-
"text/plain"?: {
|
40
|
-
schema: ISwaggerSchema;
|
41
|
-
};
|
42
|
-
"application/json"?: {
|
43
|
-
schema: ISwaggerSchema;
|
44
|
-
};
|
45
|
-
"application/x-www-form-urlencoded"?: {
|
46
|
-
schema: ISwaggerSchema;
|
47
|
-
};
|
48
|
-
"multipart/form-data"?: {
|
49
|
-
schema: ISwaggerSchema;
|
50
|
-
};
|
51
|
-
"*/*"?: {
|
52
|
-
schema: ISwaggerSchema;
|
53
|
-
};
|
54
|
-
}
|
55
|
-
}
|
1
|
+
import { IJsDocTagInfo } from "typia/lib/schemas/metadata/IJsDocTagInfo";
|
2
|
+
|
3
|
+
import { ISwaggerSchema } from "./ISwaggerSchema";
|
4
|
+
|
5
|
+
export interface ISwaggerRoute {
|
6
|
+
parameters?: ISwaggerRoute.IParameter[];
|
7
|
+
requestBody?: ISwaggerRoute.IRequestBody;
|
8
|
+
responses?: ISwaggerRoute.IResponseBody;
|
9
|
+
summary?: string;
|
10
|
+
description?: string;
|
11
|
+
deprecated?: boolean;
|
12
|
+
security?: Record<string, string[]>[];
|
13
|
+
tags?: string[];
|
14
|
+
"x-nestia-jsDocTags"?: IJsDocTagInfo[];
|
15
|
+
}
|
16
|
+
export namespace ISwaggerRoute {
|
17
|
+
export interface IParameter {
|
18
|
+
name?: string;
|
19
|
+
in: "path" | "query" | "header" | "cookie";
|
20
|
+
schema: ISwaggerSchema;
|
21
|
+
required?: boolean;
|
22
|
+
description?: string;
|
23
|
+
}
|
24
|
+
export interface IRequestBody {
|
25
|
+
description?: string;
|
26
|
+
content: IContent;
|
27
|
+
required?: boolean;
|
28
|
+
"x-nestia-encrypted"?: boolean;
|
29
|
+
}
|
30
|
+
export type IResponseBody = Record<
|
31
|
+
string,
|
32
|
+
{
|
33
|
+
description?: string;
|
34
|
+
content?: IContent;
|
35
|
+
"x-nestia-encrypted"?: boolean;
|
36
|
+
}
|
37
|
+
>;
|
38
|
+
export interface IContent {
|
39
|
+
"text/plain"?: {
|
40
|
+
schema: ISwaggerSchema;
|
41
|
+
};
|
42
|
+
"application/json"?: {
|
43
|
+
schema: ISwaggerSchema;
|
44
|
+
};
|
45
|
+
"application/x-www-form-urlencoded"?: {
|
46
|
+
schema: ISwaggerSchema;
|
47
|
+
};
|
48
|
+
"multipart/form-data"?: {
|
49
|
+
schema: ISwaggerSchema;
|
50
|
+
};
|
51
|
+
"*/*"?: {
|
52
|
+
schema: ISwaggerSchema;
|
53
|
+
};
|
54
|
+
}
|
55
|
+
}
|
@@ -1,90 +1,90 @@
|
|
1
|
-
export type ISwaggerSchema =
|
2
|
-
| ISwaggerSchema.IUnknown
|
3
|
-
| ISwaggerSchema.INullOnly
|
4
|
-
| ISwaggerSchema.IAnyOf
|
5
|
-
| ISwaggerSchema.IOneOf
|
6
|
-
| ISwaggerSchema.IBoolean
|
7
|
-
| ISwaggerSchema.IInteger
|
8
|
-
| ISwaggerSchema.INumber
|
9
|
-
| ISwaggerSchema.IString
|
10
|
-
| ISwaggerSchema.IArray
|
11
|
-
| ISwaggerSchema.IObject
|
12
|
-
| ISwaggerSchema.IReference;
|
13
|
-
export namespace ISwaggerSchema {
|
14
|
-
export interface IUnknown extends IAttribute {
|
15
|
-
type?: undefined;
|
16
|
-
}
|
17
|
-
export interface INullOnly extends IAttribute {
|
18
|
-
type: "null";
|
19
|
-
}
|
20
|
-
|
21
|
-
export interface IAnyOf extends IAttribute {
|
22
|
-
anyOf: ISwaggerSchema[];
|
23
|
-
}
|
24
|
-
export interface IOneOf extends IAttribute {
|
25
|
-
oneOf: ISwaggerSchema[];
|
26
|
-
}
|
27
|
-
|
28
|
-
export interface IBoolean extends ISignificant<"boolean"> {
|
29
|
-
default?: boolean;
|
30
|
-
enum?: boolean[];
|
31
|
-
}
|
32
|
-
export interface IInteger extends ISignificant<"integer"> {
|
33
|
-
/** @type int */ default?: number;
|
34
|
-
/** @type int */ enum?: number[];
|
35
|
-
/** @type int */ minimum?: number;
|
36
|
-
/** @type int */ maximum?: number;
|
37
|
-
/** @type int */ exclusiveMinimum?: boolean;
|
38
|
-
/** @type int */ exclusiveMaximum?: boolean;
|
39
|
-
/** @type uint */ multipleOf?: number;
|
40
|
-
}
|
41
|
-
export interface INumber extends ISignificant<"number"> {
|
42
|
-
default?: number;
|
43
|
-
enum?: number[];
|
44
|
-
minimum?: number;
|
45
|
-
maximum?: number;
|
46
|
-
exclusiveMinimum?: boolean;
|
47
|
-
exclusiveMaximum?: boolean;
|
48
|
-
multipleOf?: number;
|
49
|
-
}
|
50
|
-
export interface IString extends ISignificant<"string"> {
|
51
|
-
default?: string;
|
52
|
-
enum?: string[];
|
53
|
-
format?: string;
|
54
|
-
pattern?: string;
|
55
|
-
/** @type uint */ minLength?: number;
|
56
|
-
/** @type uint */ maxLength?: number;
|
57
|
-
}
|
58
|
-
|
59
|
-
export interface IArray extends ISignificant<"array"> {
|
60
|
-
items: ISwaggerSchema;
|
61
|
-
/** @type uint */ minItems?: number;
|
62
|
-
/** @type uint */ maxItems?: number;
|
63
|
-
"x-typia-tuple"?: ITuple;
|
64
|
-
}
|
65
|
-
export interface ITuple extends ISignificant<"array"> {
|
66
|
-
items: ISwaggerSchema[];
|
67
|
-
}
|
68
|
-
export interface IObject extends ISignificant<"object"> {
|
69
|
-
properties?: Record<string, ISwaggerSchema>;
|
70
|
-
required?: string[];
|
71
|
-
additionalProperties?: ISwaggerSchema | boolean;
|
72
|
-
"x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
|
73
|
-
}
|
74
|
-
|
75
|
-
export interface IReference extends IAttribute {
|
76
|
-
$ref: string;
|
77
|
-
}
|
78
|
-
|
79
|
-
interface ISignificant<Type extends string> extends IAttribute {
|
80
|
-
type: Type;
|
81
|
-
nullable?: boolean;
|
82
|
-
}
|
83
|
-
interface IAttribute {
|
84
|
-
title?: string;
|
85
|
-
description?: string;
|
86
|
-
deprecated?: boolean;
|
87
|
-
"x-typia-optional"?: boolean;
|
88
|
-
"x-typia-rest"?: boolean;
|
89
|
-
}
|
90
|
-
}
|
1
|
+
export type ISwaggerSchema =
|
2
|
+
| ISwaggerSchema.IUnknown
|
3
|
+
| ISwaggerSchema.INullOnly
|
4
|
+
| ISwaggerSchema.IAnyOf
|
5
|
+
| ISwaggerSchema.IOneOf
|
6
|
+
| ISwaggerSchema.IBoolean
|
7
|
+
| ISwaggerSchema.IInteger
|
8
|
+
| ISwaggerSchema.INumber
|
9
|
+
| ISwaggerSchema.IString
|
10
|
+
| ISwaggerSchema.IArray
|
11
|
+
| ISwaggerSchema.IObject
|
12
|
+
| ISwaggerSchema.IReference;
|
13
|
+
export namespace ISwaggerSchema {
|
14
|
+
export interface IUnknown extends IAttribute {
|
15
|
+
type?: undefined;
|
16
|
+
}
|
17
|
+
export interface INullOnly extends IAttribute {
|
18
|
+
type: "null";
|
19
|
+
}
|
20
|
+
|
21
|
+
export interface IAnyOf extends IAttribute {
|
22
|
+
anyOf: ISwaggerSchema[];
|
23
|
+
}
|
24
|
+
export interface IOneOf extends IAttribute {
|
25
|
+
oneOf: ISwaggerSchema[];
|
26
|
+
}
|
27
|
+
|
28
|
+
export interface IBoolean extends ISignificant<"boolean"> {
|
29
|
+
default?: boolean;
|
30
|
+
enum?: boolean[];
|
31
|
+
}
|
32
|
+
export interface IInteger extends ISignificant<"integer"> {
|
33
|
+
/** @type int */ default?: number;
|
34
|
+
/** @type int */ enum?: number[];
|
35
|
+
/** @type int */ minimum?: number;
|
36
|
+
/** @type int */ maximum?: number;
|
37
|
+
/** @type int */ exclusiveMinimum?: boolean;
|
38
|
+
/** @type int */ exclusiveMaximum?: boolean;
|
39
|
+
/** @type uint */ multipleOf?: number;
|
40
|
+
}
|
41
|
+
export interface INumber extends ISignificant<"number"> {
|
42
|
+
default?: number;
|
43
|
+
enum?: number[];
|
44
|
+
minimum?: number;
|
45
|
+
maximum?: number;
|
46
|
+
exclusiveMinimum?: boolean;
|
47
|
+
exclusiveMaximum?: boolean;
|
48
|
+
multipleOf?: number;
|
49
|
+
}
|
50
|
+
export interface IString extends ISignificant<"string"> {
|
51
|
+
default?: string;
|
52
|
+
enum?: string[];
|
53
|
+
format?: string;
|
54
|
+
pattern?: string;
|
55
|
+
/** @type uint */ minLength?: number;
|
56
|
+
/** @type uint */ maxLength?: number;
|
57
|
+
}
|
58
|
+
|
59
|
+
export interface IArray extends ISignificant<"array"> {
|
60
|
+
items: ISwaggerSchema;
|
61
|
+
/** @type uint */ minItems?: number;
|
62
|
+
/** @type uint */ maxItems?: number;
|
63
|
+
"x-typia-tuple"?: ITuple;
|
64
|
+
}
|
65
|
+
export interface ITuple extends ISignificant<"array"> {
|
66
|
+
items: ISwaggerSchema[];
|
67
|
+
}
|
68
|
+
export interface IObject extends ISignificant<"object"> {
|
69
|
+
properties?: Record<string, ISwaggerSchema>;
|
70
|
+
required?: string[];
|
71
|
+
additionalProperties?: ISwaggerSchema | boolean;
|
72
|
+
"x-typia-patternProperties"?: Record<string, ISwaggerSchema>;
|
73
|
+
}
|
74
|
+
|
75
|
+
export interface IReference extends IAttribute {
|
76
|
+
$ref: string;
|
77
|
+
}
|
78
|
+
|
79
|
+
interface ISignificant<Type extends string> extends IAttribute {
|
80
|
+
type: Type;
|
81
|
+
nullable?: boolean;
|
82
|
+
}
|
83
|
+
interface IAttribute {
|
84
|
+
title?: string;
|
85
|
+
description?: string;
|
86
|
+
deprecated?: boolean;
|
87
|
+
"x-typia-optional"?: boolean;
|
88
|
+
"x-typia-rest"?: boolean;
|
89
|
+
}
|
90
|
+
}
|