@metricinsights/pp-dev 0.3.3 → 0.5.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 +60 -6
- package/dist/cjs/cli.js +596 -39
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/{index-ab672d81.js → index-44d9499e.js} +50 -33
- package/dist/cjs/index-44d9499e.js.map +1 -0
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/package.json +12 -1
- package/dist/cjs/{plugin-24dd0a43.js → plugin-34b9bc89.js} +250 -27
- package/dist/cjs/plugin-34b9bc89.js.map +1 -0
- package/dist/cjs/plugin.js +8 -2
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/esm/cli.js +582 -28
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/{index-d2c8ad2e.js → index-4361a6ba.js} +49 -31
- package/dist/esm/index-4361a6ba.js.map +1 -0
- package/dist/esm/index.js +9 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +12 -1
- package/dist/esm/{plugin-ecb1c54a.js → plugin-78cbd0b1.js} +247 -27
- package/dist/esm/plugin-78cbd0b1.js.map +1 -0
- package/dist/esm/plugin.js +4 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/types/plugin.d.ts +68 -2
- package/package.json +12 -1
- package/dist/cjs/index-ab672d81.js.map +0 -1
- package/dist/cjs/plugin-24dd0a43.js.map +0 -1
- package/dist/esm/index-d2c8ad2e.js.map +0 -1
- package/dist/esm/plugin-ecb1c54a.js.map +0 -1
|
@@ -1,7 +1,10 @@
|
|
|
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';
|
|
7
|
+
import { Agent } from 'https';
|
|
5
8
|
import * as memoryCache from 'memory-cache';
|
|
6
9
|
import * as path from 'path';
|
|
7
10
|
import { promises } from 'fs';
|
|
@@ -34,16 +37,37 @@ function cutUrlParams(url) {
|
|
|
34
37
|
return urlParts[0];
|
|
35
38
|
}
|
|
36
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
|
+
|
|
37
60
|
const hostOriginRegExp = /^(https?:\/\/)([^/]+)(\/.*)?$/i;
|
|
38
61
|
const PROXY_HEADER = 'X-PP-Proxy';
|
|
39
62
|
function initProxy(opts) {
|
|
40
|
-
const { rewritePath = /^\/(?!pt).*/i, baseURL = '', devServer } = opts;
|
|
63
|
+
const { rewritePath = /^\/(?!pt).*/i, baseURL = '', devServer, disableSSLValidation = false } = opts;
|
|
41
64
|
if (!baseURL) {
|
|
42
65
|
throw new Error('Base url is required');
|
|
43
66
|
}
|
|
44
67
|
const host = baseURL.replace(hostOriginRegExp, '$2');
|
|
45
68
|
const origin = baseURL.replace(hostOriginRegExp, '$1$2');
|
|
46
69
|
const fileType = import('file-type');
|
|
70
|
+
const logger = createLogger();
|
|
47
71
|
return createProxyMiddleware((pathname) => {
|
|
48
72
|
if ((opts.proxyIgnore || []).some((value) => {
|
|
49
73
|
if (typeof value === 'string') {
|
|
@@ -75,6 +99,7 @@ function initProxy(opts) {
|
|
|
75
99
|
changeOrigin: true,
|
|
76
100
|
autoRewrite: true,
|
|
77
101
|
logLevel: 'silent',
|
|
102
|
+
secure: !disableSSLValidation,
|
|
78
103
|
headers: {
|
|
79
104
|
host,
|
|
80
105
|
origin,
|
|
@@ -82,7 +107,7 @@ function initProxy(opts) {
|
|
|
82
107
|
onProxyReq(proxyReq, req, res) {
|
|
83
108
|
const host = req.headers.host;
|
|
84
109
|
const referer = proxyReq.getHeader('referer');
|
|
85
|
-
|
|
110
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${req.url} -> ${colors.green(proxyReq.method)} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
|
|
86
111
|
if (host && referer && typeof referer === 'string') {
|
|
87
112
|
proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
|
|
88
113
|
}
|
|
@@ -123,6 +148,14 @@ function initProxy(opts) {
|
|
|
123
148
|
return urlPathReplacer('/auth/saml/login', '/login', urlReplacer(host, reqHost, response));
|
|
124
149
|
}
|
|
125
150
|
}),
|
|
151
|
+
onError(err, req, res) {
|
|
152
|
+
const errorMessage = `Proxy error: "${err.message}" when trying to "${req.method} ${req.url}"\n\n${err.stack}`;
|
|
153
|
+
logger.error(errorMessage);
|
|
154
|
+
res.writeHead(500, {
|
|
155
|
+
'Content-Type': 'text/plain',
|
|
156
|
+
});
|
|
157
|
+
res.end(errorMessage);
|
|
158
|
+
},
|
|
126
159
|
});
|
|
127
160
|
}
|
|
128
161
|
|
|
@@ -131,6 +164,15 @@ class BaseAPI {
|
|
|
131
164
|
constructor(axios) {
|
|
132
165
|
this.axios = axios;
|
|
133
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
|
+
}
|
|
134
176
|
}
|
|
135
177
|
|
|
136
178
|
class AssetsAPI extends BaseAPI {
|
|
@@ -247,6 +289,7 @@ class PageAPI extends BaseAPI {
|
|
|
247
289
|
}
|
|
248
290
|
}
|
|
249
291
|
|
|
292
|
+
const TEMPLATE_PAGE_NAME = '[DEV PAGE. DO NOT DELETE]';
|
|
250
293
|
class MiAPI {
|
|
251
294
|
#headers;
|
|
252
295
|
#axios;
|
|
@@ -259,25 +302,31 @@ class MiAPI {
|
|
|
259
302
|
templateLess;
|
|
260
303
|
assetsApi;
|
|
261
304
|
pageApi;
|
|
305
|
+
logger;
|
|
262
306
|
constructor(baseURL, opts) {
|
|
263
|
-
const { headers = {}, portalPageId, templateLess = true } = opts || {};
|
|
307
|
+
const { headers = {}, portalPageId, templateLess = true, disableSSLValidation = false } = opts || {};
|
|
264
308
|
this.#headers = headers;
|
|
265
309
|
this.#pageVars = [];
|
|
266
310
|
this.#pageTitle = '';
|
|
267
|
-
this.#templateLoaded =
|
|
268
|
-
|
|
311
|
+
this.#templateLoaded = Promise.resolve(false);
|
|
312
|
+
if (disableSSLValidation) {
|
|
313
|
+
axios.defaults.httpsAgent = new Agent({ rejectUnauthorized: false });
|
|
314
|
+
}
|
|
315
|
+
this.#axios = axios.create({
|
|
316
|
+
baseURL,
|
|
317
|
+
headers,
|
|
269
318
|
});
|
|
270
|
-
this.#axios = axios.create({ baseURL, headers });
|
|
271
319
|
this.portalPageId = portalPageId;
|
|
272
320
|
this.templateLess = templateLess;
|
|
273
321
|
this.assetsApi = new AssetsAPI(this.#axios);
|
|
274
322
|
this.pageApi = new PageAPI(this.#axios);
|
|
323
|
+
this.logger = createLogger();
|
|
275
324
|
}
|
|
276
325
|
async isTemplateLoaded() {
|
|
277
326
|
return this.#templateLoaded;
|
|
278
327
|
}
|
|
279
328
|
#clearHeaders(headers) {
|
|
280
|
-
const obj = Object.assign({}, headers, { host: undefined });
|
|
329
|
+
const obj = Object.assign({}, headers, { host: undefined, referer: undefined });
|
|
281
330
|
Object.keys(obj).forEach((key) => obj[key] === undefined && delete obj[key]);
|
|
282
331
|
this.#headers = obj;
|
|
283
332
|
return obj;
|
|
@@ -290,27 +339,65 @@ class MiAPI {
|
|
|
290
339
|
* @param headers
|
|
291
340
|
*/
|
|
292
341
|
async getPageTemplate(headers) {
|
|
342
|
+
if (!(await this.#templateLoaded)) {
|
|
343
|
+
this.#templateLoaded = new Promise((resolve) => {
|
|
344
|
+
this.#templateLoadedResolve = resolve;
|
|
345
|
+
});
|
|
346
|
+
}
|
|
293
347
|
if (this.#pageTemplate) {
|
|
294
348
|
return Promise.resolve(this.#pageTemplate);
|
|
295
349
|
}
|
|
296
350
|
if (typeof this.templateLess === 'undefined') {
|
|
297
351
|
this.templateLess = false;
|
|
298
352
|
}
|
|
299
|
-
const pageList = await this.pageApi
|
|
300
|
-
|
|
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
|
+
if (await this.pageApi.checkAuth(this.#clearHeaders(headers))) {
|
|
361
|
+
this.logger.error(colors.red(`Error fetching page list: ${e.message}\n${e.stack}`));
|
|
362
|
+
throw new Error('Current user does not have access to page list');
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
throw e;
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
let page = pageList.find((p) => p.name === TEMPLATE_PAGE_NAME);
|
|
301
369
|
if (!page) {
|
|
302
|
-
|
|
370
|
+
this.logger.warn(colors.yellow('Creating dev page template...'));
|
|
371
|
+
page = await this.pageApi
|
|
372
|
+
.create({
|
|
303
373
|
enabled: 'Y',
|
|
304
|
-
name:
|
|
374
|
+
name: TEMPLATE_PAGE_NAME,
|
|
305
375
|
internal_name: 'dev-page-template',
|
|
306
376
|
visible_in_homepage: 'Y',
|
|
307
|
-
}, this.#clearHeaders(headers))
|
|
377
|
+
}, this.#clearHeaders(headers))
|
|
378
|
+
.then((response) => {
|
|
379
|
+
this.logger.info(colors.green('Dev page created'));
|
|
380
|
+
return response;
|
|
381
|
+
})
|
|
382
|
+
.catch((e) => {
|
|
383
|
+
this.logger.error(colors.red(`Error creating dev page: ${e.message}`));
|
|
384
|
+
throw new Error(`Error when creating dev page.
|
|
385
|
+
That can be caused by missing permissions or page with name "${TEMPLATE_PAGE_NAME}" already exists`);
|
|
386
|
+
});
|
|
308
387
|
}
|
|
309
388
|
return await this.pageApi
|
|
310
389
|
.getPageContent(page.internal_name, this.#clearHeaders(headers))
|
|
311
390
|
.then((response) => {
|
|
312
391
|
this.#pageTemplate = response;
|
|
313
392
|
return response;
|
|
393
|
+
})
|
|
394
|
+
.then((response) => {
|
|
395
|
+
this.logger.info(colors.green('Page template fetched'));
|
|
396
|
+
return response;
|
|
397
|
+
})
|
|
398
|
+
.catch((e) => {
|
|
399
|
+
this.logger.error(colors.red(`Error fetching page template: ${e.message}`));
|
|
400
|
+
throw new Error('Error fetching page template');
|
|
314
401
|
})
|
|
315
402
|
.finally(() => {
|
|
316
403
|
this.#templateLoadedResolve(true);
|
|
@@ -343,9 +430,13 @@ class MiAPI {
|
|
|
343
430
|
return [];
|
|
344
431
|
})
|
|
345
432
|
.catch((reason) => {
|
|
433
|
+
this.logger.error(colors.red(`Error fetching page variables: ${reason.message}`));
|
|
346
434
|
if (reason.response?.status === 404) {
|
|
347
435
|
throw new Error(`Portal Page with id "${pageId}" not found on instance ${this.#axios.getUri()}`);
|
|
348
436
|
}
|
|
437
|
+
if (reason.response?.status === 401) {
|
|
438
|
+
throw new Error(`Current user does not have access to page with id "${pageId}" on instance ${this.#axios.getUri()}`);
|
|
439
|
+
}
|
|
349
440
|
throw reason;
|
|
350
441
|
});
|
|
351
442
|
}
|
|
@@ -419,12 +510,14 @@ class ClientService {
|
|
|
419
510
|
server;
|
|
420
511
|
opts;
|
|
421
512
|
eventMap;
|
|
513
|
+
logger;
|
|
422
514
|
constructor(server, opts) {
|
|
423
515
|
this.server = server;
|
|
424
516
|
this.opts = opts || {};
|
|
425
517
|
this.eventMap = new Map();
|
|
426
518
|
this.eventMap.set('info-data:request', this.onInfoDataRequest.bind(this));
|
|
427
519
|
this.eventMap.set('template:sync', this.onTemplateSync.bind(this));
|
|
520
|
+
this.logger = createLogger();
|
|
428
521
|
this.init();
|
|
429
522
|
}
|
|
430
523
|
init() {
|
|
@@ -457,18 +550,22 @@ class ClientService {
|
|
|
457
550
|
currentHash,
|
|
458
551
|
backupFilename,
|
|
459
552
|
});
|
|
553
|
+
this.logger.info(colors.green('Template synced'));
|
|
460
554
|
}
|
|
461
555
|
else {
|
|
462
556
|
this.server.ws.send('template:sync:response', { error: 'Failed to update assets' });
|
|
557
|
+
this.logger.error(colors.red('Failed to update assets'));
|
|
463
558
|
}
|
|
464
559
|
}
|
|
465
560
|
else {
|
|
466
561
|
this.server.ws.send('template:sync:response', { error: 'Failed to build new assets' });
|
|
562
|
+
this.logger.error(colors.red('Failed to build new assets'));
|
|
467
563
|
return;
|
|
468
564
|
}
|
|
469
565
|
}
|
|
470
566
|
else {
|
|
471
567
|
this.server.ws.send('template:sync:response', { error: 'Dist service or MiAPI is not defined' });
|
|
568
|
+
this.logger.error(colors.red('Dist service or MiAPI is not defined'));
|
|
472
569
|
return;
|
|
473
570
|
}
|
|
474
571
|
}
|
|
@@ -478,13 +575,14 @@ const cache = new memoryCache.Cache();
|
|
|
478
575
|
const testCacheUrlRegExp = /\.[a-z0-9]+$/i;
|
|
479
576
|
function initProxyCache(opts) {
|
|
480
577
|
const { devServer, ttl = 10 * 60 * 1000 } = opts;
|
|
578
|
+
const logger = createLogger();
|
|
481
579
|
devServer.cache = cache;
|
|
482
580
|
return (req, res, next) => {
|
|
483
581
|
const url = req.originalUrl || req.url || '';
|
|
484
582
|
if (testCacheUrlRegExp.test(url.split('?')[0] || '')) {
|
|
485
583
|
const cacheItem = cache.get(url);
|
|
486
|
-
if (cacheItem
|
|
487
|
-
|
|
584
|
+
if (cacheItem) {
|
|
585
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${url} -> ${colors.blue('Cache')} ${url}`);
|
|
488
586
|
for (const [header, value] of Object.entries(cacheItem.headers)) {
|
|
489
587
|
res.setHeader(header, value);
|
|
490
588
|
}
|
|
@@ -516,7 +614,7 @@ function initProxyCache(opts) {
|
|
|
516
614
|
buffer = Buffer.concat([buffer, chunk]);
|
|
517
615
|
}
|
|
518
616
|
if (res.hasHeader(PROXY_HEADER)) {
|
|
519
|
-
|
|
617
|
+
logger.info(`${colors.blue('[Cached]')} ${url}`);
|
|
520
618
|
cache.put(url, { headers: res.getHeaders(), content: buffer }, ttl);
|
|
521
619
|
}
|
|
522
620
|
end.call(this, buffer, encoding, cb);
|
|
@@ -540,13 +638,19 @@ class DistService {
|
|
|
540
638
|
dateFormat;
|
|
541
639
|
pageName;
|
|
542
640
|
currentMeta = null;
|
|
641
|
+
distZipFolder;
|
|
642
|
+
distZipFilename;
|
|
643
|
+
logger;
|
|
543
644
|
constructor(pageName, syncOptions) {
|
|
544
|
-
|
|
645
|
+
this.pageName = pageName;
|
|
646
|
+
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 || {};
|
|
545
647
|
this.backupFolder = backupFolder;
|
|
546
648
|
this.backupNameTemplate = backupNameTemplate;
|
|
547
649
|
this.dateFormat = dateFormat;
|
|
548
|
-
this.
|
|
650
|
+
this.distZipFolder = distZipFolder;
|
|
651
|
+
this.distZipFilename = distZipFilename;
|
|
549
652
|
this.syncMeta();
|
|
653
|
+
this.logger = createLogger();
|
|
550
654
|
}
|
|
551
655
|
async checkMeta() {
|
|
552
656
|
try {
|
|
@@ -621,13 +725,15 @@ class DistService {
|
|
|
621
725
|
this.currentMeta.lastBackupHash = backupFileHash;
|
|
622
726
|
this.currentMeta.lastBackupDate = backupDate.toISOString();
|
|
623
727
|
await this.syncMeta();
|
|
624
|
-
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile)
|
|
728
|
+
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile).finally(() => {
|
|
729
|
+
this.logger.info(`Backup saved to ${filename}`);
|
|
730
|
+
});
|
|
625
731
|
}
|
|
626
732
|
async buildNewAssets() {
|
|
627
|
-
const buildCommand = new Promise(
|
|
733
|
+
const buildCommand = new Promise((resolve, reject) => {
|
|
628
734
|
let data = '';
|
|
629
735
|
// Colorized log output with message about build start
|
|
630
|
-
|
|
736
|
+
this.logger.info(colors.cyan('[DistService] Build started'));
|
|
631
737
|
const proc = child_process.spawn('node', [path.resolve(pluginPath, './bin/pp-dev.js'), 'build'], {
|
|
632
738
|
cwd: process.cwd(),
|
|
633
739
|
env: process.env,
|
|
@@ -650,9 +756,9 @@ class DistService {
|
|
|
650
756
|
try {
|
|
651
757
|
await buildCommand.finally(() => {
|
|
652
758
|
// Colorized log output with message about build end
|
|
653
|
-
|
|
759
|
+
this.logger.info(colors.cyan('[DistService] Build finished'));
|
|
654
760
|
});
|
|
655
|
-
const assetFile = path.resolve(process.cwd(),
|
|
761
|
+
const assetFile = path.resolve(process.cwd(), this.distZipFolder, this.distZipFilename);
|
|
656
762
|
if (!(await promises.stat(assetFile))) {
|
|
657
763
|
throw new Error(`File ${assetFile} not found`);
|
|
658
764
|
}
|
|
@@ -728,6 +834,7 @@ function initPPRedirect(base, templateName) {
|
|
|
728
834
|
base = base.startsWith('/') ? base : `/${base}`;
|
|
729
835
|
base = base.endsWith('/') ? base : `${base}/`;
|
|
730
836
|
const baseWithoutTrailingSlash = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
837
|
+
const logger = createLogger();
|
|
731
838
|
return (req, res, next) => {
|
|
732
839
|
const parsedUrl = new URL$1(req.url ?? '', 'http://localhost');
|
|
733
840
|
const { pathname, search } = parsedUrl;
|
|
@@ -738,6 +845,7 @@ function initPPRedirect(base, templateName) {
|
|
|
738
845
|
// Redirect from `/` and `/pt/${templateName}` and `${base}` (without a training slash) to portal page address
|
|
739
846
|
if (findPaths.includes(pathname)) {
|
|
740
847
|
const redirectUrl = `${base}${search}`;
|
|
848
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
741
849
|
return redirect(res, redirectUrl, 302);
|
|
742
850
|
}
|
|
743
851
|
next();
|
|
@@ -746,6 +854,7 @@ function initPPRedirect(base, templateName) {
|
|
|
746
854
|
|
|
747
855
|
function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
748
856
|
const { templateLess = false, miHudLess = false, portalPageId } = opts;
|
|
857
|
+
const logger = createLogger();
|
|
749
858
|
return (req, res, next) => {
|
|
750
859
|
const isNeedTemplateLoad = !(templateLess && miHudLess);
|
|
751
860
|
const isApplyRequest = applyUrlRegExp.test(cutUrlParams(req.url ?? ''));
|
|
@@ -760,7 +869,9 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
760
869
|
})
|
|
761
870
|
.catch((reason) => {
|
|
762
871
|
if (reason.response) {
|
|
763
|
-
|
|
872
|
+
const redirectUrl = `/home?proxyRedirect=${encodeURIComponent('/')}`;
|
|
873
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
874
|
+
return redirect(res, redirectUrl, 302);
|
|
764
875
|
}
|
|
765
876
|
next(reason);
|
|
766
877
|
});
|
|
@@ -771,8 +882,111 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
771
882
|
};
|
|
772
883
|
}
|
|
773
884
|
|
|
885
|
+
function isVitePPDevOptions(options) {
|
|
886
|
+
return (typeof options === 'object' &&
|
|
887
|
+
typeof options.templateName === 'string' &&
|
|
888
|
+
(typeof options.backendBaseURL === 'string' || options.backendBaseURL === undefined) &&
|
|
889
|
+
(typeof options.portalPageId === 'number' || options.portalPageId === undefined) &&
|
|
890
|
+
(typeof options.templateLess === 'boolean' || options.templateLess === undefined) &&
|
|
891
|
+
(typeof options.miHudLess === 'boolean' || options.miHudLess === undefined) &&
|
|
892
|
+
(typeof options.enableProxyCache === 'boolean' || options.enableProxyCache === undefined) &&
|
|
893
|
+
(typeof options.proxyCacheTTL === 'number' || options.proxyCacheTTL === undefined) &&
|
|
894
|
+
(typeof options.disableSSLValidation === 'boolean' || options.disableSSLValidation === undefined) &&
|
|
895
|
+
(typeof options.imageOptimizer === 'boolean' ||
|
|
896
|
+
typeof options.imageOptimizer === 'object' ||
|
|
897
|
+
options.imageOptimizer === undefined) &&
|
|
898
|
+
(typeof options.outDir === 'string' || options.outDir === undefined) &&
|
|
899
|
+
(typeof options.distZip === 'boolean' || typeof options.distZip === 'object' || options.distZip === undefined) &&
|
|
900
|
+
(typeof options.syncBackupsDir === 'string' || options.syncBackupsDir === undefined));
|
|
901
|
+
}
|
|
902
|
+
function throwConfigError(config) {
|
|
903
|
+
if (typeof config !== 'object') {
|
|
904
|
+
throw new Error('VitePPDevOptions must be an object');
|
|
905
|
+
}
|
|
906
|
+
if (typeof config.templateName !== 'string') {
|
|
907
|
+
throw new Error('VitePPDevOptions.templateName must be a string');
|
|
908
|
+
}
|
|
909
|
+
if (config.backendBaseURL !== undefined && typeof config.backendBaseURL !== 'string') {
|
|
910
|
+
throw new Error('VitePPDevOptions.backendBaseURL must be a string');
|
|
911
|
+
}
|
|
912
|
+
if (config.portalPageId !== undefined && typeof config.portalPageId !== 'number') {
|
|
913
|
+
throw new Error('VitePPDevOptions.portalPageId must be a number');
|
|
914
|
+
}
|
|
915
|
+
if (config.templateLess !== undefined && typeof config.templateLess !== 'boolean') {
|
|
916
|
+
throw new Error('VitePPDevOptions.templateLess must be a boolean');
|
|
917
|
+
}
|
|
918
|
+
if (config.miHudLess !== undefined && typeof config.miHudLess !== 'boolean') {
|
|
919
|
+
throw new Error('VitePPDevOptions.miHudLess must be a boolean');
|
|
920
|
+
}
|
|
921
|
+
if (config.enableProxyCache !== undefined && typeof config.enableProxyCache !== 'boolean') {
|
|
922
|
+
throw new Error('VitePPDevOptions.enableProxyCache must be a boolean');
|
|
923
|
+
}
|
|
924
|
+
if (config.proxyCacheTTL !== undefined && typeof config.proxyCacheTTL !== 'number') {
|
|
925
|
+
throw new Error('VitePPDevOptions.proxyCacheTTL must be a number');
|
|
926
|
+
}
|
|
927
|
+
if (config.disableSSLValidation !== undefined && typeof config.disableSSLValidation !== 'boolean') {
|
|
928
|
+
throw new Error('VitePPDevOptions.disableSSLValidation must be a boolean');
|
|
929
|
+
}
|
|
930
|
+
if (config.imageOptimizer !== undefined &&
|
|
931
|
+
typeof config.imageOptimizer !== 'boolean' &&
|
|
932
|
+
typeof config.imageOptimizer !== 'object') {
|
|
933
|
+
throw new Error('VitePPDevOptions.imageOptimizer must be a boolean or an object');
|
|
934
|
+
}
|
|
935
|
+
if (config.outDir !== undefined && typeof config.outDir !== 'string') {
|
|
936
|
+
throw new Error('VitePPDevOptions.outDir must be a string');
|
|
937
|
+
}
|
|
938
|
+
if (config.distZip !== undefined && typeof config.distZip !== 'boolean' && typeof config.distZip !== 'object') {
|
|
939
|
+
throw new Error('VitePPDevOptions.distZip must be a boolean or an object');
|
|
940
|
+
}
|
|
941
|
+
if (config.syncBackupsDir !== undefined && typeof config.syncBackupsDir !== 'string') {
|
|
942
|
+
throw new Error('VitePPDevOptions.syncBackupsDir must be a string');
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
function normalizeVitePPDevConfig(config) {
|
|
946
|
+
!isVitePPDevOptions(config) && throwConfigError(config);
|
|
947
|
+
const { enableProxyCache = true, proxyCacheTTL = 10 * 60 * 1000, disableSSLValidation = false, imageOptimizer = true, miHudLess = false, templateLess = false, outDir = 'dist', distZip = true, syncBackupsDir = 'backups', } = config || {};
|
|
948
|
+
let distZipConfig = distZip;
|
|
949
|
+
if (distZipConfig === true) {
|
|
950
|
+
distZipConfig = {
|
|
951
|
+
outFileName: `${config.templateName}.zip`,
|
|
952
|
+
outDir: 'dist-zip',
|
|
953
|
+
};
|
|
954
|
+
}
|
|
955
|
+
else if (typeof distZip === 'object') {
|
|
956
|
+
distZipConfig = {
|
|
957
|
+
outFileName: typeof distZip.outFileName === 'string'
|
|
958
|
+
? distZip.outFileName.replace('[templateName]', config.templateName)
|
|
959
|
+
: `${config.templateName}.zip`,
|
|
960
|
+
outDir: distZip.outDir ?? 'dist-zip',
|
|
961
|
+
};
|
|
962
|
+
}
|
|
963
|
+
else {
|
|
964
|
+
distZipConfig = false;
|
|
965
|
+
}
|
|
966
|
+
let imageOptimizerConfig = imageOptimizer;
|
|
967
|
+
if (typeof imageOptimizer === 'boolean') {
|
|
968
|
+
if (imageOptimizerConfig === true) {
|
|
969
|
+
imageOptimizerConfig = {};
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
else if (typeof imageOptimizer !== 'object') {
|
|
973
|
+
imageOptimizerConfig = false;
|
|
974
|
+
}
|
|
975
|
+
return {
|
|
976
|
+
enableProxyCache,
|
|
977
|
+
proxyCacheTTL,
|
|
978
|
+
disableSSLValidation,
|
|
979
|
+
imageOptimizer: imageOptimizerConfig,
|
|
980
|
+
templateLess,
|
|
981
|
+
miHudLess,
|
|
982
|
+
outDir,
|
|
983
|
+
distZip: distZipConfig,
|
|
984
|
+
syncBackupsDir,
|
|
985
|
+
...config,
|
|
986
|
+
};
|
|
987
|
+
}
|
|
774
988
|
function vitePPDev(options) {
|
|
775
|
-
const { templateName, templateLess
|
|
989
|
+
const { templateName, templateLess, backendBaseURL, miHudLess, portalPageId, enableProxyCache, proxyCacheTTL, disableSSLValidation, distZip, syncBackupsDir, } = options || {};
|
|
776
990
|
// Avoid server caching for index.html file when first loading
|
|
777
991
|
let isFirstRequest = true;
|
|
778
992
|
return {
|
|
@@ -811,6 +1025,7 @@ function vitePPDev(options) {
|
|
|
811
1025
|
},
|
|
812
1026
|
portalPageId,
|
|
813
1027
|
templateLess,
|
|
1028
|
+
disableSSLValidation,
|
|
814
1029
|
});
|
|
815
1030
|
if (enableProxyCache) {
|
|
816
1031
|
let ttl = +proxyCacheTTL;
|
|
@@ -823,6 +1038,7 @@ function vitePPDev(options) {
|
|
|
823
1038
|
devServer: server,
|
|
824
1039
|
baseURL: backendBaseURL,
|
|
825
1040
|
proxyIgnore: ['/@vite', '/@metricinsights', '/@', baseWithoutTrailingSlash],
|
|
1041
|
+
disableSSLValidation,
|
|
826
1042
|
}));
|
|
827
1043
|
const isIndexRegExp = new RegExp(`^((${base})|/)$`);
|
|
828
1044
|
// Get portal page variables from the backend (also, redirect magic)
|
|
@@ -832,12 +1048,16 @@ function vitePPDev(options) {
|
|
|
832
1048
|
}, (response, req) => {
|
|
833
1049
|
return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
|
|
834
1050
|
}));
|
|
835
|
-
const distService =
|
|
1051
|
+
const distService = distZip !== false
|
|
1052
|
+
? new DistService(templateName, Object.assign({ backupDir: syncBackupsDir }, typeof distZip === 'object'
|
|
1053
|
+
? { distZipFolder: distZip.outDir, distZipFilename: distZip.outFileName }
|
|
1054
|
+
: undefined))
|
|
1055
|
+
: undefined;
|
|
836
1056
|
new ClientService(server, { distService, miAPI: mi });
|
|
837
1057
|
}
|
|
838
1058
|
},
|
|
839
1059
|
};
|
|
840
1060
|
}
|
|
841
1061
|
|
|
842
|
-
export { MiAPI as M,
|
|
843
|
-
//# sourceMappingURL=plugin-
|
|
1062
|
+
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 };
|
|
1063
|
+
//# sourceMappingURL=plugin-78cbd0b1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-78cbd0b1.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,8 +1,11 @@
|
|
|
1
|
-
export { v as default } from './plugin-
|
|
1
|
+
export { v as default, n as normalizeVitePPDevConfig } from './plugin-78cbd0b1.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';
|
|
8
|
+
import 'https';
|
|
6
9
|
import 'memory-cache';
|
|
7
10
|
import 'path';
|
|
8
11
|
import 'fs';
|
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 };
|