14.14.7 • Published 2 years ago

@travi/javascript-scaffolder v14.14.7

Weekly downloads
1,210
License
MIT
Repository
github
Last release
2 years ago

javascript-scaffolder

opinionated scaffolder for JavaScript projects

Codecov Node CI Workflow Status

Table of Contents

Features

  • Sets the node.js version to the latest or LTS version (your choice) using nvm
  • Scaffolds the package.json
    • Enables linting of:
  • Enables transpilation with Babel
  • Defines and enforces the commit message convention
  • Defines badges for inclusion in the README.md
  • Defines files to be ignored from git and npm
  • Scaffolds CI service config from the user choice of the provided scaffolders

Usage

npm node MIT license

Installation

$ npm install @travi/javascript-scaffolder --save-prod

As one of the languages for scaffolding a project

This scaffolder is intended to be used to scaffold the language specific details within the project-scaffolder.

Example

Dependencies:
import yargs from 'yargs';
import {scaffold} from '@form8ion/project';
import {scaffold as scaffoldJavaScript} from './lib/index.cjs';
Register with yargs
yargs
  .scriptName('form8ion-utils')
  .usage('Usage: $0 <cmd> [args]')
  .command('scaffold', 'Scaffold a new project', () => scaffold({
    languages: {
      JavaScript: options => scaffoldJavaScript({
        ...options,
        configs: {
          eslint: {scope: '@form8ion'},
          remark: '@form8ion/remark-lint-preset',
          babelPreset: {name: '@form8ion', packageName: '@form8ion/babel-preset'},
          commitlint: {name: '@form8ion', packageName: '@form8ion/commitlint-config'}
        },
        overrides: {npmAccount: 'form8ion'},
        ciServices: {}
      })
    },
    overrides: {copyrightHolder: 'Matt Travi'}
  }))
  .help('h')
  .alias('h', 'help')
  .argv;

Options

projectRoot string (required)

path to the root of the project

projectName string (required)

name of the project (w/o a scope)

visibility string (required)

visibility of the project (Public or Private)

license string (required)
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
description string (optional)

short summary of the project

configs object (optional)
  • eslint: object (optional) details about the shareable config to be used for the project

    • packageName string (required) name of the npm package
    • prefix string (required) name to be used when referring to the config within the .eslintrc files

    :warning: while i'm not confident that it is the recommended convention, it is assumed the defined config has a rules/ directory exposed from the package with rulesets defined for

    • es6.js
    • tests/base.js
    • tests/mocha.js
  • 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
overrides object (optional)
  • npmAccount string (optional) the account the package should be published under. used to suggest a scope. defaults to $ npm whoami
  • author object (optional) details about the package author

    • name string (required) defaults to $npm config get init.author.name
    • email string (optional) defaults to $npm config get init.author.email
    • url string (optional) defaults to $npm config get init.author.url
registries object (optional)
  • keys: string Scope of packages related to this registry (without the @)
  • values: string URL for the registry
ciServices object (optional)
  • keys: string Name of the service
  • values: object
    • scaffolder: function (required) scaffolds the ci service options
    • public: boolean (optional) whether this service should be presented as a public option
    • private: boolean (optional) whether this service should be presented as a private option
applicationTypes object (optional)
  • keys: string Name of the type of application
  • values: object
    • scaffolder function (required) scaffolds the application
unitTestFrameworks object (required)

frameworks to be passed to the unit-testing scaffolder

Contributing

Conventional Commits Commitizen friendly semantic-release PRs Welcome Renovate

Dependencies

$ nvm install
$ npm install

Verification

$ npm test

Related Projects

14.12.0

2 years ago

14.11.1

2 years ago

14.11.0

2 years ago

14.14.3

2 years ago

14.14.2

2 years ago

14.14.1

2 years ago

14.14.0

2 years ago

14.14.7

2 years ago

14.14.6

2 years ago

14.14.5

2 years ago

14.14.4

2 years ago

14.13.0

2 years ago

14.10.1

2 years ago

14.10.0

2 years ago

14.9.4

2 years ago

14.9.3

2 years ago

14.9.2

2 years ago

14.9.1

3 years ago

