diff --git a/src/core/create_compilers/WebpackResult.ts b/src/core/create_compilers/WebpackResult.ts index c014f11..1e25efd 100644 --- a/src/core/create_compilers/WebpackResult.ts +++ b/src/core/create_compilers/WebpackResult.ts @@ -1,6 +1,6 @@ import format_messages from 'webpack-format-messages'; import { CompileResult, BuildInfo, CompileError, Chunk, CssFile } from './interfaces'; -import { ManifestData, Dirs } from '../../interfaces'; +import { ManifestData, Dirs, PageComponent } from '../../interfaces'; const locPattern = /\((\d+):(\d+)\)$/; @@ -9,7 +9,7 @@ function munge_warning_or_error(message: string) { const lines = message.split('\n'); const file = lines.shift() - .replace('', '') // careful — there is a special character at the beginning of this string + .replace('', '') // careful — there is a special character at the beginning of this string .replace('', '') .replace('./', ''); @@ -66,12 +66,15 @@ export default class WebpackResult implements CompileResult { assets: this.assets, css: { main: extract_css(this.assets.main), - chunks: Object - .keys(this.assets) - .filter(chunkName => chunkName !== 'main') - .reduce((chunks: { [key: string]: string }, chukName) => { - const assets = this.assets[chukName]; - chunks[chukName] = extract_css(assets); + chunks: manifest_data.components + .reduce((chunks: Record, component: PageComponent) => { + const css_dependencies = []; + const css = extract_css(this.assets[component.name]); + + if (css) css_dependencies.push(css); + + chunks[component.file] = css_dependencies; + return chunks; }, {}) }