@metricinsights/pp-dev 0.2.0 → 0.3.1
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 +79 -35
- package/bin/pp-dev.js +4 -10
- package/dist/cjs/cli.js +590 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/helpers.js +29 -0
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/index-24d6a380.js +292 -0
- package/dist/cjs/index-24d6a380.js.map +1 -0
- package/dist/cjs/index.js +28 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +113 -0
- package/dist/cjs/plugin-24dd0a43.js +878 -0
- package/dist/cjs/plugin-24dd0a43.js.map +1 -0
- package/dist/cjs/plugin.js +20 -0
- package/dist/cjs/plugin.js.map +1 -0
- package/dist/esm/cli.js +566 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/helpers.js +25 -0
- package/dist/esm/helpers.js.map +1 -0
- package/dist/esm/index-833c47d2.js +268 -0
- package/dist/esm/index-833c47d2.js.map +1 -0
- package/dist/esm/index.js +20 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +113 -0
- package/dist/esm/plugin-ecb1c54a.js +843 -0
- package/dist/esm/plugin-ecb1c54a.js.map +1 -0
- package/dist/esm/plugin.js +14 -0
- package/dist/esm/plugin.js.map +1 -0
- package/dist/types/cli.d.ts +3 -0
- package/dist/types/helpers.d.ts +24 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/{plugin.d.ts → types/plugin.d.ts} +6 -2
- package/package.json +29 -10
- package/pp-dev.d.ts +1 -1
- package/dist/api/assets.d.ts +0 -15
- package/dist/api/assets.js +0 -58
- package/dist/api/assets.js.map +0 -1
- package/dist/api/constants.d.ts +0 -1
- package/dist/api/constants.js +0 -2
- package/dist/api/constants.js.map +0 -1
- package/dist/api/index.d.ts +0 -2
- package/dist/api/index.js +0 -3
- package/dist/api/index.js.map +0 -1
- package/dist/api/page.d.ts +0 -18
- package/dist/api/page.js +0 -46
- package/dist/api/page.js.map +0 -1
- package/dist/banner/header.d.ts +0 -2
- package/dist/banner/header.js +0 -10
- package/dist/banner/header.js.map +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +0 -275
- package/dist/cli.js.map +0 -1
- package/dist/client/rollup.config.d.ts +0 -2
- package/dist/constants.d.ts +0 -6
- package/dist/constants.js +0 -18
- package/dist/constants.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -150
- package/dist/index.js.map +0 -1
- package/dist/lib/client.service.d.ts +0 -16
- package/dist/lib/client.service.js +0 -59
- package/dist/lib/client.service.js.map +0 -1
- package/dist/lib/dist.service.d.ts +0 -31
- package/dist/lib/dist.service.js +0 -148
- package/dist/lib/dist.service.js.map +0 -1
- package/dist/lib/helpers/url.helper.d.ts +0 -3
- package/dist/lib/helpers/url.helper.js +0 -27
- package/dist/lib/helpers/url.helper.js.map +0 -1
- package/dist/lib/pp.middleware.d.ts +0 -27
- package/dist/lib/pp.middleware.js +0 -155
- package/dist/lib/pp.middleware.js.map +0 -1
- package/dist/lib/proxy-cache.middleware.d.ts +0 -17
- package/dist/lib/proxy-cache.middleware.js +0 -51
- package/dist/lib/proxy-cache.middleware.js.map +0 -1
- package/dist/lib/proxy-pass.middleware.d.ts +0 -10
- package/dist/lib/proxy-pass.middleware.js +0 -90
- package/dist/lib/proxy-pass.middleware.js.map +0 -1
- package/dist/plugin.js +0 -118
- package/dist/plugin.js.map +0 -1
- package/dist/plugins/client-injection-plugin.d.ts +0 -12
- package/dist/plugins/client-injection-plugin.js +0 -57
- package/dist/plugins/client-injection-plugin.js.map +0 -1
- package/dist/shortcuts.d.ts +0 -12
- package/dist/shortcuts.js +0 -93
- package/dist/shortcuts.js.map +0 -1
package/dist/plugin.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import proxyPassMiddleware from './lib/proxy-pass.middleware.js';
|
|
2
|
-
import { MiAPI } from './lib/pp.middleware.js';
|
|
3
|
-
import { urlReplacer } from './lib/helpers/url.helper.js';
|
|
4
|
-
import { ClientService } from './lib/client.service.js';
|
|
5
|
-
import { initProxyCache } from './lib/proxy-cache.middleware.js';
|
|
6
|
-
import { DistService } from './lib/dist.service.js';
|
|
7
|
-
const redirect = (res, url, statusCode) => {
|
|
8
|
-
res.setHeader('location', url);
|
|
9
|
-
res.statusCode = statusCode || 302;
|
|
10
|
-
res.end();
|
|
11
|
-
};
|
|
12
|
-
function cutUrlParams(url) {
|
|
13
|
-
const urlParts = url.split('?');
|
|
14
|
-
return urlParts[0];
|
|
15
|
-
}
|
|
16
|
-
function vitePPDev(options) {
|
|
17
|
-
const { templateName, templateLess = false, miHudLess = false, backendBaseURL, portalPageId } = options || {};
|
|
18
|
-
let isFirstRequest = true;
|
|
19
|
-
return {
|
|
20
|
-
name: 'vite-pp-dev',
|
|
21
|
-
apply: 'serve',
|
|
22
|
-
config: (config) => {
|
|
23
|
-
config.clientInjectionPlugin = { backendBaseURL, portalPageId, templateLess };
|
|
24
|
-
return config;
|
|
25
|
-
},
|
|
26
|
-
transformIndexHtml: async (html, ctx) => {
|
|
27
|
-
const result = { html, tags: [] };
|
|
28
|
-
if (isFirstRequest) {
|
|
29
|
-
isFirstRequest = false;
|
|
30
|
-
result.tags.push({
|
|
31
|
-
tag: 'script',
|
|
32
|
-
injectTo: 'body',
|
|
33
|
-
children: `${Math.random()}`,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
return result;
|
|
37
|
-
},
|
|
38
|
-
configureServer: (server) => {
|
|
39
|
-
let base = server.config.base;
|
|
40
|
-
if (!base.endsWith('/')) {
|
|
41
|
-
base += '/';
|
|
42
|
-
}
|
|
43
|
-
const baseWithoutTrailingSlash = base.substring(0, base.lastIndexOf('/'));
|
|
44
|
-
server.middlewares.use(function (req, res, next) {
|
|
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
|
-
});
|
|
53
|
-
if (backendBaseURL) {
|
|
54
|
-
const baseUrlHost = new URL(backendBaseURL).host;
|
|
55
|
-
const mi = new MiAPI(backendBaseURL, {
|
|
56
|
-
headers: {
|
|
57
|
-
host: baseUrlHost,
|
|
58
|
-
referer: backendBaseURL,
|
|
59
|
-
origin: backendBaseURL.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i, '$1$2'),
|
|
60
|
-
},
|
|
61
|
-
portalPageId,
|
|
62
|
-
templateLess,
|
|
63
|
-
});
|
|
64
|
-
server.middlewares.use(initProxyCache({ viteDevServer: server, ttl: 10 * 60 * 1000 }));
|
|
65
|
-
server.middlewares.use(proxyPassMiddleware({
|
|
66
|
-
viteDevServer: server,
|
|
67
|
-
baseURL: backendBaseURL,
|
|
68
|
-
proxyIgnore: ['/@vite', '/@metricinsights', '/@', baseWithoutTrailingSlash],
|
|
69
|
-
}));
|
|
70
|
-
const isIndexRegExp = new RegExp(`^((${base})|/)$`);
|
|
71
|
-
server.middlewares.use(function (req, res, next) {
|
|
72
|
-
const isNeedTemplateLoad = !(templateLess && miHudLess);
|
|
73
|
-
const isIndexRequest = isIndexRegExp.test(cutUrlParams(req.url ?? ''));
|
|
74
|
-
if (isNeedTemplateLoad && isIndexRequest) {
|
|
75
|
-
const headers = (req.headers ?? {});
|
|
76
|
-
const loadPageData = !templateLess && typeof portalPageId !== 'undefined'
|
|
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
|
-
});
|
|
111
|
-
const distService = new DistService(templateName);
|
|
112
|
-
const eventHandler = new ClientService(server, { distService, miAPI: mi });
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
export default vitePPDev;
|
|
118
|
-
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Plugin } from 'vite';
|
|
2
|
-
export interface ClientInjectionPluginOpts {
|
|
3
|
-
backendBaseURL?: string;
|
|
4
|
-
templateLess: boolean;
|
|
5
|
-
portalPageId?: number;
|
|
6
|
-
}
|
|
7
|
-
declare module 'vite' {
|
|
8
|
-
interface UserConfig {
|
|
9
|
-
clientInjectionPlugin?: ClientInjectionPluginOpts;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
export declare function clientInjectionPlugin(opts?: ClientInjectionPluginOpts): Plugin;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { normalizePath } from 'vite';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { PP_DEV_CLIENT_ENTRY, PACKAGE_NAME, VERSION, PP_DEV_PACKAGE_DIR } from '../constants.js';
|
|
4
|
-
import * as fs from 'fs';
|
|
5
|
-
import { compile } from 'ejs';
|
|
6
|
-
import * as url from 'url';
|
|
7
|
-
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
8
|
-
const PACKAGE_IMPORT = `${PACKAGE_NAME}/client`;
|
|
9
|
-
const CLIENT_PATH = `/${PACKAGE_IMPORT}`;
|
|
10
|
-
export function clientInjectionPlugin(opts) {
|
|
11
|
-
const clientPanelTpl = fs.readFileSync(path.resolve(__dirname, '..', 'client', 'index.html'), {
|
|
12
|
-
encoding: 'utf8',
|
|
13
|
-
flag: 'r',
|
|
14
|
-
});
|
|
15
|
-
let render;
|
|
16
|
-
return {
|
|
17
|
-
name: 'pp-dev:client',
|
|
18
|
-
apply: 'serve',
|
|
19
|
-
config: (config) => {
|
|
20
|
-
config.optimizeDeps?.exclude?.push(`${PACKAGE_NAME}/client`);
|
|
21
|
-
return config;
|
|
22
|
-
},
|
|
23
|
-
resolveId(source) {
|
|
24
|
-
const pkgRegExp = new RegExp(`^\\/?${PACKAGE_NAME}\\/client\\/(.*)$`);
|
|
25
|
-
if (pkgRegExp.test(source)) {
|
|
26
|
-
return {
|
|
27
|
-
id: normalizePath(path.join(PP_DEV_PACKAGE_DIR, 'dist/client', source.replace(pkgRegExp, '$1'))),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
transformIndexHtml: async (html, ctx) => {
|
|
32
|
-
const result = {
|
|
33
|
-
html,
|
|
34
|
-
tags: [
|
|
35
|
-
{ tag: 'link', injectTo: 'head', attrs: { rel: 'stylesheet', href: `${PACKAGE_NAME}/client/client.css` } },
|
|
36
|
-
{ tag: 'script', injectTo: 'body', attrs: { src: `${PACKAGE_NAME}/client/client.js`, type: 'module' } },
|
|
37
|
-
],
|
|
38
|
-
};
|
|
39
|
-
const { backendBaseURL, templateLess, portalPageId } = opts || ctx.server?.config.clientInjectionPlugin || {};
|
|
40
|
-
if (!render && ctx.server?.config.base) {
|
|
41
|
-
render = compile(clientPanelTpl.replace(new RegExp(`${CLIENT_PATH}`, 'g'), path.posix.join(ctx.server.config.base, PACKAGE_IMPORT)), { openDelimiter: '{', closeDelimiter: '}', async: true });
|
|
42
|
-
}
|
|
43
|
-
if (ctx.server?.config.base) {
|
|
44
|
-
result.tags.push({
|
|
45
|
-
tag: 'div',
|
|
46
|
-
injectTo: 'body',
|
|
47
|
-
children: await render({ PACKAGE_NAME, VERSION, backendBaseURL, templateLess, portalPageId }),
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return result;
|
|
51
|
-
},
|
|
52
|
-
configureServer(server) {
|
|
53
|
-
server.config.server?.fs?.allow?.push(normalizePath(path.resolve(server.config.root, path.dirname(PP_DEV_CLIENT_ENTRY))));
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=client-injection-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-injection-plugin.js","sourceRoot":"","sources":["../../src/plugins/client-injection-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/shortcuts.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ViteDevServer } from 'vite';
|
|
2
|
-
export declare function isDefined<T>(value: T | undefined | null): value is T;
|
|
3
|
-
export type BindShortcutsOptions = {
|
|
4
|
-
print?: boolean;
|
|
5
|
-
customShortcuts?: (CLIShortcut | undefined | null)[];
|
|
6
|
-
};
|
|
7
|
-
export type CLIShortcut = {
|
|
8
|
-
key: string;
|
|
9
|
-
description: string;
|
|
10
|
-
action(server: ViteDevServer): void | Promise<void>;
|
|
11
|
-
};
|
|
12
|
-
export declare function bindShortcuts(server: ViteDevServer, opts: BindShortcutsOptions): void;
|
package/dist/shortcuts.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { createColors } from 'picocolors';
|
|
2
|
-
const colors = createColors();
|
|
3
|
-
export function isDefined(value) {
|
|
4
|
-
return value != null;
|
|
5
|
-
}
|
|
6
|
-
export function bindShortcuts(server, opts) {
|
|
7
|
-
if (!server.httpServer || !process.stdin.isTTY || process.env.CI) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
server._shortcutsOptions = opts;
|
|
11
|
-
if (opts.print) {
|
|
12
|
-
server.config.logger.info(colors.dim(colors.green(' ➜')) + colors.dim(' press ') + colors.bold('h') + colors.dim(' to show help'));
|
|
13
|
-
}
|
|
14
|
-
const shortcuts = (opts.customShortcuts ?? []).filter(isDefined).concat(BASE_SHORTCUTS);
|
|
15
|
-
let actionRunning = false;
|
|
16
|
-
const onInput = async (input) => {
|
|
17
|
-
if (input === '\x03' || input === '\x04') {
|
|
18
|
-
await server.close().finally(() => process.exit(1));
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
if (actionRunning) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (input === 'h') {
|
|
25
|
-
server.config.logger.info([
|
|
26
|
-
'',
|
|
27
|
-
colors.bold(' Shortcuts'),
|
|
28
|
-
...shortcuts.map((shortcut) => colors.dim(' press ') + colors.bold(shortcut.key) + colors.dim(` to ${shortcut.description}`)),
|
|
29
|
-
].join('\n'));
|
|
30
|
-
}
|
|
31
|
-
const shortcut = shortcuts.find((shortcut) => shortcut.key === input);
|
|
32
|
-
if (!shortcut) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
actionRunning = true;
|
|
36
|
-
await shortcut.action(server);
|
|
37
|
-
actionRunning = false;
|
|
38
|
-
};
|
|
39
|
-
process.stdin.setRawMode(true);
|
|
40
|
-
process.stdin.on('data', onInput).setEncoding('utf8').resume();
|
|
41
|
-
server.httpServer.on('close', () => {
|
|
42
|
-
process.stdin.off('data', onInput).pause();
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
const BASE_SHORTCUTS = [
|
|
46
|
-
{
|
|
47
|
-
key: 'r',
|
|
48
|
-
description: 'restart the server',
|
|
49
|
-
async action(server) {
|
|
50
|
-
await server.restart();
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: 'u',
|
|
55
|
-
description: 'show server url',
|
|
56
|
-
action(server) {
|
|
57
|
-
server.config.logger.info('');
|
|
58
|
-
server.printUrls();
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
key: 'o',
|
|
63
|
-
description: 'open in browser',
|
|
64
|
-
action(server) {
|
|
65
|
-
server.openBrowser();
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
key: 'c',
|
|
70
|
-
description: 'clear console',
|
|
71
|
-
action(server) {
|
|
72
|
-
server.config.logger.clearScreen('error');
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: 'q',
|
|
77
|
-
description: 'quit',
|
|
78
|
-
async action(server) {
|
|
79
|
-
await server.close().finally(() => process.exit());
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
key: 'C',
|
|
84
|
-
description: 'clear proxy cache',
|
|
85
|
-
action(server) {
|
|
86
|
-
if (server.cache) {
|
|
87
|
-
server.cache.clear();
|
|
88
|
-
server.config.logger.info('Proxy cache cleared');
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
];
|
|
93
|
-
//# sourceMappingURL=shortcuts.js.map
|
package/dist/shortcuts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"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"}
|