@metricinsights/pp-dev 0.6.0 → 0.8.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.
@@ -9,7 +9,7 @@ import * as memoryCache from 'memory-cache';
9
9
  import * as path from 'path';
10
10
  import { promises } from 'fs';
11
11
  import * as crypto from 'crypto';
12
- import * as process from 'process';
12
+ import * as process$1 from 'process';
13
13
  import * as child_process from 'child_process';
14
14
  import * as console from 'console';
15
15
  import { deflateSync, brotliDecompressSync, unzipSync, inflateSync, brotliCompressSync, gzipSync } from 'zlib';
@@ -29,7 +29,7 @@ const urlPathReplacer = (urlPath, destinationPath, content) => {
29
29
  };
30
30
  const redirect = (res, url, statusCode) => {
31
31
  res.setHeader('location', url);
32
- res.statusCode = statusCode || 302;
32
+ res.statusCode = statusCode;
33
33
  res.end();
34
34
  };
35
35
  function cutUrlParams(url) {
@@ -59,6 +59,14 @@ const colors = createColors();
59
59
 
60
60
  const hostOriginRegExp = /^(https?:\/\/)([^/]+)(\/.*)?$/i;
61
61
  const PROXY_HEADER = 'X-PP-Proxy';
62
+ // TODO: Implement interceptor for streaming responses
63
+ function streamResponseInterceptor(interceptor) {
64
+ return async (proxyRes, req, res) => {
65
+ res.setHeader(PROXY_HEADER, 1);
66
+ res.setHeaders(new Map(Object.entries(proxyRes.headers)));
67
+ proxyRes.pipe(res);
68
+ };
69
+ }
62
70
  function initProxy(opts) {
63
71
  const { rewritePath = /^\/(?!pt).*/i, baseURL = '', devServer, disableSSLValidation = false } = opts;
64
72
  if (!baseURL) {
@@ -68,93 +76,136 @@ function initProxy(opts) {
68
76
  const origin = baseURL.replace(hostOriginRegExp, '$1$2');
69
77
  const fileType = import('file-type');
70
78
  const logger = createLogger();
71
- return createProxyMiddleware((pathname) => {
72
- if ((opts.proxyIgnore || []).some((value) => {
73
- if (typeof value === 'string') {
74
- return pathname.startsWith(value);
75
- }
76
- else if (typeof value.test === 'function') {
77
- return value.test(pathname);
78
- }
79
- return true;
80
- })) {
81
- return false;
82
- }
83
- if (typeof rewritePath === 'string') {
84
- return pathname.startsWith(rewritePath);
85
- }
86
- else if (Array.isArray(rewritePath)) {
87
- return rewritePath.some((rP) => pathname.startsWith(rP));
88
- }
89
- else if (typeof rewritePath.test === 'function') {
90
- return rewritePath.test(pathname);
91
- }
92
- return false;
93
- }, {
79
+ return createProxyMiddleware({
94
80
  /**
95
81
  * IMPORTANT: avoid res.end being called automatically
96
82
  **/
97
- selfHandleResponse: true,
83
+ selfHandleResponse: true, // res.end() will be called internally by responseInterceptor()
84
+ pathFilter: (pathname, req) => {
85
+ if ((opts.proxyIgnore || []).some((value) => {
86
+ if (typeof value === 'string') {
87
+ return pathname.startsWith(value);
88
+ }
89
+ else if (typeof value.test === 'function') {
90
+ return value.test(pathname);
91
+ }
92
+ return true;
93
+ })) {
94
+ // Ignored paths
95
+ return false;
96
+ }
97
+ if (typeof rewritePath === 'string') {
98
+ return pathname.startsWith(rewritePath);
99
+ }
100
+ else if (Array.isArray(rewritePath)) {
101
+ return rewritePath.some((rP) => pathname.startsWith(rP));
102
+ }
103
+ else if (typeof rewritePath.test === 'function') {
104
+ return rewritePath.test(pathname);
105
+ }
106
+ return false;
107
+ },
98
108
  target: baseURL,
99
109
  changeOrigin: true,
100
110
  autoRewrite: true,
101
- logLevel: 'silent',
111
+ cookieDomainRewrite: {
112
+ [host]: 'localhost',
113
+ },
114
+ logger: {
115
+ info: () => {
116
+ //
117
+ },
118
+ log: () => {
119
+ //
120
+ },
121
+ error: () => {
122
+ //
123
+ },
124
+ warn: () => {
125
+ //
126
+ },
127
+ },
102
128
  secure: !disableSSLValidation,
103
129
  headers: {
104
130
  host,
105
131
  origin,
106
132
  },
107
- onProxyReq(proxyReq, req, res) {
108
- const host = req.headers.host;
109
- const referer = proxyReq.getHeader('referer');
110
- logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${req.url} -> ${colors.green(proxyReq.method)} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
111
- if (host && referer && typeof referer === 'string') {
112
- proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
113
- }
114
- req.socket.on('close', () => {
115
- setTimeout(() => {
116
- if (!proxyReq.destroyed) {
117
- proxyReq.destroy();
133
+ on: {
134
+ proxyReq(proxyReq, req, res) {
135
+ const host = req.headers.host;
136
+ const referer = proxyReq.getHeader('referer');
137
+ logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${req.url} -> ${colors.green(proxyReq.method)} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
138
+ if (host && referer && typeof referer === 'string') {
139
+ proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
140
+ }
141
+ req.socket.on('close', () => {
142
+ setTimeout(() => {
143
+ if (!proxyReq.destroyed) {
144
+ proxyReq.destroy();
145
+ }
146
+ }, 200);
147
+ });
148
+ return proxyReq;
149
+ },
150
+ proxyRes: (serverRes, req, res) => {
151
+ if (serverRes.headers['content-type']?.includes('text/event-stream') ||
152
+ (serverRes.headers['transfer-encoding']?.includes('chunked') &&
153
+ serverRes.headers['x-accel-buffering'] === 'no')) {
154
+ logger.info(`${colors.blue('Start streaming for request:')} ${colors.green(req.method)} ${req.url}`);
155
+ const streamInterceptor = streamResponseInterceptor();
156
+ return streamInterceptor(serverRes, req, res);
157
+ }
158
+ const rewriteInterceptor = responseInterceptor(async (responseBuffer, proxyRes, req, res) => {
159
+ res.setHeader(PROXY_HEADER, 1);
160
+ const type = await (await fileType).fileTypeFromBuffer(responseBuffer);
161
+ if (type) {
162
+ return responseBuffer;
118
163
  }
119
- }, 200);
120
- });
121
- return proxyReq;
122
- },
123
- onProxyRes: responseInterceptor(async (responseBuffer, proxyRes, req, res) => {
124
- res.setHeader(PROXY_HEADER, 1);
125
- const type = await (await fileType).fileTypeFromBuffer(responseBuffer);
126
- if (type) {
127
- return responseBuffer;
128
- }
129
- else {
130
- let response = responseBuffer.toString('utf8'); // convert buffer to string
131
- try {
132
- const reqUrl = new URL(req.url ?? '', `http://${host}`);
133
- if (reqUrl.searchParams && reqUrl.searchParams.has('proxyRedirect')) {
134
- response +=
135
- '<script>' +
136
- 'const params = new URLSearchParams(window.location.search);' +
137
- "if (params.has('proxyRedirect')) {" +
138
- " setTimeout(() => { window.location = params.get('proxyRedirect'); }, 50);" +
139
- '}' +
140
- '</script>';
164
+ else {
165
+ let response = responseBuffer.toString('utf8'); // convert buffer to string
166
+ try {
167
+ const reqUrl = new URL(req.url ?? '', `http://${host}`);
168
+ if (reqUrl.searchParams && reqUrl.searchParams.has('proxyRedirect')) {
169
+ const redirectToFunction = function () {
170
+ let url = window.location.href;
171
+ const func = function () {
172
+ const params = new URLSearchParams(window.location.search);
173
+ if (!params.has('proxyRedirect')) {
174
+ return;
175
+ }
176
+ if (url !== window.location.href) {
177
+ url = window.location.href;
178
+ setTimeout(func, 2000);
179
+ }
180
+ else {
181
+ window.location.href = params.get('proxyRedirect');
182
+ }
183
+ };
184
+ setTimeout(func, 2000);
185
+ };
186
+ response += '<script>' + `(${redirectToFunction.toString()})()` + '</script>';
187
+ }
188
+ }
189
+ catch {
190
+ //
191
+ }
192
+ const reqHost = req.headers.host ?? '';
193
+ // manipulate response and return the result
194
+ return urlPathReplacer('/auth/saml/login', '/login', urlReplacer(host, reqHost, response));
141
195
  }
196
+ });
197
+ return rewriteInterceptor(serverRes, req, res);
198
+ },
199
+ error(err, req, res) {
200
+ const errorMessage = `Proxy error: "${err.message}" when trying to "${req.method} ${req.url}"\n\n${err.stack}`;
201
+ logger.error(errorMessage);
202
+ if (res.writable) {
203
+ res.writeHead(500, {
204
+ 'Content-Type': 'text/plain',
205
+ });
142
206
  }
143
- catch {
144
- //
145
- }
146
- const reqHost = req.headers.host ?? '';
147
- // manipulate response and return the result
148
- return urlPathReplacer('/auth/saml/login', '/login', urlReplacer(host, reqHost, response));
149
- }
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);
207
+ res.end(errorMessage);
208
+ },
158
209
  },
159
210
  });
160
211
  }
@@ -644,7 +695,7 @@ class DistService {
644
695
  logger;
645
696
  constructor(pageName, syncOptions) {
646
697
  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 || {};
698
+ const { backupFolder = path.resolve(process$1.cwd(), 'backups'), distZipFolder = path.resolve(process$1.cwd(), 'dist-zip'), distZipFilename = `${this.pageName}.zip`, backupNameTemplate = `{${TEMPLATE_PART_PAGE_NAME}}-{${TEMPLATE_PART_DATE}}.zip`, dateFormat = (date) => date.toISOString().replace(/:/g, '-').replace(/\..*$/, ''), } = syncOptions || {};
648
699
  this.backupFolder = backupFolder;
649
700
  this.backupNameTemplate = backupNameTemplate;
650
701
  this.dateFormat = dateFormat;
@@ -736,8 +787,8 @@ class DistService {
736
787
  // Colorized log output with message about build start
737
788
  this.logger.info(colors.cyan('[DistService] Build started'));
738
789
  const proc = child_process.spawn('node', [path.resolve(pluginPath, './bin/pp-dev.js'), 'build'], {
739
- cwd: process.cwd(),
740
- env: process.env,
790
+ cwd: process$1.cwd(),
791
+ env: process$1.env,
741
792
  stdio: 'inherit',
742
793
  });
743
794
  proc.on('message', (msg) => {
@@ -759,7 +810,7 @@ class DistService {
759
810
  // Colorized log output with message about build end
760
811
  this.logger.info(colors.cyan('[DistService] Build finished'));
761
812
  });
762
- const assetFile = path.resolve(process.cwd(), this.distZipFolder, this.distZipFilename);
813
+ const assetFile = path.resolve(process$1.cwd(), this.distZipFolder, this.distZipFilename);
763
814
  if (!(await promises.stat(assetFile))) {
764
815
  throw new Error(`File ${assetFile} not found`);
765
816
  }
@@ -808,8 +859,8 @@ function encodeContent(content, contentEncoding) {
808
859
  * @param rewrite Rewrite response content handler
809
860
  */
810
861
  function initRewriteResponse(predicate, rewrite) {
811
- return (req, res, next) => {
812
- if (predicate(req.url ?? '', req, res)) {
862
+ return async (req, res, next) => {
863
+ if (await predicate(req.url ?? '', req, res)) {
813
864
  const logger = createLogger();
814
865
  logger.info(`Rewrite response for ${req.url}`);
815
866
  const end = res.end;
@@ -845,6 +896,7 @@ function initPPRedirect(base, templateName) {
845
896
  const findPaths = ['/', baseWithoutTrailingSlash];
846
897
  if (templateName) {
847
898
  findPaths.push(`/pt/${templateName}`);
899
+ findPaths.push(`/pl/${templateName}`);
848
900
  }
849
901
  // Redirect from `/` and `/pt/${templateName}` and `${base}` (without a training slash) to portal page address
850
902
  if (findPaths.includes(pathname)) {
@@ -904,7 +956,8 @@ function isVitePPDevOptions(options) {
904
956
  options.imageOptimizer === undefined) &&
905
957
  (typeof options.outDir === 'string' || options.outDir === undefined) &&
906
958
  (typeof options.distZip === 'boolean' || typeof options.distZip === 'object' || options.distZip === undefined) &&
907
- (typeof options.syncBackupsDir === 'string' || options.syncBackupsDir === undefined));
959
+ (typeof options.syncBackupsDir === 'string' || options.syncBackupsDir === undefined) &&
960
+ (typeof options.v7Features === 'boolean' || options.v7Features === undefined));
908
961
  }
909
962
  function throwConfigError(config) {
910
963
  if (typeof config !== 'object') {
@@ -948,10 +1001,13 @@ function throwConfigError(config) {
948
1001
  if (config.syncBackupsDir !== undefined && typeof config.syncBackupsDir !== 'string') {
949
1002
  throw new Error('VitePPDevOptions.syncBackupsDir must be a string');
950
1003
  }
1004
+ if (config.v7Features !== undefined && typeof config.v7Features !== 'boolean') {
1005
+ throw new Error('VitePPDevOptions.v7Features must be a boolean');
1006
+ }
951
1007
  }
952
1008
  function normalizeVitePPDevConfig(config) {
953
1009
  !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 || {};
1010
+ const { enableProxyCache = true, proxyCacheTTL = 10 * 60 * 1000, disableSSLValidation = false, imageOptimizer = true, miHudLess = false, templateLess = false, outDir = 'dist', distZip = true, syncBackupsDir = 'backups', v7Features = false, } = config || {};
955
1011
  let distZipConfig = distZip;
956
1012
  if (distZipConfig === true) {
957
1013
  distZipConfig = {
@@ -989,18 +1045,26 @@ function normalizeVitePPDevConfig(config) {
989
1045
  outDir,
990
1046
  distZip: distZipConfig,
991
1047
  syncBackupsDir,
1048
+ v7Features,
992
1049
  ...config,
993
1050
  };
994
1051
  }
995
1052
  function vitePPDev(options) {
996
- const { templateName, templateLess, backendBaseURL, miHudLess, portalPageId, enableProxyCache, proxyCacheTTL, disableSSLValidation, distZip, syncBackupsDir, } = options || {};
1053
+ const { templateName, templateLess, backendBaseURL, miHudLess, portalPageId, enableProxyCache, proxyCacheTTL, disableSSLValidation, distZip, syncBackupsDir, v7Features, } = options || {};
997
1054
  // Avoid server caching for index.html file when first loading
998
1055
  let isFirstRequest = true;
1056
+ process.cwd();
999
1057
  return {
1000
1058
  name: 'vite-pp-dev',
1001
1059
  apply: 'serve',
1002
1060
  config: (config) => {
1003
1061
  config.clientInjectionPlugin = { backendBaseURL, portalPageId, templateLess };
1062
+ if (v7Features) {
1063
+ config.base = `/pl/${templateName}`;
1064
+ }
1065
+ if (config.root) {
1066
+ config.root;
1067
+ }
1004
1068
  return config;
1005
1069
  },
1006
1070
  transformIndexHtml: async (html, ctx) => {
@@ -1050,21 +1114,23 @@ function vitePPDev(options) {
1050
1114
  const isIndexRegExp = new RegExp(`^((${base})|/)$`);
1051
1115
  // Get portal page variables from the backend (also, redirect magic)
1052
1116
  server.middlewares.use(initLoadPPData(isIndexRegExp, mi, options));
1053
- server.middlewares.use(initRewriteResponse((url) => {
1054
- return isIndexRegExp.test(cutUrlParams(url));
1055
- }, (response, req) => {
1056
- return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
1057
- }));
1058
1117
  const distService = distZip !== false
1059
1118
  ? new DistService(templateName, Object.assign({ backupDir: syncBackupsDir }, typeof distZip === 'object'
1060
1119
  ? { distZipFolder: distZip.outDir, distZipFilename: distZip.outFileName }
1061
1120
  : undefined))
1062
1121
  : undefined;
1063
1122
  new ClientService(server, { distService, miAPI: mi });
1123
+ return () => {
1124
+ server.middlewares.use(initRewriteResponse((url) => {
1125
+ return url.endsWith('index.html');
1126
+ }, (response, req) => {
1127
+ return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
1128
+ }));
1129
+ };
1064
1130
  }
1065
1131
  },
1066
1132
  };
1067
1133
  }
1068
1134
 
1069
1135
  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
1136
+ //# sourceMappingURL=plugin-BdSItqbx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-BdSItqbx.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","process","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]}
@@ -1,4 +1,4 @@
1
- export { v as default, n as normalizeVitePPDevConfig } from './plugin-63f01789.js';
1
+ export { v as default, n as normalizeVitePPDevConfig } from './plugin-BdSItqbx.js';
2
2
  import 'http-proxy-middleware';
3
3
  import 'url';
4
4
  import 'vite';
@@ -72,8 +72,14 @@ interface VitePPDevOptions {
72
72
  * @default backups
73
73
  */
74
74
  syncBackupsDir?: string;
75
+ /**
76
+ * Enable Metric Insights v7 features.
77
+ * @default false
78
+ * @since 0.8.0
79
+ */
80
+ v7Features?: boolean;
75
81
  }
76
- type NormalizedVitePPDevOptions = RequiredSelection<VitePPDevOptions, 'templateName' | 'templateLess' | 'miHudLess' | 'enableProxyCache' | 'proxyCacheTTL' | 'disableSSLValidation' | 'imageOptimizer' | 'outDir' | 'distZip' | 'syncBackupsDir'>;
82
+ type NormalizedVitePPDevOptions = RequiredSelection<VitePPDevOptions, 'templateName' | 'templateLess' | 'miHudLess' | 'enableProxyCache' | 'proxyCacheTTL' | 'disableSSLValidation' | 'imageOptimizer' | 'outDir' | 'distZip' | 'syncBackupsDir' | 'v7Features'>;
77
83
  declare function normalizeVitePPDevConfig(config: VitePPDevOptions): NormalizedVitePPDevOptions;
78
84
  declare function vitePPDev(options: NormalizedVitePPDevOptions): Plugin;
79
85
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metricinsights/pp-dev",
3
3
  "type": "module",
4
- "version": "0.6.0",
4
+ "version": "0.8.0",
5
5
  "description": "Portal Page dev build tool",
6
6
  "bin": {
7
7
  "pp-dev": "bin/pp-dev.js"
@@ -45,54 +45,59 @@
45
45
  }
46
46
  },
47
47
  "license": "ISC",
48
+ "engines": {
49
+ "node": ">=20"
50
+ },
48
51
  "peerDependencies": {
49
52
  "next": ">= 13 < 15"
50
53
  },
51
54
  "dependencies": {
52
- "axios": "^1.4.0",
55
+ "axios": "^1.7.7",
53
56
  "cac": "^6.7.14",
57
+ "deepmerge-ts": "^7.1.3",
54
58
  "diff-match-patch": "^1.0.5",
55
- "dir-compare": "^4.2.0",
56
- "ejs": "^3.1.9",
57
- "esbuild": "^0.17.18",
58
- "express": "^4.18.2",
59
+ "dir-compare": "^5.0.0",
60
+ "ejs": "^3.1.10",
61
+ "esbuild": "^0.24.0",
62
+ "express": "^4.21.1",
59
63
  "extract-zip": "^2.0.1",
60
- "file-type": "^18.3.0",
61
- "formdata-node": "^5.0.1",
62
- "http-proxy-middleware": "^2.0.6",
63
- "isbinaryfile": "^5.0.0",
64
- "jsdom": "^22.0.0",
64
+ "file-type": "^19.6.0",
65
+ "formdata-node": "^6.0.3",
66
+ "http-proxy-middleware": "^3.0.3",
67
+ "isbinaryfile": "^5.0.4",
68
+ "jsdom": "^25.0.1",
65
69
  "memory-cache": "^0.2.0",
66
- "picocolors": "^1.0.0",
67
- "pino": "^8.18.0",
68
- "pino-pretty": "^10.3.1",
69
- "sass": "^1.62.1",
70
- "sharp": "^0.33.2",
70
+ "picocolors": "^1.1.1",
71
+ "pino": "^9.0.0",
72
+ "pino-pretty": "^13.0.0",
73
+ "sass": "^1.80.7",
74
+ "sharp": "^0.33.5",
71
75
  "source-map-support": "^0.5.21",
72
- "svgo": "^3.2.0",
73
- "svgtofont": "^4.1.2",
74
- "typescript": "^5.0.4",
75
- "vite": "^4.3.4",
76
- "vite-plugin-image-optimizer": "^1.1.7",
77
- "vite-plugin-zip-pack": "^1.0.5",
78
- "winston": "^3.11.0"
76
+ "svgo": "^3.3.2",
77
+ "svgtofont": "^6.0.1",
78
+ "typescript": "^5.6.0",
79
+ "vite": "^5.4.11",
80
+ "vite-plugin-image-optimizer": "^1.1.8",
81
+ "vite-plugin-zip-pack": "^1.2.4",
82
+ "winston": "^3.17.0"
79
83
  },
80
84
  "devDependencies": {
81
- "@rollup/plugin-node-resolve": "^15.0.2",
82
- "@rollup/plugin-typescript": "^11.1.1",
83
- "@rollup/plugin-url": "^8.0.1",
84
- "@types/diff": "^5.0.9",
85
+ "@rollup/plugin-node-resolve": "^15.3.0",
86
+ "@rollup/plugin-typescript": "^12.1.1",
87
+ "@rollup/plugin-url": "^8.0.2",
88
+ "@types/diff": "^6.0.0",
85
89
  "@types/diff-match-patch": "^1.0.36",
86
- "@types/ejs": "^3.1.2",
87
- "@types/express": "^4.17.18",
88
- "@types/jsdom": "^21.1.1",
89
- "@types/memory-cache": "^0.2.3",
90
- "prettier": "^2.8.8",
91
- "rimraf": "^5.0.1",
92
- "rollup": "^3.23.0",
93
- "rollup-plugin-dts": "^6.1.0",
94
- "rollup-plugin-scss": "^3.0.0",
95
- "tslib": "^2.5.2"
90
+ "@types/ejs": "^3.1.5",
91
+ "@types/express": "^5.0.0",
92
+ "@types/jsdom": "^21.1.7",
93
+ "@types/memory-cache": "^0.2.6",
94
+ "@types/node": "^20.17.6",
95
+ "prettier": "^3.3.3",
96
+ "rimraf": "^6.0.1",
97
+ "rollup": "^4.26.0",
98
+ "rollup-plugin-dts": "^6.1.1",
99
+ "rollup-plugin-scss": "^4.0.0",
100
+ "tslib": "^2.8.1"
96
101
  },
97
102
  "files": [
98
103
  "bin",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-09809c31.js","sources":["constants.ts","client-injection-plugin.ts","header.ts","config.ts","index.ts"],"sourcesContent":[null,null,null,null,null],"names":["resolve","fileURLToPath","readFileSync","path","fs","normalizePath","compile","build","pathToFileURL","writeFileSync","unlink","readdirSync","normalizeVitePPDevConfig","vitePPDev"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}