@form8ion/core
v4.8.0
Published
core logic for form8ion tools
Downloads
40,449
Readme
core
core logic for form8ion tools
Table of Contents
Usage
Installation
$ npm install @form8ion/core --save-prod
Example
import {directoryExists, fileExists} from '@form8ion/core';
(async () => {
await fileExists('path/to/some/expected/file');
await directoryExists('path/to/some/expected/directory');
})();
API
fileExists
wrapper around fs.promises.stat()
to determine whether a file exists at a given path.
directoryExists
wrapper around fs.promises.stat()
to determine whether a directory exists at a given path.
validateOptions
Validates provided options against a joi schema.
schema
(required)
joi schema
options
(required)
options to compare to the provided schema
applyEnhancers
Processes scaffolding results by applying a list of enhancers (lifters) as a chain, returning the enhanced results. Each enhancer is applied conditionally, based on the results of the predicate supplied with each enhancer.
Takes a single options object as an argument, containing:
results
object (required)
Result object from scaffolder execution
enhancers
array (required)
List of plugins with lift
and test
properties for processing the provided
results
.
The test
property is a predicate that determines if the enhancer is
applicable to the current project.
The lift
property processes the results
if the test
predicate returns
true
.
options
object (required)
Options to be provided to the test
and lift
functions of each enhancer.
writeConfigFile
Writes a config file to the file system in the chosen format
Takes a single options object as an argument, containing:
path
string (required)
Path to the folder (without a trailing slash) that will contain the file to be written
name
string (required)
Name of the file (without an extension)
config
object (required)
The config details to be written to the file
format
string (required)
The format for the config file to be written in. The formats from the
fileTypes
constants that are currently supported include
fileTypes.JSON
and fileTypes.YAML
.
An error is thrown for unsupported formats.
Constants
fileTypes
Constants defined to describe file types used in various form8ion tools
Contributing
Dependencies
$ nvm install
$ npm install
Verification
$ npm test