Skip to content

keajs/babel-plugin-kea

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM Version Backers on Open Collective Sponsors on Open Collective

Note! Version 3.0.0 is designed to work with Kea v3+

babel-plugin-kea

This plugin helps auto-generate paths for kea logic.

// IN FILE: scenes/homepage/homepageLogic.js

// input:
kea({
  // ... anything but `path`
})

// output:
kea({
  path: ['scenes', 'homepage', 'homepageLogic'],
  // ... anything but `path`
})

// IN FILE: scenes/dashboard/dashboardLogic.js

// input:
kea({
  key: (props) => props.id,
  // ... anything but `path`
})

// output:
kea({
  key: (props) => props.id,
  path: ['scenes', 'homepage', 'homepageLogic'],
  // ... anything but `path`
})

// IN FILE: lib/customPage.js

// input:
kea({
  path: () => ['special', 'customStuff'],
  // other keys
})

// output:
kea({
  path: () => ['special', 'customStuff'], // path was not modified
  // other keys
})

// 3.0.0 logic builders

// input:
import { kea } from 'kea'
kea([])

// output:
import { kea, path } from 'kea'
kea([path(['special', 'customStuff'])])

Installation

First install the package

# with yarn
yarn add babel-plugin-kea --dev

# with npm
npm install babel-plugin-kea --save-dev

Then add it to the list of plugins in your .babelrc:

// .babelrc
{
  "plugins": [
    "babel-plugin-kea"
  ]
}

Configuration

Logic paths are scoped from the current path. If you wish to skip a few parts of the path, for example if your frontend lives under frontend/src and you don't want every kea path to start with frontend.src, specify it in the config as follows:

// .babelrc
{
  "plugins": [
    ["babel-plugin-kea", { "path": "./frontend/src" }]
  ]
}

About

Kea Babel Plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •