wip on using shared ui in android
This commit is contained in:
parent
77a5a377e3
commit
eb79ce1835
16 changed files with 105 additions and 181 deletions
57
build/android_index_plugin.js
Normal file
57
build/android_index_plugin.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
const path = require('path');
|
||||
const html = require('choo/html');
|
||||
const NAME = 'AndroidIndexPlugin';
|
||||
|
||||
function chunkFileNames(compilation) {
|
||||
const names = {};
|
||||
for (const chunk of compilation.chunks) {
|
||||
for (const file of chunk.files) {
|
||||
if (!/\.map$/.test(file)) {
|
||||
names[`${chunk.name}${path.extname(file)}`] = file;
|
||||
}
|
||||
}
|
||||
}
|
||||
return names;
|
||||
}
|
||||
class AndroidIndexPlugin {
|
||||
apply(compiler) {
|
||||
const assets = {};
|
||||
compiler.hooks.compilation.tap(NAME, compilation => {
|
||||
compilation.hooks.moduleAsset.tap(NAME, (mod, file) => {
|
||||
if (mod.userRequest) {
|
||||
assets[
|
||||
path.join(path.dirname(file), path.basename(mod.userRequest))
|
||||
] = file;
|
||||
}
|
||||
});
|
||||
});
|
||||
compiler.hooks.emit.tap(NAME, compilation => {
|
||||
const files = chunkFileNames(compilation);
|
||||
const page = html`
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<title>Firefox Send</title>
|
||||
<link href="${files['app.css']}" rel="stylesheet">
|
||||
<script src="${files['vendor.js']}"></script>
|
||||
<script src="${assets['public/locales/en-US/send.ftl']}"></script>
|
||||
<script src="${files['android.js']}"></script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
.toString()
|
||||
.replace(/\n\s{6}/g, '\n');
|
||||
compilation.assets['index.html'] = {
|
||||
source() {
|
||||
return page;
|
||||
},
|
||||
size() {
|
||||
return page.length;
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = AndroidIndexPlugin;
|
Loading…
Add table
Add a link
Reference in a new issue