I’m developing a Hugo module for Bootstrap v5 and it works well. However, I wish to get rid of the package.json
as I think it would be much better to go with Hugo modules all along.
As Bootstrap depends on @popperjs/core
, I need to include it in the module(without using NPM) in a way so that ESBuild(Hugo’s jsBuild
) resolves it as a dependency on runtime.
I tried scouring the docs, but I couldn’t find anything regarding this.
Thanks in advance.
1 Like
Bootstrap and Popper.js themselves work with package.json so removing it for some religious reasons might be overkill It’s just a file.
Having said that - the way I did it was to have popper.js as module in bootstrap. Have a look at these:
1 Like
Thanks @davidsneighbour. You’ve saved me a lot of time.
@davidsneighbour How do you get Bootstrap 5 to resolve @popperjs/core
to popper.js/popper.js
? I can’t get it to work.
I think it’s done here:
In Bootstrap then popper.js is available at libs/popper.js/popper.js
- but only for imports… I’ll have to see where I used it to show a sample. You will have to use “Javascript Building” at least.
@davidsneighbour I think we cannot directly mount popperjs/popper-core
as @popperjs/core
since the GitHub repo contains flow typed source which isn’t supported by ESBuild.
To get it to work, I ended up vendoring the latest version of @popperjs/core
in my Bootstrap 5 Hugo module.
Though there’s not much of a difference right now, but I like the fact that my module is finally NPM free and that I won’t need to do a hugo mod npm pack
in my websites anymore (unless I want to use PostCSS which I definitely do).
2 Likes