14.9.0

3 years ago

14.7.0

3 years ago

14.8.0

3 years ago

14.5.0

3 years ago

14.6.0

3 years ago

14.4.0

3 years ago

14.3.0-alpha.9

3 years ago

14.3.0

3 years ago

14.3.0-alpha.7

3 years ago

14.3.0-alpha.8

3 years ago

14.3.0-alpha.6

3 years ago

14.2.2

3 years ago

14.2.3

3 years ago

14.2.1

3 years ago

14.3.0-alpha.5

3 years ago

14.3.0-alpha.3

3 years ago

14.3.0-alpha.4

3 years ago

14.3.0-alpha.2

3 years ago

14.3.0-alpha.1

3 years ago

14.1.0

3 years ago

14.2.0

3 years ago

14.0.1

3 years ago

14.1.0-alpha.3

3 years ago

14.1.0-alpha.4

3 years ago

14.1.0-alpha.1

3 years ago

14.1.0-alpha.2

3 years ago

14.0.0

3 years ago

14.0.0-alpha.1

3 years ago

14.0.0-alpha.2

3 years ago

13.7.0-alpha.4

3 years ago

13.7.0-alpha.1

3 years ago

13.7.0-alpha.3

3 years ago

13.7.0-alpha.2

3 years ago

13.8.0-alpha.1

3 years ago

13.8.0-alpha.2

3 years ago

13.8.0-alpha.3

3 years ago

13.7.0

3 years ago

13.6.2

3 years ago

13.6.3

3 years ago

13.6.1

3 years ago

13.6.0

3 years ago

13.5.0

3 years ago

13.4.1

3 years ago

13.3.0

3 years ago

13.4.0

3 years ago

13.2.4

3 years ago

13.2.5

3 years ago

13.2.3

3 years ago

13.2.2

3 years ago

13.2.0

3 years ago

13.2.1

3 years ago

13.2.0-alpha.2

3 years ago

13.2.0-alpha.3

3 years ago

13.2.0-alpha.4

3 years ago

13.1.2-alpha.1

3 years ago

13.1.1

3 years ago

13.2.0-alpha.1

3 years ago

13.1.0

3 years ago

13.0.3

3 years ago

12.2.10

3 years ago

12.2.11

3 years ago

12.2.12

3 years ago

13.0.2

3 years ago

13.0.0

3 years ago

13.0.1

3 years ago

12.2.7

3 years ago

12.2.8

3 years ago

12.2.9

3 years ago

12.2.6

3 years ago

12.2.5

3 years ago

12.2.3

3 years ago

12.2.4

3 years ago

12.2.2

3 years ago

12.2.1

3 years ago

12.2.0

3 years ago

12.1.0

3 years ago

12.1.0-alpha.8

3 years ago

12.1.0-alpha.7

3 years ago

12.1.0-alpha.6

3 years ago

12.1.0-alpha.5

3 years ago

12.1.0-alpha.4

3 years ago

12.1.0-alpha.3

3 years ago

12.1.0-alpha.2

3 years ago

12.0.5

3 years ago

12.1.0-alpha.1

3 years ago

12.0.4

3 years ago

12.0.3

3 years ago

12.0.1

3 years ago

12.0.2

3 years ago

11.18.7

3 years ago

12.0.0

3 years ago

11.18.6

3 years ago

12.0.0-beta.1

3 years ago

11.18.5

3 years ago

11.18.2

3 years ago

11.18.4

3 years ago

11.18.3

3 years ago

11.18.1

3 years ago

11.16.0

3 years ago

11.15.0

3 years ago

11.18.0

3 years ago

11.17.0

3 years ago

11.14.1

3 years ago

11.14.0

3 years ago

11.13.7

3 years ago

11.13.6

3 years ago

11.13.5

3 years ago

11.13.3

3 years ago

11.13.4

3 years ago

11.13.2

3 years ago

11.13.1

3 years ago

11.12.2

4 years ago

11.13.0

4 years ago

11.12.1

4 years ago

11.12.0

4 years ago

11.11.0

4 years ago

11.11.0-beta.1

4 years ago

11.11.0-beta.2

4 years ago

