Such a huge file, we might need to split off the web components into a seperate plugin.