* fix: stop showing completion modal on steps
* feat: submit steps with ctrl+enter
* fix: handle ctrl+enter when not focussing editor
* fix: reset tests when user types
* refactor: pass showCompletionModal as an option
Otherwise we have to write executeChallenge(true) which does not mean
what you might reasonably expect.
* fix: always executeChallenge when not on step
* fix: update frontend project show
* fix: handle missing payload
* refactor: isProjectStep -> hasEditableRegion
* refactor: more renaming
* fix: make meta.json control multifile editor use
* fix: update the challengeSchema correctly
* Update client/src/templates/Challenges/classic/editor.tsx
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* fix: remove logging
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat: auto clean client cache on env var change
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
* feat: remove eslint-plugin-prettier for prettier
This removes the annoying lint warnings when all that needs to change is
formatting
* fix: use .js lint-staged config to ignore properly
* fix: lint everything if a lot of files are changed
It's faster than making lots of individual linter calls
* chore: apply prettier
* fix: ignore code in curriculum-file-structure
* Add TS configs and improve dir structure
* Add TS configs and improve dir structure
* Fix components exports from index
* chore: prettier
* Add tsconfig and then fix the linter warnings
* Add @babel/preset-typescript
* Fix eslint rule and update btn component to fix storybook
* Fix TS and Jest configs
Converted all remaining files to TS as well
* Remove TS ignored rules and fixed some TS & jest stuff
* Revert to old directory structure
* Use absolute versions in package.json
* enable ts strict to infer types
Co-authored-by: Hamza Waleed <hamza.waleed@arbisoft.com>