Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kwelch/babel-plugin-captains-log
Babel plugin that injects helpful details into console statements
https://github.com/kwelch/babel-plugin-captains-log
babel babel-plugin console-statements logging utility
Last synced: 3 months ago
JSON representation
Babel plugin that injects helpful details into console statements
- Host: GitHub
- URL: https://github.com/kwelch/babel-plugin-captains-log
- Owner: kwelch
- License: mit
- Created: 2017-04-22T17:04:21.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T02:53:12.000Z (about 1 year ago)
- Last Synced: 2024-04-13T19:21:36.943Z (9 months ago)
- Topics: babel, babel-plugin, console-statements, logging, utility
- Language: JavaScript
- Homepage:
- Size: 2.4 MB
- Stars: 85
- Watchers: 6
- Forks: 7
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Captain's Log (☠️)
[![version](https://img.shields.io/npm/v/babel-plugin-captains-log.svg?style=flat-square)](http://npm.im/babel-plugin-captains-log)
[![downloads](https://img.shields.io/npm/dm/babel-plugin-captains-log.svg?style=flat-square)](http://npm-stat.com/charts.html?package=babel-plugin-captains-log)
[![Travis Build Status](https://img.shields.io/travis/kwelch/babel-plugin-captains-log.svg?style=flat-square)](https://travis-ci.com/kwelch/babel-plugin-captains-log.svg)
[![codecov](https://codecov.io/gh/kwelch/babel-plugin-captains-log/branch/main/graph/badge.svg?style=flat-square)](https://codecov.io/gh/kwelch/babel-plugin-captains-log)[![MIT License](https://img.shields.io/npm/l/kwelch.svg?style=flat-square)](http://opensource.org/licenses/MIT)
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)[![Watch on GitHub](https://img.shields.io/github/watchers/kwelch/babel-plugin-captains-log.svg?style=social)](https://github.com/kwelch/babel-plugin-captains-log/watchers)
[![Star on GitHub](https://img.shields.io/github/stars/kwelch/babel-plugin-captains-log.svg?style=social)](https://github.com/kwelch/babel-plugin-captains-log/stargazers)
[![Tweet](https://img.shields.io/twitter/url/https/github.com/kwelch/babel-plugin-captains-log.svg?style=social)](https://twitter.com/intent/tweet?text=Check%20out%20babel-plugin-captains-log!%20https://github.com/kwelch/babel-plugin-captains-log%20%F0%9F%91%8D)## Usage
`babel-plugin-captains-log` injects helpful details into console statements.
Default behavior:
- prepend console statement file & location
- add inject variable name into console statements**Transforms**
```diff
function add(a = 1, b = 2) {
console.log(a); // outputs: 1
return a + b;
}
↓ ↓ ↓ ↓ ↓ ↓
function add(a = 1, b = 2) {
console.log("simple.js(2:2)", "a", a); // outputs: "simple.js(2:2)" "a" 1
return a + b;
}
```See the [Issues][issues] for a future features and opportunities to contribute.
## Requirements
This is a Babel plugin so it requires Babel v6 to run.
## Installation
This module is distributed using npm which comes bundled with node:
```
npm install --save-dev babel-plugin-captains-log
```To include the plugin in your project, create or open your .babelrc file at the root of your project. Then, add namespaces to your plugin list:
```
{
plugins: ["babel-plugin-captains-log"]
}
```## Options
### Methods
This option provides control over which console statements are adjusted. Methods is set within your `.babelrc` as an array.
**Default**: `["debug", "error", "exception", "info", "log", "warn"]`
```
{
plugins: [
["babel-plugin-captains-log", {
"methods": ['debug', 'info']
}]
]
}
```### Ignore Patterns
This option provides control over which files are adjusted. Ignore Patterns is set within your `.babelrc` as an array of strings.
**Default**: `["node_modules"]`
```
{
plugins: [
["babel-plugin-captains-log", {
"ignorePatterns": ["node_modules", ".spec.js"]
}]
]
}
```### Use a logger other then console
This option provides control over which files are adjusted. Ignore Patterns is set within your `.babelrc` as an array of strings.
**Default**: `"console"`
```
{
plugins: [
["babel-plugin-captains-log", {
"loggerName": "logger"
}]
]
}
```### Flags
Flags are values set for all methods and are used to turn that feature on or off. Flags are not merged with defaults to allow for maximum control.
#### Variable Name Labels
**Default**: `true`
```
{
plugins: [
["babel-plugin-captains-log", {
"injectVariableName": true
}]
]
}
```#### File Location Data
**Default**: `true`
```
{
plugins: [
["babel-plugin-captains-log", {
"injectFileName": true
}]
]
}
```#### Inject Scope _(Experimental)_
_This has a few issues with other plugins particularly react-hot-loader, as it changes method names. Also, it was written for recursion which adds too much noise to the console statement which is against this libraries purpose_
**Default**: `false`
```
{
plugins: [
["babel-plugin-captains-log", {
"injectScope": true
}]
]
}
```## License
MIT
## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Kyle Welch](http://www.krwelch.com)
[💻](https://github.com/kwelch/babel-plugin-captains-log/commits?author=kwelch "Code") [📖](https://github.com/kwelch/babel-plugin-captains-log/commits?author=kwelch "Documentation") [⚠️](https://github.com/kwelch/babel-plugin-captains-log/commits?author=kwelch "Tests") | [
Maksim](https://github.com/mqklin)
[🐛](https://github.com/kwelch/babel-plugin-captains-log/issues?q=author%3Amqklin "Bug reports") |
| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
[issues]: https://github.com/kwelch/babel-plugin-captains-log/issues