Commit Graph

117 Commits

Author SHA1 Message Date
renovate[bot]
95708c692a chore(deps): update dependency prettier to v2.8.7 2023-03-25 07:58:27 +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
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
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
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
renovate[bot]
8aa35385a0 chore(deps): update dependency prettier to v2.8.4 (#49341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-11 10:47:49 +00: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
renovate[bot]
e536ba5224 fix(deps): update dependency typescript to v4.9.5 2023-02-04 19:39:26 +00:00
renovate[bot]
f53b19ac95 chore(deps): update dependency prettier to v2.8.3 2023-01-14 10:49:47 +00:00
renovate[bot]
e0e8356d56 chore(deps): update dependency prettier to v2.8.2 2023-01-08 21:24:01 +05:30
renovate[bot]
a606203ae4 fix(deps): update dependency typescript to v4.9.4 2022-12-11 05:27:18 +00:00
renovate[bot]
30579809c8 chore(deps): update dependency prettier to v2.8.1 2022-12-10 05:57:34 +00:00
renovate[bot]
fc9b739772 chore(deps): update dependency bson-objectid to v2.0.4 2022-11-26 07:03:28 +00:00
renovate[bot]
5504a8cbb7 fix(deps): update dependency typescript to v4.9.3 2022-11-20 22:30:54 +00:00
renovate[bot]
617a692489 chore(deps): update dependency inquirer to v8.2.5 2022-10-29 22:50:25 +00:00
Niraj Nandish
53164e71f1 fix: circular dependencies (#46638)
* fix: circular dependency in formHelpers

* fix: circular dependency in Flash

* fix: circular dependency in helpers

* fix: circular dependency in current-challenge-saga (1/2)

* fix: circular dependency in code-lock-epic

* feat: eslint rule for circular dependencies

* fix: circular dependency in tools

* fix: import error and more circular dependencies in formHelpers

* fix prettier error

* fix: circular dependency in danger-zone-saga

* fix: circular dependency in update-email-saga

* fix: circular dependency in settings-saga

* fix: circular dependency in accept-terms-saga

* fix: circular dependency in codeally-saga

TODO: make a separate file for selectors

* fix: ci lint error

* fix: ci lint:prettier error

* fix: circular dependency in current-challenge-saga

* fix: cricular dependency in Challenges/redux

* fix: circular dependency in redux/settings

* fix: circular dependency in root redux

* fix: lint errors

* chore: remove unecessary comment

* chore: remove unused export

* fix: clear out actions and selectors

* revert changes to package.json

* test ci with maxDepth of 1

* fix: fallback to empty object

* test action if it will run for maxDepth of 2
2022-10-05 18:08:40 +01:00
renovate[bot]
12001a8eb1 fix(deps): update dependency typescript to v4.8.4 2022-10-03 04:26:03 +00:00
renovate[bot]
460335599d fix(deps): update dependency typescript to v4.8.3 2022-09-11 09:16:23 +00:00
renovate[bot]
da69ec485a fix(deps): update dependency typescript to v4.8.2 2022-08-29 13:45:42 +00:00
renovate[bot]
85b009b308 chore(deps): update dependency ts-node to v10.9.1 2022-07-17 03:52:46 +00:00
renovate[bot]
1fdfd7884b chore(deps): update dependency ts-node to v10.8.2 2022-07-02 21:38:17 +00:00
renovate[bot]
eb507ddd45 chore(deps): update dependency prettier to v2.7.1 (#46563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-20 23:07:44 +05:30
renovate[bot]
17cc61dfe1 fix(deps): update dependency typescript to v4.7.4 (#46560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-06-20 15:48:19 +05:30
Renovate Bot
902ca385ee fix(deps): update dependency typescript to v4.7.3 2022-06-05 03:43:47 +00:00
Renovate Bot
b3ed01b226 chore(deps): update dependency ts-node to v10.8.1 2022-06-04 19:54:43 +00:00
Renovate Bot
36bd34f5ca fix(deps): update dependency typescript to v4.7.2 2022-05-30 00:38:12 +00:00
Renovate Bot
5f9fd2c075 chore(deps): update dependency ts-node to v10.8.0 2022-05-22 02:09:40 +00:00
Naomi Carrigan
fe71a9cf25 feat: new js cert (#45873)
* 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
2022-05-16 11:53:45 +02:00
Renovate Bot
debfcbe382 fix(deps): update dependency typescript to v4.6.4 2022-05-01 14:55:26 +00:00
Renovate Bot
6eb72110ce chore(deps): update dependency inquirer to v8.2.4 2022-04-30 20:19:39 +00:00
Sem Bauke
d92eb803da fix(tests): windows pathing (#45799)
* fix: tests on Windows

* fix: use path join instead
2022-04-28 22:04:16 +01:00
Renovate Bot
01516821f9 chore(deps): update dependency prettier to v2.6.2 2022-04-03 00:07:56 +00:00
Renovate Bot
1177e8182d fix(deps): update dependency typescript to v4.6.3 2022-03-27 13:20:09 +00:00
Renovate Bot
6d97c1c76e chore(deps): update dependency prettier to v2.6.1 2022-03-27 10:33:18 +00:00
Renovate Bot
2af0ad9ab8 chore(deps): update dependency inquirer to v8.2.2 2022-03-27 01:00:07 +00:00
Renovate Bot
d189c1bcce chore(deps): update dependency prettier to v2.6.0 2022-03-20 12:11:47 +00:00
Renovate Bot
2400a3f5b1 chore(deps): update dependency bson-objectid to v2.0.3 2022-03-12 20:09:05 +00:00
Renovate Bot
5059c1c06c chore(deps): update dependency inquirer to v8.2.1 2022-03-12 05:56:51 +00:00
Oliver Eyton-Williams
108d2460e7 fix(tools): use correct superblock paths (#45285)
* fix: use array of choices

* fix: capture traces from fs promise errors

* fix: use helper to get superblock subpath
2022-03-07 10:51:33 +05:30
Renovate Bot
bb21b4c4c4 chore(deps): update dependency ts-node to v10.7.0 2022-03-06 07:00:10 +00:00
Oliver Eyton-Williams
339c6713d2 feat: update challenge helpers to handle id filenames (#44769)
* 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
2022-03-02 07:12:20 -08:00
Renovate Bot
1dc0f55d3d chore(deps): update dependency ts-node to v10.6.0 2022-03-02 05:45:08 +00:00
Renovate Bot
e178e9a808 fix(deps): update dependency typescript to v4.6.2 2022-03-01 10:22:40 +00:00
Renovate Bot
37c41cdcf7 chore(deps): update dependency ts-node to v10.5.0 2022-02-07 19:06:10 +00:00
Renovate Bot
1a5b3c0ebb chore(deps): pin dependencies 2022-01-25 12:16:01 +00:00
Oliver Eyton-Williams
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
Renovate Bot
188ea02fe1 fix(deps): update dependency typescript to v4.5.5 2022-01-21 02:54:40 +00:00
Renovate Bot
03c6197616 chore(deps): update dependency bson-objectid to v2.0.2 2022-01-18 02:05:59 +00:00
Mrugesh Mohapatra
f9bc75cf9b fix(tools): update order for linting errors (#44707) 2022-01-07 16:22:31 +05:30
Nicholas Carrigan (he/him)
08ad03e051 chore: create renaming script (#44692) 2022-01-07 13:20:48 +05:30