@sealcode/sealgen 0.5.0 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/forms/controls/controls.d.ts +1 -0
- package/@types/forms/controls/html.d.ts +9 -0
- package/@types/utils/get-prettier-config.d.ts +2 -0
- package/@types/utils/prettier.d.ts +2 -0
- package/lib/build.js +3 -2
- package/lib/build.js.map +1 -1
- package/lib/forms/controls/controls.js +3 -1
- package/lib/forms/controls/controls.js.map +1 -1
- package/lib/forms/controls/html.js +19 -0
- package/lib/forms/controls/html.js.map +1 -0
- package/lib/forms/form.js +2 -0
- package/lib/forms/form.js.map +1 -1
- package/lib/generate-collections.js +22 -1
- package/lib/generate-collections.js.map +1 -1
- package/lib/generate-routes.js +33 -9
- package/lib/generate-routes.js.map +1 -1
- package/lib/templates/route-test.js +1 -1
- package/lib/templates/route-test.js.map +1 -1
- package/lib/utils/get-prettier-config.js +36 -0
- package/lib/utils/get-prettier-config.js.map +1 -0
- package/lib/utils/prettier.js +36 -0
- package/lib/utils/prettier.js.map +1 -0
- package/package.json +4 -3
- package/src/build.ts +3 -2
- package/src/forms/controls/controls.ts +1 -0
- package/src/forms/controls/html.ts +18 -0
- package/src/forms/form.ts +2 -0
- package/src/generate-collections.ts +3 -1
- package/src/generate-routes.ts +29 -11
- package/src/templates/route-test.ts +1 -1
- package/src/utils/prettier.ts +13 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { FlatTemplatable } from "tempstream";
|
|
3
|
+
import { FormControl } from "./controls";
|
|
4
|
+
export declare class HTML extends FormControl {
|
|
5
|
+
renderer: ((ctx: Context) => FlatTemplatable) | string;
|
|
6
|
+
role: "decoration";
|
|
7
|
+
constructor(renderer: ((ctx: Context) => FlatTemplatable) | string);
|
|
8
|
+
render(ctx: Context): Promise<FlatTemplatable>;
|
|
9
|
+
}
|
package/lib/build.js
CHANGED
|
@@ -43,7 +43,7 @@ async function build_ts() {
|
|
|
43
43
|
outdir: "./dist/back",
|
|
44
44
|
logLevel: "info",
|
|
45
45
|
platform: "node",
|
|
46
|
-
target: "
|
|
46
|
+
target: "es2022",
|
|
47
47
|
format: "cjs",
|
|
48
48
|
});
|
|
49
49
|
}
|
|
@@ -72,7 +72,8 @@ async function complex_build(watch) {
|
|
|
72
72
|
}
|
|
73
73
|
if (path.endsWith(".ts") &&
|
|
74
74
|
!path.endsWith("src/back/collections.ts") &&
|
|
75
|
-
!path.endsWith("src/back/routes/routes.ts")
|
|
75
|
+
!path.endsWith("src/back/routes/routes.ts") &&
|
|
76
|
+
!path.endsWith("src/back/routes/urls.ts")) {
|
|
76
77
|
await build_ts();
|
|
77
78
|
console.log(`Finished TS build [on ${path}]`);
|
|
78
79
|
}
|
package/lib/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA6C;AAC7C,6DAAiD;AACjD,mDAAqC;AACrC,0DAA4C;AAC5C,6DAA4D;AAC5D,yCAAsC;AACtC,iEAA6D;AAC7D,uDAAmD;AAEnD,KAAK,UAAU,QAAQ;IACtB,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,mBAAI,CAAC,oBAAoB,CAAC;QAC1B,0CAAmB,EAAE;QACrB,gCAAc,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,eAAK,CAAC;QACX,WAAW;QACX,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,UAAU,GAAuB,IAAI,CAAC;IAC1C,IAAI,KAAK,EAAE;QACV,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBAC/D,sDAAsD;gBACtD,MAAM,yCAAoB,EAAE,CAAC;gBAC7B,IAAI;oBACH,MAAM,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;iBAC5C;gBAAC,OAAO,CAAC,EAAE;oBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACzB,MAAM,aAAK,CAAC,GAAG,CAAC,CAAC;oBACjB,UAAU;wBACT,EAAE,OAAO,EAAE,EAAE;wBACb,sEAAsE;yBACrE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;iBAC1C;aACD;YACD,IACC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACzC,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormParagraph = exports.FormHeader = exports.SimpleInput = exports.Dropdown = exports.CheckboxedListInput = exports.Frame = exports.EditableCollectionSubset = exports.FormFieldControl = exports.FormControl = void 0;
|
|
3
|
+
exports.HTML = exports.FormParagraph = exports.FormHeader = exports.SimpleInput = exports.Dropdown = exports.CheckboxedListInput = exports.Frame = exports.EditableCollectionSubset = exports.FormFieldControl = exports.FormControl = void 0;
|
|
4
4
|
var form_control_1 = require("./form-control");
|
|
5
5
|
Object.defineProperty(exports, "FormControl", { enumerable: true, get: function () { return form_control_1.FormControl; } });
|
|
6
6
|
var form_field_control_1 = require("./form-field-control");
|
|
@@ -19,4 +19,6 @@ var form_header_1 = require("./form-header");
|
|
|
19
19
|
Object.defineProperty(exports, "FormHeader", { enumerable: true, get: function () { return form_header_1.FormHeader; } });
|
|
20
20
|
var form_paragraph_1 = require("./form-paragraph");
|
|
21
21
|
Object.defineProperty(exports, "FormParagraph", { enumerable: true, get: function () { return form_paragraph_1.FormParagraph; } });
|
|
22
|
+
var html_1 = require("./html");
|
|
23
|
+
Object.defineProperty(exports, "HTML", { enumerable: true, get: function () { return html_1.HTML; } });
|
|
22
24
|
//# sourceMappingURL=controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/forms/controls/controls.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AACjC,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/forms/controls/controls.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2EAAwE;AAA/D,sIAAA,wBAAwB,OAAA;AACjC,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+BAA8B;AAArB,4FAAA,IAAI,OAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HTML = void 0;
|
|
4
|
+
const controls_1 = require("./controls");
|
|
5
|
+
class HTML extends controls_1.FormControl {
|
|
6
|
+
constructor(renderer) {
|
|
7
|
+
super();
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.role = "decoration";
|
|
10
|
+
}
|
|
11
|
+
async render(ctx) {
|
|
12
|
+
if (typeof this.renderer === "string") {
|
|
13
|
+
return this.renderer;
|
|
14
|
+
}
|
|
15
|
+
return this.renderer(ctx);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.HTML = HTML;
|
|
19
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/forms/controls/html.ts"],"names":[],"mappings":";;;AAEA,yCAAyC;AAEzC,MAAa,IAAK,SAAQ,sBAAW;IAGpC,YAAmB,QAAsD;QACxE,KAAK,EAAE,CAAC;QADU,aAAQ,GAAR,QAAQ,CAA8C;QAFzE,SAAI,GAAU,YAAY,CAAC;IAI3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY;QACxB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;CACD;AAbD,oBAaC"}
|
package/lib/forms/form.js
CHANGED
|
@@ -78,6 +78,7 @@ class Form extends mountable_1.Mountable {
|
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
try {
|
|
81
|
+
ctx.status = 303;
|
|
81
82
|
await this.onSubmit(ctx, {
|
|
82
83
|
raw_values: ctx.$body,
|
|
83
84
|
messages: [],
|
|
@@ -96,6 +97,7 @@ class Form extends mountable_1.Mountable {
|
|
|
96
97
|
: ts_predicates_1.is(e, ts_predicates_1.predicates.string)
|
|
97
98
|
? e
|
|
98
99
|
: "Wystąpił błąd";
|
|
100
|
+
ctx.status = 422;
|
|
99
101
|
await this.onError(ctx, {
|
|
100
102
|
raw_values: ctx.$body,
|
|
101
103
|
messages: [
|
package/lib/forms/form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/forms/form.ts"],"names":[],"mappings":";;;AAEA,2CAAsE;AACtE,2DAKiC;AAEjC,iDAAwE;AAsBxE,MAAsB,IAAuB,SAAQ,qBAAY;IAAjE;;QACC,0BAAqB,GAAG,MAAM,CAAC;QAC/B,qBAAgB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/forms/form.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
23
|
};
|
|
5
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
25
|
exports.generateCollections = void 0;
|
|
7
26
|
const locreq_1 = __importDefault(require("locreq"));
|
|
27
|
+
const prettier = __importStar(require("prettier"));
|
|
8
28
|
const fs_1 = require("fs");
|
|
9
29
|
const ts_predicates_1 = require("@sealcode/ts-predicates");
|
|
30
|
+
const prettier_1 = require("./utils/prettier");
|
|
10
31
|
const target_locreq = locreq_1.default(process.cwd());
|
|
11
32
|
async function extractCollectionClassname(full_file_path) {
|
|
12
33
|
const file_content = await fs_1.promises.readFile(full_file_path, "utf-8");
|
|
@@ -46,7 +67,7 @@ ${file_data
|
|
|
46
67
|
.map(({ class_name, urlname }) => ` "${urlname}": ${class_name},`)
|
|
47
68
|
.join("\n")}
|
|
48
69
|
};`;
|
|
49
|
-
await fs_1.promises.writeFile(target_locreq.resolve("src/back/collections/collections.ts"), content);
|
|
70
|
+
await fs_1.promises.writeFile(target_locreq.resolve("src/back/collections/collections.ts"), prettier.format(content, await prettier_1.getPrettierConfig()));
|
|
50
71
|
// eslint-disable-next-line no-console
|
|
51
72
|
console.log("Successfuly generated new src/back/collections/collections.ts file");
|
|
52
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-collections.js","sourceRoot":"","sources":["../src/generate-collections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-collections.js","sourceRoot":"","sources":["../src/generate-collections.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA6B;AAC7B,mDAAqC;AACrC,2BAAoC;AACpC,2DAAiE;AACjE,+CAAqD;AAErD,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,KAAK,UAAU,0BAA0B,CACxC,cAAsB;IAEtB,MAAM,YAAY,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC7D;IACD,OAAO,0BAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,0BAAU,CAAC,MAAM,EACjB,+BAA+B,CAC/B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mBAAmB;IACxC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,CAAC,MAAM,aAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAC1D,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CACtC,uBAAuB,GAAG,IAAI,CAC9B,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO;YACN,UAAU;YACV,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAChC,CAAC;IACH,CAAC,CAAC,CACF,CAAC;IAEF,MAAM,OAAO,GAAG;;;EAGf,SAAS;SACT,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,WAAW,UAAU,YAAY,OAAO,IAAI,CAC7C;SACA,IAAI,CAAC,IAAI,CAAC;;EAEV,SAAS;SACT,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,gBAAgB,UAAU,WAAW,UAAU,KAAK,CACxE;SACA,IAAI,CAAC,IAAI,CAAC;;;;EAIV,SAAS;SACT,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,MAAM,UAAU,GAAG,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC;GACT,CAAC;IACH,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,qCAAqC,CAAC,EAC5D,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,4BAAiB,EAAE,CAAC,CACnD,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CACV,oEAAoE,CACpE,CAAC;AACH,CAAC;AAlDD,kDAkDC"}
|
package/lib/generate-routes.js
CHANGED
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
23
|
};
|
|
5
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
25
|
exports.generateRoutes = void 0;
|
|
7
26
|
const fs_1 = require("fs");
|
|
27
|
+
const prettier = __importStar(require("prettier"));
|
|
8
28
|
const path_1 = require("path");
|
|
9
29
|
const locreq_1 = __importDefault(require("locreq"));
|
|
10
30
|
const walk_1 = require("./utils/walk");
|
|
11
31
|
const import_path_1 = require("./utils/import-path");
|
|
12
32
|
const ts_predicates_1 = require("@sealcode/ts-predicates");
|
|
13
33
|
const escape_url_params_1 = require("./utils/escape-url-params");
|
|
34
|
+
const prettier_1 = require("./utils/prettier");
|
|
14
35
|
const target_locreq = locreq_1.default(process.cwd());
|
|
15
36
|
async function extractActionName(full_file_path) {
|
|
16
37
|
const file_content = await fs_1.promises.readFile(full_file_path, "utf-8");
|
|
@@ -33,21 +54,18 @@ async function generateRoutes() {
|
|
|
33
54
|
"/" // trailing slash is important here, as it enables to use the entire path while building relative URLs. For example, while visiting /users/123, the path ./add-photo leads to /users/add-photo. While visiting /users/123/ (note the trailing slash), the path ./add-photo leads to /users/123/add-photo
|
|
34
55
|
),
|
|
35
56
|
})));
|
|
36
|
-
|
|
57
|
+
const routes_content = `// DO NOT EDIT! This file is generated automaticaly with npm run generate-routes
|
|
37
58
|
|
|
38
59
|
import Koa, { Context } from "koa";
|
|
39
60
|
import Router from "@koa/router";
|
|
40
61
|
import { Middlewares } from "sealious";
|
|
41
62
|
import { Mountable } from "@sealcode/sealgen";
|
|
63
|
+
import * as URLs from "./urls"
|
|
42
64
|
|
|
43
65
|
${files
|
|
44
66
|
.map(({ actionName, fullpath }) => `import { default as ${actionName} } from "${import_path_1.importPath(target_locreq.resolve("src/back/routes/routes.ts"), fullpath)}";`)
|
|
45
67
|
.join("\n")}
|
|
46
68
|
|
|
47
|
-
${files
|
|
48
|
-
.map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
|
|
49
|
-
.join("\n")}
|
|
50
|
-
|
|
51
69
|
async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
|
|
52
70
|
await next();
|
|
53
71
|
if (ctx.body instanceof Promise) {
|
|
@@ -73,12 +91,18 @@ function mount(router: Router, URL: string, mountable: Mountable) {
|
|
|
73
91
|
|
|
74
92
|
export default function mountAutoRoutes(router: Router) {
|
|
75
93
|
${files
|
|
76
|
-
.map(({ actionName }) => ` mount(router,
|
|
94
|
+
.map(({ actionName }) => ` mount(router, URLs.${actionName}URL, ${actionName});`)
|
|
77
95
|
.join("\n")}
|
|
78
|
-
}
|
|
79
|
-
|
|
96
|
+
}`;
|
|
97
|
+
const urls_content = `${files
|
|
98
|
+
.map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
|
|
99
|
+
.join("\n")}
|
|
100
|
+
`;
|
|
101
|
+
const prettier_config = await prettier_1.getPrettierConfig();
|
|
102
|
+
await fs_1.promises.writeFile(target_locreq.resolve("src/back/routes/routes.ts"), prettier.format(routes_content, prettier_config));
|
|
103
|
+
await fs_1.promises.writeFile(target_locreq.resolve("src/back/routes/urls.ts"), prettier.format(urls_content, prettier_config));
|
|
80
104
|
// eslint-disable-next-line no-console
|
|
81
|
-
console.log("Successfuly generated new src/back/routes/routes.ts
|
|
105
|
+
console.log("Successfuly generated new src/back/routes/routes.ts and src/back/routes/urls.ts");
|
|
82
106
|
}
|
|
83
107
|
exports.generateRoutes = generateRoutes;
|
|
84
108
|
//# sourceMappingURL=generate-routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAoC;AACpC,mDAAqC;AACrC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAuC;AACvC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAChE,+CAAqD;AAErD,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,KAAK,UAAU,iBAAiB,CAAC,cAAsB;IACtD,MAAM,YAAY,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvE,IAAI,MAAM,KAAK,IAAI,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAChE;IACD,OAAO,0BAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,0BAAU,CAAC,MAAM,EACjB,+BAA+B,CAC/B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc;IACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CACC,MAAM,cAAO,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CACvD;SACC,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CACvB;SACA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzB,QAAQ;QACR,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC;QAC7C,GAAG,EAAE,uCAAmB,CACvB,GAAG;YACF,eAAQ,CACP,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,EACxC,QAAQ,CACR,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrB,GAAG,CAAC,wSAAwS;SAC7S;KACD,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG;;;;;;;;EAQtB,KAAK;SACL,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC5B,uBAAuB,UAAU,YAAY,wBAAU,CACtD,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD,QAAQ,CACR,IAAI,CACN;SACA,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BV,KAAK;SACL,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAClB,uBAAuB,UAAU,QAAQ,UAAU,IAAI,CACxD;SACA,IAAI,CAAC,IAAI,CAAC;EACV,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,KAAK;SAC3B,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,gBAAgB,UAAU,UAAU,GAAG,IAAI,CACpE;SACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,4BAAiB,EAAE,CAAC;IAClD,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAChD,CAAC;IAEF,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAChD,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAC9C,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CACV,iFAAiF,CACjF,CAAC;AACH,CAAC;AAhGD,wCAgGC"}
|
|
@@ -6,7 +6,7 @@ function testTemplate(action_name, new_file_fullpath) {
|
|
|
6
6
|
const rel = import_path_1.curryImportPath(new_file_fullpath);
|
|
7
7
|
return `import { withProdApp } from "${rel("src/back/test_utils/with-prod-app")}";
|
|
8
8
|
import { LONG_TEST_TIMEOUT, webhintURL } from "${rel("src/back/test_utils/webhint")}";
|
|
9
|
-
import { ${action_name}URL } from "${rel("src/back/routes/
|
|
9
|
+
import { ${action_name}URL } from "${rel("src/back/routes/urls")}";
|
|
10
10
|
|
|
11
11
|
describe("${action_name}", () => {
|
|
12
12
|
it("doesn't crash", async function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-test.js","sourceRoot":"","sources":["../../src/templates/route-test.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,SAAgB,YAAY,CAAC,WAAmB,EAAE,iBAAyB;IAC1E,MAAM,GAAG,GAAG,6BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,gCAAgC,GAAG,CACzC,mCAAmC,CACnC;iDAC+C,GAAG,CAClD,6BAA6B,CAC7B;WACS,WAAW,eAAe,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"route-test.js","sourceRoot":"","sources":["../../src/templates/route-test.ts"],"names":[],"mappings":";;;AAAA,sDAAuD;AAEvD,SAAgB,YAAY,CAAC,WAAmB,EAAE,iBAAyB;IAC1E,MAAM,GAAG,GAAG,6BAAe,CAAC,iBAAiB,CAAC,CAAC;IAC/C,OAAO,gCAAgC,GAAG,CACzC,mCAAmC,CACnC;iDAC+C,GAAG,CAClD,6BAA6B,CAC7B;WACS,WAAW,eAAe,GAAG,CAAC,sBAAsB,CAAC;;YAEpD,WAAW;;;;wBAIC,WAAW;iCACF,WAAW;;;4CAGA,WAAW;;;;;CAKtD,CAAC;AACF,CAAC;AAxBD,oCAwBC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.getPrettierConfig = void 0;
|
|
26
|
+
const prettier = __importStar(require("prettier"));
|
|
27
|
+
const locreq_1 = __importDefault(require("locreq"));
|
|
28
|
+
const target_locreq = locreq_1.default(process.cwd());
|
|
29
|
+
async function getPrettierConfig() {
|
|
30
|
+
return {
|
|
31
|
+
...(await prettier.resolveConfig(target_locreq.resolve("src/back/routes"))),
|
|
32
|
+
parser: "typescript",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exports.getPrettierConfig = getPrettierConfig;
|
|
36
|
+
//# sourceMappingURL=get-prettier-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-prettier-config.js","sourceRoot":"","sources":["../../src/utils/get-prettier-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AACrC,oDAA6B;AAC7B,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEtC,KAAK,UAAU,iBAAiB;IAGtC,OAAO;QACN,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAC/B,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACF,MAAM,EAAE,YAAY;KACpB,CAAC;AACH,CAAC;AATD,8CASC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.getPrettierConfig = void 0;
|
|
26
|
+
const prettier = __importStar(require("prettier"));
|
|
27
|
+
const locreq_1 = __importDefault(require("locreq"));
|
|
28
|
+
const target_locreq = locreq_1.default(process.cwd());
|
|
29
|
+
async function getPrettierConfig() {
|
|
30
|
+
return {
|
|
31
|
+
...(await prettier.resolveConfig(target_locreq.resolve("src/back/routes"))),
|
|
32
|
+
parser: "typescript",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exports.getPrettierConfig = getPrettierConfig;
|
|
36
|
+
//# sourceMappingURL=prettier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../src/utils/prettier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAErC,oDAA6B;AAC7B,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEtC,KAAK,UAAU,iBAAiB;IACtC,OAAO;QACN,GAAG,CAAC,MAAM,QAAQ,CAAC,aAAa,CAC/B,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACF,MAAM,EAAE,YAAY;KACpB,CAAC;AACH,CAAC;AAPD,8CAOC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sealcode/sealgen",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "Module to automate adding routes and collections to a sealious application",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/koa__router": "^8.0.4",
|
|
20
20
|
"@types/mocha": "^9.0.0",
|
|
21
|
+
"@types/prettier": "^2.7.0",
|
|
21
22
|
"@types/prompts": "^2.0.14",
|
|
22
23
|
"@typescript-eslint/eslint-plugin": "^4.29.3",
|
|
23
24
|
"@typescript-eslint/parser": "^4.29.3",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"mocha": "^9.1.1",
|
|
29
30
|
"mri": "^1.1.6",
|
|
30
31
|
"nyc": "^15.1.0",
|
|
31
|
-
"prettier": "^2.
|
|
32
|
+
"prettier": "^2.7.1",
|
|
32
33
|
"source-map-support": "^0.5.19",
|
|
33
34
|
"ts-node": "^10.2.1",
|
|
34
35
|
"typescript": "^4.3.5"
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
"dependencies": {
|
|
38
39
|
"@koa/router": "^10.1.1",
|
|
39
40
|
"@sealcode/ts-predicates": "^0.4.0",
|
|
40
|
-
"esbuild": "^0.
|
|
41
|
+
"esbuild": "^0.15.5",
|
|
41
42
|
"esbuild-sass-plugin": "^2.3.1",
|
|
42
43
|
"koa": "^2.13.0",
|
|
43
44
|
"locreq": "^2.0.2",
|
package/src/build.ts
CHANGED
|
@@ -19,7 +19,7 @@ async function build_ts() {
|
|
|
19
19
|
outdir: "./dist/back",
|
|
20
20
|
logLevel: "info",
|
|
21
21
|
platform: "node",
|
|
22
|
-
target: "
|
|
22
|
+
target: "es2022",
|
|
23
23
|
format: "cjs",
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -48,7 +48,8 @@ async function complex_build(watch: boolean): Promise<void> {
|
|
|
48
48
|
if (
|
|
49
49
|
path.endsWith(".ts") &&
|
|
50
50
|
!path.endsWith("src/back/collections.ts") &&
|
|
51
|
-
!path.endsWith("src/back/routes/routes.ts")
|
|
51
|
+
!path.endsWith("src/back/routes/routes.ts") &&
|
|
52
|
+
!path.endsWith("src/back/routes/urls.ts")
|
|
52
53
|
) {
|
|
53
54
|
await build_ts();
|
|
54
55
|
console.log(`Finished TS build [on ${path}]`);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Context } from "koa";
|
|
2
|
+
import { FlatTemplatable } from "tempstream";
|
|
3
|
+
import { FormControl } from "./controls";
|
|
4
|
+
|
|
5
|
+
export class HTML extends FormControl {
|
|
6
|
+
role = <const>"decoration";
|
|
7
|
+
|
|
8
|
+
constructor(public renderer: ((ctx: Context) => FlatTemplatable) | string) {
|
|
9
|
+
super();
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async render(ctx: Context): Promise<FlatTemplatable> {
|
|
13
|
+
if (typeof this.renderer === "string") {
|
|
14
|
+
return this.renderer;
|
|
15
|
+
}
|
|
16
|
+
return this.renderer(ctx);
|
|
17
|
+
}
|
|
18
|
+
}
|
package/src/forms/form.ts
CHANGED
|
@@ -135,6 +135,7 @@ export abstract class Form<F extends Fields> extends Mountable<F> {
|
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
137
|
try {
|
|
138
|
+
ctx.status = 303;
|
|
138
139
|
await this.onSubmit(ctx, {
|
|
139
140
|
raw_values: ctx.$body,
|
|
140
141
|
messages: [],
|
|
@@ -154,6 +155,7 @@ export abstract class Form<F extends Fields> extends Mountable<F> {
|
|
|
154
155
|
? e
|
|
155
156
|
: "Wystąpił błąd";
|
|
156
157
|
|
|
158
|
+
ctx.status = 422;
|
|
157
159
|
await this.onError(
|
|
158
160
|
ctx,
|
|
159
161
|
{
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import _locreq from "locreq";
|
|
2
|
+
import * as prettier from "prettier";
|
|
2
3
|
import { promises as fs } from "fs";
|
|
3
4
|
import { assertType, predicates } from "@sealcode/ts-predicates";
|
|
5
|
+
import { getPrettierConfig } from "./utils/prettier";
|
|
4
6
|
|
|
5
7
|
const target_locreq = _locreq(process.cwd());
|
|
6
8
|
|
|
@@ -63,7 +65,7 @@ ${file_data
|
|
|
63
65
|
};`;
|
|
64
66
|
await fs.writeFile(
|
|
65
67
|
target_locreq.resolve("src/back/collections/collections.ts"),
|
|
66
|
-
content
|
|
68
|
+
prettier.format(content, await getPrettierConfig())
|
|
67
69
|
);
|
|
68
70
|
// eslint-disable-next-line no-console
|
|
69
71
|
console.log(
|
package/src/generate-routes.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { promises as fs } from "fs";
|
|
2
|
+
import * as prettier from "prettier";
|
|
2
3
|
import { relative } from "path";
|
|
3
4
|
import _locreq from "locreq";
|
|
4
5
|
import { walkDir } from "./utils/walk";
|
|
5
6
|
import { importPath } from "./utils/import-path";
|
|
6
7
|
import { assertType, predicates } from "@sealcode/ts-predicates";
|
|
7
8
|
import { unescape_url_params } from "./utils/escape-url-params";
|
|
9
|
+
import { getPrettierConfig } from "./utils/prettier";
|
|
8
10
|
|
|
9
11
|
const target_locreq = _locreq(process.cwd());
|
|
10
12
|
|
|
@@ -46,14 +48,13 @@ export async function generateRoutes(): Promise<void> {
|
|
|
46
48
|
}))
|
|
47
49
|
);
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
target_locreq.resolve("src/back/routes/routes.ts"),
|
|
51
|
-
`// DO NOT EDIT! This file is generated automaticaly with npm run generate-routes
|
|
51
|
+
const routes_content = `// DO NOT EDIT! This file is generated automaticaly with npm run generate-routes
|
|
52
52
|
|
|
53
53
|
import Koa, { Context } from "koa";
|
|
54
54
|
import Router from "@koa/router";
|
|
55
55
|
import { Middlewares } from "sealious";
|
|
56
56
|
import { Mountable } from "@sealcode/sealgen";
|
|
57
|
+
import * as URLs from "./urls"
|
|
57
58
|
|
|
58
59
|
${files
|
|
59
60
|
.map(
|
|
@@ -65,10 +66,6 @@ ${files
|
|
|
65
66
|
)
|
|
66
67
|
.join("\n")}
|
|
67
68
|
|
|
68
|
-
${files
|
|
69
|
-
.map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
|
|
70
|
-
.join("\n")}
|
|
71
|
-
|
|
72
69
|
async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
|
|
73
70
|
await next();
|
|
74
71
|
if (ctx.body instanceof Promise) {
|
|
@@ -94,11 +91,32 @@ function mount(router: Router, URL: string, mountable: Mountable) {
|
|
|
94
91
|
|
|
95
92
|
export default function mountAutoRoutes(router: Router) {
|
|
96
93
|
${files
|
|
97
|
-
.map(
|
|
94
|
+
.map(
|
|
95
|
+
({ actionName }) =>
|
|
96
|
+
` mount(router, URLs.${actionName}URL, ${actionName});`
|
|
97
|
+
)
|
|
98
98
|
.join("\n")}
|
|
99
|
-
}
|
|
100
|
-
|
|
99
|
+
}`;
|
|
100
|
+
|
|
101
|
+
const urls_content = `${files
|
|
102
|
+
.map(
|
|
103
|
+
({ actionName, url }) => `export const ${actionName}URL = "${url}";`
|
|
104
|
+
)
|
|
105
|
+
.join("\n")}
|
|
106
|
+
`;
|
|
107
|
+
|
|
108
|
+
const prettier_config = await getPrettierConfig();
|
|
109
|
+
await fs.writeFile(
|
|
110
|
+
target_locreq.resolve("src/back/routes/routes.ts"),
|
|
111
|
+
prettier.format(routes_content, prettier_config)
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
await fs.writeFile(
|
|
115
|
+
target_locreq.resolve("src/back/routes/urls.ts"),
|
|
116
|
+
prettier.format(urls_content, prettier_config)
|
|
101
117
|
);
|
|
102
118
|
// eslint-disable-next-line no-console
|
|
103
|
-
console.log(
|
|
119
|
+
console.log(
|
|
120
|
+
"Successfuly generated new src/back/routes/routes.ts and src/back/routes/urls.ts"
|
|
121
|
+
);
|
|
104
122
|
}
|
|
@@ -8,7 +8,7 @@ export function testTemplate(action_name: string, new_file_fullpath: string) {
|
|
|
8
8
|
import { LONG_TEST_TIMEOUT, webhintURL } from "${rel(
|
|
9
9
|
"src/back/test_utils/webhint"
|
|
10
10
|
)}";
|
|
11
|
-
import { ${action_name}URL } from "${rel("src/back/routes/
|
|
11
|
+
import { ${action_name}URL } from "${rel("src/back/routes/urls")}";
|
|
12
12
|
|
|
13
13
|
describe("${action_name}", () => {
|
|
14
14
|
it("doesn't crash", async function () {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as prettier from "prettier";
|
|
2
|
+
import { Options } from "prettier";
|
|
3
|
+
import _locreq from "locreq";
|
|
4
|
+
const target_locreq = _locreq(process.cwd());
|
|
5
|
+
|
|
6
|
+
export async function getPrettierConfig(): Promise<Options> {
|
|
7
|
+
return {
|
|
8
|
+
...(await prettier.resolveConfig(
|
|
9
|
+
target_locreq.resolve("src/back/routes")
|
|
10
|
+
)),
|
|
11
|
+
parser: "typescript",
|
|
12
|
+
};
|
|
13
|
+
}
|