New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

kibrow

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kibrow

kraken-browser dependency injection to register module to global access for browser

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Kraken Browser

codebeat badge CodeFactor Codacy Badge node-current npm PRs Welcome

kibrow is dependency injection to register module to global access, 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, for nodejs version check this kinode.

Installation

$ npm install kibrow -S or yarn add kibrow -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 Not With SSR

    import { krakenConfig } from 'kibrow'
    import axios from 'axios'
    import _ from 'lodash'
    
    krakenConfig({
      packages: [
        {
          name: '$axios',
          module: axios
        },
        {
          name: '$_',
          module: _
        }
      ]
    })
    
  • Example Kraken Config With SSR

    import { krakenConfig } from 'kibrow/ssr'
    import axios from 'axios'
    import _ from 'lodash'
    
    krakenConfig({
      packages: [
        {
          name: '$axios',
          module: axios
        },
        {
          name: '$_',
          module: _
        }
      ]
    })
    

Example Usage

Before usage of this module, if you're using ESLint you have must be added Overrides ESLint Config, and also if you're using typescript add "noImplicitAny": false to tsconfig.json, for more example usage and implementation check folder demo in this repository here.

  • Overrides Eslint Config
    "overrides": [
      {
        "files": [
          "**/*.js",
          "**/*.jsx",
          "**/*.ts",
          "**/*.tsx"
        ],
        "rules": {
          "no-restricted-globals": 0
        },
        "globals": {
          "self": "writable"
        }
      }
    ]
    
  • Example Usage Using JavaScript
     self.$axios.get('https://jsonplaceholder.typicode.com/users')
     .then(res => console.log(res.data))
     .catch(err => console.log(err.response.data))
    
  • Example Usage Using TypeScript
     self['$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-browser or make dkb tag=kraken-browser
    

Bugs

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

Contributing

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

License

BACK TO TOP

Keywords

javascript

FAQs

Package last updated on 20 Aug 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts