* fix: token rework functional
fix: clean up
fix: more clean up
fix: more clean up
fix: add widget back to settings
fix:
fix:
fix: cypress
Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
fix: use flash enum
* chore: rename webhookToken -> userToken
fix: add translations I forgot to save
* fix: add missing tones for flash messages
* fix: node test
* feat: add function to map from path to superblock
* fix: use superblocks as keys in curriculum.json
* fix: handle new superblock names
* fix: keep deleting relational-database
* fix: add cert to email for when all certs are earned
* fix: unhide rdbms from production
* fix: cert project input field
* feat: add cypress tests
* fix: message on project pages to lower expectations
* fix: update instructions
* fix: add quincy's suggestions
* fix: add beta label and reorder
* fix: utils test
* fix: move rdbms to bottom of settings
* fix: cypress tests
* Apply suggestions from code review
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* fix: only drop seeded users webhook tokens
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* 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
fix: unhide cert from settings page
fix: add cert variables where missing
fix: show token on settings page
feat: add challenges to certified user data
fix: stylize settings page a little bit
fix: only show rdbms when upcomingChanges = true
fix: relational databases -> relational database
* 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: handle missing solutions correctly
Rather than creating an [[]] the parser now creates [] which isEmpty().
This makes the test suite check the next challenge for a solution.
In addition, the logic for testing solutions was fixed.
* chore: update snapshots
* test: build new superblock in node.js-tests CI
* test: allow forward slash in superblock slug
* fix: borked tests oops
* test: ignore duplicated projects
* fix: i did not break these shaun did :)
* fix: idIndex is index of id not id
Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
* fix: simplify mobile layout tabs
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* test: login more directly
* test: separate login from other visits
In a single test, Cypress can only visit within a single domain, hence
the separation.
* chore: fail slowly for all strategies
* test: user certified user for showing cert
* test: fix and cleanup certifications
* feat: add notes tab to project based curriculum
* feat: add console key to i18n
* feat: add reset to i18n
* fix: use translations in action-row
* fix: use hasEditableBoundaries as check for when to display instructions/editor-tabs
* fix: clean up notes components and use prism formatting
* feat: add notes to docs/how-to-work-on-challenges
* revert: unused code
* fix: lint errors?
* fix: lint errors
* fix: add notes to graphql schema
* fix: add notes to challenge schema
* fix: only display notes on project based
* fix: add env data back to mobile layout
* fix: prettify
* revert: notes
* fix: hide notes on mobile for non project based
* rename: switchDisplayTab -> togglePane
* revert: hasEditableBoundaries check back to projectBasedChallenge check
* fix: replace index with script/styles as needed
* fix: remove redundant fileKey
It's overwritten by createPoly, so the parser does not need to create it
* fix: curriculum test suite
* Update client/src/templates/Challenges/classic/MultifileEditor.js
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
* feat(alert): initialize component
* feat(alert): add children prop
* feat(alert): add className prop
* feat(alert): add variant prop
* feat(alert): add close button and handle onDismiss click
* feat(alert): place all alert related css in alert.css
* feat: define state color variables and use them instead of bootstrap ones
* chore: remove unused classes
* feat: replace base alert styles with tailwind classes
* feat: extract close button to separate component
* chore: remove unused css
* test: add close button tests
* refactor: use more tailwind-like approach for adding colors to theme
* refactor: use more expressive prop name for close button label
* refactor: use semantic color names
* feat: add stories with/without close button
* chore: add missing variants