add bundler load order priority, module bundling with --dryrun
This commit is contained in:
parent
122588e633
commit
5894dcc61c
3 changed files with 25 additions and 4 deletions
18
app.js
18
app.js
|
|
@ -37,6 +37,7 @@ let util;
|
||||||
let dir;
|
let dir;
|
||||||
let log;
|
let log;
|
||||||
let pre;
|
let pre;
|
||||||
|
let alt;
|
||||||
|
|
||||||
const EventEmitter = require('events');
|
const EventEmitter = require('events');
|
||||||
class AppEmitter extends EventEmitter {}
|
class AppEmitter extends EventEmitter {}
|
||||||
|
|
@ -64,6 +65,7 @@ function init(mod) {
|
||||||
startTime = time();
|
startTime = time();
|
||||||
lastmod = mod.util.lastmod;
|
lastmod = mod.util.lastmod;
|
||||||
logger = mod.log;
|
logger = mod.log;
|
||||||
|
alt = ENV.alt;
|
||||||
pre = ENV.pre || mod.meta.pre;
|
pre = ENV.pre || mod.meta.pre;
|
||||||
debug = ENV.debug || mod.meta.debug;
|
debug = ENV.debug || mod.meta.debug;
|
||||||
oversion = ENV.over || mod.meta.over;
|
oversion = ENV.over || mod.meta.over;
|
||||||
|
|
@ -191,6 +193,14 @@ function init(mod) {
|
||||||
append[key] = minify(append[key]);
|
append[key] = minify(append[key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (alt) {
|
||||||
|
for (let [ key, val ] of Object.entries(append)) {
|
||||||
|
fs.mkdirSync(`alt/main`, { recursive: true });
|
||||||
|
let body = fs.readFileSync(`src/main/${key}.js`);
|
||||||
|
fs.writeFileSync(`alt/main/${key}.js`, body + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// either add module assets to path or require(init.js)
|
// either add module assets to path or require(init.js)
|
||||||
|
|
@ -288,14 +298,14 @@ function initModule(mod, file, dir) {
|
||||||
const path = mod.dir + '/' + dir + '/' + file;
|
const path = mod.dir + '/' + dir + '/' + file;
|
||||||
try {
|
try {
|
||||||
const body = fs.readFileSync(path);
|
const body = fs.readFileSync(path);
|
||||||
// console.log({ inject: code, file, opt });
|
logger.log({ inject: code, file, opt });
|
||||||
if (opt.first) {
|
if (opt.first) {
|
||||||
append[code] = body.toString() + '\n' + append[code];
|
append[code] = body.toString() + '\n' + append[code];
|
||||||
} else {
|
} else {
|
||||||
append[code] += body.toString() + '\n';
|
append[code] += body.toString() + '\n';
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log({ missing_file: path, dir, mod });
|
logger.log({ missing_file: path, dir, mod });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onload(fn) {
|
onload(fn) {
|
||||||
|
|
@ -430,6 +440,10 @@ function generateDevices() {
|
||||||
let dstr = JSON.stringify(devs);
|
let dstr = JSON.stringify(devs);
|
||||||
util.mkdir(PATH.join(dir,"src","pack"));
|
util.mkdir(PATH.join(dir,"src","pack"));
|
||||||
fs.writeFileSync(PATH.join(dir,"src","pack","kiri-devs.js"), `export const devices = ${dstr};`);
|
fs.writeFileSync(PATH.join(dir,"src","pack","kiri-devs.js"), `export const devices = ${dstr};`);
|
||||||
|
if (alt) {
|
||||||
|
fs.mkdirSync('alt/pack', { recursive: true });
|
||||||
|
fs.writeFileSync(PATH.join(dir,"alt","pack","kiri-devs.js"), `export const devices = ${dstr};`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function minify(code) {
|
function minify(code) {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
},
|
},
|
||||||
"inputs": [
|
"inputs": [
|
||||||
{ "root": "web", "prefix": "" },
|
{ "root": "web", "prefix": "" },
|
||||||
{ "root": "src", "prefix": "lib" },
|
{ "root": "alt", "prefix": "lib"},
|
||||||
|
{ "root": "src", "prefix": "lib"},
|
||||||
{ "root": "src/wasm", "prefix": "wasm" },
|
{ "root": "src/wasm", "prefix": "wasm" },
|
||||||
{ "root": "src/wasm", "prefix": "lib/kiri/wasm" }
|
{ "root": "src/wasm", "prefix": "lib/kiri/wasm" }
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -32,13 +32,19 @@ function* walk(dir, seen = new Set()) {
|
||||||
|
|
||||||
// --- collect all files according to config ---
|
// --- collect all files according to config ---
|
||||||
let entries = [];
|
let entries = [];
|
||||||
|
let virtMap = new Set();
|
||||||
for (const input of inputs) {
|
for (const input of inputs) {
|
||||||
const root = input.root;
|
const root = input.root;
|
||||||
const prefix = input.prefix || '';
|
const prefix = input.prefix || '';
|
||||||
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;
|
||||||
entries.push({ file, virt });
|
if (virtMap.has(virt)) {
|
||||||
|
console.log('pre-existing', virt, rel, root);
|
||||||
|
} else {
|
||||||
|
entries.push({ file, virt });
|
||||||
|
virtMap.add(virt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue