Issue 1:
Right now I have managed to setup a single webpack configuration and webpack-dev-server (hotload) that managing all my subprojects/plugins at the same time.

However, I would like to be able to resolve folders for each subproject, such as /components, so as to avoid long relative paths. Is this possible?

I have the following folder structure

-/ MyProject
-/ node_modules
-/ plugin1
-/ node_modules
- package.json
...
-/ plugin2
-/ plugin3

-/ shared (styles etc)
- webpack.config.js
- package.json

My webpack conf:

var webpack = require('webpack');
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin')

var env = process.env.NODE_ENV;
var isProduction = env === 'production'
var host = 'http://localhost:4000';
var socketHost = 'ws://localhost:4000';

module.exports = {
devtool: 'source-map',
entry: {
script: ['webpack-hot-middleware/client', './js/script/src/index.js'],
app: ['webpack-hot-middleware/client', './js/site/index.js'],
},
output: {
path: path.join(__dirname , 'dist'),
filename: '[name].js',
publicPath: '/static/'
},
resolve: {
root: path.resolve(__dirname),
alias: {
styles: path.join(__dirname, 'styles'),
app: path.join(__dirname, 'js', 'site'),
script: path.join(__dirname, 'js', 'script'),
}
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.scss$/,
loaders: ["style", "css", "sass"]
},
{
test: /\.(otf|eot|svg|ttf|woff|woff2)(\?.+)$/,
loader: 'url-loader?limit=8192',
include: /node_modules/
}
]
},
plugins: [
new webpack.DefinePlugin({ PRODUCTION: false, APP_HOST: JSON.stringify(host), WS_HOST: JSON.stringify(socketHost) }),
new webpack.optimize.OccurenceOrderPlugin(), // recommanded by webpack
// new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(), // recommanded by webpack
// new ExtractTextPlugin('bundle.css')
]
};

Issue 2:
I am upgrading existing apps from webpack 4.43.0 to webpack 5.0.0-beta.28. I am seeing multiple deprecation warnings. I am using

"webpack": "^5.0.0-beta.28",
"webpack-cli": "3.3.12",
"webpack-dev-server": "3.11.0",
"html-webpack-plugin": "4.3.0",
"duplicate-package-checker-webpack-plugin": "3.0.0",

With above setup, when I run

node --trace-deprecation node_modules/webpack/bin/webpack.js --config ./webpack/webpack.development.js

I am seeing following Deprecation warnings coming from last-call-webpack-plugin and html-webpack-plugin plugins

(node:47918) [DEP_WEBPACK_COMPILATION_OPTIMIZE_CHUNK_ASSETS] DeprecationWarning: optimizeChunkAssets is deprecated (use Compilation.hook.processAssets instead and use one of Compilation.PROCESS_ASSETS_STAGE_* as stage option)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/last-call-webpack-plugin/src/index.js:176:49
at Hook.eval [as call] (eval at create (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:198:1)
at Hook.CALL_DELEGATE [as _call] (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/Hook.js:14:14)
at Compiler.newCompilation (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:910:26)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:951:29

(node:47918) [DEP_WEBPACK_MAIN_TEMPLATE_GET_PUBLIC_PATH] DeprecationWarning: MainTemplate.getPublicPath is deprecated (use Compilation.getAssetPath(compilation.outputOptions.publicPath, options) instead)
at HtmlWebpackPlugin.htmlWebpackPluginAssets (/Users/vrajole/sg-core/raisin-frontend/node_modules/html-webpack-plugin/index.js:532:56)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/html-webpack-plugin/index.js:164:29
at _next0 (eval at create (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:31:1)
at eval (eval at create (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:48:1)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/duplicate-package-checker-webpack-plugin/lib/index.js:190:5
at Hook.eval [as callAsync] (eval at create (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:43:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/Hook.js:18:14)
at Compiler.emitAssets (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:729:19)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:392:10
at processTicksAndRejections (internal/process/task_queues.js:75:11)

(node:47918) [DEP_WEBPACK_MODULE_ISSUER] DeprecationWarning: Module.issuer: Use new ModuleGraph API
at Function.getModuleGraphForModule (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/ModuleGraph.js:695:10)
at NormalModule.get issuer [as issuer] (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Module.js:243:22)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/duplicate-package-checker-webpack-plugin/lib/index.js:105:29
at Set.forEach (<anonymous>)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/duplicate-package-checker-webpack-plugin/lib/index.js:74:25
at Hook.eval [as callAsync] (eval at create (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:43:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/node_modules/tapable/lib/Hook.js:18:14)
at Compiler.emitAssets (/Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:729:19)
at /Users/vrajole/sg-core/raisin-frontend/node_modules/webpack/lib/Compiler.js:392:10
at processTicksAndRejections (internal/process/task_queues.js:75:11)

Attaching screenshots for reference.