@undistraction/default-template
v0.4.1
Published
Script to setup files and templates for app
Downloads
8
Readme
Default Template
This is a script to bootstrap a new lib with all the files needed to begin.
Files
It will copy the files located in /files
directly:
- .babelrc
- .eslintignore
- .eslintrc
- .gitignore
- .prettierignore
- .prettierrc
- .travis.yml
- jest.config.js
Templates
It will populate placeholders for files within the /templates
directory with data from author.config.js
and the name of the project you will supply via the prompt when you run the script.
- LICENSE.md
- package.json
- README.md
- rollup.config.js
Note
- NPM seems to have an issue with including a file called
package.json
and silently fails to copy it and any remaining files in thetemplates/
dir. To work around this and for clarity, all files in thetemplates/
should use a.template.
extension before any of their own extensions. This extension will be removed when the files are copied over. - NPM refuses to include the
.gitignore
in thefiles
dir in the bundle. For the time being this must be copied manually.
Install
Install the package globally with:
yarn global add @undistraction/default-template
Run from the command line from inside the root directory of a new project.
default-template-init
Customising
If you want to use for your own projects:
- fork.
- rename the package.
- add your own details to
author.config.js
. - edit or add files to
/files
and/templates
. - 'npm publish'
- install as a global package
- use
default-template-init
in the root of a project as outlined above.
Notes
The script will not overwrite anything. If it finds that a file already exists, it will quit with an error containing the filepath of the problematic file.
The script uses
process.cwd()
as the target destination which will be whatever directory the script is called from.Files inside the
/templates
dir can have tokens added in the form:#{name}
. The script usesauthor.config.js
to replace these tokens, and uses a flattened key path as the key value, so the key will beauthor.github.username
and this should be used as the token name.
Maintainance
Preview
To see what files NPM will include:
npm pack
This will create a tarball in the root dir.
Publish
yarn run publish:patch
or
yarn run publish:minor
or
yarn run publish:major