Commit Graph

45 Commits

Author SHA1 Message Date
Oliver Eyton-Williams
2a7b220a4f feat: support beforeEach and afterEach (#60921)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2025-07-07 10:46:09 +00:00
Oliver Eyton-Williams
5ef98680f9 refactor: remove unused vars (#59658) 2025-04-10 10:06:46 -05:00
Anna
3104c9e057 feat: test page structure (#59113)
Co-authored-by: Naomi <accounts+github@nhcarrigan.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2025-04-01 15:32:52 -05:00
Oliver Eyton-Williams
96d62330cd feat(client): support beforeAll in DOM challenge tests (#59001) 2025-02-28 14:03:18 +02:00
Oliver Eyton-Williams
6e9513a933 chore: upgrade eslint (#58575) 2025-02-07 22:48:43 +02:00
Tom
8ec9e5cc52 feat(challenge-parser): add transcript to challenge parser (#57967) 2025-01-09 07:17:22 +01:00
Tom
75401e13ee feat(client, challenge-parser): add explanation to challenges (#56472) 2024-10-04 14:59:50 -03:00
Oliver Eyton-Williams
321915cbe9 refactor(parser): helper to get paragraph content (#56326) 2024-10-04 09:42:41 -05:00
Lars Kappert
d32e57813e chore: update Knip to v5 (#56244) 2024-09-26 13:12:00 +02:00
Oliver Eyton-Williams
ffe765dac1 refactor: quiz challenge question format (#56285) 2024-09-25 10:41:38 -07:00
Oliver Eyton-Williams
e95b040762 refactor: create and use all-section parser (#56282) 2024-09-25 10:04:16 -07:00
Oliver Eyton-Williams
21fa84348c fix(tools): broken import (#56278) 2024-09-25 17:37:30 +09:00
Oliver Eyton-Williams
435cbc0024 refactor: clean up parser test code (#56271) 2024-09-25 13:04:27 +05:30
Tom
c8f272d3c3 feat(challenge-parser/client): add quiz challenge type (#56058)
Co-authored-by: Jessica Wilkins <67210629+jdwilkin4@users.noreply.github.com>
2024-09-24 21:18:17 +05:30
Oliver Eyton-Williams
8b601d762e feat: allow TS to be used in challenges (#56159) 2024-09-19 18:44:09 -04:00
Tom
a9a1081564 feat(challenge-parser): allow many questions in MC challenge (#55928) 2024-09-19 09:56:47 -05:00
Anna
973b7175c9 fix(curriculum): use-blank-word-instead-of-char (#55444) 2024-07-18 20:13:10 -05:00
Oliver Eyton-Williams
3b9ae66a64 fix: more specific formatting error message (#53626) 2024-02-09 22:15:00 +05:30
Oliver Eyton-Williams
9fe6a46b81 feat: nicer formatting for fill in the blank challenges (#52552) 2023-12-18 23:33:20 +00:00
Tom
a31f6637d7 feat(client/curriculum): add dialogue animations (#52543) 2023-12-15 16:29:45 +01:00
Joy Shaheb
d9881d9ffa feat(curriculum): dice game project (#50819)
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: jdwilkin4 <jwilkin4@hotmail.com>
2023-12-14 20:03:20 -08:00
Eric Do
70b4044c6c feat(tools/challenge-parser): Add tests to fill-in-the-blank parser (#52451) 2023-12-07 11:18:52 -06:00
Shaun Hamilton
fb1a5ab16f fix(tools): allow long-form of language id (#52442) 2023-11-28 15:53:41 -06:00
Tom
ddc459e71e feat(client/curriculum): add upcoming english superblock and challenge types (#52201) 2023-11-09 10:08:51 +01:00
Tom
bce1b9915b feat(challenge-parser): add feedback to mc questions (#51942) 2023-11-02 08:28:53 +02:00
Krzysztof G
d7e0f59528 fix: typos in names (#51896)
Co-authored-by: Viktor Szépe <viktor@szepe.net>
2023-10-11 07:33:56 +03:00
Mrugesh Mohapatra
b5c86d4b9c feat(e2e): adding playwright and migrate landing page e2e tests (#51216)
Co-authored-by: Ahmad <57593864+Ahmadkashif@users.noreply.github.com>
Co-authored-by: Hassaan Pasha <pasha.hassaan@gmail.com>
2023-08-11 14:10:10 +05:30
Oliver Eyton-Williams
69d6ee32bf feat: python in the browser (#50913)
Co-authored-by: Beau Carnes <1513130+beaucarnes@users.noreply.github.com>
2023-07-28 07:36:25 +02:00
renovate[bot]
7ecf6a44bc chore(deps): update jest monorepo to v29 (major) (#49775)
* chore(deps): update jest monorepo to v29

* chore: install jest-environment-jsdom

* chore: update snapshots

* fix: update config to transform nanoid+uuid

* chore: update babel's node target

This does not seem strictly necessary, but is probably for the best.

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-21 12:37:23 +00:00
Sem Bauke
df53c7778c feat: integrate The Odin Project (#48617)
* feat: integrate the odin project

* feat: add assignment to markdown parser

* feat: add assignment logic

* fix: doe not always show assignment block

* fix: some other stuff

* fix: introdiction to html and css questions

* fix: remove assignments after first question

* fix: update snapshots and tests

* feat: create rest of HTML foundation course structure

* feat: meta file

* feat: add descriptions to 'html boiler plate' questions

* feat: add description for 'working with text and list items'

* fix: multiple logic issues

* fix: make linter happy

* feat: add description for 'links and images' questions

* fix: add assignments to Joi schema

* fix: tests

* fix: schema

* fix: add help category

* fix: change to possessive wording

* fix: set upcoming change to true in meta file

* fix: spell unordered and ordered correctly

* fix: switch order in meta

* fix: spell boilerplate correctly

* feat: add final project

* chore: add more tests to the final project

* fix: question spelling

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* Apply suggestions from code review

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>

* fix: translation

* Update client/i18n/locales/english/translations.json

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* fix: create new challenge type

* fix: get the new challenge type working and remove ol css

* fix: translation location

* fix: add challenge type to epic

* fix: set correct video

* fix: max challengeType number

* fix: spelling/grammar errors in project

* fix: check if anchor tags is empty

* Apply suggestions from code review

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* Update tools/challenge-parser/parser/plugins/add-video-question.js

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* chore: multiple suggestions

* chore: separate assignments into different plugin

* Apply suggestions from code review

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

* fix: dubble answer header after review

* fix: issue with Gatsby hopefully

* fix: add assignments to Gatsby's Challenge schema

* Update curriculum/schema/challengeSchema.js

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
2023-01-19 14:55:26 +02:00
Oliver Eyton-Williams
36363f277d test: enable tests for steps (#44550)
* 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>
2021-12-22 12:18:06 -08:00
Tom
1c5d136add feat(client): add notes tab to project based curriculum (#44247)
* 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
2021-12-09 18:42:03 +00:00
Oliver Eyton-Williams
f613a1e5fd fix: index.css/js to styles/script (#44356)
* 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>
2021-12-03 12:32:29 -08:00
Oliver Eyton-Williams
bb0e7317c8 fix: only use parts of gfm parser 2021-12-02 19:57:47 +05:30
Oliver Eyton-Williams
c8d7f0a782 feat(tools): remove eslint-plugin-prettier for prettier (#42438)
* 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
2021-10-06 21:02:21 +05:30
Shaun Hamilton
59f17f237b refactor: files{} -> challengeFiles[], and key -> fileKey (#43023)
* fix(client): fix client

* fix propType and add comment

* revert user.json prettification

* slight type refactor and payload correction

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update ChallengeFile type imports

* add cypress test for code-storage

* update test and storage epic

* fix Shaun's tired brain's logic

* refactor with suggestions

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* update codeReset

* increate cypress timeout because firefox is slow

* remove unused import to make linter happy

* use focus on editor

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

* use more specific seletor for cypress editor test

* account for silly null challengeFiles

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-12 20:48:28 +02:00
Oliver Eyton-Williams
e118dda13a fix: order imports and remove circular dependencies (#41824)
* fix: remove circular dependency

redux depended on templates/Challenges/redux and vice versa.  This
meant that import order mattered and confusing bugs could arise.

(cherry picked from commit 7d67a4e70922bbb3051f2f9982dcc69e240d43dc)

* feat: require imports to be in alphabetical order

Import order generally does not matter, but there are edge cases
(circular  imports and css imports, for example) where changing order
changes behaviour

(cherry picked from commit b8d1393a91ec6e068caf8e8498a5c95df68c2b2c)

* chore: order imports

* fix: lift up challenge description + title comps

This brings the classic Show closer to the others as they
now all create the description and title components

* fix: remove donation-saga/index circular import

(cherry picked from commit 51a44ca668a700786d2744feffeae4fdba5fd207)

* refactor: extract action-types from settings

(cherry picked from commit 25e26124d691c84a0d0827d41dafb761c686fadd)

* fix: lint errors

* feat: prevent useless renames
2021-08-02 08:39:40 -05:00
Huyen Nguyen
2c16234853 chore: add jest global variables (#42573) 2021-06-20 09:14:42 +02:00
Randell Dawson
5bb773fcec fix(tools): Update createStepFile function in new curriculum helper script (#41693)
* feat: add parseMDSync to parser

* fix: update createStepFile function

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-03-31 18:19:46 +03:00
Mrugesh Mohapatra
6c91f81b0e chore(deps): upgrade eslint, prettier & related packages 2021-03-11 12:19:42 +05:30
Oliver Eyton-Williams
3a5f272606 fix: prevent parser throwing when err is null (#41278) 2021-02-27 12:54:38 +05:30
Oliver Eyton-Williams
156f47b000 fix: only log errors when challenges update (#41214)
* fix: only log errors when challenges update

* refactor: handle error first

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2021-02-22 15:12:36 +05:30
Oliver Eyton-Williams
04c2f4e620 fix: parse ::directives correctly (#41186) 2021-02-22 09:14:12 +05:30
Oliver Eyton-Williams
9ff3a29a72 refactor: remove remains of old parser 2021-02-03 22:26:36 +05:30
Oliver Eyton-Williams
a3a678b7af chore: remove old parser 2021-02-02 09:51:02 +05:30