I'm getting started with Walmart's new React framework called Electrode.
However, I'm having trouble understanding where the project dependencies are defined since I don't see everything in package.json. I'm running a linter so it's showing me errors saying packages like redux and react are not defined in the dependencies. However, if I do an npm install, it does install all the packages. How does npm know to install the other packages?
Here's what's in the package.json - so the other packages like react must be linked or configured or defined elsewhere.
"dependencies": {
"above-the-fold-only-server-render": "^1.0.2",
"bluebird": "^3.4.6",
"electrode-archetype-react-app": "^1.0.0",
"electrode-csrf-jwt": "^1.0.0",
"electrode-react-ssr-caching": "^0.1.3",
"electrode-redux-router-engine": "^1.0.0",
"electrode-server": "^1.0.0",
"electrode-static-paths": "^1.0.0",
"lodash": "^4.10.1"
},
React and Redux are defined in electrode-react-ssr-caching
's package.json
, so they are indirectly dependencies of your project because you depend on electrode-react-ssr-caching
.
You can see which package causes something to be installed with npm ls <package>
, e.g. npm ls react
, which will show the dependency tree for that package (see my answer on a similar question for an example). If you use Yarn, yarn why <package>
will serve a similar purpose.