@mojojs/core 0.15.3 → 0.17.0

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/lib/app.d.ts CHANGED
@@ -18,7 +18,7 @@ import { Validator } from './validator.js';
18
18
  import Path from '@mojojs/path';
19
19
  declare type AppHook = (app: App, ...args: any[]) => any;
20
20
  declare type ContextHook = (app: MojoContext, ...args: any[]) => any;
21
- export declare type Decoration = ((...args: any[]) => any) & {
21
+ export declare type Decoration = ((...args: any[]) => any) | {
22
22
  get?: () => any;
23
23
  set?: (value: any) => any;
24
24
  };
package/lib/app.js CHANGED
@@ -69,7 +69,7 @@ export class App {
69
69
  if (Object.getOwnPropertyDescriptor(proto, name) != null) {
70
70
  throw new Error(`The name "${name}" is already used in the prototype chain`);
71
71
  }
72
- if (typeof fn.get === 'function' || typeof fn.set === 'function') {
72
+ if (typeof fn !== 'function') {
73
73
  Object.defineProperty(this._contextClass.prototype, name, fn);
74
74
  }
75
75
  else {
package/lib/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ const jsIndex = `import mojo, {yamlConfigPlugin} from '@mojojs/core';
36
36
  export const app = mojo();
37
37
 
38
38
  app.plugin(yamlConfigPlugin);
39
- app.secrets = [app.config.secrets];
39
+ app.secrets = app.config.secrets;
40
40
 
41
41
  app.get('/').to('example#welcome');
42
42
 
package/lib/cli.js CHANGED
@@ -15,6 +15,11 @@ export class CLI {
15
15
  if (this._loaded === undefined)
16
16
  await this._loadCommands();
17
17
  const commandArgs = command === undefined ? process.argv : ['', '', command, ...args];
18
+ const app = this._app.deref();
19
+ if (app === undefined)
20
+ return;
21
+ if ((await app.hooks.runHook('command', app, commandArgs)) === true)
22
+ return;
18
23
  const parsed = nopt({ help: Boolean }, { h: '--help' }, commandArgs);
19
24
  const argv = parsed.argv;
20
25
  if (argv.remain.length > 0) {
@@ -27,9 +32,6 @@ export class CLI {
27
32
  process.stdout.write(command.usage);
28
33
  }
29
34
  else {
30
- const app = this._app.deref();
31
- if (app === undefined)
32
- return;
33
35
  await command(app, argv.original);
34
36
  }
35
37
  return;
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/lib/context.js CHANGED
@@ -40,13 +40,13 @@ class Context extends EventEmitter {
40
40
  this._flash = new Proxy(session, {
41
41
  get: function (target, name) {
42
42
  if (target.flash === undefined)
43
- target.flash = {};
43
+ return undefined;
44
44
  return target.flash[name];
45
45
  },
46
46
  set: function (target, name, value) {
47
- if (target.nextFLash === undefined)
48
- target.nextFlash = {};
49
- target.nextFlash[name] = value;
47
+ const nextFlash = target.nextFlash ?? {};
48
+ nextFlash[name] = value;
49
+ target.nextFlash = nextFlash;
50
50
  return true;
51
51
  }
52
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/lib/renderer.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import type { MojoContext, RenderOptions } from './types.js';
3
3
  interface EngineResult {
4
- output: string | Buffer;
5
4
  format: string;
5
+ output: string | Buffer;
6
6
  }
7
7
  interface ViewSuggestion {
8
- format: string;
9
8
  engine: string;
9
+ format: string;
10
10
  path: string;
11
+ variant?: string;
11
12
  }
12
13
  declare type ViewIndex = Record<string, ViewSuggestion[]>;
13
14
  interface ViewEngine {
@@ -22,7 +23,7 @@ export declare class Renderer {
22
23
  viewPaths: string[];
23
24
  _viewIndex: ViewIndex | undefined;
24
25
  addEngine(name: string, engine: ViewEngine): this;
25
- findView(name: string): ViewSuggestion | null;
26
+ findView(options: RenderOptions): ViewSuggestion | null;
26
27
  render(ctx: MojoContext, options: RenderOptions): Promise<EngineResult | null>;
27
28
  respond(ctx: MojoContext, result: EngineResult, options: {
28
29
  status?: number;
package/lib/renderer.js CHANGED
@@ -17,10 +17,24 @@ export class Renderer {
17
17
  this.engines[name] = engine;
18
18
  return this;
19
19
  }
20
- findView(name) {
21
- if (this._viewIndex === undefined || this._viewIndex[name] === undefined)
20
+ findView(options) {
21
+ const view = options.view;
22
+ const index = this._viewIndex;
23
+ if (view === undefined || index === undefined || index[view] === undefined)
22
24
  return null;
23
- return this._viewIndex[name][0];
25
+ // Variants
26
+ let fallback;
27
+ const variant = options.variant;
28
+ const views = index[view];
29
+ if (views.length > 1) {
30
+ for (const suggestion of views) {
31
+ if (suggestion.variant === variant)
32
+ return suggestion;
33
+ if (fallback === undefined && suggestion.variant === undefined)
34
+ fallback = suggestion;
35
+ }
36
+ }
37
+ return fallback ?? views[0];
24
38
  }
25
39
  async render(ctx, options) {
26
40
  const log = ctx.log;
@@ -106,12 +120,12 @@ export class Renderer {
106
120
  continue;
107
121
  for await (const file of dir.list({ recursive: true })) {
108
122
  const name = dir.relative(file).toArray().join('/');
109
- const match = name.match(/^(.+)\.([^.]+)\.([^.]+)$/);
123
+ const match = name.match(/^(.+)\.([^.]+?)(?:\+([^.]+))?\.([^.]+)$/);
110
124
  if (match === null)
111
125
  continue;
112
126
  if (viewIndex[match[1]] === undefined)
113
127
  viewIndex[match[1]] = [];
114
- viewIndex[match[1]].push({ format: match[2], engine: match[3], path: file.toString() });
128
+ viewIndex[match[1]].push({ format: match[2], variant: match[3], engine: match[4], path: file.toString() });
115
129
  }
116
130
  }
117
131
  }
@@ -122,7 +136,7 @@ export class Renderer {
122
136
  return { output: await engine.render(ctx, options), format: options.format ?? this.defaultFormat };
123
137
  }
124
138
  async _renderView(ctx, options) {
125
- const view = this.findView(options.view ?? '');
139
+ const view = this.findView(options);
126
140
  if (view === null)
127
141
  return null;
128
142
  const engine = this.engines[view.engine];
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAiBpC,MAAM,OAAO,QAAQ;IAArB;QACE,iBAAY,GAAG,IAAI,CAAC;QACpB,kBAAa,GAAG,IAAI,CAAC;QACrB,kBAAa,GAAG,MAAM,CAAC;QACvB,YAAO,GAA+B,EAAE,CAAC;QACzC,oBAAe,GAAG,GAAG,CAAC;QACtB,cAAS,GAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,eAAU,GAA0B,SAAS,CAAC;IAkJhD,CAAC;IAhJC,SAAS,CAAC,IAAY,EAAE,MAAkB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,OAAsB;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAExF,WAAW;QACX,IAAI,QAAQ,CAAC;QACb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE;gBAC9B,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO;oBAAE,OAAO,UAAU,CAAC;gBACtD,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS;oBAAE,QAAQ,GAAG,UAAU,CAAC;aACvF;SACF;QAED,OAAO,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,OAAsB;QACnD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACrC,OAAO,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,EAAC,CAAC;SAChE;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACrC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC3B,OAAO,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,EAAC,CAAC;aACvG;YACD,OAAO,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,EAAC,CAAC;SAC9F;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACrC,OAAO,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,EAAC,CAAC;SACzF;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,4BAA4B,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;YAChE,OAAO,EAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAC,CAAC;SAClG;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEjC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;gBACtC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;gBACtC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACrC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC/C;YAED,OAAO,MAAM,CAAC;SACf;QAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,MAAM,UAAU,GAAW,KAAK,CAAC,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAW,KAAK,CAAC,MAAM,CAAC;QACpC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE;YAClF,OAAO,CAAC,IAAI,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;SAC1C;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,GAAG,CAAC,KAAK,CAAC,mBAAmB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChC,OAAO,CAAC,IAAI,GAAG,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3C,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAChC,GAAG,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;aAC7C;YAED,OAAO,MAAM,CAAC;SACf;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAgB,EAAE,MAAoB,EAAE,OAA0B;QAC9E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE7B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;YACnF,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAChD,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBACpC,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;aACpC;SACF;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC;QAC/E,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,SAAS,GAAc,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5D,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK;gBAAE,SAAS;YAE7C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,EAAE;gBACpD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACpE,IAAI,KAAK,KAAK,IAAI;oBAAE,SAAS;gBAE7B,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAC,CAAC,CAAC;aAC1G;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAgB,EAAE,OAAsB;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,EAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAgB,EAAE,OAAsB;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,EAAC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IAC1E,CAAC;CACF"}
package/lib/types.d.ts CHANGED
@@ -73,6 +73,7 @@ export interface RenderOptions {
73
73
  pretty?: boolean;
74
74
  status?: number;
75
75
  text?: string;
76
+ variant?: string;
76
77
  view?: string;
77
78
  [key: string]: any;
78
79
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojojs/core",
3
- "version": "0.15.3",
3
+ "version": "0.17.0",
4
4
  "description": "Real-time web framework",
5
5
  "keywords": [
6
6
  "web",
@@ -62,7 +62,7 @@
62
62
  "@types/ws": "^8.2.0",
63
63
  "@typescript-eslint/eslint-plugin": "^5.1.0",
64
64
  "autocannon": "^7.3.0",
65
- "concurrently": "^6.2.0",
65
+ "concurrently": "^7.0.0",
66
66
  "eslint": "^8.1.0",
67
67
  "eslint-config-prettier": "^8.3.0",
68
68
  "eslint-plugin-import": "^2.23.4",
@@ -3,18 +3,18 @@
3
3
  <html>
4
4
  <head>
5
5
  <title>Debug</title>
6
- <%= ctx.mojoFaviconTag() %>
7
- <%= ctx.scriptTag('/mojo/bootstrap/bootstrap.bundle.min.js') %>
8
- <%= ctx.scriptTag('/mojo/highlight.js/highlight.pack.js') %>
9
- <%= ctx.styleTag('/mojo/bootstrap/bootstrap.min.css') %>
10
- <%= ctx.styleTag('/mojo/highlight.js/highlight-mojo-dark.css') %>
11
- <%= ctx.styleTag('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css') %>
12
- <%= ctx.styleTag('/mojo/mojo.css') %>
6
+ %= ctx.mojoFaviconTag()
7
+ %= ctx.scriptTag('/mojo/bootstrap/bootstrap.bundle.min.js')
8
+ %= ctx.scriptTag('/mojo/highlight.js/highlight.pack.js')
9
+ %= ctx.styleTag('/mojo/bootstrap/bootstrap.min.css')
10
+ %= ctx.styleTag('/mojo/highlight.js/highlight-mojo-dark.css')
11
+ %= ctx.styleTag('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css')
12
+ %= ctx.styleTag('/mojo/mojo.css')
13
13
  <script>
14
14
  hljs.initHighlightingOnLoad();
15
15
  window.onload = function() {
16
16
  const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
17
- const tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
17
+ const tooltipList = tooltipTriggerList.map(tooltipTriggerEl => {
18
18
  return new bootstrap.Tooltip(tooltipTriggerEl);
19
19
  });
20
20
  };
@@ -61,7 +61,7 @@
61
61
  <div class="row flex-wrap">
62
62
  <main class="col-sm-12 col-md-8 col-lg-10 py-md-3 pl-md-5">
63
63
  <div class="row mojo-divider">
64
- <% if (exception !== null) { %>
64
+ % if (exception !== null) {
65
65
  <div class="alert alert-danger mojo-wide" role="alert">
66
66
  <h2>Server Error</h2>
67
67
  This application is in <b>development</b> mode and will show internal information to help you with
@@ -69,33 +69,33 @@
69
69
  </div>
70
70
  <div id="showcase" class="mojo-box mojo-code mojo-no-bottom-border mojo-no-top-border mojo-border-radius-top">
71
71
  <pre id="error" class="mojo-error"><%= exception %></pre>
72
- <% const context = await view.exceptionContext(exception); %>
73
- <% if (context !== null) { %>
72
+ % const context = await view.exceptionContext(exception);
73
+ % if (context !== null) {
74
74
  <div>
75
75
  <table class="mojo-wide">
76
- <% for (const line of context.source) { %>
77
- <% const extra = context.line === line.num ? ' mojo-important' : ''; %>
76
+ % for (const line of context.source) {
77
+ % const extra = context.line === line.num ? ' mojo-important' : '';
78
78
  <tr>
79
79
  <td class="text-right<%= extra %>"><%= line.num %></td>
80
80
  <td class="mojo-context mojo-wide<%= extra %>"><pre><code><%= line.code %></code></pre></td>
81
81
  </tr>
82
- <% } %>
82
+ % }
83
83
  </table>
84
84
  </div>
85
- <% } %>
85
+ % }
86
86
  </div>
87
87
  <div id="trace" class="mojo-box mojo-no-padding more mojo-no-top-border mojo-border-radius-bottom">
88
88
  <div id="frames" class="more">
89
89
  <table class="mojo-striped-grey mojo-wide">
90
- <% const lines = exception.stack.split('\n').filter(line => line.match(/^\s*at\ /)); %>
91
- <% const trace = lines.map(val => val.replace(/^\s+/, '')); %>
92
- <% for (const frame of trace) { %>
90
+ % const lines = exception.stack.split('\n').filter(line => line.match(/^\s*at\ /));
91
+ % const trace = lines.map(val => val.replace(/^\s+/, ''));
92
+ % for (const frame of trace) {
93
93
  <tr><td class="mojo-value"><pre><%= frame %></pre></td></tr>
94
- <% } %>
94
+ % }
95
95
  </table>
96
96
  </div>
97
97
  </div>
98
- <% } else { %>
98
+ % } else {
99
99
  <div class="alert alert-warning mojo-wide" role="alert">
100
100
  <h2>Page Not Found</h2>
101
101
  This application is in <b>development</b> mode and will show internal information to help you with
@@ -108,12 +108,12 @@
108
108
  for <code><%= ctx.req.path %></code>, maybe you need to add a new one?
109
109
  </p>
110
110
  </div>
111
- <% function walk (route, depth) { %>
112
- <% const pattern = route.pattern; %>
113
- <% let unparsed = pattern.unparsed || '/'; %>
114
- <% if (depth > 0) unparsed = `+${unparsed}`; %>
115
- <% pattern.match('/', {isEndpoint: route.isEndpoint}); %>
116
- <% const regex = pattern.regex.toString(); %>
111
+ % function walk (route, depth) {
112
+ % const pattern = route.pattern;
113
+ % let unparsed = pattern.unparsed || '/';
114
+ % if (depth > 0) unparsed = `+${unparsed}`;
115
+ % pattern.match('/', {isEndpoint: route.isEndpoint});
116
+ % const regex = pattern.regex.toString();
117
117
  <tr data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
118
118
  title="<b>Regex:</b> <code><%= regex %></code>">
119
119
  <td class="mojo-value">
@@ -123,17 +123,17 @@
123
123
  <pre><%= route.methods.join(', ').toUpperCase() || '*' %></pre>
124
124
  </td>
125
125
  <td class="mojo-value">
126
- <% if (route.customName !== undefined) { %>
126
+ % if (route.customName !== undefined) {
127
127
  <span class="badge bg-success"><%= route.customName %></span>
128
- <% } else if (route.defaultName !== undefined) { %>
128
+ % } else if (route.defaultName !== undefined) {
129
129
  <span class="badge bg-secondary"><%= route.defaultName %></span>
130
- <% } %>
130
+ % }
131
131
  </td>
132
132
  </tr>
133
- <% depth++; %>
134
- <%= route.children.map(child => walk(child, depth)).join('') %>
135
- <% depth--; %>
136
- <% } %>
133
+ % depth++;
134
+ %= route.children.map(child => walk(child, depth)).join('')
135
+ % depth--;
136
+ % }
137
137
  <table class="mojo-striped-light mojo-wide">
138
138
  <thead>
139
139
  <tr>
@@ -142,43 +142,43 @@
142
142
  <th>Name</th>
143
143
  </tr>
144
144
  </thead>
145
- <%= ctx.app.router.children.map(child => walk(child, 0)).join('') %>
145
+ %= ctx.app.router.children.map(child => walk(child, 0)).join('')
146
146
  </table>
147
147
  </div>
148
- <% } %>
148
+ % }
149
149
  </div>
150
150
  <div class="row mojo-divider">
151
151
  <div id="request" class="mojo-box mojo-no-padding mojo-border-radius-both">
152
- <% const keyValue = function (key, value) { %>
152
+ % const keyValue = function (key, value) {
153
153
  <tr>
154
154
  <td class="mojo-key text-right"><%= key %>:</td>
155
155
  <td class="mojo-value"><pre><%= value %></pre></td>
156
156
  </tr>
157
- <% }; %>
157
+ % };
158
158
  <table class="mojo-striped mojo-fixed-table mojo-wide">
159
- <% keyValue('Request ID', ctx.req.requestId); %>
160
- <% keyValue('Method', ctx.req.method); %>
161
- <% keyValue('Path', ctx.req.path); %>
162
- <% keyValue('Base URL', ctx.req.baseUrl); %>
163
- <% keyValue('Parameters', ctx.inspect((await ctx.params()).toObject())); %>
164
- <% keyValue('Stash', ctx.inspect(ctx.stash)); %>
165
- <% const rawHeaders = ctx.req.raw.rawHeaders; %>
166
- <% for (let i = 0; i < rawHeaders.length; i += 2) { %>
167
- <% keyValue(rawHeaders[i], rawHeaders[i + 1]); %>
168
- <% } %>
159
+ % keyValue('Request ID', ctx.req.requestId);
160
+ % keyValue('Method', ctx.req.method);
161
+ % keyValue('Path', ctx.req.path);
162
+ % keyValue('Base URL', ctx.req.baseUrl);
163
+ % keyValue('Parameters', ctx.inspect((await ctx.params()).toObject()));
164
+ % keyValue('Stash', ctx.inspect(ctx.stash));
165
+ % const rawHeaders = ctx.req.raw.rawHeaders;
166
+ % for (let i = 0; i < rawHeaders.length; i += 2) {
167
+ % keyValue(rawHeaders[i], rawHeaders[i + 1]);
168
+ % }
169
169
  </table>
170
170
  </div>
171
171
  </div>
172
172
  <div class="row">
173
- <% if (ctx.app.log.history.length > 0) { %>
174
- <% const log = ctx.app.log.history.map(view.stringFormatter).join(''); %>
173
+ % if (ctx.app.log.history.length > 0) {
174
+ % const log = ctx.app.log.history.map(view.stringFormatter).join('');
175
175
  <pre class="mojo-terminal"><code class="nohighlight"><%= log %></code></pre>
176
- <% } else { %>
176
+ % } else {
177
177
  <div class="alert alert-warning mojo-wide" role="alert">
178
178
  The application log appears to be empty, perhaps the log level <b><%= ctx.app.log.level %></b> is too
179
179
  high? Try lowering it to <b>trace</b> for framework specific information.
180
180
  </div>
181
- <% } %>
181
+ % }
182
182
  </div>
183
183
  </main>
184
184
  </div>
@@ -3,7 +3,7 @@
3
3
  <html>
4
4
  <head>
5
5
  <title>Server Error</title>
6
- <%= ctx.mojoFaviconTag() %>
6
+ %= ctx.mojoFaviconTag()
7
7
  <style>
8
8
  body {
9
9
  background-color: #caecf6;
@@ -3,7 +3,7 @@
3
3
  <html>
4
4
  <head>
5
5
  <title>Page Not Found</title>
6
- <%= ctx.mojoFaviconTag() %>
6
+ %= ctx.mojoFaviconTag()
7
7
  <style>
8
8
  a img {
9
9
  border: 0;