add src/dst bundle inputs, prod bundle config
This commit is contained in:
parent
783f39bb4e
commit
f78e392e71
4 changed files with 52 additions and 6 deletions
11
app.js
11
app.js
|
|
@ -204,6 +204,17 @@ function init(mod) {
|
||||||
fs.mkdirSync(`alt/main`, { recursive: true });
|
fs.mkdirSync(`alt/main`, { recursive: true });
|
||||||
let body = fs.readFileSync(src);
|
let body = fs.readFileSync(src);
|
||||||
fs.writeFileSync(`alt/main/${key}.js`, body + val);
|
fs.writeFileSync(`alt/main/${key}.js`, body + val);
|
||||||
|
if (true) {
|
||||||
|
// packed
|
||||||
|
src= `src/pack/${key}-main.js`;
|
||||||
|
if (!fs.existsSync(src)) {
|
||||||
|
logger.log('missing:', src);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
fs.mkdirSync(`alt/pack`, { recursive: true });
|
||||||
|
body = fs.readFileSync(src);
|
||||||
|
fs.writeFileSync(`alt/pack/${key}-main.js`, body + val);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
23
bin/bundle-prod.config.json
Normal file
23
bin/bundle-prod.config.json
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"compress": true,
|
||||||
|
"outputs": {
|
||||||
|
"bundle": "./web/boot/bundle-{version}.bin"
|
||||||
|
},
|
||||||
|
"inputs": [
|
||||||
|
{ "root": "web/moto", "prefix": "moto" },
|
||||||
|
{ "root": "web/kiri", "prefix": "kiri" },
|
||||||
|
{ "root": "web/font", "prefix": "font" },
|
||||||
|
{ "root": "src/wasm", "prefix": "wasm" },
|
||||||
|
{ "root": "src/wasm", "prefix": "lib/kiri/wasm" },
|
||||||
|
{ "src": "alt/pack/kiri-main.js", "dst": "lib/main/kiri.js" },
|
||||||
|
{ "src": "src/pack/kiri-main.js", "dst": "lib/main/kiri.js" },
|
||||||
|
{ "src": "src/pack/kiri-work.js", "dst": "lib/kiri/run/worker.js" },
|
||||||
|
{ "src": "src/pack/kiri-pool.js", "dst": "lib/kiri/run/minion.js" },
|
||||||
|
{ "src": "src/gpu/raster-worker.js", "dst": "lib/gpu/raster-worker.js" },
|
||||||
|
{ "src": "src/ext/tween.js", "dst": "lib/ext/tween.js" }
|
||||||
|
],
|
||||||
|
"excludes": [
|
||||||
|
"src/pack",
|
||||||
|
"web/boot/bundle*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -39,8 +39,18 @@ function* walk(dir, seen = new Set()) {
|
||||||
let entries = [];
|
let entries = [];
|
||||||
let virtMap = new Set();
|
let virtMap = new Set();
|
||||||
for (const input of inputs) {
|
for (const input of inputs) {
|
||||||
const root = input.root;
|
const { root, prefix, src, dst } = input;
|
||||||
const prefix = input.prefix || '';
|
|
||||||
|
if (src && dst) {
|
||||||
|
if (virtMap.has(dst)) {
|
||||||
|
console.log('pre-existing', dst);
|
||||||
|
} else {
|
||||||
|
entries.push({ file: src, virt: dst });
|
||||||
|
virtMap.add(dst);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (root)
|
||||||
for (const file of walk(root)) {
|
for (const file of walk(root)) {
|
||||||
const rel = path.relative(root, file).replace(/\\/g, '/');
|
const rel = path.relative(root, file).replace(/\\/g, '/');
|
||||||
const virt = prefix ? `${prefix}/${rel}` : rel;
|
const virt = prefix ? `${prefix}/${rel}` : rel;
|
||||||
|
|
@ -115,6 +125,7 @@ for (const { file, virt } of entries) {
|
||||||
entryMeta.push(record);
|
entryMeta.push(record);
|
||||||
dataParts.push(data);
|
dataParts.push(data);
|
||||||
offset += data.length;
|
offset += data.length;
|
||||||
|
if (debug) console.log('write', virt, data.length);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,16 +93,17 @@
|
||||||
"build-win-arm": "npm run build -- --win --arm64",
|
"build-win-arm": "npm run build -- --win --arm64",
|
||||||
"build-mac": "npm run build -- --mac --arm64",
|
"build-mac": "npm run build -- --mac --arm64",
|
||||||
"build-mac-intel": "npm run build -- --mac --x64",
|
"build-mac-intel": "npm run build -- --mac --x64",
|
||||||
"bundle": "npm run dev -- --alt --dryrun && COMPRESS=1 node bin/bundler.mjs",
|
"bundle": "npm run dev -- --alt --dryrun && COMPRESS=1 node bin/bundler.mjs bin/bundle-prod.config.json",
|
||||||
"bundle:dev": "npm run dev -- --alt --dryrun && node bin/bundler.mjs",
|
"bundle:dev": "npm run dev -- --alt --dryrun && node bin/bundler.mjs",
|
||||||
"clean": "rm -rf build data dist src/pack tmp src.old web.old .bcache",
|
"bundle:prod": "npm run dev -- --alt --dryrun && node bin/bundler.mjs bin/bundle-prod.config.json",
|
||||||
|
"clean": "rm -rf alt build data dist src/pack tmp src.old web.old .bcache",
|
||||||
"docs-dev": "docusaurus start --config conf/docusaurus.config.js",
|
"docs-dev": "docusaurus start --config conf/docusaurus.config.js",
|
||||||
"docs-build": "docusaurus build --config conf/docusaurus.config.js",
|
"docs-build": "docusaurus build --config conf/docusaurus.config.js",
|
||||||
"docs-serve": "docusaurus serve --config conf/docusaurus.config.js",
|
"docs-serve": "docusaurus serve --config conf/docusaurus.config.js",
|
||||||
"docs-check": "prettier --config ./conf/prettier.config.js ./docs --check",
|
"docs-check": "prettier --config ./conf/prettier.config.js ./docs --check",
|
||||||
"dev": "npm run webpack-ext && gs-app-server --debug --single",
|
"dev": "npm run webpack-ext && gs-app-server --debug --single",
|
||||||
"prod": "npm run webpack-ext && npm run webpack-src prod && npm run bundle && gs-app-server",
|
"prod": "npm run webpack-ext && npm run webpack-src prod && gs-app-server",
|
||||||
"prod-pack": "npm run webpack-ext && npm run webpack-src prod",
|
"prod-pack": "npm run webpack-ext && npm run webpack-src prod && npm run bundle",
|
||||||
"prod-dryrun": "gs-app-server --dryrun",
|
"prod-dryrun": "gs-app-server --dryrun",
|
||||||
"start": "npm run prebuild prod && electron .",
|
"start": "npm run prebuild prod && electron .",
|
||||||
"start-dev": "npm run prebuild prod && electron . --devel",
|
"start-dev": "npm run prebuild prod && electron . --devel",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue