Teaching Aurelia at University of Puerto Rico. Router+Bootstrap4 Skeleton Please

Hi, I am currently working as a part time professor at University of Puerto Rico in Ponce and I would love to teaches some Aurelia to my students, but the CLI does not have a basic new templates using at least router and bootstrap 4. The only one it is using bootstrap 3 and it is so hidden in Custom setting (I need to answer 11 questions before).

It will be nice to have a quick selection in CLI with an skeleton with router + bootstrap 4.

What do you guys think? @EisenbergEffect, @bigopon, @brandonseydel, @zewa666, @davismj, @sean.hunter.aus, @dwaynecharrington, @MaximBalaganskiy, @adriatic

Carlos
Puerto Rico

:puerto_rico:

4 Likes

Are you open to using Aurelia 2? If this is so I can use @huochunpeng’s makes and fork the current repo into another one with BS4 working. Then you would do something simple like

npx makes aurelia-bs4 (adding the option to the CLI would take a little more work so this could be temp solution for you)

1 Like

Otherwise I have aurelia projects with BS4 in them you can clone from github directly.

Depends on how you want to start your lesson I guess? git or npm to scaffold

2 Likes

Probably should not teach students with Aurelia 2. It’s largely undocumented, nor API frozen.

1 Like

That is a good idea. A few base git repos for students to fork, simpler than au new.

2 Likes

“Navigation App” as an answer to “Which features do you want to scaffold in your app?” should really only add navigation and not Router + Bootstrap + Font Awesome.
Being able to choose between Bootstrap, Bulma or whatnot would make the CLI even better!

1 Like

Thanks for the feedback @clmorales. I think that having an easy way for new starters to get something running with Bootstrap 4 is a great idea.

As others have stated, probably the easiest way to get this going now is to have a base repo that students can clone from.

I guess the more general question is, should the CLI have the ability to create apps with various UI toolkits (Bootstrap, Tailwind, Material, Semantic)? This could potentially be added as a step at the end, where you can pick from Simple or Navigation at the moment.

Interested to hear peoples thoughts on this.

1 Like

Adding features to CLI scaffolding is not that hard. The hard part is to maintain them and test them before every release.

The current CLI offering already causes pressure on e2e tests when release. It took few hours to run through 72 skeletons (yet they didn’t cover the full combinations of all options) on 3 OS. You can imagine fix/re-test cycle is quite slow.

The current “Navigation App” was mainly designed for our CLI release check that runs an app with some code (not just one page hello world). We thought about upgrading the bootstrap v3 to v4 for the navigation app, but didn’t spend time on it so far. We didn’t expect any user to start a real app with this selection, it was more like a demonstration.

The other thing we can do is to enhance documentation to cover the integration with common libs. Aurelia is quite flexible and easy with 3rd-party libs, but we have to show it to new comers.

In Aurelia 2, we are starting with minimum options in scaffolding aurelia/new, will grow them with only essential options. We were talking about offering different level of scaffoldings, the core scaffolding with small set of options but solidly tested, then maybe few more repos for other broader options but to be maintained with the help from the community. No decision is fixed yet for Aurelia 2, we are open to ideas.

3 Likes

Yeah, I like the idea for V2 of having kind of like a plugin model for adding these kinds of things to the CLI. That way they could be added without slowing down the core team on each release. You could have a Github repo for each plugin for example:

  • Aurelia CLI Tailwind
  • Aurelia CLI Bootstrap4
  • Aurelia CLI Material

Then, if you could do something like:

NPM install aurelia-cli -g
NPM install aurelia-cli-bootstrap4 

… which would install the CLI, and the boostrap4 plugin.

That could provide a much-simplified workflow for getting started with this part of the project (which can be a major barrier for people new to the framework.

2 Likes

If the CLIs will be changing fast, i’d tell people to use npx [cli] in the README, so they don’t have to install everytime just to be shure to have the latest version.

OT: I really enjoyed your book, Sean!

2 Likes

Great thanks for the feedback @Alfhir really nice to hear it!

2 Likes
3 Likes