Closed thetutlage closed 3 years ago
I personally think a lot of this is better addressed, not by adding new packages, but by documenting and training. We already have the make:
scaffolding and functionality adonis install
provides. A course on using those to create third-party libraries might do a lot more for the community than new dev tools.
@assertchris I agree, documentation is what's needed here, and I think that's what was proposed.
I don't know that new packages are necessary or being proposed, there's already the basic addon boilerplate, adonis-cli exists of course, and I think adonis-sink would qualify as the aforementioned @adonisjs/devtools even if it's not named that presently :)
@willvincent You got it right for the most part. I want to add more to adonis-sink
and basically rename it to devtools
.
The idea is, if you are building an addon for Adonis and it needs access to request
and response
. You can simply ask the devtools
module to give you a fake implementation of both.
const devtools = require('@adonisjs/devtools')
const request = devtools.fakeRequest({
url: '/some-dummy-url'
})
const response = devtools.fakeResponse(request)
And ofcourse, as @assertchris said, docs will play an important role
Brief
AdonisJs was created by a single person with the main focus on the users of the framework. However, the framework has grown a bit since early days and so many people want to contribute by
Both things are possible right now, but there is no or little guidance and tooling on how do it.
We should provide proper docs and tooling to make contributors experience better and easy.
What problem does it solve?
Proposal
It has to be done by doing work in multiple areas.
@adonisjs/devtools
The package primarily focused on utilities and helpers to make the development of packages easier.
@adonisjs/cli
Re-using the CLI to scaffold projects to be published as packages.
Documentation
Enough documentation to handhold the developer from creating and publishing packages on npm.
Dog food
The first step should be to work on this RFC and then use it inside all core packages. This way, we will find early bugs and polish the entire process for other contributors.
Are you willing to work on it?
Yes