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 });
|
||||
let body = fs.readFileSync(src);
|
||||
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 virtMap = new Set();
|
||||
for (const input of inputs) {
|
||||
const root = input.root;
|
||||
const prefix = input.prefix || '';
|
||||
const { root, prefix, src, dst } = input;
|
||||
|
||||
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)) {
|
||||
const rel = path.relative(root, file).replace(/\\/g, '/');
|
||||
const virt = prefix ? `${prefix}/${rel}` : rel;
|
||||
|
|
@ -115,6 +125,7 @@ for (const { file, virt } of entries) {
|
|||
entryMeta.push(record);
|
||||
dataParts.push(data);
|
||||
offset += data.length;
|
||||
if (debug) console.log('write', virt, data.length);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,16 +93,17 @@
|
|||
"build-win-arm": "npm run build -- --win --arm64",
|
||||
"build-mac": "npm run build -- --mac --arm64",
|
||||
"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",
|
||||
"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-build": "docusaurus build --config conf/docusaurus.config.js",
|
||||
"docs-serve": "docusaurus serve --config conf/docusaurus.config.js",
|
||||
"docs-check": "prettier --config ./conf/prettier.config.js ./docs --check",
|
||||
"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-pack": "npm run webpack-ext && npm run webpack-src prod",
|
||||
"prod": "npm run webpack-ext && npm run webpack-src prod && gs-app-server",
|
||||
"prod-pack": "npm run webpack-ext && npm run webpack-src prod && npm run bundle",
|
||||
"prod-dryrun": "gs-app-server --dryrun",
|
||||
"start": "npm run prebuild prod && electron .",
|
||||
"start-dev": "npm run prebuild prod && electron . --devel",
|
||||
|
|
|
|||
Loading…
Reference in a new issue