@form8ion/javascript-core v12.3.0
coverageShouldBeReported# javascript-core
core logic for form8ion tools related to JavaScript, like javascript-scaffolder and lift-javascript
Table of Contents
- Usage
- Contributing
Usage
Installation
$ npm install @form8ion/javascript-core --save-prodExample
Import
const {scaffoldChoice} = require('@form8ion/javascript-core');Execute
(async () => {
await scaffoldChoice(
{foo: {scaffold: options => options}},
'foo',
{bar: 'baz'}
);
})();API
scaffoldChoice
A generic function that executes the scaffolder function from a provided map
of options based on the chosen option name.
Takes three unnamed arguments:
choices object (required)
- keys: string Name of the choice
- values: object
scaffolder: function (required) scaffolds the choice options
choice string (required)
Name of the choice. SHOULD match a key from the choices object.
options object (optional)
options object to be passed as the only argument to the chosen scaffolder
installDependencies
A function that installs the provided package dependencies.
Takes four unnamed arguments:
dependencies list of strings (required)
The list of package names to be installed.
dependenciesType string (required)
Defines if the provided list of package names should be installed as prod or
dev dependencies. If "dev" is provided, the list will be installed with the
--save-exact flag.
projectRoot string (optional)
Filesystem path to the root of the project
packageManger string (optional)
Specifies the name of the package manager to be used for dependency
installation. Defaults to npm
Dependency-types Constants
Constants to define the valid options for dependenciesType
PROD_DEPENDENCY_TYPEDEV_DEPENDENCY_TYPE
projectTypes
Constants defining the types of possible JavaScript projects
APPLICATIONPACKAGECLI
packageManagers
Constants defining the available package managers
NPMYARN
dialects
Constants defining the available JavaScript source dialects
COMMON_JSBABELESMTYPESCRIPT
projectTypeShouldBePublished
Predicate function to determine if the project-type is one that should be published
Takes one argument:
projectType string (required)
Should be one of the project-type options
coverageShouldBeReported
Predicate function to determine if coverage should be reported
Takes two arguments:
visibility string (required)
visibility of the project (Public or Private)
tests object (required)
unitboolean (optional) Whether the project will be unit-tested
writePackageJson
Writes the provided config to the package.json for the project
Accepts an options object as the only argument, with the following properties:
projectRoot string (required)
Filesystem path to the root of the project
config object (required)
The config to be written to the package.json as the entire contents of the
file
mergeIntoExistingPackageJson
Merges the provided config into the existing package.json for the project
Accepts an options object as the only argument, with the following properties:
projectRoot string (required)
Filesystem path to the root of the project
config object (required)
The config to be merged with the existing contents of the package.json
Node version categories
Helpers for determining supported node.js versions in categories defined by package support guidelines. Refer to the release schedule for current statuses.
determineLtsNodeMajorVersions
Returns a list of the major LTS versions currently in active or maintenance status, optionally filtered by a provided semver range.
Accepts an options object as the only argument, with the following properties:
withinRange string (optional)
A semver range, compatible with node-semver, to filter the list of active major LTS versions by.
determineSupportedNodeMajorVersions
Returns a list of the major versions currently not in end-of-life status, optionally filtered by a provided semver range.
Accepts an options object as the only argument, with the following properties:
withinRange string (optional)
A semver range, compatible with node-semver, to filter the list of active major LTS versions by.
Contributing
Dependencies
$ nvm install
$ npm installVerification
$ npm test12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago