Do you want to request a feature or report a bug?
This is a Bug
What is the current behavior?
I created a very basic Plugin like
Testplugin.prototype.apply = function(compiler) {
compiler.plugin('after-emit', function(compilation, callback) {
console.log("Files Emiited")
runGulpTaskToCopyFiles()
callback();
});
};
Now in the first comilation process, the “after-emit” event is fired before my bundled files are written to the filesystem. This will cause, that my task to move the files to another location, doesn´t get all files.
What is the expected behavior?
I would expect that the event is thrown when all my compiled files exists on the filesystem.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
- I´m running in the webpack watch mode
- The failure only occurs on the first comilation. After the first comilation, when webpack doesn´t create all files over new, they are already adjusted when the “after-emit” event hook is thrown.
- I also tested it with the “done” event –> same result
- I´m using Webpack 3.5.5, but already tested it with 3.10.0 with the same result
- Node Version: 6.10.2
- There is already an existing stackoverflow article without any response
Edit:
- You can check this plugin ( https://github.com/1337programming/webpack-shell-plugin ) it also has the same problem with it´s basic configuration
new WebpackShellPlugin({onBuildStart:['echo "Webpack Start"'], onBuildEnd:['echo "Webpack End"']})
“Webpack End” is printed out before all files are in the output folder
This is a big pain for SSR where you want to build the client files, emit a stats.json file, and then consume that stats.json file in a server webpack configuration — the stats.json file from the client build is often not available on disk before the server build needs it.
does anyone still face this issue? Generating a file in assets folder after assets is completed seems impossible yet.