81 Commits

Author SHA1 Message Date
dfe5a7fd05 Add Sentry to client for error handling (#43920)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-04-15 09:54:02 -05:00
07cfc8b83b fix: only test mobile curriculum on english (#45558) 2022-03-28 12:55:15 -07:00
fe84387fd2 fix(tests): do not build mobile on i18n tests (#45507) 2022-03-22 21:32:55 +01:00
567e99231f feat: add block description to mobile curriculum (#45370)
* feat: add block description to mobile curriculum

* feat: add superblock names
2022-03-22 19:11:44 +00:00
8ee9b5761a fix: use keys in curriculum.json (#45407)
* 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
2022-03-10 20:41:33 +00:00
e8ec209431 feat: create mobile curriculum data on build (#45162)
* feat: create mobile curriculum data on build

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2022-03-01 15:59:15 +01:00
7216ca55cc refactor: organise TypeScript config and migrate helpers (#44747)
* 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
2022-01-25 11:34:16 +01:00
dd2ff1683c feat: add curriculum feature flag (#44441) 2021-12-09 12:31:03 -06:00
01b354f0d1 refactor: mollify TypeScript 2021-12-02 19:57:47 +05:30
03309bea9e chore: remove old package-locks 2021-12-02 19:57:47 +05:30
5b61c8a56f refactor(client): ts-migration of i18n/validate-keys.js (#44292)
* refactor - file extenstion change to .ts

* fix - imports syntax

* fix - migration complete

* fix - lint:prettier warn

* refactor - validate-keys in tools/scripts/lint/

* refactor - validate-keys.ts moved to tools/scripts/lint and added in tsconfig.json

* refactor - tsconfig.json file for tools

* fix - lint:ts script update and validate-keys.js added to .eslintignore

* fix - lint:prettier and ts compilation

* fix - ts compilation

* refactor - changes in .gitignore and validate-keys script
2021-11-30 08:37:00 -08:00
98fc7fba0e fix(config): build all-langs.js before server (#44274)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-11-25 11:01:50 +00:00
d75e43a1e7 chore: use constants for superblocks (#43886)
* 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>
2021-11-19 19:49:40 +05:30
7f769cdaf8 Add Patreon client key validation (#44155) 2021-11-10 08:21:50 -08:00
6feeaa289b fix(deps): update dependency @types/react-dom to v17.0.11 (#44107)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-10 20:17:39 +05:30
466f39794b chore: update all lockfiles to v2 2021-11-03 15:06:19 +05:30
6fef483946 chore: update all packages to node v16 & npm v8 2021-11-03 15:06:19 +05:30
7824f13f5f feat: auto clean client cache when SHOW_UPCOMING_CHANGES value changes (#43747)
* 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>
2021-10-06 21:07:08 +05:30
b623c340a9 feat(client): add google pay (#43117)
* feat: initial button setup client

* feat: rename walletsButton to .tsx

* chore: typescriptize wallet component

* chore: re-add keys to config, env, etc + check in gatsby-node

* feat: refactor donate form and wallet component

* feat(client): set labels correctly

* chore: add stripe package back to server

* chore: add stripe back to allowed paths

* chore: copy donate.js code from PR #41924

* feat: attempt to make back end work

* feat: make redux work

* feat: clean up

* feat: hokify

* feat: add error handling

* fix: back-end should be working

* fix: type errors

* fix: clean up back-end

* feat:addd styles

* feat: connect the client to the api

* feat: display wallets button everywhere

* test: add stripe key for cypress action

* test: fix for cypress tests

* test: cypress tests again

* test: maybe?

* test: more

* test: more

* test: more

* test

* askdfjasklfj

* fix: tests finally?

* revert: remove space from cypress yaml action

* remove logs

Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com>
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-08-08 23:22:25 +03:00
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
d9cd7687ba chore(deps): update dependency debug to v4.3.2 2021-07-04 07:05:29 +00:00
87ea2772f8 fix: typo in build-curriculum.js (#42533) 2021-06-16 15:27:23 +00:00
3875c6e619 fix: use env.json in both client and server (#42359) 2021-06-08 13:12:44 +01:00
00e5440882 chore(deps): update dependency dotenv to v10 (#42306)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-04 13:08:21 +02:00
1c1d86922c refactor: simplify jest config (#42136)
* refactor: bring api jest tests to root

* refactor: pull client tests to root

* fix: remove ancient curriculum babelrc

* feat: run all jest tests at once

* fix: remove unused babelrcRoot

* chore: remove more jests
2021-05-16 18:08:04 +05:30
965fc8240d chore(deps): update dependency dotenv to v9.0.2 2021-05-10 22:13:17 +00:00
91a6690634 chore(deps): update dependency dotenv to v9.0.1 2021-05-09 08:23:55 +00:00
1586c7b454 chore(deps): update dependency jest to v26.6.3 2021-05-06 23:25:27 +00:00
955e6eea9d chore(deps): update dependency lodash to 4.17.21 [security] (#42032)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-06 20:24:21 +02:00
050afb4bb0 chore(deps): update dependency dotenv to v9 (#42018)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-06 21:24:33 +05:30
69d47cd5bc chore(deps): update dependency dotenv to v8.6.0 2021-05-06 09:37:16 +00:00
06b90baa59 chore(deps): update dependency dotenv to v8.5.1 2021-05-05 11:14:39 +00:00
27c8d564e4 fix(client): replace Stripe with PayPal (#41924)
* feat: remove stripe payment option from client

* feat: remove stripe completely

* fix: remove last Stripe remnants

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-05-03 11:45:23 +03:00
5eacd3912b chore(deps): update dependency dotenv to v8 (#41690)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-04-20 17:21:45 +02:00
5dddfc5b7c chore(deps): update dependency y18n [security] (#41657)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-30 11:13:57 +02:00
87684ad630 chore(deps): update dependency debug to v4.3.1 (#41622)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-29 19:04:29 +05:30
08114292c3 fix(deps): pin dependencies (#41589)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-27 20:57:57 +05:30
42365dd172 fix: update package files, lerna config (#41599)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-03-27 07:46:20 -07:00
8df5293af3 chore(deps): update dependency node-notifier to 8.0.1 [security] (#41592)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-27 11:18:32 +05:30
b7bfacc114 chore(deps): update dependency yargs-parser to 5.0.0-security.0 [security] (#41588)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-03-26 15:57:29 +05:30
0a53a1d7f0 chore(deps): upgrade lerna to v4 2021-03-11 12:19:42 +05:30
df4c075103 fix(scripts): move to lockfile v2 2021-02-27 03:25:51 +05:30
b5f4754e2a fix: re-revert the API decoupling (#41263)
* fix(api): decouple api from curriculum

This reverts commit 8f0e441644 and
introduces the implementations from #40703.

* fix(gitpod): add curriculum build to GitPod

This reverts commit 706d70f58d and
introduces implementations from #41234.

* docs: update DevOps manual for api change (#41259)

Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-02-25 12:02:35 -08:00
8f0e441644 revert(api): decouple api from curriculum
This reverts commit c077ffe4b9
via PR #40703
2021-02-25 03:40:09 +05:30
c077ffe4b9 feat(api): decouple api from curriculum (#40703) 2021-02-22 12:23:59 +05:30
fffc0e51ec chore(client): refactor & organise config (#40875) 2021-02-03 15:22:07 +05:30
6a09b9bce2 fix(client): refactor dynamic URLs based on lang (#40824) 2021-01-31 12:15:41 +05:30
0b944ddfde fix(env): update variable validations (#40813) 2021-01-31 12:15:40 +05:30
59173b346a fix(tools): Validate curriculum_locale (#40572)
Adds validation for the `CURRICULUM_LOCALE`
environment variable in the same way the
`CLIENT_LOCALE` value is validated.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-31 12:15:35 +05:30
Tom
3978c6be28 feat: i18n user interface (#40306)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
2021-01-31 12:15:32 +05:30