smashingboxes / web-boilerplate

A template for new front-end projects.
3 stars 2 forks source link

Feature/initial structure #1

Closed zachary-kuhn closed 8 years ago

zachary-kuhn commented 8 years ago

Why?

Create a baseline for what a current project should look like.

What Changed?

Added Babel to transpile ES2015 syntax. Added Webpack to manage building the project. Added Webpack Dev Server to serve files locally. Added ESLint to lint the code. Added Karma to run the tests. Added Mocha and Chai as the test framework and assertion library. Added Isparta to provide code coverage metrics. Added React as the library standard. Added SASS as the style preprocessor. Added PostCSS for additional CSS processing. Added Lost as the grid framework.

TODO

KennethAshley commented 8 years ago

Links

KennethAshley commented 8 years ago

Also throw lodash in this boilerplate bruh. yassss

greg5green commented 8 years ago

This is a great start Zach! I'm excited :dancers:

A couple thoughts:

  1. I'm about 95% against including Lodash automatically even though Ken wants it. It's a much larger library than you might think, especially if you aren't paying attention and accidentally import the whole thing instead of just a portion. It is incredibly useful, but unless you're using advanced features, you can very easily do most that stuff in regular ES5. For example, there's no reason to include Lodash just to do do _.map or _.forEach. It's a common library that should be able to be added without anyone batting an eye, but shouldn't be added until it's needed. My opinion on this might change when Webpack 2 comes out (since it's supposed to be super great at unusued library code)
  2. Is this the same eslint file I had for Eklatz? I don't have the patience to read through it
  3. Are we 100% into Karma going forward? I recently recommended Mike use Karma because I had some issues with testing directly on Node with Mocha, but I'm not sure we're going to need it long term.
BrandonMathis commented 8 years ago

Hi all. I'm currently running into an issue with server the dist/index.html file after a tape deploy. :rotating_light: See the error at this IP address 192.241.168.30 :rotating_light:

BrandonMathis commented 8 years ago

Got a production-ready webpack build configs with adjacent package.json configs working

https://github.com/smashingboxes/researchkit_api-fe/pull/3/files

zachary-kuhn commented 8 years ago

I think I have everyone's feedback in and I'm ready to bump this to 1.0. There are a couple decisions here I had to make:

  1. I agree with Greg in regards to Lodash. Awesome library. I love it. However, a lot can be done without it. Pulling in Immutable might even lessen its impact.
  2. I didn't include the ExtractTextPlugin, despite @mweslander's recommendation. Losing out on hot module replacement is a huge price IMO.

Merging this branch in and then working on the skeleton for Redux around this.