@mojojs/core 0.13.0 → 0.15.2

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.
Files changed (51) hide show
  1. package/README.md +2 -1
  2. package/lib/app.js +2 -2
  3. package/lib/app.js.map +1 -1
  4. package/lib/cli/create-full-app.js +10 -10
  5. package/lib/cli/create-full-app.js.map +1 -1
  6. package/lib/cli/create-lite-app.js +4 -4
  7. package/lib/context.d.ts +2 -2
  8. package/lib/context.js.map +1 -1
  9. package/lib/core.d.ts +1 -1
  10. package/lib/plugins/exception-helpers.js +1 -0
  11. package/lib/plugins/exception-helpers.js.map +1 -1
  12. package/lib/plugins/mt-engine.d.ts +2 -0
  13. package/lib/plugins/{ejs-engine.js → mt-engine.js} +9 -8
  14. package/lib/plugins/mt-engine.js.map +1 -0
  15. package/lib/plugins/view-helpers.js +10 -0
  16. package/lib/plugins/view-helpers.js.map +1 -1
  17. package/lib/renderer.js +1 -1
  18. package/lib/renderer.js.map +1 -1
  19. package/lib/session.d.ts +3 -2
  20. package/lib/session.js +7 -3
  21. package/lib/session.js.map +1 -1
  22. package/lib/types.d.ts +12 -1
  23. package/lib/user-agent/cookie-jar.d.ts +9 -0
  24. package/lib/user-agent/cookie-jar.js +27 -0
  25. package/lib/user-agent/cookie-jar.js.map +1 -0
  26. package/lib/user-agent/mock.js +1 -0
  27. package/lib/user-agent/mock.js.map +1 -1
  28. package/lib/user-agent/transport/http.d.ts +12 -0
  29. package/lib/user-agent/transport/http.js +42 -0
  30. package/lib/user-agent/transport/http.js.map +1 -0
  31. package/lib/user-agent/transport/https.d.ts +11 -0
  32. package/lib/user-agent/transport/https.js +22 -0
  33. package/lib/user-agent/transport/https.js.map +1 -0
  34. package/lib/user-agent/transport/ws.d.ts +5 -0
  35. package/lib/user-agent/transport/ws.js +21 -0
  36. package/lib/user-agent/transport/ws.js.map +1 -0
  37. package/lib/user-agent.d.ts +67 -11
  38. package/lib/user-agent.js +78 -85
  39. package/lib/user-agent.js.map +1 -1
  40. package/lib/util.js +2 -2
  41. package/lib/util.js.map +1 -1
  42. package/package.json +3 -4
  43. package/vendor/README.md +1 -1
  44. package/vendor/views/mojo/{debug.html.ejs → debug.html.mt} +26 -26
  45. package/vendor/views/mojo/{exception.html.ejs → exception.html.mt} +1 -1
  46. package/vendor/views/mojo/{not-found.html.ejs → not-found.html.mt} +1 -1
  47. package/lib/plugins/ejs-engine.d.ts +0 -2
  48. package/lib/plugins/ejs-engine.js.map +0 -1
  49. package/lib/validator/schema.d.ts +0 -8
  50. package/lib/validator/schema.js +0 -19
  51. package/lib/validator/schema.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ import https from 'https';
