@videojs/babel-config
v1.0.2
Published
A standard babel config, so that plugins don't need the same script in every repository.
Downloads
1,589
Maintainers
Keywords
Readme
@videojs/babel-config
Currently babel configs are the same for most plugins, and most of them are built using this babel config via babel. We have some libraries though that are should not be built using rollup for nodejs consumption, that are currently doing so. So this config while still consumed by videojs-generate-rollup-config can also be used standalone with babel-cli.
Lead Maintainer: Brandon Casey @brandonocasey
Maintenance Status: Stable
Table of Contents
Installation
$ npm install --save-dev @babel/cli @videojs/babel-config
Usage
- In your rollup config add a line to delete module builds:
if (config.builds.module) {
delete config.builds.module;
}
- Add a npm scripts for cjs/es dists to your package.json:
{
"build:cjs": "babel-config-cjs -d ./cjs ./src",
"build:es": "babel-config-es -d ./es ./src",
"watch:cjs": "npm run build:cjs -- -w",
"watch:es": "npm run build:es -- -w"
}
- verify that
main
inpackage.json
is set to the cjs dist. Something likecjs/index.js
- verify that
module
inpackage.json
is set to the es dist. Something likees/index.js
- verify that
browser
inpackage.json
is set to the browser dist. Something likedist/project-name.js
- Add
es
andcjs
tovjsstandard.ignore
inpackage.json
- Make sure that
es/
andcjs/
are infiles
inpackage.json
- Add
/es
and/cjs
to.gitignore
. - Add
./es
and./cjs
to the npm script forclean
aftermkdir -p
andrm -rf
.
shx rm -rf ./dist ./test/dist ./cjs ./es && shx mkdir -p ./dist ./test/dist ./cjs ./es
Important things
- When running through
babel-config-cjs
,babel-config-es
, orbabel-config-run
if theTEST_BUNDLE_ONLY
environment variable is set nothing will run! This is to maintain parity withvideojs-generate-rollup-config
. - The
babel-config-cjs
binary runs babel cli with--verbose
and--config-file
set to the cjs config exported here. - The
babel-config-es
binary runs babel cli with--verbose
and--config-file
set to the es config exported here. - The
babel-config-run
binary runs babel cli with--verbose
but no config file.
Changing configuration
- require the configuration you want to use
const config = require('@videojs/babel-config/cjs.js');
- Make changes to it and export:
module.export = config
. - Change the build scripts to
babel-config-run --config-file <new-config> ...