All Projects → tkh44 → Babel Plugin Sitrep

tkh44 / Babel Plugin Sitrep

Log all assignments and the return value of a function with a simple comment

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Babel Plugin Sitrep

Babel Plugin Captains Log
Babel plugin that injects helpful details into console statements
Stars: ✭ 80 (-81.9%)
Mutual labels:  babel, babel-plugin, logging
babel-plugin-syntax-pipeline
Allow parsing of pipeline operator |>
Stars: ✭ 23 (-94.8%)
Mutual labels:  babel, babel-plugin
babel-plugin-remove-test-ids
🐠 Babel plugin to strip `data-test-id` HTML attributes
Stars: ✭ 40 (-90.95%)
Mutual labels:  babel, babel-plugin
Babel Plugin Console
Babel Plugin that adds useful build time console functions 🎮
Stars: ✭ 278 (-37.1%)
Mutual labels:  babel, babel-plugin
babel-plugin-source-map-support
A Babel plugin which automatically makes stack traces source-map aware
Stars: ✭ 41 (-90.72%)
Mutual labels:  babel, babel-plugin
babel-plugin-transform-replace-expressions
A Babel plugin for replacing expressions with other expressions
Stars: ✭ 23 (-94.8%)
Mutual labels:  babel, babel-plugin
Babel Blade
(under new management!) ⛸️Solve the Double Declaration problem with inline GraphQL. Babel plugin/macro that works with any GraphQL client!
Stars: ✭ 266 (-39.82%)
Mutual labels:  babel, babel-plugin
Xwind
Tailwind CSS as a templating language in JS and CSS-in-JS
Stars: ✭ 249 (-43.67%)
Mutual labels:  babel, babel-plugin
Effectfuljs
JavaScript embedded effects compiler
Stars: ✭ 287 (-35.07%)
Mutual labels:  babel, babel-plugin
Babel Plugin Css Modules Transform
Extract css class names from required css module files, so we can render it on server.
Stars: ✭ 318 (-28.05%)
Mutual labels:  babel, babel-plugin
Babel Plugin Tailwind Components
Use Tailwind with any CSS-in-JS library
Stars: ✭ 320 (-27.6%)
Mutual labels:  babel, babel-plugin
core-web
like core-js but for Web APIs (based on polyfill.io)
Stars: ✭ 34 (-92.31%)
Mutual labels:  babel, babel-plugin
babel-plugin-proposal-pattern-matching
the minimal grammar, high performance JavaScript pattern matching implementation
Stars: ✭ 34 (-92.31%)
Mutual labels:  babel, babel-plugin
babel-plugin-transform-html-import-to-string
Turn HTML imports (and export from) into constant strings
Stars: ✭ 22 (-95.02%)
Mutual labels:  babel, babel-plugin
S2s
Coding time Compile. A tool to write code fastest.
Stars: ✭ 254 (-42.53%)
Mutual labels:  babel, babel-plugin
Grafoo
A GraphQL Client and Toolkit
Stars: ✭ 264 (-40.27%)
Mutual labels:  babel, babel-plugin
I18nize React
Internationalize react apps within a lunch break
Stars: ✭ 389 (-11.99%)
Mutual labels:  babel, babel-plugin
Babel Plugin React Intl Auto
i18n for the component age. Auto management react-intl ID.
Stars: ✭ 203 (-54.07%)
Mutual labels:  babel, babel-plugin
Eslint Import Resolver Babel Module
Custom eslint resolve for babel-plugin-module-resolver
Stars: ✭ 236 (-46.61%)
Mutual labels:  babel, babel-plugin
Babel Plugin Module Resolver
Custom module resolver plugin for Babel
Stars: ✭ 3,134 (+609.05%)
Mutual labels:  babel, babel-plugin

babel-plugin-sitrep

Log all assignments and the return value of a function with a simple comment

npm version Build Status codecov

Example

In

// sitrep
function bar () {
  var a = 'foo'
  const b = 'bar'
  let c = [a, b].map(x => x)
  return c.join('-')
}

// sitrep
var cb = x => x.charAt(0)

// sitrep
var cb = x => {
  x = x + 2
  x.charAt(0)
  return x
}

// sitrep
var a = function () {
  return 'foo'
}

const obj = {
  // sitrep
  fn() {
    let a = 5
    return a + 5
  }
}

class Boom {
  // sitrep
  fire() {
    let a = 2
    return a + 5
  }
}

// sitrep prefix
function bar () {
  var a = 'foo'
  return a
}

↓ ↓ ↓ ↓ ↓ ↓

Out

// sitrep
function bar () {
  console.groupCollapsed('bar');

  var a = 'foo';
  console.log('a: ', a);
  const b = 'bar';
  console.log('b: ', b);
  let c = [a, b].map(x => x);
  console.log('c: ', c);

  var _returnValue = c.join('-');

  console.log('Return Value:', _returnValue);
  console.groupEnd('bar');
  return _returnValue;
}

// sitrep
var cb = function (x) {
  console.groupCollapsed('cb');

  var _returnValue3 = x.charAt(0);

  console.log('Return Value:', _returnValue3);
  console.groupEnd('cb');
  return _returnValue3;
};

// sitrep
var cb = function (x) {
  console.groupCollapsed('cb');

  x = x + 2;
  console.log('x: ', x);
  x.charAt(0);
  var _returnValue4 = x;
  console.log('Return Value:', _returnValue4);
  console.groupEnd('cb');
  return _returnValue4;
};

// sitrep
var a = function () {
  console.groupCollapsed('a');
  var _returnValue5 = 'foo';
  console.log('Return Value:', _returnValue5);
  console.groupEnd('a');

  return _returnValue5;
};

const obj = {
  // sitrep
  fn() {
    console.groupCollapsed('fn');

    let a = 5;
    console.log('a: ', a);

    var _returnValue6 = a + 5;

    console.log('Return Value:', _returnValue6);
    console.groupEnd('fn');
    return _returnValue6;
  }
};

class Boom {
  // sitrep
  fire() {
    console.groupCollapsed('fire');

    let a = 2;
    console.log('a: ', a);

    var _returnValue7 = a + 5;

    console.log('Return Value:', _returnValue7);
    console.groupEnd('fire');
    return _returnValue7;
  }
}

// sitrep prefix
function bar () {
  console.groupCollapsed('(prefix) bar');

  var a = 'foo';
  console.log('a: ', a);

  var _returnValue8 = c.join('-');

  console.log('Return Value:', _returnValue8);
  console.groupEnd('(prefix) bar');
  return _returnValue8;
}

Installation

npm install --save-dev babel-plugin-sitrep

Usage

Via .babelrc (Recommended)

.babelrc

Without options:

{
  "plugins": ["sitrep"]
}

Via CLI

babel --plugins sitrep script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["sitrep"]
});

Options

label

string, defaults to sitrep.

This option changes the label that enables the plugin

Example

If we set label to "log-all-the-things"

In

// log-all-the-things
function fn(a) {
  a = a.map(x => x)
  return a
}

↓ ↓ ↓ ↓ ↓ ↓

Out

// log-all-the-things
function fn(a) {
  console.groupCollapsed("fn");

  a = a.map(x => x);
  console.log("a: ", a);
  var _returnValue = a;
  console.log("Return Value:", _returnValue);
  console.groupEnd("fn");
  return _returnValue;
}

collapsed

boolean, defaults to true.

This option enables the following:

  • Collapse the group of console logs associated with a function
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].