Comments (27)
What about new
? We already have it and would be just a matter of extending it:
asyncapi new --> New AsyncAPI file, as it is now.
asyncapi new file --> Same as above.
asyncapi new project --> New Glee project
asyncapi new glee --> New Glee project
asyncapi new generator --> New Generator template (or generator if we end up calling them like this)
asyncapi new generator --clone @asyncapi/java-cloud-stream --> In case you want to clone an existing one
from cli.
Hey guys! 👋 @jonaslagoni @derberg @imabp @fmvilas
I've been investigating a bit on this issue and I'd like to start working on it to keep on contributing to the CLI repo. If no objections from your side, I'll take it up and get back to you with a proposal as soon as I have some working code 💪 Cheers!
from cli.
Hey, this sounds amazing!! 🤩
Would like to work on this.
from cli.
I think scaffold
is more accurate technical word that would explain what is done, not sure bootstrap
is correct 🤔
can you provide some more explanation of what each command would actually generate?
from cli.
No objections from my side 👍 🚀
from cli.
Hey guys! 👋 @jonaslagoni @derberg @imabp @fmvilas I've been having a look and investigating a bit on this issue and I'd like to start working on it to keep on contributing to the CLI repo. If no objections from your side, I'll take it up and get back to you with a proposal as soon as I have some working code 💪 Cheers!
Awesome @peter-rr!
Not sure how you want to do it, but as a suggestion, don't try to jam everything into one PR :) Start small with one of the commands like asyncapi new glee
, and make a PR and gradually add features 🙂
from cli.
It's always a good idea to split things in smaller chunks 👍
from cli.
Please completely avoid using create-glee-app. It will be deprecated in favor of this command.
from cli.
imho yes, AsyncAPI CLI should be a single place where we integrate all AsyncAPI tools to make work from the terminal a pleasure. So folks install just one tool to use all the others. One 💍 to rule them all 🤓
it is just a matter of coming up with proper command names and good DX
from cli.
Would bootstrap
make sense? 🤔
asyncapi bootstrap glee --output ./output-dir
asyncapi bootstrap glee mqtt --output ./output-dir
asyncapi bootstrap template --output ./output-dir
//Incase you want to copy an existing template
asyncapi bootstrap template @asyncapi/java-cloud-stream --output ./output-dir
from cli.
Yes @derberg , scaffold
sounds less confusing than bootstrap.
So I was thinking to start it with, something like support of Async API for NextJS API Directory.
Objective:
The user can create NextJS Serverside Asynchronous APIs from the AsyncAPI spec file.
Assuming, AsyncAPI and NextJS are installed globally.
Steps
-
User should be able to run ->
asyncapi scaffold nextjs --output <NextJS_API_Directory>
-
This builds a directory with particular endpoints as separate filenames (That's how NextJS function), and a NextJS friendly code.
The--typescript
flag will help to choose the language.
Your suggestions: @jonaslagoni @derberg @fmvilas
from cli.
new
sounds more relevant to the scope ✌ .
We can add a code generator for different frameworks too
For example:-> NextJS, which requires customization to NextJS Formatted Code and Directories for APIs.
from cli.
new
sounds good to me, simple.
from cli.
Same here 🎉
from cli.
I'm happy to be a mentor for this issue in the Mentorship program.
from cli.
@fmvilas As I said I'd be happy to contribute on this issue 💪 So I'd like to do it as part of the Mentorship program if selected :) Cheers!!
from cli.
This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience ❤️
from cli.
Still relevant, don't close it :)
from cli.
Hey folks! I'm about to start working on this issue and I think it would be more convenient if we split it into two different issues:
- Create glee projects
- Create templates
My idea is to focus on creation of glee projects for now, so the the other issue about creation of templates would be available to be picked by anybody else. @Souvikns I know you were interested recently in working on this issue, so I was thinking maybe you'd like to pick the second issue I've proposed (Create templates). If that's the case, feel free to create a new issue for that purpose 😉 What do you think, guys?
from cli.
By the way, in order to implement the creation of glee projects, I was considering the option of using the create-glee-app
command inside the code, but not sure whether that's something out of the scope for this issue or then the main goal should be to bootstrap the glee project manually without making use of that command at all 🤔
Besides, I don't know what is planned for this repository in the future, so I doubt if I should rely on it or it might be better to avoid using it. Any ideas or suggestions on this?
from cli.
Yeah @peter-rr I would love to help. What would be a good idea?
- to use examples in glee as templates so that CLI can pull them during build something we are currently doing https://github.com/asyncapi/cli/blob/master/scripts/fetch-asyncapi-example.js
- Or have a separate templates folder in glee for specific templates.
from cli.
@Souvikns I'm not really sure about how should be the strategy in terms of templates organization 🤔 Maybe @fmvilas or @jonaslagoni could have some suggestions about it 💭
from cli.
As for Glee, I think it makes sense to be able to fetch a Glee example somehow. As we're doing right now in create-glee-app
with the -e, --example
option: https://github.com/asyncapi/create-glee-app#options. Take into account that creating a Glee project is not just a matter of picking an AsyncAPI to start with but also some example code in the functions.
from cli.
So you dont just want the bare configuration for a Glee project to be setup alongside the AsyncAPI document, you actually want it to implement business logic @fmvilas? 🧐
from cli.
No no, just be able to "clone" an example from the examples
folder in Glee or a [Git|Gitub] URL. Just what we have right now with create-glee-app. Also a cool feature of create-next-app.
from cli.
This issue has been automatically marked as stale because it has not had recent activity 😴
It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.
There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.
Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.
Thank you for your patience ❤️
from cli.
🎉 This issue has been resolved in version 0.39.0 🎉
The release is available on:
Your semantic-release bot 📦🚀
from cli.
Related Issues (20)
- Support for multiple versions of generator HOT 14
- [BUG] Command generate fromTemplate brakes with MODULE_NOT_FOUND HOT 6
- [BUG] File name is not captured while creating new asyncapi.yml from using new command HOT 2
- [FEATURE] Adding a progress bar for CLI Commands to show the progress status HOT 2
- [FEATURE] New command to publish the result generated by generate and model command. HOT 1
- [FEATURE] New Command to format the Asyncapi document HOT 2
- Replace request by node-fetch HOT 1
- [BUG] generate fromTemplate fails since 1.13.0 HOT 4
- [FEATURE] Improve storage of `.asyncapi-analytics` config file HOT 7
- [FEATURE] Support ignore feature of optimizer HOT 3
- [BUG] latest download URL is not working HOT 7
- [FEATURE] Add support to change the collection type for arrays in Java models HOT 1
- [TEST] Incomplete log of tests executed for `bundle` command HOT 1
- [BUG] 'SonarCloud Code Analysis' workflow not triggered on CI/CD HOT 1
- [BUG] asyncapi bundle does not report error if external reference cannot be resolved HOT 3
- [BUG] Generate commands only run in context of the CWD, not the directory of the asyncapi.yaml file HOT 3
- [BUG] New CLI installs are broken (also in Docker) HOT 2
- [BUG] from . import AnonymousSchemaX breaks types (?) HOT 3
- [BUG] Doesn't work for Hello world example from AsyncAPI HOT 6
- Add convert to AsyncAPI from OpenAPI support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cli.