diff --git a/packages/cli/src/lifecycles/bundle.js b/packages/cli/src/lifecycles/bundle.js index da8a2cf37..87f36ef96 100644 --- a/packages/cli/src/lifecycles/bundle.js +++ b/packages/cli/src/lifecycles/bundle.js @@ -65,10 +65,11 @@ async function bundleStyleResources(compilation, optimizationPlugins) { if (src) { const basename = path.basename(srcPath); const basenamePieces = path.basename(srcPath).split('.'); + const fileNamePieces = srcPath.split('/').filter(piece => piece !== ''); // normalize by removing any leading /'s optimizedFileName = srcPath.indexOf('/node_modules') >= 0 ? `${basenamePieces[0]}.${hashString(contents)}.css` - : srcPath.replace(basename, `${basenamePieces[0]}.${hashString(contents)}.css`); + : fileNamePieces.join('/').replace(basename, `${basenamePieces[0]}.${hashString(contents)}.css`); } else { optimizedFileName = `${hashString(contents)}.css`; } diff --git a/packages/cli/test/cases/build.default.workspace-javascript-css/build.default.workspace-javascript-css.spec.js b/packages/cli/test/cases/build.default.workspace-javascript-css/build.default.workspace-javascript-css.spec.js index 40ac4bc5e..888d75202 100644 --- a/packages/cli/test/cases/build.default.workspace-javascript-css/build.default.workspace-javascript-css.spec.js +++ b/packages/cli/test/cases/build.default.workspace-javascript-css/build.default.workspace-javascript-css.spec.js @@ -105,7 +105,9 @@ describe('Build Greenwood With: ', function() { it('should have one - +