@metricinsights/pp-dev 0.1.1 → 0.3.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.
Files changed (62) hide show
  1. package/README.md +49 -15
  2. package/dist/api/assets.d.ts +15 -0
  3. package/dist/api/assets.js +58 -0
  4. package/dist/api/assets.js.map +1 -0
  5. package/dist/api/base.d.ts +5 -0
  6. package/dist/api/base.js +7 -0
  7. package/dist/api/base.js.map +1 -0
  8. package/dist/api/constants.d.ts +1 -0
  9. package/dist/api/constants.js +2 -0
  10. package/dist/api/constants.js.map +1 -0
  11. package/dist/api/index.d.ts +2 -0
  12. package/dist/api/index.js +3 -0
  13. package/dist/api/index.js.map +1 -0
  14. package/dist/api/page.d.ts +16 -0
  15. package/dist/api/page.js +43 -0
  16. package/dist/api/page.js.map +1 -0
  17. package/dist/cli.js +103 -0
  18. package/dist/cli.js.map +1 -1
  19. package/dist/client/client.css +131 -28
  20. package/dist/client/client.js +40 -1
  21. package/dist/client/client.js.map +1 -1
  22. package/dist/client/index.html +2 -2
  23. package/dist/index.d.ts +4 -0
  24. package/dist/index.js +40 -8
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/client.service.d.ts +9 -3
  27. package/dist/lib/client.service.js +32 -6
  28. package/dist/lib/client.service.js.map +1 -1
  29. package/dist/lib/dist.service.d.ts +31 -0
  30. package/dist/lib/dist.service.js +148 -0
  31. package/dist/lib/dist.service.js.map +1 -0
  32. package/dist/lib/helpers/content-encoding.helper.d.ts +3 -0
  33. package/dist/lib/helpers/content-encoding.helper.js +26 -0
  34. package/dist/lib/helpers/content-encoding.helper.js.map +1 -0
  35. package/dist/lib/helpers/server.d.ts +14 -0
  36. package/dist/lib/helpers/server.js +40 -0
  37. package/dist/lib/helpers/server.js.map +1 -0
  38. package/dist/lib/helpers/url.helper.d.ts +4 -0
  39. package/dist/lib/helpers/url.helper.js +13 -0
  40. package/dist/lib/helpers/url.helper.js.map +1 -1
  41. package/dist/lib/load-pp-data.middleware.d.ts +5 -0
  42. package/dist/lib/load-pp-data.middleware.js +28 -0
  43. package/dist/lib/load-pp-data.middleware.js.map +1 -0
  44. package/dist/lib/pp-redirect.middleware.d.ts +3 -0
  45. package/dist/lib/pp-redirect.middleware.js +21 -0
  46. package/dist/lib/pp-redirect.middleware.js.map +1 -0
  47. package/dist/lib/pp.middleware.d.ts +15 -3
  48. package/dist/lib/pp.middleware.js +58 -43
  49. package/dist/lib/pp.middleware.js.map +1 -1
  50. package/dist/lib/proxy-cache.middleware.d.ts +5 -4
  51. package/dist/lib/proxy-cache.middleware.js +5 -5
  52. package/dist/lib/proxy-cache.middleware.js.map +1 -1
  53. package/dist/lib/proxy-pass.middleware.d.ts +2 -1
  54. package/dist/lib/proxy-pass.middleware.js +2 -2
  55. package/dist/lib/proxy-pass.middleware.js.map +1 -1
  56. package/dist/lib/rewrite-response.middleware.d.ts +6 -0
  57. package/dist/lib/rewrite-response.middleware.js +23 -0
  58. package/dist/lib/rewrite-response.middleware.js.map +1 -0
  59. package/dist/plugin.d.ts +2 -0
  60. package/dist/plugin.js +30 -62
  61. package/dist/plugin.js.map +1 -1
  62. package/package.json +8 -3
package/README.md CHANGED
@@ -26,11 +26,11 @@ Config examples:
26
26
  // pp-dev.config.js
27
27
 
