Skip to content

Latest commit

 

History

History
160 lines (109 loc) · 6.06 KB

scaffold.md

File metadata and controls

160 lines (109 loc) · 6.06 KB

scaffold

Language scaffolder for JavaScript projects

Table of Contents

Arguments

Takes a single options object as an argument, containing:

projectRoot string (required)

path to the root of the project

projectName string (required)

name of the project (w/o a scope)

description string (optional)

short summary of the project

pathWithinParent string (optional)

path within a parent project when scaffolding a sub-project

license string (required)

SPDX License Identifier. UNLICENSED should be used for proprietary projects that are not being licensed for use by others.

decisions object (optional)

Answers for prompt questions so that the prompt is skipped at execution time

  • keys: string Name of the prompt question
  • values: Hard-coded answer for the prompt question

visibility string (required)

visibility of the project (Public or Private)

vcs object (required)

  • host string (required) VCS hosting service
  • owner string (required) account name on the host service for the repository
  • name string (required) repository name

registries object (optional)

  • keys: string Description of the registry to be configured, which can be one of three categories:
    • Scope of packages related to this registry (without the @)
    • registry overrides the default registry
    • publish defines the registry to which a package should be published
  • values: string URL for the registry

ciServices object (optional)

A choices object for defining CI-service plugin options

hosts object (optional)

A choices object for defining hosting-service plugin options

applicationTypes object (optional)

A choices object for defining application-type plugin options

packageTypes object (optional)

A choices object for defining package-type plugin options

monorepoTypes object (optional)

A choices object for defining monorepo-type plugin options

packageBundlers object (optional)

A choices object for defining package bundler options

unitTestFrameworks object (required)

A choices object for defining unit-testing framework options to be passed to the unit-testing scaffolder

configs object (optional)

eslint: object (optional)

commitlint object (optional)

details about the shareable config to be used for the project

  • packageName string (required) name of the npm package
  • name string (required) name to be used when referring to the config within the .commitlintrc.js file

babelPreset object (optional)

details about the preset to be used for the project

  • packageName string (required) name of the npm package
  • name string (required) shorthand name to be used when referring to the config

typescript: object (optional)

  • scope string (required) scope to be used for shareable configs added as dependencies by the scaffolder

remark: string (optional)

name of the package to use as a preset for configuring remark in the scaffolded project