-
Notifications
You must be signed in to change notification settings - Fork 18
Update frontend kit custom issues template #977
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
Open
kenslachtajr
wants to merge
5
commits into
main
Choose a base branch
from
feat/custom-issues-template-updates-frontend-kit
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
6af104f
update frontend kit custom issues template
kenslachtajr 0628d6b
Delete graphql.ts
kenslachtajr 8bbc05b
address PR comments
kenslachtajr 38a998a
Merge branch 'feat/custom-issues-template-updates-frontend-kit' of ht…
kenslachtajr 3e87671
Merge branch 'main' into feat/custom-issues-template-updates-frontend…
kenslachtajr File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
2 changes: 2 additions & 0 deletions
2
...ue-template/frontend-kit/0. Generate project and establish integration point.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 8 additions & 4 deletions
12
...ustom-issue-template/frontend-kit/1. Add linting and prettier configurations.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,15 @@ | ||
# Background | ||
|
||
Having code style consistency is important for any project. A standardized set of options should be set that can be overwritten by the implementer at a later date. | ||
|
||
# Acceptance | ||
- [ ] Establish eslint/tslint rules and configuration | ||
- [ ] Install and configure prettier | ||
- [ ] Configure editorconfig settings | ||
|
||
- [ ] Establish eslint/tslint rules and configuration. Code formatting should be enforced via ESLint rules. Rules should be set to the strictest setting and enforced via CI. The standard rules for a stack should be selected and if there are specialized plugins, those should be utilized and appropriately tuned. | ||
- [ ] Install and configure prettier. Prettier should be configured to save on format and align with the established ESLint rules. | ||
- [ ] Configure editorconfig settings. Most editors support the EditorConfig syntax. Setting the project’s editor settings to align with the selected ESLint & Prettier rules should be established for code conformity and to improve the developer experience. | ||
kenslachtajr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [ ] Tabs: It has been proven that tabs are better than spaces for accessibility purposes. As such, all tooling should be configured to use tabs when possible. YAML is a known exception. | ||
- [ ] Run linting and prettier on entire project and correct any errors | ||
|
||
# NOTE: | ||
This task has already been completed many times on different KITs, so we should make sure to look at those configurations first and try not to reinvent the wheel :) | ||
|
||
This task has already been completed many times on different KITs, so we should make sure to look at those configurations first and try not to reinvent the wheel :) |
7 changes: 4 additions & 3 deletions
7
.github/custom-issue-template/frontend-kit/1. Add store to the project.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
# Background | ||
|
||
Each kit should have a provided state manager setup and be configured for usage. | ||
Each kit should have a provided state manager setup and be configured for usage. Most frontend applications require some level of state management. This can be done in several ways pending the implementation. Redux is a great example of a global store that manages UI state and its relation to server data. React Query and Apollo Client are good tools for managing server state. Sometimes a page’s route in conjunction with a metaframework router is sufficient to maintain a page’s state. Whatever the decision, we should provide a configured set of a tooling a consumer can use out of the box. | ||
|
||
# Acceptance | ||
|
||
- [ ] Add the chosen state management into the Kit | ||
- [ ] make sure the store works succesfully | ||
- [ ] All solutions require some level of application-level configuration or a sample store. This should be included as part of the kit. | ||
- [ ] Test that the store works succesfully. | ||
- [ ] There is a detailed explanation of intended use and expansion in the kit’s README. | ||
kenslachtajr marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
8 changes: 5 additions & 3 deletions
8
...ustom-issue-template/frontend-kit/1. Add the styles configuration to the kit.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
# Background | ||
Each kit should have a styling setup and be configured for usage. | ||
|
||
Most modern frameworks don’t use standard CSS and opt for solutions that make writing styles easier whether it be a preprocessor language, component library, or utility framework. Our job is to define those standards. Each kit should have a styling setup and be configured for usage. | ||
|
||
# Acceptance | ||
- [ ] Add and configure the style methodology choosen for this KIT | ||
- [ ] Make sure the style work both in Dev and Production mode | ||
|
||
- [ ] All solutions require some level of application-level configuration. This should be included as part of the kit. Add and configure the style methodology choosen for this KIT. | ||
- [ ] Whatever solution you choose, ensure there is a detailed explanation of intended use and expansion in the kit’s README. Make sure the style work both in Dev and Production mode. |
9 changes: 7 additions & 2 deletions
9
.github/custom-issue-template/frontend-kit/2. Add routing and create homepage.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,19 @@ | ||
# Background | ||
We want to demonstrate basic routing as part of each kit. To do so, we want a homepage that directs to all the examples we've created thus far. | ||
|
||
Whether this is a kit for a SPA or MPA, routing will be a factor. We should provide a standard way for defining and implementing routes. We want to demonstrate basic routing as part of each kit. To do so, we want a homepage that directs to all the examples we've created thus far. | ||
|
||
# Acceptance | ||
- [ ] Add and configure routing | ||
|
||
- [ ] All solutions require some level of application-level configuration. | ||
- [ ] Create a basic homepage that lives at `/` | ||
- [ ] Route the counter component to `/counter` | ||
- [ ] Route the API component to `/api-example` | ||
- [ ] Ensure there is a detailed explanation of intended use and expansion in the kit’s README. | ||
|
||
# Note: | ||
|
||
- The mock was taken from a different kit. Change the text to be align with the current kit | ||
|
||
# Mock | ||
|
||
 |
