@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.
Files changed (85) hide show
  1. package/README.md +79 -35
  2. package/bin/pp-dev.js +4 -10
  3. package/dist/cjs/cli.js +590 -0
  4. package/dist/cjs/cli.js.map +1 -0
  5. package/dist/cjs/helpers.js +29 -0
  6. package/dist/cjs/helpers.js.map +1 -0
  7. package/dist/cjs/index-24d6a380.js +292 -0
  8. package/dist/cjs/index-24d6a380.js.map +1 -0
  9. package/dist/cjs/index.js +28 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/package.json +113 -0
  12. package/dist/cjs/plugin-24dd0a43.js +878 -0
  13. package/dist/cjs/plugin-24dd0a43.js.map +1 -0
  14. package/dist/cjs/plugin.js +20 -0
  15. package/dist/cjs/plugin.js.map +1 -0
  16. package/dist/esm/cli.js +566 -0
  17. package/dist/esm/cli.js.map +1 -0
  18. package/dist/esm/helpers.js +25 -0
  19. package/dist/esm/helpers.js.map +1 -0
  20. package/dist/esm/index-833c47d2.js +268 -0
  21. package/dist/esm/index-833c47d2.js.map +1 -0
  22. package/dist/esm/index.js +20 -0
  23. package/dist/esm/index.js.map +1 -0
  24. package/dist/esm/package.json +113 -0
  25. package/dist/esm/plugin-ecb1c54a.js +843 -0
  26. package/dist/esm/plugin-ecb1c54a.js.map +1 -0
  27. package/dist/esm/plugin.js +14 -0
  28. package/dist/esm/plugin.js.map +1 -0
  29. package/dist/types/cli.d.ts +3 -0
  30. package/dist/types/helpers.d.ts +24 -0
  31. package/dist/types/index.d.ts +18 -0
  32. package/dist/{plugin.d.ts → types/plugin.d.ts} +6 -2
  33. package/package.json +29 -10
  34. package/pp-dev.d.ts +1 -1
  35. package/dist/api/assets.d.ts +0 -15
  36. package/dist/api/assets.js +0 -58
  37. package/dist/api/assets.js.map +0 -1
  38. package/dist/api/constants.d.ts +0 -1
  39. package/dist/api/constants.js +0 -2
  40. package/dist/api/constants.js.map +0 -1
  41. package/dist/api/index.d.ts +0 -2
  42. package/dist/api/index.js +0 -3
  43. package/dist/api/index.js.map +0 -1
  44. package/dist/api/page.d.ts +0 -18
  45. package/dist/api/page.js +0 -46
  46. package/dist/api/page.js.map +0 -1
  47. package/dist/banner/header.d.ts +0 -2
  48. package/dist/banner/header.js +0 -10
  49. package/dist/banner/header.js.map +0 -1
  50. package/dist/cli.d.ts +0 -1
  51. package/dist/cli.js +0 -275
  52. package/dist/cli.js.map +0 -1
  53. package/dist/client/rollup.config.d.ts +0 -2
  54. package/dist/constants.d.ts +0 -6
  55. package/dist/constants.js +0 -18
  56. package/dist/constants.js.map +0 -1
  57. package/dist/index.d.ts +0 -9
  58. package/dist/index.js +0 -150
  59. package/dist/index.js.map +0 -1
  60. package/dist/lib/client.service.d.ts +0 -16
  61. package/dist/lib/client.service.js +0 -59
  62. package/dist/lib/client.service.js.map +0 -1
  63. package/dist/lib/dist.service.d.ts +0 -31
  64. package/dist/lib/dist.service.js +0 -148
  65. package/dist/lib/dist.service.js.map +0 -1
  66. package/dist/lib/helpers/url.helper.d.ts +0 -3
  67. package/dist/lib/helpers/url.helper.js +0 -27
  68. package/dist/lib/helpers/url.helper.js.map +0 -1
  69. package/dist/lib/pp.middleware.d.ts +0 -27
  70. package/dist/lib/pp.middleware.js +0 -155
  71. package/dist/lib/pp.middleware.js.map +0 -1
  72. package/dist/lib/proxy-cache.middleware.d.ts +0 -17
  73. package/dist/lib/proxy-cache.middleware.js +0 -51
  74. package/dist/lib/proxy-cache.middleware.js.map +0 -1
  75. package/dist/lib/proxy-pass.middleware.d.ts +0 -10
  76. package/dist/lib/proxy-pass.middleware.js +0 -90
  77. package/dist/lib/proxy-pass.middleware.js.map +0 -1
  78. package/dist/plugin.js +0 -118
  79. package/dist/plugin.js.map +0 -1
  80. package/dist/plugins/client-injection-plugin.d.ts +0 -12
  81. package/dist/plugins/client-injection-plugin.js +0 -57
  82. package/dist/plugins/client-injection-plugin.js.map +0 -1
  83. package/dist/shortcuts.d.ts +0 -12
  84. package/dist/shortcuts.js +0 -93
  85. 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
@@ -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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"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../src/shortcuts.ts"],"names":[],"mappings":"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"}