28
28
  /**
29
- * @type {import('@metricinsights/pp-dev').PPDevConfig}
30
- */
29
+ * @type {import('@metricinsights/pp-dev').PPDevConfig}
30
+ */
31
31
  module.exports = {
32
- backendBaseURL: 'https://example.metricinsights.com',
33
- portalPageId: 1,
32
+ backendBaseURL: 'https://example.metricinsights.com',
33
+ portalPageId: 1,
34
34
  };
35
35
  ```
36
36
 
@@ -42,8 +42,8 @@ portalPageId: 1,
42
42
  import { PPDevConfig } from '@metricinsights/pp-dev';
43
43
 
44
44
  const config: PPDevConfig = {
45
- backendBaseURL: 'https://example.metricinsights.com',
46
- portalPageId: 1,
45
+ backendBaseURL: 'https://example.metricinsights.com',
46
+ portalPageId: 1,
47
47
  };
48
48
 
49
49
  export default config;
@@ -53,8 +53,8 @@ export default config;
53
53
 
54
54
  ```json
55
55
  {
56
- "backendBaseURL": "https://example.metricinsights.com",
57
- "portalPageId": 1
56
+ "backendBaseURL": "https://example.metricinsights.com",
57
+ "portalPageId": 1
58
58
  }
59
59
  ```
60
60
 
@@ -62,13 +62,13 @@ export default config;
62
62
 
63
63
  ```json
64
64
  {
65
- "name": "<project-name>",
66
- "version": "1.0.0",
67
- "scripts": {},
68
- "pp-dev": {
69
- "backendBaseURL": "https://example.metricinsights.com",
70
- "portalPageId": 1
71
- }
65
+ "name": "<project-name>",
66
+ "version": "1.0.0",
67
+ "scripts": {},
68
+ "pp-dev": {
69
+ "backendBaseURL": "https://example.metricinsights.com",
70
+ "portalPageId": 1
71
+ }
72
72
  }
73
73
  ```
74
74
 
@@ -115,6 +115,22 @@ Example: `true`
115
115
 
116
116
  Description: Disables template variables transforming. Used when you develop the portal page without a template
117
117
 
118
+ #### `enableProxyCache`
119
+
120
+ Type: Boolean
121
+
122
+ Default: `true`
123
+
124
+ Description: Enables proxy cache. If you want to disable proxy cache, you need to set this option to `false`
125
+
126
+ #### `proxyCacheTTL`
127
+
128
+ Type: Number
129
+
130
+ Default: `10 * 60 * 1000`
131
+
132
+ Description: Defines proxy cache TTL in milliseconds
133
+
118
134
  ### CLI API description
119
135
 
120
136
  - `pp-dev help` - show CLI's help
@@ -146,3 +162,21 @@ Description: Disables template variables transforming. Used when you develop the
146
162
  Also, you may need to add `type="module"` to every script that is added by the `script` tag with the `src` property.
147
163
  Actually would be good to have only one `script` tag with the `src` tag.
148
164
  Every other JS file will be imported with construction like this `import helper from './helpers';`
165
+
166
+ ## [Next.js](https://nextjs.org/) support
167
+
168
+ If you want to use Portal Page helper with Next.js, you need to add pp-dev config to your root directory.
169
+
170
+ Then you need to change your `dev` script in `package.json` to `pp-dev next`.
171
+
172
+ The last step is to wrap your next config with `withPPDev` function.
173
+
174
+ ```javascript
175
+ // next.config.js
176
+
177
+ const { withPPDev } = require('@metricinsights/pp-dev');
178
+
179
+ module.exports = withPPDev({
180
+ // your next config
181
+ });
182
+ ```
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ import { Axios } from 'axios';
3
+ import { Headers } from './constants.js';
4
+ import { BaseAPI } from './base.js';
5
+ export declare class AssetsAPI extends BaseAPI {
6
+ constructor(axios: Axios);
7
+ downloadPageAssets(portalPageId: number | string, headers?: Headers): Promise<Buffer>;
8
+ uploadPageAssets(portalPageId: number | string, file: Buffer, headers?: Headers): Promise<{
9
+ status?: "OK" | undefined;
10
+ }>;
11
+ downloadTemplateAssets(templateId: number | string, headers?: Headers): Promise<Buffer>;
12
+ uploadTemplateAssets(templateId: number | string, file: Buffer, headers?: Headers): Promise<{
13
+ status?: "OK" | undefined;
14
+ }>;
15
+ }
@@ -0,0 +1,58 @@
1
+ import { FormData, File } from 'formdata-node';
2
+ import { BaseAPI } from './base.js';
3
+ export class AssetsAPI extends BaseAPI {
4
+ constructor(axios) {
5
+ super(axios);
6
+ }
7
+ async downloadPageAssets(portalPageId, headers) {
8
+ return this.axios
9
+ .get(`/admin/page/downloadassets/id/${portalPageId}`, {
10
+ withCredentials: true,
11
+ headers: Object.assign({}, headers, { accept: '*/*' }),
12
+ responseType: 'arraybuffer',
13
+ })
14
+ .then((res) => res.data);
15
+ }
16
+ async uploadPageAssets(portalPageId, file, headers) {
17
+ const formData = new FormData();
18
+ const assetFile = new File([file.buffer], 'file.zip', { type: 'application/zip' });
19
+ formData.append('file', assetFile);
20
+ const url = `/admin/page/uploadassets/id/${portalPageId}`;
21
+ return this.axios
22
+ .post(`/admin/page/uploadassets/id/${portalPageId}`, formData, {
23
+ withCredentials: true,
24
+ headers: Object.assign({}, headers, {
25
+ accept: 'application/json',
26
+ 'Content-Type': 'multipart/form-data',
27
+ Referer: this.axios.getUri({ url }),
28
+ }),
29
+ })
30
+ .then((res) => res.data);
31
+ }
32
+ async downloadTemplateAssets(templateId, headers) {
33
+ return this.axios
34
+ .get(`/admin/pagetemplate/downloadassets/id/${templateId}`, {
35
+ withCredentials: true,
36
+ headers: Object.assign({}, headers, { accept: '*/*' }),
37
+ responseType: 'arraybuffer',
38
+ })
39
+ .then((res) => res.data);
40
+ }
41
+ async uploadTemplateAssets(templateId, file, headers) {
42
+ const formData = new FormData();
43
+ const assetFile = new File([file.buffer], 'file.zip', { type: 'application/zip' });
44
+ formData.append('file', assetFile, 'file.zip');
45
+ const url = `/admin/pagetemplate/uploadassets/id/${templateId}`;
46
+ return this.axios
47
+ .post(url, formData, {
48
+ withCredentials: true,
49
+ headers: Object.assign({}, headers, {
50
+ accept: 'application/json',
51
+ 'Content-Type': 'multipart/form-data',
52
+ Referer: this.axios.getUri({ url }),
53
+ }),
54
+ })
55
+ .then((res) => res.data);
56
+ }
57
+ }
58
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/api/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Axios } from 'axios';
2
+ export declare class BaseAPI {
3
+ protected axios: Axios;
4
+ constructor(axios: Axios);
5
+ }
@@ -0,0 +1,7 @@
1
+ export class BaseAPI {
2
+ axios;
3
+ constructor(axios) {
4
+ this.axios = axios;
5
+ }
6
+ }
7
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IACR,KAAK,CAAQ;IAEvB,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export type Headers = Record<string, string | undefined>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/api/constants.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './assets.js';
2
+ export * from './page.js';
@@ -0,0 +1,3 @@
1
+ export * from './assets.js';
2
+ export * from './page.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Headers } from './constants.js';
2
+ import { BaseAPI } from './base.js';
3
+ export interface Page {
4
+ name: string;
5
+ enabled: 'Y' | 'N';
6
+ visible_in_homepage: 'Y' | 'N';
7
+ internal_name: string;
8
+ tags?: string;
9
+ template?: string;
10
+ }
11
+ export declare class PageAPI extends BaseAPI {
12
+ getAll(headers?: Headers): Promise<Page[]>;
13
+ get(id: number | string, headers?: Headers): Promise<Page>;
14
+ getPageContent(internalPageName: string, headers?: Headers): Promise<string>;
15
+ create(page: Page, headers?: Headers): Promise<Page>;
16
+ }
@@ -0,0 +1,43 @@
1
+ import { BaseAPI } from './base.js';
2
+ export class PageAPI extends BaseAPI {
3
+ async getAll(headers) {
4
+ return (await this.axios.get('/api/page', {
5
+ withCredentials: true,
6
+ headers: Object.assign({}, headers, {
7
+ Accept: 'application/json',
8
+ 'Content-Type': 'application/json',
9
+ 'Cache-Control': 'no-cache',
10
+ Pragma: 'no-cache',
11
+ Expires: '0',
12
+ }),
13
+ })).data.pages;
14
+ }
15
+ async get(id, headers) {
16
+ return (await this.axios.get(`/api/page/id/${id}`, {
17
+ withCredentials: true,
18
+ headers: Object.assign({}, headers, {
19
+ accept: 'application/json',
20
+ 'content-type': 'application/json',
21
+ }),
22
+ })).data.page;
23
+ }
24
+ async getPageContent(internalPageName, headers) {
25
+ return (await this.axios.get(`/p/${internalPageName}`, {
26
+ withCredentials: true,
27
+ headers: Object.assign({}, headers, {
28
+ accept: 'text/html',
29
+ 'content-type': 'application/json',
30
+ }),
31
+ })).data;
32
+ }
33
+ async create(page, headers) {
34
+ return (await this.axios.post('/api/page', page, {
35
+ withCredentials: true,
36
+ headers: Object.assign({}, headers, {
37
+ accept: 'application/json',
38
+ 'content-type': 'application/json',
39
+ }),
40
+ })).data.page;
41
+ }
42
+ }
43
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/api/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,MAAM,OAAO,OAAQ,SAAQ,OAAO;IAClC,KAAK,CAAC,MAAM,CAAC,OAAiB;QAC5B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,WAAW,EAAE;YACnD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU;gBAC3B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,GAAG;aACb,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAmB,EAAE,OAAiB;QAC9C,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,gBAAgB,EAAE,EAAE,EAAE;YACzD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,gBAAwB,EAAE,OAAiB;QAC9D,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAS,MAAM,gBAAgB,EAAE,EAAE;YACrD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,WAAW;gBACnB,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC;IACT,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,OAAiB;QACxC,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,WAAW,EAAE,IAAI,EAAE;YACvD,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC;IACd,CAAC;CACF"}
package/dist/cli.js CHANGED
@@ -7,6 +7,15 @@ import { VERSION } from './constants.js';
7
7
  import { bindShortcuts } from './shortcuts.js';
8
8
  import { getViteConfig } from './index.js';
9
9
  import { mergeConfig, build, optimizeDeps, resolveConfig, preview, createLogger, loadConfigFromFile, } from 'vite';
10
+ import { parse } from 'url';
11
+ import { initRewriteResponse } from './lib/rewrite-response.middleware.js';
12
+ import { initPPRedirect } from './lib/pp-redirect.middleware.js';
13
+ import { MiAPI } from './lib/pp.middleware.js';
14
+ import { initProxyCache } from './lib/proxy-cache.middleware.js';
15
+ import proxyPassMiddleware from './lib/proxy-pass.middleware.js';
16
+ import { initLoadPPData } from './lib/load-pp-data.middleware.js';
17
+ import { cutUrlParams, urlReplacer } from './lib/helpers/url.helper.js';
18
+ import { createDevServer } from './lib/helpers/server.js';
10
19
  const cli = cac('pp-dev');
11
20
  const colors = createColors();
12
21
  let profileSession = global.__pp_dev_profile_session;
@@ -154,6 +163,100 @@ cli
154
163
  process.exit(1);
155
164
  }
156
165
  });
166
+ cli
167
+ .command('next [root]', 'start dev server')
168
+ .alias('next-serve')
169
+ .alias('next-dev')
170
+ .option('--host [host]', `[string] specify hostname`)
171
+ .option('--port <port>', `[number] specify port`, { default: 3000 })
172
+ .option('--https', `[boolean] use TLS + HTTP/2`)
173
+ .option('--open [path]', `[boolean | string] open browser on startup`)
174
+ .option('--cors', `[boolean] enable CORS`)
175
+ .option('--strictPort', `[boolean] exit if specified port is already in use`)
176
+ .option('--force', `[boolean] force the optimizer to ignore the cache and re-bundle`)
177
+ .action(async (root, options) => {
178
+ filterDuplicateOptions(options);
179
+ const { default: next } = await import('next');
180
+ const server = createDevServer(options.logLevel);
181
+ const opts = cleanOptions(options);
182
+ const app = next({ dev: true, hostname: opts.host, port: opts.port });
183
+ const handle = app.getRequestHandler();
184
+ await app.prepare();
185
+ const nextServer = (await app.getServer());
186
+ let base = nextServer.nextConfig.basePath;
187
+ if (!base.endsWith('/')) {
188
+ base += '/';
189
+ }
190
+ const baseWithoutTrailingSlash = base.substring(0, base.lastIndexOf('/'));
191
+ const templateName = nextServer.nextConfig.serverRuntimeConfig.templateName;
192
+ const ppDevConfig = nextServer.nextConfig.serverRuntimeConfig.ppDevConfig;
193
+ const { backendBaseURL, portalPageId, templateLess = true, enableProxyCache = true, miHudLess = true, proxyCacheTTL = 10 * 60 * 1000, } = ppDevConfig;
194
+ server.use(initPPRedirect(base, templateName));
195
+ if (backendBaseURL) {
196
+ const baseUrlHost = new URL(backendBaseURL).host;
197
+ const mi = new MiAPI(backendBaseURL, {
198
+ headers: {
199
+ host: baseUrlHost,
200
+ referer: backendBaseURL,
201
+ origin: backendBaseURL.replace(/^(https?:\/\/)([^/]+)(\/.*)?$/i, '$1$2'),
202
+ },
203
+ portalPageId,
204
+ templateLess,
205
+ });
206
+ if (enableProxyCache) {
207
+ let ttl = +proxyCacheTTL;
208
+ if (!ttl || Number.isNaN(ttl) || ttl < 0) {
209
+ ttl = 10 * 60 * 1000;
210
+ }
211
+ server.use(initProxyCache({ devServer: server, ttl }));
212
+ }
213
+ server.use(proxyPassMiddleware({
214
+ devServer: server,
215
+ baseURL: backendBaseURL,
216
+ proxyIgnore: ['/@vite', '/@metricinsights', '/@', baseWithoutTrailingSlash],
217
+ }));
218
+ const isIndexRegExp = new RegExp(`^((${base})|/)$`);
219
+ server.use(initLoadPPData(isIndexRegExp, mi, ppDevConfig));
220
+ server.use(initRewriteResponse((url) => {
221
+ return isIndexRegExp.test(cutUrlParams(url));
222
+ }, (response, req) => {
223
+ return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
224
+ }));
225
+ }
226
+ server.all('*', (req, res) => {
227
+ const parsedUrl = parse(req.url, true);
228
+ handle(req, res, parsedUrl);
229
+ });
230
+ try {
231
+ await new Promise((resolve) => {
232
+ if (opts.host) {
233
+ resolve(server.listen(opts.port, opts.host, () => {
234
+ }));
235
+ }
236
+ else {
237
+ resolve(server.listen(opts.port, () => {
238
+ }));
239
+ }
240
+ });
241
+ const info = server.config.logger.info;
242
+ const ppDevStartTime = global.__pp_dev_start_time ?? false;
243
+ const startupDurationString = ppDevStartTime
244
+ ? colors.dim(`ready in ${colors.reset(colors.bold(Math.ceil(performance.now() - ppDevStartTime)))} ms`)
245
+ : '';
246
+ info(`\n ${colors.green(`${colors.bold('PP-DEV')} v${VERSION}`)} ${startupDurationString}\n`, {
247
+ clear: true,
248
+ });
249
+ server.printUrls(base);
250
+ }
251
+ catch (e) {
252
+ const logger = createLogger(options.logLevel);
253
+ logger.error(colors.red(`error when starting dev server:\n${e.stack}`), {
254
+ error: e,
255
+ });
256
+ stopProfiler(logger.info);
257
+ process.exit(1);
258
+ }
259
+ });
157
260
  cli
158
261
  .command('build [root]', 'build for production')
159
262
  .option('--target <target>', `[string] transpile target (default: 'modules')`)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}