Skip to content
This repository was archived by the owner on Jan 4, 2018. It is now read-only.
This repository was archived by the owner on Jan 4, 2018. It is now read-only.

This is more of a full boilerplate project example than a redux-router example #48

Description

@irae

There is a lot of value in this repo and I really appreciate the time you took to help the community with sharing this codebase. Kudos for that.

I think though, this is an opinionated project, not a minimal example in the likes of the redux docs, that are very minimal and try to be less opinionated. The Readme already explains some decisions, which I think is very nice. But I would suggest a bit more explanation.

This is outputting a very large bundle of about 100k compressed Javascript, and I dig a bit to analyze it. It's easier for people already familiar with all this technologies to reason and learn from this repo, but beginners would probably have a hard time understanding all of it. A bit of documentation might be the only thing it needs, or maybe extracting a minimal example on a different repo might be a good idea too.

Once more, please don't take this negatively. I really appreciate the project and it was very valuable to me. It is just some things to think about if you intend to work a bit more on this repo.

For reference, this is some of the things I did to analyze the bundle size:

$NODE_ENV=production webpack --json --config webpack.config.production.js | analyze-bundle-size
react: 609.67 kB (56.1%)
  fbjs: 32.87 kB (5.39%)
    <self>: 32.87 kB (100%)
  <self>: 576.8 kB (94.6%)
react-intl: 121.01 kB (11.1%)
  intl-messageformat: 53.26 kB (44.0%)
    intl-messageformat-parser: 36.08 kB (67.7%)
      <self>: 36.08 kB (100%)
    <self>: 17.18 kB (32.3%)
  intl-relativeformat: 14.66 kB (12.1%)
    <self>: 14.66 kB (100%)
  intl-format-cache: 2.86 kB (2.36%)
    <self>: 2.86 kB (100%)
  intl-relativeformat .: 15 B (0.0121%)
    <self>: 15 B (100%)
  intl-messageformat .: 15 B (0.0121%)
    <self>: 15 B (100%)
  <self>: 50.2 kB (41.5%)
react-router: 79.71 kB (7.33%)
  warning: 1.76 kB (2.21%)
    <self>: 1.76 kB (100%)
  invariant: 1.5 kB (1.89%)
    <self>: 1.5 kB (100%)
  <self>: 76.44 kB (95.9%)
history: 57.55 kB (5.29%)
  qs: 12.58 kB (21.9%)
    <self>: 12.58 kB (100%)
  deep-equal: 3.8 kB (6.61%)
    <self>: 3.8 kB (100%)
  warning: 1.76 kB (3.07%)
    <self>: 1.76 kB (100%)
  invariant: 1.5 kB (2.61%)
    <self>: 1.5 kB (100%)
  <self>: 37.91 kB (65.9%)
webpack: 45.85 kB (4.22%)
  <self>: 251 B (0.535%)
redux-router: 23.67 kB (2.18%)
  deep-equal: 3.8 kB (16.1%)
    <self>: 3.8 kB (100%)
  <self>: 19.86 kB (83.9%)
redux: 18.54 kB (1.71%)
  <self>: 18.54 kB (100%)
react-redux: 17 kB (1.56%)
  invariant: 1.5 kB (8.85%)
    <self>: 1.5 kB (100%)
  hoist-non-react-statics: 854 B (4.91%)
    <self>: 854 B (100%)
  <self>: 14.66 kB (86.2%)
babel-runtime: 12.52 kB (1.15%)
  core-js: 7.87 kB (62.8%)
    <self>: 7.87 kB (100%)
  <self>: 4.65 kB (37.2%)
whatwg-fetch: 9.69 kB (0.891%)
  <self>: 9.69 kB (100%)
parse-link-header: 1.38 kB (0.127%)
  xtend: 384 B (27.2%)
    <self>: 384 B (100%)
  <self>: 1 kB (72.8%)
classnames: 1.08 kB (0.0994%)
  <self>: 1.08 kB (100%)
redux-thunk: 375 B (0.0337%)
  <self>: 375 B (100%)
react-dom: 63 B (0.00566%)
  <self>: 63 B (100%)
<self>: 89.41 kB (8.22%)

You can also save the JSON output and upload to the visual analyzer here: http://webpack.github.io/analyse/ It might be a bit overwhelming tho.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions