Craft 3 is nearly upon us. Here's a rough outline of the steps we'll need to take to update this generator to use it.
Note: Updating the generator to be compatible with both Craft 2 + 3 would make this much more complicated, so this upgrade plan is based on the assumption that the generator only supports Craft 3 in the future.
writing > downloadCraft function in craft sub-generator is entirely replaced with a shell command of composer create-project craftcms/craft {projectName} This will install a boilerplate Craft 3 setup to work with.
writing > clean function in craft sub-generator get's simplified because Craft 3 no longer ships with default templates.
writing > public function in craft sub-generator is updated to reflect the public directory becoming web and any necessary changes to the index.php and htaccess files in there.
writing > env function in craft sub-generator is updated to reflect .env support being built into Craft 3
writing > config function in craft sub-generator is updated to reflect changes to config in Craft 3
writing > templates function in craft sub-generator is double-checked to make sure there are no deprecated Twig in our default files.
writing > downloadPlugins function in craft sub-generator is drastically simplified, because all plugins in Craft 3 must be installed via Composer. Might also be some nice ways to improve this experience based on the plugin installation tools Craft 3 provides.
writing > movePlugins function in craft sub-generator is probably not needed at all, because all plugins will be installed via Composer.
writing > permissions function in craft sub-generator might be able to be removed if permissions are handled by composer create-project craftcms/craft. Not sure.
Craft-specific gulp sub-generator setup will need to be updated to reflected the changed location for the dist directory (web/dist/)
Craft 3 is nearly upon us. Here's a rough outline of the steps we'll need to take to update this generator to use it.
Note: Updating the generator to be compatible with both Craft 2 + 3 would make this much more complicated, so this upgrade plan is based on the assumption that the generator only supports Craft 3 in the future.
writing
>downloadCraft
function incraft
sub-generator is entirely replaced with a shell command ofcomposer create-project craftcms/craft {projectName}
This will install a boilerplate Craft 3 setup to work with.writing
>clean
function incraft
sub-generator get's simplified because Craft 3 no longer ships with default templates.writing
>public
function incraft
sub-generator is updated to reflect thepublic
directory becomingweb
and any necessary changes to theindex.php
andhtaccess
files in there.writing
>env
function incraft
sub-generator is updated to reflect.env
support being built into Craft 3writing
>config
function incraft
sub-generator is updated to reflect changes to config in Craft 3writing
>templates
function incraft
sub-generator is double-checked to make sure there are no deprecated Twig in our default files.writing
>downloadPlugins
function incraft
sub-generator is drastically simplified, because all plugins in Craft 3 must be installed via Composer. Might also be some nice ways to improve this experience based on the plugin installation tools Craft 3 provides.writing
>movePlugins
function incraft
sub-generator is probably not needed at all, because all plugins will be installed via Composer.writing
>permissions
function incraft
sub-generator might be able to be removed if permissions are handled bycomposer create-project craftcms/craft
. Not sure.gulp
sub-generator setup will need to be updated to reflected the changed location for thedist
directory (web/dist/
)