@sealcode/sealgen 0.5.0 → 0.5.1

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.
@@ -7,3 +7,4 @@ export { Dropdown } from "./dropdown";
7
7
  export { SimpleInput } from "./simple-input";
8
8
  export { FormHeader } from "./form-header";
9
9
  export { FormParagraph } from "./form-paragraph";
10
+ export { HTML } from "./html";
@@ -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: "node16",
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":"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"}
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;gBAC3C,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EACxC;gBACD,MAAM,QAAQ,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;aAC9C;QACF,CAAC,CAAC,CAAC;KACH;IAED,IAAI;QACH,UAAU,GAAG,MAAM,eAAK,CAAC;YACxB,WAAW,EAAE,CAAC,iBAAiB,CAAC;YAChC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,yBAAyB;YAClC,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,CAAC,gCAAU,EAAE,CAAC;SACvB,CAAC,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;KACjC;IAAC,OAAO,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;AACF,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,GAAG,IAAc;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,eAAK,CAAC;QACX,WAAW,EAAE,CAAC,sBAAsB,CAAC;QACrC,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,IAAI;QACZ,KAAK;KACL,CAAC,CAAC;IAEH,IAAI;QACH,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;KAC3B;IAAC,OAAO,CAAC,EAAE;QACX,sEAAsE;QACtE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;KAC5B;AACF,CAAC;AAlBD,oCAkBC"}
@@ -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"}
@@ -33,21 +33,21 @@ async function generateRoutes() {
33
33
  "/" // 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
34
  ),
35
35
  })));
36
+ await fs_1.promises.writeFile(target_locreq.resolve("src/back/routes/urls.ts"), `${files
37
+ .map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
38
+ .join("\n")}`);
36
39
  await fs_1.promises.writeFile(target_locreq.resolve("src/back/routes/routes.ts"), `// DO NOT EDIT! This file is generated automaticaly with npm run generate-routes
37
40
 
38
41
  import Koa, { Context } from "koa";
39
42
  import Router from "@koa/router";
40
43
  import { Middlewares } from "sealious";
41
44
  import { Mountable } from "@sealcode/sealgen";
45
+ import * as URLs from "./urls"
42
46
 
43
47
  ${files
44
48
  .map(({ actionName, fullpath }) => `import { default as ${actionName} } from "${import_path_1.importPath(target_locreq.resolve("src/back/routes/routes.ts"), fullpath)}";`)
45
49
  .join("\n")}
46
50
 
47
- ${files
48
- .map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
49
- .join("\n")}
50
-
51
51
  async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
52
52
  await next();
53
53
  if (ctx.body instanceof Promise) {
@@ -73,12 +73,12 @@ function mount(router: Router, URL: string, mountable: Mountable) {
73
73
 
74
74
  export default function mountAutoRoutes(router: Router) {
75
75
  ${files
76
- .map(({ actionName }) => ` mount(router, ${actionName}URL, ${actionName});`)
76
+ .map(({ actionName }) => ` mount(router, URLs.${actionName}URL, ${actionName});`)
77
77
  .join("\n")}
78
78
  }
79
79
  `);
80
80
  // eslint-disable-next-line no-console
81
- console.log("Successfuly generated new src/back/routes/routes.ts file");
81
+ console.log("Successfuly generated new src/back/routes/routes.ts and src/back/routes/urls.ts");
82
82
  }
83
83
  exports.generateRoutes = generateRoutes;
84
84
  //# sourceMappingURL=generate-routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAoC;AACpC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAuC;AACvC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAEhE,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,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD;;;;;;;EAOA,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;;EAEV,KAAK;SACL,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,gBAAgB,UAAU,UAAU,GAAG,IAAI,CAAC;SACzE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BV,KAAK;SACL,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,kBAAkB,UAAU,QAAQ,UAAU,IAAI,CAAC;SAC3E,IAAI,CAAC,IAAI,CAAC;;CAEX,CACC,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;AACzE,CAAC;AAhFD,wCAgFC"}
