@metricinsights/pp-dev 0.2.0 → 0.3.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/README.md +49 -15
- package/dist/api/assets.d.ts +2 -2
- package/dist/api/assets.js +3 -3
- package/dist/api/assets.js.map +1 -1
- package/dist/api/base.d.ts +5 -0
- package/dist/api/base.js +7 -0
- package/dist/api/base.js.map +1 -0
- package/dist/api/page.d.ts +2 -4
- package/dist/api/page.js +2 -5
- package/dist/api/page.js.map +1 -1
- package/dist/cli.js +103 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +40 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/helpers/content-encoding.helper.d.ts +3 -0
- package/dist/lib/helpers/content-encoding.helper.js +26 -0
- package/dist/lib/helpers/content-encoding.helper.js.map +1 -0
- package/dist/lib/helpers/server.d.ts +14 -0
- package/dist/lib/helpers/server.js +40 -0
- package/dist/lib/helpers/server.js.map +1 -0
- package/dist/lib/helpers/url.helper.d.ts +4 -0
- package/dist/lib/helpers/url.helper.js +13 -0
- package/dist/lib/helpers/url.helper.js.map +1 -1
- package/dist/lib/load-pp-data.middleware.d.ts +5 -0
- package/dist/lib/load-pp-data.middleware.js +28 -0
- package/dist/lib/load-pp-data.middleware.js.map +1 -0
- package/dist/lib/pp-redirect.middleware.d.ts +3 -0
- package/dist/lib/pp-redirect.middleware.js +21 -0
- package/dist/lib/pp-redirect.middleware.js.map +1 -0
- package/dist/lib/proxy-cache.middleware.d.ts +5 -4
- package/dist/lib/proxy-cache.middleware.js +5 -5
- package/dist/lib/proxy-cache.middleware.js.map +1 -1
- package/dist/lib/proxy-pass.middleware.d.ts +2 -1
- package/dist/lib/proxy-pass.middleware.js +2 -2
- package/dist/lib/proxy-pass.middleware.js.map +1 -1
- package/dist/lib/rewrite-response.middleware.d.ts +6 -0
- package/dist/lib/rewrite-response.middleware.js +23 -0
- package/dist/lib/rewrite-response.middleware.js.map +1 -0
- package/dist/plugin.d.ts +2 -0
- package/dist/plugin.js +20 -62
- package/dist/plugin.js.map +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -26,11 +26,11 @@ Config examples:
|
|
|
26
26
|
// pp-dev.config.js
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* @type {import('@metricinsights/pp-dev').PPDevConfig}
|
|
30
|
-
*/
|
|
29
|
+
* @type {import('@metricinsights/pp-dev').PPDevConfig}
|
|
30
|
+
*/
|
|
31
31
|
module.exports = {
|
|
32
|
-
backendBaseURL: 'https://example.metricinsights.com',
|
|
33
|
-
portalPageId: 1,
|
|
32
|
+
backendBaseURL: 'https://example.metricinsights.com',
|
|
33
|
+
portalPageId: 1,
|
|
34
34
|
};
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -42,8 +42,8 @@ portalPageId: 1,
|
|
|
42
42
|
import { PPDevConfig } from '@metricinsights/pp-dev';
|
|
43
43
|
|
|
44
44
|
const config: PPDevConfig = {
|
|
45
|
-
backendBaseURL: 'https://example.metricinsights.com',
|
|
46
|
-
portalPageId: 1,
|
|
45
|
+
backendBaseURL: 'https://example.metricinsights.com',
|
|
46
|
+
portalPageId: 1,
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export default config;
|
|
@@ -53,8 +53,8 @@ export default config;
|
|
|
53
53
|
|
|
54
54
|
```json
|
|
55
55
|
{
|
|
56
|
-
"backendBaseURL": "https://example.metricinsights.com",
|
|
57
|
-
"portalPageId": 1
|
|
56
|
+
"backendBaseURL": "https://example.metricinsights.com",
|
|
57
|
+
"portalPageId": 1
|
|
58
58
|
}
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -62,13 +62,13 @@ export default config;
|
|
|
62
62
|
|
|
63
63
|
```json
|
|
64
64
|
{
|
|
65
|
-
"name": "<project-name>",
|
|
66
|
-
"version": "1.0.0",
|
|
67
|
-
"scripts": {},
|
|
68
|
-
"pp-dev": {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
65
|
+
"name": "<project-name>",
|
|
66
|
+
"version": "1.0.0",
|
|
67
|
+
"scripts": {},
|
|
68
|
+
"pp-dev": {
|
|
69
|
+
"backendBaseURL": "https://example.metricinsights.com",
|
|
70
|
+
"portalPageId": 1
|
|
71
|
+
}
|
|
72
72
|
}
|
|
73
73
|
```
|
|
74
74
|
|
|
@@ -115,6 +115,22 @@ Example: `true`
|
|
|
115
115
|
|
|
116
116
|
Description: Disables template variables transforming. Used when you develop the portal page without a template
|
|
117
117
|
|
|
118
|
+
#### `enableProxyCache`
|
|
119
|
+
|
|
120
|
+
Type: Boolean
|
|
121
|
+
|
|
122
|
+
Default: `true`
|
|
123
|
+
|
|
124
|
+
Description: Enables proxy cache. If you want to disable proxy cache, you need to set this option to `false`
|
|
125
|
+
|
|
126
|
+
#### `proxyCacheTTL`
|
|
127
|
+
|
|
128
|
+
Type: Number
|
|
129
|
+
|
|
130
|
+
Default: `10 * 60 * 1000`
|
|
131
|
+
|
|
132
|
+
Description: Defines proxy cache TTL in milliseconds
|
|
133
|
+
|
|
118
134
|
### CLI API description
|
|
119
135
|
|
|
120
136
|
- `pp-dev help` - show CLI's help
|
|
@@ -146,3 +162,21 @@ Description: Disables template variables transforming. Used when you develop the
|
|
|
146
162
|
Also, you may need to add `type="module"` to every script that is added by the `script` tag with the `src` property.
|
|
147
163
|
Actually would be good to have only one `script` tag with the `src` tag.
|
|
148
164
|
Every other JS file will be imported with construction like this `import helper from './helpers';`
|
|
165
|
+
|
|
166
|
+
## [Next.js](https://nextjs.org/) support
|
|
167
|
+
|
|
168
|
+
If you want to use Portal Page helper with Next.js, you need to add pp-dev config to your root directory.
|
|
169
|
+
|
|
170
|
+
Then you need to change your `dev` script in `package.json` to `pp-dev next`.
|
|
171
|
+
|
|
172
|
+
The last step is to wrap your next config with `withPPDev` function.
|
|
173
|
+
|
|
174
|
+
```javascript
|
|
175
|
+
// next.config.js
|
|
176
|
+
|
|
177
|
+
const { withPPDev } = require('@metricinsights/pp-dev');
|
|
178
|
+
|
|
179
|
+
module.exports = withPPDev({
|
|
180
|
+
// your next config
|
|
181
|
+
});
|
|
182
|
+
```
|
package/dist/api/assets.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Axios } from 'axios';
|
|
3
3
|
import { Headers } from './constants.js';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { BaseAPI } from './base.js';
|
|
5
|
+
export declare class AssetsAPI extends BaseAPI {
|
|
6
6
|
constructor(axios: Axios);
|
|
7
7
|
downloadPageAssets(portalPageId: number | string, headers?: Headers): Promise<Buffer>;
|
|
8
8
|
uploadPageAssets(portalPageId: number | string, file: Buffer, headers?: Headers): Promise<{
|
package/dist/api/assets.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FormData, File } from 'formdata-node';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { BaseAPI } from './base.js';
|
|
3
|
+
export class AssetsAPI extends BaseAPI {
|
|
4
4
|
constructor(axios) {
|
|
5
|
-
|
|
5
|
+
super(axios);
|
|
6
6
|
}
|
|
7
7
|
async downloadPageAssets(portalPageId, headers) {
|
|
8
8
|
return this.axios
|
package/dist/api/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/api/assets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/api/assets.ts"],"names":[],"mappings":"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"}
|
package/dist/api/base.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IACR,KAAK,CAAQ;IAEvB,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
|
package/dist/api/page.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Axios } from 'axios';
|
|
2
1
|
import { Headers } from './constants.js';
|
|
2
|
+
import { BaseAPI } from './base.js';
|
|
3
3
|
export interface Page {
|
|
4
4
|
name: string;
|
|
5
5
|
enabled: 'Y' | 'N';
|
|
@@ -8,9 +8,7 @@ export interface Page {
|
|
|
8
8
|
tags?: string;
|
|
9
9
|
template?: string;
|
|
10
10
|
}
|
|
11
|
-
export declare class PageAPI {
|
|
12
|
-
private axios;
|
|
13
|
-
constructor(axios: Axios);
|
|
11
|
+
export declare class PageAPI extends BaseAPI {
|
|
14
12
|
getAll(headers?: Headers): Promise<Page[]>;
|
|
15
13
|
get(id: number | string, headers?: Headers): Promise<Page>;
|
|
16
14
|
getPageContent(internalPageName: string, headers?: Headers): Promise<string>;
|
package/dist/api/page.js
CHANGED
package/dist/api/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,OAAO,OAAQ,SAAQ,OAAO;IAClC,KAAK,CAAC,MAAM,CAAC,OAAiB;QAC5B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,WAAW,EAAE;YACnD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU;gBAC3B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG;aACb,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAmB,EAAE,OAAiB;QAC9C,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,gBAAgB,EAAE,EAAE,EAAE;YACzD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,gBAAwB,EAAE,OAAiB;QAC9D,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAS,MAAM,gBAAgB,EAAE,EAAE;YACrD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC;IACT,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,OAAiB;QACxC,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,WAAW,EAAE,IAAI,EAAE;YACvD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,15 @@ import { VERSION } from './constants.js';
|
|
|
7
7
|
import { bindShortcuts } from './shortcuts.js';
|
|
8
8
|
import { getViteConfig } from './index.js';
|
|
9
9
|
import { mergeConfig, build, optimizeDeps, resolveConfig, preview, createLogger, loadConfigFromFile, } from 'vite';
|
|
10
|
+
import { parse } from 'url';
|
|
11
|
+
import { initRewriteResponse } from './lib/rewrite-response.middleware.js';
|
|
12
|
+
import { initPPRedirect } from './lib/pp-redirect.middleware.js';
|
|
13
|
+
import { MiAPI } from './lib/pp.middleware.js';
|
|
14
|
+
import { initProxyCache } from './lib/proxy-cache.middleware.js';
|
|
15
|
+
import proxyPassMiddleware from './lib/proxy-pass.middleware.js';
|
|
16
|
+
import { initLoadPPData } from './lib/load-pp-data.middleware.js';
|
|
17
|
+
import { cutUrlParams, urlReplacer } from './lib/helpers/url.helper.js';
|
|
18
|
+
import { createDevServer } from './lib/helpers/server.js';
|
|
10
19
|
const cli = cac('pp-dev');
|
|
11
20
|
const colors = createColors();
|
|
12
21
|
let profileSession = global.__pp_dev_profile_session;
|
|
@@ -154,6 +163,100 @@ cli
|
|
|
154
163
|
process.exit(1);
|
|
155
164
|
}
|
|
156
165
|
});
|
|
166
|
+
cli
|
|
167
|
+
.command('next [root]', 'start dev server')
|
|
168
|
+
.alias('next-serve')
|
|
169
|
+
.alias('next-dev')
|
|
170
|
+
.option('--host [host]', `[string] specify hostname`)
|
|
171
|
+
.option('--port <port>', `[number] specify port`, { default: 3000 })
|
|
172
|
+
.option('--https', `[boolean] use TLS + HTTP/2`)
|
|
173
|
+
.option('--open [path]', `[boolean | string] open browser on startup`)
|
|
174
|
+
.option('--cors', `[boolean] enable CORS`)
|
|
175
|
+
.option('--strictPort', `[boolean] exit if specified port is already in use`)
|
|
176
|
+
.option('--force', `[boolean] force the optimizer to ignore the cache and re-bundle`)
|
|
177
|
+
.action(async (root, options) => {
|
|
178
|
+
filterDuplicateOptions(options);
|
|
179
|
+
const { default: next } = await import('next');
|
|
180
|
+
const server = createDevServer(options.logLevel);
|
|
181
|
+
const opts = cleanOptions(options);
|
|
182
|
+
const app = next({ dev: true, hostname: opts.host, port: opts.port });
|
|
183
|
+
const handle = app.getRequestHandler();
|
|
184
|
+
await app.prepare();
|
|
185
|
+
const nextServer = (await app.getServer());
|
|
186
|
+
let base = nextServer.nextConfig.basePath;
|
|
187
|
+
if (!base.endsWith('/')) {
|
|
188
|
+
base += '/';
|
|
189
|
+
}
|
|
190
|
+
const baseWithoutTrailingSlash = base.substring(0, base.lastIndexOf('/'));
|
|
191
|
+
const templateName = nextServer.nextConfig.serverRuntimeConfig.templateName;
|
|
192
|
+
const ppDevConfig = nextServer.nextConfig.serverRuntimeConfig.ppDevConfig;
|
|
193
|
+
const { backendBaseURL, portalPageId, templateLess = true, enableProxyCache = true, miHudLess = true, proxyCacheTTL = 10 * 60 * 1000, } = ppDevConfig;
|
|
194
|
+
server.use(initPPRedirect(base, templateName));
|
|
195
|
+
if (backendBaseURL) {
|
|
196
|
+
const baseUrlHost = new URL(backendBaseURL).host;
|
|
197
|
+
const mi = new MiAPI(backendBaseURL, {
|
|
198
|
+
headers: {
|
|
199
|
+
host: baseUrlHost,
|
|
200
|
+
referer: backendBaseURL,
|
|
201
|
+
origin: backendBaseURL.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i, '$1$2'),
|
|
202
|
+
},
|
|
203
|
+
portalPageId,
|
|
204
|
+
templateLess,
|
|
205
|
+
});
|
|
206
|
+
if (enableProxyCache) {
|
|
207
|
+
let ttl = +proxyCacheTTL;
|
|
208
|
+
if (!ttl || Number.isNaN(ttl) || ttl < 0) {
|
|
209
|
+
ttl = 10 * 60 * 1000;
|
|
210
|
+
}
|
|
211
|
+
server.use(initProxyCache({ devServer: server, ttl }));
|
|
212
|
+
}
|
|
213
|
+
server.use(proxyPassMiddleware({
|
|
214
|
+
devServer: server,
|
|
215
|
+
baseURL: backendBaseURL,
|
|
216
|
+
proxyIgnore: ['/@vite', '/@metricinsights', '/@', baseWithoutTrailingSlash],
|
|
217
|
+
}));
|
|
218
|
+
const isIndexRegExp = new RegExp(`^((${base})|/)$`);
|
|
219
|
+
server.use(initLoadPPData(isIndexRegExp, mi, ppDevConfig));
|
|
220
|
+
server.use(initRewriteResponse((url) => {
|
|
221
|
+
return isIndexRegExp.test(cutUrlParams(url));
|
|
222
|
+
}, (response, req) => {
|
|
223
|
+
return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
server.all('*', (req, res) => {
|
|
227
|
+
const parsedUrl = parse(req.url, true);
|
|
228
|
+
handle(req, res, parsedUrl);
|
|
229
|
+
});
|
|
230
|
+
try {
|
|
231
|
+
await new Promise((resolve) => {
|
|
232
|
+
if (opts.host) {
|
|
233
|
+
resolve(server.listen(opts.port, opts.host, () => {
|
|
234
|
+
}));
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
resolve(server.listen(opts.port, () => {
|
|
238
|
+
}));
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
const info = server.config.logger.info;
|
|
242
|
+
const ppDevStartTime = global.__pp_dev_start_time ?? false;
|
|
243
|
+
const startupDurationString = ppDevStartTime
|
|
244
|
+
? colors.dim(`ready in ${colors.reset(colors.bold(Math.ceil(performance.now() - ppDevStartTime)))} ms`)
|
|
245
|
+
: '';
|
|
246
|
+
info(`\n ${colors.green(`${colors.bold('PP-DEV')} v${VERSION}`)} ${startupDurationString}\n`, {
|
|
247
|
+
clear: true,
|
|
248
|
+
});
|
|
249
|
+
server.printUrls(base);
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
const logger = createLogger(options.logLevel);
|
|
253
|
+
logger.error(colors.red(`error when starting dev server:\n${e.stack}`), {
|
|
254
|
+
error: e,
|
|
255
|
+
});
|
|
256
|
+
stopProfiler(logger.info);
|
|
257
|
+
process.exit(1);
|
|
258
|
+
}
|
|
259
|
+
});
|
|
157
260
|
cli
|
|
158
261
|
.command('build [root]', 'build for production')
|
|
159
262
|
.option('--target <target>', `[string] transpile target (default: 'modules')`)
|
package/dist/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/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { InlineConfig } from 'vite';
|
|
2
2
|
import { VitePPDevOptions } from './plugin.js';
|
|
3
|
+
import type { NextConfig } from 'next';
|
|
3
4
|
export type PPDevConfig = Omit<VitePPDevOptions, 'templateName'>;
|
|
4
5
|
export type PPWatchConfig = {
|
|
5
6
|
baseURL: string;
|
|
@@ -7,3 +8,6 @@ export type PPWatchConfig = {
|
|
|
7
8
|
};
|
|
8
9
|
export declare function getConfig(): Promise<PPDevConfig>;
|
|
9
10
|
export declare function getViteConfig(): Promise<InlineConfig>;
|
|
11
|
+
export declare function withPPDev(nextjsConfig: NextConfig, ppDevConfig?: PPDevConfig): (phase: string, nextConfig?: {
|
|
12
|
+
defaultConfig?: any;
|
|
13
|
+
}) => Promise<NextConfig>;
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { pathToFileURL } from 'url';
|
|
|
7
7
|
import { PP_WATCH_CONFIG_NAMES, PP_DEV_CONFIG_NAMES } from './constants.js';
|
|
8
8
|
import { clientInjectionPlugin } from './plugins/client-injection-plugin.js';
|
|
9
9
|
import header from './banner/header.js';
|
|
10
|
+
import { PHASE_DEVELOPMENT_SERVER } from 'next/constants.js';
|
|
10
11
|
async function loadTsConfig(filePath) {
|
|
11
12
|
const cwd = process.cwd();
|
|
12
13
|
let isESM = false;
|
|
@@ -79,6 +80,18 @@ async function loadConfig(dirFiles, configNames) {
|
|
|
79
80
|
}
|
|
80
81
|
return null;
|
|
81
82
|
}
|
|
83
|
+
function getPkg() {
|
|
84
|
+
const cwd = process.cwd();
|
|
85
|
+
try {
|
|
86
|
+
return JSON.parse(readFileSync(path.resolve(cwd, 'package.json'), {
|
|
87
|
+
encoding: 'utf-8',
|
|
88
|
+
flag: 'r',
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return {};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
82
95
|
export async function getConfig() {
|
|
83
96
|
const endsWithRegExp = /\.config\.((ts)|(js(on)?))$/;
|
|
84
97
|
const cwd = process.cwd();
|
|
@@ -104,20 +117,14 @@ export async function getConfig() {
|
|
|
104
117
|
}
|
|
105
118
|
}
|
|
106
119
|
}
|
|
107
|
-
const pkg =
|
|
108
|
-
encoding: 'utf-8',
|
|
109
|
-
flag: 'r',
|
|
110
|
-
}));
|
|
120
|
+
const pkg = getPkg();
|
|
111
121
|
if (!configFound && typeof pkg['pp-dev'] === 'object') {
|
|
112
122
|
config = pkg['pp-dev'];
|
|
113
123
|
}
|
|
114
124
|
return config;
|
|
115
125
|
}
|
|
116
126
|
export async function getViteConfig() {
|
|
117
|
-
const pkg =
|
|
118
|
-
encoding: 'utf-8',
|
|
119
|
-
flag: 'r',
|
|
120
|
-
}));
|
|
127
|
+
const pkg = getPkg();
|
|
121
128
|
const templateName = pkg.name;
|
|
122
129
|
return {
|
|
123
130
|
base: `/pt/${templateName}`,
|
|
@@ -147,4 +154,29 @@ export async function getViteConfig() {
|
|
|
147
154
|
],
|
|
148
155
|
};
|
|
149
156
|
}
|
|
157
|
+
export function withPPDev(nextjsConfig, ppDevConfig) {
|
|
158
|
+
return async (phase, nextConfig = {}) => {
|
|
159
|
+
const config = await getConfig();
|
|
160
|
+
const pkg = getPkg();
|
|
161
|
+
const templateName = pkg.name;
|
|
162
|
+
if (phase === PHASE_DEVELOPMENT_SERVER) {
|
|
163
|
+
const devConfig = Object.assign(config, ppDevConfig);
|
|
164
|
+
return Object.assign({ basePath: `/pt/${templateName}`, trailingSlash: true }, nextjsConfig, {
|
|
165
|
+
serverRuntimeConfig: {
|
|
166
|
+
templateName,
|
|
167
|
+
ppDevConfig: devConfig,
|
|
168
|
+
},
|
|
169
|
+
publicRuntimeConfig: {
|
|
170
|
+
templateName,
|
|
171
|
+
ppDevConfig: {
|
|
172
|
+
backendBaseURL: devConfig.backendBaseURL,
|
|
173
|
+
portalPageId: devConfig.portalPageId,
|
|
174
|
+
templateLess: devConfig.templateLess,
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
return Object.assign({ basePath: `/pt/${templateName}` }, nextjsConfig);
|
|
180
|
+
};
|
|
181
|
+
}
|
|
150
182
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,SAA+B,MAAM,aAAa,CAAC;AAC1D,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,MAAM,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { unzipSync, brotliDecompressSync, deflateSync, gzipSync, brotliCompressSync, inflateSync } from 'zlib';
|
|
2
|
+
export function decodeContent(content, contentEncoding) {
|
|
3
|
+
switch (contentEncoding) {
|
|
4
|
+
case 'gzip':
|
|
5
|
+
return unzipSync(content);
|
|
6
|
+
case 'br':
|
|
7
|
+
return brotliDecompressSync(content);
|
|
8
|
+
case 'deflate':
|
|
9
|
+
return deflateSync(content);
|
|
10
|
+
default:
|
|
11
|
+
return content;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function encodeContent(content, contentEncoding) {
|
|
15
|
+
switch (contentEncoding) {
|
|
16
|
+
case 'gzip':
|
|
17
|
+
return gzipSync(content);
|
|
18
|
+
case 'br':
|
|
19
|
+
return brotliCompressSync(content);
|
|
20
|
+
case 'deflate':
|
|
21
|
+
return inflateSync(content);
|
|
22
|
+
default:
|
|
23
|
+
return content;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=content-encoding.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-encoding.helper.js","sourceRoot":"","sources":["../../../src/lib/helpers/content-encoding.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/G,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,eAAwB;IACrE,QAAQ,eAAe,EAAE;QACvB,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5B,KAAK,IAAI;YACP,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAEvC,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAE9B;YACE,OAAO,OAAO,CAAC;KAClB;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,eAAwB;IACrE,QAAQ,eAAe,EAAE;QACvB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE3B,KAAK,IAAI;YACP,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAErC,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAE9B;YACE,OAAO,OAAO,CAAC;KAClB;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as express from 'express';
|
|
2
|
+
import * as winston from 'winston';
|
|
3
|
+
import * as memoryCache from 'memory-cache';
|
|
4
|
+
import type { CacheItem } from '../proxy-cache.middleware.js';
|
|
5
|
+
declare module 'express' {
|
|
6
|
+
interface Express {
|
|
7
|
+
cache?: memoryCache.CacheClass<string, CacheItem>;
|
|
8
|
+
config: {
|
|
9
|
+
logger: winston.Logger;
|
|
10
|
+
};
|
|
11
|
+
printUrls: (base?: string) => void;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export declare function createDevServer(logLevel?: string): express.Express;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as express from 'express';
|
|
2
|
+
import * as winston from 'winston';
|
|
3
|
+
import { createColors } from 'picocolors';
|
|
4
|
+
import { URL } from 'url';
|
|
5
|
+
const colors = createColors();
|
|
6
|
+
export function createDevServer(logLevel = 'info') {
|
|
7
|
+
const server = express.default();
|
|
8
|
+
const logger = winston.createLogger({
|
|
9
|
+
level: logLevel,
|
|
10
|
+
format: winston.format.cli({ level: true }),
|
|
11
|
+
transports: [new winston.transports.Console()],
|
|
12
|
+
});
|
|
13
|
+
server.config = {
|
|
14
|
+
logger,
|
|
15
|
+
};
|
|
16
|
+
const originalListen = server.listen;
|
|
17
|
+
let listener;
|
|
18
|
+
server.listen = function (...args) {
|
|
19
|
+
listener = originalListen.apply(this, args);
|
|
20
|
+
};
|
|
21
|
+
server.printUrls = function (base) {
|
|
22
|
+
if (!listener) {
|
|
23
|
+
throw new Error('Server is not listening');
|
|
24
|
+
}
|
|
25
|
+
const colorUrl = (url) => colors.cyan(url.replace(/:(\d+)\//, (_, port) => `:${colors.bold(port)}/`));
|
|
26
|
+
const address = listener.address();
|
|
27
|
+
if (address && typeof address === 'object') {
|
|
28
|
+
if (address.address === '::') {
|
|
29
|
+
const url = new URL(base || '', `http://localhost:${address.port}`);
|
|
30
|
+
logger.info(` ${colors.green('➜')} ${colors.bold('Local')}: ${colorUrl(url.toString())}`);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const url = new URL(base || '', `http://[${address.address}]:${address.port}`);
|
|
34
|
+
logger.info(` ${colors.green('➜')} ${colors.bold('Local')}: ${colorUrl(url.toString())}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return server;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/lib/helpers/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAY1B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,MAAM,UAAU,eAAe,CAAC,QAAQ,GAAG,MAAM;IAC/C,MAAM,MAAM,GAAI,OAAe,CAAC,OAAO,EAAa,CAAC;IAErD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;QAClC,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3C,UAAU,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,GAAG;QACd,MAAM;KACP,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAErC,IAAI,QAA+C,CAAC;IAEpD,MAAM,CAAC,MAAM,GAAG,UAAiC,GAAG,IAA2C;QAC7F,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAyB,CAAC;IAE1B,MAAM,CAAC,SAAS,GAAG,UAAU,IAAa;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9G,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC1C,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE;gBAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAEpE,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;aAC/F;iBAAM;gBACL,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE/E,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;aAC/F;SACF;IACH,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import type { ServerResponse } from 'http';
|
|
1
2
|
export declare const stringIsAValidUrl: (s: string, protocols: string[]) => boolean;
|
|
2
3
|
export declare const urlReplacer: (originalHost: string, destinationHost: string, content: string) => string;
|
|
3
4
|
export declare const urlPathReplacer: (urlPath: string, destinationPath: string, content: string) => string;
|
|
5
|
+
export declare const redirect: (res: ServerResponse, url: string, statusCode?: number) => void;
|
|
6
|
+
export declare function cutUrlParams(url: string): string;
|
|
7
|
+
export declare function cutUrlHash(url: string): string;
|
|
@@ -24,4 +24,17 @@ export const urlPathReplacer = (urlPath, destinationPath, content) => {
|
|
|
24
24
|
const urlReplaceRegExp = new RegExp(`${urlPath.replace(/\\*\//gi, '\\\\/')}`, 'gi');
|
|
25
25
|
return content.replace(urlReplaceRegExp, destinationPath);
|
|
26
26
|
};
|
|
27
|
+
export const redirect = (res, url, statusCode) => {
|
|
28
|
+
res.setHeader('location', url);
|
|
29
|
+
res.statusCode = statusCode || 302;
|
|
30
|
+
res.end();
|
|
31
|
+
};
|
|
32
|
+
export function cutUrlParams(url) {
|
|
33
|
+
const urlParts = url.split('?');
|
|
34
|
+
return urlParts[0];
|
|
35
|
+
}
|
|
36
|
+
export function cutUrlHash(url) {
|
|
37
|
+
const urlParts = url.split('#');
|
|
38
|
+
return urlParts[0];
|
|
39
|
+
}
|
|
27
40
|
//# sourceMappingURL=url.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.helper.js","sourceRoot":"","sources":["../../../src/lib/helpers/url.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"url.helper.js","sourceRoot":"","sources":["../../../src/lib/helpers/url.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,SAAmB,EAAE,EAAE;IAClE,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,SAAS,EAAE;YACb,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;SACxG;QAED,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,eAAuB,EAAE,OAAe,EAAE,EAAE;IAC5F,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,kCAAkC,YAAY,GAAG,EAAE,IAAI,CAAC,CAAC;IAE7F,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE;QAC9D,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;SAChB;QAED,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAE,OAAe,EAAE,EAAE;IAC3F,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAE,GAAW,EAAE,UAAmB,EAAE,EAAE;IAChF,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/B,GAAG,CAAC,UAAU,GAAG,UAAU,IAAI,GAAG,CAAC;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PPDevConfig } from '../index.js';
|
|
2
|
+
import { Connect } from 'vite';
|
|
3
|
+
import NextHandleFunction = Connect.NextHandleFunction;
|
|
4
|
+
import { MiAPI } from './pp.middleware.js';
|
|
5
|
+
export declare function initLoadPPData(applyUrlRegExp: RegExp, mi: MiAPI, opts: PPDevConfig): NextHandleFunction;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { cutUrlParams, redirect } from './helpers/url.helper.js';
|
|
2
|
+
export function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
3
|
+
const { templateLess = false, miHudLess = false, portalPageId } = opts;
|
|
4
|
+
return (req, res, next) => {
|
|
5
|
+
const isNeedTemplateLoad = !(templateLess && miHudLess);
|
|
6
|
+
const isApplyRequest = applyUrlRegExp.test(cutUrlParams(req.url ?? ''));
|
|
7
|
+
if (isNeedTemplateLoad && isApplyRequest) {
|
|
8
|
+
const headers = (req.headers ?? {});
|
|
9
|
+
const loadPageData = !templateLess && typeof portalPageId !== 'undefined'
|
|
10
|
+
? mi.getPageVariables(portalPageId, headers)
|
|
11
|
+
: mi.getPageTemplate(headers);
|
|
12
|
+
loadPageData
|
|
13
|
+
.then(() => {
|
|
14
|
+
next();
|
|
15
|
+
})
|
|
16
|
+
.catch((reason) => {
|
|
17
|
+
if (reason.response) {
|
|
18
|
+
return redirect(res, `/home?proxyRedirect=${encodeURIComponent('/')}`, 302);
|
|
19
|
+
}
|
|
20
|
+
next(reason);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
next();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=load-pp-data.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-pp-data.middleware.js","sourceRoot":"","sources":["../../src/lib/load-pp-data.middleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGjE,MAAM,UAAU,cAAc,CAAC,cAAsB,EAAE,EAAS,EAAE,IAAiB;IACjF,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEvE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAExE,IAAI,kBAAkB,IAAI,cAAc,EAAE;YACxC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAY,CAAC;YAE/C,MAAM,YAAY,GAChB,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,WAAW;gBAClD,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAElC,YAAY;iBACT,IAAI,CAAC,GAAG,EAAE;gBACT,IAAI,EAAE,CAAC;YACT,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACnB,OAAO,QAAQ,CAAC,GAAG,EAAE,uBAAuB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iBAC7E;gBAED,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,EAAE,CAAC;SACR;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { redirect } from './helpers/url.helper.js';
|
|
2
|
+
import { URL } from 'url';
|
|
3
|
+
export function initPPRedirect(base, templateName) {
|
|
4
|
+
base = base.startsWith('/') ? base : `/${base}`;
|
|
5
|
+
base = base.endsWith('/') ? base : `${base}/`;
|
|
6
|
+
const baseWithoutTrailingSlash = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
7
|
+
return (req, res, next) => {
|
|
8
|
+
const parsedUrl = new URL(req.url ?? '', 'http://localhost');
|
|
9
|
+
const { pathname, search } = parsedUrl;
|
|
10
|
+
const findPaths = ['/', baseWithoutTrailingSlash];
|
|
11
|
+
if (templateName) {
|
|
12
|
+
findPaths.push(`/pt/${templateName}`);
|
|
13
|
+
}
|
|
14
|
+
if (findPaths.includes(pathname)) {
|
|
15
|
+
const redirectUrl = `${base}${search}`;
|
|
16
|
+
return redirect(res, redirectUrl, 302);
|
|
17
|
+
}
|
|
18
|
+
next();
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=pp-redirect.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pp-redirect.middleware.js","sourceRoot":"","sources":["../../src/lib/pp-redirect.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,YAAqB;IAChE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAChD,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;IAE9C,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE/E,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC7D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACvC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAElD,IAAI,YAAY,EAAE;YAChB,SAAS,CAAC,IAAI,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC;SACvC;QAGD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;YAEvC,OAAO,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;SACxC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Connect, ViteDevServer } from 'vite';
|
|
2
2
|
import * as memoryCache from 'memory-cache';
|
|
3
3
|
import NextHandleFunction = Connect.NextHandleFunction;
|
|
4
|
-
|
|
5
|
-
viteDevServer: ViteDevServer;
|
|
6
|
-
ttl?: number;
|
|
7
|
-
}
|
|
4
|
+
import { Express } from 'express';
|
|
8
5
|
export interface CacheItem {
|
|
9
6
|
headers: Record<string, any>;
|
|
10
7
|
content: any;
|
|
11
8
|
}
|
|
9
|
+
export interface ProxyCacheOpts {
|
|
10
|
+
devServer: ViteDevServer | Express;
|
|
11
|
+
ttl?: number;
|
|
12
|
+
}
|
|
12
13
|
declare module 'vite' {
|
|
13
14
|
interface ViteDevServer {
|
|
14
15
|
cache?: memoryCache.CacheClass<string, CacheItem>;
|
|
@@ -3,14 +3,14 @@ import { PROXY_HEADER } from './proxy-pass.middleware.js';
|
|
|
3
3
|
const cache = new memoryCache.Cache();
|
|
4
4
|
const testCacheUrlRegExp = /\.[a-z0-9]+$/i;
|
|
5
5
|
export function initProxyCache(opts) {
|
|
6
|
-
const {
|
|
7
|
-
|
|
6
|
+
const { devServer, ttl = 10 * 60 * 1000 } = opts;
|
|
7
|
+
devServer.cache = cache;
|
|
8
8
|
return (req, res, next) => {
|
|
9
9
|
const url = req.originalUrl || req.url || '';
|
|
10
10
|
if (testCacheUrlRegExp.test(url.split('?')[0] || '')) {
|
|
11
11
|
const cacheItem = cache.get(url);
|
|
12
|
-
if (cacheItem) {
|
|
13
|
-
|
|
12
|
+
if (cacheItem && devServer.config) {
|
|
13
|
+
devServer.config.logger.info(`Proxies request: ${req.method} ${url} -> Cache ${url}`);
|
|
14
14
|
for (const [header, value] of Object.entries(cacheItem.headers)) {
|
|
15
15
|
res.setHeader(header, value);
|
|
16
16
|
}
|
|
@@ -39,7 +39,7 @@ export function initProxyCache(opts) {
|
|
|
39
39
|
buffer = Buffer.concat([buffer, chunk]);
|
|
40
40
|
}
|
|
41
41
|
if (res.hasHeader(PROXY_HEADER)) {
|
|
42
|
-
|
|
42
|
+
devServer.config.logger?.info(`[Cached] ${url}`);
|
|
43
43
|
cache.put(url, { headers: res.getHeaders(), content: buffer }, ttl);
|
|
44
44
|
}
|
|
45
45
|
end.call(this, buffer, encoding, cb);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-cache.middleware.js","sourceRoot":"","sources":["../../src/lib/proxy-cache.middleware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy-cache.middleware.js","sourceRoot":"","sources":["../../src/lib/proxy-cache.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ViteDevServer } from 'vite';
|
|
2
|
+
import { Express } from 'express';
|
|
2
3
|
export interface ProxyOpts {
|
|
3
4
|
rewritePath?: string | string[] | RegExp;
|
|
4
5
|
baseURL: string;
|
|
5
6
|
proxyIgnore?: (string | RegExp)[];
|
|
6
|
-
|
|
7
|
+
devServer: ViteDevServer | Express;
|
|
7
8
|
}
|
|
8
9
|
export declare const PROXY_HEADER = "X-PP-Proxy";
|
|
9
10
|
export declare function initProxy(opts: ProxyOpts): import("http-proxy-middleware").RequestHandler;
|
|
@@ -3,7 +3,7 @@ import { urlReplacer, urlPathReplacer } from './helpers/url.helper.js';
|
|
|
3
3
|
const hostOriginRegExp = /^(https?:\/\/)([^/]+)(\/.*)?$/i;
|
|
4
4
|
export const PROXY_HEADER = 'X-PP-Proxy';
|
|
5
5
|
export function initProxy(opts) {
|
|
6
|
-
const { rewritePath = /^\/(?!pt).*/i, baseURL = '',
|
|
6
|
+
const { rewritePath = /^\/(?!pt).*/i, baseURL = '', devServer } = opts;
|
|
7
7
|
if (!baseURL) {
|
|
8
8
|
throw new Error('Base url is required');
|
|
9
9
|
}
|
|
@@ -45,7 +45,7 @@ export function initProxy(opts) {
|
|
|
45
45
|
onProxyReq(proxyReq, req, res) {
|
|
46
46
|
const host = req.headers.host;
|
|
47
47
|
const referer = proxyReq.getHeader('referer');
|
|
48
|
-
|
|
48
|
+
devServer.config.logger.info(`Proxies request: ${req.method} ${req.url} -> ${proxyReq.method} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
|
|
49
49
|
if (host && referer && typeof referer === 'string') {
|
|
50
50
|
proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-pass.middleware.js","sourceRoot":"","sources":["../../src/lib/proxy-pass.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"proxy-pass.middleware.js","sourceRoot":"","sources":["../../src/lib/proxy-pass.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { Connect } from 'vite';
|
|
4
|
+
import NextHandleFunction = Connect.NextHandleFunction;
|
|
5
|
+
import type { ServerResponse } from 'http';
|
|
6
|
+
export declare function initRewriteResponse(predicate: (url: string, req: Connect.IncomingMessage, res: ServerResponse<Connect.IncomingMessage>) => boolean, rewrite: (response: Buffer, req: Connect.IncomingMessage, res: ServerResponse<Connect.IncomingMessage>) => Buffer): NextHandleFunction;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { decodeContent, encodeContent } from './helpers/content-encoding.helper.js';
|
|
2
|
+
export function initRewriteResponse(predicate, rewrite) {
|
|
3
|
+
return (req, res, next) => {
|
|
4
|
+
if (predicate(req.url ?? '', req, res)) {
|
|
5
|
+
const end = res.end;
|
|
6
|
+
const buffers = [];
|
|
7
|
+
res.write = function (body) {
|
|
8
|
+
buffers.push(body);
|
|
9
|
+
return true;
|
|
10
|
+
};
|
|
11
|
+
res.end = function (chunk, encoding, cb) {
|
|
12
|
+
if (typeof chunk === 'string') {
|
|
13
|
+
buffers.push(Buffer.from(chunk));
|
|
14
|
+
}
|
|
15
|
+
const contentEncoding = res.getHeader('content-encoding');
|
|
16
|
+
const content = decodeContent(Buffer.from(Buffer.concat(buffers)), contentEncoding);
|
|
17
|
+
end.call(this, encodeContent(rewrite(content, req, res), contentEncoding), encoding, cb);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
next();
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=rewrite-response.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewrite-response.middleware.js","sourceRoot":"","sources":["../../src/lib/rewrite-response.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AASpF,MAAM,UAAU,mBAAmB,CACjC,SAA+G,EAC/G,OAAiH;IAEjH,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAEpB,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,GAAG,CAAC,KAAK,GAAG,UAAU,IAAI;gBACxB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEnB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAIF,GAAG,CAAC,GAAG,GAAG,UAAU,KAAU,EAAE,QAAwB,EAAE,EAAe;gBACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;iBAClC;gBAED,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAW,CAAC;gBACpE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;gBAEpF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC,CAAC;SACH;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
package/dist/plugin.js
CHANGED
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
import proxyPassMiddleware from './lib/proxy-pass.middleware.js';
|
|
2
2
|
import { MiAPI } from './lib/pp.middleware.js';
|
|
3
|
-
import { urlReplacer } from './lib/helpers/url.helper.js';
|
|
3
|
+
import { cutUrlParams, urlReplacer } from './lib/helpers/url.helper.js';
|
|
4
4
|
import { ClientService } from './lib/client.service.js';
|
|
5
5
|
import { initProxyCache } from './lib/proxy-cache.middleware.js';
|
|
6
6
|
import { DistService } from './lib/dist.service.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
res.end();
|
|
11
|
-
};
|
|
12
|
-
function cutUrlParams(url) {
|
|
13
|
-
const urlParts = url.split('?');
|
|
14
|
-
return urlParts[0];
|
|
15
|
-
}
|
|
7
|
+
import { initRewriteResponse } from './lib/rewrite-response.middleware.js';
|
|
8
|
+
import { initPPRedirect } from './lib/pp-redirect.middleware.js';
|
|
9
|
+
import { initLoadPPData } from './lib/load-pp-data.middleware.js';
|
|
16
10
|
function vitePPDev(options) {
|
|
17
|
-
const { templateName, templateLess = false, miHudLess = false,
|
|
11
|
+
const { templateName, templateLess = false, backendBaseURL, miHudLess = false, portalPageId, enableProxyCache = true, proxyCacheTTL = 10 * 60 * 1000, } = options || {};
|
|
18
12
|
let isFirstRequest = true;
|
|
19
13
|
return {
|
|
20
14
|
name: 'vite-pp-dev',
|
|
@@ -41,15 +35,7 @@ function vitePPDev(options) {
|
|
|
41
35
|
base += '/';
|
|
42
36
|
}
|
|
43
37
|
const baseWithoutTrailingSlash = base.substring(0, base.lastIndexOf('/'));
|
|
44
|
-
server.middlewares.use(
|
|
45
|
-
if (req.url === '/' || req.url === `/pt/${templateName}` || req.url === baseWithoutTrailingSlash) {
|
|
46
|
-
return redirect(res, base, 302);
|
|
47
|
-
}
|
|
48
|
-
else if (req.url?.includes('?') && req.url.split('?')[0] === baseWithoutTrailingSlash) {
|
|
49
|
-
return redirect(res, `${base}?${req.url.split('?')[1]}`, 302);
|
|
50
|
-
}
|
|
51
|
-
next();
|
|
52
|
-
});
|
|
38
|
+
server.middlewares.use(initPPRedirect(base, templateName));
|
|
53
39
|
if (backendBaseURL) {
|
|
54
40
|
const baseUrlHost = new URL(backendBaseURL).host;
|
|
55
41
|
const mi = new MiAPI(backendBaseURL, {
|
|
@@ -61,53 +47,25 @@ function vitePPDev(options) {
|
|
|
61
47
|
portalPageId,
|
|
62
48
|
templateLess,
|
|
63
49
|
});
|
|
64
|
-
|
|
50
|
+
if (enableProxyCache) {
|
|
51
|
+
let ttl = +proxyCacheTTL;
|
|
52
|
+
if (!ttl || Number.isNaN(ttl) || ttl < 0) {
|
|
53
|
+
ttl = 10 * 60 * 1000;
|
|
54
|
+
}
|
|
55
|
+
server.middlewares.use(initProxyCache({ devServer: server, ttl }));
|
|
56
|
+
}
|
|
65
57
|
server.middlewares.use(proxyPassMiddleware({
|
|
66
|
-
|
|
58
|
+
devServer: server,
|
|
67
59
|
baseURL: backendBaseURL,
|
|
68
60
|
proxyIgnore: ['/@vite', '/@metricinsights', '/@', baseWithoutTrailingSlash],
|
|
69
61
|
}));
|
|
70
62
|
const isIndexRegExp = new RegExp(`^((${base})|/)$`);
|
|
71
|
-
server.middlewares.use(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
? mi.getPageVariables(portalPageId, headers)
|
|
78
|
-
: mi.getPageTemplate(headers);
|
|
79
|
-
loadPageData
|
|
80
|
-
.then(() => {
|
|
81
|
-
next();
|
|
82
|
-
})
|
|
83
|
-
.catch((reason) => {
|
|
84
|
-
if (reason.response) {
|
|
85
|
-
return redirect(res, `/home?proxyRedirect=${encodeURIComponent('/')}`, 302);
|
|
86
|
-
}
|
|
87
|
-
next(reason);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
next();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
server.middlewares.use(function (req, res, next) {
|
|
95
|
-
if (isIndexRegExp.test(cutUrlParams(req.url ?? ''))) {
|
|
96
|
-
const end = res.end;
|
|
97
|
-
const buffers = [];
|
|
98
|
-
res.write = function (body) {
|
|
99
|
-
buffers.push(body);
|
|
100
|
-
return true;
|
|
101
|
-
};
|
|
102
|
-
res.end = function (chunk, encoding, cb) {
|
|
103
|
-
if (typeof chunk === 'string') {
|
|
104
|
-
buffers.push(Buffer.from(chunk));
|
|
105
|
-
}
|
|
106
|
-
end.call(this, Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(Buffer.concat(buffers), miHudLess))), encoding, cb);
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
next();
|
|
110
|
-
});
|
|
63
|
+
server.middlewares.use(initLoadPPData(isIndexRegExp, mi, options));
|
|
64
|
+
server.middlewares.use(initRewriteResponse((url) => {
|
|
65
|
+
return isIndexRegExp.test(cutUrlParams(url));
|
|
66
|
+
}, (response, req) => {
|
|
67
|
+
return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
|
|
68
|
+
}));
|
|
111
69
|
const distService = new DistService(templateName);
|
|
112
70
|
const eventHandler = new ClientService(server, { distService, miAPI: mi });
|
|
113
71
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metricinsights/pp-dev",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"description": "Portal Page dev build tool",
|
|
6
6
|
"bin": {
|
|
7
7
|
"pp-dev": "bin/pp-dev.js"
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
},
|
|
31
31
|
"author": "Serhii Shpak",
|
|
32
32
|
"license": "ISC",
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"next": "^13.5.4"
|
|
35
|
+
},
|
|
33
36
|
"dependencies": {
|
|
34
37
|
"axios": "^1.4.0",
|
|
35
38
|
"cac": "^6.7.14",
|
|
@@ -46,14 +49,15 @@
|
|
|
46
49
|
"source-map-support": "^0.5.21",
|
|
47
50
|
"typescript": "^5.0.4",
|
|
48
51
|
"vite": "^4.3.4",
|
|
49
|
-
"vite-plugin-zip-pack": "^1.0.5"
|
|
52
|
+
"vite-plugin-zip-pack": "^1.0.5",
|
|
53
|
+
"winston": "^3.11.0"
|
|
50
54
|
},
|
|
51
55
|
"devDependencies": {
|
|
52
56
|
"@rollup/plugin-node-resolve": "^15.0.2",
|
|
53
57
|
"@rollup/plugin-typescript": "^11.1.1",
|
|
54
58
|
"@rollup/plugin-url": "^8.0.1",
|
|
55
59
|
"@types/ejs": "^3.1.2",
|
|
56
|
-
"@types/express": "^4.17.
|
|
60
|
+
"@types/express": "^4.17.18",
|
|
57
61
|
"@types/jsdom": "^21.1.1",
|
|
58
62
|
"@types/memory-cache": "^0.2.3",
|
|
59
63
|
"prettier": "^2.8.8",
|