An easy and ergonomic way to scaffold your AdonisJS projects !
@adonisjs-community/modules
provides a set of commands based on adonisjs/core
commands to help you quickly scaffold your AdonisJS projects into modules (more accurately into feature-based subdirectories).
This allows you to organize your code in a modular way, making it easier to maintain and scale your application.
├── app
│ ├── auth
│ │ ├── controllers
│ │ ├── services
│ │ └── models
│ └── users
│ ├── exceptions
│ ├── factories
│ └── validators
You can install Modules in your AdonisJS project using the following command:
node ace add @adonisjs-community/modules
After installation, you can create a new module using the make:module
command:
node ace make:module auth
This will create a new module named auth
in the /app
directory, as well as registering a new alias for the path resolution in your package.json file:
{
"imports": {
"...",
"#auth/*": "./app/auth/*.js"
}
}
You can now reuse the @adonisjs/core
make
commands with flag -m (--module)
to create controllers, models, views, etc., within your module. For example:
node ace make:controller sign_in -m=auth
node ace make:controller sign_in --module auth
This command will create a new controller file named sign_in_controller.ts
in the auth
module.
At this point, you can refer to the AdonisJS commands documentation to learn more about the available commands and how to use them.
Modules is open-sourced software licensed under the MIT license.
We welcome contributions to the Modules package! If you have ideas, suggestions, or improvements, please feel free to open an issue or submit a pull request.