2
+ import { HTTPTransport } from './http.js';
3
+ export class HTTPSTransport extends HTTPTransport {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.agent = new https.Agent();
7
+ }
8
+ _prepareOptions(config) {
9
+ const options = super._prepareOptions(config);
10
+ if (config.ca !== undefined)
11
+ options.ca = config.ca;
12
+ if (config.insecure !== undefined)
13
+ options.rejectUnauthorized = config.insecure !== true;
14
+ if (config.servername !== undefined)
15
+ options.servername = config.servername;
16
+ return options;
17
+ }
18
+ _sendRequest(url, options, cb) {
19
+ return https.request(url, options, cb);
20
+ }
21
+ }
22
+ //# sourceMappingURL=https.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/user-agent/transport/https.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAExC,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QACE,UAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAa5B,CAAC;IAXC,eAAe,CAAC,MAA+B;QAC7C,MAAM,OAAO,GAAyB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;QACzF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,OAA6B,EAAE,EAAuC;QAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { UserAgentWebSocketOptions } from '../../types.js';
2
+ import { WebSocket } from '../../websocket.js';
3
+ export declare class WSTransport {
4
+ connect(config: UserAgentWebSocketOptions): Promise<WebSocket>;
5
+ }
@@ -0,0 +1,21 @@
1
+ import { WebSocket } from '../../websocket.js';
2
+ import { UserAgentResponse } from '../response.js';
3
+ import WS from 'ws';
4
+ export class WSTransport {
5
+ async connect(config) {
6
+ const ws = new WS(config.url ?? '', config.protocols, { headers: config.headers });
7
+ return await new Promise((resolve, reject) => {
8
+ let handshake;
9
+ ws.on('upgrade', res => (handshake = new UserAgentResponse(res)));
10
+ ws.on('error', reject);
11
+ ws.on('open', () => {
12
+ // Workaround for a race condition where the first message arrives before the promise resolves
13
+ const socket = handshake.raw.socket;
14
+ socket.pause();
15
+ queueMicrotask(() => socket.resume());
16
+ resolve(new WebSocket(ws, handshake, { jsonMode: config.json ?? false }));
17
+ });
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=ws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/user-agent/transport/ws.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC;QACjF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,SAA4B,CAAC;YACjC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,8FAA8F;gBAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK,EAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,12 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import type { UserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from './types.js';
3
+ import type { UserAgentResponse } from './user-agent/response.js';
4
+ import type { WebSocket } from './websocket.js';
3
5
  import EventEmitter from 'events';
4
- import http from 'http';
5
6
  import { URL } from 'url';
6
- import { UserAgentResponse } from './user-agent/response.js';
7
- import { WebSocket } from './websocket.js';
7
+ import { CookieJar } from './user-agent/cookie-jar.js';
8
+ import { HTTPTransport } from './user-agent/transport/http.js';
9
+ import { HTTPSTransport } from './user-agent/transport/https.js';
10
+ import { WSTransport } from './user-agent/transport/ws.js';
8
11
  import FormData from 'form-data';
9
- import tough from 'tough-cookie';
10
12
  interface Upload {
11
13
  content: string;
12
14
  filename: string;
@@ -20,29 +22,83 @@ declare interface UserAgent {
20
22
  on: <T extends keyof UserAgentEvents>(event: T, listener: UserAgentEvents[T]) => this;
21
23
  emit: <T extends keyof UserAgentEvents>(event: T, ...args: Parameters<UserAgentEvents[T]>) => boolean;
22
24
  }
25
+ /**
26
+ * HTTP and WebSocket user agent.
27
+ */
23
28
  declare class UserAgent extends EventEmitter {
29
+ /**
30
+ * Base URL to be used to resolve all relative request URLs with.
31
+ */
24
32
  baseUrl: string | URL | undefined;
25
- cookieJar: tough.CookieJar | null;
33
+ /**
34
+ * Cookie jar to use.
35
+ */
36
+ cookieJar: CookieJar | null;
37
+ /**
38
+ * Transport backend to perform HTTP requests with.
39
+ */
40
+ httpTransport: HTTPTransport;
41
+ /**
42
+ * Transport backend to perform HTTPS requests with.
43
+ */
44
+ httpsTransport: HTTPSTransport;
45
+ /**
46
+ * Maximum number of redirects to follow, default to `0`.
47
+ */
26
48
  maxRedirects: number;
49
+ /**
50
+ * Name of user agent to send with `User-Agent` header.
51
+ */
27
52
  name: string | undefined;
53
+ /**
54
+ * Transport backend to use for WebSocket connections.
55
+ */
56
+ wsTransport: WSTransport;
28
57
  constructor(options?: UserAgentOptions);
58
+ /**
59
+ * Destroy all active keep-alive connections.
60
+ */
61
+ destroy(): void;
62
+ /**
63
+ * Perform `DELETE` request.
64
+ */
29
65
  delete(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
66
+ /**
67
+ * Perform `GET` request.
68
+ */
30
69
  get(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
70
+ /**
71
+ * Perform `HEAD` request.
72
+ */
31
73
  head(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
74
+ /**
75
+ * Perform `OPTIONS` request.
76
+ */
32
77
  options(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
78
+ /**
79
+ * Perform `PATCH` request.
80
+ */
33
81
  patch(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
82
+ /**
83
+ * Perform `POST` request.
84
+ */
34
85
  post(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
86
+ /**
87
+ * Perform `PUT` request.
88
+ */
35
89
  put(url: string | URL, options: UserAgentRequestOptions): Promise<UserAgentResponse>;
90
+ /**
91
+ * Perform HTTP request.
92
+ */
36
93
  request(config: UserAgentRequestOptions): Promise<UserAgentResponse>;
94
+ /**
95
+ * Open WebSocket connection.
96
+ */
37
97
  websocket(url: string | URL, options?: UserAgentWebSocketOptions): Promise<WebSocket>;
38
- _cookieURL(currentURL: URL): string;
39
- _filterConfig(config: Record<string, any>): Record<string, any>;
40
- _filterSharedConfig(config: Record<string, any>): Record<string, any>;
98
+ _filterConfig(config: UserAgentRequestOptions): Promise<Record<string, any>>;
99
+ _filterSharedConfig(config: UserAgentRequestOptions | UserAgentWebSocketOptions): Promise<Record<string, any>>;
41
100
  _formData(values?: Record<string, string | Upload>): FormData;
42
101
  _handleRedirect(config: Record<string, any>, res: UserAgentResponse): Promise<UserAgentResponse>;
43
- _handleResponse(config: Record<string, any>, raw: http.IncomingMessage): Promise<UserAgentResponse>;
44
- _loadCookies(url: URL, config: Record<string, any>): Promise<void>;
45
102
  _requestConfig(method: string, url?: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
46
- _storeCookies(url: URL, res: UserAgentResponse): Promise<void>;
47
103
  }
48
104
  export { UserAgent };
package/lib/user-agent.js CHANGED
@@ -1,103 +1,116 @@
1
1
  import EventEmitter from 'events';
2
- import http from 'http';
3
- import https from 'https';
4
- import Stream from 'stream';
5
- import { format, URL } from 'url';
6
- import { UserAgentResponse } from './user-agent/response.js';
7
- import { WebSocket } from './websocket.js';
2
+ import { URL } from 'url';
3
+ import { CookieJar } from './user-agent/cookie-jar.js';
4
+ import { HTTPTransport } from './user-agent/transport/http.js';
5
+ import { HTTPSTransport } from './user-agent/transport/https.js';
6
+ import { WSTransport } from './user-agent/transport/ws.js';
8
7
  import FormData from 'form-data';
9
8
  import yaml from 'js-yaml';
10
- import tough from 'tough-cookie';
11
- import WS from 'ws';
9
+ /**
10
+ * HTTP and WebSocket user agent.
11
+ */
12
12
  class UserAgent extends EventEmitter {
13
13
  constructor(options = {}) {
14
14
  super();
15
- this.cookieJar = new tough.CookieJar();
15
+ /**
16
+ * Cookie jar to use.
17
+ */
18
+ this.cookieJar = new CookieJar();
19
+ /**
20
+ * Transport backend to perform HTTP requests with.
21
+ */
22
+ this.httpTransport = new HTTPTransport();
23
+ /**
24
+ * Transport backend to perform HTTPS requests with.
25
+ */
26
+ this.httpsTransport = new HTTPSTransport();
27
+ /**
28
+ * Transport backend to use for WebSocket connections.
29
+ */
30
+ this.wsTransport = new WSTransport();
16
31
  this.baseUrl = options.baseUrl;
17
32
  this.maxRedirects = options.maxRedirects ?? 0;
18
33
  this.name = options.name;
19
34
  }
35
+ /**
36
+ * Destroy all active keep-alive connections.
37
+ */
38
+ destroy() {
39
+ this.httpTransport.destroy();
40
+ this.httpsTransport.destroy();
41
+ }
42
+ /**
43
+ * Perform `DELETE` request.
44
+ */
20
45
  async delete(url, options) {
21
46
  return await this._requestConfig('DELETE', url, options);
22
47
  }
48
+ /**
49
+ * Perform `GET` request.
50
+ */
23
51
  async get(url, options) {
24
52
  return await this._requestConfig('GET', url, options);
25
53
  }
54
+ /**
55
+ * Perform `HEAD` request.
56
+ */
26
57
  async head(url, options) {
27
58
  return await this._requestConfig('HEAD', url, options);
28
59
  }
60
+ /**
61
+ * Perform `OPTIONS` request.
62
+ */
29
63
  async options(url, options) {
30
64
  return await this._requestConfig('OPTIONS', url, options);
31
65
  }
66
+ /**
67
+ * Perform `PATCH` request.
68
+ */
32
69
  async patch(url, options) {
33
70
  return await this._requestConfig('PATCH', url, options);
34
71
  }
72
+ /**
73
+ * Perform `POST` request.
74
+ */
35
75
  async post(url, options) {
36
76
  return await this._requestConfig('POST', url, options);
37
77
  }
78
+ /**
79
+ * Perform `PUT` request.
80
+ */
38
81
  async put(url, options) {
39
82
  return await this._requestConfig('PUT', url, options);
40
83
  }
84
+ /**
85
+ * Perform HTTP request.
86
+ */
41
87
  async request(config) {
42
- const filtered = this._filterConfig(config);
43
- await this._loadCookies(filtered.url, filtered);
88
+ const filtered = await this._filterConfig(config);
44
89
  this.emit('request', filtered);
45
90
  if (typeof filtered.body === 'string')
46
91
  filtered.body = Buffer.from(filtered.body);
47
92
  if (filtered.body instanceof Buffer)
48
93
  filtered.headers['Content-Length'] = Buffer.byteLength(filtered.body);
49
- const options = { headers: filtered.headers, method: filtered.method.toUpperCase() };
50
- if (filtered.agent !== undefined)
51
- options.agent = filtered.agent;
52
- if (filtered.auth !== undefined)
53
- options.auth = filtered.auth;
54
- if (filtered.ca !== undefined)
55
- options.ca = filtered.ca;
56
- if (filtered.insecure !== undefined)
57
- options.rejectUnauthorized = filtered.insecure !== true;
58
- if (filtered.servername !== undefined)
59
- options.servername = filtered.servername;
60
- const proto = filtered.url.protocol === 'https:' ? https : http;
61
- return await new Promise((resolve, reject) => {
62
- const req = proto.request(filtered.url, options, res => resolve(this._handleResponse(filtered, res)));
63
- req.once('error', reject);
64
- req.once('abort', reject);
65
- if (filtered.body instanceof Buffer) {
66
- req.end(filtered.body);
67
- }
68
- else if (filtered.body instanceof Stream) {
69
- filtered.body.pipe(req);
70
- }
71
- else {
72
- req.end();
73
- }
74
- });
94
+ const transport = filtered.url.protocol === 'https:' ? this.httpsTransport : this.httpTransport;
95
+ let res = await transport.request(filtered);
96
+ if (this.cookieJar !== null)
97
+ await this.cookieJar.storeCookies(filtered.url, res.headers['set-cookie']);
98
+ if (this.maxRedirects > 0)
99
+ res = await this._handleRedirect(config, res);
100
+ return res;
75
101
  }
102
+ /**
103
+ * Open WebSocket connection.
104
+ */
76
105
  async websocket(url, options = {}) {
77
106
  options.url = url;
78
- const filtered = this._filterSharedConfig(options);
79
- await this._loadCookies(filtered.url, filtered);
107
+ const filtered = await this._filterSharedConfig(options);
80
108
  this.emit('websocket', filtered);
81
109
  filtered.url.protocol = filtered.url.protocol === 'https:' ? 'wss:' : 'ws:';
82
- const ws = new WS(filtered.url, filtered.protocols, { headers: filtered.headers });
83
- return await new Promise((resolve, reject) => {
84
- let handshake;
85
- ws.on('upgrade', res => (handshake = new UserAgentResponse(res)));
86
- ws.on('error', reject);
87
- ws.on('open', () => {
88
- // Workaround for a race condition where the first message arrives before the promise resolves
89
- const socket = handshake.raw.socket;
90
- socket.pause();
91
- queueMicrotask(() => socket.resume());
92
- resolve(new WebSocket(ws, handshake, { jsonMode: filtered.json }));
93
- });
94
- });
95
- }
96
- _cookieURL(currentURL) {
97
- return format(currentURL, { auth: false, fragment: false, search: false });
98
- }
99
- _filterConfig(config) {
100
- const filtered = this._filterSharedConfig(config);
110
+ return await this.wsTransport.connect(filtered);
111
+ }
112
+ async _filterConfig(config) {
113
+ const filtered = await this._filterSharedConfig(config);
101
114
  if (filtered.method === undefined)
102
115
  filtered.method = 'GET';
103
116
  // Body
@@ -124,9 +137,9 @@ class UserAgent extends EventEmitter {
124
137
  }
125
138
  return filtered;
126
139
  }
127
- _filterSharedConfig(config) {
140
+ async _filterSharedConfig(config) {
128
141
  if (!(config.url instanceof URL))
129
- config.url = new URL(config.url, this.baseUrl);
142
+ config.url = new URL(config.url ?? '', this.baseUrl);
130
143
  // Auth
131
144
  const url = config.url;
132
145
  if ((url.username !== '' || url.password !== '') && config.auth === undefined) {
@@ -146,6 +159,11 @@ class UserAgent extends EventEmitter {
146
159
  config.headers['User-Agent'] = this.name;
147
160
  if (config.headers['Accept-Encoding'] === undefined)
148
161
  config.headers['Accept-Encoding'] = 'gzip';
162
+ if (this.cookieJar !== null) {
163
+ const cookies = await this.cookieJar.loadCookies(config.url);
164
+ if (cookies !== null)
165
+ config.headers.Cookie = cookies;
166
+ }
149
167
  return config;
150
168
  }
151
169
  _formData(values = {}) {
@@ -191,34 +209,9 @@ class UserAgent extends EventEmitter {
191
209
  }
192
210
  return res;
193
211
  }
194
- async _handleResponse(config, raw) {
195
- const res = new UserAgentResponse(raw);
196
- await this._storeCookies(config.url, res);
197
- return this.maxRedirects > 0 ? await this._handleRedirect(config, res) : res;
198
- }
199
- async _loadCookies(url, config) {
200
- if (this.cookieJar === null)
201
- return;
202
- const cookies = await this.cookieJar.getCookies(this._cookieURL(url));
203
- if (cookies.length > 0)
204
- config.headers.Cookie = cookies.map(cookie => cookie.cookieString()).join('; ');
205
- }
206
212
  async _requestConfig(method, url = '/', options) {
207
213
  return await this.request({ url, method, ...options });
208
214
  }
209
- async _storeCookies(url, res) {
210
- if (this.cookieJar === null)
211
- return;
212
- const header = res.headers['set-cookie'];
213
- if (header === undefined)
214
- return;
215
- const cookieURL = this._cookieURL(url);
216
- for (const cookie of header.map(value => tough.Cookie.parse(value ?? ''))) {
217
- if (cookie === undefined)
218
- continue;
219
- await this.cookieJar.setCookie(cookie, cookieURL);
220
- }
221
- }
222
215
  }
223
216
  export { UserAgent };
224
217
  //# sourceMappingURL=user-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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"}
package/lib/util.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { setTimeout } from 'timers/promises';
2
2
  import url from 'url';
3
3
  import Path from '@mojojs/path';
4
+ import Template from '@mojojs/template';
4
5
  import chalk from 'chalk';
5
- import ejs from 'ejs';
6
6
  export async function captureOutput(fn, options = {}) {
7
7
  if (options.stdout === undefined)
8
8
  options.stdout = true;
@@ -50,7 +50,7 @@ export async function cliCreateFile(path, template, values = {}, options = {}) {
50
50
  return;
51
51
  }
52
52
  stdout.write(chalk.green(' [write]') + ` ${file.toString()}\n`);
53
- await file.writeFile(ejs.compile(template)(values));
53
+ await file.writeFile(await Template.render(template, values));
54
54
  if (options.chmod !== undefined) {
55
55
  stdout.write(chalk.green(' [chmod]') + ` ${file.toString()} (${options.chmod.toString(8)})\n`);
56
56
  await file.chmod(options.chmod);
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojojs/core",
3
- "version": "0.13.0",
3
+ "version": "0.15.2",
4
4
  "description": "Real-time web framework",
5
5
  "keywords": [
6
6
  "web",
@@ -51,7 +51,6 @@
51
51
  "devDependencies": {
52
52
  "@istanbuljs/esm-loader-hook": "^0.1.2",
53
53
  "@types/busboy": "^0.3.1",
54
- "@types/ejs": "^3.0.6",
55
54
  "@types/js-yaml": "^4.0.3",
56
55
  "@types/lru-cache": "^5.1.0",
57
56
  "@types/mime-types": "^2.1.0",
@@ -77,12 +76,12 @@
77
76
  "node": ">= 16"
78
77
  },
79
78
  "dependencies": {
80
- "@mojojs/dom": "^1.0.1",
79
+ "@mojojs/dom": "^1.1.2",
81
80
  "@mojojs/path": "^1.1.2",
81
+ "@mojojs/template": "^1.2.0",
82
82
  "ajv": "^8.5.0",
83
83
  "busboy": "^1.0.0",
84
84
  "chalk": "^5.0.0",
85
- "ejs": "^3.1.6",
86
85
  "form-data": "^4.0.0",
87
86
  "js-yaml": "^4.1.0",
88
87
  "lru-cache": "^6.0.0",
package/vendor/README.md CHANGED
@@ -4,7 +4,7 @@ This distribution includes a few files with different licenses that have been bu
4
4
 
5
5
  * Mojolicious Artwork
6
6
 
7
- Copyright (C) 2010-2021, Sebastian Riedel.
7
+ Copyright (C) 2010-2022, Sebastian Riedel.
8
8
 
9
9
  Licensed under the [CC-SA License, Version 4.0](http://creativecommons.org/licenses/by-sa/4.0).
10
10
 
@@ -3,13 +3,13 @@
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() {
@@ -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 (ctx.stash.exception !== undefined) { %>
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,7 +69,7 @@
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) %>
72
+ <% const context = await view.exceptionContext(exception); %>
73
73
  <% if (context !== null) { %>
74
74
  <div>
75
75
  <table class="mojo-wide">
@@ -130,9 +130,9 @@
130
130
  <% } %>
131
131
  </td>
132
132
  </tr>
133
- <% depth++ %>
133
+ <% depth++; %>
134
134
  <%= route.children.map(child => walk(child, depth)).join('') %>
135
- <% depth-- %>
135
+ <% depth--; %>
136
136
  <% } %>
137
137
  <table class="mojo-striped-light mojo-wide">
138
138
  <thead>
@@ -149,29 +149,29 @@
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
- <% function keyValue (key, value) { %>
153
- <tr>
154
- <td class="mojo-key text-right"><%= key %>:</td>
155
- <td class="mojo-value"><pre><%= value %></pre></td>
156
- </tr>
157
- <% } %>
152
+ <% const keyValue = function (key, value) { %>
153
+ <tr>
154
+ <td class="mojo-key text-right"><%= key %>:</td>
155
+ <td class="mojo-value"><pre><%= value %></pre></td>
156
+ </tr>
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 %>
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
166
  <% for (let i = 0; i < rawHeaders.length; i += 2) { %>
167
- <%= keyValue(rawHeaders[i], rawHeaders[i + 1]) %>
167
+ <% keyValue(rawHeaders[i], rawHeaders[i + 1]); %>
168
168
  <% } %>
169
169
  </table>
170
170
  </div>
171
171
  </div>
172
172
  <div class="row">
173
173
  <% if (ctx.app.log.history.length > 0) { %>
174
- <% const log = ctx.app.log.history.map(view.stringFormatter).join('') %>
174
+ <% const log = ctx.app.log.history.map(view.stringFormatter).join(''); %>
175
175
  <pre class="mojo-terminal"><code class="nohighlight"><%= log %></code></pre>
176
176
  <% } else { %>
177
177
  <div class="alert alert-warning mojo-wide" role="alert">