11.10.2

4 years ago

11.10.1

4 years ago

11.10.0

4 years ago

11.9.3

4 years ago

11.9.2

4 years ago

11.9.1

4 years ago

11.9.0

4 years ago

11.8.0

4 years ago

11.7.0

4 years ago

11.6.0

4 years ago

11.5.0

4 years ago

11.4.0

4 years ago

11.3.1

4 years ago

11.3.0

4 years ago

11.2.3

4 years ago

11.2.2

4 years ago

11.2.1

4 years ago

11.2.0

4 years ago

11.1.7

4 years ago

11.1.6

4 years ago

11.1.5

4 years ago

11.1.3

4 years ago

11.1.4

4 years ago

11.1.2

4 years ago

11.1.1

4 years ago

11.1.0

4 years ago

11.0.0

4 years ago

11.0.0-alpha.3

4 years ago

11.0.0-alpha.1

4 years ago

11.0.0-alpha.2

4 years ago

10.22.10

4 years ago

10.22.9

4 years ago

10.22.8

4 years ago

10.22.7

4 years ago

10.22.6

4 years ago

10.22.5

4 years ago

10.22.3

4 years ago

10.22.4

4 years ago

10.22.2

4 years ago

10.22.1

4 years ago

10.22.0

4 years ago

10.21.0

4 years ago

10.20.2

4 years ago

10.20.1

4 years ago

10.19.0

4 years ago

10.20.0

4 years ago

10.18.2

4 years ago

10.18.3

4 years ago

10.18.1

4 years ago

10.18.0

4 years ago

10.17.1

4 years ago

10.17.0

4 years ago

10.16.6

4 years ago

10.16.5

4 years ago

10.16.4

4 years ago

10.16.2

4 years ago

10.16.3

4 years ago

10.16.1

4 years ago

10.16.0

4 years ago

10.15.0

4 years ago

10.14.0

4 years ago

10.13.1

4 years ago

10.13.0

4 years ago

10.12.0

4 years ago

10.11.0

4 years ago

10.10.0

4 years ago

10.9.3

4 years ago

10.9.2

4 years ago

10.9.1

4 years ago

10.9.0

4 years ago

10.8.0

4 years ago

10.7.3

4 years ago

10.7.4

4 years ago

10.7.2

4 years ago

10.7.1

4 years ago

10.7.0

4 years ago

10.6.3

4 years ago

10.6.2

4 years ago

10.2.0

4 years ago

10.4.0

4 years ago

10.3.0

4 years ago

10.6.0

4 years ago

10.6.1

4 years ago

10.5.0

4 years ago

10.1.0

4 years ago

10.0.0

4 years ago

9.0.2

4 years ago

9.0.1

4 years ago

9.0.0

4 years ago

8.6.1

4 years ago

8.6.0

4 years ago

8.5.0

4 years ago

8.4.1

4 years ago

8.3.1

4 years ago

8.4.0

4 years ago

8.3.0

4 years ago

8.2.3

4 years ago

8.2.2

4 years ago

8.2.1

4 years ago

8.2.0

4 years ago

8.1.1

4 years ago

8.1.0

4 years ago

8.0.0

4 years ago

7.13.0

4 years ago

7.12.1

4 years ago

7.12.0

4 years ago

7.11.1

4 years ago

7.11.0

5 years ago

7.10.1

5 years ago

7.10.0

5 years ago

7.9.4

5 years ago

7.9.3

5 years ago

7.9.2

5 years ago

7.9.1

5 years ago

7.9.0

5 years ago

7.8.0

5 years ago

7.7.0

5 years ago

7.6.0

5 years ago

7.5.0

5 years ago

7.4.0

5 years ago

7.3.0

5 years ago

7.2.2

5 years ago

7.2.1

5 years ago

7.2.0

5 years ago

7.1.5

5 years ago

7.1.4

5 years ago

7.1.3

5 years ago

7.1.2

5 years ago

7.1.1

5 years ago

7.1.0

5 years ago

7.0.3

5 years ago

7.0.2

5 years ago

7.0.1

5 years ago

7.0.0

5 years ago

6.26.0

5 years ago

6.25.0

