{"_id":"@blinkmobile/blinkmrc","_rev":"14-d9b15af0a8112907680a7ecbc5649728","name":"@blinkmobile/blinkmrc","description":"bit like https://github.com/yeoman/configstore but with home-directory and project-specific files","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@blinkmobile/blinkmrc","description":"bit like https://github.com/yeoman/configstore but with home-directory and project-specific files","version":"1.0.0","bugs":{"url":"https://github.com/blinkmobile/blinkmrc.js/issues"},"dependencies":{"appdirectory":"0.1.0","load-json-file":"^1.1.0","write-json-file":"^1.2.0"},"devDependencies":{"ava":"^0.11.0","eslint":"^1.10.3","eslint-config-semistandard":"5.0.0","eslint-config-standard":"^4.4.0","eslint-plugin-standard":"^1.3.1","fixpack":"^2.2.0","npm-run-all":"^1.5.0","nyc":"^5.3.0","pify":"^2.3.0","temp":"^0.8.3"},"engines":{"node":">=4.0.0","npm":">=3.0.0"},"files":["lib","index.js"],"homepage":"https://github.com/blinkmobile/blinkmrc.js#readme","keywords":[],"license":"BSD-3-Clause","main":"index.js","repository":{"type":"git","url":"git+https://github.com/blinkmobile/blinkmrc.js.git"},"scripts":{"ava":"nyc ava","eslint":"eslint .","fixpack":"fixpack","nyc":"nyc check-coverage -s 80 -b 50 -f 80 -l 80","posttest":"npm-run-all eslint fixpack","test":"npm-run-all -s ava nyc"},"gitHead":"758219c5be2f1ca788f70d8cd452f74ef511c23f","_id":"@blinkmobile/blinkmrc@1.0.0","_shasum":"85ebafbfae5f00648b35c1eac4863b596af82750","_from":".","_npmVersion":"3.7.2","_nodeVersion":"5.6.0","_npmUser":{"name":"blinkmobile","email":"ron@blinkmobile.com.au"},"dist":{"shasum":"85ebafbfae5f00648b35c1eac4863b596af82750","tarball":"https://registry.npmjs.org/@blinkmobile/blinkmrc/-/blinkmrc-1.0.0.tgz","integrity":"sha512-lHgMRnLZ9WT3jQ8u3LHHR+oHtVr/y61nPGIzItdDGal2GWDXNEri9CjbtB2WBHdd1/ZG47p6wws1NkaVB5IEvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAmofFBwg08RTmnMrnK7ZoNttHSrWHigovyFg9BSVmVwIgHPaepjjamI+aejwwrwyuWhXxCjM/jklFJUiTb5yuyTg="}]},"maintainers":[{"name":"blinkmobile","email":"ron@blinkmobile.com.au"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/blinkmrc-1.0.0.tgz_1455847289819_0.21154828602448106"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@blinkmobile/blinkmrc","description":"bit like https://github.com/yeoman/configstore but with home-directory and project-specific files","version":"1.1.0","bugs":{"url":"https://github.com/blinkmobile/blinkmrc.js/issues"},"dependencies":{"appdirectory":"0.1.0","load-json-file":"^1.1.0","write-json-file":"^1.2.0"},"devDependencies":{"ava":"^0.11.0","eslint":"^1.10.3","eslint-config-semistandard":"5.0.0","eslint-config-standard":"^4.4.0","eslint-plugin-standard":"^1.3.1","fixpack":"^2.2.0","npm-run-all":"^1.5.0","nyc":"^5.3.0","pify":"^2.3.0","temp":"^0.8.3"},"engines":{"node":">=4.0.0","npm":">=3.0.0"},"files":["lib","index.js"],"homepage":"https://github.com/blinkmobile/blinkmrc.js#readme","keywords":[],"license":"BSD-3-Clause","main":"index.js","repository":{"type":"git","url":"git+https://github.com/blinkmobile/blinkmrc.js.git"},"scripts":{"ava":"nyc ava","eslint":"eslint .","fixpack":"fixpack","nyc":"nyc check-coverage -s 80 -b 50 -f 80 -l 80","posttest":"npm-run-all eslint fixpack","test":"npm-run-all -s ava nyc"},"gitHead":"88290afea3a8bf6ee7dc95ec5a95f6b0499697fb","_id":"@blinkmobile/blinkmrc@1.1.0","_shasum":"eb7226a7d7559ab9f1c836e143c0a615d83a483f","_from":".","_npmVersion":"3.7.2","_nodeVersion":"5.6.0","_npmUser":{"name":"jokeyrhyme","email":"jokeyrhyme@gmail.com"},"dist":{"shasum":"eb7226a7d7559ab9f1c836e143c0a615d83a483f","tarball":"https://registry.npmjs.org/@blinkmobile/blinkmrc/-/blinkmrc-1.1.0.tgz","integrity":"sha512-aHBAeOiS5Xd8/BK0xU1TPcZCNyp0J4LC9vsdkKWMC6IRWk8rOsyYTVlwjpWCwsllMSDQl14Y+EfndAAcoGTQiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLf/pMka6r7Gsj3QAUyjjB29ZzRDMli+RBdEd3C+wDPAIhAJQP+OQBpAn5fxmkizwtkaqK++48MyQoi72yKQKBaKRr"}]},"maintainers":[{"name":"blinkmobile","email":"ron@blinkmobile.com.au"},{"name":"jokeyrhyme","email":"jokeyrhyme@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/blinkmrc-1.1.0.tgz_1455849062582_0.8267435887828469"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"@blinkmobile/blinkmrc","description":"bit like https://github.com/yeoman/configstore but with home-directory and project-specific files","version":"2.0.0","author":{"name":"Ron Waldon","email":"jokeyrhyme@gmail.com","url":"https://github.com/jokeyrhyme"},"bugs":{"url":"https://github.com/blinkmobile/blinkmrc.js/issues"},"dependencies":{"appdirectory":"0.1.0","load-json-file":"^4.0.0","write-json-file":"2.3.0"},"devDependencies":{"ava":"^0.25.0","eslint":"^5.1.0","eslint-config-semistandard":"^12.0.1","eslint-config-standard":"^11.0.0","eslint-plugin-import":"^2.13.0","eslint-plugin-node":"^6.0.0","eslint-plugin-promise":"^3.8.0","eslint-plugin-standard":"^3.1.0","fixpack":"^2.3.1","flow-bin":"^0.76.0","nyc":"^12.0.0","pify":"^3.0.0","temp":"^0.8.3"},"directories":{"test":"test"},"engines":{"node":">=6.0.0","npm":">=6.0.0"},"files":["lib","index.js"],"homepage":"https://github.com/blinkmobile/blinkmrc.js#readme","keywords":[],"license":"BSD-3-Clause","main":"index.js","nyc":{"lines":80,"statements":80,"functions":80,"branches":50},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/blinkmobile/blinkmrc.js.git"},"scripts":{"ava":"nyc ava","eslint":"eslint --fix --cache .","fixpack":"fixpack","flow_check":"flow check","nyc":"nyc check-coverage","posttest":"npm run nyc && npm run eslint && npm run flow_check","pretest":"npm run fixpack","test":"npm run ava"},"gitHead":"2f7d05d6a142949ea0fc1855dfe14bb98b19b191","_id":"@blinkmobile/blinkmrc@2.0.0","_npmVersion":"6.2.0","_nodeVersion":"10.6.0","_npmUser":{"name":"mymattcarroll","email":"matt.carroll139@gmail.com"},"dist":{"integrity":"sha512-V1H0+l/rW7XGquoa+9K3g7hu2HDMHmWVm0jhytOyFGU6HfwHiVPeCNdehDBenNoDDp188N/yrqe08O7AfUCJTw==","shasum":"35a82ffe1384b010c20227e4560e3b8d6203035a","tarball":"https://registry.npmjs.org/@blinkmobile/blinkmrc/-/blinkmrc-2.0.0.tgz","fileCount":8,"unpackedSize":12262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUXS0CRA9TVsSAnZWagAAlCsP/AsSIP7tSm8fKiWtq4KL\nrpgQkSsxM6G1tHqlIWFR69Zjjcua46GofIhABkG0aOwJCziKaNTjxmvI1+uf\nkNiQDktVtSesr+gkRLMDp2KoLMdTU7fTAXWRoa1KBgMrK7oz9pRWgIvajhRN\nsGubReapWsxDiB5OwOUH8ANi5ibuJP0I/82SVdJjLnpoNhaI5lfM1yo8XZXH\nhhxlWseeUwqYOfvm2+g0Z8mInHPPpq4j1Icxyp0ls1Y9iMkyQtIX+5h81wy0\n7N0w7ghYHZTVLpXUMlamV4kcwQ7UO3nBrhpYdzFK3chVPiF5Svdk1qdKHhSV\nMfYIBXTOCRfyqyyky6IUDpT/PQoJ/fnJiR5aiJKANgXAyrIJRLoo78kNea5v\nG4zd4kI0vb5XWiY/+M3Xr5iMBCy6i7gdEJIeyFf5wDb7TmBuEj/VdQW/IjPr\nCXbl5uCdOsIK3ifsvwAMqPRcGRX2em90F+Ney244A74ENPEWNgGFSWB+p0kz\nNpjoIFGxexr2qU9ZKJT15/KENtwuutXdFYQNrAhzWLHJyd4a/1iVUABDzU6Z\n5QocMVsA9PanEYuOVGM5Wll6XRg6nGYgiAyx9DfAK5c8aERf2foNMujbDKMG\nW6nWX+KPwDXP5qR7fRD1obpGfLgjTi2zQCxLWWP3I3Z3dvzfnDYhqnv6P7qM\ne2gZ\r\n=FsbX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNlzY4l49/1ZG0uCGuBfyphpB4+0Vb7dv/jRsyofNEFgIhAPe84bg33nI36qGBHKxMIRAui4ZaMpQui91Vv/1msrNT"}]},"maintainers":[{"email":"ron@blinkmobile.com.au","name":"blinkmobile-admin"},{"email":"kizaonline@gmail.com","name":"kizaonline"},{"email":"matt.carroll139@gmail.com","name":"mymattcarroll"},{"email":"simondobie23@gmail.com","name":"simon_marklar"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blinkmrc_2.0.0_1532064948572_0.10543010608982928"},"_hasShrinkwrap":false,"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"readme":"# blinkmrc.j [![npm module](https://img.shields.io/npm/v/@blinkmobile/blinkmrc.svg)](https://www.npmjs.com/package/@blinkmobile/blinkmrc) [![Travis CI Status](https://travis-ci.org/blinkmobile/blinkmrc.js.svg?branch=master)](https://travis-ci.org/blinkmobile/blinkmrc.js) [![AppVeyor Status](https://img.shields.io/appveyor/ci/blinkmobile/blinkmrc-js/master.svg)](https://ci.appveyor.com/project/blinkmobile/blinkmrc-js) [![Greenkeeper badge](https://badges.greenkeeper.io/blinkmobile/blinkmrc.js.svg)](https://greenkeeper.io/)\n\nbit like https://github.com/yeoman/configstore but with home-directory and project-specific files\n\nWe extracted this from [blinkmobile/bmp-cli](https://github.com/blinkmobile/bmp-cli) for the benefit of our other CLI projects.\n\n\n## What is this?\n\nThis is a basic configuration file management library, hardcoded with defaults that suit our purposes. Like [git](http://git-scm.com/) and [npm](https://www.npmjs.com/package/npm), this library straddles configuration files in 2 locations:\n\n- your home directory (based on your operating system), where files are readable by the current user and inaccessible by other users\n\n- 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)\n\nThis pair of configuration files are both JSON-formatted.\n\nBy default we use the following filenames (but this is configurable):\n\n- user: blinkmrc.json\n\n- project: .blinkmrc.json (like .eslintrc.json or .travis.yml)\n\n\n## API\n\n```js\nconst blinkmrc = require('@blinkmobile/blinkmrc');\nconst pkg = require('./package.json');\n```\n\n\n### `userConfig (options: ConfigOptions) => ConfigStore`\n\n```js\nconst userConfig = blinkmrc.userConfig({ name: pkg.name, /* ... */ });\n```\n\n\n#### UserConfigOptions\n\n```\ninterface ConfigOptions {\n  fileMode = 0o600: Number,\n  userConfigDir?: String,\n...ConfigOptions\n}\n```\n\n\n### `project (options: ConfigOptions) => ConfigStore`\n\n```js\nconst projectConfig = blinkmrc.projectConfig({ name: pkg.name, /* ... */ });\n```\n\n\n#### ProjectConfigOptions\n\n```\ninterface ConfigOptions {\n  cwd = process.cwd(): String,\n  fileMode = 0o666: Number,\n  ...ConfigOptions\n}\n```\n\n\n### ConfigOptions\n\n```\ninterface ConfigOptions {\n  name: String,\n  filename = 'blinkmrc.json': String,\n  fileMode?: Number\n}\n```\n\n\n### ConfigStore\n\n```\ninterface ConfigStore {\n  load () => Promise[Object],\n  update (updater: UpdaterFunction) => Promise,\n  write () => Promise\n}\n```\n\n\n#### `load () => Promise[Object]`\n\nLocate the configuration file.\nIf found, parse it as JSON and return the Object.\nIf not found:\n\n- userConfig: return a new Object\n\n- projectConfig: reject with an Error\n\n\n#### `update (updater: UpdaterFunction) => Promise[Object]`\n\nLoad the configuration data as above.\nThen pass it to the provided UpdaterFunction.\nWrite the result of the UpdaterFunction back to the configuration file.\n\n\n##### UpdaterFunction (config: Object) => Object\n\nThis function receives the current configuration data.\nThis function may or may not change this data (as you determine) before returning it.\n\n\n#### `write (config: Object) => Promise[Object]`\n\nStore the provided configuration data in the appropriate file.\n","maintainers":[{"email":"aaronroworth@gmail.com","name":"aaronroworth"},{"email":"ron@blinkmobile.com.au","name":"blinkmobile-admin"},{"email":"kizaonline@gmail.com","name":"kizaonline"},{"email":"matt.carroll139@gmail.com","name":"mymattcarroll"},{"email":"simondobie23@gmail.com","name":"simon_marklar"}],"time":{"modified":"2023-08-23T01:45:39.956Z","created":"2016-02-19T02:01:32.462Z","1.0.0":"2016-02-19T02:01:32.462Z","1.1.0":"2016-02-19T02:31:05.247Z","2.0.0":"2018-07-20T05:35:48.806Z"},"homepage":"https://github.com/blinkmobile/blinkmrc.js#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/blinkmobile/blinkmrc.js.git"},"bugs":{"url":"https://github.com/blinkmobile/blinkmrc.js/issues"},"license":"BSD-3-Clause","readmeFilename":"README.md","author":{"name":"Ron Waldon","email":"jokeyrhyme@gmail.com","url":"https://github.com/jokeyrhyme"}}