7 changes: 4 additions & 3 deletions
7
.github/custom-issue-template/frontend-kit/2. Add testing to the current Kit.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
# Background | ||
|
||
Each kit should have a provided a unit testing framework fully installed and configured to be used. | ||
Component testing is an important out-of-the-box feature for kits. We should provide a configured testing toolchain. Jest & Vitest are currently the most popular but Cypress Component Testing is an option as well. We should also provide popular and commonly used extensions such as testing-library to help with accessibility testing. Each kit should have a provided a unit testing framework fully installed and configured to be used. | ||
|
||
# Acceptance | ||
|
||
- [ ] Add the chosen testing framework | ||
- [ ] When I run yarn test, I should see the tests pass on a simple `expect(true).toBe(true)` test. | ||
- [ ] Add the chosen testing framework. | ||
- [ ] When I run `yarn test`, I should see the tests pass on a simple `expect(true).toBe(true)` test. | ||
- [ ] Ensure there is a detailed explanation of intended use and expansion in the kit’s README. |
11 changes: 8 additions & 3 deletions
11
.github/custom-issue-template/frontend-kit/2. Setup Storybook.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,11 @@ | ||
# Background | ||
Storybook is a great way to build, validate, and test components. We want to ship a working storybook instance with each kit. | ||
|
||
Storybook is a great way to build and test components in a sandbox. Most teams opt out of Storybook because it takes time to setup. We should make it easy to add stories and colocate them with their components. | ||
kenslachtajr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Acceptance | ||
- [ ] Install and configure storybook | ||
- [ ] Add a simple example of storybook using the existing components | ||
|
||
- [ ] Storybook setup: Add Storybook to the project and get it running. | ||
- [ ] Remove default stories: Storybook ships with default stories. These should be removed as they are just examples that can be looked up later online. | ||
- [ ] Add ability to colocate stories: Storybook needs some configuration to make colocated stories render correctly. Include these. | ||
kenslachtajr marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
- [ ] Add ability to add page stories: Some people only focus on component-level stories while others try to do page level stories. We should provide a pattern for providing both. In metaframeworks, colocated page stories might not be possible so define a pattern for allowing for page level stories. | ||
- [ ] Add good plugins: Storybook has a collection of plugins that are great for creating interactive stories. We should include some of the plugins including ones for accessibility, actions, and adjusting component inputs. See https://storybook.js.org/integrations for more details. |
16 changes: 16 additions & 0 deletions
16
.github/custom-issue-template/frontend-kit/3. Add a greeting component page.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Background | ||
kenslachtajr marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
Routed as `/greet`. Accepts the query parameter `?greeting=` that can be used to customize the message displayed. Includes a title for the page and links back to the homepage. | ||
|
||
# Acceptance | ||
|
||
- [ ] Routed as `/greet` | ||
- [ ] Accepts the query parameter `?greeting=` that can be used to customize the message displayed | ||
- [ ] Includes a title for the page | ||
- [ ] links back to the homepage | ||
- [ ] A Storybook story for the page should be included | ||
|
||
# Notes: | ||
|
||
- If the kit supports SSR, the fetch should happen on the server and not the UI. | ||
- Tests are not required. |
14 changes: 14 additions & 0 deletions
14
.github/custom-issue-template/frontend-kit/3. Add a home page component.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Background | ||
|
||
A homepage (`/`) page that includes links that navigate to the different component specific pages. The title should be the kit’s name. | ||
|
||
# Acceptance | ||
|
||
- [ ] Create a home page component | ||
- [ ] Includes links that navigate to different component specific pages | ||
- [ ] The title is the kit's name | ||
- [ ] A Storybook story for the page should be included. | ||
|
||
# Note: | ||
|
||
Tests are not required. |
15 changes: 15 additions & 0 deletions
15
.github/custom-issue-template/frontend-kit/3. Add counter component page.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Background | ||
|
||
Routed as `/counter`. Loads the counter example onto the page. Includes a title for the page and links back to the homepage. | ||
|
||
# Acceptance | ||
|
||
- [ ] Routed as `/counter` | ||
- [ ] Loads the counter example onto the page | ||
- [ ] Includes a title for the page | ||
- [ ] links back to the homepage | ||
- [ ] A Storybook story for the page should be included | ||
|
||
# Note: | ||
|
||
Tests are not required. |
7 changes: 7 additions & 0 deletions
7
.../custom-issue-template/frontend-kit/3. Add deployment instructions to README.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Background | ||
|
||
While we are not deploying these kits, instructions in the README on how to deploy them is requested. This can also be delivered as a blog post if it’s for a newer technology that doesn’t have a well defined deployment story. | ||
|
||
# Acceptance | ||
|
||
- [ ] The README includes instructions for deploying the kit |
10 changes: 7 additions & 3 deletions
10
.github/custom-issue-template/frontend-kit/3. Create a counter component.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,17 @@ | ||
# Background | ||
|
||
We want to launch each kit with an example of a component with state and good tests. We've chosen a counter for this reason. | ||
|
||
# Acceptance | ||
|
||
- [ ] Create a counter component | ||
- [ ] The counter should have an increment, decrement, and reset button | ||
- [ ] The counter should have an increment, decrement, and reset (to zero) button | ||
- [ ] The counter should display its current value | ||
- [ ] The counter should work in the negative direction as well | ||
- [ ] The counter should be controlled by the global state manager | ||
- [ ] The counter should have a storybook story | ||
- [ ] The counter should have a Storybook story | ||
- [ ] The counter should have a set of tests demonstrating how to verify all its features | ||
|
||
# Mock | ||
 | ||
