@nestia/migrate 12.0.0-rc.3 → 12.0.0-rc.4
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/NestiaMigrateApplication.js +9 -44
- package/lib/NestiaMigrateApplication.js.map +1 -1
- package/lib/NestiaMigrateApplication.mjs +90 -3
- package/lib/NestiaMigrateApplication.mjs.map +1 -1
- package/lib/_virtual/_rolldown/runtime.mjs +13 -0
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.mjs +45 -3
- package/lib/analyzers/NestiaMigrateControllerAnalyzer.mjs.map +1 -1
- package/lib/archivers/NestiaMigrateFileArchiver.js +4 -0
- package/lib/archivers/NestiaMigrateFileArchiver.js.map +1 -1
- package/lib/archivers/NestiaMigrateFileArchiver.mjs +25 -3
- package/lib/archivers/NestiaMigrateFileArchiver.mjs.map +1 -1
- package/lib/bundles/NEST_TEMPLATE.js +46 -44
- package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
- package/lib/bundles/NEST_TEMPLATE.mjs +58 -3
- package/lib/bundles/NEST_TEMPLATE.mjs.map +1 -1
- package/lib/bundles/SDK_TEMPLATE.js +1 -1
- package/lib/bundles/SDK_TEMPLATE.mjs +28 -3
- package/lib/bundles/SDK_TEMPLATE.mjs.map +1 -1
- package/lib/executable/NestiaMigrateCommander.mjs +80 -3
- package/lib/executable/NestiaMigrateCommander.mjs.map +1 -1
- package/lib/executable/NestiaMigrateInquirer.mjs +59 -3
- package/lib/executable/NestiaMigrateInquirer.mjs.map +1 -1
- package/lib/executable/migrate.mjs +9 -3
- package/lib/executable/migrate.mjs.map +1 -1
- package/lib/factories/ExpressionFactory.mjs +10 -3
- package/lib/factories/ExpressionFactory.mjs.map +1 -1
- package/lib/factories/FormatCheatSheet.mjs +31 -3
- package/lib/factories/FormatCheatSheet.mjs.map +1 -1
- package/lib/factories/IdentifierFactory.mjs +22 -3
- package/lib/factories/IdentifierFactory.mjs.map +1 -1
- package/lib/factories/LiteralFactory.mjs +31 -3
- package/lib/factories/LiteralFactory.mjs.map +1 -1
- package/lib/factories/StatementFactory.mjs +12 -3
- package/lib/factories/StatementFactory.mjs.map +1 -1
- package/lib/factories/TypeFactory.mjs +21 -3
- package/lib/factories/TypeFactory.mjs.map +1 -1
- package/lib/factories/TypeLiteralFactory.js +2 -37
- package/lib/factories/TypeLiteralFactory.js.map +1 -1
- package/lib/factories/TypeLiteralFactory.mjs +17 -3
- package/lib/factories/TypeLiteralFactory.mjs.map +1 -1
- package/lib/index.mjs +24 -2
- package/lib/index.mjs.map +1 -1
- package/lib/internal/ts.mjs +6 -2
- package/lib/internal/ts.mjs.map +1 -1
- package/lib/module.mjs +43 -2
- package/lib/module.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiFileProgrammer.mjs +36 -3
- package/lib/programmers/NestiaMigrateApiFileProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +2 -37
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.mjs +106 -3
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.mjs +139 -3
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiProgrammer.js +1 -1
- package/lib/programmers/NestiaMigrateApiProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateApiProgrammer.mjs +71 -3
- package/lib/programmers/NestiaMigrateApiProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer.mjs +102 -3
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateApiStartProgrammer.mjs +50 -3
- package/lib/programmers/NestiaMigrateApiStartProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateDtoProgrammer.mjs +53 -3
- package/lib/programmers/NestiaMigrateDtoProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateE2eFileProgrammer.mjs +58 -3
- package/lib/programmers/NestiaMigrateE2eFileProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateE2eProgrammer.js +11 -4
- package/lib/programmers/NestiaMigrateE2eProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateE2eProgrammer.mjs +35 -3
- package/lib/programmers/NestiaMigrateE2eProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateImportProgrammer.js +12 -5
- package/lib/programmers/NestiaMigrateImportProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateImportProgrammer.mjs +50 -3
- package/lib/programmers/NestiaMigrateImportProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.js +4 -3
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.mjs +31 -3
- package/lib/programmers/NestiaMigrateNestControllerProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateNestMethodProgrammer.mjs +128 -3
- package/lib/programmers/NestiaMigrateNestMethodProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateNestModuleProgrammer.mjs +18 -3
- package/lib/programmers/NestiaMigrateNestModuleProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateNestProgrammer.js +25 -4
- package/lib/programmers/NestiaMigrateNestProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateNestProgrammer.mjs +60 -3
- package/lib/programmers/NestiaMigrateNestProgrammer.mjs.map +1 -1
- package/lib/programmers/NestiaMigrateSchemaProgrammer.js +14 -49
- package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -1
- package/lib/programmers/NestiaMigrateSchemaProgrammer.mjs +199 -3
- package/lib/programmers/NestiaMigrateSchemaProgrammer.mjs.map +1 -1
- package/lib/programmers/index.mjs +16 -2
- package/lib/structures/INestiaMigrateConfig.mjs +0 -3
- package/lib/structures/INestiaMigrateContext.mjs +0 -3
- package/lib/structures/INestiaMigrateController.mjs +0 -3
- package/lib/structures/INestiaMigrateFile.mjs +0 -3
- package/lib/structures/index.mjs +0 -2
- package/lib/utils/FilePrinter.mjs +20 -3
- package/lib/utils/FilePrinter.mjs.map +1 -1
- package/lib/utils/MapUtil.mjs +15 -3
- package/lib/utils/MapUtil.mjs.map +1 -1
- package/lib/utils/StringUtil.mjs +100 -3
- package/lib/utils/StringUtil.mjs.map +1 -1
- package/package.json +7 -11
- package/src/NestiaMigrateApplication.ts +8 -12
- package/src/archivers/NestiaMigrateFileArchiver.ts +4 -0
- package/src/bundles/NEST_TEMPLATE.ts +46 -44
- package/src/bundles/SDK_TEMPLATE.ts +1 -1
- package/src/executable/bundle.js +96 -23
- package/src/factories/TypeLiteralFactory.ts +1 -4
- package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +1 -4
- package/src/programmers/NestiaMigrateApiProgrammer.ts +1 -1
- package/src/programmers/NestiaMigrateE2eProgrammer.ts +19 -5
- package/src/programmers/NestiaMigrateImportProgrammer.ts +21 -13
- package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +4 -8
- package/src/programmers/NestiaMigrateNestProgrammer.ts +28 -7
- package/src/programmers/NestiaMigrateSchemaProgrammer.ts +1 -4
- package/lib/NestiaMigrateApplication2.mjs +0 -153
- package/lib/NestiaMigrateApplication2.mjs.map +0 -1
- package/lib/_virtual/ExpressionFactory.mjs +0 -4
- package/lib/_virtual/ExpressionFactory.mjs.map +0 -1
- package/lib/_virtual/FilePrinter.mjs +0 -4
- package/lib/_virtual/FilePrinter.mjs.map +0 -1
- package/lib/_virtual/FormatCheatSheet.mjs +0 -4
- package/lib/_virtual/FormatCheatSheet.mjs.map +0 -1
- package/lib/_virtual/INestiaMigrateConfig.mjs +0 -4
- package/lib/_virtual/INestiaMigrateConfig.mjs.map +0 -1
- package/lib/_virtual/INestiaMigrateContext.mjs +0 -4
- package/lib/_virtual/INestiaMigrateContext.mjs.map +0 -1
- package/lib/_virtual/INestiaMigrateController.mjs +0 -4
- package/lib/_virtual/INestiaMigrateController.mjs.map +0 -1
- package/lib/_virtual/INestiaMigrateFile.mjs +0 -4
- package/lib/_virtual/INestiaMigrateFile.mjs.map +0 -1
- package/lib/_virtual/IdentifierFactory.mjs +0 -4
- package/lib/_virtual/IdentifierFactory.mjs.map +0 -1
- package/lib/_virtual/LiteralFactory.mjs +0 -4
- package/lib/_virtual/LiteralFactory.mjs.map +0 -1
- package/lib/_virtual/MapUtil.mjs +0 -4
- package/lib/_virtual/MapUtil.mjs.map +0 -1
- package/lib/_virtual/NEST_TEMPLATE.mjs +0 -4
- package/lib/_virtual/NEST_TEMPLATE.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiFileProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiFileProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiFunctionProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiFunctionProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiNamespaceProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiNamespaceProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiSimulationProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiSimulationProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApiStartProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApiStartProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateApplication.mjs +0 -4
- package/lib/_virtual/NestiaMigrateApplication.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateCommander.mjs +0 -4
- package/lib/_virtual/NestiaMigrateCommander.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateControllerAnalyzer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateControllerAnalyzer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateDtoProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateDtoProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateE2eFileProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateE2eFileProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateE2eProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateE2eProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateFileArchiver.mjs +0 -4
- package/lib/_virtual/NestiaMigrateFileArchiver.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateImportProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateImportProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateInquirer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateInquirer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateNestControllerProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateNestControllerProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateNestMethodProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateNestMethodProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateNestModuleProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateNestModuleProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateNestProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateNestProgrammer.mjs.map +0 -1
- package/lib/_virtual/NestiaMigrateSchemaProgrammer.mjs +0 -4
- package/lib/_virtual/NestiaMigrateSchemaProgrammer.mjs.map +0 -1
- package/lib/_virtual/SDK_TEMPLATE.mjs +0 -4
- package/lib/_virtual/SDK_TEMPLATE.mjs.map +0 -1
- package/lib/_virtual/StatementFactory.mjs +0 -4
- package/lib/_virtual/StatementFactory.mjs.map +0 -1
- package/lib/_virtual/StringUtil.mjs +0 -4
- package/lib/_virtual/StringUtil.mjs.map +0 -1
- package/lib/_virtual/TypeFactory.mjs +0 -4
- package/lib/_virtual/TypeFactory.mjs.map +0 -1
- package/lib/_virtual/TypeLiteralFactory.mjs +0 -4
- package/lib/_virtual/TypeLiteralFactory.mjs.map +0 -1
- package/lib/_virtual/_commander.mjs +0 -7
- package/lib/_virtual/_commander.mjs.map +0 -1
- package/lib/_virtual/_commonjsHelpers.mjs +0 -35
- package/lib/_virtual/_commonjsHelpers.mjs.map +0 -1
- package/lib/_virtual/_inquirer.mjs +0 -7
- package/lib/_virtual/_inquirer.mjs.map +0 -1
- package/lib/_virtual/_node_child_process.mjs +0 -7
- package/lib/_virtual/_node_child_process.mjs.map +0 -1
- package/lib/_virtual/_node_fs.mjs +0 -7
- package/lib/_virtual/_node_fs.mjs.map +0 -1
- package/lib/_virtual/_node_path.mjs +0 -7
- package/lib/_virtual/_node_path.mjs.map +0 -1
- package/lib/_virtual/_prettier-plugin-jsdoc.mjs +0 -7
- package/lib/_virtual/_prettier-plugin-jsdoc.mjs.map +0 -1
- package/lib/_virtual/_prettier.mjs +0 -7
- package/lib/_virtual/_prettier.mjs.map +0 -1
- package/lib/_virtual/_tstl.mjs +0 -7
- package/lib/_virtual/_tstl.mjs.map +0 -1
- package/lib/_virtual/factory.mjs +0 -7
- package/lib/_virtual/factory.mjs.map +0 -1
- package/lib/_virtual/index.mjs +0 -4
- package/lib/_virtual/index.mjs.map +0 -1
- package/lib/_virtual/index2.mjs +0 -4
- package/lib/_virtual/index2.mjs.map +0 -1
- package/lib/_virtual/index3.mjs +0 -4
- package/lib/_virtual/index3.mjs.map +0 -1
- package/lib/_virtual/index4.mjs +0 -4
- package/lib/_virtual/index4.mjs.map +0 -1
- package/lib/_virtual/migrate.mjs +0 -4
- package/lib/_virtual/migrate.mjs.map +0 -1
- package/lib/_virtual/module.mjs +0 -4
- package/lib/_virtual/module.mjs.map +0 -1
- package/lib/_virtual/prettier-plugin-sort-imports.mjs +0 -7
- package/lib/_virtual/prettier-plugin-sort-imports.mjs.map +0 -1
- package/lib/_virtual/ts.mjs +0 -4
- package/lib/_virtual/ts.mjs.map +0 -1
- package/lib/_virtual/utils.mjs +0 -7
- package/lib/_virtual/utils.mjs.map +0 -1
- package/lib/analyzers/NestiaMigrateControllerAnalyzer2.mjs +0 -53
- package/lib/analyzers/NestiaMigrateControllerAnalyzer2.mjs.map +0 -1
- package/lib/archivers/NestiaMigrateFileArchiver2.mjs +0 -40
- package/lib/archivers/NestiaMigrateFileArchiver2.mjs.map +0 -1
- package/lib/bundles/NEST_TEMPLATE2.mjs +0 -66
- package/lib/bundles/NEST_TEMPLATE2.mjs.map +0 -1
- package/lib/bundles/SDK_TEMPLATE2.mjs +0 -38
- package/lib/bundles/SDK_TEMPLATE2.mjs.map +0 -1
- package/lib/executable/NestiaMigrateCommander2.mjs +0 -148
- package/lib/executable/NestiaMigrateCommander2.mjs.map +0 -1
- package/lib/executable/NestiaMigrateInquirer2.mjs +0 -93
- package/lib/executable/NestiaMigrateInquirer2.mjs.map +0 -1
- package/lib/executable/migrate2.mjs +0 -13
- package/lib/executable/migrate2.mjs.map +0 -1
- package/lib/factories/ExpressionFactory2.mjs +0 -20
- package/lib/factories/ExpressionFactory2.mjs.map +0 -1
- package/lib/factories/FormatCheatSheet2.mjs +0 -37
- package/lib/factories/FormatCheatSheet2.mjs.map +0 -1
- package/lib/factories/IdentifierFactory2.mjs +0 -56
- package/lib/factories/IdentifierFactory2.mjs.map +0 -1
- package/lib/factories/LiteralFactory2.mjs +0 -56
- package/lib/factories/LiteralFactory2.mjs.map +0 -1
- package/lib/factories/StatementFactory2.mjs +0 -26
- package/lib/factories/StatementFactory2.mjs.map +0 -1
- package/lib/factories/TypeFactory2.mjs +0 -31
- package/lib/factories/TypeFactory2.mjs.map +0 -1
- package/lib/factories/TypeLiteralFactory2.mjs +0 -72
- package/lib/factories/TypeLiteralFactory2.mjs.map +0 -1
- package/lib/index2.mjs +0 -53
- package/lib/index2.mjs.map +0 -1
- package/lib/internal/ts2.mjs +0 -10
- package/lib/internal/ts2.mjs.map +0 -1
- package/lib/module2.mjs +0 -38
- package/lib/module2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiFileProgrammer2.mjs +0 -49
- package/lib/programmers/NestiaMigrateApiFileProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer2.mjs +0 -234
- package/lib/programmers/NestiaMigrateApiFunctionProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer2.mjs +0 -238
- package/lib/programmers/NestiaMigrateApiNamespaceProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiProgrammer2.mjs +0 -92
- package/lib/programmers/NestiaMigrateApiProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer2.mjs +0 -156
- package/lib/programmers/NestiaMigrateApiSimulationProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateApiStartProgrammer2.mjs +0 -88
- package/lib/programmers/NestiaMigrateApiStartProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateDtoProgrammer2.mjs +0 -90
- package/lib/programmers/NestiaMigrateDtoProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateE2eFileProgrammer2.mjs +0 -88
- package/lib/programmers/NestiaMigrateE2eFileProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateE2eProgrammer2.mjs +0 -41
- package/lib/programmers/NestiaMigrateE2eProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateImportProgrammer2.mjs +0 -72
- package/lib/programmers/NestiaMigrateImportProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateNestControllerProgrammer2.mjs +0 -52
- package/lib/programmers/NestiaMigrateNestControllerProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateNestMethodProgrammer2.mjs +0 -229
- package/lib/programmers/NestiaMigrateNestMethodProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateNestModuleProgrammer2.mjs +0 -32
- package/lib/programmers/NestiaMigrateNestModuleProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateNestProgrammer2.mjs +0 -78
- package/lib/programmers/NestiaMigrateNestProgrammer2.mjs.map +0 -1
- package/lib/programmers/NestiaMigrateSchemaProgrammer2.mjs +0 -388
- package/lib/programmers/NestiaMigrateSchemaProgrammer2.mjs.map +0 -1
- package/lib/programmers/index.mjs.map +0 -1
- package/lib/programmers/index2.mjs +0 -71
- package/lib/programmers/index2.mjs.map +0 -1
- package/lib/structures/INestiaMigrateConfig.mjs.map +0 -1
- package/lib/structures/INestiaMigrateConfig2.mjs +0 -6
- package/lib/structures/INestiaMigrateConfig2.mjs.map +0 -1
- package/lib/structures/INestiaMigrateContext.mjs.map +0 -1
- package/lib/structures/INestiaMigrateContext2.mjs +0 -6
- package/lib/structures/INestiaMigrateContext2.mjs.map +0 -1
- package/lib/structures/INestiaMigrateController.mjs.map +0 -1
- package/lib/structures/INestiaMigrateController2.mjs +0 -6
- package/lib/structures/INestiaMigrateController2.mjs.map +0 -1
- package/lib/structures/INestiaMigrateFile.mjs.map +0 -1
- package/lib/structures/INestiaMigrateFile2.mjs +0 -6
- package/lib/structures/INestiaMigrateFile2.mjs.map +0 -1
- package/lib/structures/index.mjs.map +0 -1
- package/lib/structures/index2.mjs +0 -38
- package/lib/structures/index2.mjs.map +0 -1
- package/lib/utils/FilePrinter2.mjs +0 -28
- package/lib/utils/FilePrinter2.mjs.map +0 -1
- package/lib/utils/MapUtil2.mjs +0 -18
- package/lib/utils/MapUtil2.mjs.map +0 -1
- package/lib/utils/StringUtil2.mjs +0 -110
- package/lib/utils/StringUtil2.mjs.map +0 -1
package/src/executable/bundle.js
CHANGED
|
@@ -4,9 +4,11 @@ const fs = require("fs");
|
|
|
4
4
|
|
|
5
5
|
const ROOT = `${__dirname}/../..`;
|
|
6
6
|
const ASSETS = `${ROOT}/assets`;
|
|
7
|
-
const
|
|
7
|
+
const CATALOGS = require("js-yaml").load(
|
|
8
8
|
fs.readFileSync(`${__dirname}/../../../../pnpm-lock.yaml`, "utf8"),
|
|
9
|
-
).catalogs
|
|
9
|
+
).catalogs;
|
|
10
|
+
const TYPIA = CATALOGS.samchon;
|
|
11
|
+
const TYPESCRIPT = CATALOGS.typescript ?? {};
|
|
10
12
|
|
|
11
13
|
const update = (content, options = {}) => {
|
|
12
14
|
const parsed = JSON.parse(content);
|
|
@@ -14,10 +16,19 @@ const update = (content, options = {}) => {
|
|
|
14
16
|
parsed.dependencies ?? {},
|
|
15
17
|
parsed.devDependencies ?? {},
|
|
16
18
|
])
|
|
17
|
-
for (const key of Object.keys(record))
|
|
19
|
+
for (const key of Object.keys(record)) {
|
|
20
|
+
const current = record[key];
|
|
21
|
+
// `catalog:` / `workspace:` specifiers already carry their versions
|
|
22
|
+
// through pnpm-workspace.yaml, which gets its own stamping pass.
|
|
23
|
+
if (
|
|
24
|
+
typeof current === "string" &&
|
|
25
|
+
(current.startsWith("catalog:") || current.startsWith("workspace:"))
|
|
26
|
+
)
|
|
27
|
+
continue;
|
|
18
28
|
if (key.startsWith("@nestia/") || key === "nestia")
|
|
19
29
|
record[key] = `^${version}`;
|
|
20
30
|
else if (TYPIA[key]) record[key] = TYPIA[key].specifier;
|
|
31
|
+
}
|
|
21
32
|
migratePackageJson(parsed);
|
|
22
33
|
if (options.sdkAggregate) {
|
|
23
34
|
parsed.devDependencies ??= {};
|
|
@@ -34,12 +45,43 @@ const migratePackageJson = (parsed) => {
|
|
|
34
45
|
|
|
35
46
|
const devDependencies = parsed.devDependencies;
|
|
36
47
|
if (devDependencies) {
|
|
37
|
-
const usesTypeScript =
|
|
48
|
+
const usesTypeScript =
|
|
49
|
+
typeof devDependencies.typescript === "string" &&
|
|
50
|
+
devDependencies.typescript.startsWith("catalog:") === false;
|
|
38
51
|
delete devDependencies["typescript-transform-paths"];
|
|
39
|
-
|
|
52
|
+
// Single-package templates compiling with a direct typescript dependency
|
|
53
|
+
// need the ttsc compiler this repository currently builds against.
|
|
54
|
+
if (usesTypeScript && TYPESCRIPT.ttsc)
|
|
55
|
+
devDependencies.ttsc ??= TYPESCRIPT.ttsc.specifier;
|
|
40
56
|
}
|
|
41
57
|
};
|
|
42
58
|
|
|
59
|
+
// Stamp the template's pnpm-workspace.yaml catalogs with this repository's
|
|
60
|
+
// current versions. The rewriting is line-targeted on purpose: the samchon
|
|
61
|
+
// catalog relies on YAML anchors (`nestia: &nestia ...` aliased by the
|
|
62
|
+
// `@nestia/*` entries), and a parse/dump round trip would inline and destroy
|
|
63
|
+
// them.
|
|
64
|
+
const updateWorkspaceCatalog = (content) => {
|
|
65
|
+
const replace = (line, name, specifier) => {
|
|
66
|
+
if (typeof specifier !== "string") return line;
|
|
67
|
+
const match = line.match(
|
|
68
|
+
new RegExp(`^(\\s+${name}: (?:&[A-Za-z0-9_-]+ )?)\\S[^\\r\\n]*(\\r?)$`),
|
|
69
|
+
);
|
|
70
|
+
return match === null ? line : `${match[1]}${specifier}${match[2]}`;
|
|
71
|
+
};
|
|
72
|
+
return content
|
|
73
|
+
.split("\n")
|
|
74
|
+
.map((line) => {
|
|
75
|
+
line = replace(line, "nestia", `^${version}`);
|
|
76
|
+
for (const name of ["tgrid", "tstl", "typia"])
|
|
77
|
+
line = replace(line, name, TYPIA[name]?.specifier);
|
|
78
|
+
for (const name of ["ttsc", "typescript"])
|
|
79
|
+
line = replace(line, name, TYPESCRIPT[name]?.specifier);
|
|
80
|
+
return line;
|
|
81
|
+
})
|
|
82
|
+
.join("\n");
|
|
83
|
+
};
|
|
84
|
+
|
|
43
85
|
const trimTemplateDependencies = (parsed) => {
|
|
44
86
|
if (parsed.dependencies) {
|
|
45
87
|
delete parsed.dependencies.commander;
|
|
@@ -168,29 +210,35 @@ export namespace ArgumentParser {
|
|
|
168
210
|
|
|
169
211
|
const updateTsConfig = (content) => {
|
|
170
212
|
content = content.replace(
|
|
171
|
-
/^\s*\{\s*"transform":\s*"typescript-transform-paths"\s*\},\n/gm,
|
|
213
|
+
/^\s*\{\s*"transform":\s*"typescript-transform-paths"\s*\},\r?\n/gm,
|
|
172
214
|
"",
|
|
173
215
|
);
|
|
174
216
|
content = content.replace(
|
|
175
|
-
/^\s*\{\s*"transform":\s*"typia\/lib\/transform"(?:,\s*"enabled":\s*false)?\s*\},?\n/gm,
|
|
217
|
+
/^\s*\{\s*"transform":\s*"typia\/lib\/transform"(?:,\s*"enabled":\s*false)?\s*\},?\r?\n/gm,
|
|
176
218
|
"",
|
|
177
219
|
);
|
|
178
220
|
content = content.replace(
|
|
179
|
-
/^\s*\{\s*"transform":\s*"@nestia\/core\/lib\/transform"\s*\},?\n/gm,
|
|
221
|
+
/^\s*\{\s*"transform":\s*"@nestia\/core\/lib\/transform"\s*\},?\r?\n/gm,
|
|
180
222
|
"",
|
|
181
223
|
);
|
|
182
224
|
content = content.replace(
|
|
183
|
-
/^\s*\{\s*"transform":\s*"@nestia\/core\/native\/transform\.cjs"\s*\},?\n/gm,
|
|
225
|
+
/^\s*\{\s*"transform":\s*"@nestia\/core\/native\/transform\.cjs"\s*\},?\r?\n/gm,
|
|
184
226
|
"",
|
|
185
227
|
);
|
|
186
228
|
content = content.replace(
|
|
187
|
-
/^\s*\{\s*"transform":\s*"@nestia\/sdk\/lib\/transform"\s*\},\n/gm,
|
|
229
|
+
/^\s*\{\s*"transform":\s*"@nestia\/sdk\/lib\/transform"\s*\},\r?\n/gm,
|
|
188
230
|
"",
|
|
189
231
|
);
|
|
190
232
|
return content;
|
|
191
233
|
};
|
|
192
234
|
|
|
193
|
-
const bundle = async ({
|
|
235
|
+
const bundle = async ({
|
|
236
|
+
mode,
|
|
237
|
+
repository,
|
|
238
|
+
revision,
|
|
239
|
+
exceptions,
|
|
240
|
+
transform,
|
|
241
|
+
}) => {
|
|
194
242
|
const root = `${__dirname}/../..`;
|
|
195
243
|
const assets = `${root}/assets`;
|
|
196
244
|
const template = `${assets}/${mode}`;
|
|
@@ -204,8 +252,22 @@ const bundle = async ({ mode, repository, exceptions, transform }) => {
|
|
|
204
252
|
await fs.promises.mkdir(ASSETS);
|
|
205
253
|
} catch {}
|
|
206
254
|
|
|
207
|
-
|
|
208
|
-
|
|
255
|
+
// Disable line-ending conversion so the bundled template is byte-identical
|
|
256
|
+
// on every platform: with core.autocrlf=true (the common Windows default)
|
|
257
|
+
// the checkout would rewrite LF to CRLF and break the line-targeted
|
|
258
|
+
// transforms below.
|
|
259
|
+
cp.execSync(
|
|
260
|
+
`git clone --config core.autocrlf=false https://github.com/samchon/${repository} ${mode}`,
|
|
261
|
+
{
|
|
262
|
+
cwd: ASSETS,
|
|
263
|
+
},
|
|
264
|
+
);
|
|
265
|
+
// The template repositories are live projects; an unpinned clone lets any
|
|
266
|
+
// upstream push break this build (samchon/nestia-start#632 did exactly
|
|
267
|
+
// that), so every bundle checks out a reviewed revision.
|
|
268
|
+
cp.execSync(`git checkout ${revision}`, {
|
|
269
|
+
cwd: template,
|
|
270
|
+
stdio: "pipe",
|
|
209
271
|
});
|
|
210
272
|
|
|
211
273
|
// REMOVE VULNERABLE FILES
|
|
@@ -268,15 +330,25 @@ const main = async () => {
|
|
|
268
330
|
await bundle({
|
|
269
331
|
mode: "nest",
|
|
270
332
|
repository: "nestia-start",
|
|
333
|
+
// The pnpm monorepo restructuring of nestia-start (samchon/nestia-start#632,
|
|
334
|
+
// #634, #635) is now the layout the migrate programmers emit. This revision
|
|
335
|
+
// is the first monorepo commit whose config package is consumed through
|
|
336
|
+
// workspace dependencies, so the archive works with a plain `pnpm install`.
|
|
337
|
+
revision: "314d77f2e4ef41b18ba1ab7d14ba97f5f74897f3",
|
|
271
338
|
exceptions: [
|
|
272
339
|
".git",
|
|
273
340
|
".github/dependabot.yml",
|
|
274
341
|
".github/workflows/dependabot-automerge.yml",
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
"
|
|
279
|
-
"
|
|
342
|
+
// The template's lockfile resolves the catalog versions that the
|
|
343
|
+
// stamping below rewrites; shipping it would only bloat NEST_TEMPLATE
|
|
344
|
+
// with 160 KB of immediately-stale data.
|
|
345
|
+
"pnpm-lock.yaml",
|
|
346
|
+
"packages/api/src/functional",
|
|
347
|
+
"packages/api/src/structures",
|
|
348
|
+
"packages/backend/src/MyModule.ts",
|
|
349
|
+
"packages/backend/src/controllers",
|
|
350
|
+
"packages/backend/src/providers",
|
|
351
|
+
"packages/backend/test/features",
|
|
280
352
|
],
|
|
281
353
|
transform: (key, value) => {
|
|
282
354
|
if (key.endsWith("package.json")) {
|
|
@@ -284,15 +356,17 @@ const main = async () => {
|
|
|
284
356
|
trimTemplateDependencies(parsed);
|
|
285
357
|
return JSON.stringify(parsed, null, 2);
|
|
286
358
|
}
|
|
287
|
-
if (key === "
|
|
288
|
-
if (key
|
|
289
|
-
return
|
|
359
|
+
if (key === "pnpm-workspace.yaml") return updateWorkspaceCatalog(value);
|
|
360
|
+
if (key === "packages/backend/test/helpers/ArgumentParser.ts")
|
|
361
|
+
return ARGUMENT_PARSER;
|
|
362
|
+
if (key.endsWith("tsconfig.json")) return updateTsConfig(value);
|
|
290
363
|
return value;
|
|
291
364
|
},
|
|
292
365
|
});
|
|
293
366
|
await bundle({
|
|
294
367
|
mode: "sdk",
|
|
295
368
|
repository: "nestia-sdk-template",
|
|
369
|
+
revision: "8cfb771ea2bdc1692ce256863a0ada49990214a8",
|
|
296
370
|
exceptions: [
|
|
297
371
|
".git",
|
|
298
372
|
".github/dependabot.yml",
|
|
@@ -311,8 +385,7 @@ const main = async () => {
|
|
|
311
385
|
return JSON.stringify(parsed, null, 2);
|
|
312
386
|
}
|
|
313
387
|
if (key === "test/utils/ArgumentParser.ts") return ARGUMENT_PARSER;
|
|
314
|
-
if (key.endsWith("tsconfig.json"))
|
|
315
|
-
return updateTsConfig(value);
|
|
388
|
+
if (key.endsWith("tsconfig.json")) return updateTsConfig(value);
|
|
316
389
|
return value;
|
|
317
390
|
},
|
|
318
391
|
});
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { SyntaxKind, factory } from "@ttsc/factory";
|
|
2
|
-
import
|
|
2
|
+
import { NamingConvention } from "@typia/utils";
|
|
3
3
|
|
|
4
4
|
import ts from "../internal/ts";
|
|
5
5
|
|
|
6
|
-
const { NamingConvention } =
|
|
7
|
-
(typiaUtils as { default?: typeof typiaUtils }).default ?? typiaUtils;
|
|
8
|
-
|
|
9
6
|
export namespace TypeLiteralFactory {
|
|
10
7
|
export const generate = (value: any): ts.TypeNode =>
|
|
11
8
|
typeof value === "boolean"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SyntaxKind, factory } from "@ttsc/factory";
|
|
2
2
|
import { IHttpMigrateRoute, OpenApi } from "@typia/interface";
|
|
3
|
-
import
|
|
3
|
+
import { NamingConvention } from "@typia/utils";
|
|
4
4
|
|
|
5
5
|
import { IdentifierFactory } from "../factories/IdentifierFactory";
|
|
6
6
|
import { StatementFactory } from "../factories/StatementFactory";
|
|
@@ -10,9 +10,6 @@ import { FilePrinter } from "../utils/FilePrinter";
|
|
|
10
10
|
import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
|
|
11
11
|
import { NestiaMigrateSchemaProgrammer } from "./NestiaMigrateSchemaProgrammer";
|
|
12
12
|
|
|
13
|
-
const { NamingConvention } =
|
|
14
|
-
(typiaUtils as { default?: typeof typiaUtils }).default ?? typiaUtils;
|
|
15
|
-
|
|
16
13
|
export namespace NestiaMigrateApiFunctionProgrammer {
|
|
17
14
|
export interface IContext {
|
|
18
15
|
config: INestiaMigrateConfig;
|
|
@@ -48,7 +48,7 @@ export namespace NestiaMigrateApiProgrammer {
|
|
|
48
48
|
// DO GENERATE
|
|
49
49
|
const files: Record<string, string> = Object.fromEntries(
|
|
50
50
|
dict.toJSON().map(({ second: value }) => [
|
|
51
|
-
|
|
51
|
+
`${ctx.mode === "nest" ? "packages/api/src" : "src"}/functional/${[...value.namespace, "index.ts"].join("/")}`,
|
|
52
52
|
FilePrinter.write({
|
|
53
53
|
statements: NestiaMigrateApiFileProgrammer.write({
|
|
54
54
|
...value,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IHttpMigrateRoute, OpenApi } from "@typia/interface";
|
|
2
|
-
import ts from "../internal/ts";
|
|
3
2
|
|
|
3
|
+
import ts from "../internal/ts";
|
|
4
4
|
import { INestiaMigrateConfig } from "../structures/INestiaMigrateConfig";
|
|
5
5
|
import { INestiaMigrateContext } from "../structures/INestiaMigrateContext";
|
|
6
6
|
import { INestiaMigrateFile } from "../structures/INestiaMigrateFile";
|
|
@@ -13,12 +13,18 @@ export namespace NestiaMigrateE2eProgrammer {
|
|
|
13
13
|
Object.fromEntries(
|
|
14
14
|
ctx.application.routes
|
|
15
15
|
.map((r) =>
|
|
16
|
-
writeFile(
|
|
16
|
+
writeFile(
|
|
17
|
+
ctx.mode,
|
|
18
|
+
ctx.config,
|
|
19
|
+
ctx.application.document().components,
|
|
20
|
+
r,
|
|
21
|
+
),
|
|
17
22
|
)
|
|
18
23
|
.map((r) => [`${r.location}/${r.file}`, r.content]),
|
|
19
24
|
);
|
|
20
25
|
|
|
21
26
|
const writeFile = (
|
|
27
|
+
mode: INestiaMigrateContext["mode"],
|
|
22
28
|
config: INestiaMigrateConfig,
|
|
23
29
|
components: OpenApi.IComponents,
|
|
24
30
|
route: IHttpMigrateRoute,
|
|
@@ -33,14 +39,22 @@ export namespace NestiaMigrateE2eProgrammer {
|
|
|
33
39
|
route,
|
|
34
40
|
});
|
|
35
41
|
const statements: ts.Statement[] = [
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
// The monorepo template consumes the api workspace package through its
|
|
43
|
+
// package name, while the single-package sdk template keeps resolving
|
|
44
|
+
// the built `lib` paths through tsconfig path mappings.
|
|
45
|
+
...importer.toStatements((name) =>
|
|
46
|
+
mode === "nest"
|
|
47
|
+
? "@ORGANIZATION/PROJECT-api"
|
|
48
|
+
: `@ORGANIZATION/PROJECT-api/lib/structures/${name}`,
|
|
38
49
|
),
|
|
39
50
|
FilePrinter.newLine(),
|
|
40
51
|
func,
|
|
41
52
|
];
|
|
42
53
|
return {
|
|
43
|
-
location:
|
|
54
|
+
location:
|
|
55
|
+
mode === "nest"
|
|
56
|
+
? `packages/backend/test/features/api`
|
|
57
|
+
: `test/features/api`,
|
|
44
58
|
file: `${["test", "api", ...route.accessor].join("_")}.ts`,
|
|
45
59
|
content: FilePrinter.write({ statements }),
|
|
46
60
|
};
|
|
@@ -55,6 +55,13 @@ export class NestiaMigrateImportProgrammer {
|
|
|
55
55
|
dtoPath: (name: string) => string,
|
|
56
56
|
current?: string,
|
|
57
57
|
): ts.Statement[] {
|
|
58
|
+
// Group the DTO references by their resolved module specifier: relative
|
|
59
|
+
// specifiers stay one-import-per-file, while package specifiers (e.g. the
|
|
60
|
+
// monorepo's `@ORGANIZATION/PROJECT-api`) merge into a single clause.
|
|
61
|
+
const modules: Map<string, string[]> = new Map();
|
|
62
|
+
for (const name of this.dtos_)
|
|
63
|
+
if (current === undefined || name !== current.split(".")[0])
|
|
64
|
+
MapUtil.take(modules)(dtoPath(name))(() => []).push(name);
|
|
58
65
|
return [
|
|
59
66
|
...[...this.external_.entries()].map(([library, props]) =>
|
|
60
67
|
factory.createImportDeclaration(
|
|
@@ -82,27 +89,28 @@ export class NestiaMigrateImportProgrammer {
|
|
|
82
89
|
...(this.external_.size && this.dtos_.size
|
|
83
90
|
? [FilePrinter.newLine()]
|
|
84
91
|
: []),
|
|
85
|
-
...[...
|
|
86
|
-
.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
...[...modules.entries()].map(([specifier, names]) =>
|
|
93
|
+
factory.createImportDeclaration(
|
|
94
|
+
undefined,
|
|
95
|
+
// DTO files declare pure types, and generated code references them
|
|
96
|
+
// only in type positions — keep the clause type-only so emitted
|
|
97
|
+
// JS never loads the DTO module at runtime.
|
|
98
|
+
factory.createImportClause(
|
|
99
|
+
true,
|
|
91
100
|
undefined,
|
|
92
|
-
factory.
|
|
93
|
-
|
|
94
|
-
undefined,
|
|
95
|
-
factory.createNamedImports([
|
|
101
|
+
factory.createNamedImports(
|
|
102
|
+
names.map((name) =>
|
|
96
103
|
factory.createImportSpecifier(
|
|
97
104
|
false,
|
|
98
105
|
undefined,
|
|
99
|
-
factory.createIdentifier(
|
|
106
|
+
factory.createIdentifier(name),
|
|
100
107
|
),
|
|
101
|
-
|
|
108
|
+
),
|
|
102
109
|
),
|
|
103
|
-
factory.createStringLiteral(dtoPath(i)),
|
|
104
110
|
),
|
|
111
|
+
factory.createStringLiteral(specifier),
|
|
105
112
|
),
|
|
113
|
+
),
|
|
106
114
|
];
|
|
107
115
|
}
|
|
108
116
|
}
|
|
@@ -5,7 +5,6 @@ import ts from "../internal/ts";
|
|
|
5
5
|
import { INestiaMigrateConfig } from "../structures/INestiaMigrateConfig";
|
|
6
6
|
import { INestiaMigrateController } from "../structures/INestiaMigrateController";
|
|
7
7
|
import { FilePrinter } from "../utils/FilePrinter";
|
|
8
|
-
import { StringUtil } from "../utils/StringUtil";
|
|
9
8
|
import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
|
|
10
9
|
import { NestiaMigrateNestMethodProgrammer } from "./NestiaMigrateNestMethodProgrammer";
|
|
11
10
|
|
|
@@ -56,13 +55,10 @@ export namespace NestiaMigrateNestControllerProgrammer {
|
|
|
56
55
|
.flat(),
|
|
57
56
|
);
|
|
58
57
|
return [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.length - 1,
|
|
64
|
-
)}api/structures/${ref}`,
|
|
65
|
-
),
|
|
58
|
+
// Controllers live in the backend workspace package while the DTO
|
|
59
|
+
// structures belong to the api package, so the types must be imported
|
|
60
|
+
// through the package name instead of a relative path.
|
|
61
|
+
...importer.toStatements(() => "@ORGANIZATION/PROJECT-api"),
|
|
66
62
|
...(importer.empty() ? [] : [FilePrinter.newLine()]),
|
|
67
63
|
$class,
|
|
68
64
|
];
|
|
@@ -17,11 +17,14 @@ export namespace NestiaMigrateNestProgrammer {
|
|
|
17
17
|
const controllers: INestiaMigrateController[] =
|
|
18
18
|
NestiaMigrateControllerAnalyzer.analyze(context.application.routes);
|
|
19
19
|
const statements: [string, ts.Statement[]][] = [
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
"packages/backend/src/MyModule.ts",
|
|
22
|
+
NestiaMigrateNestModuleProgrammer.write(controllers),
|
|
23
|
+
],
|
|
21
24
|
...controllers.map(
|
|
22
25
|
(c) =>
|
|
23
26
|
[
|
|
24
|
-
|
|
27
|
+
`packages/backend/${c.location}/${c.name}.ts`,
|
|
25
28
|
NestiaMigrateNestControllerProgrammer.write({
|
|
26
29
|
config: context.config,
|
|
27
30
|
components: context.application.document().components,
|
|
@@ -36,18 +39,36 @@ export namespace NestiaMigrateNestProgrammer {
|
|
|
36
39
|
}).entries(),
|
|
37
40
|
].map(
|
|
38
41
|
([key, value]) =>
|
|
39
|
-
[
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
],
|
|
42
|
+
[
|
|
43
|
+
`packages/api/src/structures/${key}.ts`,
|
|
44
|
+
writeDtoFile(key, value),
|
|
45
|
+
] satisfies [string, ts.Statement[]],
|
|
43
46
|
),
|
|
44
47
|
];
|
|
45
|
-
|
|
48
|
+
const files: Record<string, string> = Object.fromEntries(
|
|
46
49
|
statements.map(([key, value]) => [
|
|
47
50
|
key,
|
|
48
51
|
FilePrinter.write({ statements: value }),
|
|
49
52
|
]),
|
|
50
53
|
);
|
|
54
|
+
// The template's `packages/api/src/module.ts` re-exports the DTO types
|
|
55
|
+
// through `export * from "./structures"`, so the generated structure files
|
|
56
|
+
// need a barrel replacing the one deleted from the bundled template.
|
|
57
|
+
files["packages/api/src/structures/index.ts"] = writeDtoBarrel(files);
|
|
58
|
+
return files;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const writeDtoBarrel = (files: Record<string, string>): string => {
|
|
62
|
+
const prefix: string = "packages/api/src/structures/";
|
|
63
|
+
const names: string[] = Object.entries(files)
|
|
64
|
+
.filter(
|
|
65
|
+
([key, content]) =>
|
|
66
|
+
key.startsWith(prefix) && key.endsWith(".ts") && content.length !== 0,
|
|
67
|
+
)
|
|
68
|
+
.map(([key]) => key.slice(prefix.length, -".ts".length))
|
|
69
|
+
.sort();
|
|
70
|
+
if (names.length === 0) return "export {};\n";
|
|
71
|
+
return names.map((name) => `export * from "./${name}";\n`).join("");
|
|
51
72
|
};
|
|
52
73
|
|
|
53
74
|
const writeDtoFile = (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SyntaxKind, factory } from "@ttsc/factory";
|
|
2
|
-
import
|
|
2
|
+
import { NamingConvention, OpenApiTypeChecker } from "@typia/utils";
|
|
3
3
|
import type { OpenApi } from "typia";
|
|
4
4
|
|
|
5
5
|
import { FormatCheatSheet } from "../factories/FormatCheatSheet";
|
|
@@ -9,9 +9,6 @@ import { FilePrinter } from "../utils/FilePrinter";
|
|
|
9
9
|
import { StringUtil } from "../utils/StringUtil";
|
|
10
10
|
import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
|
|
11
11
|
|
|
12
|
-
const { NamingConvention, OpenApiTypeChecker } =
|
|
13
|
-
(typiaUtils as { default?: typeof typiaUtils }).default ?? typiaUtils;
|
|
14
|
-
|
|
15
12
|
export namespace NestiaMigrateSchemaProgrammer {
|
|
16
13
|
/* -----------------------------------------------------------
|
|
17
14
|
FACADE
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { __exports as NestiaMigrateApplication$1 } from './_virtual/NestiaMigrateApplication.mjs';
|
|
2
|
-
import require$$0 from './_virtual/utils.mjs';
|
|
3
|
-
import './bundles/NEST_TEMPLATE2.mjs';
|
|
4
|
-
import './bundles/SDK_TEMPLATE2.mjs';
|
|
5
|
-
import './programmers/NestiaMigrateApiProgrammer2.mjs';
|
|
6
|
-
import './programmers/NestiaMigrateApiStartProgrammer2.mjs';
|
|
7
|
-
import './programmers/NestiaMigrateE2eProgrammer2.mjs';
|
|
8
|
-
import './programmers/NestiaMigrateNestProgrammer2.mjs';
|
|
9
|
-
import { __exports as NEST_TEMPLATE } from './_virtual/NEST_TEMPLATE.mjs';
|
|
10
|
-
import { __exports as NestiaMigrateNestProgrammer } from './_virtual/NestiaMigrateNestProgrammer.mjs';
|
|
11
|
-
import { __exports as NestiaMigrateApiProgrammer } from './_virtual/NestiaMigrateApiProgrammer.mjs';
|
|
12
|
-
import { __exports as NestiaMigrateE2eProgrammer } from './_virtual/NestiaMigrateE2eProgrammer.mjs';
|
|
13
|
-
import { __exports as SDK_TEMPLATE } from './_virtual/SDK_TEMPLATE.mjs';
|
|
14
|
-
import { __exports as NestiaMigrateApiStartProgrammer } from './_virtual/NestiaMigrateApiStartProgrammer.mjs';
|
|
15
|
-
|
|
16
|
-
var __createBinding = (NestiaMigrateApplication$1 && NestiaMigrateApplication$1.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
-
}
|
|
22
|
-
Object.defineProperty(o, k2, desc);
|
|
23
|
-
}) : (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
o[k2] = m[k];
|
|
26
|
-
}));
|
|
27
|
-
var __setModuleDefault = (NestiaMigrateApplication$1 && NestiaMigrateApplication$1.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
-
}) : function(o, v) {
|
|
30
|
-
o["default"] = v;
|
|
31
|
-
});
|
|
32
|
-
var __importStar = (NestiaMigrateApplication$1 && NestiaMigrateApplication$1.__importStar) || (function () {
|
|
33
|
-
var ownKeys = function(o) {
|
|
34
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
35
|
-
var ar = [];
|
|
36
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
37
|
-
return ar;
|
|
38
|
-
};
|
|
39
|
-
return ownKeys(o);
|
|
40
|
-
};
|
|
41
|
-
return function (mod) {
|
|
42
|
-
if (mod && mod.__esModule) return mod;
|
|
43
|
-
var result = {};
|
|
44
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
45
|
-
__setModuleDefault(result, mod);
|
|
46
|
-
return result;
|
|
47
|
-
};
|
|
48
|
-
})();
|
|
49
|
-
var _a;
|
|
50
|
-
Object.defineProperty(NestiaMigrateApplication$1, "__esModule", { value: true });
|
|
51
|
-
var NestiaMigrateApplication_2 = NestiaMigrateApplication$1.NestiaMigrateApplication = void 0;
|
|
52
|
-
const typiaUtils = __importStar(require$$0);
|
|
53
|
-
const NEST_TEMPLATE_1 = NEST_TEMPLATE;
|
|
54
|
-
const SDK_TEMPLATE_1 = SDK_TEMPLATE;
|
|
55
|
-
const NestiaMigrateApiProgrammer_1 = NestiaMigrateApiProgrammer;
|
|
56
|
-
const NestiaMigrateApiStartProgrammer_1 = NestiaMigrateApiStartProgrammer;
|
|
57
|
-
const NestiaMigrateE2eProgrammer_1 = NestiaMigrateE2eProgrammer;
|
|
58
|
-
const NestiaMigrateNestProgrammer_1 = NestiaMigrateNestProgrammer;
|
|
59
|
-
const { HttpMigration, OpenApiConverter } = (_a = typiaUtils.default) !== null && _a !== void 0 ? _a : typiaUtils;
|
|
60
|
-
class NestiaMigrateApplication {
|
|
61
|
-
/* -----------------------------------------------------------
|
|
62
|
-
CONSTRUCTORS
|
|
63
|
-
----------------------------------------------------------- */
|
|
64
|
-
constructor(document) {
|
|
65
|
-
this.document = document;
|
|
66
|
-
this.data_ = HttpMigration.application(document);
|
|
67
|
-
}
|
|
68
|
-
static assert(document) {
|
|
69
|
-
return new NestiaMigrateApplication(OpenApiConverter.upgradeDocument(document));
|
|
70
|
-
}
|
|
71
|
-
static validate(document) {
|
|
72
|
-
try {
|
|
73
|
-
return {
|
|
74
|
-
success: true,
|
|
75
|
-
data: new NestiaMigrateApplication(OpenApiConverter.upgradeDocument(document)),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
catch (exp) {
|
|
79
|
-
const message = exp instanceof Error ? exp.message : String(exp);
|
|
80
|
-
return {
|
|
81
|
-
success: false,
|
|
82
|
-
data: document,
|
|
83
|
-
errors: [
|
|
84
|
-
{
|
|
85
|
-
path: "$input",
|
|
86
|
-
expected: "SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApiV3_2.IDocument | OpenApi.IDocument",
|
|
87
|
-
value: message,
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/* -----------------------------------------------------------
|
|
94
|
-
ACCESSORS
|
|
95
|
-
----------------------------------------------------------- */
|
|
96
|
-
getData() {
|
|
97
|
-
return this.data_;
|
|
98
|
-
}
|
|
99
|
-
nest(config) {
|
|
100
|
-
const context = createContext("nest", this.data_, config);
|
|
101
|
-
const files = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Object.fromEntries(Object.entries(NEST_TEMPLATE_1.NEST_TEMPLATE).filter(([key]) => key.startsWith("src/api/structures") === false &&
|
|
102
|
-
key.startsWith("src/api/functional") === false &&
|
|
103
|
-
key.startsWith("src/api/controllers") === false &&
|
|
104
|
-
key.startsWith("test/features") === false))), NestiaMigrateNestProgrammer_1.NestiaMigrateNestProgrammer.write(context)), NestiaMigrateApiProgrammer_1.NestiaMigrateApiProgrammer.write(context)), (config.e2e ? NestiaMigrateE2eProgrammer_1.NestiaMigrateE2eProgrammer.write(context) : {})), (config.keyword === false
|
|
105
|
-
? {
|
|
106
|
-
"nestia.config.ts": NEST_TEMPLATE_1.NEST_TEMPLATE["nestia.config.ts"].replace("keyword: true", "keyword: false"),
|
|
107
|
-
}
|
|
108
|
-
: {}));
|
|
109
|
-
return config.package ? renameSlug(config.package, files) : files;
|
|
110
|
-
}
|
|
111
|
-
sdk(config) {
|
|
112
|
-
const context = createContext("sdk", this.data_, config);
|
|
113
|
-
const files = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Object.fromEntries(Object.entries(SDK_TEMPLATE_1.SDK_TEMPLATE).filter(([key]) => key.startsWith("src/structures") === false &&
|
|
114
|
-
key.startsWith("src/functional") === false &&
|
|
115
|
-
key.startsWith("test/features") === false))), NestiaMigrateApiProgrammer_1.NestiaMigrateApiProgrammer.write(context)), NestiaMigrateApiStartProgrammer_1.NestiaMigrateApiStartProgrammer.write(context)), (config.e2e ? NestiaMigrateE2eProgrammer_1.NestiaMigrateE2eProgrammer.write(context) : {})), { "swagger.json": JSON.stringify(this.document, null, 2) });
|
|
116
|
-
return config.package ? renameSlug(config.package, files) : files;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
NestiaMigrateApplication_2 = NestiaMigrateApplication$1.NestiaMigrateApplication = NestiaMigrateApplication;
|
|
120
|
-
const createContext = (mode, application, config) => {
|
|
121
|
-
const routes = escapeConflictingAccessors(application.routes
|
|
122
|
-
.filter((r) => r.method !== "query")
|
|
123
|
-
.map((r) => (Object.assign(Object.assign({}, r), { accessor: [...r.accessor] }))));
|
|
124
|
-
return {
|
|
125
|
-
mode,
|
|
126
|
-
application: Object.assign(Object.assign({}, application), { routes }),
|
|
127
|
-
config,
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
const escapeConflictingAccessors = (routes) => {
|
|
131
|
-
for (const route of routes)
|
|
132
|
-
while (true) {
|
|
133
|
-
const neighbor = routes.find((candidate) => candidate !== route &&
|
|
134
|
-
candidate.accessor.length < route.accessor.length &&
|
|
135
|
-
route.accessor
|
|
136
|
-
.slice(0, candidate.accessor.length)
|
|
137
|
-
.every((value, index) => value === candidate.accessor[index]));
|
|
138
|
-
if (neighbor === undefined)
|
|
139
|
-
break;
|
|
140
|
-
const index = neighbor.accessor.length - 1;
|
|
141
|
-
route.accessor[index] = `_${route.accessor[index]}`;
|
|
142
|
-
}
|
|
143
|
-
return routes;
|
|
144
|
-
};
|
|
145
|
-
const renameSlug = (slug, files) => {
|
|
146
|
-
return Object.fromEntries(Object.entries(files).map(([key, value]) => [
|
|
147
|
-
key,
|
|
148
|
-
value.split(`@ORGANIZATION/PROJECT`).join(slug),
|
|
149
|
-
]));
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
export { NestiaMigrateApplication_2 as NestiaMigrateApplication, NestiaMigrateApplication$1 as default };
|
|
153
|
-
//# sourceMappingURL=NestiaMigrateApplication2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NestiaMigrateApplication2.mjs","sources":["NestiaMigrateApplication.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NestiaMigrateApplication = void 0;\nconst typiaUtils = __importStar(require(\"@typia/utils\"));\nconst NEST_TEMPLATE_1 = require(\"./bundles/NEST_TEMPLATE\");\nconst SDK_TEMPLATE_1 = require(\"./bundles/SDK_TEMPLATE\");\nconst NestiaMigrateApiProgrammer_1 = require(\"./programmers/NestiaMigrateApiProgrammer\");\nconst NestiaMigrateApiStartProgrammer_1 = require(\"./programmers/NestiaMigrateApiStartProgrammer\");\nconst NestiaMigrateE2eProgrammer_1 = require(\"./programmers/NestiaMigrateE2eProgrammer\");\nconst NestiaMigrateNestProgrammer_1 = require(\"./programmers/NestiaMigrateNestProgrammer\");\nconst { HttpMigration, OpenApiConverter } = (_a = typiaUtils.default) !== null && _a !== void 0 ? _a : typiaUtils;\nclass NestiaMigrateApplication {\n /* -----------------------------------------------------------\n CONSTRUCTORS\n ----------------------------------------------------------- */\n constructor(document) {\n this.document = document;\n this.data_ = HttpMigration.application(document);\n }\n static assert(document) {\n return new NestiaMigrateApplication(OpenApiConverter.upgradeDocument(document));\n }\n static validate(document) {\n try {\n return {\n success: true,\n data: new NestiaMigrateApplication(OpenApiConverter.upgradeDocument(document)),\n };\n }\n catch (exp) {\n const message = exp instanceof Error ? exp.message : String(exp);\n return {\n success: false,\n data: document,\n errors: [\n {\n path: \"$input\",\n expected: \"SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApiV3_2.IDocument | OpenApi.IDocument\",\n value: message,\n },\n ],\n };\n }\n }\n /* -----------------------------------------------------------\n ACCESSORS\n ----------------------------------------------------------- */\n getData() {\n return this.data_;\n }\n nest(config) {\n const context = createContext(\"nest\", this.data_, config);\n const files = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Object.fromEntries(Object.entries(NEST_TEMPLATE_1.NEST_TEMPLATE).filter(([key]) => key.startsWith(\"src/api/structures\") === false &&\n key.startsWith(\"src/api/functional\") === false &&\n key.startsWith(\"src/api/controllers\") === false &&\n key.startsWith(\"test/features\") === false))), NestiaMigrateNestProgrammer_1.NestiaMigrateNestProgrammer.write(context)), NestiaMigrateApiProgrammer_1.NestiaMigrateApiProgrammer.write(context)), (config.e2e ? NestiaMigrateE2eProgrammer_1.NestiaMigrateE2eProgrammer.write(context) : {})), (config.keyword === false\n ? {\n \"nestia.config.ts\": NEST_TEMPLATE_1.NEST_TEMPLATE[\"nestia.config.ts\"].replace(\"keyword: true\", \"keyword: false\"),\n }\n : {}));\n return config.package ? renameSlug(config.package, files) : files;\n }\n sdk(config) {\n const context = createContext(\"sdk\", this.data_, config);\n const files = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Object.fromEntries(Object.entries(SDK_TEMPLATE_1.SDK_TEMPLATE).filter(([key]) => key.startsWith(\"src/structures\") === false &&\n key.startsWith(\"src/functional\") === false &&\n key.startsWith(\"test/features\") === false))), NestiaMigrateApiProgrammer_1.NestiaMigrateApiProgrammer.write(context)), NestiaMigrateApiStartProgrammer_1.NestiaMigrateApiStartProgrammer.write(context)), (config.e2e ? NestiaMigrateE2eProgrammer_1.NestiaMigrateE2eProgrammer.write(context) : {})), { \"swagger.json\": JSON.stringify(this.document, null, 2) });\n return config.package ? renameSlug(config.package, files) : files;\n }\n}\nexports.NestiaMigrateApplication = NestiaMigrateApplication;\nconst createContext = (mode, application, config) => {\n const routes = escapeConflictingAccessors(application.routes\n .filter((r) => r.method !== \"query\")\n .map((r) => (Object.assign(Object.assign({}, r), { accessor: [...r.accessor] }))));\n return {\n mode,\n application: Object.assign(Object.assign({}, application), { routes }),\n config,\n };\n};\nconst escapeConflictingAccessors = (routes) => {\n for (const route of routes)\n while (true) {\n const neighbor = routes.find((candidate) => candidate !== route &&\n candidate.accessor.length < route.accessor.length &&\n route.accessor\n .slice(0, candidate.accessor.length)\n .every((value, index) => value === candidate.accessor[index]));\n if (neighbor === undefined)\n break;\n const index = neighbor.accessor.length - 1;\n route.accessor[index] = `_${route.accessor[index]}`;\n }\n return routes;\n};\nconst renameSlug = (slug, files) => {\n return Object.fromEntries(Object.entries(files).map(([key, value]) => [\n key,\n value.split(`@ORGANIZATION/PROJECT`).join(slug),\n ]));\n};\n//# sourceMappingURL=NestiaMigrateApplication.js.map"],"names":["this","NestiaMigrateApplication_1","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6"],"mappings":";;;;;;;;;;;;;;;AACA,IAAI,eAAe,GAAG,CAACA,0BAAI,IAAIA,0BAAI,CAAC,eAAe,MAAM,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;AAChG,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC;AAChC,IAAI,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC;AACpD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;AACvF,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACnE,IAAA;AACA,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;AACtC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;AAC5B,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,EAAE,GAAG,CAAC;AAChC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AACH,IAAI,kBAAkB,GAAG,CAACA,0BAAI,IAAIA,0BAAI,CAAC,kBAAkB,MAAM,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE;AAC/F,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE;AACpB,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;AACpB,CAAC,CAAC;AACF,IAAI,YAAY,GAAG,CAACA,0BAAI,IAAIA,0BAAI,CAAC,YAAY,KAAK,CAAC,YAAY;AAC/D,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC,EAAE;AAC9B,QAAQ,OAAO,GAAG,MAAM,CAAC,mBAAmB,IAAI,UAAU,CAAC,EAAE;AAC7D,YAAY,IAAI,EAAE,GAAG,EAAE;AACvB,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;AAC9F,YAAY,OAAO,EAAE;AACrB,QAAA,CAAS;AACT,QAAQ,OAAO,OAAO,CAAC,CAAC,CAAC;AACzB,IAAA,CAAK;AACL,IAAI,OAAO,UAAU,GAAG,EAAE;AAC1B,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG;AAC7C,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,QAAQ,IAAI,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxI,QAAQ,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC;AACvC,QAAQ,OAAO,MAAM;AACrB,IAAA,CAAK;AACL,CAAC,GAAG;AACJ,IAAI,EAAE;AACN,MAAM,CAAC,cAAc,CAACC,0BAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC7D,IAAA,0BAAA,GAAAA,0BAAA,CAAA,wBAAgC,GAAG;AACnC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAuB,CAAC;AACxD,MAAM,eAAe,GAAGC,aAAkC;AAC1D,MAAM,cAAc,GAAGC,YAAiC;AACxD,MAAM,4BAA4B,GAAGC,0BAAmD;AACxF,MAAM,iCAAiC,GAAGC,+BAAwD;AAClG,MAAM,4BAA4B,GAAGC,0BAAmD;AACxF,MAAM,6BAA6B,GAAGC,2BAAoD;AAC1F,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,UAAU;AACjH,MAAM,wBAAwB,CAAC;AAC/B;AACA;AACA;AACA,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;AACxD,IAAA;AACA,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE;AAC5B,QAAQ,OAAO,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACvF,IAAA;AACA,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,IAAI;AACZ,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,IAAI,EAAE,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC9F,aAAa;AACb,QAAA;AACA,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC5E,YAAY,OAAO;AACnB,gBAAgB,OAAO,EAAE,KAAK;AAC9B,gBAAgB,IAAI,EAAE,QAAQ;AAC9B,gBAAgB,MAAM,EAAE;AACxB,oBAAoB;AACpB,wBAAwB,IAAI,EAAE,QAAQ;AACtC,wBAAwB,QAAQ,EAAE,+GAA+G;AACjJ,wBAAwB,KAAK,EAAE,OAAO;AACtC,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,QAAA;AACA,IAAA;AACA;AACA;AACA;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,KAAK;AACzB,IAAA;AACA,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACjE,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,KAAK;AACjO,YAAY,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,KAAK;AAC1D,YAAY,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,KAAK,KAAK;AAC3D,YAAY,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,4BAA4B,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,4BAA4B,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK;AAC/T,cAAc;AACd,gBAAgB,kBAAkB,EAAE,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC;AAChI;AACA,cAAc,EAAE,EAAE;AAClB,QAAQ,OAAO,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK;AACzE,IAAA;AACA,IAAI,GAAG,CAAC,MAAM,EAAE;AAChB,QAAQ,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AAChE,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,KAAK;AAC3N,YAAY,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,KAAK;AACtD,YAAY,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,iCAAiC,CAAC,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,4BAA4B,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC9W,QAAQ,OAAO,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK;AACzE,IAAA;AACA;AACA,0BAAA,GAAAN,0BAAA,CAAA,wBAAgC,GAAG,wBAAwB;AAC3D,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,KAAK;AACrD,IAAI,MAAM,MAAM,GAAG,0BAA0B,CAAC,WAAW,CAAC;AAC1D,SAAS,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,OAAO;AAC3C,SAAS,GAAG,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1F,IAAI,OAAO;AACX,QAAQ,IAAI;AACZ,QAAQ,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;AAC9E,QAAQ,MAAM;AACd,KAAK;AACL,CAAC;AACD,MAAM,0BAA0B,GAAG,CAAC,MAAM,KAAK;AAC/C,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM;AAC9B,QAAQ,OAAO,IAAI,EAAE;AACrB,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,KAAK,KAAK;AAC3E,gBAAgB,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM;AACjE,gBAAgB,KAAK,CAAC;AACtB,qBAAqB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;AACvD,qBAAqB,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,YAAY,IAAI,QAAQ,KAAK,SAAS;AACtC,gBAAgB;AAChB,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;AACtD,YAAY,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,QAAA;AACA,IAAI,OAAO,MAAM;AACjB,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK;AACpC,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC1E,QAAQ,GAAG;AACX,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACvD,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
|