https://github.com/videojs/babel-config
A standard babel config, so that plugins don't need the same script in every repository.
https://github.com/videojs/babel-config
Last synced: 6 months ago
JSON representation
A standard babel config, so that plugins don't need the same script in every repository.
- Host: GitHub
- URL: https://github.com/videojs/babel-config
- Owner: videojs
- License: other
- Created: 2020-09-30T19:46:55.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-18T21:48:33.000Z (over 2 years ago)
- Last Synced: 2025-06-08T07:44:08.119Z (7 months ago)
- Language: JavaScript
- Size: 662 KB
- Stars: 1
- Watchers: 17
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @videojs/babel-config
[](https://travis-ci.org/videojs/babel-config)
[](https://greenkeeper.io/)
[](http://slack.videojs.com)
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](https://github.com/videojs/videojs-generate-rollup-config) can also be used standalone with babel-cli.
Lead Maintainer: Brandon Casey [@brandonocasey](https://github.com/brandonocasey)
Maintenance Status: Stable
**Table of Contents**
- [Installation](#installation)
- [Usage](#usage)
## Installation
```
$ npm install --save-dev @babel/cli @videojs/babel-config
```
## Usage
1. In your rollup config add a line to delete module builds:
```js
if (config.builds.module) {
delete config.builds.module;
}
```
2. Add a npm scripts for cjs/es dists to your package.json:
```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"
}
```
3. verify that `main` in `package.json` is set to the cjs dist. Something like `cjs/index.js`
4. verify that `module` in `package.json` is set to the es dist. Something like `es/index.js`
5. verify that `browser` in `package.json` is set to the browser dist. Something like `dist/project-name.js`
6. Add `es` and `cjs` to `vjsstandard.ignore` in `package.json`
7. Make sure that `es/` and `cjs/` are in `files` in `package.json`
8. Add `/es` and `/cjs` to `.gitignore`.
9. Add `./es` and `./cjs` to the npm script for `clean` after `mkdir -p` and `rm -rf`.
```sh
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`, or `babel-config-run` if the `TEST_BUNDLE_ONLY` environment variable is set **nothing** will run! This is to maintain parity with [`videojs-generate-rollup-config`](https://github.com/videojs/videojs-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
1. require the configuration you want to use `const config = require('@videojs/babel-config/cjs.js');`
2. Make changes to it and export: `module.export = config`.
3. Change the build scripts to `babel-config-run --config-file ...`