Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a package to serve as the CLI default template #1

Closed
janechu opened this issue Mar 7, 2022 · 7 comments
Closed

Add a package to serve as the CLI default template #1

janechu opened this issue Mar 7, 2022 · 7 comments
Assignees
Milestone

Comments

@janechu
Copy link
Contributor

janechu commented Mar 7, 2022

Description

The CLI needs a package that will be used as a template for both project creation and maintenance. It should have a very simple "Hello world" component and webpack setup to start out with. This will serve as the method for testing CLI projects and to be used as the default.

Requirements

  • Create a new package to be used as a template
  • The package name should be @microsoft/cfp-template
  • The package should include typescript as default
  • The package should include both a simple production and webpack-dev-server setup
  • A single component should be used which includes no attributes and simply says "Hello World"
  • A configuration file should be created that follows the naming convention fastconfig.json
@janechu janechu self-assigned this Mar 7, 2022
@janechu janechu changed the title Create a package to serve as the CLI default template Add a package to serve as the CLI default template Mar 7, 2022
@chrisdholt
Copy link
Member

@janechu curious about prescribing webpack here for the most simple implementation. Another question that comes up here is if we plan on adding additional templates as separate packages? It seems like that may get out of hand if that's the case.

@janechu
Copy link
Contributor Author

janechu commented Mar 7, 2022

We won't support additional packages, similar to create-react-app, there will be one template (technically they have two, js and ts) and any other templates will be community driven, or separate repositories.

@chrisdholt
Copy link
Member

We won't support additional packages, similar to create-react-app, there will be one template (technically they have two, js and ts) and any other templates will be community driven, or separate repositories.

Gotcha - So is the idea that the app is the default with options for ts/js and the others will be community maintained? IE, the design system / framework instance and the "simple component" instance? For reference, I think another good example is create-vite which has a few "templates" as part of it.

@hawkticehurst
Copy link
Member

Happened to bump into this issue as I was looking for something else, but if I can chime in with my 2 cents, as a FAST user I would strongly prefer if there were some options given for official templates using different build tooling (i.e. like the create-vite templates/CLI that @chrisdholt mentioned). It doesn't have to be exhaustive by any stretch, but even just 2-3 templates using other common build tools would be really appreciated.

I generally avoid webpack at all costs these days and much prefer the simpler configurations/ergonomics that build tools like vite or rollup provide. These tools are such a time saver for me that I would probably end up mostly avoiding the FAST CLI if it only provides an official webpack-based starter template.

@janechu
Copy link
Contributor Author

janechu commented Mar 8, 2022

@chrisdholt @hawkticehurst given this feedback, we will use a templated approach which will give you options, similar to how makes works.

For our MVP we will leave the current defaults listed above in place, we might consider one or two options if they seem critical. If you have any other feedback @hawkticehurst please feel free to add more suggestions here, we will consider them for our future phases of work.

@hawkticehurst
Copy link
Member

Nice, excited to try this all out once it's ready! Also yeah, of course, I would be happy to add to this thread as I think of things!

Off the top of my head, another thing that would be nice is templates that demonstrate using FAST Foundation for creating a design system. In particular, having a template that includes a lot of the scaffolding/boilerplate for configuring component styles, custom behavior, design tokens, and so on would be great.

@janechu janechu transferred this issue from microsoft/fast Mar 28, 2022
@janechu janechu added this to the CLI 1.0 milestone Mar 28, 2022
janechu added a commit that referenced this issue Mar 30, 2022
# Pull Request

## 📖 Description

<!--- Provide some background and a description of your work. -->
This pull request creates a default template from which the upcoming CLI and create packages will leverage.

![Screen Shot 2022-03-30 at 12 26 28 PM](https://user-images.githubusercontent.com/7559015/160915126-faedb795-9a3a-43da-bad0-030608b1cb58.png)

### 🎫 Issues

<!---
List and link relevant issues here using the keyword "closes"
if this PR will close an issue, eg. closes #411
-->
#1 

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [x] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.

## ⏭ Next Steps

<!---
If there is relevant follow-up work to this PR, please list any existing issues or provide brief descriptions of what you would like to do next.
-->
- #3
@janechu
Copy link
Contributor Author

janechu commented Apr 15, 2022

Closed by #6

@janechu janechu closed this as completed Apr 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants