Package Exports
- package-size
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (package-size) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
package-size
How does this work?
- Install the packages with yarn or npm in a temp directory
- Bundle the packages with webpack and get the bundle size
- Show you the bundle size and cache it by package version
Install
yarn global add package-sizeUsage
The package is bundled with Webpack.
# get the size of vue bundle
package-size vue
# get the size of react+react-dom bundle
package-size react,react-dom
# get the size of vue react+react-dom preact bundles
package-size vue react,react-dom preact
# get the size of react+react-dom without using the cache
package-size react,react-dom --no-cache
# get the size of file in current working directory
package-size ./dist/index.js
# or a package in current working directory, explictly using `--cwd` flag
package-size vue --cwd
# or event multiple versions for the same package!
package-size react@0.10 react@0.14 react@15
# save results to file system in JSON format
# defaults to ./package-size-output.json
package-size cherow --output
# or custom path
package-size cherow --output stats.json
# analyze bundle with webpack-bundle-analyzer
package-size cherow --analyze
# analyze bundle with webpack-bundle-analyzer on a different port
package-size cherow --analyze --port 9000API
const getSizes = require('package-size')
getSizes('react,react-dom', options)
.then(data => {
console.log(data)
//=>
{
name: 'react,react-dom',
size: 12023, // in bytes
minified: 2342,
gzipped: 534,
versionedName: 'react@16.0.0,react-dom@16.0.0'
}
})options
sort
Type: boolean
Default: false
Sort packages in size (from small to large).
cwd
Type: boolean
Default: false
Resolve modules in current working directory instead of a cache folder. Relative path will set cwd to true by default.
externals
Type: string or Array<string|RegExp>
Default: undefined
The package to exclude from bundled file, for example, to get the bundle size of styled-jsx/style we need to exclude react:
package-size styled-jsx/style --externals reactNote that if some item in externals is provided as string, it will be wrapped in a regular expression. For example: react is treated as /^react$/
cache
Type: boolean
Default: true
If cache is set to false, then package-size will not use cached build sizes. To use this from the CLI, pass --no-cache as an argument.
target
Type: string
Default: browser
Values: browser node
Build target. In node target, all node_modules will be excluded and output format is set to CommonJS.
registry
Type: string
Default: undefined
npm registry to install the package from. By default it uses the default npm registry.
resolve
Type: string string[]
Default: undefined
Extra folders to resolve local node_modules from.
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
Author
package-size © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).
egoist.moe · GitHub @egoist · Twitter @_egoistlily