core logic for form8ion tools
$ npm install @form8ion/core --save-prod
import {directoryExists, fileExists} from '@form8ion/core';
(async () => {
await fileExists('path/to/some/expected/file');
await directoryExists('path/to/some/expected/directory');
})();
wrapper around fs.promises.stat()
to determine whether a file exists at a given path.
wrapper around fs.promises.stat()
to determine whether a directory exists at a given path.
Validates provided options against a joi schema.
joi schema
options to compare to the provided schema
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:
Result object from scaffolder execution
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 to be provided to the test
and lift
functions of each enhancer.
Writes a config file to the file system in the chosen format
Takes a single options object as an argument, containing:
Path to the folder (without a trailing slash) that will contain the file to be written
Name of the file (without an extension)
The config details to be written to the file
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 defined to describe file types used in various form8ion tools
$ nvm install
$ npm install
$ npm test