[GH-ISSUE #16] Reduce package size #14

Closed
opened 2026-03-03 00:17:38 +03:00 by kerem · 2 comments
Owner

Originally created by @Sarah-Seo on GitHub (Dec 25, 2016).
Original GitHub issue: https://github.com/BoostIO/BoostNote-App/issues/16

Size of node_modules is quite big.

  • Compile React stuffs and pouchDB via webpack and move them to devDependencies
  • Uglify compiled scripts
  • Discard from dep
    • react-desktop
  • Use minified script
    • lodash
    • moment
    • react-dom
    • pouchdb-browser
    • katex
    • immutable

Size list

8.0K	node_modules/bluebird-lst-c
8.0K	node_modules/strip-outer
 12K	node_modules/abbrev
 12K	node_modules/ansi-regex
 12K	node_modules/ansi-styles
 12K	node_modules/bindings
 12K	node_modules/brace-expansion
 12K	node_modules/buffer-shims
 12K	node_modules/character-entities-legacy
 12K	node_modules/character-reference-invalid
 12K	node_modules/decamelize
 12K	node_modules/detab
 12K	node_modules/emoji-regex
 12K	node_modules/escape-string-regexp
 12K	node_modules/filename-reserved-regex
 12K	node_modules/filenamify
 12K	node_modules/has-ansi
 12K	node_modules/has-flag
 12K	node_modules/has-unicode
 12K	node_modules/inflight
 12K	node_modules/irregular-plurals
 12K	node_modules/is-alphanumeric
 12K	node_modules/is-stream
 12K	node_modules/js-tokens
 12K	node_modules/mdast-comment-marker
 12K	node_modules/mdast-util-definitions
 12K	node_modules/mdast-util-heading-style
 12K	node_modules/normalize-uri
 12K	node_modules/npm-prefix
 12K	node_modules/object-assign
 12K	node_modules/once
 12K	node_modules/os-homedir
 12K	node_modules/os-tmpdir
 12K	node_modules/path-is-absolute
 12K	node_modules/pinkie-promise
 12K	node_modules/remark
 12K	node_modules/remark-html
 12K	node_modules/remark-slug
 12K	node_modules/repeat-string
 12K	node_modules/replace-ext
 12K	node_modules/shellsubstitute
 12K	node_modules/simple-get
 12K	node_modules/space-separated-tokens
 12K	node_modules/string.prototype.codepointat
 12K	node_modules/strip-ansi
 12K	node_modules/strip-markdown
 12K	node_modules/trim-lines
 12K	node_modules/trim-repeated
 12K	node_modules/trim-trailing-lines
 12K	node_modules/unherit
 12K	node_modules/unist-builder
 12K	node_modules/unist-util-generated
 12K	node_modules/unist-util-modify-children
 12K	node_modules/unist-util-position
 12K	node_modules/unist-util-stringify-position
 12K	node_modules/unist-util-visit
 12K	node_modules/untildify
 12K	node_modules/unzip-response
 12K	node_modules/vfile-location
 12K	node_modules/wrappy
 16K	node_modules/after
 16K	node_modules/argsarray
 16K	node_modules/bail
 16K	node_modules/balanced-match
 16K	node_modules/ccount
 16K	node_modules/character-entities-html4
 16K	node_modules/collapse-white-space
 16K	node_modules/color-name
 16K	node_modules/color-string
 16K	node_modules/comma-separated-tokens
 16K	node_modules/concat-map
 16K	node_modules/end-stream
 16K	node_modules/es6-promise-pool
 16K	node_modules/expand-template
 16K	node_modules/github-from-package
 16K	node_modules/graceful-readlink
 16K	node_modules/hast-util-is-element
 16K	node_modules/hast-util-whitespace
 16K	node_modules/hyphenate-style-name
 16K	node_modules/ieee754
 16K	node_modules/inherits
 16K	node_modules/ini
 16K	node_modules/is-alphabetical
 16K	node_modules/is-alphanumerical
 16K	node_modules/is-buffer
 16K	node_modules/is-decimal
 16K	node_modules/is-hexadecimal
 16K	node_modules/is-typedarray
 16K	node_modules/is-whitespace-character
 16K	node_modules/is-word-character
 16K	node_modules/jsonfile
 16K	node_modules/kebab-case
 16K	node_modules/level-write-stream
 16K	node_modules/longest-streak
 16K	node_modules/markdown-escapes
 16K	node_modules/mdast-util-compact
 16K	node_modules/mdast-util-to-string
 16K	node_modules/mime-types
 16K	node_modules/npmlog
 16K	node_modules/pinkie
 16K	node_modules/process-nextick-args
 16K	node_modules/remark-message-control
 16K	node_modules/scope-eval
 16K	node_modules/sliced
 16K	node_modules/state-toggle
 16K	node_modules/stringify-entities
 16K	node_modules/strip-json-comments
 16K	node_modules/supports-color
 16K	node_modules/trough
 16K	node_modules/unist-util-is
 16K	node_modules/util-extend
 16K	node_modules/vfile-sort
 16K	node_modules/x-is-string
 20K	node_modules/array-iterate
 20K	node_modules/assert-plus
 20K	node_modules/block-stream
 20K	node_modules/execspawn
 20K	node_modules/generate-function
 20K	node_modules/generate-object-property
 20K	node_modules/html-void-elements
 20K	node_modules/invariant
 20K	node_modules/json-stringify-safe
 20K	node_modules/jsonpointer
 20K	node_modules/ltgt
 20K	node_modules/markdown-table
 20K	node_modules/minimist
 20K	node_modules/ms
 20K	node_modules/oauth-sign
 20K	node_modules/osenv
 20K	node_modules/path-array
 20K	node_modules/prr
 20K	node_modules/pump
 20K	node_modules/simple-mime
 20K	node_modules/string_decoder
 20K	node_modules/stringstream
 20K	node_modules/unist-util-remove-position
 20K	node_modules/util-deprecate
 20K	node_modules/vfile
 24K	node_modules/aws-sign2
 24K	node_modules/caseless
 24K	node_modules/cryptiles
 24K	node_modules/deep-extend
 24K	node_modules/forever-agent
 24K	node_modules/fs.realpath
 24K	node_modules/github-markdown-css
 24K	node_modules/hoist-non-react-statics
 24K	node_modules/is-property
 24K	node_modules/isarray
 24K	node_modules/isstream
 24K	node_modules/lodash.pad
 24K	node_modules/lodash.padend
 24K	node_modules/lodash.padstart
 24K	node_modules/property-information
 24K	node_modules/punycode
 24K	node_modules/remark-emoji
 24K	node_modules/tar-fs
 24K	node_modules/tunnel-agent
 24K	node_modules/whatwg-fetch
 24K	node_modules/which
 28K	node_modules/bcrypt-pbkdf
 28K	node_modules/delegates
 28K	node_modules/electron-positioner
 28K	node_modules/encoding
 28K	node_modules/fast-future
 28K	node_modules/function-bind
 28K	node_modules/ghrepos
 28K	node_modules/ghutils
 28K	node_modules/has
 28K	node_modules/isexe
 28K	node_modules/isomorphic-fetch
 28K	node_modules/klaw
 28K	node_modules/match-at
 28K	node_modules/trim
 28K	node_modules/unified
 28K	node_modules/xtend
 32K	node_modules/aws4
 32K	node_modules/combined-stream
 32K	node_modules/d
 32K	node_modules/delayed-stream
 32K	node_modules/extend
 32K	node_modules/hast-util-sanitize
 32K	node_modules/immediate
 32K	node_modules/jsprim
 32K	node_modules/level-codec
 32K	node_modules/loose-envify
 32K	node_modules/mkdirp
 32K	node_modules/noop-logger
 32K	node_modules/parse-entities
 36K	node_modules/ansi
 36K	node_modules/double-ended-queue
 36K	node_modules/form-data
 36K	node_modules/graceful-fs
 36K	node_modules/load-plugin
 36K	node_modules/minimatch
 36K	node_modules/nopt
 36K	node_modules/symbol-observable
 40K	node_modules/asap
 40K	node_modules/chalk
 40K	node_modules/clone
 40K	node_modules/core-util-is
 40K	node_modules/gauge
 40K	node_modules/react-immutable-proptypes
 40K	node_modules/sntp
 40K	node_modules/spark-md5
 44K	node_modules/is-my-json-valid
 44K	node_modules/vuvuzela
 48K	node_modules/end-of-stream
 48K	node_modules/verror
 52K	node_modules/character-entities
 52K	node_modules/debug
 52K	node_modules/es6-symbol
 52K	node_modules/extsprintf
 52K	node_modules/getpass
 52K	node_modules/wrapped
 56K	node_modules/commander
 56K	node_modules/ecc-jsbn
 56K	node_modules/ghreleases
 60K	node_modules/es6-iterator
 60K	node_modules/node-fetch
 60K	node_modules/semver
 64K	node_modules/boom
 64K	node_modules/jsbn
 64K	node_modules/node-uuid
 68K	node_modules/errno
 68K	node_modules/level-iterator-stream
 68K	node_modules/rc
 72K	node_modules/color
 72K	node_modules/github-slugger
 76K	node_modules/bowser
 76K	node_modules/sprintf-js
 80K	node_modules/lie
 80K	node_modules/qs
 84K	node_modules/asynckit
 84K	node_modules/http-signature
 84K	node_modules/url-template
 88K	node_modules/asn1
 88K	node_modules/rimraf
 92K	node_modules/dashdash
 92K	node_modules/tar
 96K	node_modules/hast-util-to-html
 96K	node_modules/hoek
 96K	node_modules/readable-stream
100K	node_modules/fstream
100K	node_modules/jodid25519
100K	node_modules/ua-parser-js
108K	node_modules/har-validator
116K	node_modules/array-index
116K	node_modules/buffer
144K	node_modules/mdast-util-to-hast
152K	node_modules/react-redux
156K	node_modules/levelup
164K	node_modules/tweetnacl
168K	node_modules/mime-db
168K	node_modules/node-emoji
176K	node_modules/abstract-leveldown
184K	node_modules/argparse
196K	node_modules/hawk
196K	node_modules/promise
200K	node_modules/hyperquest
204K	node_modules/redux
204K	node_modules/write-stream
208K	node_modules/deferred-leveldown
208K	node_modules/remark-stringify
216K	node_modules/es6-promise
216K	node_modules/through2
220K	node_modules/bl
224K	node_modules/esprima
224K	node_modules/tough-cookie
232K	node_modules/json-schema
236K	node_modules/tar-stream
244K	node_modules/are-we-there-yet
248K	node_modules/jsonist
256K	node_modules/sshpk
268K	node_modules/sander
276K	node_modules/prebuild
276K	node_modules/remark-parse
320K	node_modules/remark-lint
360K	node_modules/js-yaml
396K	node_modules/iconv-lite
400K	node_modules/electron-auto-updater
404K	node_modules/nan
452K	node_modules/immutable
652K	node_modules/async
696K	node_modules/react
704K	node_modules/bluebird
864K	node_modules/source-map-support
964K	node_modules/fbjs
984K	node_modules/octicons
1.5M	node_modules/glamor
1.8M	node_modules/es5-ext
1.8M	node_modules/styled-components
1.9M	node_modules/node-gyp
2.0M	node_modules/node-ninja
2.4M	node_modules/react-dom
2.6M	node_modules/katex
2.6M	node_modules/lodash-es
2.8M	node_modules/moment
3.1M	node_modules/codemirror
4.0M	node_modules/pouchdb
4.2M	node_modules/core-js
4.8M	node_modules/lodash
7.5M	node_modules/leveldown
Originally created by @Sarah-Seo on GitHub (Dec 25, 2016). Original GitHub issue: https://github.com/BoostIO/BoostNote-App/issues/16 Size of node_modules is quite big. - [x] Compile React stuffs and pouchDB via webpack and move them to devDependencies - [x] Uglify compiled scripts - [ ] Discard from dep - [ ] react-desktop - [ ] Use minified script - [ ] lodash - [ ] moment - [ ] react-dom - [ ] pouchdb-browser - [ ] katex - [ ] immutable ## Size list ``` 8.0K node_modules/bluebird-lst-c 8.0K node_modules/strip-outer 12K node_modules/abbrev 12K node_modules/ansi-regex 12K node_modules/ansi-styles 12K node_modules/bindings 12K node_modules/brace-expansion 12K node_modules/buffer-shims 12K node_modules/character-entities-legacy 12K node_modules/character-reference-invalid 12K node_modules/decamelize 12K node_modules/detab 12K node_modules/emoji-regex 12K node_modules/escape-string-regexp 12K node_modules/filename-reserved-regex 12K node_modules/filenamify 12K node_modules/has-ansi 12K node_modules/has-flag 12K node_modules/has-unicode 12K node_modules/inflight 12K node_modules/irregular-plurals 12K node_modules/is-alphanumeric 12K node_modules/is-stream 12K node_modules/js-tokens 12K node_modules/mdast-comment-marker 12K node_modules/mdast-util-definitions 12K node_modules/mdast-util-heading-style 12K node_modules/normalize-uri 12K node_modules/npm-prefix 12K node_modules/object-assign 12K node_modules/once 12K node_modules/os-homedir 12K node_modules/os-tmpdir 12K node_modules/path-is-absolute 12K node_modules/pinkie-promise 12K node_modules/remark 12K node_modules/remark-html 12K node_modules/remark-slug 12K node_modules/repeat-string 12K node_modules/replace-ext 12K node_modules/shellsubstitute 12K node_modules/simple-get 12K node_modules/space-separated-tokens 12K node_modules/string.prototype.codepointat 12K node_modules/strip-ansi 12K node_modules/strip-markdown 12K node_modules/trim-lines 12K node_modules/trim-repeated 12K node_modules/trim-trailing-lines 12K node_modules/unherit 12K node_modules/unist-builder 12K node_modules/unist-util-generated 12K node_modules/unist-util-modify-children 12K node_modules/unist-util-position 12K node_modules/unist-util-stringify-position 12K node_modules/unist-util-visit 12K node_modules/untildify 12K node_modules/unzip-response 12K node_modules/vfile-location 12K node_modules/wrappy 16K node_modules/after 16K node_modules/argsarray 16K node_modules/bail 16K node_modules/balanced-match 16K node_modules/ccount 16K node_modules/character-entities-html4 16K node_modules/collapse-white-space 16K node_modules/color-name 16K node_modules/color-string 16K node_modules/comma-separated-tokens 16K node_modules/concat-map 16K node_modules/end-stream 16K node_modules/es6-promise-pool 16K node_modules/expand-template 16K node_modules/github-from-package 16K node_modules/graceful-readlink 16K node_modules/hast-util-is-element 16K node_modules/hast-util-whitespace 16K node_modules/hyphenate-style-name 16K node_modules/ieee754 16K node_modules/inherits 16K node_modules/ini 16K node_modules/is-alphabetical 16K node_modules/is-alphanumerical 16K node_modules/is-buffer 16K node_modules/is-decimal 16K node_modules/is-hexadecimal 16K node_modules/is-typedarray 16K node_modules/is-whitespace-character 16K node_modules/is-word-character 16K node_modules/jsonfile 16K node_modules/kebab-case 16K node_modules/level-write-stream 16K node_modules/longest-streak 16K node_modules/markdown-escapes 16K node_modules/mdast-util-compact 16K node_modules/mdast-util-to-string 16K node_modules/mime-types 16K node_modules/npmlog 16K node_modules/pinkie 16K node_modules/process-nextick-args 16K node_modules/remark-message-control 16K node_modules/scope-eval 16K node_modules/sliced 16K node_modules/state-toggle 16K node_modules/stringify-entities 16K node_modules/strip-json-comments 16K node_modules/supports-color 16K node_modules/trough 16K node_modules/unist-util-is 16K node_modules/util-extend 16K node_modules/vfile-sort 16K node_modules/x-is-string 20K node_modules/array-iterate 20K node_modules/assert-plus 20K node_modules/block-stream 20K node_modules/execspawn 20K node_modules/generate-function 20K node_modules/generate-object-property 20K node_modules/html-void-elements 20K node_modules/invariant 20K node_modules/json-stringify-safe 20K node_modules/jsonpointer 20K node_modules/ltgt 20K node_modules/markdown-table 20K node_modules/minimist 20K node_modules/ms 20K node_modules/oauth-sign 20K node_modules/osenv 20K node_modules/path-array 20K node_modules/prr 20K node_modules/pump 20K node_modules/simple-mime 20K node_modules/string_decoder 20K node_modules/stringstream 20K node_modules/unist-util-remove-position 20K node_modules/util-deprecate 20K node_modules/vfile 24K node_modules/aws-sign2 24K node_modules/caseless 24K node_modules/cryptiles 24K node_modules/deep-extend 24K node_modules/forever-agent 24K node_modules/fs.realpath 24K node_modules/github-markdown-css 24K node_modules/hoist-non-react-statics 24K node_modules/is-property 24K node_modules/isarray 24K node_modules/isstream 24K node_modules/lodash.pad 24K node_modules/lodash.padend 24K node_modules/lodash.padstart 24K node_modules/property-information 24K node_modules/punycode 24K node_modules/remark-emoji 24K node_modules/tar-fs 24K node_modules/tunnel-agent 24K node_modules/whatwg-fetch 24K node_modules/which 28K node_modules/bcrypt-pbkdf 28K node_modules/delegates 28K node_modules/electron-positioner 28K node_modules/encoding 28K node_modules/fast-future 28K node_modules/function-bind 28K node_modules/ghrepos 28K node_modules/ghutils 28K node_modules/has 28K node_modules/isexe 28K node_modules/isomorphic-fetch 28K node_modules/klaw 28K node_modules/match-at 28K node_modules/trim 28K node_modules/unified 28K node_modules/xtend 32K node_modules/aws4 32K node_modules/combined-stream 32K node_modules/d 32K node_modules/delayed-stream 32K node_modules/extend 32K node_modules/hast-util-sanitize 32K node_modules/immediate 32K node_modules/jsprim 32K node_modules/level-codec 32K node_modules/loose-envify 32K node_modules/mkdirp 32K node_modules/noop-logger 32K node_modules/parse-entities 36K node_modules/ansi 36K node_modules/double-ended-queue 36K node_modules/form-data 36K node_modules/graceful-fs 36K node_modules/load-plugin 36K node_modules/minimatch 36K node_modules/nopt 36K node_modules/symbol-observable 40K node_modules/asap 40K node_modules/chalk 40K node_modules/clone 40K node_modules/core-util-is 40K node_modules/gauge 40K node_modules/react-immutable-proptypes 40K node_modules/sntp 40K node_modules/spark-md5 44K node_modules/is-my-json-valid 44K node_modules/vuvuzela 48K node_modules/end-of-stream 48K node_modules/verror 52K node_modules/character-entities 52K node_modules/debug 52K node_modules/es6-symbol 52K node_modules/extsprintf 52K node_modules/getpass 52K node_modules/wrapped 56K node_modules/commander 56K node_modules/ecc-jsbn 56K node_modules/ghreleases 60K node_modules/es6-iterator 60K node_modules/node-fetch 60K node_modules/semver 64K node_modules/boom 64K node_modules/jsbn 64K node_modules/node-uuid 68K node_modules/errno 68K node_modules/level-iterator-stream 68K node_modules/rc 72K node_modules/color 72K node_modules/github-slugger 76K node_modules/bowser 76K node_modules/sprintf-js 80K node_modules/lie 80K node_modules/qs 84K node_modules/asynckit 84K node_modules/http-signature 84K node_modules/url-template 88K node_modules/asn1 88K node_modules/rimraf 92K node_modules/dashdash 92K node_modules/tar 96K node_modules/hast-util-to-html 96K node_modules/hoek 96K node_modules/readable-stream 100K node_modules/fstream 100K node_modules/jodid25519 100K node_modules/ua-parser-js 108K node_modules/har-validator 116K node_modules/array-index 116K node_modules/buffer 144K node_modules/mdast-util-to-hast 152K node_modules/react-redux 156K node_modules/levelup 164K node_modules/tweetnacl 168K node_modules/mime-db 168K node_modules/node-emoji 176K node_modules/abstract-leveldown 184K node_modules/argparse 196K node_modules/hawk 196K node_modules/promise 200K node_modules/hyperquest 204K node_modules/redux 204K node_modules/write-stream 208K node_modules/deferred-leveldown 208K node_modules/remark-stringify 216K node_modules/es6-promise 216K node_modules/through2 220K node_modules/bl 224K node_modules/esprima 224K node_modules/tough-cookie 232K node_modules/json-schema 236K node_modules/tar-stream 244K node_modules/are-we-there-yet 248K node_modules/jsonist 256K node_modules/sshpk 268K node_modules/sander 276K node_modules/prebuild 276K node_modules/remark-parse 320K node_modules/remark-lint 360K node_modules/js-yaml 396K node_modules/iconv-lite 400K node_modules/electron-auto-updater 404K node_modules/nan 452K node_modules/immutable 652K node_modules/async 696K node_modules/react 704K node_modules/bluebird 864K node_modules/source-map-support 964K node_modules/fbjs 984K node_modules/octicons 1.5M node_modules/glamor 1.8M node_modules/es5-ext 1.8M node_modules/styled-components 1.9M node_modules/node-gyp 2.0M node_modules/node-ninja 2.4M node_modules/react-dom 2.6M node_modules/katex 2.6M node_modules/lodash-es 2.8M node_modules/moment 3.1M node_modules/codemirror 4.0M node_modules/pouchdb 4.2M node_modules/core-js 4.8M node_modules/lodash 7.5M node_modules/leveldown ```
kerem closed this issue 2026-03-03 00:17:38 +03:00
Author
Owner

@Sarah-Seo commented on GitHub (Dec 28, 2016):

Uglifying doesn't seem to be effective. File size is not reduced so much. 😭
So, I'm going to compile whole browser libraries for production build.

<!-- gh-comment-id:269403688 --> @Sarah-Seo commented on GitHub (Dec 28, 2016): Uglifying doesn't seem to be effective. File size is not reduced so much. 😭 So, I'm going to compile whole browser libraries for production build.
Author
Owner

@Sarah-Seo commented on GitHub (Jan 3, 2017):

Compiling whole library quite work well. But, the bundle size is still about 5mb. I think I could reduce much more.

Btw, I added analyze script to check bundle size much easier.

Analyze result

lodash: 532.7 KB (12.4%)
react-dom: 506.05 KB (11.8%)
moment: 429.12 KB (10.0%)
react-desktop: 421.4 KB (9.84%)
pouchdb-browser: 311.69 KB (7.28%)
  debug: 8.07 KB (2.59%)
  <self>: 303.62 KB (97.4%)
katex: 271.09 KB (6.33%)
styled-components: 219.23 KB (5.12%)
immutable: 139.14 KB (3.25%)
remark-parse: 128.18 KB (2.99%)
  xtend: 384 B (0.293%)
  <self>: 127.8 KB (99.7%)
react: 104.12 KB (2.43%)
react-router: 86.92 KB (2.03%)
octicons: 75.92 KB (1.77%)
radium: 62.26 KB (1.45%)
node-libs-browser: 52.77 KB (1.23%)
  buffer: 47.47 KB (90.0%)
  process: 5.17 KB (9.81%)
  <self>: 132 B (0.244%)
remark-stringify: 50.14 KB (1.17%)
  xtend: 384 B (0.748%)
  <self>: 49.77 KB (99.3%)
history: 46.35 KB (1.08%)
sander: 46.28 KB (1.08%)
  es6-promise: 27.77 KB (60.0%)
  <self>: 18.5 KB (40.0%)
inline-style-prefixer: 37.73 KB (0.881%)
glob: 36.79 KB (0.859%)
character-entities: 35.99 KB (0.841%)
node-emoji: 29.79 KB (0.696%)
fbjs: 29.05 KB (0.679%)
minimatch: 24.75 KB (0.578%)
spark-md5: 22.42 KB (0.524%)
redux: 20.35 KB (0.475%)
react-redux: 19.37 KB (0.452%)
graceful-fs: 18.42 KB (0.430%)
inline-style-prefix-all: 17.99 KB (0.420%)
hast-util-to-html: 17.72 KB (0.414%)
  xtend: 384 B (2.12%)
  <self>: 17.34 KB (97.9%)
bowser: 16.56 KB (0.387%)
unified: 15.4 KB (0.360%)
mdast-util-to-hast: 14.83 KB (0.346%)
  xtend: 384 B (2.53%)
  <self>: 14.46 KB (97.5%)
parse-entities: 12.94 KB (0.302%)
react-router-redux: 10.93 KB (0.255%)
hast-util-sanitize: 10.15 KB (0.237%)
  xtend: 384 B (3.70%)
  <self>: 9.77 KB (96.3%)
react-immutable-proptypes: 9.87 KB (0.231%)
fs.realpath: 9.62 KB (0.225%)
rimraf: 8.15 KB (0.190%)
property-information: 8.11 KB (0.189%)
vfile: 6.71 KB (0.157%)
lie: 5.76 KB (0.135%)
lodash-es: 5.74 KB (0.134%)
markdown-table: 5.46 KB (0.128%)
brace-expansion: 4.68 KB (0.109%)
vuvuzela: 4.53 KB (0.106%)
react-hot-loader: 3.95 KB (0.0922%)
character-entities-html4: 3.62 KB (0.0845%)
trough: 3.51 KB (0.0819%)
stringify-entities: 3.27 KB (0.0763%)
base64-js: 3.24 KB (0.0757%)
emoji-regex: 2.85 KB (0.0666%)
vfile-location: 2.74 KB (0.0641%)
ms: 2.65 KB (0.0620%)
unist-util-is: 2.64 KB (0.0618%)
mkdirp: 2.57 KB (0.0600%)
strip-markdown: 2.43 KB (0.0567%)
rubber-band-effect: 2.41 KB (0.0564%)
extend: 2.21 KB (0.0517%)
query-string: 2.01 KB (0.0469%)
ieee754: 2.01 KB (0.0469%)
object-assign: 1.95 KB (0.0455%)
immediate: 1.84 KB (0.0430%)
comma-separated-tokens: 1.77 KB (0.0413%)
warning: 1.76 KB (0.0412%)
unherit: 1.7 KB (0.0397%)
  xtend: 384 B (22.1%)
  <self>: 1.32 KB (77.9%)
mdast-util-compact: 1.7 KB (0.0396%)
string.prototype.codepointat: 1.6 KB (0.0374%)
character-entities-legacy: 1.56 KB (0.0364%)
function-bind: 1.49 KB (0.0348%)
invariant: 1.48 KB (0.0346%)
remark-html: 1.46 KB (0.0341%)
  xtend: 384 B (25.7%)
  <self>: 1.09 KB (74.3%)
array-iterate: 1.45 KB (0.0338%)
hoist-non-react-statics: 1.35 KB (0.0316%)
inflight: 1.33 KB (0.0311%)
hast-util-is-element: 1.28 KB (0.0300%)
match-at: 1.28 KB (0.0299%)
detab: 1.26 KB (0.0293%)
github-slugger: 1.24 KB (0.0289%)
remark-slug: 1.22 KB (0.0284%)
repeat-string: 1.18 KB (0.0277%)
filenamify: 1.17 KB (0.0274%)
mdast-util-definitions: 1.15 KB (0.0269%)
balanced-match: 1.13 KB (0.0265%)
symbol-observable: 1.12 KB (0.0263%)
webpack: 1.11 KB (0.0260%)
unist-util-visit: 1009 B (0.0230%)
mdast-util-to-string: 989 B (0.0226%)
markdown-escapes: 971 B (0.0222%)
hast-util-whitespace: 954 B (0.0218%)
once: 935 B (0.0213%)
state-toggle: 930 B (0.0212%)
ccount: 923 B (0.0211%)
wrappy: 905 B (0.0206%)
unist-util-stringify-position: 892 B (0.0203%)
exenv: 863 B (0.0197%)
unist-util-modify-children: 829 B (0.0189%)
is-hexadecimal: 739 B (0.0169%)
is-whitespace-character: 725 B (0.0165%)
is-buffer: 717 B (0.0164%)
unist-util-remove-position: 710 B (0.0162%)
is-word-character: 706 B (0.0161%)
longest-streak: 706 B (0.0161%)
is-alphabetical: 683 B (0.0156%)
is-alphanumerical: 677 B (0.0154%)
inherits: 672 B (0.0153%)
path-is-absolute: 611 B (0.0139%)
collapse-white-space: 610 B (0.0139%)
is-decimal: 606 B (0.0138%)
remark-emoji: 586 B (0.0134%)
bail: 555 B (0.0127%)
scope-eval: 542 B (0.0124%)
redux-thunk: 529 B (0.0121%)
unist-util-position: 514 B (0.0117%)
html-void-elements: 509 B (0.0116%)
unist-util-generated: 504 B (0.0115%)
unist-builder: 453 B (0.0103%)
kebab-case: 412 B (0.00940%)
remark: 386 B (0.00881%)
space-separated-tokens: 384 B (0.00876%)
character-reference-invalid: 382 B (0.00871%)
concat-map: 345 B (0.00787%)
replace-ext: 338 B (0.00771%)
argsarray: 338 B (0.00771%)
trim-repeated: 320 B (0.00730%)
strip-outer: 306 B (0.00698%)
trim-trailing-lines: 304 B (0.00693%)
normalize-uri: 296 B (0.00675%)
trim: 234 B (0.00534%)
escape-string-regexp: 226 B (0.00516%)
is-alphanumeric: 186 B (0.00424%)
strict-uri-encode: 182 B (0.00415%)
trim-lines: 169 B (0.00386%)
x-is-string: 148 B (0.00338%)
has: 114 B (0.00260%)
filename-reserved-regex: 74 B (0.00169%)
<self>: 233.04 KB (5.44%)
<!-- gh-comment-id:270044234 --> @Sarah-Seo commented on GitHub (Jan 3, 2017): Compiling whole library quite work well. But, the bundle size is still about 5mb. I think I could reduce much more. Btw, I added [`analyze` script](https://github.com/Sarah-Seo/Inpad/blob/2c0dde8ca2579e12b0382e2766cec08805fed9b1/package.json#L11) to check bundle size much easier. Analyze result ``` lodash: 532.7 KB (12.4%) react-dom: 506.05 KB (11.8%) moment: 429.12 KB (10.0%) react-desktop: 421.4 KB (9.84%) pouchdb-browser: 311.69 KB (7.28%) debug: 8.07 KB (2.59%) <self>: 303.62 KB (97.4%) katex: 271.09 KB (6.33%) styled-components: 219.23 KB (5.12%) immutable: 139.14 KB (3.25%) remark-parse: 128.18 KB (2.99%) xtend: 384 B (0.293%) <self>: 127.8 KB (99.7%) react: 104.12 KB (2.43%) react-router: 86.92 KB (2.03%) octicons: 75.92 KB (1.77%) radium: 62.26 KB (1.45%) node-libs-browser: 52.77 KB (1.23%) buffer: 47.47 KB (90.0%) process: 5.17 KB (9.81%) <self>: 132 B (0.244%) remark-stringify: 50.14 KB (1.17%) xtend: 384 B (0.748%) <self>: 49.77 KB (99.3%) history: 46.35 KB (1.08%) sander: 46.28 KB (1.08%) es6-promise: 27.77 KB (60.0%) <self>: 18.5 KB (40.0%) inline-style-prefixer: 37.73 KB (0.881%) glob: 36.79 KB (0.859%) character-entities: 35.99 KB (0.841%) node-emoji: 29.79 KB (0.696%) fbjs: 29.05 KB (0.679%) minimatch: 24.75 KB (0.578%) spark-md5: 22.42 KB (0.524%) redux: 20.35 KB (0.475%) react-redux: 19.37 KB (0.452%) graceful-fs: 18.42 KB (0.430%) inline-style-prefix-all: 17.99 KB (0.420%) hast-util-to-html: 17.72 KB (0.414%) xtend: 384 B (2.12%) <self>: 17.34 KB (97.9%) bowser: 16.56 KB (0.387%) unified: 15.4 KB (0.360%) mdast-util-to-hast: 14.83 KB (0.346%) xtend: 384 B (2.53%) <self>: 14.46 KB (97.5%) parse-entities: 12.94 KB (0.302%) react-router-redux: 10.93 KB (0.255%) hast-util-sanitize: 10.15 KB (0.237%) xtend: 384 B (3.70%) <self>: 9.77 KB (96.3%) react-immutable-proptypes: 9.87 KB (0.231%) fs.realpath: 9.62 KB (0.225%) rimraf: 8.15 KB (0.190%) property-information: 8.11 KB (0.189%) vfile: 6.71 KB (0.157%) lie: 5.76 KB (0.135%) lodash-es: 5.74 KB (0.134%) markdown-table: 5.46 KB (0.128%) brace-expansion: 4.68 KB (0.109%) vuvuzela: 4.53 KB (0.106%) react-hot-loader: 3.95 KB (0.0922%) character-entities-html4: 3.62 KB (0.0845%) trough: 3.51 KB (0.0819%) stringify-entities: 3.27 KB (0.0763%) base64-js: 3.24 KB (0.0757%) emoji-regex: 2.85 KB (0.0666%) vfile-location: 2.74 KB (0.0641%) ms: 2.65 KB (0.0620%) unist-util-is: 2.64 KB (0.0618%) mkdirp: 2.57 KB (0.0600%) strip-markdown: 2.43 KB (0.0567%) rubber-band-effect: 2.41 KB (0.0564%) extend: 2.21 KB (0.0517%) query-string: 2.01 KB (0.0469%) ieee754: 2.01 KB (0.0469%) object-assign: 1.95 KB (0.0455%) immediate: 1.84 KB (0.0430%) comma-separated-tokens: 1.77 KB (0.0413%) warning: 1.76 KB (0.0412%) unherit: 1.7 KB (0.0397%) xtend: 384 B (22.1%) <self>: 1.32 KB (77.9%) mdast-util-compact: 1.7 KB (0.0396%) string.prototype.codepointat: 1.6 KB (0.0374%) character-entities-legacy: 1.56 KB (0.0364%) function-bind: 1.49 KB (0.0348%) invariant: 1.48 KB (0.0346%) remark-html: 1.46 KB (0.0341%) xtend: 384 B (25.7%) <self>: 1.09 KB (74.3%) array-iterate: 1.45 KB (0.0338%) hoist-non-react-statics: 1.35 KB (0.0316%) inflight: 1.33 KB (0.0311%) hast-util-is-element: 1.28 KB (0.0300%) match-at: 1.28 KB (0.0299%) detab: 1.26 KB (0.0293%) github-slugger: 1.24 KB (0.0289%) remark-slug: 1.22 KB (0.0284%) repeat-string: 1.18 KB (0.0277%) filenamify: 1.17 KB (0.0274%) mdast-util-definitions: 1.15 KB (0.0269%) balanced-match: 1.13 KB (0.0265%) symbol-observable: 1.12 KB (0.0263%) webpack: 1.11 KB (0.0260%) unist-util-visit: 1009 B (0.0230%) mdast-util-to-string: 989 B (0.0226%) markdown-escapes: 971 B (0.0222%) hast-util-whitespace: 954 B (0.0218%) once: 935 B (0.0213%) state-toggle: 930 B (0.0212%) ccount: 923 B (0.0211%) wrappy: 905 B (0.0206%) unist-util-stringify-position: 892 B (0.0203%) exenv: 863 B (0.0197%) unist-util-modify-children: 829 B (0.0189%) is-hexadecimal: 739 B (0.0169%) is-whitespace-character: 725 B (0.0165%) is-buffer: 717 B (0.0164%) unist-util-remove-position: 710 B (0.0162%) is-word-character: 706 B (0.0161%) longest-streak: 706 B (0.0161%) is-alphabetical: 683 B (0.0156%) is-alphanumerical: 677 B (0.0154%) inherits: 672 B (0.0153%) path-is-absolute: 611 B (0.0139%) collapse-white-space: 610 B (0.0139%) is-decimal: 606 B (0.0138%) remark-emoji: 586 B (0.0134%) bail: 555 B (0.0127%) scope-eval: 542 B (0.0124%) redux-thunk: 529 B (0.0121%) unist-util-position: 514 B (0.0117%) html-void-elements: 509 B (0.0116%) unist-util-generated: 504 B (0.0115%) unist-builder: 453 B (0.0103%) kebab-case: 412 B (0.00940%) remark: 386 B (0.00881%) space-separated-tokens: 384 B (0.00876%) character-reference-invalid: 382 B (0.00871%) concat-map: 345 B (0.00787%) replace-ext: 338 B (0.00771%) argsarray: 338 B (0.00771%) trim-repeated: 320 B (0.00730%) strip-outer: 306 B (0.00698%) trim-trailing-lines: 304 B (0.00693%) normalize-uri: 296 B (0.00675%) trim: 234 B (0.00534%) escape-string-regexp: 226 B (0.00516%) is-alphanumeric: 186 B (0.00424%) strict-uri-encode: 182 B (0.00415%) trim-lines: 169 B (0.00386%) x-is-string: 148 B (0.00338%) has: 114 B (0.00260%) filename-reserved-regex: 74 B (0.00169%) <self>: 233.04 KB (5.44%) ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/BoostNote-App#14
No description provided.