Closed geekjuice closed 8 years ago
Wooot. @geekjuice let's grab a coffee tomorrow to talk about this. Specifically around installing NPM dependencies as I've had problems finding the best approach that doesn't break over time. I've resorted to hard versioning a couple of deps (like redux/react in this case) and letting the others fall in line, but I'd love to hear your feedback on how this went!
:+1: Cool. Feel free to ping me whenever. Most of these changes are pretty opinionated for what I personally wanted, so we can definitely talk about then
@banderson @geekjuice Any update from your conversations if this will be merged?
@banderson As per our quick discussion, I pinned down the versions for some of the core dependecies. Basically anything related to React
or Redux
is pinned to the current version as of today (Oct 28, 2015). I ran the generator and the app worked as expected with the only deprecation messages coming from redux-devtools
, but seems those will be resolved in the upcoming versions.
Update: There are probably some other things that can be updated such as pinning redux-devtools
to the next
branch to incorporate the react-v0.14
changes as well as simplifying the .eslintrc
to use eslint-config-hubspot
or similiar. Those can come later as a separately to prevent adding out-of-scope features on this PR.
:+1: :+1: :+1: here we go, thanks man!
Rewrote
index.js
in ES6 withnpm run build
andnpm run watch
scripts for development.In addition, changes how
package.json
is written. Rather than depending onthis.npmInstall
to save the deps, it will now fetch the version from the npm registry directly and write them out todependencies
anddevDependencies
. The reason for this was because certain packages seemed to causethis.npmInstall
with{save: true}
or{saveDev: true}
to fail quietly (onnode v4.x.x
). Specifically,cssnext-loader
seemed to prevent any of thedevDependencies
from being saved topackage.json
. If the fetch fails, the line will default topkgName: *
. Another benefit of fetching the versions directly is the option to defer installing them after the scaffolding. The user can opt to install them via the command line tool.Some other minor changes include removing
bower.json
which is fairly useless in a webpack based project and the addition ofes6-promise
andisomorphic-fetch
as dependencies to the generator andbabel
as a development dependency.