Allows you to store local configuration files for your Node.js packages
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
lib
.editorconfig
.gitattributes
.gitignore
.travis.yml
changelog.md
index.js
license
package-lock.json
package.json
readme.md
test.js

readme.md

Node Package Configurator

npm Build Status Dependency Status XO code style

demo

Node Package Configurator (npc) generates a dynamic web form out of a JSON schema. The user fills the forms, npc resolves the JSON schema into a JSON object, and saves the result locally for persistent storage.

On Windows, npc saves the config file in the user App Data. Example: C:\users\vmorneau\App Data\yourModuleName
On MacOS, npc saves the file in the library preference folder. Example: ~/Library/Preferences/yourModuleName
On Linux, npc saves the file in the root folder. Example: ~/yourModuleName

You can retrieve this file (your project configuration) at any time.

Install

npm install node-package-configurator

Usage

Launch the form

const npc = require('node-package-configurator');
const schema = require('path_to_your_json_schema');

npc.init({
    modules: ["my-module"],
    logo: "url",
    project: "my-project",
    jsonSchema: schema
});

Getting the config

const npc = require('node-package-configurator');

npc.getConfig({
    modules: ["my-module"],
    project: "my-project"
});

Options

Name Type Default Description
module array List of module names, in order of priority.
logo string URL to your project logo (optional)
project string Name of the project
jsonSchema object JSON Schema to use in the form

Methods

Name Type Returns Description
init function Initializes the HTML form
getConfig function object Returns the configuration object of the given project
getProjects function array Returns an array of available project names
getFile function object Returns a file for your npm module from the file system (AppData for Windows, root otherwise)
setFile function object Writes a file for your npm module in the file system (AppData for Windows, root otherwise)

Changelog

See changelog.

Special thanks to

Brutusin json-forms

License

MIT © Vincent Morneau