typia 6.10.0 → 6.10.1-dev.20240914

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.
@@ -76,7 +76,7 @@ var TypiaGenerateWizard;
76
76
  var _this = this;
77
77
  return __generator(this, function (_a) {
78
78
  // PREPARE ASSETS
79
- command.option("--input [path]", "input directory");
79
+ command.option("--input [path]", "input directory or pattern");
80
80
  command.option("--output [directory]", "output directory");
81
81
  command.option("--project [project]", "tsconfig.json file location");
82
82
  questioned = { value: false };
@@ -145,7 +145,7 @@ var TypiaGenerateWizard;
145
145
  return [3 /*break*/, 3];
146
146
  case 1:
147
147
  _b = options;
148
- return [4 /*yield*/, input("input")("input directory")];
148
+ return [4 /*yield*/, input("input")("input directory or pattern")];
149
149
  case 2:
150
150
  _a = (_b.input = _k.sent());
151
151
  _k.label = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"TypiaGenerateWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaGenerateWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypiaGenerateWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaGenerateWizard.ts"],"names":[],"mappings":"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"}
@@ -52,11 +52,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.TypiaSetupWizard = void 0;
54
54
  var fs_1 = __importDefault(require("fs"));
55
+ var path_1 = __importDefault(require("path"));
55
56
  var package_manager_detector_1 = require("package-manager-detector");
56
57
  var ArgumentParser_1 = require("./setup/ArgumentParser");
57
58
  var CommandExecutor_1 = require("./setup/CommandExecutor");
58
59
  var PackageManager_1 = require("./setup/PackageManager");
59
60
  var PluginConfigurator_1 = require("./setup/PluginConfigurator");
61
+ var pkg = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, "../../package.json"), "utf-8"));
60
62
  var TypiaSetupWizard;
