utopia
utopia copied to clipboard
feat(import): github import wizard
This PR adds a Github import wizard, tracking the progress of importing a project from Github, showing errors or warnings. The design is still preliminary, but it is hidden behind a feature switch so that the logic can be reviewed and merges, in order not to create a long living PR.
It supports error/warning states:
PR Includes:
- Adding three actions
SetImportWizardOpen- controlling the wizard UIUpdateImportOperations- updating the results of individual import operations (desc. to follow).UpdateProjectRequirements- updating the results of checking and fixing Utopia specific requirements
- Utilities to start/end tracking of import operations, their results and timings.
- Tracked import operations - tracking hooks are being called at appropriate places in the code.
- Loading the code from Github
- Parsing the files
- Checking specific Utopia requirements
- Loading dependencies
- Utopia checks:
- storyboard file (created if not present)
utopiaentry in package.json- project composition (JS/TS)
- Not tracked in this PR but will in subsequent ones (can be added modularily):
- React version - currently a placeholder
- Server side packages - mainly Node builtins
- Style frameworks
- The wizard UI itself - showing progress and results (still preliminary)
Note for reviewers: there are a lot of changed files due to adding new actions and passing down the dispatch parameter, but the main logic is contained in the new services and the wizard React components.
Manual Tests: I hereby swear that:
- [X] I opened a hydrogen project and it loaded
- [X] I could navigate to various routes in Play mode
#14940 Bundle Size — 58.02MiB (+0.07%).
8fb5834(current) vs 916e8b9 master#14936(baseline)
[!WARNING] Bundle contains 70 duplicate packages – View duplicate packages
Bundle metrics
4 changes
1 regression
| Current #14940 |
Baseline #14936 |
|
|---|---|---|
41.01MiB(+0.09%) |
40.97MiB |
|
0B |
0B |
|
18.29% |
0% |
|
20 |
20 |
|
22 |
22 |
|
4159(+0.17%) |
4152 |
|
213 |
213 |
|
27.32%(-0.04%) |
27.33% |
|
477 |
477 |
|
70 |
70 |
Bundle size by type
2 changes
1 regression
1 improvement
| Current #14940 |
Baseline #14936 |
|
|---|---|---|
58.02MiB (+0.07%) |
57.98MiB |
|
7.37KiB (-0.25%) |
7.39KiB |
Bundle analysis report Branch feat/github-import-wizard Project dashboard
Generated by RelativeCI Documentation Report issue