ttmg-pack 0.4.8 → 0.4.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 +4 -1
- package/__TEST__/tests/fixtures/game-preload/game.json +20 -0
- package/dist/index.js +30 -5
- package/dist/index.js.map +1 -1
- package/dist/libs/makePkgs/setup.d.ts +13 -0
- package/package.json +1 -1
- package/dist/libs/checkPkgs/checkPkgPath.d.ts +0 -1
- package/dist/libs/extractPkgs/hasAnyNodeModulesShallow.d.ts +0 -1
- package/dist/libs/extractPkgs/index.d.ts +0 -6
- package/dist/libs/makePkgs/extract/NodeModuleExtractor.d.ts +0 -39
- package/dist/libs/makePkgs/extract/hasAnyNodeModulesShallow.d.ts +0 -1
- package/dist/libs/makePkgs/extract/index.d.ts +0 -6
- package/dist/libs/makePkgs/extract.d.ts +0 -4
- package/dist/utils/NodeModuleExtractor.d.ts +0 -38
- package/dist/utils/overrideConfig.d.ts +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"gameEngine": "unity",
|
|
3
|
+
"parallelPreloadSubpackages": [
|
|
4
|
+
{ "subPkgName": "sub1", "is_startup": true, "size": "100KB" }
|
|
5
|
+
],
|
|
6
|
+
"subpackages": [
|
|
7
|
+
{
|
|
8
|
+
"name": "sub1",
|
|
9
|
+
"root": "subpackages/sub1"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "sub2",
|
|
13
|
+
"root": "subpackages/sub2",
|
|
14
|
+
"independent": true,
|
|
15
|
+
"parallelPreloadSubpackages": [
|
|
16
|
+
{ "subPkgName": "sub1", "is_startup": false, "size": "100KB" }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ==========================================
|
|
3
3
|
* @Description: ttmg pack
|
|
4
|
-
* @Version: 0.4.
|
|
4
|
+
* @Version: 0.4.9
|
|
5
5
|
* @Author: zhanghongyang.mocha
|
|
6
|
-
* @Date: 2026-04
|
|
6
|
+
* @Date: 2026-06-04 17:34:30
|
|
7
7
|
* ==========================================
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
@@ -1753,6 +1753,9 @@ async function checkPkgs(config, context = {}) {
|
|
|
1753
1753
|
];
|
|
1754
1754
|
}
|
|
1755
1755
|
|
|
1756
|
+
function isNonEmptyArray(value) {
|
|
1757
|
+
return Array.isArray(value) && value.length > 0;
|
|
1758
|
+
}
|
|
1756
1759
|
async function setup(config) {
|
|
1757
1760
|
const t = getPackTranslator();
|
|
1758
1761
|
const { entry: entryDir, output: outputDir } = config;
|
|
@@ -1786,7 +1789,13 @@ async function setup(config) {
|
|
|
1786
1789
|
type: 'game',
|
|
1787
1790
|
dependencies: []
|
|
1788
1791
|
};
|
|
1789
|
-
|
|
1792
|
+
// 启动并行预下载配置同构透传:源码主包写在 game.json 顶层,
|
|
1793
|
+
// 编译产物挂到主包 __GAME__ 条目,保证运行时消费的编译产物与线下采集一致。
|
|
1794
|
+
if (isNonEmptyArray(gameJson.parallelPreloadSubpackages)) {
|
|
1795
|
+
packages[GAME_MAIN_PACKAGE_NAME].parallelPreloadSubpackages =
|
|
1796
|
+
gameJson.parallelPreloadSubpackages;
|
|
1797
|
+
}
|
|
1798
|
+
transformSubPackages(gameJson.subpackages).forEach(({ name, root, main, independent, parallelPreloadSubpackages }) => {
|
|
1790
1799
|
// root 是目录
|
|
1791
1800
|
packages[name] = {
|
|
1792
1801
|
url: '',
|
|
@@ -1798,6 +1807,16 @@ async function setup(config) {
|
|
|
1798
1807
|
type: 'game',
|
|
1799
1808
|
dependencies: []
|
|
1800
1809
|
};
|
|
1810
|
+
// 启动并行预下载配置 normalize:仅合法启动 root 允许携带该字段。
|
|
1811
|
+
// 独立分包是合法启动入口 -> 同构挂到对应 packages[name] 条目;
|
|
1812
|
+
// 普通分包不是启动 root,源码侧禁止配置,编译期直接拒绝
|
|
1813
|
+
// (防止 DevTool CLI 写入前校验被绕过的非法 game.json 流入产物)。
|
|
1814
|
+
if (isNonEmptyArray(parallelPreloadSubpackages)) {
|
|
1815
|
+
if (!independent) {
|
|
1816
|
+
throw new Error(`普通分包 ${name} 不是合法启动 root,不允许配置 parallelPreloadSubpackages`);
|
|
1817
|
+
}
|
|
1818
|
+
packages[name].parallelPreloadSubpackages = parallelPreloadSubpackages;
|
|
1819
|
+
}
|
|
1801
1820
|
if (independent) {
|
|
1802
1821
|
fyfPackages.push({
|
|
1803
1822
|
value: name,
|
|
@@ -1849,7 +1868,13 @@ function transformSubPackages(configs) {
|
|
|
1849
1868
|
let main = getMainFromRoot(config.root);
|
|
1850
1869
|
// test
|
|
1851
1870
|
let root = normalizeRoot(config.root);
|
|
1852
|
-
return {
|
|
1871
|
+
return {
|
|
1872
|
+
main,
|
|
1873
|
+
root,
|
|
1874
|
+
name,
|
|
1875
|
+
independent: config.independent || false,
|
|
1876
|
+
parallelPreloadSubpackages: config.parallelPreloadSubpackages,
|
|
1877
|
+
};
|
|
1853
1878
|
});
|
|
1854
1879
|
}
|
|
1855
1880
|
|
|
@@ -2563,7 +2588,7 @@ async function buildPkgs(config, context = {}) {
|
|
|
2563
2588
|
let startTime = Date.now();
|
|
2564
2589
|
logger.init(outputDir, true);
|
|
2565
2590
|
logger.info(t('log.build.version', {
|
|
2566
|
-
version: "0.4.
|
|
2591
|
+
version: "0.4.9",
|
|
2567
2592
|
}));
|
|
2568
2593
|
logger.info(t('log.build.start', { startTime }));
|
|
2569
2594
|
/**
|