5 years ago

6.24.0

5 years ago

6.23.0

5 years ago

6.22.0

5 years ago

6.21.4

5 years ago

6.21.3

5 years ago

6.21.2

5 years ago

6.21.1

5 years ago

6.21.0

5 years ago

6.20.0

5 years ago

6.19.0

5 years ago

6.18.0

5 years ago

6.17.4

5 years ago

6.17.3

5 years ago

6.17.2

5 years ago

6.17.1

5 years ago

6.17.0

5 years ago

6.16.0

5 years ago

6.15.1

5 years ago

6.15.0

5 years ago

6.15.0-beta.2

5 years ago

6.15.0-beta.1

5 years ago

6.14.1

5 years ago

6.14.0

5 years ago

6.13.0

5 years ago

6.12.1

5 years ago

6.12.0

5 years ago

6.11.1

5 years ago

6.11.0

5 years ago

6.10.1

5 years ago

6.10.0

5 years ago

6.9.0

5 years ago

6.8.1

5 years ago

6.8.0

5 years ago

6.7.1

5 years ago

6.7.0

5 years ago

6.6.2

5 years ago

6.6.1

5 years ago

6.6.0

5 years ago

6.5.0

5 years ago

6.4.0

5 years ago

6.3.0

5 years ago

6.2.0

5 years ago

6.1.0

5 years ago

6.0.6

5 years ago

6.0.5

5 years ago

6.0.4

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

5.1.0

5 years ago

5.0.6

5 years ago

5.0.5

5 years ago

5.0.4

5 years ago

5.0.3

5 years ago

5.0.2

5 years ago

5.0.1

5 years ago

5.0.0

5 years ago

4.8.0

5 years ago

4.7.0

5 years ago

4.6.0

5 years ago

4.5.1

5 years ago

4.6.0-alpha.1

5 years ago

4.5.0

5 years ago

4.5.0-alpha.2

5 years ago

4.5.0-alpha.1

5 years ago

4.4.0

5 years ago

4.3.1

5 years ago

4.4.0-alpha.2

5 years ago

4.4.0-alpha.1

5 years ago

4.3.0

5 years ago

4.3.0-alpha.1

5 years ago

4.2.0

5 years ago

4.1.1

5 years ago

4.1.0

5 years ago

4.0.1

5 years ago

4.0.0

5 years ago

4.0.0-beta.1

5 years ago

4.0.0-beta

5 years ago

3.15.0

5 years ago

3.14.3

6 years ago

3.14.2

6 years ago

3.14.1

6 years ago

3.14.0

6 years ago

3.13.3

6 years ago

3.13.2

6 years ago

3.13.1

6 years ago

3.13.0

6 years ago

3.12.4

6 years ago

3.12.3

6 years ago

3.12.2

6 years ago

3.12.1

6 years ago

3.12.0

6 years ago

3.11.7

6 years ago

3.11.6

6 years ago

3.11.5

6 years ago

3.11.4

6 years ago

3.11.3

6 years ago

3.11.2

6 years ago

3.11.1

6 years ago

3.11.0

6 years ago

3.10.1

6 years ago

3.10.0

6 years ago

3.9.0

6 years ago

3.8.0

6 years ago

3.7.0

6 years ago

3.6.0

6 years ago

3.5.0

6 years ago

3.4.0

6 years ago

3.3.2

6 years ago

3.3.1

6 years ago

3.3.0

6 years ago

3.2.1

6 years ago

3.2.0

6 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.0.5

6 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

2.0.0-beta.4

6 years ago

2.0.0-beta.3

6 years ago

2.0.0-beta.2

6 years ago

2.0.0-beta.1

6 years ago

1.13.2

6 years ago

2.0.0-beta

6 years ago

1.13.1

6 years ago

1.13.0

6 years ago

1.12.0

6 years ago

1.11.0

6 years ago

1.10.0

6 years ago

1.9.0

6 years ago

1.8.1

6 years ago

1.8.0

6 years ago

1.7.0

6 years ago

1.6.0

6 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago

1.0.0-beta.2

6 years ago

1.0.0-beta.1

6 years ago

1.0.0-beta

6 years ago