@nomadmystic/drupal-scaffold-module
v0.3.0
Published
Scaffolds Drupal 8|9 modules with NodeJS
Downloads
9
Readme
WIP (Building Features)
Installation
$ npm i -g @nomadmystic/drupal-scaffold-module
NOTE: This packages uses node version 16.x internally, but this has been tested using 14.x
Commands
$ drupal-scaffold-build
This one command will scaffold a new module into the
./web/modules/custom/
folder.To run this command you will need to be in the root Drupal install folder.
User Prompts:
Machine Name (string)
, you will typically want to use snake_case for you machine name, but there is no validation for that at this point.Admin Name (string)
, This is the name you can find in the /modules admin list page. To install search for Admin Name and install.Discription (string
, This is used throughout the scaffold, .info file as example.Webpack Build (boolean)
, This option is selected 'yes' by default. If set to 'yes' front-end build system will the scaffold along with the base Drupal module files/
$ drupal-scaffold-add
This command will scaffold a new class and YML in the ./web/modules/custom/MODULE_NAME
folder.
Classes that can be added.
Command
Controller
EventSubscriber
Form
Plugin (Maybe)
TwigExtension
User Prompts:
Machine Name (string)
, This uses autocomplete and fuzzy logic to find your module in the custom folder.Class file (list)
, You can select from the list of options and this will scaffold a new class and YML properties for you.Class Name (string)
, Type of the name of the class you want to create.
@todos:
- Add base hooks
- Update README
- Add inline Drupal doc for ease of access
- Update Yaml files based on scaffolded classes
Future additions:
- Mention debug in global config
General Notes:
- https://www.drupal.org/docs/creating-custom-modules/let-drupal-know-about-your-module-with-an-infoyml-file
- class namespaces = Drupal\machine_name\SrcFolderName
- Figure out what base hooks we want to add to the scaffolding?
- https://github.com/mokkabonna/inquirer-autocomplete-prompt
- https://www.npmjs.com/package/inquirer