npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pelias-config

v6.0.0

Published

Configuration settings for Pelias

Downloads

3,629

Readme

This repository is part of the Pelias project. Pelias is an open-source, open-data geocoder originally sponsored by Mapzen. Our official user documentation is here.

Pelias Configuration

This repository defines standard configuration for all parts of the Pelias geocoder. It contains tools for Pelias packages to read from configuration in a standardized way, and for Pelias users to set up their own configuration.

Greenkeeper badge

NPM

Installation

$ npm install pelias-config

Usage

Create a new Pelias config:

var config = require('pelias-config');

// use the default settings
var settings = config.defaults;

development settings

var config = require('pelias-config');

// generate development specific settings
var settings = config.generate();

local config

the easiest way to get a custom config is to create a file named ~/pelias.json.

you can copy the example file from here: https://github.com/pelias/config/blob/master/config/local.json

this file will be checked for settings whenever you run imports and will override the defaults; it is particularly useful for specifying datasource paths during development.

production settings

sysadmin and ops engineers can override the default settings on the server by launching any code which requires this module by supplying an ENV var with the path to their custom json config.

$ PELIAS_CONFIG=/path/to/settings/file.json node app.js

Note: by default the merge is deep (it replaces the defaults with any properties that are present in the env config). The developer can disable deep merging to use only local configuration settings.

var config = require('pelias-config');

// shallow merge config settings from a path supplied in the env var
var settings = config.generate( false );

// deep merge config settings from a path supplied in the env var
var settings = config.generate( true );
var settings = config.generate();

You can test the result of merging your env config with the following bash oneliner:

npm install pelias-config; \
PELIAS_CONFIG=/path/config.json \
node -e "console.log( JSON.stringify(require('pelias-config').generate(), null, 2) );";

Validation

Aside from deep, the generate function takes an additional parameter named schema that uses Joi to validate that the configuration is useable. An error is thrown if the generated configuration does not validate against the schema.

Exporting & Debugging

The generated config will be a standard Javascript object:

var config = require('pelias-config'),
    settings = config.generate();

console.log(JSON.stringify(settings, null, 2));
// {
//    "api": {
//       ...
//    },
//    "imports": {
//      ...
//    }
//  }

You can pretty print the generated config with any package you like or with JSON.stringify. Using the third parameter to JSON.stringify for indentation may be helpful:

var config = require('pelias-config'),
    settings = config.generate();

console.log( JSON.stringify(settings, null, 2) );

NPM Module

The pelias-config npm module can be found here:

https://npmjs.org/package/pelias-config

Contributing

Please fork and pull request against upstream master on a feature branch.

Pretty please; provide unit tests and script fixtures in the test directory.

Running Unit Tests

$ npm test

Continuous Integration

CI tests every release against all supported Node.js versions.