@autobe/compiler 0.20.0 → 0.21.0

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.
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AutoBeTestFunctionalProgrammer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
- const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
9
8
  const AutoBeTestStatementProgrammer_1 = require("./AutoBeTestStatementProgrammer");
10
9
  const writeTestExpression_1 = require("./writeTestExpression");
11
10
  var AutoBeTestFunctionalProgrammer;
@@ -18,12 +17,9 @@ var AutoBeTestFunctionalProgrammer;
18
17
  AutoBeTestFunctionalProgrammer.arrayMapExpression = (ctx, expr) => arrayExpression(ctx, "asyncMap", [expr.array, expr.function]);
19
18
  AutoBeTestFunctionalProgrammer.arrayRepeatExpression = (ctx, expr) => arrayExpression(ctx, "asyncRepeat", [expr.count, expr.function]);
20
19
  })(AutoBeTestFunctionalProgrammer || (exports.AutoBeTestFunctionalProgrammer = AutoBeTestFunctionalProgrammer = {}));
21
- const arrayExpression = (ctx, name, argList) => typescript_1.default.factory.createAwaitExpression(ExpressionFactory_1.ExpressionFactory.currying({
22
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
23
- type: "instance",
24
- library: "@nestia/e2e",
25
- name: "ArrayUtil",
26
- })), name),
27
- arguments: argList.map((a) => (0, writeTestExpression_1.writeTestExpression)(ctx, a)),
28
- }));
20
+ const arrayExpression = (ctx, name, argList) => typescript_1.default.factory.createAwaitExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
21
+ type: "instance",
22
+ library: "@nestia/e2e",
23
+ name: "ArrayUtil",
24
+ })), name), undefined, argList.map((a) => (0, writeTestExpression_1.writeTestExpression)(ctx, a))));
29
25
  //# sourceMappingURL=AutoBeTestFunctionalProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoBeTestFunctionalProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestFunctionalProgrammer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAC5B,6EAA0E;AAE1E,mFAAgF;AAEhF,+DAA4D;AAE5D,IAAiB,8BAA8B,CAyD9C;AAzDD,WAAiB,8BAA8B;IAChC,4CAAa,GAAG,CAC3B,GAAiC,EACjC,IAA+B,EACb,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EACvD,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,6DAA6B,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;IAES,6CAAc,GAAG,CAC5B,GAAiC,EACjC,IAAgC,EACb,EAAE,CACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAA,yCAAmB,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACzC,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC3D,CAAC;IAES,4CAAa,GAAG,CAC3B,GAAiC,EACjC,IAA+B,EACb,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,IAAA,yCAAmB,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACzC,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC3D,CAAC;IAES,oDAAqB,GAAG,CACnC,GAAiC,EACjC,IAAuC,EACnB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,qDAAsB,GAAG,CACpC,GAAiC,EACjC,IAAwC,EACpB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,iDAAkB,GAAG,CAChC,GAAiC,EACjC,IAAoC,EAChB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,oDAAqB,GAAG,CACnC,GAAiC,EACjC,IAAuC,EACnB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC,EAzDgB,8BAA8B,8CAA9B,8BAA8B,QAyD9C;AAED,MAAM,eAAe,GAAG,CACtB,GAAiC,EACjC,IAAY,EACZ,OAAiC,EACb,EAAE,CACtB,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,qCAAiB,CAAC,QAAQ,CAAC;IACzB,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACjD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,WAAW;KAClB,CAAC,CACH,EACD,IAAI,CACL;IACD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC;CAC3D,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"AutoBeTestFunctionalProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestFunctionalProgrammer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,mFAAgF;AAEhF,+DAA4D;AAE5D,IAAiB,8BAA8B,CAyD9C;AAzDD,WAAiB,8BAA8B;IAChC,4CAAa,GAAG,CAC3B,GAAiC,EACjC,IAA+B,EACb,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EACvD,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,6DAA6B,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;IAES,6CAAc,GAAG,CAC5B,GAAiC,EACjC,IAAgC,EACb,EAAE,CACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,IAAA,yCAAmB,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACzC,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC3D,CAAC;IAES,4CAAa,GAAG,CAC3B,GAAiC,EACjC,IAA+B,EACb,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,IAAA,yCAAmB,EAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,EACzC,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAC3D,CAAC;IAES,oDAAqB,GAAG,CACnC,GAAiC,EACjC,IAAuC,EACnB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEtD,qDAAsB,GAAG,CACpC,GAAiC,EACjC,IAAwC,EACpB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,iDAAkB,GAAG,CAChC,GAAiC,EACjC,IAAoC,EAChB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,oDAAqB,GAAG,CACnC,GAAiC,EACjC,IAAuC,EACnB,EAAE,CACtB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC,EAzDgB,8BAA8B,8CAA9B,8BAA8B,QAyD9C;AAED,MAAM,eAAe,GAAG,CACtB,GAAiC,EACjC,IAAY,EACZ,OAAiC,EACb,EAAE,CACtB,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACvC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE,WAAW;CAClB,CAAC,CACH,EACD,IAAI,CACL,EACD,SAAS,EACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,yCAAmB,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAChD,CACF,CAAC"}
@@ -5,66 +5,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AutoBeTestPredicateProgrammer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
- const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
9
8
  const writeTestExpression_1 = require("./writeTestExpression");
10
9
  var AutoBeTestPredicateProgrammer;
11
10
  (function (AutoBeTestPredicateProgrammer) {
12
- AutoBeTestPredicateProgrammer.equalPredicate = (ctx, expression) => ExpressionFactory_1.ExpressionFactory.currying({
13
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
14
- type: "instance",
15
- library: "@nestia/e2e",
16
- name: "TestValidator",
17
- })), "equals"),
18
- arguments: [
19
- typescript_1.default.factory.createStringLiteral(expression.title),
20
- (0, writeTestExpression_1.writeTestExpression)(ctx, expression.x),
21
- (0, writeTestExpression_1.writeTestExpression)(ctx, expression.y),
22
- ],
23
- });
24
- AutoBeTestPredicateProgrammer.notEqualPredicate = (ctx, expression) => ExpressionFactory_1.ExpressionFactory.currying({
25
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
26
- type: "instance",
27
- library: "@nestia/e2e",
28
- name: "TestValidator",
29
- })), "error"),
30
- arguments: [
31
- typescript_1.default.factory.createStringLiteral(expression.title),
32
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, AutoBeTestPredicateProgrammer.equalPredicate(ctx, {
33
- type: "equalPredicate",
34
- title: expression.title,
35
- x: expression.x,
36
- y: expression.y,
37
- })),
38
- ],
39
- });
40
- AutoBeTestPredicateProgrammer.conditionalPredicate = (ctx, expression) => ExpressionFactory_1.ExpressionFactory.currying({
41
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
42
- type: "instance",
43
- library: "@nestia/e2e",
44
- name: "TestValidator",
45
- })), "predicate"),
46
- arguments: [
47
- typescript_1.default.factory.createStringLiteral(expression.title),
48
- (0, writeTestExpression_1.writeTestExpression)(ctx, expression.expression),
49
- ],
50
- });
51
- AutoBeTestPredicateProgrammer.errorPredicate = (ctx, expression) => ExpressionFactory_1.ExpressionFactory.currying({
52
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
53
- type: "instance",
54
- library: "@nestia/e2e",
55
- name: "TestValidator",
56
- })), "error"),
57
- arguments: [
58
- typescript_1.default.factory.createStringLiteral(expression.title),
59
- (0, writeTestExpression_1.writeTestExpression)(ctx, expression.function),
60
- ],
61
- });
11
+ AutoBeTestPredicateProgrammer.equalPredicate = (ctx, expression) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
12
+ type: "instance",
13
+ library: "@nestia/e2e",
14
+ name: "TestValidator",
15
+ })), "equals"), undefined, [
16
+ typescript_1.default.factory.createStringLiteral(expression.title),
17
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expression.x),
18
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expression.y),
19
+ ]);
20
+ AutoBeTestPredicateProgrammer.notEqualPredicate = (ctx, expression) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
21
+ type: "instance",
22
+ library: "@nestia/e2e",
23
+ name: "TestValidator",
24
+ })), "error"), undefined, [
25
+ typescript_1.default.factory.createStringLiteral(expression.title),
26
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, AutoBeTestPredicateProgrammer.equalPredicate(ctx, {
27
+ type: "equalPredicate",
28
+ title: expression.title,
29
+ x: expression.x,
30
+ y: expression.y,
31
+ })),
32
+ ]);
33
+ AutoBeTestPredicateProgrammer.conditionalPredicate = (ctx, expression) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
34
+ type: "instance",
35
+ library: "@nestia/e2e",
36
+ name: "TestValidator",
37
+ })), "predicate"), undefined, [
38
+ typescript_1.default.factory.createStringLiteral(expression.title),
39
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expression.expression),
40
+ ]);
41
+ AutoBeTestPredicateProgrammer.errorPredicate = (ctx, expression) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
42
+ type: "instance",
43
+ library: "@nestia/e2e",
44
+ name: "TestValidator",
45
+ })), "error"), undefined, [
46
+ typescript_1.default.factory.createStringLiteral(expression.title),
47
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expression.function),
48
+ ]);
62
49
  // export const httpErrorPredicate = (
