Custom Templates
Custom Templates enable you to select a template to create your project from, while still retaining all of the features of Create Laravel App.
You'll notice that Custom Templates are always named in the format laravel-template-[template-name]
, however you only need to provide the [template-name]
to the creation command.
Scoped templates are also supported, under the name @[scope-name]/laravel-template
or @[scope-name]/laravel-template-[template-name]
, which can be installed via @[scope]
and @[scope]/[template-name]
respectively.
#
Finding custom templatesWe ship one template by default:
However, you can find other templates by searching for "laravel-template-*" on npm.
#
Building a templateIf you're interested in building a custom template, first take a look at how we've built laravel-template
.
A template should have the following structure:
#
Testing a templateTo test a template locally, pass the file path to the directory of your template source using the file:
prefix.
template
folder#
The This folder is copied to the user's app directory as Create Laravel App installs. During this process, the file gitignore
is renamed to .gitignore
.
You can add whatever files you want in here, but you must have at least the files specified above.
template.json
file#
The This is the configuration file for your template. As this is a new feature, more options will be added over time. For now, only a package
key is supported.
The package
key lets you provide any keys/values that you want added to the new project's package.json
, such as dependencies and any custom scripts that your template relies on.
Below is an example template.json
file:
Any values you add for "dependencies"
and "scripts"
will be merged with the Create Laravel App defaults. Values for any other keys will be used as-is, replacing any matching Create Laravel App defaults.