@metricinsights/pp-dev 0.4.0 → 0.6.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 +113 -4
- package/dist/cjs/cli.js +649 -40
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/{index-0adc09ce.js → index-09809c31.js} +39 -30
- package/dist/cjs/index-09809c31.js.map +1 -0
- package/dist/cjs/index.js +8 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +13 -1
- package/dist/cjs/{plugin-ab0651c4.js → plugin-2105b1ac.js} +242 -30
- package/dist/cjs/plugin-2105b1ac.js.map +1 -0
- package/dist/cjs/plugin.js +7 -2
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/esm/cli.js +635 -29
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/{index-1a1d27e5.js → index-bc9325e9.js} +38 -28
- package/dist/esm/index-bc9325e9.js.map +1 -0
- package/dist/esm/index.js +8 -8
- package/dist/esm/package.json +13 -1
- package/dist/esm/{plugin-7db34718.js → plugin-63f01789.js} +239 -30
- package/dist/esm/plugin-63f01789.js.map +1 -0
- package/dist/esm/plugin.js +3 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/types/plugin.d.ts +67 -2
- package/package.json +13 -1
- package/dist/cjs/index-0adc09ce.js.map +0 -1
- package/dist/cjs/plugin-ab0651c4.js.map +0 -1
- package/dist/esm/index-1a1d27e5.js.map +0 -1
- package/dist/esm/plugin-7db34718.js.map +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createProxyMiddleware, responseInterceptor } from 'http-proxy-middleware';
|
|
2
2
|
import { fileURLToPath, URL as URL$1 } from 'url';
|
|
3
|
+
import { createLogger as createLogger$1 } from 'vite';
|
|
4
|
+
import { createColors } from 'picocolors';
|
|
3
5
|
import axios from 'axios';
|
|
4
6
|
import { JSDOM } from 'jsdom';
|
|
5
7
|
import { Agent } from 'https';
|
|
@@ -35,6 +37,26 @@ function cutUrlParams(url) {
|
|
|
35
37
|
return urlParts[0];
|
|
36
38
|
}
|
|
37
39
|
|
|
40
|
+
// import pino from 'pino';
|
|
41
|
+
// import { PrettyOptions } from 'pino-pretty';
|
|
42
|
+
const storage = new Map();
|
|
43
|
+
const DEFAULT_LOGGER_KEY = 'default';
|
|
44
|
+
const createLogger = (level = 'info', name = DEFAULT_LOGGER_KEY) => {
|
|
45
|
+
if (storage.has(name)) {
|
|
46
|
+
return storage.get(name);
|
|
47
|
+
}
|
|
48
|
+
if (name === DEFAULT_LOGGER_KEY) {
|
|
49
|
+
const logger = createLogger$1(level);
|
|
50
|
+
storage.set(name, logger);
|
|
51
|
+
return logger;
|
|
52
|
+
}
|
|
53
|
+
const logger = createLogger$1(level);
|
|
54
|
+
storage.set(name, logger);
|
|
55
|
+
return logger;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const colors = createColors();
|
|
59
|
+
|
|
38
60
|
const hostOriginRegExp = /^(https?:\/\/)([^/]+)(\/.*)?$/i;
|
|
39
61
|
const PROXY_HEADER = 'X-PP-Proxy';
|
|
40
62
|
function initProxy(opts) {
|
|
@@ -45,6 +67,7 @@ function initProxy(opts) {
|
|
|
45
67
|
const host = baseURL.replace(hostOriginRegExp, '$2');
|
|
46
68
|
const origin = baseURL.replace(hostOriginRegExp, '$1$2');
|
|
47
69
|
const fileType = import('file-type');
|
|
70
|
+
const logger = createLogger();
|
|
48
71
|
return createProxyMiddleware((pathname) => {
|
|
49
72
|
if ((opts.proxyIgnore || []).some((value) => {
|
|
50
73
|
if (typeof value === 'string') {
|
|
@@ -84,7 +107,7 @@ function initProxy(opts) {
|
|
|
84
107
|
onProxyReq(proxyReq, req, res) {
|
|
85
108
|
const host = req.headers.host;
|
|
86
109
|
const referer = proxyReq.getHeader('referer');
|
|
87
|
-
|
|
110
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${req.url} -> ${colors.green(proxyReq.method)} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
|
|
88
111
|
if (host && referer && typeof referer === 'string') {
|
|
89
112
|
proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
|
|
90
113
|
}
|
|
@@ -127,7 +150,7 @@ function initProxy(opts) {
|
|
|
127
150
|
}),
|
|
128
151
|
onError(err, req, res) {
|
|
129
152
|
const errorMessage = `Proxy error: "${err.message}" when trying to "${req.method} ${req.url}"\n\n${err.stack}`;
|
|
130
|
-
|
|
153
|
+
logger.error(errorMessage);
|
|
131
154
|
res.writeHead(500, {
|
|
132
155
|
'Content-Type': 'text/plain',
|
|
133
156
|
});
|
|
@@ -141,6 +164,15 @@ class BaseAPI {
|
|
|
141
164
|
constructor(axios) {
|
|
142
165
|
this.axios = axios;
|
|
143
166
|
}
|
|
167
|
+
async checkAuth(headers) {
|
|
168
|
+
return this.axios
|
|
169
|
+
.get('/data/page/index/auth/info', {
|
|
170
|
+
headers: Object.assign({}, headers, { accept: 'text/html' }),
|
|
171
|
+
maxRedirects: 0,
|
|
172
|
+
})
|
|
173
|
+
.then(() => true)
|
|
174
|
+
.catch(() => false);
|
|
175
|
+
}
|
|
144
176
|
}
|
|
145
177
|
|
|
146
178
|
class AssetsAPI extends BaseAPI {
|
|
@@ -257,6 +289,7 @@ class PageAPI extends BaseAPI {
|
|
|
257
289
|
}
|
|
258
290
|
}
|
|
259
291
|
|
|
292
|
+
const TEMPLATE_PAGE_NAME = '[DEV PAGE. DO NOT DELETE]';
|
|
260
293
|
class MiAPI {
|
|
261
294
|
#headers;
|
|
262
295
|
#axios;
|
|
@@ -269,14 +302,13 @@ class MiAPI {
|
|
|
269
302
|
templateLess;
|
|
270
303
|
assetsApi;
|
|
271
304
|
pageApi;
|
|
305
|
+
logger;
|
|
272
306
|
constructor(baseURL, opts) {
|
|
273
307
|
const { headers = {}, portalPageId, templateLess = true, disableSSLValidation = false } = opts || {};
|
|
274
308
|
this.#headers = headers;
|
|
275
309
|
this.#pageVars = [];
|
|
276
310
|
this.#pageTitle = '';
|
|
277
|
-
this.#templateLoaded =
|
|
278
|
-
this.#templateLoadedResolve = resolve;
|
|
279
|
-
});
|
|
311
|
+
this.#templateLoaded = Promise.resolve(false);
|
|
280
312
|
if (disableSSLValidation) {
|
|
281
313
|
axios.defaults.httpsAgent = new Agent({ rejectUnauthorized: false });
|
|
282
314
|
}
|
|
@@ -288,12 +320,13 @@ class MiAPI {
|
|
|
288
320
|
this.templateLess = templateLess;
|
|
289
321
|
this.assetsApi = new AssetsAPI(this.#axios);
|
|
290
322
|
this.pageApi = new PageAPI(this.#axios);
|
|
323
|
+
this.logger = createLogger();
|
|
291
324
|
}
|
|
292
325
|
async isTemplateLoaded() {
|
|
293
326
|
return this.#templateLoaded;
|
|
294
327
|
}
|
|
295
328
|
#clearHeaders(headers) {
|
|
296
|
-
const obj = Object.assign({}, headers, { host: undefined });
|
|
329
|
+
const obj = Object.assign({}, headers, { host: undefined, referer: undefined });
|
|
297
330
|
Object.keys(obj).forEach((key) => obj[key] === undefined && delete obj[key]);
|
|
298
331
|
this.#headers = obj;
|
|
299
332
|
return obj;
|
|
@@ -306,21 +339,53 @@ class MiAPI {
|
|
|
306
339
|
* @param headers
|
|
307
340
|
*/
|
|
308
341
|
async getPageTemplate(headers) {
|
|
342
|
+
if (!(await this.#templateLoaded) && !this.#pageTemplate) {
|
|
343
|
+
this.#templateLoaded = new Promise((resolve) => {
|
|
344
|
+
this.#templateLoadedResolve = resolve;
|
|
345
|
+
});
|
|
346
|
+
}
|
|
309
347
|
if (this.#pageTemplate) {
|
|
310
348
|
return Promise.resolve(this.#pageTemplate);
|
|
311
349
|
}
|
|
312
350
|
if (typeof this.templateLess === 'undefined') {
|
|
313
351
|
this.templateLess = false;
|
|
314
352
|
}
|
|
315
|
-
const pageList = await this.pageApi
|
|
316
|
-
|
|
353
|
+
const pageList = await this.pageApi
|
|
354
|
+
.getAll(this.#clearHeaders(headers))
|
|
355
|
+
.then((response) => {
|
|
356
|
+
this.logger.info(colors.green('Page list fetched'));
|
|
357
|
+
return response;
|
|
358
|
+
})
|
|
359
|
+
.catch(async (e) => {
|
|
360
|
+
this.#templateLoadedResolve(false);
|
|
361
|
+
if (await this.pageApi.checkAuth(this.#clearHeaders(headers))) {
|
|
362
|
+
this.logger.error(colors.red(`Error fetching page list: ${e.message}\n${e.stack}`));
|
|
363
|
+
throw new Error('Current user does not have access to page list');
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
throw e;
|
|
367
|
+
}
|
|
368
|
+
});
|
|
369
|
+
let page = pageList.find((p) => p.name === TEMPLATE_PAGE_NAME);
|
|
317
370
|
if (!page) {
|
|
318
|
-
|
|
371
|
+
this.logger.warn(colors.yellow('Creating dev page template...'));
|
|
372
|
+
page = await this.pageApi
|
|
373
|
+
.create({
|
|
319
374
|
enabled: 'Y',
|
|
320
|
-
name:
|
|
375
|
+
name: TEMPLATE_PAGE_NAME,
|
|
321
376
|
internal_name: 'dev-page-template',
|
|
322
377
|
visible_in_homepage: 'Y',
|
|
323
|
-
}, this.#clearHeaders(headers))
|
|
378
|
+
}, this.#clearHeaders(headers))
|
|
379
|
+
.then((response) => {
|
|
380
|
+
this.logger.info(colors.green('Dev page created'));
|
|
381
|
+
return response;
|
|
382
|
+
})
|
|
383
|
+
.catch((e) => {
|
|
384
|
+
this.logger.error(colors.red(`Error creating dev page: ${e.message}`));
|
|
385
|
+
this.#templateLoadedResolve(false);
|
|
386
|
+
throw new Error(`Error when creating dev page.
|
|
387
|
+
That can be caused by missing permissions or page with name "${TEMPLATE_PAGE_NAME}" already exists`);
|
|
388
|
+
});
|
|
324
389
|
}
|
|
325
390
|
return await this.pageApi
|
|
326
391
|
.getPageContent(page.internal_name, this.#clearHeaders(headers))
|
|
@@ -328,8 +393,15 @@ class MiAPI {
|
|
|
328
393
|
this.#pageTemplate = response;
|
|
329
394
|
return response;
|
|
330
395
|
})
|
|
331
|
-
.
|
|
396
|
+
.then((response) => {
|
|
332
397
|
this.#templateLoadedResolve(true);
|
|
398
|
+
this.logger.info(colors.green('Page template fetched'));
|
|
399
|
+
return response;
|
|
400
|
+
})
|
|
401
|
+
.catch((e) => {
|
|
402
|
+
this.#templateLoadedResolve(false);
|
|
403
|
+
this.logger.error(colors.red(`Error fetching page template: ${e.message}`));
|
|
404
|
+
throw new Error('Error fetching page template');
|
|
333
405
|
});
|
|
334
406
|
}
|
|
335
407
|
/**
|
|
@@ -359,9 +431,13 @@ class MiAPI {
|
|
|
359
431
|
return [];
|
|
360
432
|
})
|
|
361
433
|
.catch((reason) => {
|
|
434
|
+
this.logger.error(colors.red(`Error fetching page variables: ${reason.message}`));
|
|
362
435
|
if (reason.response?.status === 404) {
|
|
363
436
|
throw new Error(`Portal Page with id "${pageId}" not found on instance ${this.#axios.getUri()}`);
|
|
364
437
|
}
|
|
438
|
+
if (reason.response?.status === 401) {
|
|
439
|
+
throw new Error(`Current user does not have access to page with id "${pageId}" on instance ${this.#axios.getUri()}`);
|
|
440
|
+
}
|
|
365
441
|
throw reason;
|
|
366
442
|
});
|
|
367
443
|
}
|
|
@@ -435,12 +511,14 @@ class ClientService {
|
|
|
435
511
|
server;
|
|
436
512
|
opts;
|
|
437
513
|
eventMap;
|
|
514
|
+
logger;
|
|
438
515
|
constructor(server, opts) {
|
|
439
516
|
this.server = server;
|
|
440
517
|
this.opts = opts || {};
|
|
441
518
|
this.eventMap = new Map();
|
|
442
519
|
this.eventMap.set('info-data:request', this.onInfoDataRequest.bind(this));
|
|
443
520
|
this.eventMap.set('template:sync', this.onTemplateSync.bind(this));
|
|
521
|
+
this.logger = createLogger();
|
|
444
522
|
this.init();
|
|
445
523
|
}
|
|
446
524
|
init() {
|
|
@@ -473,18 +551,22 @@ class ClientService {
|
|
|
473
551
|
currentHash,
|
|
474
552
|
backupFilename,
|
|
475
553
|
});
|
|
554
|
+
this.logger.info(colors.green('Template synced'));
|
|
476
555
|
}
|
|
477
556
|
else {
|
|
478
557
|
this.server.ws.send('template:sync:response', { error: 'Failed to update assets' });
|
|
558
|
+
this.logger.error(colors.red('Failed to update assets'));
|
|
479
559
|
}
|
|
480
560
|
}
|
|
481
561
|
else {
|
|
482
562
|
this.server.ws.send('template:sync:response', { error: 'Failed to build new assets' });
|
|
563
|
+
this.logger.error(colors.red('Failed to build new assets'));
|
|
483
564
|
return;
|
|
484
565
|
}
|
|
485
566
|
}
|
|
486
567
|
else {
|
|
487
568
|
this.server.ws.send('template:sync:response', { error: 'Dist service or MiAPI is not defined' });
|
|
569
|
+
this.logger.error(colors.red('Dist service or MiAPI is not defined'));
|
|
488
570
|
return;
|
|
489
571
|
}
|
|
490
572
|
}
|
|
@@ -494,13 +576,14 @@ const cache = new memoryCache.Cache();
|
|
|
494
576
|
const testCacheUrlRegExp = /\.[a-z0-9]+$/i;
|
|
495
577
|
function initProxyCache(opts) {
|
|
496
578
|
const { devServer, ttl = 10 * 60 * 1000 } = opts;
|
|
579
|
+
const logger = createLogger();
|
|
497
580
|
devServer.cache = cache;
|
|
498
581
|
return (req, res, next) => {
|
|
499
582
|
const url = req.originalUrl || req.url || '';
|
|
500
583
|
if (testCacheUrlRegExp.test(url.split('?')[0] || '')) {
|
|
501
584
|
const cacheItem = cache.get(url);
|
|
502
|
-
if (cacheItem
|
|
503
|
-
|
|
585
|
+
if (cacheItem) {
|
|
586
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${url} -> ${colors.blue('Cache')} ${url}`);
|
|
504
587
|
for (const [header, value] of Object.entries(cacheItem.headers)) {
|
|
505
588
|
res.setHeader(header, value);
|
|
506
589
|
}
|
|
@@ -532,7 +615,7 @@ function initProxyCache(opts) {
|
|
|
532
615
|
buffer = Buffer.concat([buffer, chunk]);
|
|
533
616
|
}
|
|
534
617
|
if (res.hasHeader(PROXY_HEADER)) {
|
|
535
|
-
|
|
618
|
+
logger.info(`${colors.blue('[Cached]')} ${url}`);
|
|
536
619
|
cache.put(url, { headers: res.getHeaders(), content: buffer }, ttl);
|
|
537
620
|
}
|
|
538
621
|
end.call(this, buffer, encoding, cb);
|
|
@@ -556,13 +639,19 @@ class DistService {
|
|
|
556
639
|
dateFormat;
|
|
557
640
|
pageName;
|
|
558
641
|
currentMeta = null;
|
|
642
|
+
distZipFolder;
|
|
643
|
+
distZipFilename;
|
|
644
|
+
logger;
|
|
559
645
|
constructor(pageName, syncOptions) {
|
|
560
|
-
|
|
646
|
+
this.pageName = pageName;
|
|
647
|
+
const { backupFolder = path.resolve(process.cwd(), 'backups'), distZipFolder = path.resolve(process.cwd(), 'dist-zip'), distZipFilename = `${this.pageName}.zip`, backupNameTemplate = `{${TEMPLATE_PART_PAGE_NAME}}-{${TEMPLATE_PART_DATE}}.zip`, dateFormat = (date) => date.toISOString().replace(/:/g, '-').replace(/\..*$/, ''), } = syncOptions || {};
|
|
561
648
|
this.backupFolder = backupFolder;
|
|
562
649
|
this.backupNameTemplate = backupNameTemplate;
|
|
563
650
|
this.dateFormat = dateFormat;
|
|
564
|
-
this.
|
|
651
|
+
this.distZipFolder = distZipFolder;
|
|
652
|
+
this.distZipFilename = distZipFilename;
|
|
565
653
|
this.syncMeta();
|
|
654
|
+
this.logger = createLogger();
|
|
566
655
|
}
|
|
567
656
|
async checkMeta() {
|
|
568
657
|
try {
|
|
@@ -637,13 +726,15 @@ class DistService {
|
|
|
637
726
|
this.currentMeta.lastBackupHash = backupFileHash;
|
|
638
727
|
this.currentMeta.lastBackupDate = backupDate.toISOString();
|
|
639
728
|
await this.syncMeta();
|
|
640
|
-
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile)
|
|
729
|
+
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile).finally(() => {
|
|
730
|
+
this.logger.info(`Backup saved to ${filename}`);
|
|
731
|
+
});
|
|
641
732
|
}
|
|
642
733
|
async buildNewAssets() {
|
|
643
|
-
const buildCommand = new Promise(
|
|
734
|
+
const buildCommand = new Promise((resolve, reject) => {
|
|
644
735
|
let data = '';
|
|
645
736
|
// Colorized log output with message about build start
|
|
646
|
-
|
|
737
|
+
this.logger.info(colors.cyan('[DistService] Build started'));
|
|
647
738
|
const proc = child_process.spawn('node', [path.resolve(pluginPath, './bin/pp-dev.js'), 'build'], {
|
|
648
739
|
cwd: process.cwd(),
|
|
649
740
|
env: process.env,
|
|
@@ -666,9 +757,9 @@ class DistService {
|
|
|
666
757
|
try {
|
|
667
758
|
await buildCommand.finally(() => {
|
|
668
759
|
// Colorized log output with message about build end
|
|
669
|
-
|
|
760
|
+
this.logger.info(colors.cyan('[DistService] Build finished'));
|
|
670
761
|
});
|
|
671
|
-
const assetFile = path.resolve(process.cwd(),
|
|
762
|
+
const assetFile = path.resolve(process.cwd(), this.distZipFolder, this.distZipFilename);
|
|
672
763
|
if (!(await promises.stat(assetFile))) {
|
|
673
764
|
throw new Error(`File ${assetFile} not found`);
|
|
674
765
|
}
|
|
@@ -719,21 +810,24 @@ function encodeContent(content, contentEncoding) {
|
|
|
719
810
|
function initRewriteResponse(predicate, rewrite) {
|
|
720
811
|
return (req, res, next) => {
|
|
721
812
|
if (predicate(req.url ?? '', req, res)) {
|
|
813
|
+
const logger = createLogger();
|
|
814
|
+
logger.info(`Rewrite response for ${req.url}`);
|
|
722
815
|
const end = res.end;
|
|
723
816
|
const buffers = [];
|
|
724
817
|
res.write = function (body) {
|
|
725
818
|
buffers.push(body);
|
|
726
819
|
return true;
|
|
727
820
|
};
|
|
728
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
729
|
-
// @ts-ignore
|
|
730
821
|
res.end = function (chunk, encoding, cb) {
|
|
731
822
|
if (typeof chunk === 'string') {
|
|
732
823
|
buffers.push(Buffer.from(chunk));
|
|
733
824
|
}
|
|
734
825
|
const contentEncoding = res.getHeader('content-encoding');
|
|
735
826
|
const content = decodeContent(Buffer.from(Buffer.concat(buffers)), contentEncoding);
|
|
736
|
-
|
|
827
|
+
const bufferEncoding = typeof encoding !== 'function' && encoding ? encoding : 'utf-8';
|
|
828
|
+
const endCallback = typeof encoding === 'function' ? encoding : cb;
|
|
829
|
+
end.call(this, encodeContent(rewrite(content, req, res), contentEncoding), bufferEncoding, endCallback);
|
|
830
|
+
return this;
|
|
737
831
|
};
|
|
738
832
|
}
|
|
739
833
|
next();
|
|
@@ -744,6 +838,7 @@ function initPPRedirect(base, templateName) {
|
|
|
744
838
|
base = base.startsWith('/') ? base : `/${base}`;
|
|
745
839
|
base = base.endsWith('/') ? base : `${base}/`;
|
|
746
840
|
const baseWithoutTrailingSlash = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
841
|
+
const logger = createLogger();
|
|
747
842
|
return (req, res, next) => {
|
|
748
843
|
const parsedUrl = new URL$1(req.url ?? '', 'http://localhost');
|
|
749
844
|
const { pathname, search } = parsedUrl;
|
|
@@ -754,6 +849,7 @@ function initPPRedirect(base, templateName) {
|
|
|
754
849
|
// Redirect from `/` and `/pt/${templateName}` and `${base}` (without a training slash) to portal page address
|
|
755
850
|
if (findPaths.includes(pathname)) {
|
|
756
851
|
const redirectUrl = `${base}${search}`;
|
|
852
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
757
853
|
return redirect(res, redirectUrl, 302);
|
|
758
854
|
}
|
|
759
855
|
next();
|
|
@@ -762,11 +858,13 @@ function initPPRedirect(base, templateName) {
|
|
|
762
858
|
|
|
763
859
|
function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
764
860
|
const { templateLess = false, miHudLess = false, portalPageId } = opts;
|
|
861
|
+
const logger = createLogger();
|
|
765
862
|
return (req, res, next) => {
|
|
766
863
|
const isNeedTemplateLoad = !(templateLess && miHudLess);
|
|
767
864
|
const isApplyRequest = applyUrlRegExp.test(cutUrlParams(req.url ?? ''));
|
|
768
865
|
if (isNeedTemplateLoad && isApplyRequest) {
|
|
769
866
|
const headers = (req.headers ?? {});
|
|
867
|
+
logger.info(colors.green(`Start loading page data`));
|
|
770
868
|
const loadPageData = !templateLess && typeof portalPageId !== 'undefined'
|
|
771
869
|
? mi.getPageVariables(portalPageId, headers)
|
|
772
870
|
: mi.getPageTemplate(headers);
|
|
@@ -776,8 +874,12 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
776
874
|
})
|
|
777
875
|
.catch((reason) => {
|
|
778
876
|
if (reason.response) {
|
|
779
|
-
|
|
877
|
+
logger.info(colors.red('Page data loading failed. Not authorized'));
|
|
878
|
+
const redirectUrl = `/home?proxyRedirect=${encodeURIComponent('/')}`;
|
|
879
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
880
|
+
return redirect(res, redirectUrl, 302);
|
|
780
881
|
}
|
|
882
|
+
logger.info(colors.red(`Page data loading failed. Error: ${reason.message}`));
|
|
781
883
|
next(reason);
|
|
782
884
|
});
|
|
783
885
|
}
|
|
@@ -787,8 +889,111 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
787
889
|
};
|
|
788
890
|
}
|
|
789
891
|
|
|
892
|
+
function isVitePPDevOptions(options) {
|
|
893
|
+
return (typeof options === 'object' &&
|
|
894
|
+
typeof options.templateName === 'string' &&
|
|
895
|
+
(typeof options.backendBaseURL === 'string' || options.backendBaseURL === undefined) &&
|
|
896
|
+
(typeof options.portalPageId === 'number' || options.portalPageId === undefined) &&
|
|
897
|
+
(typeof options.templateLess === 'boolean' || options.templateLess === undefined) &&
|
|
898
|
+
(typeof options.miHudLess === 'boolean' || options.miHudLess === undefined) &&
|
|
899
|
+
(typeof options.enableProxyCache === 'boolean' || options.enableProxyCache === undefined) &&
|
|
900
|
+
(typeof options.proxyCacheTTL === 'number' || options.proxyCacheTTL === undefined) &&
|
|
901
|
+
(typeof options.disableSSLValidation === 'boolean' || options.disableSSLValidation === undefined) &&
|
|
902
|
+
(typeof options.imageOptimizer === 'boolean' ||
|
|
903
|
+
typeof options.imageOptimizer === 'object' ||
|
|
904
|
+
options.imageOptimizer === undefined) &&
|
|
905
|
+
(typeof options.outDir === 'string' || options.outDir === undefined) &&
|
|
906
|
+
(typeof options.distZip === 'boolean' || typeof options.distZip === 'object' || options.distZip === undefined) &&
|
|
907
|
+
(typeof options.syncBackupsDir === 'string' || options.syncBackupsDir === undefined));
|
|
908
|
+
}
|
|
909
|
+
function throwConfigError(config) {
|
|
910
|
+
if (typeof config !== 'object') {
|
|
911
|
+
throw new Error('VitePPDevOptions must be an object');
|
|
912
|
+
}
|
|
913
|
+
if (typeof config.templateName !== 'string') {
|
|
914
|
+
throw new Error('VitePPDevOptions.templateName must be a string');
|
|
915
|
+
}
|
|
916
|
+
if (config.backendBaseURL !== undefined && typeof config.backendBaseURL !== 'string') {
|
|
917
|
+
throw new Error('VitePPDevOptions.backendBaseURL must be a string');
|
|
918
|
+
}
|
|
919
|
+
if (config.portalPageId !== undefined && typeof config.portalPageId !== 'number') {
|
|
920
|
+
throw new Error('VitePPDevOptions.portalPageId must be a number');
|
|
921
|
+
}
|
|
922
|
+
if (config.templateLess !== undefined && typeof config.templateLess !== 'boolean') {
|
|
923
|
+
throw new Error('VitePPDevOptions.templateLess must be a boolean');
|
|
924
|
+
}
|
|
925
|
+
if (config.miHudLess !== undefined && typeof config.miHudLess !== 'boolean') {
|
|
926
|
+
throw new Error('VitePPDevOptions.miHudLess must be a boolean');
|
|
927
|
+
}
|
|
928
|
+
if (config.enableProxyCache !== undefined && typeof config.enableProxyCache !== 'boolean') {
|
|
929
|
+
throw new Error('VitePPDevOptions.enableProxyCache must be a boolean');
|
|
930
|
+
}
|
|
931
|
+
if (config.proxyCacheTTL !== undefined && typeof config.proxyCacheTTL !== 'number') {
|
|
932
|
+
throw new Error('VitePPDevOptions.proxyCacheTTL must be a number');
|
|
933
|
+
}
|
|
934
|
+
if (config.disableSSLValidation !== undefined && typeof config.disableSSLValidation !== 'boolean') {
|
|
935
|
+
throw new Error('VitePPDevOptions.disableSSLValidation must be a boolean');
|
|
936
|
+
}
|
|
937
|
+
if (config.imageOptimizer !== undefined &&
|
|
938
|
+
typeof config.imageOptimizer !== 'boolean' &&
|
|
939
|
+
typeof config.imageOptimizer !== 'object') {
|
|
940
|
+
throw new Error('VitePPDevOptions.imageOptimizer must be a boolean or an object');
|
|
941
|
+
}
|
|
942
|
+
if (config.outDir !== undefined && typeof config.outDir !== 'string') {
|
|
943
|
+
throw new Error('VitePPDevOptions.outDir must be a string');
|
|
944
|
+
}
|
|
945
|
+
if (config.distZip !== undefined && typeof config.distZip !== 'boolean' && typeof config.distZip !== 'object') {
|
|
946
|
+
throw new Error('VitePPDevOptions.distZip must be a boolean or an object');
|
|
947
|
+
}
|
|
948
|
+
if (config.syncBackupsDir !== undefined && typeof config.syncBackupsDir !== 'string') {
|
|
949
|
+
throw new Error('VitePPDevOptions.syncBackupsDir must be a string');
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
function normalizeVitePPDevConfig(config) {
|
|
953
|
+
!isVitePPDevOptions(config) && throwConfigError(config);
|
|
954
|
+
const { enableProxyCache = true, proxyCacheTTL = 10 * 60 * 1000, disableSSLValidation = false, imageOptimizer = true, miHudLess = false, templateLess = false, outDir = 'dist', distZip = true, syncBackupsDir = 'backups', } = config || {};
|
|
955
|
+
let distZipConfig = distZip;
|
|
956
|
+
if (distZipConfig === true) {
|
|
957
|
+
distZipConfig = {
|
|
958
|
+
outFileName: `${config.templateName}.zip`,
|
|
959
|
+
outDir: 'dist-zip',
|
|
960
|
+
};
|
|
961
|
+
}
|
|
962
|
+
else if (typeof distZip === 'object') {
|
|
963
|
+
distZipConfig = {
|
|
964
|
+
outFileName: typeof distZip.outFileName === 'string'
|
|
965
|
+
? distZip.outFileName.replace('[templateName]', config.templateName)
|
|
966
|
+
: `${config.templateName}.zip`,
|
|
967
|
+
outDir: distZip.outDir ?? 'dist-zip',
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
else {
|
|
971
|
+
distZipConfig = false;
|
|
972
|
+
}
|
|
973
|
+
let imageOptimizerConfig = imageOptimizer;
|
|
974
|
+
if (typeof imageOptimizer === 'boolean') {
|
|
975
|
+
if (imageOptimizerConfig === true) {
|
|
976
|
+
imageOptimizerConfig = {};
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
else if (typeof imageOptimizer !== 'object') {
|
|
980
|
+
imageOptimizerConfig = false;
|
|
981
|
+
}
|
|
982
|
+
return {
|
|
983
|
+
enableProxyCache,
|
|
984
|
+
proxyCacheTTL,
|
|
985
|
+
disableSSLValidation,
|
|
986
|
+
imageOptimizer: imageOptimizerConfig,
|
|
987
|
+
templateLess,
|
|
988
|
+
miHudLess,
|
|
989
|
+
outDir,
|
|
990
|
+
distZip: distZipConfig,
|
|
991
|
+
syncBackupsDir,
|
|
992
|
+
...config,
|
|
993
|
+
};
|
|
994
|
+
}
|
|
790
995
|
function vitePPDev(options) {
|
|
791
|
-
const { templateName, templateLess
|
|
996
|
+
const { templateName, templateLess, backendBaseURL, miHudLess, portalPageId, enableProxyCache, proxyCacheTTL, disableSSLValidation, distZip, syncBackupsDir, } = options || {};
|
|
792
997
|
// Avoid server caching for index.html file when first loading
|
|
793
998
|
let isFirstRequest = true;
|
|
794
999
|
return {
|
|
@@ -850,12 +1055,16 @@ function vitePPDev(options) {
|
|
|
850
1055
|
}, (response, req) => {
|
|
851
1056
|
return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
|
|
852
1057
|
}));
|
|
853
|
-
const distService =
|
|
1058
|
+
const distService = distZip !== false
|
|
1059
|
+
? new DistService(templateName, Object.assign({ backupDir: syncBackupsDir }, typeof distZip === 'object'
|
|
1060
|
+
? { distZipFolder: distZip.outDir, distZipFilename: distZip.outFileName }
|
|
1061
|
+
: undefined))
|
|
1062
|
+
: undefined;
|
|
854
1063
|
new ClientService(server, { distService, miAPI: mi });
|
|
855
1064
|
}
|
|
856
1065
|
},
|
|
857
1066
|
};
|
|
858
1067
|
}
|
|
859
1068
|
|
|
860
|
-
export { MiAPI as M,
|
|
861
|
-
//# sourceMappingURL=plugin-
|
|
1069
|
+
export { MiAPI as M, colors as a, initProxyCache as b, createLogger as c, initProxy as d, initLoadPPData as e, initRewriteResponse as f, cutUrlParams as g, initPPRedirect as i, normalizeVitePPDevConfig as n, urlReplacer as u, vitePPDev as v };
|
|
1070
|
+
//# sourceMappingURL=plugin-63f01789.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-63f01789.js","sources":["url.helper.ts","logger.ts","color.helper.ts","proxy-pass.middleware.ts","base.ts","assets.ts","page.ts","pp.middleware.ts","client.service.ts","proxy-cache.middleware.ts","dist.service.ts","content-encoding.helper.ts","rewrite-response.middleware.ts","pp-redirect.middleware.ts","load-pp-data.middleware.ts","plugin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["cL","fs","URL","proxyPassMiddleware"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export { v as default } from './plugin-
|
|
1
|
+
export { v as default, n as normalizeVitePPDevConfig } from './plugin-63f01789.js';
|
|
2
2
|
import 'http-proxy-middleware';
|
|
3
3
|
import 'url';
|
|
4
|
+
import 'vite';
|
|
5
|
+
import 'picocolors';
|
|
4
6
|
import 'axios';
|
|
5
7
|
import 'jsdom';
|
|
6
8
|
import 'https';
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { InlineConfig } from 'vite';
|
|
2
|
-
import { VitePPDevOptions } from './plugin.js';
|
|
2
|
+
import { VitePPDevOptions, NormalizedVitePPDevOptions } from './plugin.js';
|
|
3
3
|
import { NextConfig } from 'next';
|
|
4
|
+
import 'vite-plugin-image-optimizer';
|
|
4
5
|
|
|
5
6
|
type PPDevConfig = Omit<VitePPDevOptions, 'templateName'>;
|
|
6
7
|
type PPWatchConfig = {
|
|
7
8
|
baseURL: string;
|
|
8
9
|
portalPageId: number;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
declare module 'vite' {
|
|
13
|
+
interface UserConfig {
|
|
14
|
+
ppDevConfig?: NormalizedVitePPDevOptions;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
11
17
|
declare function getViteConfig(): Promise<InlineConfig>;
|
|
12
18
|
declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfig?: {
|
|
13
19
|
defaultConfig?: any;
|
|
@@ -15,4 +21,4 @@ declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfi
|
|
|
15
21
|
defaultConfig?: any;
|
|
16
22
|
}) => Promise<NextConfig>;
|
|
17
23
|
|
|
18
|
-
export { type PPDevConfig, type PPWatchConfig,
|
|
24
|
+
export { type PPDevConfig, type PPWatchConfig, getViteConfig, withPPDev };
|