@dimerapp/config-parser
v2.0.4
Published
Parses the dimer.json file
Downloads
37
Readme
Dimer Config Parser
Parses dimer.json
This module parses the dimer.json
file and returns a normalised config object back.
Installation
npm i @dimerapp/config-parser
# yarn
yarn add @dimerapp/config-parser
Usage
const ConfigParser = require('@dimerapp/config-parser')
const Context = require('@dimerapp/context')
const ctx = new Context(__dirname)
// masterOptions are optional
const configParser = new ConfigParser(ctx, masterOptions)
Master Options
You can optionally pass masterOptions to the constructor. The masterOptions
are merged (with more priority) the compiler options defined inside the config file.
Compiler options
Following options are allowed inside dimer.json
config file as compileOptions
.
validateDomain (boolean)
Whether or not to validate the domain. default=true
apiUrl? (string)
API url from which the api is served. default=http://localhost:5000
. Defining this in options, will override the value explicitly defined in config.
assetsUrl? (string)
The assets url from where the assets will be served. If not defined, it will be created from the apiUrl
.
createSearchIndex
Whether or not to create the search index.
detectAssets
Whether or not to detect assets.
API
parse
Parse the config file and returns normalised config object.
try {
const { errors, config } = await configParser.parse()
if (errors) {
errors.forEach(({ message, ruleId }) => console.log(message, ruleId))
return
}
// use config
} catch (error) {
// file is missing or bad JSON
}
init
Create a new config file (if missing).
await configParser.init()
// or pass custom config
await configParser.init({
domain: '',
versions: {}
})
Config file sample
{
domain: 'adonisjs.dimerapp.com',
cname?: 'adonisjs.com',
defaultVersion: 'master',
versions: {
master: 'docs/master'
},
websiteOptions?: {},
compilerOptions: {
apiUrl: 'http://localhost:5000',
detectAssets: true,
createSearchIndex: true,
assetsUrl?: 'http://localhost:5000/__assets',
validateDomain?: true
}
}
Change log
The change log can be found in the CHANGELOG.md file.
Contributing
Everyone is welcome to contribute. Please take a moment to review the contributing guidelines.
Authors & License
thetutlage and contributors.
MIT License, see the included MIT file.