Commit Graph

226 Commits

Author SHA1 Message Date
Oliver Eyton-Williams
8d12376931 chore(cypress): speed up seeding when testing (#50825) 2023-06-29 23:18:10 +07:00
renovate[bot]
2cfd71eb57 chore(deps): update dependency dotenv to v16.3.1 2023-06-17 21:58:15 +00:00
Tom
5e04985c93 feat(curriculum): add C# superblock (#50646)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-06-14 13:36:39 +02:00
renovate[bot]
5717ab9de9 chore(deps): update dependency dotenv to v16.1.4 2023-06-04 18:31:01 +00:00
renovate[bot]
d26ab87189 chore(deps): update dependency mongodb to v5.6.0 2023-06-03 15:42:44 +00:00
Tom
373e808938 refactor(config): superblocks and map (#50435) 2023-06-01 14:51:57 +02:00
Oliver Eyton-Williams
41372c31cd chore(tools): update mongodb in seed script (#50519) 2023-05-25 22:13:37 +01:00
Niraj Nandish
b688a82f43 feat(client): generate challenge data as static files (#50369)
* feat(client): generate challenge data as static files

* chore: hopefully this is better types

* fix: add declaration file

* fix: schema issues

---------

Co-authored-by: sembauke <semboot699@gmail.com>
2023-05-23 08:37:49 -07:00
Oliver Eyton-Williams
6521b9bd90 chore: add unsubscribeIds to demo users (#50468)
Real users get this property when created, so it should be in the demo
users too.
2023-05-22 16:14:31 +02:00
renovate[bot]
1b913eba52 chore(deps): update dependency @types/node-fetch to v2.6.4 2023-05-20 11:15:42 +00:00
Tom
4dfca3c560 feat: add exam environment (#50356)
* feat: add exam environment

* fix: cypress

* fix: lint-ts

* fix: lint-js

* fix: codefactor

* fix: don't translate comments from new JS spreadsheet

* fix: more tests

* fix: challenge schema

* fix: external curriculum test?

* fix: add more comments
2023-05-18 13:33:43 +02:00
Oliver Eyton-Williams
7749aed5d5 chore: add externalId to seed scripts (#50407)
It's in the schema, so it should be in the seeded users
2023-05-17 08:31:54 -07:00
Muhammed Mustafa
734a88e5d2 feat(client): delete invalid default profile image (#50352)
* feat(client): delete a not valid variable

* set validation to false if using the image

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

---------

Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2023-05-16 09:57:54 -07:00
renovate[bot]
a2cf596599 chore(deps): update dependency node-fetch to v2.6.11 2023-05-13 05:52:28 +00:00
Tom
d02bb663c4 refactor(curriculum): move helpCategory to block meta.json file (#50265)
* refactor: move helpCategory to block meta

* fix: test?
2023-05-04 08:46:58 +02:00
renovate[bot]
83535810e9 chore(deps): update dependency joi to v17.9.2 2023-04-29 14:22:14 +00:00
Oliver Eyton-Williams
5ea1f4fffc feat: add githash as query param (#49960) 2023-04-05 21:15:51 +05:30
renovate[bot]
97325f03b5 chore(deps): update dependency @types/node-fetch to v2.6.3 2023-04-05 04:14:10 +00:00
Mrugesh Mohapatra
e5590e56d7 chore: use pnpm v8 for deps (#49892)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-29 20:18:49 +05:30
renovate[bot]
1383e2d943 chore(deps): update dependency joi to v17.9.1 2023-03-25 23:37:06 +00:00
Sem Bauke
87d9ade1a7 fix(curriculum,client): move the Euler Project to its own superBlock (#49294)
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
2023-03-23 21:29:13 +05:30
Sem Bauke
864df54011 feat(tools): redirect generation script (#49798)
* feat: redirect generation script

* feat: add comment

* Apply suggestions from code review

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

---------

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-03-23 08:19:21 -07:00
renovate[bot]
1c793d39b7 chore(deps): update dependency joi to v17.8.4 2023-03-18 23:07:53 +00:00
Tom
b950070f80 feat(curriculum): add college algebra cert as upcoming change (#43605)
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-10 10:55:50 +00:00
Mrugesh Mohapatra
9f80ccd8b2 fix(tools): rename and update curriculum scripts (#49620) 2023-03-08 12:02:54 +00:00
Mrugesh Mohapatra
50bc79fde7 fix(tools): rename and update seed user config (#49619) 2023-03-08 12:27:14 +01:00
Oliver Eyton-Williams
d7848ae01a feat: migrate to pnpm for better workspace DX (#49293)
* feat: npm -> pnpm 

This resolves the issues with the gatsby client (gatsby-plugin-pnpm
deals with the fact that gatsby is relying on its own dependencies
being de-duped)
and challenge-editor (which doesn't seem to want to automatically install
codemirror and needed its own eslint config)

* fix: correct mocha path for curriculum tests

* fix: use select workspace with -F not -w

* fix: reorganise packages and restrict hoisting

pnpm works best if the workspaces keep their own dependencies, since
dependencies are not flattened and then what node resolves from a
require is predictable.

@types seem to be a special case and more care is required to prevent
them getting smushed together in the root (hence the .npmrc)

* fix: add types for tools + root

* fix: decouple challenge-auditor from client

* fix: add ui-components types

* fix(client): use the latest types for react 16

* fix: prettify

* fix: prettierignore pnpm-lock

* fix: relax hoisting

Turns out pnpm works just fine with types. I don't know what was going
wrong before, but there are no-longer any type conflicts.

* fix: add @redux-saga/core to fix eslint issue

It seems to only be redux-saga that import/named can't cope with, so it
is probably okay to work around this one.

* chore: add chai to tools/scripts/build

* fix: add store to root for cypress

* fix: allow cypress to download binaries

If we want to keep preventing cypress from downloading binaries, we can
figure out a workaround, but I'm allowing it to ease the transition to
pnpm.

My guess about why this is happening is that npm triggers Cypress's
postinstall script, but pnpm does not (because pnpm install only
installs if necessary, perferring to link)

* chore: re-enable pre/post scripts

* fix: update build scripts for client

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>

* chore: update engines to use pnpm


* fix: enable choice of (super)block for tests

Only 'nix machines for now.

* chore: pin pnpm to version 7

* chore: remove last npms

Except web + curriculum-server. I'll update them when I start work on
them again.

* fix: lockfile check to catch any package-locks

* fix(action): install pnpm for upcoming tests

* chore: add nodemon to new api

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2023-03-02 18:17:44 +00:00
renovate[bot]
286573c30d chore(deps): update dependency debug to v4.3.4 2023-02-25 08:01:08 +00:00
Oliver Eyton-Williams
4ff00922da refactor: fix hidden eslint errors (#49365)
* 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)
2023-02-13 07:13:50 -08:00
Sem Bauke
928dcbe08c feat: transfer The Odin Project to its own superblock (#49202)
* feat: the odin-project superblock

* feat: break everything

* fix: correct meta names

* fix: meta again

* fix: tests

* fix: help category and external curriculum test

* fix: file names again

* fix: help category

* fix: remove console log

---------

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2023-02-08 15:21:03 +01:00
Oliver Eyton-Williams
0a20f8fd73 refactor: remove a lot of unused code (#48935)
Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com>
2023-01-07 10:33:35 +05:30
Mrugesh Mohapatra
6dba4d3409 chore: bump prettier and lint-staged (#48674)
* chore: bump prettier and lint-staged

* refactor: drop unused eslint disables

Currently we need to fetch trending.json before we can build the site
(i.e. before Cypress tests can run), so we can assume the file exists.

In case the download fails in CI, linting will error first. I've added
a comment to save some debugging time.

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-12-06 23:46:42 +05:30
Oliver Eyton-Williams
0b644afb0e fix(i18n): download english trending for fallback (#48652)
* fix(i18n): download english trending for fallback

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

* fix: prevent duplicate download for english

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

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
2022-12-02 17:09:01 +03:00
Tom
60d15e4631 feat: get footer from cdn (#47174)
Co-authored-by: ahmad abdolsaheb <ahmad.abdolsaheb@gmail.com>
Co-authored-by: scissorsneedfoodtoo <scissorsneedfoodtoo@gmail.com>
2022-12-01 15:23:17 +01:00
Tom
5f73773cd4 feat(client): move legacy rwd button to bottom of map (#47596)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Closes https://github.com/freeCodeCamp/freeCodeCamp/issues/46523
2022-11-08 21:00:46 +05:30
renovate[bot]
d0d6d4c3b8 chore(deps): update dependency dotenv to v16.0.3 2022-11-05 09:03:48 +00:00
Mrugesh Mohapatra
b393d88b9e refactor: s/all-langs/i18n/g (#48258) 2022-10-26 10:08:27 -07:00
Ahmad Abdolsaheb
0df7ee430d feat(client): add growthbook (#48003)
* feat: initial set up

* feat: useFeature setup

* feat: adjust attributes

* chore(client): remove ts-disables in growth-book-wrapper

* feat: pull growthbook uri from env

* feat: adjust the staff atribute

* feat: make linter happy

* feat: update recruitment message

* refactor: simplify types

* chore: delete unused config

* fix: update copy

* fix: add growthbookUri to expected env vars

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-10-17 14:53:25 +02:00
Sem Bauke
568711b338 feat: update mobile app superblock order (#47364)
* feat: update mobile app superblock order

* fix: keep old rwd on second row
2022-08-29 17:36:29 +09:00
renovate[bot]
4bdbd908c3 chore(deps): pin dependencies (#47336)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-08-22 17:53:52 +05:30
Sem Bauke
c2c7f24d82 feat: expose submit types to API (#47293)
* feat: expose submit types to API

* fix: clear file name

* fix: keep submit types out of versioning
2022-08-18 00:08:22 +05:30
Sem Bauke
98e1b9eab3 feat: add superblock intro to curriculum data API (#47161)
* feat: add superblock intro to curriculum data API

* fix: type correlation intro

* fix: add key to Joi schema
2022-08-08 12:16:19 -05:00
Paula Barszcz
2121d3ae30 feat: Set keyboardShortcuts to true for authUser in seedAuthUser.js (#46971) 2022-07-21 20:46:38 +05:30
Oliver Eyton-Williams
232b6d232a fix: make superblock data paths match normal paths (#46406) 2022-06-24 08:12:16 -05:00
Radi Totev
e581bd9081 feat(client): shortcuts legend modal available on pressing the ? key (#45530)
* Add modal texts in translations.json file

* Add shortcuts modal state in redux

* Create shortcuts modal

* Integrate shortcuts modal

* Resolve codefactor.io issues

* Extend list of shortcuts

Based on this comment:
https://github.com/freeCodeCamp/freeCodeCamp/issues/36841#issuecomment-933310078

* Remove temporary placeholder for modal title

* Open modal fom Hotkeys instead of learn.tsx

As suggested in this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101224993

* Complete list in transaltions

* Change shortcut presentation fo better a11y

Use table instead of list items as suggestedin this comment:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1101796368

* Add aria-labelledby

* Remove GAnalytics

* Remove leftover style

* Remove table caption

* autofocus on modal close button

* Improve modal a11y

- Add requested changes from https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1104764766
- Leave autofocus and parent div role=dialog changes for later. (https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107754148)

* [WIP] Alllow users to turn off keyboard shortcuts

* Add keyboard shortcuts switch in settings

* Disable shortcuts

* Remove toggle switch description

* Refactor and cleanup

* Remove close button from modal header

Suggested by bbsmooth:
https://github.com/freeCodeCamp/freeCodeCamp/pull/45530#issuecomment-1107861091

* Fix lint issues

* Disable shortcuts

* Disable shortcuts by default

* Update challenge output test

* Update challenge-hot-keys test

* Disable shortcuts from inside handlers

Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2022-06-03 09:57:52 -07:00
Oliver Eyton-Williams
b0ecd766e0 fix: order entries in available-superblocks.json (#46274) 2022-06-03 10:47:35 +05:30
Sem Bauke
d5423745d9 chore(tools): update filename and versioning API (#46238)
* chore(tools): update filename and versioning API

* fix(tests): rename file name

* fix(tests): current version to test against
2022-05-31 09:57:36 +02:00
Sem Bauke
18920de10c feat(tools): introduce generic data API with versioning (#45989)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-05-30 19:37:01 +02:00
Sem Bauke
62957fd875 fix(test): remove build from mobile curriculum test (#45804) 2022-04-29 09:02:59 -07:00
Oliver Eyton-Williams
ad8cf94202 fix: allow sentryClientDSN to be null (#45786) 2022-04-26 16:00:39 +01:00