@sealcode/sealgen 0.1.5 → 0.1.8

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 generateScssIncludes(): Promise<void>;
package/lib/add-route.js CHANGED
@@ -26,7 +26,7 @@ const target_locreq = locreq_1.default(process.cwd());
26
26
  function addRoute() {
27
27
  return __awaiter(this, void 0, void 0, function* () {
28
28
  const action = yield question_1.question('What\'s the name of the action (e.g. "AddUser"): ', (s) => s.length > 3);
29
- const url = yield question_1.question("Enter a full absolute answer for the new route (e.g. /admin/users/add): ", (s) => s.trim()[0] == "/");
29
+ const url = yield question_1.question("Enter a full absolute path for the new route (e.g. /admin/users/add): ", (s) => s.trim()[0] == "/");
30
30
  const mode = (yield question_1.question("Is this a page (p) or a form (f)? ", (a) => ["p", "f"].includes(a.toLowerCase()))) == "p"
31
31
  ? "page"
32
32
  : "form";
@@ -1 +1 @@
1
- {"version":3,"file":"add-route.js","sourceRoot":"","sources":["../src/add-route.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,2BAAgD;AAChD,+CAA4C;AAC5C,2CAAgD;AAChD,2CAAgD;AAChD,uDAAsD;AACtD,iEAA8D;AAE9D,oDAA6B;AAC7B,uDAAmD;AACnD,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,SAAsB,QAAQ;;QAC7B,MAAM,MAAM,GAAG,MAAM,mBAAQ,CAC5B,mDAAmD,EACnD,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAC3B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,mBAAQ,CACzB,0EAA0E,EAC1E,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CACjC,CAAC;QACF,MAAM,IAAI,GACT,CAAC,MAAM,mBAAQ,CAAC,oCAAoC,EAAE,CAAC,CAAS,EAAE,EAAE,CACnE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACpC,CAAC,IAAI,GAAG;YACR,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CACtC,mBAAmB,qCAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CACtD,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAC3C,mBAAmB,qCAAiB,CAAC,GAAG,CAAC,UAAU,CACnD,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,mBAAY,CAAC,CAAC,CAAC,mBAAY,CAAC;QAE9D,IAAI,eAAU,CAAC,SAAS,CAAC,EAAE;YAC1B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,eAAe,SAAS,kBAAkB,CAAC,CAAC;YAC1D,OAAO;SACP;QACD,MAAM,aAAE,CAAC,KAAK,CAAC,cAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,aAAE,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAE,CAAC,SAAS,CAAC,cAAc,EAAE,yBAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,CAAC,CAAC;QACpC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,UAAU,CAAC,CAAC;QACzC,MAAM,gCAAc,EAAE,CAAC;IACxB,CAAC;CAAA;AApCD,4BAoCC"}
1
+ {"version":3,"file":"add-route.js","sourceRoot":"","sources":["../src/add-route.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,2BAAgD;AAChD,+CAA4C;AAC5C,2CAAgD;AAChD,2CAAgD;AAChD,uDAAsD;AACtD,iEAA8D;AAE9D,oDAA6B;AAC7B,uDAAmD;AACnD,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,SAAsB,QAAQ;;QAC7B,MAAM,MAAM,GAAG,MAAM,mBAAQ,CAC5B,mDAAmD,EACnD,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAC3B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,mBAAQ,CACzB,wEAAwE,EACxE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CACjC,CAAC;QACF,MAAM,IAAI,GACT,CAAC,MAAM,mBAAQ,CAAC,oCAAoC,EAAE,CAAC,CAAS,EAAE,EAAE,CACnE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACpC,CAAC,IAAI,GAAG;YACR,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CACtC,mBAAmB,qCAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CACtD,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAC3C,mBAAmB,qCAAiB,CAAC,GAAG,CAAC,UAAU,CACnD,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,mBAAY,CAAC,CAAC,CAAC,mBAAY,CAAC;QAE9D,IAAI,eAAU,CAAC,SAAS,CAAC,EAAE;YAC1B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,eAAe,SAAS,kBAAkB,CAAC,CAAC;YAC1D,OAAO;SACP;QACD,MAAM,aAAE,CAAC,KAAK,CAAC,cAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,aAAE,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAE,CAAC,SAAS,CAAC,cAAc,EAAE,yBAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,UAAU,CAAC,CAAC;QACpC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,UAAU,CAAC,CAAC;QACzC,MAAM,gCAAc,EAAE,CAAC;IACxB,CAAC;CAAA;AApCD,4BAoCC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.generateScssIncludes = void 0;
16
+ const fs_1 = require("fs");
17
+ const locreq_1 = __importDefault(require("locreq"));
18
+ const path_1 = require("path");
19
+ const walk_1 = require("./utils/walk");
20
+ const target_locreq = locreq_1.default(process.cwd());
21
+ function generateScssIncludes() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const files = yield Promise.all((yield walk_1.walk(target_locreq.resolve("src/")))
24
+ .filter((f) => f.endsWith(".scss") &&
25
+ !f.endsWith("/main.scss") &&
26
+ !f.endsWith("/includes.scss"))
27
+ .map((fullpath) => path_1.relative(target_locreq.resolve("src/"), fullpath)));
28
+ yield fs_1.promises.writeFile(target_locreq.resolve("src/includes.scss"), `// DO NOT EDIT! This file is generated automaticaly with npx sealgen generate-scss-includes
29
+
30
+ ${files.map((path) => `@import "${path}";`).join("\n")}
31
+ `);
32
+ // eslint-disable-next-line no-console
33
+ console.log("Successfuly generated new src/includes.scss file");
34
+ });
35
+ }
36
+ exports.generateScssIncludes = generateScssIncludes;
37
+ //# sourceMappingURL=find-scss-includes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-scss-includes.js","sourceRoot":"","sources":["../src/find-scss-includes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAAoC;AACpC,oDAA6B;AAC7B,+BAAgC;AAChC,uCAAoC;AAEpC,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,SAAsB,oBAAoB;;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CAAC,MAAM,WAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;aACzC,MAAM,CACN,CAAC,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC9B;aACA,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjB,eAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CACjD,CACF,CAAC;QAEF,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAC1C;;EAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACrD,CACC,CAAC;QACF,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IACjE,CAAC;CAAA;AAvBD,oDAuBC"}
@@ -40,7 +40,9 @@ function generateRoutes() {
40
40
  fullpath,
41
41
  actionName: yield extractActionName(fullpath),
42
42
  url: escape_url_params_1.unescape_url_params("/" +
43
- path_1.relative(target_locreq.resolve("src/back/routes"), fullpath).replace(/\..+/, "")),
43
+ path_1.relative(target_locreq.resolve("src/back/routes"), fullpath).replace(/\..+/, "") +
44
+ "/" // 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
45
+ ),
44
46
  });
45
47
  })));
