0.0.2 • Published 3 years ago

kinode v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Kraken Node

Build Status Coverage Status codebeat badge CodeFactor Codacy Badge node-current npm PRs Welcome

kinode is dependency injection to register module to global access, you can load each given module from kraken.config.json, without the need to load module using require or import again in every file, then module can be accessed as a global with very easy and then only register modules to kraken config, which you often the most used in each every file, example module like axios, lodash, moment etc.

Installation

$ npm install kinode -S or yarn add kinode -S

Config

  • Kraken config property

    • name for to calling module in each every file and default value is to undefined
    • module for to register module to global access and default value is to undefined
    • inject for to disabled module to global access, if value is set to false and default value is to true
  • Example kraken.config.json

    {
      "packages": [
        {
          "name": "$axios",
          "module": "axios"
        },
        {
          "name": "$_",
          "module": "lodash"
        },
        {
          "name": "$moment",
          "module": "moment",
          "inject": false
        }
      ]
    }

Example Usage

  • Example Usage Config Outside Directory
    • Example Usage Using CommonJs With JavaScript
       require('kinode').config()
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
       require('kinode/config')
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
    • Example Usage Using Esm With JavaScript
       import { config } from 'kinode'
       config()
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
       import 'kinode/config'
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
    • Example Usage With Typescript
       import { config } from 'kinode'
       config()
      
       global.$axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
       import 'kinode/config'
      
       global.$axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
  • Example Usage Config Inside Directory
    • Example Usage Using CommonJs With JavaScript
       require('kinode').config({ directory: 'config' })
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
    • Example Usage Using Esm With JavaScript
       import { config } from 'kinode'
       config({ directory: 'config' })
      
       $axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))
    • Example Usage With Typescript
       import { config } from 'kinode'
       config({ directory: 'config' })
      
       global.$axios.get('https://jsonplaceholder.typicode.com/users')
       .then(res => console.log(res.data))
       .catch(err => console.log(err.response.data))

Testing

  • Testing Via Local

    npm test or make test
  • Testing Via Local And Build

    make build
  • Testing Via Docker

    docker build -t kraken-node or make dkb tag=kraken-node

Bugs

For information on bugs related to package libraries, please visit here

Contributing

Want to make kraken-node more perfect ? Let's contribute and follow the contribution guide.

License