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
Improve example templates #3261
Conversation
|
👇 Click on the image for a new way to code review
Legend |
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 2ecf594:
|
idle: { | ||
on: { | ||
fetch: 'pending' | ||
} | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like this example. One thing for clarity might be worth capitalizing states and actions or using some type of differentiation to say that those are user-defined and not special xstate keys. especially when things like fetch already exist in javascript.
"build": "parcel build index.html" | ||
}, | ||
"dependencies": { | ||
"parcel-bundler": "1.12.5", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: this usually should be a dev dep
}, | ||
"dependencies": { | ||
"parcel-bundler": "1.12.5", | ||
"xstate": "^4.32.1" | ||
}, | ||
"devDependencies": { | ||
"typescript": "^4.7.4", | ||
"vite": "^2.9.13" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you have switched to using parcel for this example so vite should be dropped from here
@@ -503,10 +503,10 @@ | |||
|
|||
model.createMachine({ | |||
// `ctx` was of type `any` | |||
entry: ctx => {}, | |||
entry: (ctx) => {}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are using a different Prettier version than Changesets and this results in a lot of those reformatting changes. I have a PR open that is supposed to fix this: changesets/changesets#905
This PR improves the templates to use a new
timeMachine
that fetches the current time and assigns it tocontext
:The goal of this new template is to provide a statechart example that isn't as contrived as the original toggle example, has more states and transitions, and also shows the usefulness of invoking states.