1
+ {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAoC;AACpC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAuC;AACvC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAEhE,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,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAChD,GAAG,KAAK;SACN,GAAG,CACH,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CACvB,gBAAgB,UAAU,UAAU,GAAG,IAAI,CAC5C;SACA,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;IAEF,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD;;;;;;;;EAQA,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;;CAEX,CACC,CAAC;IACF,sCAAsC;IACtC,OAAO,CAAC,GAAG,CACV,iFAAiF,CACjF,CAAC;AACH,CAAC;AA5FD,wCA4FC"}
@@ -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/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,wBAAwB,CAAC;;YAEtD,WAAW;;;;wBAIC,WAAW;iCACF,WAAW;;;4CAGA,WAAW;;;;;CAKtD,CAAC;AACF,CAAC;AAxBD,oCAwBC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealcode/sealgen",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Module to automate adding routes and collections to a sealious application",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@koa/router": "^10.1.1",
39
39
  "@sealcode/ts-predicates": "^0.4.0",
40
- "esbuild": "^0.14.54",
40
+ "esbuild": "^0.15.5",
41
41
  "esbuild-sass-plugin": "^2.3.1",
42
42
  "koa": "^2.13.0",
43
43
  "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: "node16",
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}]`);
@@ -7,3 +7,4 @@ export { Dropdown } from "./dropdown";
7
7
  export { SimpleInput } from "./simple-input";
8
8
  export { FormHeader } from "./form-header";
9
9
  export { FormParagraph } from "./form-paragraph";
10
+ export { HTML } from "./html";
@@ -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
+ }
@@ -46,6 +46,16 @@ export async function generateRoutes(): Promise<void> {
46
46
  }))
47
47
  );
48
48
 
49
+ await fs.writeFile(
50
+ target_locreq.resolve("src/back/routes/urls.ts"),
51
+ `${files
52
+ .map(
53
+ ({ actionName, url }) =>
54
+ `export const ${actionName}URL = "${url}";`
55
+ )
56
+ .join("\n")}`
57
+ );
58
+
49
59
  await fs.writeFile(
50
60
  target_locreq.resolve("src/back/routes/routes.ts"),
51
61
  `// DO NOT EDIT! This file is generated automaticaly with npm run generate-routes
@@ -54,6 +64,7 @@ import Koa, { Context } from "koa";
54
64
  import Router from "@koa/router";
55
65
  import { Middlewares } from "sealious";
56
66
  import { Mountable } from "@sealcode/sealgen";
67
+ import * as URLs from "./urls"
57
68
 
58
69
  ${files
59
70
  .map(
@@ -65,10 +76,6 @@ ${files
65
76
  )
66
77
  .join("\n")}
67
78
 
68
- ${files
69
- .map(({ actionName, url }) => `export const ${actionName}URL = "${url}";`)
70
- .join("\n")}
71
-
72
79
  async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
73
80
  await next();
74
81
  if (ctx.body instanceof Promise) {
@@ -94,11 +101,16 @@ function mount(router: Router, URL: string, mountable: Mountable) {
94
101
 
95
102
  export default function mountAutoRoutes(router: Router) {
96
103
  ${files
97
- .map(({ actionName }) => ` mount(router, ${actionName}URL, ${actionName});`)
104
+ .map(
105
+ ({ actionName }) =>
106
+ ` mount(router, URLs.${actionName}URL, ${actionName});`
107
+ )
98
108
  .join("\n")}
99
109
  }
100
110
  `
101
111
  );
102
112
  // eslint-disable-next-line no-console
103
- console.log("Successfuly generated new src/back/routes/routes.ts file");
113
+ console.log(
114
+ "Successfuly generated new src/back/routes/routes.ts and src/back/routes/urls.ts"
115
+ );
104
116
  }
@@ -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/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 () {