@sealcode/sealgen 0.8.29 → 0.8.31

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.
@@ -0,0 +1 @@
1
+ export declare function formatExternalURL(url: string): string;
@@ -9,3 +9,4 @@ export { listCollections } from "./list-collections";
9
9
  export { walkDir } from "./walk";
10
10
  export * from "./make-slug";
11
11
  export * from "./render-attributes";
12
+ export * from "./format-external-url";
@@ -47,6 +47,7 @@ class Tickable extends controls_1.FormFieldControl {
47
47
  ${this.isChecked(ctx, data, parsed) ? "checked" : ""}
48
48
  ${readonly ? "readonly" : ""}
49
49
  ${required ? "required" : ""}
50
+ autocomplete="off"
50
51
  onchange="this.closest('.form-container').querySelectorAll('.form-input__wrapper--${this
51
52
  .field
52
53
  .name}').forEach(e=>e.setAttribute('data-checked','false'));
@@ -1 +1 @@
1
- {"version":3,"file":"tickable.js","sourceRoot":"","sources":["../../../src/forms/controls/tickable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tickable.js","sourceRoot":"","sources":["../../../src/forms/controls/tickable.ts"],"names":[],"mappings":"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"}
package/lib/mount.js CHANGED
@@ -19,7 +19,7 @@ function mount(router, url, mountable) {
19
19
  const url2 = ctx.URL;
20
20
  if (!url2.pathname.endsWith("/")) {
21
21
  url2.pathname += "/";
22
- ctx.redirect(url2.toString());
22
+ ctx.redirect(url2.pathname);
23
23
  }
24
24
  await next();
25
25
  });
package/lib/mount.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":";;;AAEA,uCAAuC;AAGvC,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,IAAI,EAAE,CAAC;IACb,IAAI,GAAG,CAAC,IAAI,YAAY,OAAO,EAAE;QAChC,mEAAmE;QACnE,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;KAC1B;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,KAAK,CACpB,MAAc,EACd,GAAgC,EAChC,SAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3D,MAAM,CAAC,GAAG,CACT,OAAO,EACP,sBAAW,CAAC,cAAc,EAAE,EAC5B,sBAAW,CAAC,SAAS,EAAE,EACvB,iBAAiB,CACjB,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC9B;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACvC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;YAC7B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,WAAW,CAAC;YAChD,OAAO;SACP;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AApCD,sBAoCC"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":";;;AAEA,uCAAuC;AAGvC,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAc;IAC5D,MAAM,IAAI,EAAE,CAAC;IACb,IAAI,GAAG,CAAC,IAAI,YAAY,OAAO,EAAE;QAChC,mEAAmE;QACnE,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;KAC1B;IACD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,KAAK,CACpB,MAAc,EACd,GAAgC,EAChC,SAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3D,MAAM,CAAC,GAAG,CACT,OAAO,EACP,sBAAW,CAAC,cAAc,EAAE,EAC5B,sBAAW,CAAC,SAAS,EAAE,EACvB,iBAAiB,CACjB,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5B;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACvC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;YAC7B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;YACjB,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,WAAW,CAAC;YAChD,OAAO;SACP;QACD,MAAM,IAAI,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AApCD,sBAoCC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ // this is not an ultra-safe parser. It's meant to help parse urls that users
3
+ // have entered in a simple input file withour validation
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.formatExternalURL = void 0;
6
+ function formatExternalURL(url) {
7
+ const trimmed = url.trim();
8
+ if (!trimmed.toLowerCase().startsWith("https://") ||
9
+ !trimmed.toLowerCase().startsWith("https://")) {
10
+ return `http://${trimmed}`;
11
+ }
12
+ return trimmed;
13
+ }
14
+ exports.formatExternalURL = formatExternalURL;
15
+ //# sourceMappingURL=format-external-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-external-url.js","sourceRoot":"","sources":["../../src/utils/format-external-url.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,yDAAyD;;;AAEzD,SAAgB,iBAAiB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IACC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAC7C,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAC5C;QACD,OAAO,UAAU,OAAO,EAAE,CAAC;KAC3B;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AATD,8CASC"}
@@ -28,4 +28,5 @@ var walk_1 = require("./walk");
28
28
  Object.defineProperty(exports, "walkDir", { enumerable: true, get: function () { return walk_1.walkDir; } });
29
29
  __exportStar(require("./make-slug"), exports);
30
30
  __exportStar(require("./render-attributes"), exports);
31
+ __exportStar(require("./format-external-url"), exports);
31
32
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAGA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,6CAA4D;AAAnD,yGAAA,UAAU,OAAA;AAAE,8GAAA,eAAe,OAAA;AACpC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,+BAAiC;AAAxB,+FAAA,OAAO,OAAA;AAChB,8CAA4B;AAC5B,sDAAoC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAGA,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AACvB,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AACzB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,6CAA4D;AAAnD,yGAAA,UAAU,OAAA;AAAE,8GAAA,eAAe,OAAA;AACpC,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,+BAAiC;AAAxB,+FAAA,OAAO,OAAA;AAChB,8CAA4B;AAC5B,sDAAoC;AACpC,wDAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealcode/sealgen",
3
- "version": "0.8.29",
3
+ "version": "0.8.31",
4
4
  "description": "Module to automate adding routes and collections to a sealious application",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -97,6 +97,7 @@ export abstract class Tickable<T extends unknown> extends FormFieldControl {
97
97
  ${this.isChecked(ctx, data, parsed) ? "checked" : ""}
98
98
  ${readonly ? "readonly" : ""}
99
99
  ${required ? "required" : ""}
100
+ autocomplete="off"
100
101
  onchange="this.closest('.form-container').querySelectorAll('.form-input__wrapper--${this
101
102
  .field
102
103
  .name}').forEach(e=>e.setAttribute('data-checked','false'));
package/src/mount.ts CHANGED
@@ -31,7 +31,7 @@ export function mount(
31
31
  const url2 = ctx.URL;
32
32
  if (!url2.pathname.endsWith("/")) {
33
33
  url2.pathname += "/";
34
- ctx.redirect(url2.toString());
34
+ ctx.redirect(url2.pathname);
35
35
  }
36
36
  await next();
37
37
  });
@@ -0,0 +1,13 @@
1
+ // this is not an ultra-safe parser. It's meant to help parse urls that users
2
+ // have entered in a simple input file withour validation
3
+
4
+ export function formatExternalURL(url: string) {
5
+ const trimmed = url.trim();
6
+ if (
7
+ !trimmed.toLowerCase().startsWith("https://") ||
8
+ !trimmed.toLowerCase().startsWith("https://")
9
+ ) {
10
+ return `http://${trimmed}`;
11
+ }
12
+ return trimmed;
13
+ }
@@ -10,3 +10,4 @@ export { listCollections } from "./list-collections";
10
10
  export { walkDir } from "./walk";
11
11
  export * from "./make-slug";
12
12
  export * from "./render-attributes";
13
+ export * from "./format-external-url";