46
48
  yield 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
@@ -1 +1 @@
1
- {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAAoC;AACpC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAoC;AACpC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAEhE,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,SAAe,iBAAiB,CAAC,cAAsB;;QACtD,MAAM,YAAY,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvE,IAAI,MAAM,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SAChE;QACD,OAAO,0BAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,0BAAU,CAAC,MAAM,EACjB,+BAA+B,CAC/B,CAAC;IACH,CAAC;CAAA;AAED,SAAsB,cAAc;;QACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CACC,MAAM,WAAI,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CACpD;aACC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC/D,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;YAAC,OAAA,CAAC;gBACzB,QAAQ;gBACR,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC;gBAC7C,GAAG,EAAE,uCAAmB,CACvB,GAAG;oBACF,eAAQ,CACP,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,EACxC,QAAQ,CACR,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACtB;aACD,CAAC,CAAA;UAAA,CAAC,CACJ,CAAC;QAEF,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD;;;;;EAKA,KAAK;aACL,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;aACA,IAAI,CAAC,IAAI,CAAC;;EAEV,KAAK;aACL,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,gBAAgB,UAAU,UAAU,GAAG,IAAI,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC;;;EAGV,KAAK;aACL,GAAG,CACH,CAAC,EACA,UAAU,GACV,EAAE,EAAE,CAAC,eAAe,UAAU;GAC9B,UAAU,kBAAkB,UAAU,OAAO,CAC9C;aACA,IAAI,CAAC,MAAM,CAAC;;CAEb,CACC,CAAC;QACF,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACzE,CAAC;CAAA;AAtDD,wCAsDC"}
1
+ {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../src/generate-routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2BAAoC;AACpC,+BAAgC;AAChC,oDAA6B;AAC7B,uCAAoC;AACpC,qDAAiD;AACjD,2DAAiE;AACjE,iEAAgE;AAEhE,MAAM,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7C,SAAe,iBAAiB,CAAC,cAAsB;;QACtD,MAAM,YAAY,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvE,IAAI,MAAM,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SAChE;QACD,OAAO,0BAAU,CAChB,MAAM,CAAC,CAAC,CAAC,EACT,0BAAU,CAAC,MAAM,EACjB,+BAA+B,CAC/B,CAAC;IACH,CAAC;CAAA;AAED,SAAsB,cAAc;;QACnC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,CACC,MAAM,WAAI,CAAC,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CACpD;aACC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAC/D,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;YAAC,OAAA,CAAC;gBACzB,QAAQ;gBACR,UAAU,EAAE,MAAM,iBAAiB,CAAC,QAAQ,CAAC;gBAC7C,GAAG,EAAE,uCAAmB,CACvB,GAAG;oBACF,eAAQ,CACP,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,EACxC,QAAQ,CACR,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBACrB,GAAG,CAAC,wSAAwS;iBAC7S;aACD,CAAC,CAAA;UAAA,CAAC,CACJ,CAAC;QAEF,MAAM,aAAE,CAAC,SAAS,CACjB,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAClD;;;;;EAKA,KAAK;aACL,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;aACA,IAAI,CAAC,IAAI,CAAC;;EAEV,KAAK;aACL,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,gBAAgB,UAAU,UAAU,GAAG,IAAI,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC;;;EAGV,KAAK;aACL,GAAG,CACH,CAAC,EACA,UAAU,GACV,EAAE,EAAE,CAAC,eAAe,UAAU;GAC9B,UAAU,kBAAkB,UAAU,OAAO,CAC9C;aACA,IAAI,CAAC,MAAM,CAAC;;CAEb,CACC,CAAC;QACF,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACzE,CAAC;CAAA;AAvDD,wCAuDC"}
package/lib/index.js CHANGED
@@ -12,6 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  const add_collection_1 = require("./add-collection");
14
14
  const add_route_1 = require("./add-route");
15
+ const find_scss_includes_1 = require("./find-scss-includes");
15
16
  const generate_collections_1 = require("./generate-collections");
16
17
  const generate_routes_1 = require("./generate-routes");
17
18
  const actions = {
@@ -19,6 +20,7 @@ const actions = {
19
20
  "add-route": add_route_1.addRoute,
20
21
  "generate-collections": generate_collections_1.generateCollections,
21
22
  "generate-routes": generate_routes_1.generateRoutes,
23
+ "generate-scss-includes": find_scss_includes_1.generateScssIncludes,
22
24
  default: function () {
23
25
  return __awaiter(this, void 0, void 0, function* () {
24
26
  console.log("Usage: `sealscript <action>`");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAiD;AACjD,2CAAuC;AACvC,iEAA6D;AAC7D,uDAAmD;AAEnD,MAAM,OAAO,GAAoD;IAChE,gBAAgB,EAAE,8BAAa;IAC/B,WAAW,EAAE,oBAAQ;IACrB,sBAAsB,EAAE,0CAAmB;IAC3C,iBAAiB,EAAE,gCAAc;IACjC,OAAO,EAAE;;YACR,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CACV,sBAAsB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;QACH,CAAC;KAAA;CACD,CAAC;AAEF,KAAK,CAAC;;QACL,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC;QACR,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;QAC3D,MAAM,EAAE,EAAE,CAAC;IACZ,CAAC;CAAA,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAiD;AACjD,2CAAuC;AACvC,6DAA4D;AAC5D,iEAA6D;AAC7D,uDAAmD;AAEnD,MAAM,OAAO,GAAoD;IAChE,gBAAgB,EAAE,8BAAa;IAC/B,WAAW,EAAE,oBAAQ;IACrB,sBAAsB,EAAE,0CAAmB;IAC3C,iBAAiB,EAAE,gCAAc;IACjC,wBAAwB,EAAE,yCAAoB;IAC9C,OAAO,EAAE;;YACR,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CACV,sBAAsB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;QACH,CAAC;KAAA;CACD,CAAC;AAEF,KAAK,CAAC;;QACL,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC;QACR,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;QAC3D,MAAM,EAAE,EAAE,CAAC;IACZ,CAAC;CAAA,CAAC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealcode/sealgen",
3
- "version": "0.1.5",
3
+ "version": "0.1.8",
4
4
  "description": "Module to automate adding routes and collections to a sealious application",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
package/src/add-route.ts CHANGED
@@ -16,7 +16,7 @@ export async function addRoute(): Promise<void> {
16
16
  (s: string) => s.length > 3
17
17
  );
18
18
  const url = await question(
19
- "Enter a full absolute answer for the new route (e.g. /admin/users/add): ",
19
+ "Enter a full absolute path for the new route (e.g. /admin/users/add): ",
20
20
  (s: string) => s.trim()[0] == "/"
21
21
  );
22
22
  const mode =
@@ -0,0 +1,31 @@
1
+ import { promises as fs } from "fs";
2
+ import _locreq from "locreq";
3
+ import { relative } from "path";
4
+ import { walk } from "./utils/walk";
5
+
6
+ const target_locreq = _locreq(process.cwd());
7
+
8
+ export async function generateScssIncludes(): Promise<void> {
9
+ const files = await Promise.all(
10
+ (await walk(target_locreq.resolve("src/")))
11
+ .filter(
12
+ (f) =>
13
+ f.endsWith(".scss") &&
14
+ !f.endsWith("/main.scss") &&
15
+ !f.endsWith("/includes.scss")
16
+ )
17
+ .map((fullpath) =>
18
+ relative(target_locreq.resolve("src/"), fullpath)
19
+ )
20
+ );
21
+
22
+ await fs.writeFile(
23
+ target_locreq.resolve("src/includes.scss"),
24
+ `// DO NOT EDIT! This file is generated automaticaly with npx sealgen generate-scss-includes
25
+
26
+ ${files.map((path) => `@import "${path}";`).join("\n")}
27
+ `
28
+ );
29
+ // eslint-disable-next-line no-console
30
+ console.log("Successfuly generated new src/includes.scss file");
31
+ }
@@ -35,7 +35,8 @@ export async function generateRoutes(): Promise<void> {
35
35
  relative(
36
36
  target_locreq.resolve("src/back/routes"),
37
37
  fullpath
38
- ).replace(/\..+/, "")
38
+ ).replace(/\..+/, "") +
39
+ "/" // 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
39
40
  ),
40
41
  }))
41
42
  );
package/src/index.ts CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { addCollection } from "./add-collection";
4
4
  import { addRoute } from "./add-route";
5
+ import { generateScssIncludes } from "./find-scss-includes";
5
6
  import { generateCollections } from "./generate-collections";
6
7
  import { generateRoutes } from "./generate-routes";
7
8
 
@@ -10,6 +11,7 @@ const actions: Record<string, () => Promise<void> | undefined> = {
10
11
  "add-route": addRoute,
11
12
  "generate-collections": generateCollections,
12
13
  "generate-routes": generateRoutes,
14
+ "generate-scss-includes": generateScssIncludes,
13
15
  default: async function () {
14
16
  console.log("Usage: `sealscript <action>`");
15
17
  console.log(