63
50
  // ctx: IAutoBeTestProgrammerContext,
64
51
  // expression: AutoBeTest.IHttpErrorPredicate,
65
52
  // ): ts.CallExpression =>
66
- // ExpressionFactory.currying({
67
- // function: ts.factory.createPropertyAccessExpression(
53
+ // ts.factory.createCallExpression(
54
+ // ts.factory.createPropertyAccessExpression(
68
55
  // ts.factory.createIdentifier(
69
56
  // ctx.importer.external({
70
57
  // type: "instance",
@@ -74,11 +61,12 @@ var AutoBeTestPredicateProgrammer;
74
61
  // ),
75
62
  // "httpError",
76
63
  // ),
77
- // arguments: [
64
+ // undefined,
65
+ // [
78
66
  // ts.factory.createStringLiteral(expression.title),
79
67
  // ts.factory.createNumericLiteral(expression.status),
80
68
  // writeTestExpression(ctx, expression.function),
81
69
  // ],
82
- // });
70
+ // );
83
71
  })(AutoBeTestPredicateProgrammer || (exports.AutoBeTestPredicateProgrammer = AutoBeTestPredicateProgrammer = {}));
84
72
  //# sourceMappingURL=AutoBeTestPredicateProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoBeTestPredicateProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestPredicateProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoBeTestPredicateProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestPredicateProgrammer.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AutoBeTestRandomProgrammer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
- const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
9
8
  const writeTestExpression_1 = require("./writeTestExpression");
10
9
  var AutoBeTestRandomProgrammer;
11
10
  (function (AutoBeTestRandomProgrammer) {
@@ -14,17 +13,14 @@ var AutoBeTestRandomProgrammer;
14
13
  library: "@nestia/e2e",
15
14
  name: "RandomGenerator",
16
15
  })), "pick"), undefined, [(0, writeTestExpression_1.writeTestExpression)(ctx, expr.array)]);
17
- AutoBeTestRandomProgrammer.sampleRandom = (ctx, expr) => ExpressionFactory_1.ExpressionFactory.currying({
18
- function: typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
19
- type: "instance",
20
- library: "@nestia/e2e",
21
- name: "RandomGenerator",
22
- })), "sample"),
23
- arguments: [
24
- (0, writeTestExpression_1.writeTestExpression)(ctx, expr.array),
25
- (0, writeTestExpression_1.writeTestExpression)(ctx, expr.count),
26
- ],
27
- });
16
+ AutoBeTestRandomProgrammer.sampleRandom = (ctx, expr) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
17
+ type: "instance",
18
+ library: "@nestia/e2e",
19
+ name: "RandomGenerator",
20
+ })), "sample"), undefined, [
21
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expr.array),
22
+ (0, writeTestExpression_1.writeTestExpression)(ctx, expr.count),
23
+ ]);
28
24
  AutoBeTestRandomProgrammer.booleanRandom = (_ctx, expr) => {
29
25
  var _a;
30
26
  return typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier("Math"), "random"), undefined, undefined), typescript_1.default.factory.createNumericLiteral((_a = expr.probability) !== null && _a !== void 0 ? _a : 0.5));
@@ -114,17 +110,11 @@ var AutoBeTestRandomProgrammer;
114
110
  ]),
115
111
  ]),
116
112
  ], []);
