New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@blinkmobile/blinkmrc

Package Overview
Dependencies
Maintainers
4
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@blinkmobile/blinkmrc

bit like https://github.com/yeoman/configstore but with home-directory and project-specific files

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
4
Weekly downloads
 
Created
Source

blinkmrc.j npm module Travis CI Status AppVeyor Status Greenkeeper badge

bit like https://github.com/yeoman/configstore but with home-directory and project-specific files

We extracted this from blinkmobile/bmp-cli for the benefit of our other CLI projects.

What is this?

This is a basic configuration file management library, hardcoded with defaults that suit our purposes. Like git and npm, this library straddles configuration files in 2 locations:

  • your home directory (based on your operating system), where files are readable by the current user and inaccessible by other users

  • your project directory, where files are readable by anyone with access to the project (i.e. if you version control these files with your project)

This pair of configuration files are both JSON-formatted.

By default we use the following filenames (but this is configurable):

  • user: blinkmrc.json

  • project: .blinkmrc.json (like .eslintrc.json or .travis.yml)

API

const blinkmrc = require('@blinkmobile/blinkmrc');
const pkg = require('./package.json');

userConfig (options: ConfigOptions) => ConfigStore

const userConfig = blinkmrc.userConfig({ name: pkg.name, /* ... */ });
UserConfigOptions
interface ConfigOptions {
  fileMode = 0o600: Number,
  userConfigDir?: String,
...ConfigOptions
}

project (options: ConfigOptions) => ConfigStore

const projectConfig = blinkmrc.projectConfig({ name: pkg.name, /* ... */ });
ProjectConfigOptions
interface ConfigOptions {
  cwd = process.cwd(): String,
  fileMode = 0o666: Number,
  ...ConfigOptions
}

ConfigOptions

interface ConfigOptions {
  name: String,
  filename = 'blinkmrc.json': String,
  fileMode?: Number
}

ConfigStore

interface ConfigStore {
  load () => Promise[Object],
  update (updater: UpdaterFunction) => Promise,
  write () => Promise
}
load () => Promise[Object]

Locate the configuration file. If found, parse it as JSON and return the Object. If not found:

  • userConfig: return a new Object

  • projectConfig: reject with an Error

update (updater: UpdaterFunction) => Promise[Object]

Load the configuration data as above. Then pass it to the provided UpdaterFunction. Write the result of the UpdaterFunction back to the configuration file.

UpdaterFunction (config: Object) => Object

This function receives the current configuration data. This function may or may not change this data (as you determine) before returning it.

write (config: Object) => Promise[Object]

Store the provided configuration data in the appropriate file.

FAQs

Package last updated on 20 Jul 2018

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc