* refactor: explicit types for validate
* refactor: explicit return types for ui-components
* refactor: use exec instead of match
* refactor: add lots more boundary types
* refactor: more eslint warnings
* refactor: more explicit exports
* refactor: more explicit types
* refactor: even more explicit types
* fix: relax type contrainsts for superblock-order
* refactor: final boundaries
* refactor: avoid using 'object' type
* fix: use named import for captureException
This uses TypeScript (which works) instead of import/namespace
(which doesn't) to check if captureException exists in sentry/gatsby
(it does)
* feat: add challenge editor tool
chore: prepare API/Client setup
feat: migrate to react!
feat: styling
fix: useEffect loop
feat: add challenge helpers
feat: use actual code editor
feat: styling
Bring it a bit more in line with /learn
* refactor: use workspaces
Which unfortunately required a rollback to React 16, because having
multiple React versions causes all sorts of issues.
* chore: apply Oliver's review suggestions
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: remove test files for now
* fix: prettier issue
* chore: apply oliver's review suggestions
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: move scripts to root
* fix: lint errors oops
* chore: remove reportWebVitals thing
* chore: DRY out paths
* fix: create-empty-steps takes one arg
* chore: start doesn't make sense now
* chore: DRY out button requests
* chore: one more review suggestion
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: cleanup CRA files
* fix: correct note for creating new project
* feat: enable js and jsx highlighting
* feat: include all superblocks
* feat: improve button ux
* feat: add "breadcrumbs"
* feat: add link back to block from step tools
* chore: remove unused deps
* chore: apply oliver's review suggestions
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: parity between file names and commands
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>