* chore: move files
* wip: i have no idea what i am doing
* feat: finish up the logic
* chore: use order from randy sheet
* chore: standardise titles
* feat: fix layout for new js projects
* fix: utils test
* fix: challenge tests
* fix: ignore show new curriculum on non-english tests
* chore: help category????
* fix: if these tests would fail locally that'd be great
* chore: duplicate ids
* refactor: light tweaks for readability
* refactor: simplify metadata functions
* fix: most tests
* test: fix utils tests
* test: simplify mocks
* WIP: update get-last-step-file-content
* feat: finish create-next-step
* fix: type error
* test: provide mock meta.json for test
* refactor: get meta path from project path
* refactor: get project name from path
* refactor: simplify getProjectMetaPath further
Also removes some excessive mocking
* refactor: remove more mocks, always clear .env
* feat: update create-next-step
* feat: update create-empty steps
Also refactors slightly, so it's easier to insert steps into the meta
* docs: update challenge-helper-script docs
* feat: create-step-between
* refactor: allow metadata parse errors to propagate
* fix: convert reorderSteps to renameSteps
* refactor: create-step-between -> insert-step
* feat: update delete-step
* refactor: consolidate commands into commands.ts
* refactor: clean up and consolidation
* refactor: more cleanup
* fix: make cli args consistent
Everything accepts a single integer and nothing else
* refactor: renameSteps -> updateStepTitles
* docs: update with the names and args
* feat: add step validating meta + files are synced
* feat: allow more 1000 steps to be created at once
* refactor: start migrating to typescript
* refactor: delete-step to ts
* refactor: migrated some helpers
* refactor: migrate create-empty-steps
* refactor: migrate create-step-between
* refactor: finish migrating to TS
* refactor: migrate tests
* fix: ensure mock.restore is done after each test
* fix: prevent double-tscing
* fix: repair the tests
* chore: use ts-node for scripts
We don't need the performance boost of incremental compilation and
ts-node is easier to work with
* refactor: consolidate tsconfigs
* refactor: replace gulp
* fix: use ts-node for build-curriculum
* fix: allow ts compilation of config
* feat: create and use create:config script
* fix: add /config to eslint projects
* fix: remove gulp script
* fix: simplify mobile layout tabs
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* chore: use constants for superblocks
* add prettier ts dec to challenge-helper-scripts
* config/ to ts. broken
* typescripterise tools/ and config/
* create global tsconfig, remove alternate configs
* delete temp ts->js, add to gitignore
* fix gitignore
* re-import SuperBlocks in super-block-intro.tsx
* remove renamed files added again
* fix config
* remove accidental files
* remove snap
* delete built files
* adjust eslintrc for enums
* add node types to root
* ignore build files in lint and prettier
* fix tools/ in tsconfig
* ignore annoying ts warnings
* prettierise Map/index.tsx
* fix enum to match lint rule
* rejig Map to render RWD superblock
* 'pretty minor' - implicitly tsc within root
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix client/package.json for Gitpod
* broken: migrate @types to root
* fix: use typeRoots to prevent duplication
* fix show.tsx, try typeroots in root
* silly fix for duplicate node_modules types
* remove typeRoots from root
* fix: tsconfig or not tsconfig, that is the...
* fix: ...question: Whether 'tis nobler in the mind
to suffer the slings and arrows of outrageous configs...
* fix: Or to take Arms against a Sea of lint errors
And by opposing end them
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* 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>