gant-core 2.0.8 → 2.0.9
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 +6 -0
- package/lib/cli/create/module/index.mjs +1 -1
- package/lib/core/store/index.js +1 -1
- package/package.json +1 -1
- package/lib/cli/config/defineConfig.js +0 -104
- package/lib/cli/config/index.js +0 -156
- package/lib/cli/copyfiles/index.js +0 -34
- package/lib/cli/create/config/index.js +0 -1233
- package/lib/cli/create/index.js +0 -5
- package/lib/cli/create/module/index.js +0 -33215
- package/lib/cli/helper/index.d.ts +0 -17
- package/lib/cli/i18n/index.js +0 -22186
- package/lib/cli/i18n/utils.js +0 -181
- package/lib/cli/index.js +0 -3656
- package/lib/cli/ms/index.js +0 -23
- package/lib/cli/routes/index.js +0 -76
- package/lib/cli/template/core.txt +0 -1
- package/lib/cli/tsconfig/index.js +0 -71
- package/lib/cli/utils/detectPort.js +0 -121
- package/lib/cli/utils/getJavascriptfile.js +0 -15
- package/lib/cli/utils/index.d.ts +0 -18
- package/lib/cli/utils/index.js +0 -4949
- package/lib/cli/webpack/Webpack.js +0 -61
- package/lib/cli/webpack/config/analyzer.config.js +0 -18
- package/lib/cli/webpack/config/browsers.js +0 -14
- package/lib/cli/webpack/config/cssRules.js +0 -81
- package/lib/cli/webpack/config/default.config.js +0 -180
- package/lib/cli/webpack/config/development.config.js +0 -46
- package/lib/cli/webpack/config/framework/index.js +0 -26
- package/lib/cli/webpack/config/framework/react.js +0 -24
- package/lib/cli/webpack/config/framework/vue.js +0 -34
- package/lib/cli/webpack/config/index.js +0 -24
- package/lib/cli/webpack/config/production.config.js +0 -75
- package/lib/cli/webpack/plugins/copy.js +0 -21
- package/lib/cli/webpack/plugins/index.js +0 -5
- package/lib/core/event/index.js +0 -2
- package/lib/core/microservices/index.js +0 -11
- package/lib/core/utils/index.js +0 -84
- package/lib/helper/acorn-BmLbFX50.js +0 -19
- package/lib/helper/angular-DGof4p_D.js +0 -7
- package/lib/helper/babel-Nwboghbx.js +0 -22
- package/lib/helper/estree-CSMrPe9Y.js +0 -44
- package/lib/helper/flow-h7wrzCJb.js +0 -27
- package/lib/helper/glimmer-Bew2Vz0Y.js +0 -38
- package/lib/helper/graphql-BRv4I30B.js +0 -38
- package/lib/helper/html-uZad-YZz.js +0 -28
- package/lib/helper/index.js +0 -27848
- package/lib/helper/markdown-iwdpU9Ia.js +0 -68
- package/lib/helper/meriyah-UktrHj4H.js +0 -11
- package/lib/helper/postcss-H_0MYJut.js +0 -58
- package/lib/helper/typescript-CqdW0_wW.js +0 -31
- package/lib/helper/yaml-DXNEs-hZ.js +0 -170
package/lib/cli/ms/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var concurrently = require('concurrently');
|
|
6
|
-
|
|
7
|
-
const taskAll = (msConfig) => {
|
|
8
|
-
const commands = Object.keys(msConfig).map(name => {
|
|
9
|
-
msConfig[name];
|
|
10
|
-
return {
|
|
11
|
-
command: `node ${path.resolve(__dirname, './spawn')}.js ${name}`,
|
|
12
|
-
name: name,
|
|
13
|
-
};
|
|
14
|
-
});
|
|
15
|
-
const { result } = concurrently(commands, {
|
|
16
|
-
prefix: 'name', // 使用名称作为日志前缀
|
|
17
|
-
});
|
|
18
|
-
result.then(() => { }, err => {
|
|
19
|
-
console.error(err);
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
exports.taskAll = taskAll;
|
package/lib/cli/routes/index.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var utils_index = require('../utils/index.js');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
|
|
6
|
-
const getComponentTempalte = component => {
|
|
7
|
-
return `lazy: async () =>import('${component}'), loader:async()=> { const Page:any = await import('${component}');return Page.loader||null},`;
|
|
8
|
-
};
|
|
9
|
-
// 生成路由对象的方法
|
|
10
|
-
function generateRouteObject(route) {
|
|
11
|
-
const { component = '', routes, ...rest } = route; // 解构出路由对象的 name、path、component 属性,其余属性保存在 rest 变量中
|
|
12
|
-
const additionalProps = Object.entries(rest)
|
|
13
|
-
.map(([key, value]) => (utils_index.isNull(value) || utils_index.isUndefined(value) ? '' : `${key}: '${value}'`))
|
|
14
|
-
.filter(item => !!item)
|
|
15
|
-
.join(', '); // 处理额外属性
|
|
16
|
-
return `'${route.id}': { ${component ? getComponentTempalte(component) : ''} ${additionalProps} }`;
|
|
17
|
-
}
|
|
18
|
-
function generateRouteMaps(key, route) {
|
|
19
|
-
const additionalProps = Object.entries(route)
|
|
20
|
-
.map(([key, value]) => (utils_index.isNull(value) || utils_index.isUndefined(value) ? '' : `${key}: '${value}'`))
|
|
21
|
-
.filter(item => !!item)
|
|
22
|
-
.join(', '); // 处理额外属性
|
|
23
|
-
return `'${key}': {${additionalProps}}`;
|
|
24
|
-
}
|
|
25
|
-
const generateRoutes = (rootPath, _routes) => {
|
|
26
|
-
const routesPath = path.resolve(rootPath);
|
|
27
|
-
utils_index.generateDir(routesPath);
|
|
28
|
-
let routes = utils_index.isEmpty(_routes) ? [] : _routes;
|
|
29
|
-
routes = Array.isArray(_routes) ? _routes : [_routes];
|
|
30
|
-
// 使用 _.keyBy 先按 path 创建一个映射
|
|
31
|
-
const keyedRoutes = utils_index.keyBy(routes, 'path');
|
|
32
|
-
// 从映射中提取值,这将保留最后出现的每个 path 的对象
|
|
33
|
-
routes = utils_index.values(keyedRoutes);
|
|
34
|
-
const routesMaps = {};
|
|
35
|
-
let index = 0;
|
|
36
|
-
function mapRoutes(routes, parentId = 'root', mpaKey) {
|
|
37
|
-
routes.map(itemRoute => {
|
|
38
|
-
const id = `${index}`;
|
|
39
|
-
routesMaps[id] = {
|
|
40
|
-
...utils_index.omit(itemRoute, 'children'),
|
|
41
|
-
id: id,
|
|
42
|
-
mpaKey: mpaKey ? mpaKey : itemRoute.mpaKey,
|
|
43
|
-
parentId: parentId,
|
|
44
|
-
};
|
|
45
|
-
const children = utils_index.get(itemRoute, 'children', []);
|
|
46
|
-
index++;
|
|
47
|
-
if (utils_index.isEmpty(children))
|
|
48
|
-
return;
|
|
49
|
-
mapRoutes(children, id, itemRoute.mpaKey);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
mapRoutes(routes);
|
|
53
|
-
routes = utils_index.values(routesMaps);
|
|
54
|
-
const routeMapsConent = `export default {
|
|
55
|
-
${Object.keys(routesMaps)
|
|
56
|
-
.map(key => {
|
|
57
|
-
const itemRoute = routesMaps[key];
|
|
58
|
-
return generateRouteMaps(key, itemRoute);
|
|
59
|
-
})
|
|
60
|
-
.join(',\n')}
|
|
61
|
-
}`;
|
|
62
|
-
utils_index.writeFileToJS(path.resolve(routesPath, './maps.ts'), routeMapsConent);
|
|
63
|
-
function generateRouteFile(routes, name = 'index') {
|
|
64
|
-
const content = `
|
|
65
|
-
export default {
|
|
66
|
-
${routes.map(route => generateRouteObject(route)).join(',\n')}
|
|
67
|
-
}
|
|
68
|
-
`;
|
|
69
|
-
utils_index.writeFileToJS(path.resolve(routesPath, `${name}.ts`), content);
|
|
70
|
-
}
|
|
71
|
-
generateRouteFile(routes, 'index');
|
|
72
|
-
return true;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
exports.generateRoutes = generateRoutes;
|
|
76
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "gant-core";
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var node_url = require('node:url');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var fs = require('fs');
|
|
6
|
-
var utils_index = require('../utils/index.js');
|
|
7
|
-
|
|
8
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
|
-
const __dirname$1 = path.dirname(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('tsconfig/index.js', document.baseURI).href))));
|
|
10
|
-
const generateTsConfig = (rootPath, options) => {
|
|
11
|
-
const { cwd, framework, createIncludes = true } = options;
|
|
12
|
-
const currentPath = path.resolve(cwd);
|
|
13
|
-
const srcpath = utils_index.getSrcPath();
|
|
14
|
-
const paths = {
|
|
15
|
-
'@gant/*': [path.resolve(currentPath, srcpath, '.gant/*')],
|
|
16
|
-
...options.paths,
|
|
17
|
-
};
|
|
18
|
-
Object.keys(options.paths)?.map?.(name => {
|
|
19
|
-
paths[name] = [options.paths[name]];
|
|
20
|
-
paths[name + '/*'] = [options.paths[name] + '/*'];
|
|
21
|
-
});
|
|
22
|
-
const includes = [
|
|
23
|
-
path.resolve(currentPath, srcpath, '.gant/*.ts'),
|
|
24
|
-
path.resolve(currentPath, srcpath, '.gant/*.d.ts'),
|
|
25
|
-
path.resolve(currentPath, srcpath, '.gant/**/*.ts'),
|
|
26
|
-
];
|
|
27
|
-
const types = [
|
|
28
|
-
'*.ts',
|
|
29
|
-
'*.tsx',
|
|
30
|
-
'*.d.ts',
|
|
31
|
-
'**/*.ts',
|
|
32
|
-
'**/*.d.ts',
|
|
33
|
-
'**/*.tsx',
|
|
34
|
-
'**/**/*.ts',
|
|
35
|
-
'**/**/*d.ts',
|
|
36
|
-
'**/**/*.tsx',
|
|
37
|
-
];
|
|
38
|
-
if (framework === 'vue') {
|
|
39
|
-
types.push(...['*.vue', '**/*.vue', '**/**/*.vue']);
|
|
40
|
-
}
|
|
41
|
-
options?.includes?.map?.(itemPath => {
|
|
42
|
-
types.map(pathName => includes.push(path.resolve(itemPath, pathName)));
|
|
43
|
-
});
|
|
44
|
-
const suffix = framework === 'vue' ? 'vue' : 'react';
|
|
45
|
-
const jsonString = fs.readFileSync(path.resolve(__dirname$1, `../template/tsconfig.${suffix}.template.json`), 'utf-8');
|
|
46
|
-
const typesString = fs.readFileSync(path.resolve(__dirname$1, '../template/types.d.txt'), 'utf-8');
|
|
47
|
-
const jsonObj = JSON.parse(jsonString);
|
|
48
|
-
jsonObj.compilerOptions.paths = paths;
|
|
49
|
-
jsonObj.include = includes;
|
|
50
|
-
utils_index.writeFileToJSON(path.resolve(rootPath, 'tsconfig.json'), JSON.stringify(jsonObj));
|
|
51
|
-
utils_index.writeFileToJS(path.resolve(rootPath, 'types.d.ts'), typesString);
|
|
52
|
-
if (!createIncludes)
|
|
53
|
-
return;
|
|
54
|
-
try {
|
|
55
|
-
options?.includes.map(itemPath => {
|
|
56
|
-
const itemDirPath = path.resolve(itemPath, srcpath, '.gant');
|
|
57
|
-
if (fs.existsSync(itemDirPath)) {
|
|
58
|
-
fs.rmdirSync(itemDirPath, { recursive: true });
|
|
59
|
-
}
|
|
60
|
-
fs.mkdirSync(itemDirPath, { recursive: true });
|
|
61
|
-
utils_index.writeFileToJSON(path.resolve(itemDirPath, 'tsconfig.json'), JSON.stringify(jsonObj));
|
|
62
|
-
utils_index.writeFileToJS(path.resolve(itemDirPath, 'types.d.ts'), typesString);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
console.error('创建配置文件错误:', error);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
exports.generateTsConfig = generateTsConfig;
|
|
71
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var net = require('net');
|
|
4
|
-
|
|
5
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
6
|
-
|
|
7
|
-
function getDefaultExportFromCjs (x) {
|
|
8
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
var picocolors = {exports: {}};
|
|
12
|
-
|
|
13
|
-
let p = process || {}, argv = p.argv || [], env = p.env || {};
|
|
14
|
-
let isColorSupported =
|
|
15
|
-
!(!!env.NO_COLOR || argv.includes("--no-color")) &&
|
|
16
|
-
(!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || ((p.stdout || {}).isTTY && env.TERM !== "dumb") || !!env.CI);
|
|
17
|
-
|
|
18
|
-
let formatter = (open, close, replace = open) =>
|
|
19
|
-
input => {
|
|
20
|
-
let string = "" + input, index = string.indexOf(close, open.length);
|
|
21
|
-
return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
let replaceClose = (string, close, replace, index) => {
|
|
25
|
-
let result = "", cursor = 0;
|
|
26
|
-
do {
|
|
27
|
-
result += string.substring(cursor, index) + replace;
|
|
28
|
-
cursor = index + close.length;
|
|
29
|
-
index = string.indexOf(close, cursor);
|
|
30
|
-
} while (~index)
|
|
31
|
-
return result + string.substring(cursor)
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
let createColors = (enabled = isColorSupported) => {
|
|
35
|
-
let f = enabled ? formatter : () => String;
|
|
36
|
-
return {
|
|
37
|
-
isColorSupported: enabled,
|
|
38
|
-
reset: f("\x1b[0m", "\x1b[0m"),
|
|
39
|
-
bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"),
|
|
40
|
-
dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"),
|
|
41
|
-
italic: f("\x1b[3m", "\x1b[23m"),
|
|
42
|
-
underline: f("\x1b[4m", "\x1b[24m"),
|
|
43
|
-
inverse: f("\x1b[7m", "\x1b[27m"),
|
|
44
|
-
hidden: f("\x1b[8m", "\x1b[28m"),
|
|
45
|
-
strikethrough: f("\x1b[9m", "\x1b[29m"),
|
|
46
|
-
|
|
47
|
-
black: f("\x1b[30m", "\x1b[39m"),
|
|
48
|
-
red: f("\x1b[31m", "\x1b[39m"),
|
|
49
|
-
green: f("\x1b[32m", "\x1b[39m"),
|
|
50
|
-
yellow: f("\x1b[33m", "\x1b[39m"),
|
|
51
|
-
blue: f("\x1b[34m", "\x1b[39m"),
|
|
52
|
-
magenta: f("\x1b[35m", "\x1b[39m"),
|
|
53
|
-
cyan: f("\x1b[36m", "\x1b[39m"),
|
|
54
|
-
white: f("\x1b[37m", "\x1b[39m"),
|
|
55
|
-
gray: f("\x1b[90m", "\x1b[39m"),
|
|
56
|
-
|
|
57
|
-
bgBlack: f("\x1b[40m", "\x1b[49m"),
|
|
58
|
-
bgRed: f("\x1b[41m", "\x1b[49m"),
|
|
59
|
-
bgGreen: f("\x1b[42m", "\x1b[49m"),
|
|
60
|
-
bgYellow: f("\x1b[43m", "\x1b[49m"),
|
|
61
|
-
bgBlue: f("\x1b[44m", "\x1b[49m"),
|
|
62
|
-
bgMagenta: f("\x1b[45m", "\x1b[49m"),
|
|
63
|
-
bgCyan: f("\x1b[46m", "\x1b[49m"),
|
|
64
|
-
bgWhite: f("\x1b[47m", "\x1b[49m"),
|
|
65
|
-
|
|
66
|
-
blackBright: f("\x1b[90m", "\x1b[39m"),
|
|
67
|
-
redBright: f("\x1b[91m", "\x1b[39m"),
|
|
68
|
-
greenBright: f("\x1b[92m", "\x1b[39m"),
|
|
69
|
-
yellowBright: f("\x1b[93m", "\x1b[39m"),
|
|
70
|
-
blueBright: f("\x1b[94m", "\x1b[39m"),
|
|
71
|
-
magentaBright: f("\x1b[95m", "\x1b[39m"),
|
|
72
|
-
cyanBright: f("\x1b[96m", "\x1b[39m"),
|
|
73
|
-
whiteBright: f("\x1b[97m", "\x1b[39m"),
|
|
74
|
-
|
|
75
|
-
bgBlackBright: f("\x1b[100m", "\x1b[49m"),
|
|
76
|
-
bgRedBright: f("\x1b[101m", "\x1b[49m"),
|
|
77
|
-
bgGreenBright: f("\x1b[102m", "\x1b[49m"),
|
|
78
|
-
bgYellowBright: f("\x1b[103m", "\x1b[49m"),
|
|
79
|
-
bgBlueBright: f("\x1b[104m", "\x1b[49m"),
|
|
80
|
-
bgMagentaBright: f("\x1b[105m", "\x1b[49m"),
|
|
81
|
-
bgCyanBright: f("\x1b[106m", "\x1b[49m"),
|
|
82
|
-
bgWhiteBright: f("\x1b[107m", "\x1b[49m"),
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
picocolors.exports = createColors();
|
|
87
|
-
picocolors.exports.createColors = createColors;
|
|
88
|
-
|
|
89
|
-
var picocolorsExports = picocolors.exports;
|
|
90
|
-
var color = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports);
|
|
91
|
-
|
|
92
|
-
function checkPort(port) {
|
|
93
|
-
return new Promise(resolve => {
|
|
94
|
-
const server = net.createServer();
|
|
95
|
-
server.on('error', () => {
|
|
96
|
-
server.close();
|
|
97
|
-
resolve(false);
|
|
98
|
-
});
|
|
99
|
-
server.listen(port, '0.0.0.0', () => {
|
|
100
|
-
server.close();
|
|
101
|
-
resolve(true);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
async function detectPort(port, maxAttempts = 20) {
|
|
106
|
-
const originalPort = port;
|
|
107
|
-
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
108
|
-
const available = await checkPort(port);
|
|
109
|
-
if (available)
|
|
110
|
-
return port;
|
|
111
|
-
console.log(color.yellow(`Port ${port} is in use, trying ${port + 1}...`));
|
|
112
|
-
port++;
|
|
113
|
-
}
|
|
114
|
-
throw new Error(`Could not find an available port after ${maxAttempts} attempts starting from ${originalPort}`);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
exports.color = color;
|
|
118
|
-
exports.commonjsGlobal = commonjsGlobal;
|
|
119
|
-
exports.detectPort = detectPort;
|
|
120
|
-
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
|
|
121
|
-
//# sourceMappingURL=detectPort.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var path = require('path');
|
|
4
|
-
var jiti$1 = require('jiti');
|
|
5
|
-
|
|
6
|
-
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
7
|
-
const jiti = jiti$1.createJiti((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('utils/getJavascriptfile.js', document.baseURI).href)));
|
|
8
|
-
function getJavascriptfile(filePath) {
|
|
9
|
-
const resolvedPath = path.resolve(filePath);
|
|
10
|
-
const config = jiti(resolvedPath);
|
|
11
|
-
return config.default || config;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
exports.getJavascriptfile = getJavascriptfile;
|
|
15
|
-
//# sourceMappingURL=getJavascriptfile.js.map
|
package/lib/cli/utils/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
declare function getJavascriptfile(filePath: string): any;
|
|
2
|
-
|
|
3
|
-
declare function loadJSON(filePath: string): any;
|
|
4
|
-
declare function getAbsFile(file: string, cwd: string): string;
|
|
5
|
-
declare function getAbsFiles(opts: {
|
|
6
|
-
files: string[];
|
|
7
|
-
cwd: string;
|
|
8
|
-
}): string[];
|
|
9
|
-
declare function generateDir(tempPath: string): void;
|
|
10
|
-
declare const mergeConfig: (object1: any, object2: any) => any;
|
|
11
|
-
declare function copyFolder(sourceFolder: string, destinationFolder: string): void;
|
|
12
|
-
declare function getMpasPageHtml(templatePath?: string): string;
|
|
13
|
-
declare const writeFileToJS: (filepath: string, content: string) => Promise<void>;
|
|
14
|
-
declare const writeFileToJSON: (filepath: string, content: string) => Promise<void>;
|
|
15
|
-
declare const getSrcPath: () => "src/" | "./";
|
|
16
|
-
declare function getTargetConfigFiles(directory: string, fileName: string): any[];
|
|
17
|
-
|
|
18
|
-
export { copyFolder, generateDir, getAbsFile, getAbsFiles, getJavascriptfile, getMpasPageHtml, getSrcPath, getTargetConfigFiles, loadJSON, mergeConfig, writeFileToJS, writeFileToJSON };
|