61
63
  (function (TypiaSetupWizard) {
62
64
  var _this = this;
@@ -77,7 +79,7 @@ var TypiaSetupWizard;
77
79
  case 2:
78
80
  args = _b.sent();
79
81
  // INSTALL TYPESCRIPT COMPILERS
80
- pack.install({ dev: true, modulo: "typescript", version: "^5.6.2" });
82
+ pack.install({ dev: true, modulo: "typescript", version: pkg.devDependencies.typescript });
81
83
  pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
82
84
  (_a = args.project) !== null && _a !== void 0 ? _a : (args.project = (function () {
83
85
  var runner = pack.manager === "npm" ? "npx" : pack.manager;
@@ -1 +1 @@
1
- {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaSetupWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AACpB,qEAAgE;AAEhE,yDAAwD;AACxD,2DAA0D;AAC1D,yDAAwD;AACxD,iEAAgE;AAEhE,IAAiB,gBAAgB,CAuJhC;AAvJD,WAAiB,gBAAgB;;IAM/B,SAAsB,KAAK;;;;;;;wBACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;wBACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;wBAG3B,qBAAM,+BAAc,CAAC,KAAK,EAAE,EAAA;;wBAAnD,IAAI,GAAmB,SAA4B;wBAChC,qBAAM,+BAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAA;;wBAA5D,IAAI,GAAe,SAAyC;wBAElE,+BAA+B;wBAC/B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;wBACnE,MAAA,IAAI,CAAC,OAAO,oCAAZ,IAAI,CAAC,OAAO,GAAK,CAAC;4BAChB,IAAM,MAAM,GAAW,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;4BACrE,iCAAe,CAAC,GAAG,CAAC,UAAG,MAAM,gBAAa,CAAC,CAAC;4BAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;wBAC1C,CAAC,CAAC,EAAE,EAAC;wBAEL,oBAAoB;wBACpB,qBAAM,IAAI,CAAC,IAAI,CAAC,UAAC,IAAI;;gCACnB,0BAA0B;gCAC1B,MAAA,IAAI,CAAC,OAAO,oCAAZ,IAAI,CAAC,OAAO,GAAK,EAAE,EAAC;gCACpB,IACE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ;oCACxC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAClC,CAAC;oCACD,IACE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wCACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wCAElD,IAAI,CAAC,OAAO,CAAC,OAAO;4CAClB,qCAAqC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;yCAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wCAC9D,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;yCAClE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wCACzD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACjD,kBAAkB,EAClB,iCAAiC,CAClC,CAAC;gCACN,CAAC;;oCAAM,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,iCAAiC,CAAC;gCAEhE,qBAAqB;gCACrB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oCACjD,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;yCAChD,KAAK,CAAC,IAAI,CAAC;yCACX,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;yCACxB,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAtC,CAAsC,CAAC;yCACvD,IAAI,CAAC,MAAM,CAAC,CAAC;oCAChB,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;wCACvC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gCACpC,CAAC;4BACH,CAAC,CAAC,EAAA;;wBAjCF,oBAAoB;wBACpB,SAgCE,CAAC;wBAEH,kBAAkB;wBAClB,qBAAM,uCAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAA;;wBADxC,kBAAkB;wBAClB,SAAwC,CAAC;wBACzC,iCAAe,CAAC,GAAG,CAAC,UAAG,IAAI,CAAC,OAAO,iBAAc,CAAC,CAAC;;;;;KACpD;IAxDqB,sBAAK,QAwD1B,CAAA;IAED,IAAM,OAAO,GAAuC,UAClD,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM;;;;YAEN,iBAAiB;YACjB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;YACxD,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;YAG/D,UAAU,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,GACV,UAAC,IAAY;gBACb,OAAA,UAAC,OAAe;oBAChB,OAAA,UACE,OAAiB,EACjB,MAAmC;;;;oCAEnC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;oCAEtB,qBAAM,MAAM,EAAE,YACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,IACb,CAAC,MAAM;4CACR,CAAC,CAAC;gDACE,MAAM,QAAA;6CACP;4CACH,CAAC,CAAC,EAAE,CAAC,EACP,EAAA;wCAXJ,sBAAO,CACL,SAUE,CACH,CAAC,IAAI,CAAC,EAAC;;;yBACT;gBAlBD,CAkBC;YAnBD,CAmBC,CAAC;YACE,SAAS,GAAG;;;;gCAEd,qBAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAA;gCADf,qBAAM,CAC/B,SAAwC,CACzC;iCACE,MAAM,CACL,UAAC,GAAG;gCACF,OAAA,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,UAAU;oCAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO;4BADzC,CACyC,CAC5C;iCACA,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gCACT,OAAA,CAAC,KAAK,eAAe;oCACnB,CAAC,CAAC,CAAC,CAAC;oCACJ,CAAC,CAAC,CAAC,KAAK,eAAe;wCACrB,CAAC,CAAC,CAAC;wCACH,CAAC,CAAC,CAAC,GAAG,CAAC;4CACL,CAAC,CAAC,CAAC,CAAC;4CACJ,CAAC,CAAC,CAAC;4BANT,CAMS,CACV,EAAA;;4BAhBG,QAAQ,GAAa,SAgBxB;4BACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gCAC1B,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,SAAS;oCAClC,MAAM,IAAI,QAAQ,CAAC,wCAAsC,CAAC,CAAC;gCAC7D,sBAAO,IAAI,EAAC;4BACd,CAAC;iCAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gCAAE,sBAAO,QAAQ,CAAC,CAAC,CAAE,EAAC;4BACtD,sBAAO,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EAAC;;;iBACvD,CAAC;YAEF,eAAe;YACf,sBAAO,MAAM,CAAC,UAAO,OAAO;;;;;;gCAC1B,KAAA,IAAI,CAAA;4CAAW,OAAO,CAAC,OAAO;;;;gCAAf,KAAA,OAAO,CAAA;gCACnB,qBAAM,aAAa,EAAE,EAAA;;4CAAtB,CAAC,SAAqB,CAAC;;;oCACtB,qBAAM,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CACzC;oCACE,KAAc;oCACd,MAAe;oCACf,KAAc;oCACd,+BAAyC;iCAC1C,EACD,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,EAA7B,CAA6B,CACzC,EAAA;;gCARD,KAAA,CAAC,SAQA,CAAC,CAAA;;;yCAVmB,OAAO;;;gCAA9B,GAAK,OAAO,KAUR,CAAC;4CACL,OAAO,CAAC,OAAO;;;;gCAAf,KAAA,OAAO,CAAA;gCAAa,qBAAM,SAAS,EAAE,EAAA;;yCAA7B,OAAO,GAAK,SAAiB;;;gCAArC,GAAsC;gCAEtC,IAAI,UAAU,CAAC,KAAK;oCAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gCACtC,sBAAO,OAAqB,EAAC;;;qBAC9B,CAAC,EAAC;;SACJ,CAAC;IAEF,IAAM,aAAa,GAAG;;;;;wBAGgB,qBAAM,IAAA,iCAAM,EAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAA;;oBAAlE,MAAM,GAAwB,SAAoC;oBACxE,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,KAAK;wBAAE,sBAAO,IAAI,EAAC,CAAC,+BAA+B;oBACxE,sBAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,mCAAI,IAAI,EAAC;;;SAC7B,CAAC;AACJ,CAAC,EAvJgB,gBAAgB,gCAAhB,gBAAgB,QAuJhC"}
1
+ {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare namespace SourceFinder {
2
+ interface IProps {
3
+ exclude?: string[];
4
+ include: string[];
5
+ filter: (location: string) => boolean;
6
+ }
7
+ const find: (props: IProps) => Promise<string[]>;
8
+ }
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
+ if (ar || !(i in from)) {
57
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
+ ar[i] = from[i];
59
+ }
60
+ }
61
+ return to.concat(ar || Array.prototype.slice.call(from));
62
+ };
63
+ var __values = (this && this.__values) || function(o) {
64
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
65
+ if (m) return m.call(o);
66
+ if (o && typeof o.length === "number") return {
67
+ next: function () {
68
+ if (o && i >= o.length) o = void 0;
69
+ return { value: o && o[i++], done: !o };
70
+ }
71
+ };
72
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
73
+ };
74
+ var __importDefault = (this && this.__importDefault) || function (mod) {
75
+ return (mod && mod.__esModule) ? mod : { "default": mod };
76
+ };
77
+ Object.defineProperty(exports, "__esModule", { value: true });
78
+ exports.SourceFinder = void 0;
79
+ var fs_1 = __importDefault(require("fs"));
80
+ var glob_1 = __importDefault(require("glob"));
81
+ var path_1 = __importDefault(require("path"));
82
+ var SourceFinder;
83
+ (function (SourceFinder) {
84
+ var _this = this;
85
+ SourceFinder.find = function (props) { return __awaiter(_this, void 0, void 0, function () {
86
+ var dict;
87
+ var _a;
88
+ return __generator(this, function (_b) {
89
+ switch (_b.label) {
90
+ case 0:
91
+ dict = new Set();
92
+ return [4 /*yield*/, emplace(props.filter)(props.include)(function (str) { return dict.add(str); })];
93
+ case 1:
94
+ _b.sent();
95
+ if (!((_a = props.exclude) === null || _a === void 0 ? void 0 : _a.length)) return [3 /*break*/, 3];
96
+ return [4 /*yield*/, emplace(props.filter)(props.exclude)(function (str) { return dict.delete(str); })];
97
+ case 2:
98
+ _b.sent();
99
+ _b.label = 3;
100
+ case 3: return [2 /*return*/, __spreadArray([], __read(dict), false)];
101
+ }
102
+ });
103
+ }); };
104
+ var emplace = function (filter) {
105
+ return function (input) {
106
+ return function (closure) { return __awaiter(_this, void 0, void 0, function () {
107
+ var input_1, input_1_1, pattern, _a, _b, file, stats, e_1_1, e_2_1;
108
+ var e_2, _c, e_1, _d;
109
+ return __generator(this, function (_e) {
110
+ switch (_e.label) {
111
+ case 0:
112
+ _e.trys.push([0, 14, 15, 16]);
113
+ input_1 = __values(input), input_1_1 = input_1.next();
114
+ _e.label = 1;
115
+ case 1:
116
+ if (!!input_1_1.done) return [3 /*break*/, 13];
117
+ pattern = input_1_1.value;
118
+ _e.label = 2;
119
+ case 2:
120
+ _e.trys.push([2, 10, 11, 12]);
121
+ e_1 = void 0;
122
+ return [4 /*yield*/, _Glob(path_1.default.resolve(pattern))];
123
+ case 3:
124
+ _a = (__values.apply(void 0, [_e.sent()])), _b = _a.next();
125
+ _e.label = 4;
126
+ case 4:
127
+ if (!!_b.done) return [3 /*break*/, 9];
128
+ file = _b.value;
129
+ return [4 /*yield*/, fs_1.default.promises.stat(file)];
130
+ case 5:
131
+ stats = _e.sent();
132
+ if (!(stats.isDirectory() === true)) return [3 /*break*/, 7];
133
+ return [4 /*yield*/, iterate(filter)(closure)(file)];
134
+ case 6:
135
+ _e.sent();
136
+ return [3 /*break*/, 8];
137
+ case 7:
138
+ if (stats.isFile() && filter(file))
139
+ closure(file);
140
+ _e.label = 8;
141
+ case 8:
142
+ _b = _a.next();
143
+ return [3 /*break*/, 4];
144
+ case 9: return [3 /*break*/, 12];
145
+ case 10:
146
+ e_1_1 = _e.sent();
147
+ e_1 = { error: e_1_1 };
148
+ return [3 /*break*/, 12];
149
+ case 11:
150
+ try {
151
+ if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
152
+ }
153
+ finally { if (e_1) throw e_1.error; }
154
+ return [7 /*endfinally*/];
155
+ case 12:
156
+ input_1_1 = input_1.next();
157
+ return [3 /*break*/, 1];
158
+ case 13: return [3 /*break*/, 16];
159
+ case 14:
160
+ e_2_1 = _e.sent();
161
+ e_2 = { error: e_2_1 };
162
+ return [3 /*break*/, 16];
163
+ case 15:
164
+ try {
165
+ if (input_1_1 && !input_1_1.done && (_c = input_1.return)) _c.call(input_1);
166
+ }
167
+ finally { if (e_2) throw e_2.error; }
168
+ return [7 /*endfinally*/];
169
+ case 16: return [2 /*return*/];
170
+ }
171
+ });
172
+ }); };
173
+ };
174
+ };
175
+ var iterate = function (filter) {
176
+ return function (closure) {
177
+ return function (location) { return __awaiter(_this, void 0, void 0, function () {
178
+ var directory, directory_1, directory_1_1, file, next, stats, e_3_1;
179
+ var e_3, _a;
180
+ return __generator(this, function (_b) {
181
+ switch (_b.label) {
182
+ case 0: return [4 /*yield*/, fs_1.default.promises.readdir(location)];
183
+ case 1:
184
+ directory = _b.sent();
185
+ _b.label = 2;
186
+ case 2:
187
+ _b.trys.push([2, 9, 10, 11]);
188
+ directory_1 = __values(directory), directory_1_1 = directory_1.next();
189
+ _b.label = 3;
190
+ case 3:
191
+ if (!!directory_1_1.done) return [3 /*break*/, 8];
192
+ file = directory_1_1.value;
193
+ next = path_1.default.resolve("".concat(location, "/").concat(file));
194
+ return [4 /*yield*/, fs_1.default.promises.stat(next)];
195
+ case 4:
196
+ stats = _b.sent();
197
+ if (!(stats.isDirectory() === true)) return [3 /*break*/, 6];
198
+ return [4 /*yield*/, iterate(filter)(closure)(next)];
199
+ case 5:
200
+ _b.sent();
201
+ return [3 /*break*/, 7];
202
+ case 6:
203
+ if (stats.isFile() && filter(next))
204
+ closure(next);
205
+ _b.label = 7;
206
+ case 7:
207
+ directory_1_1 = directory_1.next();
208
+ return [3 /*break*/, 3];
209
+ case 8: return [3 /*break*/, 11];
210
+ case 9:
211
+ e_3_1 = _b.sent();
212
+ e_3 = { error: e_3_1 };
213
+ return [3 /*break*/, 11];
214
+ case 10:
215
+ try {
216
+ if (directory_1_1 && !directory_1_1.done && (_a = directory_1.return)) _a.call(directory_1);
217
+ }
218
+ finally { if (e_3) throw e_3.error; }
219
+ return [7 /*endfinally*/];
220
+ case 11: return [2 /*return*/];
221
+ }
222
+ });
223
+ }); };
224
+ };
225
+ };
226
+ var _Glob = function (pattern) {
227
+ return new Promise(function (resolve, reject) {
228
+ (0, glob_1.default)(pattern, function (err, matches) {
229
+ if (err)
230
+ reject(err);
231
+ else
232
+ resolve(matches.map(function (str) { return path_1.default.resolve(str); }));
233
+ });
234
+ });
235
+ };
236
+ })(SourceFinder || (exports.SourceFinder = SourceFinder = {}));
237
+ //# sourceMappingURL=SourceFinder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../../src/executable/setup/SourceFinder.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,15 @@ var __values = (this && this.__values) || function(o) {
62
62
  };
63
63
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
64
64
  };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
65
74
  var __importDefault = (this && this.__importDefault) || function (mod) {
66
75
  return (mod && mod.__esModule) ? mod : { "default": mod };
67
76
  };
@@ -71,77 +80,70 @@ var fs_1 = __importDefault(require("fs"));
71
80
  var path_1 = __importDefault(require("path"));
72
81
  var typescript_1 = __importDefault(require("typescript"));
73
82
  var ImportTransformer_1 = require("../transformers/ImportTransformer");
83
+ var SourceFinder_1 = require("../executable/setup/SourceFinder");
74
84
  var transform_1 = __importDefault(require("../transform"));
75
85
  var TypiaProgrammer;
76
86
  (function (TypiaProgrammer) {
77
87
  var _this = this;
78
88
  TypiaProgrammer.build = function (props) { return __awaiter(_this, void 0, void 0, function () {
79
- var parent_1, compilerOptions, program, _a, _b, diagnostics, result, _loop_1, diagnostics_1, diagnostics_1_1, diag, printer, _c, _d, file, to, content, e_1_1;
80
- var e_2, _e, e_1, _f;
81
- var _this = this;
82
- var _g, _h;
83
- return __generator(this, function (_j) {
84
- switch (_j.label) {
85
- case 0:
86
- props.input = path_1.default.resolve(props.input);
87
- props.output = path_1.default.resolve(props.output);
88
- return [4 /*yield*/, is_directory(props.input)];
89
+ var files, parent_1, base, compilerOptions, program, diagnostics, result, _loop_1, diagnostics_1, diagnostics_1_1, diag, directories, printer, _a, _b, file, to, content, parents, i, parent_2, _c, e_1_1;
90
+ var e_2, _d, e_1, _e;
91
+ var _f, _g;
92
+ return __generator(this, function (_h) {
93
+ switch (_h.label) {
94
+ case 0: return [4 /*yield*/, SourceFinder_1.SourceFinder.find({
95
+ include: [props.input],
96
+ filter: function (location) {
97
+ return (location.endsWith(".ts") && !location.endsWith("d.ts")) ||
98
+ (location.endsWith(".tsx") && !location.endsWith("d.tsx"));
99
+ },
100
+ })];
89
101
  case 1:
90
- if (!((_j.sent()) === false)) return [3 /*break*/, 2];
91
- throw new URIError("Error on TypiaGenerator.generate(): input path is not a directory.");
102
+ files = _h.sent();
103
+ if (!(files.length === 0)) return [3 /*break*/, 2];
104
+ throw new Error("Error on TypiaGenerator.generate(): no file to generate.");
92
105
  case 2:
93
106
  if (!(fs_1.default.existsSync(props.output) === false)) return [3 /*break*/, 4];
94
107
  return [4 /*yield*/, fs_1.default.promises.mkdir(props.output, { recursive: true })];
95
108
  case 3:
96
- _j.sent();
109
+ _h.sent();
97
110
  return [3 /*break*/, 8];
98
- case 4: return [4 /*yield*/, is_directory(props.output)];
111
+ case 4: return [4 /*yield*/, isDirectory(props.output)];
99
112
  case 5:
100
- if (!((_j.sent()) === false)) return [3 /*break*/, 8];
113
+ if (!((_h.sent()) === false)) return [3 /*break*/, 8];
101
114
  parent_1 = path_1.default.join(props.output, "..");
102
- return [4 /*yield*/, is_directory(parent_1)];
115
+ return [4 /*yield*/, isDirectory(parent_1)];
103
116
  case 6:
104
- if ((_j.sent()) === false)
105
- throw new URIError("Error on TypiaGenerator.generate(): output path is not a directory.");
117
+ if ((_h.sent()) === false)
118
+ throw new Error("Error on TypiaGenerator.generate(): output path is not a directory.");
106
119
  return [4 /*yield*/, fs_1.default.promises.mkdir(props.output)];
107
120
  case 7:
108
- _j.sent();
109
- _j.label = 8;
110
- case 8:
121
+ _h.sent();
122
+ _h.label = 8;
123
+ case 8: return [4 /*yield*/, isDirectory(props.input)];
124
+ case 9:
125
+ base = (_h.sent())
126
+ ? path_1.default.resolve(props.input)
127
+ : getBaseDirectory(files);
111
128
  compilerOptions = typescript_1.default.parseJsonConfigFileContent(typescript_1.default.readConfigFile(props.project, typescript_1.default.sys.readFile).config, {
112
129
  fileExists: typescript_1.default.sys.fileExists,
113
130
  readFile: typescript_1.default.sys.readFile,
114
131
  readDirectory: typescript_1.default.sys.readDirectory,
115
132
  useCaseSensitiveFileNames: typescript_1.default.sys.useCaseSensitiveFileNames,
116
133
  }, path_1.default.dirname(props.project)).options;
117
- _b = (_a = typescript_1.default).createProgram;
118
- return [4 /*yield*/, (function () { return __awaiter(_this, void 0, void 0, function () {
119
- var container;
120
- return __generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- container = [];
124
- return [4 /*yield*/, gather(props)(container)(props.input)(props.output)];
125
- case 1:
126
- _a.sent();
127
- return [2 /*return*/, container];
128
- }
129
- });
130
- }); })()];
131
- case 9:
132
- program = _b.apply(_a, [_j.sent(), compilerOptions]);
134
+ program = typescript_1.default.createProgram(files, compilerOptions);
133
135
  diagnostics = [];
134
136
  result = typescript_1.default.transform(program
135
137
  .getSourceFiles()
136
138
  .filter(function (file) {
137
139
  return !file.isDeclarationFile &&
138
- path_1.default.resolve(file.fileName).indexOf(props.input) !== -1;
140
+ path_1.default.resolve(file.fileName).indexOf(base) !== -1;
139
141
  }), [
140
- ImportTransformer_1.ImportTransformer.transform(props.input)(props.output),
141
- (0, transform_1.default)(program, (_h = ((_g = compilerOptions.plugins) !== null && _g !== void 0 ? _g : []).find(function (p) {
142
+ ImportTransformer_1.ImportTransformer.transform(base)(props.output),
143
+ (0, transform_1.default)(program, (_g = ((_f = compilerOptions.plugins) !== null && _f !== void 0 ? _f : []).find(function (p) {
142
144
  return p.transform === "typia/lib/transform" ||
143
145
  p.transform === "../src/transform.ts";
144
- })) !== null && _h !== void 0 ? _h : {}, {
146
+ })) !== null && _g !== void 0 ? _g : {}, {
145
147
  addDiagnostic: function (diag) { return diagnostics.push(diag); },
146
148
  }),
147
149
  ], program.getCompilerOptions());
@@ -158,7 +160,7 @@ var TypiaProgrammer;
158
160
  : diag.category === typescript_1.default.DiagnosticCategory.Message
159
161
  ? "message"
160
162
  : "unkown";
161
- var _k = __read(diag.file
163
+ var _j = __read(diag.file
162
164
  ? (function () {
163
165
  var lines = diag
164
166
  .file.text.substring(0, diag.start)
@@ -167,7 +169,7 @@ var TypiaProgrammer;
167
169
  return [0, 0];
168
170
  return [lines.length, lines.at(-1).length + 1];
169
171
  })()
170
- : [0, 0], 2), line = _k[0], pos = _k[1];
172
+ : [0, 0], 2), line = _j[0], pos = _j[1];
171
173
  console.error("".concat(file, ":").concat(line, ":").concat(pos, " - ").concat(category, " TS").concat(diag.code, ": ").concat(diag.messageText));
172
174
  };
173
175
  try {
@@ -180,123 +182,105 @@ var TypiaProgrammer;
180
182
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
181
183
  finally {
182
184
  try {
183
- if (diagnostics_1_1 && !diagnostics_1_1.done && (_e = diagnostics_1.return)) _e.call(diagnostics_1);
185
+ if (diagnostics_1_1 && !diagnostics_1_1.done && (_d = diagnostics_1.return)) _d.call(diagnostics_1);
184
186
  }
185
187
  finally { if (e_2) throw e_2.error; }
186
188
  }
187
189
  if (diagnostics.length)
188
190
  process.exit(-1);
191
+ directories = new Set();
189
192
  printer = typescript_1.default.createPrinter({
190
193
  newLine: typescript_1.default.NewLineKind.LineFeed,
191
194
  });
192
- _j.label = 10;
195
+ _h.label = 10;
193
196
  case 10:
194
- _j.trys.push([10, 15, 16, 17]);
195
- _c = __values(result.transformed), _d = _c.next();
196
- _j.label = 11;
197
+ _h.trys.push([10, 21, 22, 23]);
198
+ _a = __values(result.transformed), _b = _a.next();
199
+ _h.label = 11;
197
200
  case 11:
198
- if (!!_d.done) return [3 /*break*/, 14];
199
- file = _d.value;
201
+ if (!!_b.done) return [3 /*break*/, 20];
202
+ file = _b.value;
200
203
  to = path_1.default
201
204
  .resolve(file.fileName)
202
- .replace(props.input, props.output);
205
+ .replace(base, props.output);
203
206
  content = printer.printFile(file);
204
- return [4 /*yield*/, fs_1.default.promises.writeFile(to, content, "utf8")];
207
+ parents = to.split(path_1.default.sep);
208
+ i = 1;
209
+ _h.label = 12;
205
210
  case 12:
206
- _j.sent();
207
- _j.label = 13;
211
+ if (!(i < parents.length)) return [3 /*break*/, 17];
212
+ parent_2 = parents.slice(0, i).join(path_1.default.sep);
213
+ if (directories.has(parent_2))
214
+ return [3 /*break*/, 16];
215
+ _h.label = 13;
208
216
  case 13:
209
- _d = _c.next();
210
- return [3 /*break*/, 11];
211
- case 14: return [3 /*break*/, 17];
217
+ _h.trys.push([13, 15, , 16]);
218
+ return [4 /*yield*/, fs_1.default.promises.mkdir(parent_2)];
219
+ case 14:
220
+ _h.sent();
221
+ return [3 /*break*/, 16];
212
222
  case 15:
213
- e_1_1 = _j.sent();
214
- e_1 = { error: e_1_1 };
215
- return [3 /*break*/, 17];
223
+ _c = _h.sent();
224
+ return [3 /*break*/, 16];
216
225
  case 16:
226
+ i++;
227
+ return [3 /*break*/, 12];
228
+ case 17: return [4 /*yield*/, fs_1.default.promises.writeFile(to, content, "utf8")];
229
+ case 18:
230
+ _h.sent();
231
+ _h.label = 19;
232
+ case 19:
233
+ _b = _a.next();
234
+ return [3 /*break*/, 11];
235
+ case 20: return [3 /*break*/, 23];
236
+ case 21:
237
+ e_1_1 = _h.sent();
238
+ e_1 = { error: e_1_1 };
239
+ return [3 /*break*/, 23];
240
+ case 22:
217
241
  try {
218
- if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
242
+ if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
219
243
  }
220
244
  finally { if (e_1) throw e_1.error; }
221
245
  return [7 /*endfinally*/];
222
- case 17: return [2 /*return*/];
246
+ case 23: return [2 /*return*/];
223
247
  }
224
248
  });
225
249
  }); };
226
- var is_directory = function (current) { return __awaiter(_this, void 0, void 0, function () {
227
- var stat;
228
- return __generator(this, function (_a) {
229
- switch (_a.label) {
230
- case 0: return [4 /*yield*/, fs_1.default.promises.stat(current)];
250
+ var isDirectory = function (current) { return __awaiter(_this, void 0, void 0, function () {
251
+ var stat, _a;
252
+ return __generator(this, function (_b) {
253
+ switch (_b.label) {
254
+ case 0:
255
+ _b.trys.push([0, 2, , 3]);
256
+ return [4 /*yield*/, fs_1.default.promises.stat(current)];
231
257
  case 1:
232
- stat = _a.sent();
258
+ stat = _b.sent();
233
259
  return [2 /*return*/, stat.isDirectory()];
260
+ case 2:
261
+ _a = _b.sent();
262
+ return [2 /*return*/, false];
263
+ case 3: return [2 /*return*/];
234
264
  }
235
265
  });
236
266
  }); };
237
- var gather = function (props) {
238
- return function (container) {
239
- return function (from) {
240
- return function (to) { return __awaiter(_this, void 0, void 0, function () {
241
- var _a, _b, file, next, stat, e_3_1;
242
- var e_3, _c;
243
- return __generator(this, function (_d) {
244
- switch (_d.label) {
245
- case 0:
246
- if (!(from === props.output)) return [3 /*break*/, 1];
247
- return [2 /*return*/];
248
- case 1:
249
- if (!(fs_1.default.existsSync(to) === false)) return [3 /*break*/, 3];
250
- return [4 /*yield*/, fs_1.default.promises.mkdir(to)];
251
- case 2:
252
- _d.sent();
253
- _d.label = 3;
254
- case 3:
255
- _d.trys.push([3, 11, 12, 13]);
256
- return [4 /*yield*/, fs_1.default.promises.readdir(from)];
257
- case 4:
258
- _a = __values.apply(void 0, [_d.sent()]), _b = _a.next();
259
- _d.label = 5;
260
- case 5:
261
- if (!!_b.done) return [3 /*break*/, 10];
262
- file = _b.value;
263
- next = path_1.default.join(from, file);
264
- return [4 /*yield*/, fs_1.default.promises.stat(next)];
265
- case 6:
266
- stat = _d.sent();
267
- if (!stat.isDirectory()) return [3 /*break*/, 8];
268
- return [4 /*yield*/, gather(props)(container)(next)(path_1.default.join(to, file))];
269
- case 7:
270
- _d.sent();
271
- return [3 /*break*/, 9];
272
- case 8:
273
- if (is_supported_extension(file))
274
- container.push(next);
275
- _d.label = 9;
276
- case 9:
277
- _b = _a.next();
278
- return [3 /*break*/, 5];
279
- case 10: return [3 /*break*/, 13];
280
- case 11:
281
- e_3_1 = _d.sent();
282
- e_3 = { error: e_3_1 };
283
- return [3 /*break*/, 13];
284
- case 12:
285
- try {
286
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
287
- }
288
- finally { if (e_3) throw e_3.error; }
289
- return [7 /*endfinally*/];
290
- case 13: return [2 /*return*/];
291
- }
292
- });
293
- }); };
294
- };
267
+ var getBaseDirectory = function (files) {
268
+ var splitPaths = files.map(function (p) { return p.split(path_1.default.sep); });
269
+ var minLength = Math.min.apply(Math, __spreadArray([], __read(splitPaths.map(function (p) { return p.length; })), false));
270
+ var commonPath = [];
271
+ var _loop_2 = function (i) {
272
+ var currentSegment = splitPaths[0][i];
273
+ if (splitPaths.every(function (p) { return p[i] === currentSegment; }))
274
+ commonPath.push(currentSegment);
275
+ else
276
+ return "break";
295
277
  };
296
- };
297
- var is_supported_extension = function (filename) {
298
- return ((filename.endsWith(".ts") && !filename.endsWith(".d.ts")) ||
299
- (filename.endsWith(".tsx") && !filename.endsWith(".d.tsx")));
278
+ for (var i = 0; i < minLength; i++) {
279
+ var state_1 = _loop_2(i);
280
+ if (state_1 === "break")
281
+ break;
282
+ }
283
+ return commonPath.length > 0 ? commonPath.join(path_1.default.sep) : "";
300
284
  };
301
285
  })(TypiaProgrammer || (exports.TypiaProgrammer = TypiaProgrammer = {}));
302
286
  //# sourceMappingURL=TypiaProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypiaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypiaProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AACpB,8CAAwB;AACxB,0DAA4B;AAE5B,uEAAsE;AAEtE,2DAAqC;AAErC,IAAiB,eAAe,CAoJ/B;AApJD,WAAiB,eAAe;;IAOjB,qBAAK,GAAG,UAAO,KAA6B;;;;;;;;oBACvD,KAAK,CAAC,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxC,KAAK,CAAC,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAErC,qBAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAA;;yBAAhC,CAAA,CAAC,SAA+B,CAAC,KAAK,KAAK,CAAA,EAA3C,wBAA2C;oBAC7C,MAAM,IAAI,QAAQ,CAChB,oEAAoE,CACrE,CAAC;;yBACK,CAAA,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA,EAArC,wBAAqC;oBAC5C,qBAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAA;;oBAA1D,SAA0D,CAAC;;wBACnD,qBAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;yBAAjC,CAAA,CAAC,SAAgC,CAAC,KAAK,KAAK,CAAA,EAA5C,wBAA4C;oBAC7C,WAAiB,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAChD,qBAAM,YAAY,CAAC,QAAM,CAAC,EAAA;;oBAA/B,IAAI,CAAC,SAA0B,CAAC,KAAK,KAAK;wBACxC,MAAM,IAAI,QAAQ,CAChB,qEAAqE,CACtE,CAAC;oBACJ,qBAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;oBAArC,SAAqC,CAAC;;;oBAIvB,eAAe,GAAK,oBAAE,CAAC,0BAA0B,CAChE,oBAAE,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,EACxD;wBACE,UAAU,EAAE,oBAAE,CAAC,GAAG,CAAC,UAAU;wBAC7B,QAAQ,EAAE,oBAAE,CAAC,GAAG,CAAC,QAAQ;wBACzB,aAAa,EAAE,oBAAE,CAAC,GAAG,CAAC,aAAa;wBACnC,yBAAyB,EAAE,oBAAE,CAAC,GAAG,CAAC,yBAAyB;qBAC5D,EACD,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAC5B,QAT+B,CAS9B;oBAE0B,KAAA,CAAA,KAAA,oBAAE,CAAA,CAAC,aAAa,CAAA;oBAC1C,qBAAM,CAAC;;;;;wCACC,SAAS,GAAa,EAAE,CAAC;wCAC/B,qBAAM,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;wCAAzD,SAAyD,CAAC;wCAC1D,sBAAO,SAAS,EAAC;;;6BAClB,CAAC,EAAE,EAAA;;oBALA,OAAO,GAAe,cAC1B,SAII,EACJ,eAAe,EAChB;oBAGK,WAAW,GAAoB,EAAE,CAAC;oBAClC,MAAM,GAA2C,oBAAE,CAAC,SAAS,CACjE,OAAO;yBACJ,cAAc,EAAE;yBAChB,MAAM,CACL,UAAC,IAAI;wBACH,OAAA,CAAC,IAAI,CAAC,iBAAiB;4BACvB,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBADvD,CACuD,CAC1D,EACH;wBACE,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;wBACtD,IAAA,mBAAS,EACP,OAAO,EACP,MAAA,CAAC,MAAC,eAAe,CAAC,OAAiB,mCAAI,EAAE,CAAC,CAAC,IAAI,CAC7C,UAAC,CAAM;4BACL,OAAA,CAAC,CAAC,SAAS,KAAK,qBAAqB;gCACrC,CAAC,CAAC,SAAS,KAAK,qBAAqB;wBADrC,CACqC,CACxC,mCAAI,EAAE,EACP;4BACE,aAAa,EAAE,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAtB,CAAsB;yBAChD,CACF;qBACF,EACD,OAAO,CAAC,kBAAkB,EAAE,CAC7B,CAAC;wCAGS,IAAI;wBACb,IAAM,IAAI,GAAW,IAAI,CAAC,IAAI;4BAC5B,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;4BAClD,CAAC,CAAC,gBAAgB,CAAC;wBACrB,IAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,oBAAE,CAAC,kBAAkB,CAAC,OAAO;4BAC7C,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,oBAAE,CAAC,kBAAkB,CAAC,KAAK;gCAC7C,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,oBAAE,CAAC,kBAAkB,CAAC,UAAU;oCAClD,CAAC,CAAC,YAAY;oCACd,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,oBAAE,CAAC,kBAAkB,CAAC,OAAO;wCAC/C,CAAC,CAAC,SAAS;wCACX,CAAC,CAAC,QAAQ,CAAC;wBACf,IAAA,KAAA,OAAc,IAAI,CAAC,IAAI;4BAC3B,CAAC,CAAC,CAAC;gCACC,IAAM,KAAK,GAAa,IAAI;qCACzB,IAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;qCACnC,KAAK,CAAC,IAAI,CAAC,CAAC;gCACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oCAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gCACtC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BAClD,CAAC,CAAC,EAAE;4BACN,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,EARH,IAAI,QAAA,EAAE,GAAG,QAQN,CAAC;wBACX,OAAO,CAAC,KAAK,CACX,UAAG,IAAI,cAAI,IAAI,cAAI,GAAG,gBAAM,QAAQ,gBAAM,IAAI,CAAC,IAAI,eAAK,IAAI,CAAC,WAAW,CAAE,CAC3E,CAAC;;;wBA1BJ,eAAe;wBACf,KAAmB,gBAAA,SAAA,WAAW,CAAA;4BAAnB,IAAI;oCAAJ,IAAI;yBA0Bd;;;;;;;;;oBACD,IAAI,WAAW,CAAC,MAAM;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAGnC,OAAO,GAAe,oBAAE,CAAC,aAAa,CAAC;wBAC3C,OAAO,EAAE,oBAAE,CAAC,WAAW,CAAC,QAAQ;qBACjC,CAAC,CAAC;;;;oBACgB,KAAA,SAAA,MAAM,CAAC,WAAW,CAAA;;;;oBAA1B,IAAI;oBACP,EAAE,GAAW,cAAI;yBACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;yBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAEhC,OAAO,GAAW,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChD,qBAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAA;;oBAAhD,SAAgD,CAAC;;;;;;;;;;;;;;;;;;;SAEpD,CAAC;IAEF,IAAM,YAAY,GAAG,UAAO,OAAe;;;;wBAClB,qBAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;oBAAhD,IAAI,GAAa,SAA+B;oBACtD,sBAAO,IAAI,CAAC,WAAW,EAAE,EAAC;;;SAC3B,CAAC;IAEF,IAAM,MAAM,GACV,UAAC,KAAa;QACd,OAAA,UAAC,SAAmB;YACpB,OAAA,UAAC,IAAY;gBACb,OAAA,UAAO,EAAU;;;;;;qCACX,CAAA,IAAI,KAAK,KAAK,CAAC,MAAM,CAAA,EAArB,wBAAqB;gCAAE,sBAAO;;qCACzB,CAAA,YAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,KAAK,CAAA,EAA3B,wBAA2B;gCAAE,qBAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAA;;gCAA3B,SAA2B,CAAC;;;;gCAE/C,qBAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;;gCAA/B,KAAA,wBAAA,SAA+B,EAAA;;;;gCAAvC,IAAI;gCACP,IAAI,GAAW,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gCACpB,qBAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;gCAA7C,IAAI,GAAa,SAA4B;qCAE/C,IAAI,CAAC,WAAW,EAAE,EAAlB,wBAAkB;gCACpB,qBAAM,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAA;;gCAAzD,SAAyD,CAAC;gCAC1D,wBAAS;;gCACJ,IAAI,sBAAsB,CAAC,IAAI,CAAC;oCAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;;;;;;;;;;;;;;;;qBAEjE;YAbD,CAaC;QAdD,CAcC;IAfD,CAeC,CAAC;IAEJ,IAAM,sBAAsB,GAAG,UAAC,QAAgB;QAC9C,OAAO,CACL,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC5D,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EApJgB,eAAe,+BAAf,eAAe,QAoJ/B"}
1
+ {"version":3,"file":"TypiaProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypiaProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,4 @@
1
1
  "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
28
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
29
4
  };
@@ -70,13 +45,12 @@ var LlmApplicationTransformer;
70
45
  throw TransformerError_1.TransformerError.from("typia.llm.application")(result.errors);
71
46
  // GENERATE LLM APPLICATION
72
47
  var schema = LlmApplicationProgrammer_1.LlmApplicationProgrammer.write(result.data);
48
+ var literal = LiteralFactory_1.LiteralFactory.generate(schema);
49
+ if (!((_b = expression.arguments) === null || _b === void 0 ? void 0 : _b[0]))
50
+ return literal;
73
51
  return ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock([
74
52
  StatementFactory_1.StatementFactory.constant("app", LiteralFactory_1.LiteralFactory.generate(schema)),
75
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createAsExpression(IdentifierFactory_1.IdentifierFactory.access(modulo)("finalize"), TypeFactory_1.TypeFactory.keyword("any")), undefined, __spreadArray([
76
- typescript_1.default.factory.createIdentifier("app")
77
- ], __read((((_b = expression.arguments) === null || _b === void 0 ? void 0 : _b[0])
78
- ? [expression.arguments[0]]
79
- : [])), false))),
53
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createAsExpression(IdentifierFactory_1.IdentifierFactory.access(modulo)("finalize"), TypeFactory_1.TypeFactory.keyword("any")), undefined, [typescript_1.default.factory.createIdentifier("app"), expression.arguments[0]])),
80
54
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("app")),
81
55
  ], true));
82
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0DAA4B;AAE5B,0EAAyE;AACzE,0EAAyE;AACzE,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AACrE,wEAAuE;AACvE,8DAA6D;AAI7D,8FAA6F;AAK7F,2DAA0D;AAE1D,IAAiB,yBAAyB,CAkEzC;AAlED,WAAiB,yBAAyB;IAC3B,mCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,uBAAuB;gBACvB,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;oBACnC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,sBAAsB;qBAChC,CAAC,CAAC;gBAEL,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;gBAClD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,OAAO,UAAU,CAAC;gBAEpD,WAAW;gBACX,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;oBAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;iBACpC,CAAC,CAAC;gBACH,IAAM,MAAM,GACV,iCAAe,CAAC,OAAO,CACrB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;oBACA,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,mDAAwB,CAAC,QAAQ;iBAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEtE,2BAA2B;gBAC3B,IAAM,MAAM,GAAoB,mDAAwB,CAAC,KAAK,CAC5D,MAAM,CAAC,IAAI,CACZ,CAAC;gBAEF,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;oBACE,mCAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,+BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACjE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAC5C,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B,EACD,SAAS;wBAEP,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;8BAC/B,CAAC,CAAA,MAAA,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC;wBAC3B,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC3B,CAAC,CAAC,EAAE,CAAC,UAEV,CACF;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACnC;iBACF,EACD,IAAI,CACL,CACF,CAAC;YACJ,CAAC;QA7DD,CA6DC;IA9DD,CA8DC,CAAC;AACN,CAAC,EAlEgB,yBAAyB,yCAAzB,yBAAyB,QAkEzC"}
1
+ {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAE5B,0EAAyE;AACzE,0EAAyE;AACzE,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AACrE,wEAAuE;AACvE,8DAA6D;AAI7D,8FAA6F;AAK7F,2DAA0D;AAE1D,IAAiB,yBAAyB,CA8DzC;AA9DD,WAAiB,yBAAyB;IAC3B,mCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,uBAAuB;gBACvB,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;oBACnC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,sBAAsB;qBAChC,CAAC,CAAC;gBAEL,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;gBAClD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,OAAO,UAAU,CAAC;gBAEpD,WAAW;gBACX,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;oBAC5D,OAAO,EAAE,uCAAkB,CAAC,OAAO;iBACpC,CAAC,CAAC;gBACH,IAAM,MAAM,GACV,iCAAe,CAAC,OAAO,CACrB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;oBACA,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,mDAAwB,CAAC,QAAQ;iBAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEtE,2BAA2B;gBAC3B,IAAM,MAAM,GAAoB,mDAAwB,CAAC,KAAK,CAC5D,MAAM,CAAC,IAAI,CACZ,CAAC;gBACF,IAAM,OAAO,GAAkB,+BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,CAAA;oBAAE,OAAO,OAAO,CAAC;gBAC/C,OAAO,qCAAiB,CAAC,QAAQ,CAC/B,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;oBACE,mCAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,+BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACjE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAC5C,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B,EACD,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAC9D,CACF;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACnC;iBACF,EACD,IAAI,CACL,CACF,CAAC;YACJ,CAAC;QAzDD,CAyDC;IA1DD,CA0DC,CAAC;AACN,CAAC,EA9DgB,yBAAyB,yCAAzB,yBAAyB,QA8DzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "6.10.0",
3
+ "version": "6.10.1-dev.20240914",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -70,6 +70,7 @@
70
70
  "@samchon/openapi": "^1.0.0",
71
71
  "commander": "^10.0.0",
72
72
  "comment-json": "^4.2.3",
73
+ "glob": "^7.2.0",
73
74
  "inquirer": "^8.2.5",
74
75
  "package-manager-detector": "^0.2.0",
75
76
  "randexp": "^0.5.3"
@@ -82,6 +83,7 @@
82
83
  "@rollup/plugin-node-resolve": "^15.2.3",
83
84
  "@rollup/plugin-typescript": "^11.1.6",
84
85
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
86
+ "@types/glob": "^7.2.0",
85
87
  "@types/inquirer": "^8.2.5",
86
88
  "@types/node": "^18.15.12",
87
89
  "@types/ts-expose-internals": "npm:ts-expose-internals@5.5.4",
@@ -24,7 +24,7 @@ export namespace TypiaGenerateWizard {
24
24
  action,
25
25
  ) => {
26
26
  // PREPARE ASSETS
27
- command.option("--input [path]", "input directory");
27
+ command.option("--input [path]", "input directory or pattern");
28
28
  command.option("--output [directory]", "output directory");
29
29
  command.option("--project [project]", "tsconfig.json file location");
30
30
 
@@ -68,7 +68,7 @@ export namespace TypiaGenerateWizard {
68
68
  };
69
69
 
70
70
  return action(async (options) => {
71
- options.input ??= await input("input")("input directory");
71
+ options.input ??= await input("input")("input directory or pattern");
72
72
  options.output ??= await input("output")("output directory");
73
73
  options.project ??= await configure();
74
74
  return options as IArguments;
@@ -1,4 +1,5 @@
1
1
  import fs from "fs";
2
+ import path from "path";
2
3
  import { DetectResult, detect } from "package-manager-detector";
3
4
 
4
5
  import { ArgumentParser } from "./setup/ArgumentParser";
@@ -6,6 +7,8 @@ import { CommandExecutor } from "./setup/CommandExecutor";
6
7
  import { PackageManager } from "./setup/PackageManager";
7
8
  import { PluginConfigurator } from "./setup/PluginConfigurator";
8
9
 
10
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "../../package.json"), "utf-8"));
11
+
9
12
  export namespace TypiaSetupWizard {
10
13
  export interface IArguments {
11
14
  manager: "npm" | "pnpm" | "yarn" | "bun";
@@ -22,7 +25,7 @@ export namespace TypiaSetupWizard {
22
25
  const args: IArguments = await ArgumentParser.parse(pack)(inquiry);
23
26
 
24
27
  // INSTALL TYPESCRIPT COMPILERS
25
- pack.install({ dev: true, modulo: "typescript", version: "^5.6.2" });
28
+ pack.install({ dev: true, modulo: "typescript", version: pkg.devDependencies.typescript as string });
26
29
  pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
27
30
  args.project ??= (() => {
28
31
  const runner: string = pack.manager === "npm" ? "npx" : pack.manager;
@@ -0,0 +1,56 @@
1
+ import fs from "fs";
2
+ import glob from "glob";
3
+ import path from "path";
4
+
5
+ export namespace SourceFinder {
6
+ export interface IProps {
7
+ exclude?: string[];
8
+ include: string[];
9
+ filter: (location: string) => boolean;
10
+ }
11
+ export const find = async (props: IProps): Promise<string[]> => {
12
+ const dict: Set<string> = new Set();
13
+
14
+ await emplace(props.filter)(props.include)((str) => dict.add(str));
15
+ if (props.exclude?.length)
16
+ await emplace(props.filter)(props.exclude)((str) => dict.delete(str));
17
+
18
+ return [...dict];
19
+ };
20
+
21
+ const emplace =
22
+ (filter: (file: string) => boolean) =>
23
+ (input: string[]) =>
24
+ async (closure: (location: string) => void): Promise<void> => {
25
+ for (const pattern of input) {
26
+ for (const file of await _Glob(path.resolve(pattern))) {
27
+ const stats: fs.Stats = await fs.promises.stat(file);
28
+ if (stats.isDirectory() === true)
29
+ await iterate(filter)(closure)(file);
30
+ else if (stats.isFile() && filter(file)) closure(file);
31
+ }
32
+ }
33
+ };
34
+
35
+ const iterate =
36
+ (filter: (location: string) => boolean) =>
37
+ (closure: (location: string) => void) =>
38
+ async (location: string): Promise<void> => {
39
+ const directory: string[] = await fs.promises.readdir(location);
40
+ for (const file of directory) {
41
+ const next: string = path.resolve(`${location}/${file}`);
42
+ const stats: fs.Stats = await fs.promises.stat(next);
43
+
44
+ if (stats.isDirectory() === true) await iterate(filter)(closure)(next);
45
+ else if (stats.isFile() && filter(next)) closure(next);
46
+ }
47
+ };
48
+
49
+ const _Glob = (pattern: string): Promise<string[]> =>
50
+ new Promise((resolve, reject) => {
51
+ glob(pattern, (err, matches) => {
52
+ if (err) reject(err);
53
+ else resolve(matches.map((str) => path.resolve(str)));
54
+ });
55
+ });
56
+ }
@@ -4,6 +4,7 @@ import ts from "typescript";
4
4
 
5
5
  import { ImportTransformer } from "../transformers/ImportTransformer";
6
6
 
7
+ import { SourceFinder } from "../executable/setup/SourceFinder";
7
8
  import transform from "../transform";
8
9
 
9
10
  export namespace TypiaProgrammer {
@@ -14,25 +15,31 @@ export namespace TypiaProgrammer {
14
15
  }
15
16
 
16
17
  export const build = async (props: TypiaProgrammer.IProps): Promise<void> => {
17
- props.input = path.resolve(props.input);
18
- props.output = path.resolve(props.output);
19
-
20
- if ((await is_directory(props.input)) === false)
21
- throw new URIError(
22
- "Error on TypiaGenerator.generate(): input path is not a directory.",
18
+ const files: string[] = await SourceFinder.find({
19
+ include: [props.input],
20
+ filter: (location: string) =>
21
+ (location.endsWith(".ts") && !location.endsWith("d.ts")) ||
22
+ (location.endsWith(".tsx") && !location.endsWith("d.tsx")),
23
+ });
24
+ if (files.length === 0)
25
+ throw new Error(
26
+ "Error on TypiaGenerator.generate(): no file to generate.",
23
27
  );
24
28
  else if (fs.existsSync(props.output) === false)
25
29
  await fs.promises.mkdir(props.output, { recursive: true });
26
- else if ((await is_directory(props.output)) === false) {
30
+ else if ((await isDirectory(props.output)) === false) {
27
31
  const parent: string = path.join(props.output, "..");
28
- if ((await is_directory(parent)) === false)
29
- throw new URIError(
32
+ if ((await isDirectory(parent)) === false)
33
+ throw new Error(
30
34
  "Error on TypiaGenerator.generate(): output path is not a directory.",
31
35
  );
32
36
  await fs.promises.mkdir(props.output);
33
37
  }
34
38
 
35
39
  // CREATE PROGRAM
40
+ const base: string = (await isDirectory(props.input))
41
+ ? path.resolve(props.input)
42
+ : getBaseDirectory(files);
36
43
  const { options: compilerOptions } = ts.parseJsonConfigFileContent(
37
44
  ts.readConfigFile(props.project, ts.sys.readFile).config,
38
45
  {
@@ -43,15 +50,7 @@ export namespace TypiaProgrammer {
43
50
  },
44
51
  path.dirname(props.project),
45
52
  );
46
-
47
- const program: ts.Program = ts.createProgram(
48
- await (async () => {
49
- const container: string[] = [];
50
- await gather(props)(container)(props.input)(props.output);
51
- return container;
52
- })(),
53
- compilerOptions,
54
- );
53
+ const program: ts.Program = ts.createProgram(files, compilerOptions);
55
54
 
56
55
  // DO TRANSFORM
57
56
  const diagnostics: ts.Diagnostic[] = [];
@@ -61,10 +60,10 @@ export namespace TypiaProgrammer {
61
60
  .filter(
62
61
  (file) =>
63
62
  !file.isDeclarationFile &&
64
- path.resolve(file.fileName).indexOf(props.input) !== -1,
63
+ path.resolve(file.fileName).indexOf(base) !== -1,
65
64
  ),
66
65
  [
67
- ImportTransformer.transform(props.input)(props.output),
66
+ ImportTransformer.transform(base)(props.output),
68
67
  transform(
69
68
  program,
70
69
  ((compilerOptions.plugins as any[]) ?? []).find(
@@ -111,47 +110,48 @@ export namespace TypiaProgrammer {
111
110
  if (diagnostics.length) process.exit(-1);
112
111
 
113
112
  // ARCHIVE TRANSFORMED FILES
113
+ const directories: Set<string> = new Set();
114
114
  const printer: ts.Printer = ts.createPrinter({
115
115
  newLine: ts.NewLineKind.LineFeed,
116
116
  });
117
117
  for (const file of result.transformed) {
118
118
  const to: string = path
119
119
  .resolve(file.fileName)
120
- .replace(props.input, props.output);
121
-
120
+ .replace(base, props.output);
122
121
  const content: string = printer.printFile(file);
122
+
123
+ const parents: string[] = to.split(path.sep);
124
+ for (let i = 1; i < parents.length; i++) {
125
+ const parent: string = parents.slice(0, i).join(path.sep);
126
+ if (directories.has(parent)) continue;
127
+ try {
128
+ await fs.promises.mkdir(parent);
129
+ } catch {}
130
+ }
123
131
  await fs.promises.writeFile(to, content, "utf8");
124
132
  }
125
133
  };
126
134
 
127
- const is_directory = async (current: string): Promise<boolean> => {
128
- const stat: fs.Stats = await fs.promises.stat(current);
129
- return stat.isDirectory();
135
+ const isDirectory = async (current: string): Promise<boolean> => {
136
+ try {
137
+ const stat: fs.Stats = await fs.promises.stat(current);
138
+ return stat.isDirectory();
139
+ } catch {
140
+ return false;
141
+ }
130
142
  };
131
143
 
132
- const gather =
133
- (props: IProps) =>
134
- (container: string[]) =>
135
- (from: string) =>
136
- async (to: string) => {
137
- if (from === props.output) return;
138
- else if (fs.existsSync(to) === false) await fs.promises.mkdir(to);
139
-
140
- for (const file of await fs.promises.readdir(from)) {
141
- const next: string = path.join(from, file);
142
- const stat: fs.Stats = await fs.promises.stat(next);
143
-
144
- if (stat.isDirectory()) {
145
- await gather(props)(container)(next)(path.join(to, file));
146
- continue;
147
- } else if (is_supported_extension(file)) container.push(next);
148
- }
149
- };
144
+ const getBaseDirectory = (files: string[]): string => {
145
+ const splitPaths: string[][] = files.map((p) => p.split(path.sep));
146
+ const minLength: number = Math.min(...splitPaths.map((p) => p.length));
147
+ let commonPath: string[] = [];
150
148
 
151
- const is_supported_extension = (filename: string): boolean => {
152
- return (
153
- (filename.endsWith(".ts") && !filename.endsWith(".d.ts")) ||
154
- (filename.endsWith(".tsx") && !filename.endsWith(".d.tsx"))
155
- );
149
+ for (let i = 0; i < minLength; i++) {
150
+ const currentSegment: string = splitPaths[0]![i]!;
151
+ if (splitPaths.every((p) => p[i] === currentSegment))
152
+ commonPath.push(currentSegment);
153
+ else break;
154
+ }
155
+ return commonPath.length > 0 ? commonPath.join(path.sep) : "";
156
156
  };
157
157
  }
@@ -56,7 +56,8 @@ export namespace LlmApplicationTransformer {
56
56
  const schema: ILlmApplication = LlmApplicationProgrammer.write(
57
57
  result.data,
58
58
  );
59
-
59
+ const literal: ts.Expression = LiteralFactory.generate(schema);
60
+ if (!expression.arguments?.[0]) return literal;
60
61
  return ExpressionFactory.selfCall(
61
62
  ts.factory.createBlock(
62
63
  [
@@ -68,12 +69,7 @@ export namespace LlmApplicationTransformer {
68
69
  TypeFactory.keyword("any"),
69
70
  ),
70
71
  undefined,
71
- [
72
- ts.factory.createIdentifier("app"),
73
- ...(expression.arguments?.[0]
74
- ? [expression.arguments[0]]
75
- : []),
76
- ],
72
+ [ts.factory.createIdentifier("app"), expression.arguments[0]],
77
73
  ),
78
74
  ),
79
75
  ts.factory.createReturnStatement(