qumra-engine 2.0.17 → 2.0.19

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.
@@ -1 +1 @@
1
- export default function assets(file: string): string;
1
+ export default function assets(file: string, env: any): string;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = assets;
4
- function assets(file) {
5
- return `/assets/${file}`;
4
+ const globals_1 = require("../../../store/globals");
5
+ function assets(file, env) {
6
+ const assets = (0, globals_1.getGlobal)("assets");
7
+ console.log("🚀 ~ assets ~ assets:", assets);
8
+ return `${assets}${file}`;
6
9
  }
@@ -1,2 +1,2 @@
1
1
  import nunjucks from 'nunjucks';
2
- export default function registerAllFilters(env: nunjucks.Environment): void;
2
+ export declare function registerAllFilters(env: nunjucks.Environment): void;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.default = registerAllFilters;
36
+ exports.registerAllFilters = registerAllFilters;
37
37
  const filters = __importStar(require("./"));
38
38
  function registerAllFilters(env) {
39
39
  Object.entries(filters).forEach(([name, fn]) => {
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.nunjucksFiltersMiddleWare = void 0;
7
- const registerAllFilters_1 = __importDefault(require("../filters/registerAllFilters"));
4
+ const registerAllFilters_1 = require("../filters/registerAllFilters");
8
5
  const nunjucksFiltersMiddleWare = (req, res, next) => {
9
- (0, registerAllFilters_1.default)(res.locals.env);
6
+ (0, registerAllFilters_1.registerAllFilters)(res.locals.env);
10
7
  next();
11
8
  };
12
9
  exports.nunjucksFiltersMiddleWare = nunjucksFiltersMiddleWare;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.nunjucksMiddleWare = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const nunjucksEnv_1 = require("../nunjucksEnv");
9
+ const globals_1 = require("../store/globals");
9
10
  const nunjucksMiddleWare = (req, res, next) => {
10
11
  console.log(2222222222);
11
12
  const isDev = res.locals.mode === "devlopment";
@@ -13,7 +14,10 @@ const nunjucksMiddleWare = (req, res, next) => {
13
14
  console.log("🚀 ~ res.locals:", res.locals);
14
15
  console.log("🚀 ~ isDev:", isDev);
15
16
  console.log("🚀 ~ res.locals.themePath:", res.locals.render.themePath);
16
- const mainPath = isDev ? path_1.default.join(process.cwd()) : res.locals.render.themePath;
17
+ const mainPath = isDev
18
+ ? path_1.default.join(process.cwd())
19
+ : path_1.default.join(res.locals.themesRepo, res.locals.render.themePath);
20
+ console.log("🚀 ~ mainPath:", mainPath);
17
21
  const paths = {
18
22
  pagesPath: path_1.default.join(mainPath, "pages"),
19
23
  layoutsPath: path_1.default.join(mainPath, "layouts"),
@@ -31,6 +35,7 @@ const nunjucksMiddleWare = (req, res, next) => {
31
35
  env.addGlobal(key, value);
32
36
  }
33
37
  env.addGlobal("mainPath", mainPath);
38
+ (0, globals_1.setGlobal)("assets", res.locals.render.globals?.assets);
34
39
  res.locals.env = env;
35
40
  next();
36
41
  };
@@ -4,6 +4,7 @@ interface IStartEngine {
4
4
  getRender?: CacheGetter;
5
5
  setRender?: CacheSetter;
6
6
  port: number;
7
+ themesRepo?: string;
7
8
  }
8
- declare const startEngine: ({ mode, getRender, setRender, port }: IStartEngine) => Promise<void>;
9
+ declare const startEngine: ({ mode, getRender, setRender, port, themesRepo, }: IStartEngine) => Promise<void>;
9
10
  export default startEngine;
@@ -17,7 +17,7 @@ const globals_middleware_1 = require("./middleware/globals.middleware");
17
17
  const extensions_middleware_1 = require("./middleware/extensions.middleware");
18
18
  const isPathAllowedToRender_1 = require("./utils/isPathAllowedToRender");
19
19
  const mergeData_middleware_1 = require("./middleware/mergeData.middleware");
20
- const startEngine = async ({ mode, getRender, setRender, port = 3000 }) => {
20
+ const startEngine = async ({ mode, getRender, setRender, port = 3000, themesRepo, }) => {
21
21
  try {
22
22
  const app = (0, express_1.default)();
23
23
  app.set("view engine", "nunjucks");
@@ -25,8 +25,8 @@ const startEngine = async ({ mode, getRender, setRender, port = 3000 }) => {
25
25
  app.use((0, init_middleware_1.initMiddleware)({ mode, getRender, setRender }));
26
26
  const avilablePort = await (0, findAvailablePort_1.findAvailablePort)(port);
27
27
  if (mode === "devlopment") {
28
- const staticPath = path_1.default.join(process.cwd(), 'assets');
29
- app.use('/assets', express_1.default.static(staticPath));
28
+ const staticPath = path_1.default.join(process.cwd(), "assets");
29
+ app.use("/assets", express_1.default.static(staticPath));
30
30
  }
31
31
  app.use((req, res, next) => {
32
32
  if (!(0, isPathAllowedToRender_1.isPathAllowedToRender)(res.locals.parsedUrl.pathname)) {
@@ -36,6 +36,17 @@ const startEngine = async ({ mode, getRender, setRender, port = 3000 }) => {
36
36
  next();
37
37
  }
38
38
  });
39
+ app.use((req, res, next) => {
40
+ var themesRepoPath;
41
+ if (themesRepo) {
42
+ themesRepoPath = path_1.default.join(process.cwd(), themesRepo);
43
+ }
44
+ else {
45
+ themesRepoPath = process.cwd();
46
+ }
47
+ res.locals.themesRepo = themesRepoPath;
48
+ next();
49
+ });
39
50
  app.use(prepareData_middleware_1.prepareDataMiddleware);
40
51
  app.use(nunjucks_middleware_1.nunjucksMiddleWare);
41
52
  app.use(mergeData_middleware_1.mergeDataMiddleware);
@@ -1,6 +1,7 @@
1
1
  export interface Globals {
2
2
  app: any;
3
3
  Setting: any;
4
+ assets: string;
4
5
  }
5
6
  export interface RenderContext {
6
7
  page: Page;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qumra-engine",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {