@methodgrab/initializer-utils
v0.1.0
Published
Utilities for creating npm initializers.
Downloads
115
Maintainers
Readme
initializer-utils
Utilities for creating npm initializers.
Usage
npm install @methodgrab/initializer-utils --save
- Import the utilities for creating your initializer CLI.
// cli.ts import { askFor, copyFiles } from '@methodgrab/initializer-utils'; // ...
- Import the utilities for testing your initializer CLI.
// cli.test.ts import { fileExists, runCLI } from '@methodgrab/initializer-utils/testing'; // ...
For a full example checkout the examples folder.
Project Goals
What this is:
- :white_check_mark: A simple, lightweight, collection of utilities for building new project initializers.
What this is not:
- :x: A fully fledged generator/skaffolding tool.
There are plenty of great tools like Yeoman & Hygen that already do this.
What's included
@methodgrab/initializer-utils
These are utilities to help you create your initializer.
askFor
Use interactive prompts to gather information from a user.
validateAll
, validator
, required
, minLength
, maxLength
These are validation helpers that can be used with the validate
property in askFor
prompts.
copyFiles
, copyFile
Copy a directory of templates, or a single template, to the CWD the user ran the initializer in.
Variables defined using curly braces ({{ foo }}
) will be replaced with the values in the supplied data
object.
When combined with askFor
this lets you easily include the users answers in the copied files.
@methodgrab/initializer-utils/testing
These are utilities to help you test your initializer.
runCLI
This runs your initializer (by default in a temp directory) with any prompt answers you specify.
fileExists
This is a very basic utility to assert that a file in the output directory runCLI
ran in exists.