Shopware 6: ModuleNotFoundError: Module not found: Error: Can’t resolve ‚flatpickr‘
Fabian Blechschmidt
Good morning! Yesterday it took me half a day to get the build-admin.sh working.
The problem was that the error „ModuleNotFoundError: Module not found: Error: Can’t resolve ‚flatpickr'“ was thrown and I had no clue why. And after running down the rabbit hole the funny developer-game started „which of the many changes was the one which made it work?“
I have no clue about all the frontend stuff and give my best to avoid it, but as you can see, sometimes I fail. My first thought was, that the shopware js builder doesn’t find the dependency, so I added a webpack.config.js.
They look like this and define the paths to your config libs (for webpack?)
const path = require('path');
module.exports = () => {
return {
resolve: {
alias: {
// The module "SwagBasicExample" is looked for in
// <current directory>/../src
SwagBasicExample: path.join(__dirname, '..', 'src')
}
}
};
};
In some examples you find node_modules in the path.join() which totally makes sense, when your library is living in there. But from everything I understand Shopware is smart enough to pick up the packages.json files and the node_modules directories. Unfortunately it is NOT smart enough to run npm install for you.
The solution: npm install
So the solution was super easy: Run npm install and shopware takes care of the rest.
ModuleNotFoundError: Module not found: Error: Can't resolve 'date-fns/esm/format' in '/var/www/html/custom/static-plugins/PluginA/node_modules/date-fns-tz/esm/format'
More weird errors to come. That was a hard one. It took a while until I realised, that this dependency is just missing in the packages.json