So we've been using npm and package.json to build front-end apps for a long time.
It's fairly common to see this:
- dependencies
- lodash
- react
- devDependencies
- webpack
- eslint
But if you build your project on the production environment, it won't install the dev dependencies.
Webpack is not really a "devDependencies" it is a "buildDependencies" it isn't really used by the project, but you need it to be able to build the project.
But eslint is a devDependency, you don't really need apart from "developing".
so a more correct way to do this would be:
- bundledDependencies
- react
- lodash
- dependencies
- webpack
- devDependencies
- eslint
but after reading the documentation bundledDependencies are not really meant for this.
Should I actually shrinkwrap my project, so I can be sure that when the CI builds the project is is actually downloading the same thing I tested in my local machine?
So my question is what is the correct way of setting up a package.json for a project that is not really a module?