Releases: maizzle/cli
v1.2.0
New Features
--bin
You can now define the path to Maizzle's executable, through the --bin
(-b
for short) option:
maizzle build [env] --bin path/to/@maizzle/framework/src
This can help with running Maizzle in some setups that don't use the traditional project setup, with node_modules
in the project root.
For example, in Laravel projects, you could have Maizzle as a dependency in your project root, and keep the actual Maizzle project files in resources/maizzle
. Then, you'd add an NPM script like this:
"build:emails": "cd resources/maizzle && maizzle build production -b ../../node_modules/@maizzle/framework/src",
Changed
Build command error handling
If it fails to load the Maizzle executable, the CLI will now display a human-friendly message:
user@machine ~/not/a/maizzle/project
$ maizzle build
Error: Framework not found
Make sure to run this command in your Maizzle project root, with dependencies installed.
v1.1.0
This release adds framework and CLI tool package update notifications.
When running the maizzle build
command, you'll get a notification if your framework version is outdated:
Likewise, it will also check for CLI updates:
v1.0.4
v1.0.3
Just a maintenance release ✌
- build(deps-dev): bump xo from 0.33.0 to 0.33.1 e4e2bbf
- build(deps): bump commander from 6.0.0 to 6.1.0 2008e29
- build(deps): bump np from 6.4.0 to 6.5.0 7830054
- build(deps-dev): bump ava from 3.11.1 to 3.12.1 f4aa4cf
- build(deps-dev): bump xo from 0.32.1 to 0.33.0 b0905aa
- docs: update download stats link 326bb4d
- build(deps): bump ora from 4.0.5 to 5.0.0 40f9fc1
- build(deps): bump np from 6.3.2 to 6.4.0 ae29147
- build(deps-dev): bump ava from 3.11.0 to 3.11.1 4dafcde
v1.0.2
This patch release updates some of the dependencies.
v1.0.1
v1.0.0
This is the first major release of the Maizzle CLI 🎉
Checkout the docs:
https://maizzle.com/docs/commands/
Compare changes:
v0.5.0
This release adds 3 new CLI commands:
make:layout <filename> --directory?
Scaffolds a new Layout based on the default Layout from the Starter, at an optional --directory
path. If the path provided in the --directory
option does not exist, it will be created.
Example:
# scaffold a Layout in src/layouts
maizzle make:layout my-layout.njk
# use a custom directory
maizzle make:layout my-layout.njk --directory=src/layouts/amp
# the above is the same as
maizzle make:layout my-layout.njk -d=src/layouts/amp
# paths can be relative to project root, i.e. one level above
maizzle make:layout my-layout.njk -d=../amp-layouts
make:template <filename> --directory?
Scaffolds a new Template at an optional --directory
path. --directory
option usage is identical to make:layout
above.
This is the content of the Template:
---
title: "Example title"
---
{% extends "src/layouts/default.njk" %}
{% block template %}
{% endblock %}
make:config <env> --full?
Scaffolds a new config.<env>.js
in the project root. <env>
is the environment name, i.e. staging
.
By default, a minimal config is output, which only defines the build.destination.path
:
module.exports = {
build: {
destination: {
path: 'build_staging',
},
},
}
For a full config, use the --full
option. The full config is based on the Starter's config.js, and has comments removed.
Example:
# outputs minimal `config.staging.js`
maizzle make:config staging
# outputs full `config,staging.js`
maizzle make:config staging --full
# shorter `--full` option
maizzle make:config staging -f
For all commands, if the target file already exists it will not be overwritten, and an error will be thrown.