Index: .gitignore
===================================================================
--- .gitignore	(revision 43752)
+++ .gitignore	(working copy)
@@ -18,6 +18,8 @@
 /wp-cli.local.yml
 /jsdoc
 /vendor
+/src/js/dist
+/src/css/dist
 
 # Files and folders that get created in wp-content
 /src/wp-content/blogs.dir
Index: tools/webpack/packages.js
===================================================================
--- tools/webpack/packages.js	(revision 43752)
+++ tools/webpack/packages.js	(working copy)
@@ -37,14 +37,15 @@
 /**
  * Maps vendors to copy commands for the CopyWebpackPlugin.
  *
- * @param {Object} vendors Vendors to include in the vendor folder.
+ * @param {Object} vendors     Vendors to include in the vendor folder.
+ * @param {string} buildTarget The folder in which to build the packages.
  *
  * @return {Object[]} Copy object suitable for the CopyWebpackPlugin.
  */
-function mapVendorCopies( vendors ) {
+function mapVendorCopies( vendors, buildTarget ) {
 	return Object.keys( vendors ).map( ( filename ) => ( {
 		from: join( baseDir, `node_modules/${ vendors[ filename ] }` ),
-		to: join( baseDir, `build/js/dist/vendor/${ filename }` ),
+		to: join( baseDir, `${ buildTarget }/js/dist/vendor/${ filename }` ),
 	} ) );
 }
 
@@ -51,6 +52,7 @@
 module.exports = function( env = { environment: 'production', watch: false } ) {
 	const mode = env.environment;
 	const suffix = mode === 'production' ? '.min': '';
+	const buildTarget = mode === 'production' ? 'build': 'src';
 
 	const packages = [
 		'api-fetch',
@@ -143,9 +145,9 @@
 		};
 	} );
 
-	const developmentCopies = mapVendorCopies( vendors );
-	const minifiedCopies = mapVendorCopies( minifiedVendors );
-	const minifyCopies = mapVendorCopies( minifyVendors ).map( ( copyCommand ) => {
+	const developmentCopies = mapVendorCopies( vendors, buildTarget );
+	const minifiedCopies = mapVendorCopies( minifiedVendors, buildTarget );
+	const minifyCopies = mapVendorCopies( minifyVendors, buildTarget ).map( ( copyCommand ) => {
 		return {
 			...copyCommand,
 			transform: ( content ) => {
@@ -158,7 +160,7 @@
 
 	let cssCopies = packages.map( ( packageName ) => ( {
 		from: join( baseDir, `node_modules/@wordpress/${ packageName }/build-style/*.css` ),
-		to: join( baseDir, `build/styles/dist/${ packageName }/` ),
+		to: join( baseDir, `${ buildTarget }/styles/dist/${ packageName }/` ),
 		flatten: true,
 		transform: ( content ) => {
 			if ( config.mode === 'production' ) {
@@ -190,7 +192,7 @@
 		}, {} ),
 		output: {
 			filename: `[basename]${ suffix }.js`,
-			path: join( baseDir, 'build/js/dist' ),
+			path: join( baseDir, `${ buildTarget }/js/dist` ),
 			library: {
 				root: [ 'wp', '[name]' ]
 			},
Index: .
===================================================================
--- .	(revision 43752)
+++ .	(working copy)

Property changes on: .
___________________________________________________________________
Modified: svn:ignore
## -12,3 +12,5 ##
 .git
 jsdoc
 vendor
+src/js/dist
+styles/js/dist