117
- AutoBeTestRandomProgrammer.keywordRandom = (ctx, expr) => {
118
- let value = typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
119
- type: "instance",
120
- library: "@nestia/e2e",
121
- name: "RandomGenerator",
122
- })), expr.keyword);
123
- new Array(KEYWORD_CURRYING_COUNT[expr.keyword]).fill(0).forEach(() => {
124
- value = typescript_1.default.factory.createCallExpression(value, undefined, undefined);
125
- });
126
- return value;
127
- };
113
+ AutoBeTestRandomProgrammer.keywordRandom = (ctx, expr) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
114
+ type: "instance",
115
+ library: "@nestia/e2e",
116
+ name: "RandomGenerator",
117
+ })), expr.keyword), undefined, undefined);
128
118
  })(AutoBeTestRandomProgrammer || (exports.AutoBeTestRandomProgrammer = AutoBeTestRandomProgrammer = {}));
129
119
  const createTypiaTag = (ctx, name, typeArguments) => typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier(ctx.importer.external({
130
120
  type: "instance",
@@ -140,12 +130,4 @@ const createTypiaRandom = (ctx, typeArguments = []) => typescript_1.default.fact
140
130
  : typeArguments.length === 1
141
131
  ? typeArguments
142
132
  : [typescript_1.default.factory.createIntersectionTypeNode(typeArguments)], undefined);
143
- const KEYWORD_CURRYING_COUNT = {
144
- alphabets: 1,
145
- alphaNumeric: 1,
146
- mobile: 1,
147
- name: 1,
148
- paragraph: 2,
149
- content: 3,
150
- };
151
133
  //# sourceMappingURL=AutoBeTestRandomProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoBeTestRandomProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestRandomProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoBeTestRandomProgrammer.js","sourceRoot":"","sources":["../../../src/test/programmers/AutoBeTestRandomProgrammer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobe/compiler",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "description": "AI backend server code generator",
5
5
  "main": "lib/index.js",
6
6
  "author": "Wrtn Technologies",
@@ -13,12 +13,12 @@
13
13
  "url": "https://github.com/wrtnlabs/autobe/issues"
14
14
  },
15
15
  "dependencies": {
16
- "@nestia/core": "^7.4.0",
17
- "@nestia/migrate": "^7.4.0",
16
+ "@nestia/core": "^8.0.1",
17
+ "@nestia/migrate": "^8.0.1",
18
18
  "@samchon/openapi": "^4.7.1",
19
19
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
20
- "@typescript-eslint/eslint-plugin": "^8.40.0",
21
- "@typescript-eslint/parser": "^8.40.0",
20
+ "@typescript-eslint/eslint-plugin": "8.40.0",
21
+ "@typescript-eslint/parser": "8.40.0",
22
22
  "embed-eslint": "^2.0.1",
23
23
  "embed-prisma": "^1.1.0",
24
24
  "embed-typescript": "^2.0.1",
@@ -29,10 +29,10 @@
29
29
  "prisma-markdown": "^3.0.0",
30
30
  "tgrid": "^1.2.0",
31
31
  "tstl": "^3.0.0",
32
- "typia": "^9.7.1",
33
- "@autobe/filesystem": "^0.20.0",
34
- "@autobe/interface": "^0.20.0",
35
- "@autobe/utils": "^0.20.0"
32
+ "typia": "^9.7.2",
33
+ "@autobe/filesystem": "^0.21.0",
34
+ "@autobe/interface": "^0.21.0",
35
+ "@autobe/utils": "^0.21.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^22.15.3",
@@ -1,7 +1,7 @@
1
1
  export const AutoBeCompilerRealizeTemplate: Record<string, string> = {
2
2
  ".env.local": "API_PORT=37001\nJWT_SECRET_KEY=your_jwt_secret_key",
3
3
  ".gitignore": "bin/\ndist/\nlib/\nnode_modules/\n\nprisma/migrations\nprisma/schema/migrations\nprisma/bbs.db\n\n*.DS_Store\npackage-lock.json\npnpm-lock.yaml\n.npmrc",
4
- "package.json": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:prisma && npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:env\": \"ts-node build/env.ts\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:prisma\": \"prisma generate --schema prisma/schema\",\n \"build:swagger\": \"nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && npm run build:env && npm run build:prisma\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"AGPL-3.0\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@autobe/interface\": \"^0.10.6\",\n \"@nestia/benchmark\": \"^7.4.0\",\n \"@nestia/e2e\": \"^7.4.0\",\n \"@nestia/sdk\": \"^7.4.0\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/bcryptjs\": \"^3.0.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/jsonwebtoken\": \"^9.0.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"fastify\": \"^5.4.0\",\n \"nestia\": \"^7.4.0\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"prisma-markdown\": \"^3.0.1\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.2\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^7.4.0\",\n \"@nestia/fetcher\": \"^7.4.0\",\n \"@nestjs/common\": \"^11.1.3\",\n \"@nestjs/core\": \"^11.1.3\",\n \"@nestjs/platform-express\": \"^11.1.3\",\n \"@nestjs/platform-fastify\": \"^11.1.3\",\n \"@prisma/client\": \"^6.11.1\",\n \"bcryptjs\": \"^3.0.2\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"jsonwebtoken\": \"^9.0.2\",\n \"prisma\": \"^6.11.1\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.7.1\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test -- --simultaneous 1\"\n }\n}\n",
4
+ "package.json": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:prisma && npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:env\": \"ts-node build/env.ts\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:prisma\": \"prisma generate --schema prisma/schema\",\n \"build:swagger\": \"nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && npm run build:env && npm run build:prisma\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"AGPL-3.0\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@autobe/interface\": \"^0.10.6\",\n \"@nestia/benchmark\": \"^8.0.1\",\n \"@nestia/e2e\": \"^8.0.1\",\n \"@nestia/sdk\": \"^8.0.1\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/bcryptjs\": \"^3.0.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/jsonwebtoken\": \"^9.0.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"fastify\": \"^5.4.0\",\n \"nestia\": \"^8.0.1\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"prisma-markdown\": \"^3.0.1\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.2\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^8.0.1\",\n \"@nestia/fetcher\": \"^8.0.1\",\n \"@nestjs/common\": \"^11.1.3\",\n \"@nestjs/core\": \"^11.1.3\",\n \"@nestjs/platform-express\": \"^11.1.3\",\n \"@nestjs/platform-fastify\": \"^11.1.3\",\n \"@prisma/client\": \"^6.11.1\",\n \"bcryptjs\": \"^3.0.2\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"jsonwebtoken\": \"^9.0.2\",\n \"prisma\": \"^6.11.1\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.7.2\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test -- --simultaneous 1\"\n }\n}\n",
5
5
  "src/MyGlobal.ts": "import { PrismaClient } from \"@prisma/client\";\nimport crypto from \"crypto\";\nimport dotenv from \"dotenv\";\nimport dotenvExpand from \"dotenv-expand\";\nimport { Singleton } from \"tstl\";\nimport typia from \"typia\";\n\n/* eslint-disable */\nexport class MyGlobal {\n public static readonly prisma: PrismaClient = new PrismaClient();\n public static testing: boolean = false;\n public static get env(): MyGlobal.IEnvironments {\n return environments.get();\n }\n\n /**\n * Common password utilities for consistent authentication Uses native crypto\n * module for password hashing\n */\n public static readonly password = {\n // Fixed salt for password hashing (consistent across all operations)\n FIXED_SALT: \"autobe-fixed-salt-2024\",\n\n /**\n * Hash a plain password using crypto.pbkdf2 All authentication operations\n * (join, login) MUST use this method\n *\n * @param plainPassword - The plain text password to hash\n * @returns The hashed password as hex string\n */\n async hash(plainPassword: string): Promise<string> {\n return new Promise((resolve, reject) => {\n crypto.pbkdf2(\n plainPassword,\n this.FIXED_SALT,\n 10000,\n 64,\n \"sha512\",\n (err: Error | null, derivedKey: Buffer) => {\n if (err) reject(err);\n else resolve(derivedKey.toString(\"hex\"));\n },\n );\n });\n },\n\n /**\n * Verify a plain password against a hashed password Login operations MUST\n * use this method for password verification\n *\n * @param plainPassword - The plain text password to verify\n * @param hashedPassword - The hashed password from database\n * @returns True if passwords match, false otherwise\n */\n async verify(\n plainPassword: string,\n hashedPassword: string,\n ): Promise<boolean> {\n const hash = await this.hash(plainPassword);\n return hash === hashedPassword;\n },\n };\n}\nexport namespace MyGlobal {\n export interface IEnvironments {\n API_PORT: `${number}`;\n\n /** JWT Secret Key. */\n JWT_SECRET_KEY: string;\n }\n}\nconst environments = new Singleton(() => {\n const env = dotenv.config();\n dotenvExpand.expand(env);\n return typia.assert<MyGlobal.IEnvironments>(process.env);\n});\n",
6
6
  "src/providers/authorize/jwtAuthorize.ts": "import { ForbiddenException, UnauthorizedException } from \"@nestjs/common\";\nimport jwt from \"jsonwebtoken\";\n\nimport { MyGlobal } from \"../../MyGlobal\";\n\nexport function jwtAuthorize(props: {\n request: {\n headers: { authorization?: string };\n };\n}) {\n if (!props.request.headers.authorization)\n throw new ForbiddenException(\"No token value exists\");\n\n // PARSE TOKEN\n try {\n if (\n props.request.headers.authorization.startsWith(BEARER_PREFIX) === true\n ) {\n const token: string = props.request.headers.authorization.substring(\n BEARER_PREFIX.length,\n );\n\n const verified = jwt.verify(token, MyGlobal.env.JWT_SECRET_KEY);\n\n return verified;\n } else {\n const token = props.request.headers.authorization;\n\n const verified = jwt.verify(token, MyGlobal.env.JWT_SECRET_KEY);\n\n return verified;\n }\n } catch {\n throw new UnauthorizedException(\"Invalid token\");\n }\n}\n\nconst BEARER_PREFIX = \"Bearer \";\n",
7
7
  "src/setup/MySetupWizard.ts": "import cp from \"child_process\";\n\nimport { MyConfiguration } from \"../MyConfiguration\";\nimport { MyGlobal } from \"../MyGlobal\";\n\nexport namespace MySetupWizard {\n export async function schema(): Promise<void> {\n if (MyGlobal.testing === false)\n throw new Error(\n \"Error on SetupWizard.schema(): unable to reset database in non-test mode.\",\n );\n const execute = (type: string) => (argv: string) =>\n cp.execSync(`npx prisma migrate ${type} --schema=prisma/schema ${argv}`, {\n stdio: \"ignore\",\n cwd: MyConfiguration.ROOT,\n });\n execute(\"reset\")(\"--force\");\n execute(\"dev\")(\"--name init\");\n }\n\n export async function seed(): Promise<void> {}\n}\n",
@@ -1,5 +1,5 @@
1
1
  export const AutoBeCompilerTestTemplate: Record<string, string> = {
2
- "package.json": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:swagger\": \"npx nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && ts-node build/env.ts\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"AGPL-3.0\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^7.4.0\",\n \"@nestia/e2e\": \"^7.4.0\",\n \"@nestia/sdk\": \"^7.4.0\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"nestia\": \"^7.4.0\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"prisma-markdown\": \"^3.0.1\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.2\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^7.4.0\",\n \"@nestia/fetcher\": \"^7.4.0\",\n \"@nestjs/common\": \"^11.1.3\",\n \"@nestjs/core\": \"^11.1.3\",\n \"@nestjs/platform-express\": \"^11.1.3\",\n \"@prisma/client\": \"^6.11.1\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"prisma\": \"^6.11.1\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.7.1\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test -- --simultaneous 1\"\n }\n}\n",
2
+ "package.json": "{\n \"private\": true,\n \"name\": \"@ORGANIZATION/PROJECT\",\n \"version\": \"0.1.0\",\n \"description\": \"Starter kit of Nestia\",\n \"main\": \"lib/index.js\",\n \"scripts\": {\n \"benchmark\": \"node bin/test/benchmark\",\n \"test\": \"node bin/test\",\n \"test:webpack\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------BUILDS------------------------\": \"\",\n \"build\": \"npm run build:sdk && npm run build:main && npm run build:test\",\n \"build:api\": \"rimraf packages/api/lib && nestia all && rimraf packages/api/lib && tsc -p packages/api/tsconfig.json && rollup -c packages/api/rollup.config.js\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:sdk\": \"rimraf src/api/functional && nestia sdk\",\n \"build:swagger\": \"npx nestia swagger\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"eslint:fix\": \"eslint --fix src && eslint --fix test\",\n \"prepare\": \"ts-patch install && ts-node build/env.ts\",\n \"prettier\": \"prettier src --write && prettier test --write\",\n \"------------------------WEBPACK------------------------\": \"\",\n \"webpack\": \"rimraf dist && webpack\",\n \"webpack:start\": \"cd dist && node dist/server\",\n \"webpack:test\": \"npm run webpack && node bin/test/webpack.js\",\n \"------------------------DEPLOYS------------------------\": \"\",\n \"package:api\": \"npm run build:api && cd packages/api && npm publish\",\n \"start\": \"node lib/executable/server\",\n \"start:dev\": \"nest start --watch\",\n \"start:swagger\": \"ts-node src/executable/swagger.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia-start\"\n },\n \"keywords\": [\n \"nestia\",\n \"template\",\n \"boilerplate\"\n ],\n \"author\": \"AUTHOR\",\n \"license\": \"AGPL-3.0\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia-start/issues\"\n },\n \"homepage\": \"https://github.com/samchon/nestia-start#readme\",\n \"devDependencies\": {\n \"@nestia/benchmark\": \"^8.0.1\",\n \"@nestia/e2e\": \"^8.0.1\",\n \"@nestia/sdk\": \"^8.0.1\",\n \"@nestjs/cli\": \"^11.0.7\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/cli\": \"^0.11.21\",\n \"@types/cli-progress\": \"^3.11.5\",\n \"@types/express\": \"^4.17.21\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.11.0\",\n \"@types/uuid\": \"^8.3.4\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.1.2\",\n \"cli\": \"^1.0.1\",\n \"cli-progress\": \"^3.12.0\",\n \"copy-webpack-plugin\": \"^11.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"express\": \"^4.18.2\",\n \"nestia\": \"^8.0.1\",\n \"prettier\": \"^3.2.4\",\n \"prettier-plugin-prisma\": \"^5.0.0\",\n \"prisma-markdown\": \"^3.0.1\",\n \"rimraf\": \"^3.0.2\",\n \"rollup\": \"^4.18.0\",\n \"source-map-support\": \"^0.5.21\",\n \"swagger-ui-express\": \"^5.0.0\",\n \"ts-loader\": \"^9.5.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.2\",\n \"typescript-transform-paths\": \"^3.5.5\",\n \"webpack\": \"^5.89.0\",\n \"webpack-cli\": \"^5.1.4\",\n \"write-file-webpack-plugin\": \"^4.5.1\"\n },\n \"dependencies\": {\n \"@nestia/core\": \"^8.0.1\",\n \"@nestia/fetcher\": \"^8.0.1\",\n \"@nestjs/common\": \"^11.1.3\",\n \"@nestjs/core\": \"^11.1.3\",\n \"@nestjs/platform-express\": \"^11.1.3\",\n \"@prisma/client\": \"^6.11.1\",\n \"commander\": \"10.0.0\",\n \"dotenv\": \"^16.3.1\",\n \"dotenv-expand\": \"^10.0.0\",\n \"inquirer\": \"8.2.5\",\n \"prisma\": \"^6.11.1\",\n \"serialize-error\": \"^4.1.0\",\n \"tgrid\": \"^1.1.0\",\n \"tstl\": \"^3.0.0\",\n \"typia\": \"^9.7.2\",\n \"uuid\": \"^9.0.0\"\n },\n \"stackblitz\": {\n \"startCommand\": \"npm run prepare && npm run build:test && npm run test -- --simultaneous 1\"\n }\n}\n",
3
3
  "src/setup/MySetupWizard.ts": "export namespace MySetupWizard {\n export async function schema(): Promise<void> {\n console.log(\"Realize agent has not generated main program yet.\");\n }\n\n export async function seed(): Promise<void> {}\n}\n",
4
4
  "test/helpers/TestAutomation.ts": "import api from \"@ORGANIZATION/PROJECT-api\";\nimport { DynamicExecutor } from \"@nestia/e2e\";\nimport { sleep_for } from \"tstl\";\n\nimport { MyConfiguration } from \"../../src/MyConfiguration\";\nimport { MySetupWizard } from \"../../src/setup/MySetupWizard\";\n\nexport namespace TestAutomation {\n export interface IProps<T> {\n open(options: IOptions): Promise<T>;\n close(backend: T): Promise<void>;\n onComplete(exec: DynamicExecutor.IExecution): void;\n onReset(): void;\n options: IOptions;\n }\n\n export interface IOptions {\n reset: boolean;\n simultaneous: number;\n include?: string[];\n exclude?: string[];\n }\n\n export const execute = async <T>(\n props: IProps<T>,\n ): Promise<DynamicExecutor.IReport> => {\n // RESET\n if (props.options.reset === true) {\n await MySetupWizard.schema();\n await MySetupWizard.seed();\n await props.onReset();\n }\n\n // OPEN BACKEND\n const backend: T = await props.open(props.options);\n const connection: api.IConnection = {\n host: `http://127.0.0.1:${MyConfiguration.API_PORT()}`,\n };\n\n // DO TEST\n const report: DynamicExecutor.IReport = await DynamicExecutor.validate({\n prefix: \"test\",\n location: __dirname + \"/../features\",\n parameters: () => [\n {\n host: connection.host,\n } satisfies api.IConnection,\n ],\n filter: (func) =>\n (!props.options.include?.length ||\n (props.options.include ?? []).some((str) => func.includes(str))) &&\n (!props.options.exclude?.length ||\n (props.options.exclude ?? []).every((str) => !func.includes(str))),\n onComplete: props.onComplete,\n simultaneous: props.options.simultaneous,\n extension: __filename.split(\".\").pop()!,\n });\n\n // TERMINATE\n await sleep_for(2500);\n await props.close(backend);\n return report;\n };\n}\n",
5
5
  "test/helpers/TestAutomationStdio.ts": "import { DynamicExecutor } from \"@nestia/e2e\";\nimport chalk from \"chalk\";\n\nimport { ArgumentParser } from \"./ArgumentParser\";\nimport { TestAutomation } from \"./TestAutomation\";\n\nexport namespace TestAutomationStdio {\n export const getOptions = () =>\n ArgumentParser.parse<TestAutomation.IOptions>(\n async (command, prompt, action) => {\n command.option(\"--reset <true|false>\", \"reset local DB or not\");\n command.option(\n \"--simultaneous <number>\",\n \"number of simultaneous requests\",\n );\n command.option(\"--include <string...>\", \"include feature files\");\n command.option(\"--exclude <string...>\", \"exclude feature files\");\n\n return action(async (options) => {\n // reset\n if (typeof options.reset === \"string\")\n options.reset = options.reset === \"true\";\n options.reset ??= await prompt.boolean(\"reset\")(\"Reset local DB\");\n\n // simultaneous\n options.simultaneous = Number(\n options.simultaneous ??\n (await prompt.number(\"simultaneous\")(\n \"Number of simultaneous requests to make\",\n )),\n );\n if (isNaN(options.simultaneous) || options.simultaneous <= 0)\n options.simultaneous = 1;\n return options as TestAutomation.IOptions;\n });\n },\n );\n\n export const onComplete = (exec: DynamicExecutor.IExecution): void => {\n const trace = (str: string) =>\n console.log(` - ${chalk.green(exec.name)}: ${str}`);\n if (exec.error === null) {\n const elapsed: number =\n new Date(exec.completed_at).getTime() -\n new Date(exec.started_at).getTime();\n trace(`${chalk.yellow(elapsed.toLocaleString())} ms`);\n } else trace(chalk.red(exec.error.name));\n };\n\n export const onReset = (start: Date) => (): void => {\n const now: Date = new Date();\n console.log(\n ` - Reset DB: ${(now.getDate() - start.getDate()).toLocaleString()} ms`,\n );\n };\n\n export const report = (report: DynamicExecutor.IReport): void => {\n const exceptions: Error[] = report.executions\n .filter((exec) => exec.error !== null)\n .map((exec) => exec.error!);\n if (exceptions.length === 0) {\n console.log(\"Success\");\n console.log(\"Elapsed time\", report.time.toLocaleString(), `ms`);\n } else {\n for (const exp of exceptions) console.log(exp);\n console.log(\"Failed\");\n console.log(\"Elapsed time\", report.time.toLocaleString(), `ms`);\n process.exit(-1);\n }\n };\n}\n",