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`