|
||
 |
13 changes: 10 additions & 3 deletions
13
.github/custom-issue-template/frontend-kit/3. Create a fetch component.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,23 @@ | ||
# Background | ||
|
||
We want to launch each kit with an example of a component that fetches data from a data source and related tests. We have an endpoint set up as a simple hello world that accepts a greeting for example sake. | ||
|
||
# Acceptance | ||
|
||
- [ ] Create an API example component | ||
- [ ] (if using REST)The component should make a GET request to `https://api.starter.dev/hello?greeting=<message>` where the message is "framework-store-style starter.dev!" | ||
- [ ] (if using REST)The component should make a GET request to `https://api.starter.dev/hello?greeting=<message>` where the message is "framework-store-style starter.dev!" | ||
- [ ] (if using GraphQL) above equivalent using endpoint `https://api.starter.dev/graphql` | ||
- [ ] The component should display the message from the API in the UI | ||
- [ ] The component should have a storybook story | ||
- [ ] When it successfully retrieves data the component should display the message from the API in the UI | ||
- [ ] The message should be customizable | ||
- [ ] When loading, display a loading state | ||
- [ ] When an error occurs, display an error state | ||
- [ ] The component should have a Storybook story | ||
- [ ] The component should have a set of reasonable tests demonstrating how to mock APIs | ||
|
||
# Note: | ||
|
||
The mock shows RxJs but that is just because it was created for a different KIT. Use the tool chosen for you current Kit | ||
|
||
# Mock | ||
|
||
 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
.github/custom-issue-template/frontend-kit/5. Final checks.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Background | ||
|
||
Once the kit has been finalized, we want to do a few final checks to make sure it meets the criteria in the specifications. | ||
|
||
# Acceptance | ||
|
||
- [ ] Set project to Use the latest version of Typescript | ||
- [ ] A .nvmrc file should be provided with the kit to specify the node version used to ensure users are using the targeted node version. | ||
- [ ] The lockfile from the project should be excluded to allow users to utilize their package manager of choice. The project should work equally well using any package manager. | ||
- [ ] Because the lockfile is excluded, kits should pin their dependency version numbers to a fixed value. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.