@metricinsights/pp-dev 0.9.0 → 0.10.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/CHANGELOG.md +144 -0
- package/README.md +152 -232
- package/dist/cjs/cli.js +1 -1200
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/helpers.js +1 -28
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index-DRre2UkM.js +2 -0
- package/dist/cjs/index-DRre2UkM.js.map +1 -0
- package/dist/cjs/index.js +1 -26
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +19 -14
- package/dist/cjs/plugin-Dx9CDaej.js +2 -0
- package/dist/cjs/plugin-Dx9CDaej.js.map +1 -0
- package/dist/cjs/plugin.js +1 -25
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/client/client.css +3 -287
- package/dist/client/client.css.map +1 -0
- package/dist/client/client.js +110 -14
- package/dist/client/client.js.map +1 -1
- package/dist/client/index.html +39 -26
- package/dist/esm/cli.js +1 -1173
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/helpers.js +1 -24
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index-kmS_-y6Z.js +2 -0
- package/dist/esm/index-kmS_-y6Z.js.map +1 -0
- package/dist/esm/index.js +1 -19
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +19 -14
- package/dist/esm/plugin-H4ccpQoX.js +2 -0
- package/dist/esm/plugin-H4ccpQoX.js.map +1 -0
- package/dist/esm/plugin.js +1 -16
- package/dist/esm/plugin.js.map +1 -1
- package/dist/types/index.d.ts +104 -3
- package/package.json +19 -14
- package/dist/cjs/index-BE4YF5iw.js +0 -331
- package/dist/cjs/index-BE4YF5iw.js.map +0 -1
- package/dist/cjs/plugin-DZS4Taov.js +0 -1315
- package/dist/cjs/plugin-DZS4Taov.js.map +0 -1
- package/dist/client/index.d.ts +0 -2
- package/dist/esm/index-7YgmP5z7.js +0 -308
- package/dist/esm/index-7YgmP5z7.js.map +0 -1
- package/dist/esm/plugin-BeHiwpzF.js +0 -1277
- package/dist/esm/plugin-BeHiwpzF.js.map +0 -1
- package/dist/types/cli.d.ts +0 -3
- package/dist/types/helpers.d.ts +0 -24
- package/dist/types/plugin.d.ts +0 -86
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,107 @@
|
|
|
1
1
|
import { InlineConfig } from 'vite';
|
|
2
|
-
import {
|
|
2
|
+
import { ViteImageOptimizer } from 'vite-plugin-image-optimizer';
|
|
3
3
|
import { NextConfig } from 'next';
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
type RequiredSelection<T, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
|
|
6
|
+
interface DistZipOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Output ZIP archive file name.
|
|
9
|
+
* You can use `[templateName]` placeholder to replace it with the template name.
|
|
10
|
+
* @default `${templateName}.zip`
|
|
11
|
+
*/
|
|
12
|
+
outFileName?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Output directory for the build.
|
|
15
|
+
* @default 'dist-zip'
|
|
16
|
+
*/
|
|
17
|
+
outDir?: string;
|
|
18
|
+
}
|
|
19
|
+
interface VitePPDevOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Backend base URL to MI instance for the local proxy.
|
|
22
|
+
*/
|
|
23
|
+
backendBaseURL?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Portal page ID on the MI instance.
|
|
26
|
+
* @deprecated Use appId instead
|
|
27
|
+
*/
|
|
28
|
+
portalPageId?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Application ID on the MI instance.
|
|
31
|
+
* This is a synonym for portalPageId.
|
|
32
|
+
*/
|
|
33
|
+
appId?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Template name or PP internal name that will be used for the asset generation.
|
|
36
|
+
* Equals to package.json name field value.
|
|
37
|
+
*/
|
|
38
|
+
templateName: string;
|
|
39
|
+
/**
|
|
40
|
+
* Enable or disable template variables loading from the backend.
|
|
41
|
+
*/
|
|
42
|
+
templateLess?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Enable or disable MI top bar and scripts loading from the backend for local development.
|
|
45
|
+
*/
|
|
46
|
+
miHudLess?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Enable or disable request caching to the backend by the local proxy.
|
|
49
|
+
* @default true
|
|
50
|
+
*/
|
|
51
|
+
enableProxyCache?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Request caching time in milliseconds.
|
|
54
|
+
* @default 600000 (10 minutes)
|
|
55
|
+
*/
|
|
56
|
+
proxyCacheTTL?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Disable SSL certificate validation for MI instances with self-signed certificates.
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
disableSSLValidation?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Image optimizer options.
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
imageOptimizer?: boolean | Parameters<typeof ViteImageOptimizer>[0];
|
|
67
|
+
/**
|
|
68
|
+
* Output directory for the build.
|
|
69
|
+
* @default 'dist'
|
|
70
|
+
*/
|
|
71
|
+
outDir?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Disable or enable packing the build output into a ZIP archive.
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
distZip?: boolean | DistZipOptions;
|
|
77
|
+
/**
|
|
78
|
+
* Backups an asset directory path for sync with the MI instance.
|
|
79
|
+
* @default backups
|
|
80
|
+
*/
|
|
81
|
+
syncBackupsDir?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Enable Metric Insights v7 features.
|
|
84
|
+
* @default false
|
|
85
|
+
* @since 0.8.0
|
|
86
|
+
*/
|
|
87
|
+
v7Features?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Personal Access Token for the MI instance.
|
|
90
|
+
* @default process.env.MI_ACCESS_TOKEN
|
|
91
|
+
* @since 0.10.0
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* import vitePPDev from '@metricinsights/pp-dev';
|
|
95
|
+
*
|
|
96
|
+
* export default vitePPDev({
|
|
97
|
+
* personalAccessToken: process.env.MI_ACCESS_TOKEN,
|
|
98
|
+
* // other options...
|
|
99
|
+
* });
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
personalAccessToken?: string;
|
|
103
|
+
}
|
|
104
|
+
type NormalizedVitePPDevOptions = RequiredSelection<VitePPDevOptions, 'templateName' | 'templateLess' | 'miHudLess' | 'enableProxyCache' | 'proxyCacheTTL' | 'disableSSLValidation' | 'imageOptimizer' | 'outDir' | 'distZip' | 'syncBackupsDir' | 'v7Features' | 'personalAccessToken'>;
|
|
5
105
|
|
|
6
106
|
type PPDevConfig = Omit<VitePPDevOptions, 'templateName'>;
|
|
7
107
|
type PPWatchConfig = {
|
|
@@ -21,4 +121,5 @@ declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfi
|
|
|
21
121
|
defaultConfig?: any;
|
|
22
122
|
}) => Promise<NextConfig>;
|
|
23
123
|
|
|
24
|
-
export {
|
|
124
|
+
export { getViteConfig, withPPDev };
|
|
125
|
+
export type { PPDevConfig, PPWatchConfig };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metricinsights/pp-dev",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.10.1",
|
|
5
5
|
"description": "Portal Page dev build tool",
|
|
6
6
|
"bin": {
|
|
7
7
|
"pp-dev": "bin/pp-dev.js"
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"build:node": "rollup --config rollup.config.ts --configPlugin typescript && node scripts/postbuild.js",
|
|
16
16
|
"build:client": "rollup --config src/client/rollup.config.ts --configPlugin typescript",
|
|
17
17
|
"test": "cd test && npm run build",
|
|
18
|
+
"release": "semantic-release",
|
|
18
19
|
"version": "npm version --commit-hooks false --git-tag-version false"
|
|
19
20
|
},
|
|
20
21
|
"exports": {
|
|
@@ -49,16 +50,15 @@
|
|
|
49
50
|
"node": ">=20"
|
|
50
51
|
},
|
|
51
52
|
"peerDependencies": {
|
|
52
|
-
"next": ">= 13 <
|
|
53
|
+
"next": ">= 13 < 16"
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
|
-
"axios": "^1.7.
|
|
56
|
+
"axios": "^1.7.8",
|
|
56
57
|
"cac": "^6.7.14",
|
|
57
58
|
"deepmerge-ts": "^7.1.3",
|
|
58
59
|
"diff-match-patch": "^1.0.5",
|
|
59
60
|
"dir-compare": "^5.0.0",
|
|
60
61
|
"ejs": "^3.1.10",
|
|
61
|
-
"esbuild": "^0.24.0",
|
|
62
62
|
"express": "^4.21.1",
|
|
63
63
|
"extract-zip": "^2.0.1",
|
|
64
64
|
"file-type": "^19.6.0",
|
|
@@ -68,23 +68,22 @@
|
|
|
68
68
|
"jsdom": "^25.0.1",
|
|
69
69
|
"memory-cache": "^0.2.0",
|
|
70
70
|
"picocolors": "^1.1.1",
|
|
71
|
-
"
|
|
72
|
-
"pino-pretty": "^13.0.0",
|
|
73
|
-
"sass": "^1.80.7",
|
|
71
|
+
"sass": "^1.87.0",
|
|
74
72
|
"sharp": "^0.33.5",
|
|
75
73
|
"source-map-support": "^0.5.21",
|
|
76
74
|
"svgo": "^3.3.2",
|
|
77
75
|
"svgtofont": "^6.0.1",
|
|
78
76
|
"typescript": "^5.6.0",
|
|
79
|
-
"vite": "^5.4.11",
|
|
80
77
|
"vite-plugin-image-optimizer": "^1.1.8",
|
|
81
78
|
"vite-plugin-zip-pack": "^1.2.4",
|
|
82
79
|
"winston": "^3.17.0"
|
|
83
80
|
},
|
|
84
81
|
"devDependencies": {
|
|
85
|
-
"@rollup/plugin-
|
|
82
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
86
83
|
"@rollup/plugin-typescript": "^12.1.1",
|
|
87
84
|
"@rollup/plugin-url": "^8.0.2",
|
|
85
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
86
|
+
"@semantic-release/git": "^10.0.1",
|
|
88
87
|
"@types/diff": "^6.0.0",
|
|
89
88
|
"@types/diff-match-patch": "^1.0.36",
|
|
90
89
|
"@types/ejs": "^3.1.5",
|
|
@@ -92,12 +91,17 @@
|
|
|
92
91
|
"@types/jsdom": "^21.1.7",
|
|
93
92
|
"@types/memory-cache": "^0.2.6",
|
|
94
93
|
"@types/node": "^20.17.6",
|
|
94
|
+
"esbuild": "^0.25.3",
|
|
95
95
|
"prettier": "^3.3.3",
|
|
96
96
|
"rimraf": "^6.0.1",
|
|
97
|
-
"rollup": "^4.
|
|
98
|
-
"rollup-plugin-dts": "^6.
|
|
99
|
-
"rollup-plugin-scss": "^4.0.
|
|
100
|
-
"
|
|
97
|
+
"rollup": "^4.40.0",
|
|
98
|
+
"rollup-plugin-dts": "^6.2.1",
|
|
99
|
+
"rollup-plugin-scss": "^4.0.1",
|
|
100
|
+
"semantic-release": "^24.2.3",
|
|
101
|
+
"semantic-release-github-pullrequest": "^1.3.0",
|
|
102
|
+
"semantic-release-monorepo": "^8.0.2",
|
|
103
|
+
"tslib": "^2.8.1",
|
|
104
|
+
"vite": "^6.3.3"
|
|
101
105
|
},
|
|
102
106
|
"files": [
|
|
103
107
|
"bin",
|
|
@@ -106,7 +110,8 @@
|
|
|
106
110
|
"README.md",
|
|
107
111
|
"LICENSE.md",
|
|
108
112
|
"pp-dev.d.ts",
|
|
109
|
-
"assets"
|
|
113
|
+
"assets",
|
|
114
|
+
"CHANGELOG.md"
|
|
110
115
|
],
|
|
111
116
|
"directories": {
|
|
112
117
|
"test": "test"
|
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var plugin = require('./plugin-DZS4Taov.js');
|
|
4
|
-
var vite = require('vite');
|
|
5
|
-
var path = require('path');
|
|
6
|
-
var fs = require('fs');
|
|
7
|
-
var url = require('url');
|
|
8
|
-
var ejs = require('ejs');
|
|
9
|
-
var esbuild = require('esbuild');
|
|
10
|
-
|
|
11
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
12
|
-
function _interopNamespaceDefault(e) {
|
|
13
|
-
var n = Object.create(null);
|
|
14
|
-
if (e) {
|
|
15
|
-
Object.keys(e).forEach(function (k) {
|
|
16
|
-
if (k !== 'default') {
|
|
17
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return e[k]; }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
n.default = e;
|
|
26
|
-
return Object.freeze(n);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
30
|
-
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
31
|
-
|
|
32
|
-
const PP_DEV_PACKAGE_DIR = path.resolve(
|
|
33
|
-
// import.meta.url is `dist/node/constants.js` after bundle
|
|
34
|
-
(typeof __filename !== 'undefined' && __filename) || url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BE4YF5iw.js', document.baseURI).href))), '../../..');
|
|
35
|
-
const PP_DEV_CLIENT_ENTRY = path.resolve(PP_DEV_PACKAGE_DIR, 'dist/client/client.js');
|
|
36
|
-
const { version, name } = JSON.parse(fs.readFileSync(path.resolve(PP_DEV_PACKAGE_DIR, 'package.json')).toString());
|
|
37
|
-
const VERSION = version;
|
|
38
|
-
const PACKAGE_NAME = name;
|
|
39
|
-
const PP_WATCH_CONFIG_NAMES = ['.pp-watch.config.js', '.pp-watch.config.ts', '.pp-watch.config.json'];
|
|
40
|
-
const PP_DEV_CONFIG_NAMES = [
|
|
41
|
-
'.pp-dev.config.js',
|
|
42
|
-
'.pp-dev.config.cjs',
|
|
43
|
-
'.pp-dev.config.mjs',
|
|
44
|
-
'.pp-dev.config.ts',
|
|
45
|
-
'.pp-dev.config.cts',
|
|
46
|
-
'.pp-dev.config.mts',
|
|
47
|
-
'.pp-dev.config.json',
|
|
48
|
-
'pp-dev.config.js',
|
|
49
|
-
'pp-dev.config.cjs',
|
|
50
|
-
'pp-dev.config.mjs',
|
|
51
|
-
'pp-dev.config.ts',
|
|
52
|
-
'pp-dev.config.cts',
|
|
53
|
-
'pp-dev.config.mts',
|
|
54
|
-
'pp-dev.config.json',
|
|
55
|
-
];
|
|
56
|
-
|
|
57
|
-
const DIRNAME = path__namespace.dirname((typeof __filename !== 'undefined' && __filename) || url.fileURLToPath(new URL('.', (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-BE4YF5iw.js', document.baseURI).href)))));
|
|
58
|
-
const PACKAGE_IMPORT = `/${PACKAGE_NAME}/client`;
|
|
59
|
-
const CLIENT_PATH = `/${PACKAGE_IMPORT}`;
|
|
60
|
-
function clientInjectionPlugin(opts) {
|
|
61
|
-
const clientPanelTpl = fs__namespace.readFileSync(path__namespace.resolve(DIRNAME, 'client', 'index.html'), {
|
|
62
|
-
encoding: 'utf8',
|
|
63
|
-
flag: 'r',
|
|
64
|
-
});
|
|
65
|
-
let render;
|
|
66
|
-
let base = '';
|
|
67
|
-
let baseChanged = false;
|
|
68
|
-
return {
|
|
69
|
-
name: 'pp-dev:client',
|
|
70
|
-
apply: 'serve',
|
|
71
|
-
config: (config) => {
|
|
72
|
-
config.optimizeDeps?.exclude?.push(`${PACKAGE_NAME}/client`);
|
|
73
|
-
return config;
|
|
74
|
-
},
|
|
75
|
-
resolveId(source) {
|
|
76
|
-
const pkgRegExp = new RegExp(`^\\/?${PACKAGE_NAME}\\/client\\/(.*)$`);
|
|
77
|
-
if (pkgRegExp.test(source)) {
|
|
78
|
-
return {
|
|
79
|
-
id: vite.normalizePath(path__namespace.join(PP_DEV_PACKAGE_DIR, 'dist/client', source.replace(pkgRegExp, '$1'))),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
transformIndexHtml: async (html, ctx) => {
|
|
84
|
-
if (ctx.server?.config.base && base !== ctx.server?.config.base) {
|
|
85
|
-
base = ctx.server.config.base;
|
|
86
|
-
baseChanged = true;
|
|
87
|
-
}
|
|
88
|
-
const result = {
|
|
89
|
-
html,
|
|
90
|
-
tags: [
|
|
91
|
-
{
|
|
92
|
-
tag: 'link',
|
|
93
|
-
injectTo: 'head',
|
|
94
|
-
attrs: { rel: 'stylesheet', href: path__namespace.posix.join(base, PACKAGE_NAME, 'client/client.css') },
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
};
|
|
98
|
-
const { backendBaseURL, templateLess, portalPageId, canSync = true, } = ctx.server?.config.clientInjectionPlugin || {};
|
|
99
|
-
if (!render || baseChanged) {
|
|
100
|
-
render = ejs.compile(clientPanelTpl.replace(new RegExp(`${CLIENT_PATH}`, 'g'), path__namespace.posix.join(base, PACKAGE_IMPORT)), { openDelimiter: '{', closeDelimiter: '}', async: true });
|
|
101
|
-
}
|
|
102
|
-
result.tags.push({
|
|
103
|
-
tag: 'div',
|
|
104
|
-
injectTo: 'body-prepend',
|
|
105
|
-
children: await render?.({ PACKAGE_NAME, VERSION, backendBaseURL, templateLess, portalPageId, canSync }),
|
|
106
|
-
});
|
|
107
|
-
result.tags.push({
|
|
108
|
-
tag: 'script',
|
|
109
|
-
injectTo: 'body-prepend',
|
|
110
|
-
attrs: { src: path__namespace.posix.join(base, PACKAGE_NAME, 'client/client.js'), type: 'module' },
|
|
111
|
-
});
|
|
112
|
-
baseChanged = false;
|
|
113
|
-
return result;
|
|
114
|
-
},
|
|
115
|
-
configureServer(server) {
|
|
116
|
-
server.config.server?.fs?.allow?.push(vite.normalizePath(path__namespace.resolve(server.config.root, path__namespace.dirname(PP_DEV_CLIENT_ENTRY))));
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
const START = '/*!\n';
|
|
122
|
-
const PREFIX = ' * ';
|
|
123
|
-
const END = '\n */';
|
|
124
|
-
const replacer = (substring, $1) => `${PREFIX}${$1}`;
|
|
125
|
-
function header (chunk) {
|
|
126
|
-
const content = `***** DO NOT EDIT THIS CODE! *****
|
|
127
|
-
***** ------- *****`;
|
|
128
|
-
return `${START}${content.replace(/^(.*)$/gm, replacer)}${END}`;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
async function loadTsConfig(filePath) {
|
|
132
|
-
const cwd = process.cwd();
|
|
133
|
-
let isESM = false;
|
|
134
|
-
if (/\.m[jt]s$/.test(filePath)) {
|
|
135
|
-
isESM = true;
|
|
136
|
-
}
|
|
137
|
-
else if (/\.c[jt]s$/.test(filePath)) {
|
|
138
|
-
isESM = false;
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
// check package.json for type: "module" and set `isESM` to true
|
|
142
|
-
try {
|
|
143
|
-
const cwd = process.cwd();
|
|
144
|
-
const pkg = fs.readFileSync(path.resolve(cwd, 'package.json'), {
|
|
145
|
-
encoding: 'utf-8',
|
|
146
|
-
flag: 'r',
|
|
147
|
-
});
|
|
148
|
-
isESM = !!pkg && JSON.parse(pkg).type === 'module';
|
|
149
|
-
}
|
|
150
|
-
catch (e) {
|
|
151
|
-
//
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
const result = await esbuild.build({
|
|
155
|
-
absWorkingDir: cwd,
|
|
156
|
-
entryPoints: [filePath],
|
|
157
|
-
outfile: 'out.js',
|
|
158
|
-
write: false,
|
|
159
|
-
target: ['node14.18', 'node16'],
|
|
160
|
-
platform: 'node',
|
|
161
|
-
bundle: true,
|
|
162
|
-
format: isESM ? 'esm' : 'cjs',
|
|
163
|
-
mainFields: ['main'],
|
|
164
|
-
sourcemap: 'inline',
|
|
165
|
-
metafile: true,
|
|
166
|
-
});
|
|
167
|
-
const { text: code } = result.outputFiles[0];
|
|
168
|
-
const fileBase = `pp-config.timestamp-${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
169
|
-
const fileNameTmp = `${fileBase}.js`;
|
|
170
|
-
const fileUrl = url.pathToFileURL(path.resolve(cwd, fileNameTmp)).toString();
|
|
171
|
-
fs.writeFileSync(fileNameTmp, code);
|
|
172
|
-
let config = {};
|
|
173
|
-
try {
|
|
174
|
-
const conf = (await import(fileUrl)).default;
|
|
175
|
-
config = conf?.default || conf;
|
|
176
|
-
}
|
|
177
|
-
finally {
|
|
178
|
-
fs.unlink(fileNameTmp, () => {
|
|
179
|
-
//
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
return config;
|
|
183
|
-
}
|
|
184
|
-
async function loadJsConfig(filePath) {
|
|
185
|
-
return (await import(url.pathToFileURL(filePath).toString())).default;
|
|
186
|
-
}
|
|
187
|
-
async function loadJSONConfig(filePath) {
|
|
188
|
-
return JSON.parse(fs.readFileSync(filePath, { encoding: 'utf-8' }));
|
|
189
|
-
}
|
|
190
|
-
async function loadConfig(dirFiles, configNames) {
|
|
191
|
-
for (const configName of configNames) {
|
|
192
|
-
if (dirFiles.includes(configName)) {
|
|
193
|
-
if (/\.[cm]?ts$/i.test(configName)) {
|
|
194
|
-
return (await loadTsConfig(configName));
|
|
195
|
-
}
|
|
196
|
-
else if (/\.[cm]?js$/i.test(configName)) {
|
|
197
|
-
return (await loadJsConfig(path.resolve('.', configName)));
|
|
198
|
-
}
|
|
199
|
-
else if (configName.endsWith('.json')) {
|
|
200
|
-
return (await loadJSONConfig(path.resolve('.', configName)));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return null;
|
|
205
|
-
}
|
|
206
|
-
function getPkg() {
|
|
207
|
-
const cwd = process.cwd();
|
|
208
|
-
try {
|
|
209
|
-
return JSON.parse(fs.readFileSync(path.resolve(cwd, 'package.json'), {
|
|
210
|
-
encoding: 'utf-8',
|
|
211
|
-
flag: 'r',
|
|
212
|
-
}));
|
|
213
|
-
}
|
|
214
|
-
catch {
|
|
215
|
-
return {};
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
async function getConfig() {
|
|
219
|
-
const endsWithRegExp = /\.config\.(([cm]?ts)|([cm]?js)|(json))$/;
|
|
220
|
-
const cwd = process.cwd();
|
|
221
|
-
const dirContent = fs.readdirSync(cwd, { withFileTypes: true })
|
|
222
|
-
.filter((value) => value.isFile() && endsWithRegExp.test(value.name))
|
|
223
|
-
.map((value) => value.name);
|
|
224
|
-
let config = {};
|
|
225
|
-
let configFound = false;
|
|
226
|
-
const newConfig = await loadConfig(dirContent, PP_DEV_CONFIG_NAMES);
|
|
227
|
-
if (newConfig) {
|
|
228
|
-
config = newConfig;
|
|
229
|
-
configFound = true;
|
|
230
|
-
}
|
|
231
|
-
if (dirContent.length) {
|
|
232
|
-
if (!configFound) {
|
|
233
|
-
const watchConfig = await loadConfig(dirContent, PP_WATCH_CONFIG_NAMES);
|
|
234
|
-
if (watchConfig) {
|
|
235
|
-
config = {
|
|
236
|
-
backendBaseURL: watchConfig.baseURL,
|
|
237
|
-
portalPageId: watchConfig.portalPageId,
|
|
238
|
-
};
|
|
239
|
-
configFound = true;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
const pkg = getPkg();
|
|
244
|
-
if (!configFound && typeof pkg['pp-dev'] === 'object') {
|
|
245
|
-
config = pkg['pp-dev'];
|
|
246
|
-
}
|
|
247
|
-
return config;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
const pathPagePrefix = '/p';
|
|
251
|
-
const pathTemplatePrefix = '/pt';
|
|
252
|
-
async function getViteConfig() {
|
|
253
|
-
const pkg = getPkg();
|
|
254
|
-
const templateName = pkg.name;
|
|
255
|
-
const ppDevConfig = await getConfig();
|
|
256
|
-
const normalizedPPDevConfig = plugin.normalizeVitePPDevConfig(Object.assign(ppDevConfig, { templateName }));
|
|
257
|
-
const plugins = [plugin.vitePPDev(normalizedPPDevConfig), clientInjectionPlugin()];
|
|
258
|
-
const { outDir, distZip, imageOptimizer, templateLess } = normalizedPPDevConfig;
|
|
259
|
-
if (imageOptimizer) {
|
|
260
|
-
const { ViteImageOptimizer } = await import('vite-plugin-image-optimizer');
|
|
261
|
-
plugins.push(ViteImageOptimizer(typeof imageOptimizer === 'object' ? imageOptimizer : undefined));
|
|
262
|
-
}
|
|
263
|
-
if (distZip) {
|
|
264
|
-
const { default: zipPack } = await import('vite-plugin-zip-pack');
|
|
265
|
-
plugins.push({
|
|
266
|
-
...zipPack(typeof distZip === 'object'
|
|
267
|
-
? distZip
|
|
268
|
-
: {
|
|
269
|
-
outFileName: `${templateName}.zip`,
|
|
270
|
-
}),
|
|
271
|
-
enforce: 'post',
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
return {
|
|
275
|
-
base: templateLess ? `${pathPagePrefix}/${templateName}` : `${pathTemplatePrefix}/${templateName}`,
|
|
276
|
-
server: {
|
|
277
|
-
port: 3000,
|
|
278
|
-
},
|
|
279
|
-
build: {
|
|
280
|
-
minify: false,
|
|
281
|
-
assetsInlineLimit: 4096,
|
|
282
|
-
rollupOptions: {
|
|
283
|
-
output: {
|
|
284
|
-
banner: header,
|
|
285
|
-
},
|
|
286
|
-
},
|
|
287
|
-
outDir,
|
|
288
|
-
},
|
|
289
|
-
css: {
|
|
290
|
-
modules: { localsConvention: 'dashes' },
|
|
291
|
-
scss: {
|
|
292
|
-
api: 'modern',
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
ppDevConfig: normalizedPPDevConfig,
|
|
296
|
-
plugins,
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
function withPPDev(nextjsConfig, ppDevConfig) {
|
|
300
|
-
return async (phase, nextConfig = {}) => {
|
|
301
|
-
const { PHASE_DEVELOPMENT_SERVER } = await import('next/constants.js');
|
|
302
|
-
const config = await getConfig();
|
|
303
|
-
const pkg = getPkg();
|
|
304
|
-
const templateName = pkg.name;
|
|
305
|
-
const nextConfiguration = typeof nextjsConfig === 'function' ? await nextjsConfig(phase, nextConfig) : nextjsConfig;
|
|
306
|
-
if (phase === PHASE_DEVELOPMENT_SERVER) {
|
|
307
|
-
const devConfig = Object.assign(config, ppDevConfig);
|
|
308
|
-
const { templateLess } = devConfig;
|
|
309
|
-
return Object.assign({ basePath: templateLess ? `/p/${templateName}` : `/pt/${templateName}`, trailingSlash: true }, nextConfiguration, {
|
|
310
|
-
serverRuntimeConfig: {
|
|
311
|
-
templateName,
|
|
312
|
-
ppDevConfig: devConfig,
|
|
313
|
-
},
|
|
314
|
-
publicRuntimeConfig: {
|
|
315
|
-
templateName,
|
|
316
|
-
ppDevConfig: {
|
|
317
|
-
backendBaseURL: devConfig.backendBaseURL,
|
|
318
|
-
portalPageId: devConfig.portalPageId,
|
|
319
|
-
templateLess: devConfig.templateLess,
|
|
320
|
-
},
|
|
321
|
-
},
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
return Object.assign({ basePath: `/pt/${templateName}` }, nextConfiguration);
|
|
325
|
-
};
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
exports.VERSION = VERSION;
|
|
329
|
-
exports.getViteConfig = getViteConfig;
|
|
330
|
-
exports.withPPDev = withPPDev;
|
|
331
|
-
//# sourceMappingURL=index-BE4YF5iw.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BE4YF5iw.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]}
|