From 626d301fede2e65d230304eecd6a1323702336d4 Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Sun, 21 Jan 2024 19:20:50 +0400 Subject: [PATCH 01/10] Updates Warning message using Alerts New extension in Markdown supported by GitHub Reference: https://github.com/orgs/community/discussions/16925 --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7ed9a99e58..99fb14e61d 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,10 @@ [![Configlet](https://github.com/exercism/javascript/actions/workflows/configlet.yml/badge.svg)](https://github.com/exercism/javascript/actions/workflows/configlet.yml) [![javascript / main](https://github.com/exercism/javascript/workflows/javascript%20/%20main/badge.svg)](https://github.com/exercism/javascript/actions?query=workflow%3A%22javascript+%2F+main%22) -⚠️ We 💙 our community but **this repository does not accept community contributions at this time**. -There are no active maintainers to review PRs. -Please read this [community blog post][freeing-maintainers] for details. ⚠️ +> [!IMPORTANT] +> We 💙 our community but **this repository does not accept community contributions at this time**.
+> There are no active maintainers to review PRs.
+> Please read this [community blog post][freeing-maintainers] for details. **Exercism exercises in JavaScript** From 19ade9137cbf3c5e3f222de531539e9ff5ffc19d Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:40:53 +0400 Subject: [PATCH 02/10] Adds Warning and Important Alerts in `CONTRIBUTING.md` --- CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 212cfc67c4..7abbea8630 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,8 @@ It's not uncommon that people discover incorrect implementations of certain test We welcome contributions of all sorts and sizes, from reporting issues to submitting patches, as well as joining the current [discussions 💬][issue-discussion]. -> :warning: This guide is slightly outdated and doesn't hold the V3 changes yet. +> [!WARNING] +> This guide is slightly outdated and doesn't hold the V3 changes yet. --- @@ -209,8 +210,8 @@ It then interactively gives the maintainer the option to include or exclude test We have various `scripts` to aid with maintaining and contributing to this repository. -> ⚠ If you encounter the following error: -> +> [!IMPORTANT] +> If you encounter the following error: > ```text > SyntaxError: Unexpected token 'export' > ``` From 0f78f5a7b9f480ba50a0191a46ba8e5890586850 Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:43:04 +0400 Subject: [PATCH 03/10] Adds the 'Note' alerts to `falsy.md` --- reference/info/falsy.md | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/info/falsy.md b/reference/info/falsy.md index c16e85c9d2..6c0db4e421 100644 --- a/reference/info/falsy.md +++ b/reference/info/falsy.md @@ -4,6 +4,7 @@ A falsy value is a value that is considered `false` when encountered in a [Boole [JavaScript][language-javascript] uses [Type Conversion][concept-type-coercion] to coerce any value to a [Boolean][type-boolean] in contexts that require it, such as [conditionals][concept-conditionals] and [loops][concept-loops]. +> [!NOTE] > There are 7 falsy values in JavaScript. > > This means that when JavaScript is expecting a boolean and it is given one of the values below, it will always evaluate to "falsy". From 6242d08c585aa729460647a50353a08c54ef714c Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:43:50 +0400 Subject: [PATCH 04/10] Adds the 'Note' highlight to `event_loop.md` Reference: https://github.com/orgs/community/discussions/16925 --- reference/info/event_loop.md | 1 + 1 file changed, 1 insertion(+) diff --git a/reference/info/event_loop.md b/reference/info/event_loop.md index cd11078717..31cfc60706 100644 --- a/reference/info/event_loop.md +++ b/reference/info/event_loop.md @@ -1,5 +1,6 @@ # Event loop +> [!NOTE] > [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java. [language-c]: https://github.com/exercism/v3/blob/main/c/README.md From e35a4018f72c800e9f2f373906f1c1dd61e6750f Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:45:42 +0400 Subject: [PATCH 05/10] Adds the 'Note' highlight to `concurrency.md` Reference: https://github.com/orgs/community/discussions/16925 --- reference/info/concurrency.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reference/info/concurrency.md b/reference/info/concurrency.md index 966f795769..b656843b76 100644 --- a/reference/info/concurrency.md +++ b/reference/info/concurrency.md @@ -1,8 +1,9 @@ # Concurrency -> When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept. -> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the -> _simultaneous execution_ of (possibly related) computations. +> [!NOTE] +> When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept.
+> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
+> _simultaneous execution_ of (possibly related) computations.
> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism) See also [Event loop][concept-event-loop]. From 84ef222a07edc7feb50868af6eb001a351041107 Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:48:40 +0400 Subject: [PATCH 06/10] Adds the 'Warning' highlight to `implementing-a-concept-exercise.md` Reference: https://github.com/orgs/community/discussions/16925 --- reference/implementing-a-concept-exercise.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/reference/implementing-a-concept-exercise.md b/reference/implementing-a-concept-exercise.md index 778eae9f6d..0d7a76bdf4 100644 --- a/reference/implementing-a-concept-exercise.md +++ b/reference/implementing-a-concept-exercise.md @@ -61,7 +61,8 @@ github/exercism The configuration files may be copied from another exercise. We aim to keep these in sync: -> ⚠ Just like with _practice_ exercises, we will provide a script for you to run. This script needs to be updated from its v2 version, which has not yet been done. +> [!WARNING] +> Just like with _practice_ exercises, we will provide a script for you to run. This script needs to be updated from its v2 version, which has not yet been done. - `.eslintrc` - `.gitignore` From febce5e27c5d502b4286177e001ce42254647328 Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:50:26 +0400 Subject: [PATCH 07/10] Adds the 'Tip' highlight to `FUNCTIONS.md` Reference: https://github.com/orgs/community/discussions/16925 --- docs/FUNCTIONS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/FUNCTIONS.md b/docs/FUNCTIONS.md index 4c086fa08e..a313df3c18 100644 --- a/docs/FUNCTIONS.md +++ b/docs/FUNCTIONS.md @@ -6,7 +6,8 @@ In JavaScript, functions are _first class objects_ which means they can be assig JavaScript functions allow you to pass arguments when they are called. Arguments are always [passed by value](https://dev.to/xpbytes/javascript-ruby-and-c-are-not-call-by-reference-23f7). In other words, if a function reassigns a parameter inside the function, the value won't change outside the function. That doesn't mean that passed-in objects cannot be mutated. -> 💡 When an object is passed in, the reference to that object is passed in by value. This makes it _seem_ like passing in objects are handled differently, but that's not the case. +> [!TIP] +> When an object is passed in, the reference to that object is passed in by value. This makes it _seem_ like passing in objects are handled differently, but that's not the case. An example of a function that takes two arguments and multiplies them is: From 890d1032b4faf649f9538a0e21ff4ed63e7ac2f8 Mon Sep 17 00:00:00 2001 From: CSK <73425927+cr2007@users.noreply.github.com> Date: Mon, 22 Jan 2024 08:56:14 +0400 Subject: [PATCH 08/10] Adds the 'Note' and 'Important' highlight to `INSTALLATION.md` --- docs/INSTALLATION.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 0767f1b780..813124f246 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -48,10 +48,12 @@ After the installer is done, or the package manager has completed, or the binary The version should match the one on the website. -**Note**: It is important to open a _new_ terminal window. -Any open terminal windows might not have been refreshed after the installation completed. -This means that the open terminals don't know that a new program was installed. +> [!NOTE] +> It is important to open a _new_ terminal window. +> Any open terminal windows might not have been refreshed after the installation completed. +> This means that the open terminals don't know that a new program was installed. +> [!IMPORTANT] > _**Help**_: `'node' is not recognised` > > If you've used the official installer, your `PATH` should have been automatically configured, but if your shell has trouble locating your globally installed modules — or if you build Node.js from source — update your `PATH` to include the `npm` binaries. @@ -86,6 +88,7 @@ They can be installed running this command within each assignment directory: npm install ``` +> [!IMPORTANT] > _**Help**_: `'' is missing / cannot be found` > > If you see this after _upgrading_ your exercise, welcome to npm 7. From c2cd2b666eea067af599ba28ba3f3c367ba427a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 1 Feb 2024 22:15:53 +0000 Subject: [PATCH 09/10] [CI] Format code --- CONTRIBUTING.md | 1 + config.json | 911 ++++++---------------------------- docs/INSTALLATION.md | 6 +- reference/info/concurrency.md | 4 +- reference/info/event_loop.md | 3 +- 5 files changed, 167 insertions(+), 758 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7abbea8630..835c0e5dc4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -212,6 +212,7 @@ We have various `scripts` to aid with maintaining and contributing to this repos > [!IMPORTANT] > If you encounter the following error: +> > ```text > SyntaxError: Unexpected token 'export' > ``` diff --git a/config.json b/config.json index 3ea223a2c7..5a8ed1dbf5 100644 --- a/config.json +++ b/config.json @@ -19,18 +19,10 @@ "average_run_time": 5 }, "files": { - "solution": [ - "%{kebab_slug}.js" - ], - "test": [ - "%{kebab_slug}.spec.js" - ], - "example": [ - ".meta/proof.ci.js" - ], - "exemplar": [ - ".meta/exemplar.js" - ] + "solution": ["%{kebab_slug}.js"], + "test": ["%{kebab_slug}.spec.js"], + "example": [".meta/proof.ci.js"], + "exemplar": [".meta/exemplar.js"] }, "exercises": { "concept": [ @@ -38,9 +30,7 @@ "slug": "lasagna", "name": "Lucian's Luscious Lasagna", "uuid": "97bf898a-36fc-47fc-b870-01fc0c7fe554", - "concepts": [ - "basics" - ], + "concepts": ["basics"], "prerequisites": [], "status": "active" }, @@ -48,103 +38,63 @@ "slug": "annalyns-infiltration", "name": "Annalyn's Infiltration", "uuid": "5acafcbb-20a0-45b9-b276-3d167e0de313", - "concepts": [ - "booleans" - ], - "prerequisites": [ - "basics" - ], + "concepts": ["booleans"], + "prerequisites": ["basics"], "status": "beta" }, { "slug": "freelancer-rates", "name": "Freelancer Rates", "uuid": "0aff2fa7-55ea-47e9-af4a-78927d916baf", - "concepts": [ - "numbers", - "arithmetic-operators" - ], - "prerequisites": [ - "basics" - ], + "concepts": ["numbers", "arithmetic-operators"], + "prerequisites": ["basics"], "status": "beta" }, { "slug": "poetry-club-door-policy", "name": "Poetry Club Door Policy", "uuid": "39549583-1889-490a-bf98-ffb2e0aefe44", - "concepts": [ - "strings" - ], - "prerequisites": [ - "basics" - ], + "concepts": ["strings"], + "prerequisites": ["basics"], "status": "beta" }, { "slug": "elyses-enchantments", "name": "Elyses Enchantments", "uuid": "25cb0707-44f8-4800-b993-3fcb2b6d9f61", - "concepts": [ - "arrays" - ], - "prerequisites": [ - "numbers" - ], + "concepts": ["arrays"], + "prerequisites": ["numbers"], "status": "beta" }, { "slug": "vehicle-purchase", "name": "Vehicle Purchase", "uuid": "f75a7e2c-053a-411e-8b3d-f978a2c5100e", - "concepts": [ - "comparison", - "conditionals" - ], - "prerequisites": [ - "booleans", - "numbers", - "strings" - ], + "concepts": ["comparison", "conditionals"], + "prerequisites": ["booleans", "numbers", "strings"], "status": "beta" }, { "slug": "bird-watcher", "name": "Bird Watcher", "uuid": "3e648aa0-9ce7-4041-93d2-2b95f3832824", - "concepts": [ - "increment-decrement", - "for-loops" - ], - "prerequisites": [ - "arrays", - "comparison", - "conditionals" - ], + "concepts": ["increment-decrement", "for-loops"], + "prerequisites": ["arrays", "comparison", "conditionals"], "status": "beta" }, { "slug": "mixed-juices", "name": "Mixed Juices", "uuid": "81c3fb86-af86-4c56-a45f-e021403c4070", - "concepts": [ - "while-loops", - "conditionals-switch" - ], - "prerequisites": [ - "comparison", - "conditionals", - "arrays" - ], + "concepts": ["while-loops", "conditionals-switch"], + "prerequisites": ["comparison", "conditionals", "arrays"], "status": "beta" }, { "slug": "lucky-numbers", "name": "Lucky Numbers", "uuid": "78bbd7d2-b660-4791-a404-af5bfed31849", - "concepts": [ - "type-conversion" - ], + "concepts": ["type-conversion"], "prerequisites": [ "booleans", "strings", @@ -158,40 +108,23 @@ "slug": "elyses-analytic-enchantments", "name": "Elyses Analytic Enchantments", "uuid": "45d956db-d4ef-4468-b1d3-47021f172c15", - "concepts": [ - "arrow-functions", - "array-analysis" - ], - "prerequisites": [ - "arrays", - "booleans", - "callbacks", - "numbers" - ], + "concepts": ["arrow-functions", "array-analysis"], + "prerequisites": ["arrays", "booleans", "callbacks", "numbers"], "status": "beta" }, { "slug": "elyses-destructured-enchantments", "name": "Elyses Destructured Enchantments", "uuid": "d9b5cd13-2f2b-4034-a571-e66c847ed6f8", - "concepts": [ - "array-destructuring", - "rest-and-spread" - ], - "prerequisites": [ - "arrays", - "functions", - "objects" - ], + "concepts": ["array-destructuring", "rest-and-spread"], + "prerequisites": ["arrays", "functions", "objects"], "status": "beta" }, { "slug": "elyses-looping-enchantments", "name": "Elyses Looping Enchantments", "uuid": "e06f8f70-019f-4cec-924b-3971414e15d9", - "concepts": [ - "array-loops" - ], + "concepts": ["array-loops"], "prerequisites": [ "arrays", "arrow-functions", @@ -213,21 +146,15 @@ "slug": "amusement-park", "name": "Amusement Park", "uuid": "2d40b46b-9e49-431c-913c-81d1f42f74df", - "concepts": [ - "null-undefined" - ], - "prerequisites": [ - "objects" - ], + "concepts": ["null-undefined"], + "prerequisites": ["objects"], "status": "beta" }, { "slug": "pizza-order", "name": "Pizza Order", "uuid": "e9a9fa73-4497-43d5-a4ff-4eb319c98233", - "concepts": [ - "recursion" - ], + "concepts": ["recursion"], "prerequisites": [ "functions", "rest-and-spread", @@ -240,61 +167,39 @@ "slug": "coordinate-transformation", "name": "Coordinate Transformation", "uuid": "5aa39e89-c601-4a66-ab72-5d8512d69e02", - "concepts": [ - "closures" - ], - "prerequisites": [ - "arrays", - "functions" - ], + "concepts": ["closures"], + "prerequisites": ["arrays", "functions"], "status": "beta" }, { "slug": "fruit-picker", "name": "Fruit Picker", "uuid": "a6348db8-cc2b-4c53-9f43-3c23248d66f0", - "concepts": [ - "callbacks" - ], - "prerequisites": [ - "functions", - "objects" - ], + "concepts": ["callbacks"], + "prerequisites": ["functions", "objects"], "status": "beta" }, { "slug": "translation-service", "name": "Translation Service", "uuid": "4a967656-8615-474e-a009-5c0b09f4386f", - "concepts": [ - "promises" - ], - "prerequisites": [ - "callbacks", - "arrow-functions", - "errors" - ], + "concepts": ["promises"], + "prerequisites": ["callbacks", "arrow-functions", "errors"], "status": "beta" }, { "slug": "high-score-board", "name": "High Score Board", "uuid": "431d1f13-d280-4808-bbc6-a72e628c15c2", - "concepts": [ - "objects" - ], - "prerequisites": [ - "for-loops" - ], + "concepts": ["objects"], + "prerequisites": ["for-loops"], "status": "beta" }, { "slug": "ozans-playlist", "name": "Ozan's Playlist", "uuid": "347692fb-7b0f-4ef0-9a02-2192b59bdf5d", - "concepts": [ - "sets" - ], + "concepts": ["sets"], "prerequisites": [ "array-destructuring", "array-loops", @@ -309,38 +214,23 @@ "slug": "lasagna-master", "name": "Lasagna Master", "uuid": "a7e323f1-84d8-43d5-8c26-cc119166b9fd", - "concepts": [ - "functions" - ], - "prerequisites": [ - "objects", - "arrays", - "null-undefined" - ], + "concepts": ["functions"], + "prerequisites": ["objects", "arrays", "null-undefined"], "status": "beta" }, { "slug": "factory-sensors", "name": "Factory Sensors", "uuid": "2ccafa38-2802-44c1-8758-7415edefa909", - "concepts": [ - "errors", - "inheritance" - ], - "prerequisites": [ - "classes", - "null-undefined", - "conditionals" - ], + "concepts": ["errors", "inheritance"], + "prerequisites": ["classes", "null-undefined", "conditionals"], "status": "beta" }, { "slug": "elyses-transformative-enchantments", "name": "Elyses Transformative Enchantments", "uuid": "6e156d67-2bd2-4624-956d-ddcc3795bad5", - "concepts": [ - "array-transformations" - ], + "concepts": ["array-transformations"], "prerequisites": [ "arrow-functions", "numbers", @@ -354,44 +244,24 @@ "slug": "custom-signs", "name": "Custom Signs", "uuid": "02a9c753-614f-4814-a7a8-43c1971d2eb7", - "concepts": [ - "conditionals-ternary", - "template-strings" - ], - "prerequisites": [ - "strings", - "conditionals", - "type-conversion" - ], + "concepts": ["conditionals-ternary", "template-strings"], + "prerequisites": ["strings", "conditionals", "type-conversion"], "status": "beta" }, { "slug": "windowing-system", "name": "Windowing System", "uuid": "d697850e-fd43-408c-a958-835aa8a510f7", - "concepts": [ - "classes" - ], - "prerequisites": [ - "objects", - "functions", - "conditionals-ternary" - ], + "concepts": ["classes"], + "prerequisites": ["objects", "functions", "conditionals-ternary"], "status": "beta" }, { "slug": "regular-chatbot", "name": "Regular Chatbot", "uuid": "dc118a0d-be89-4ea5-a814-e471897d921a", - "concepts": [ - "regular-expressions" - ], - "prerequisites": [ - "arrays", - "classes", - "objects", - "template-strings" - ], + "concepts": ["regular-expressions"], + "prerequisites": ["arrays", "classes", "objects", "template-strings"], "status": "beta" } ], @@ -415,101 +285,61 @@ "name": "Two Fer", "uuid": "7f49e997-4435-4f34-a020-bddc92c838ed", "practices": [], - "prerequisites": [ - "strings", - "functions" - ], + "prerequisites": ["strings", "functions"], "difficulty": 1, - "topics": [ - "optional_values", - "strings", - "text_formatting" - ] + "topics": ["optional_values", "strings", "text_formatting"] }, { "slug": "resistor-color", "name": "Resistor Color", "uuid": "53be6837-c224-45f1-bff3-d7f74d6285ce", "practices": [], - "prerequisites": [ - "arrays", - "array-analysis" - ], + "prerequisites": ["arrays", "array-analysis"], "difficulty": 1, - "topics": [ - "arrays", - "strings" - ] + "topics": ["arrays", "strings"] }, { "slug": "resistor-color-duo", "name": "Resistor Color Duo", "uuid": "de800041-3dcc-41b9-b101-7314ff685c93", "practices": [], - "prerequisites": [ - "array-analysis" - ], + "prerequisites": ["array-analysis"], "difficulty": 2, - "topics": [ - "strings", - "arrays" - ] + "topics": ["strings", "arrays"] }, { "slug": "gigasecond", "name": "Gigasecond", "uuid": "fd7b62d4-266b-4e84-a526-bf3d47901216", "practices": [], - "prerequisites": [ - "dates", - "numbers", - "arithmetic-operators" - ], + "prerequisites": ["dates", "numbers", "arithmetic-operators"], "difficulty": 1, - "topics": [ - "time" - ] + "topics": ["time"] }, { "slug": "rna-transcription", "name": "RNA Transcription", "uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5", "practices": [], - "prerequisites": [ - "strings", - "array-transformations", - "objects" - ], + "prerequisites": ["strings", "array-transformations", "objects"], "difficulty": 2, - "topics": [ - "strings", - "transforming" - ] + "topics": ["strings", "transforming"] }, { "slug": "space-age", "name": "Space Age", "uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54", "practices": [], - "prerequisites": [ - "objects", - "numbers", - "type-conversion" - ], + "prerequisites": ["objects", "numbers", "type-conversion"], "difficulty": 2, - "topics": [ - "floating_point_numbers" - ] + "topics": ["floating_point_numbers"] }, { "slug": "pangram", "name": "Pangram", "uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b", "practices": [], - "prerequisites": [ - "strings", - "array-analysis" - ], + "prerequisites": ["strings", "array-analysis"], "difficulty": 2, "topics": [ "algorithms", @@ -546,11 +376,7 @@ "name": "Bob", "uuid": "a5bf36f0-5d3c-41d4-8d54-e37e484e59cd", "practices": [], - "prerequisites": [ - "strings", - "conditionals", - "regular-expressions" - ], + "prerequisites": ["strings", "conditionals", "regular-expressions"], "difficulty": 4, "topics": [ "conditionals", @@ -573,23 +399,14 @@ "functions" ], "difficulty": 5, - "topics": [ - "algorithms", - "conditionals", - "loops", - "lists", - "sorting" - ] + "topics": ["algorithms", "conditionals", "loops", "lists", "sorting"] }, { "slug": "pascals-triangle", "name": "Pascal's Triangle", "uuid": "99493160-4673-402f-acda-62db5378148d", "practices": [], - "prerequisites": [ - "arrays", - "for-loops" - ], + "prerequisites": ["arrays", "for-loops"], "difficulty": 4, "topics": [ "conditionals", @@ -604,11 +421,7 @@ "name": "Linked List", "uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5", "practices": [], - "prerequisites": [ - "classes", - "conditionals", - "while-loops" - ], + "prerequisites": ["classes", "conditionals", "while-loops"], "difficulty": 5, "topics": [ "algorithms", @@ -625,36 +438,18 @@ "name": "Grade School", "uuid": "64637322-33bc-401f-8cec-1f9810a41f75", "practices": [], - "prerequisites": [ - "classes", - "objects", - "array-transformations" - ], + "prerequisites": ["classes", "objects", "array-transformations"], "difficulty": 5, - "topics": [ - "arrays", - "maps", - "sorting" - ] + "topics": ["arrays", "maps", "sorting"] }, { "slug": "list-ops", "name": "List Ops", "uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc", "practices": [], - "prerequisites": [ - "classes", - "arrays", - "functions", - "recursion" - ], + "prerequisites": ["classes", "arrays", "functions", "recursion"], "difficulty": 6, - "topics": [ - "data_structures", - "loops", - "lists", - "recursion" - ] + "topics": ["data_structures", "loops", "lists", "recursion"] }, { "slug": "robot-name", @@ -729,11 +524,7 @@ "name": "Secret Handshake", "uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370", "practices": [], - "prerequisites": [ - "bit-manipulation", - "array-analysis", - "errors" - ], + "prerequisites": ["bit-manipulation", "array-analysis", "errors"], "difficulty": 6, "topics": [ "algorithms", @@ -749,31 +540,18 @@ "name": "Leap", "uuid": "193a0e19-462d-4d26-a117-124f07d5a3d7", "practices": [], - "prerequisites": [ - "arithmetic-operators", - "booleans" - ], + "prerequisites": ["arithmetic-operators", "booleans"], "difficulty": 1, - "topics": [ - "booleans", - "integers", - "logic" - ] + "topics": ["booleans", "integers", "logic"] }, { "slug": "reverse-string", "name": "Reverse String", "uuid": "e84c97eb-dbec-487c-b99f-ae9924e16293", "practices": [], - "prerequisites": [ - "strings", - "array-transformations" - ], + "prerequisites": ["strings", "array-transformations"], "difficulty": 2, - "topics": [ - "loops", - "strings" - ] + "topics": ["loops", "strings"] }, { "slug": "collatz-conjecture", @@ -802,19 +580,9 @@ "name": "Triangle", "uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f", "practices": [], - "prerequisites": [ - "numbers", - "booleans", - "comparison", - "classes" - ], + "prerequisites": ["numbers", "booleans", "comparison", "classes"], "difficulty": 3, - "topics": [ - "conditionals", - "loops", - "exception_handling", - "integers" - ] + "topics": ["conditionals", "loops", "exception_handling", "integers"] }, { "slug": "clock", @@ -828,22 +596,14 @@ "strings" ], "difficulty": 5, - "topics": [ - "dates", - "globalization", - "time" - ] + "topics": ["dates", "globalization", "time"] }, { "slug": "meetup", "name": "Meetup", "uuid": "98617798-b49d-4d43-9f65-7131ee73d626", "practices": [], - "prerequisites": [ - "dates", - "array-analysis", - "conditionals-switch" - ], + "prerequisites": ["dates", "array-analysis", "conditionals-switch"], "difficulty": 7, "topics": [ "conditionals", @@ -859,55 +619,27 @@ "name": "ETL", "uuid": "db16804b-0f63-445d-8beb-99e0f7218d66", "practices": [], - "prerequisites": [ - "objects", - "array-loops", - "arrays", - "strings" - ], + "prerequisites": ["objects", "array-loops", "arrays", "strings"], "difficulty": 2, - "topics": [ - "loops", - "integers", - "maps", - "transforming" - ] + "topics": ["loops", "integers", "maps", "transforming"] }, { "slug": "hamming", "name": "Hamming", "uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a", "practices": [], - "prerequisites": [ - "comparison", - "errors", - "for-loops" - ], + "prerequisites": ["comparison", "errors", "for-loops"], "difficulty": 2, - "topics": [ - "conditionals", - "loops", - "equality", - "strings" - ] + "topics": ["conditionals", "loops", "equality", "strings"] }, { "slug": "raindrops", "name": "Raindrops", "uuid": "f77ac2d1-cf3a-497d-bf04-b484a5a9cb37", "practices": [], - "prerequisites": [ - "arithmetic-operators", - "strings", - "conditionals" - ], + "prerequisites": ["arithmetic-operators", "strings", "conditionals"], "difficulty": 2, - "topics": [ - "conditionals", - "integers", - "strings", - "transforming" - ] + "topics": ["conditionals", "integers", "strings", "transforming"] }, { "slug": "nucleotide-count", @@ -934,37 +666,18 @@ "name": "Scrabble Score", "uuid": "11771d47-1109-4579-a62b-e0b8e9583485", "practices": [], - "prerequisites": [ - "strings", - "array-transformations" - ], + "prerequisites": ["strings", "array-transformations"], "difficulty": 5, - "topics": [ - "conditionals", - "loops", - "maps", - "strings" - ] + "topics": ["conditionals", "loops", "maps", "strings"] }, { "slug": "allergies", "name": "Allergies", "uuid": "9d33d21c-e695-427f-9f58-dd9498d61318", "practices": [], - "prerequisites": [ - "classes", - "math", - "numbers", - "for-loops", - "arrays" - ], + "prerequisites": ["classes", "math", "numbers", "for-loops", "arrays"], "difficulty": 6, - "topics": [ - "arrays", - "bitwise_operations", - "conditionals", - "loops" - ] + "topics": ["arrays", "bitwise_operations", "conditionals", "loops"] }, { "slug": "word-count", @@ -979,45 +692,25 @@ "objects" ], "difficulty": 4, - "topics": [ - "loops", - "lists", - "regular_expressions", - "strings" - ] + "topics": ["loops", "lists", "regular_expressions", "strings"] }, { "slug": "bank-account", "name": "Bank Account", "uuid": "8beedf70-28b4-4cfb-ab53-309ee6f6aa78", "practices": [], - "prerequisites": [ - "classes", - "conditionals", - "numbers" - ], + "prerequisites": ["classes", "conditionals", "numbers"], "difficulty": 3, - "topics": [ - "classes", - "conditionals" - ] + "topics": ["classes", "conditionals"] }, { "slug": "difference-of-squares", "name": "Difference of Squares", "uuid": "7dfa878c-83a6-48ef-9170-b6633d51d601", "practices": [], - "prerequisites": [ - "classes", - "for-loops" - ], + "prerequisites": ["classes", "for-loops"], "difficulty": 3, - "topics": [ - "algorithms", - "loops", - "integers", - "math" - ] + "topics": ["algorithms", "loops", "integers", "math"] }, { "slug": "perfect-numbers", @@ -1032,82 +725,43 @@ "for-loops" ], "difficulty": 3, - "topics": [ - "arrays", - "conditionals", - "loops", - "integers", - "math" - ] + "topics": ["arrays", "conditionals", "loops", "integers", "math"] }, { "slug": "complex-numbers", "name": "Complex Numbers", "uuid": "ea9a9a3e-ae6a-470d-8bb4-2afead507f24", "practices": [], - "prerequisites": [ - "classes", - "numbers", - "math" - ], + "prerequisites": ["classes", "numbers", "math"], "difficulty": 4, - "topics": [ - "math" - ] + "topics": ["math"] }, { "slug": "luhn", "name": "Luhn", "uuid": "28872cc9-f1ef-487f-9a79-6bf7983148bf", "practices": [], - "prerequisites": [ - "numbers", - "conditionals", - "array-transformations" - ], + "prerequisites": ["numbers", "conditionals", "array-transformations"], "difficulty": 4, - "topics": [ - "conditionals", - "loops", - "integers", - "strings" - ] + "topics": ["conditionals", "loops", "integers", "strings"] }, { "slug": "prime-factors", "name": "Prime Factors", "uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661", "practices": [], - "prerequisites": [ - "while-loops", - "conditionals", - "arrays" - ], + "prerequisites": ["while-loops", "conditionals", "arrays"], "difficulty": 4, - "topics": [ - "algorithms", - "conditionals", - "loops", - "integers", - "math" - ] + "topics": ["algorithms", "conditionals", "loops", "integers", "math"] }, { "slug": "grains", "name": "Grains", "uuid": "d003975a-9045-4f03-9ad9-c15db584dc13", "practices": [], - "prerequisites": [ - "conditionals", - "errors", - "numbers", - "math" - ], + "prerequisites": ["conditionals", "errors", "numbers", "math"], "difficulty": 5, - "topics": [ - "loops", - "integers" - ] + "topics": ["loops", "integers"] }, { "slug": "pythagorean-triplet", @@ -1123,13 +777,7 @@ "conditionals" ], "difficulty": 5, - "topics": [ - "algorithms", - "conditionals", - "loops", - "integers", - "math" - ] + "topics": ["algorithms", "conditionals", "loops", "integers", "math"] }, { "slug": "palindrome-products", @@ -1168,10 +816,7 @@ "comparison" ], "difficulty": 1, - "topics": [ - "filtering", - "strings" - ] + "topics": ["filtering", "strings"] }, { "slug": "acronym", @@ -1184,12 +829,7 @@ "array-transformations" ], "difficulty": 2, - "topics": [ - "loops", - "regular_expressions", - "strings", - "transforming" - ] + "topics": ["loops", "regular_expressions", "strings", "transforming"] }, { "slug": "high-scores", @@ -1203,25 +843,16 @@ "classes" ], "difficulty": 2, - "topics": [ - "arrays" - ] + "topics": ["arrays"] }, { "slug": "isogram", "name": "Isogram", - "uuid": "3df577af-2854-40ee-b211-9b608dbbad58", - "practices": [], - "prerequisites": [ - "strings", - "arrays", - "regular-expressions" - ], + "uuid": "3df577af-2854-40ee-b211-9b608dbbad58", + "practices": [], + "prerequisites": ["strings", "arrays", "regular-expressions"], "difficulty": 2, - "topics": [ - "filtering", - "strings" - ] + "topics": ["filtering", "strings"] }, { "slug": "matching-brackets", @@ -1255,10 +886,7 @@ "regular-expressions" ], "difficulty": 3, - "topics": [ - "parsing", - "transforming" - ] + "topics": ["parsing", "transforming"] }, { "slug": "scale-generator", @@ -1272,12 +900,7 @@ "array-transformations" ], "difficulty": 3, - "topics": [ - "loops", - "pattern_recognition", - "strings", - "arrays" - ] + "topics": ["loops", "pattern_recognition", "strings", "arrays"] }, { "slug": "series", @@ -1293,12 +916,7 @@ "array-transformations" ], "difficulty": 3, - "topics": [ - "loops", - "exception_handling", - "strings", - "text_formatting" - ] + "topics": ["loops", "exception_handling", "strings", "text_formatting"] }, { "slug": "largest-series-product", @@ -1328,12 +946,7 @@ "name": "Transpose", "uuid": "9c140fb7-cc8b-411b-b613-a0e0081a9c3f", "practices": [], - "prerequisites": [ - "arrays", - "for-loops", - "strings", - "conditionals" - ], + "prerequisites": ["arrays", "for-loops", "strings", "conditionals"], "difficulty": 3, "topics": [ "arrays", @@ -1357,11 +970,7 @@ "template-strings" ], "difficulty": 4, - "topics": [ - "files", - "searching", - "text_formatting" - ] + "topics": ["files", "searching", "text_formatting"] }, { "slug": "rectangles", @@ -1370,24 +979,14 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": [ - "arrays", - "conditionals", - "loops", - "matrices", - "strings" - ] + "topics": ["arrays", "conditionals", "loops", "matrices", "strings"] }, { "slug": "spiral-matrix", "name": "Spiral Matrix", "uuid": "c1abafcc-0d44-4fb5-afae-bff3ce2e1b39", "practices": [], - "prerequisites": [ - "arrays", - "for-loops", - "conditionals" - ], + "prerequisites": ["arrays", "for-loops", "conditionals"], "difficulty": 4, "topics": [ "arrays", @@ -1439,11 +1038,7 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": [ - "domain_specific_languages", - "parsing", - "stacks" - ] + "topics": ["domain_specific_languages", "parsing", "stacks"] }, { "slug": "food-chain", @@ -1452,21 +1047,14 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": [ - "algorithms", - "text_formatting" - ] + "topics": ["algorithms", "text_formatting"] }, { "slug": "house", "name": "House", "uuid": "a8b7187d-12eb-4efc-b966-87823654ccda", "practices": [], - "prerequisites": [ - "for-loops", - "arrays", - "strings" - ], + "prerequisites": ["for-loops", "arrays", "strings"], "difficulty": 4 }, { @@ -1526,12 +1114,7 @@ "name": "Twelve Days", "uuid": "64de1776-d5c6-43fe-9abf-7e3aa08ae342", "practices": [], - "prerequisites": [ - "arrays", - "conditionals", - "for-loops", - "strings" - ], + "prerequisites": ["arrays", "conditionals", "for-loops", "strings"], "difficulty": 4, "topics": [ "conditionals", @@ -1549,11 +1132,7 @@ "practices": [], "prerequisites": [], "difficulty": 6, - "topics": [ - "promises", - "error_handling", - "higher_order_functions" - ] + "topics": ["promises", "error_handling", "higher_order_functions"] }, { "slug": "yacht", @@ -1568,12 +1147,7 @@ "sets" ], "difficulty": 4, - "topics": [ - "arrays", - "conditionals", - "filtering", - "games" - ] + "topics": ["arrays", "conditionals", "filtering", "games"] }, { "slug": "beer-song", @@ -1587,11 +1161,7 @@ "template-strings" ], "difficulty": 5, - "topics": [ - "conditionals", - "loops", - "strings" - ] + "topics": ["conditionals", "loops", "strings"] }, { "slug": "resistor-color-trio", @@ -1606,10 +1176,7 @@ "template-strings" ], "difficulty": 5, - "topics": [ - "conditionals", - "loops" - ] + "topics": ["conditionals", "loops"] }, { "slug": "dominoes", @@ -1625,9 +1192,7 @@ "while-loops" ], "difficulty": 6, - "topics": [ - "graph_theory" - ] + "topics": ["graph_theory"] }, { "slug": "say", @@ -1659,11 +1224,7 @@ "name": "Diamond", "uuid": "6a1eee0e-f8d4-446d-9c52-f31c3700af1b", "practices": [], - "prerequisites": [ - "arrays", - "for-loops", - "strings" - ], + "prerequisites": ["arrays", "for-loops", "strings"], "difficulty": 5, "topics": [ "arrays", @@ -1689,11 +1250,7 @@ "while-loops" ], "difficulty": 5, - "topics": [ - "algorithms", - "floating_point_numbers", - "math" - ] + "topics": ["algorithms", "floating_point_numbers", "math"] }, { "slug": "sublist", @@ -1707,28 +1264,16 @@ "conditionals" ], "difficulty": 4, - "topics": [ - "arrays", - "lists" - ] + "topics": ["arrays", "lists"] }, { "slug": "binary-search-tree", "name": "Binary Search Tree", "uuid": "6c4b4e25-c115-4789-9058-d28ab6ca0d26", "practices": [], - "prerequisites": [ - "classes", - "conditionals", - "recursion" - ], + "prerequisites": ["classes", "conditionals", "recursion"], "difficulty": 6, - "topics": [ - "algorithms", - "conditionals", - "loops", - "recursion" - ] + "topics": ["algorithms", "conditionals", "loops", "recursion"] }, { "slug": "custom-set", @@ -1768,13 +1313,7 @@ "while-loops" ], "difficulty": 7, - "topics": [ - "algorithms", - "arrays", - "conditionals", - "loops", - "recursion" - ] + "topics": ["algorithms", "arrays", "conditionals", "loops", "recursion"] }, { "slug": "circular-buffer", @@ -1803,30 +1342,16 @@ "name": "Simple Linked List", "uuid": "a1591026-2f02-45f9-b189-24b2359eb43f", "practices": [], - "prerequisites": [ - "arrays", - "classes", - "conditionals", - "for-loops" - ], + "prerequisites": ["arrays", "classes", "conditionals", "for-loops"], "difficulty": 8, - "topics": [ - "arrays", - "data_structures", - "lists" - ] + "topics": ["arrays", "data_structures", "lists"] }, { "slug": "word-search", "name": "Word Search", "uuid": "0125f5a7-8883-4553-a6c1-45f19544af5e", "practices": [], - "prerequisites": [ - "arrays", - "array-loops", - "classes", - "conditionals" - ], + "prerequisites": ["arrays", "array-loops", "classes", "conditionals"], "difficulty": 8, "topics": [ "arrays", @@ -1852,10 +1377,7 @@ "rest-and-spread" ], "difficulty": 5, - "topics": [ - "bitwise_operations", - "transforming" - ] + "topics": ["bitwise_operations", "transforming"] }, { "slug": "two-bucket", @@ -1897,10 +1419,7 @@ "rest-and-spread" ], "difficulty": 7, - "topics": [ - "algorithms", - "games" - ] + "topics": ["algorithms", "games"] }, { "slug": "connect", @@ -1968,12 +1487,7 @@ "prerequisites": [], "difficulty": 5, "status": "deprecated", - "topics": [ - "algorithms", - "callbacks", - "loops", - "lists" - ] + "topics": ["algorithms", "callbacks", "loops", "lists"] }, { "slug": "flatten-array", @@ -1982,10 +1496,7 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": [ - "arrays", - "recursion" - ] + "topics": ["arrays", "recursion"] }, { "slug": "nth-prime", @@ -2010,13 +1521,7 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": [ - "conditionals", - "loops", - "integers", - "math", - "recursion" - ] + "topics": ["conditionals", "loops", "integers", "math", "recursion"] }, { "slug": "rotational-cipher", @@ -2025,12 +1530,7 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": [ - "conditionals", - "strings", - "text_formatting", - "transforming" - ] + "topics": ["conditionals", "strings", "text_formatting", "transforming"] }, { "slug": "diffie-hellman", @@ -2055,12 +1555,7 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": [ - "algorithms", - "arrays", - "filtering", - "math" - ] + "topics": ["algorithms", "arrays", "filtering", "math"] }, { "slug": "atbash-cipher", @@ -2117,12 +1612,7 @@ "name": "Kindergarten Garden", "uuid": "13444eff-005a-405e-9737-7b64d99c1a61", "practices": [], - "prerequisites": [ - "arrays", - "classes", - "strings", - "rest-and-spread" - ], + "prerequisites": ["arrays", "classes", "strings", "rest-and-spread"], "difficulty": 7, "topics": [ "arrays", @@ -2139,13 +1629,7 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": [ - "conditionals", - "loops", - "integers", - "lists", - "math" - ] + "topics": ["conditionals", "loops", "integers", "lists", "math"] }, { "slug": "change", @@ -2154,11 +1638,7 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": [ - "algorithms", - "performance", - "searching" - ] + "topics": ["algorithms", "performance", "searching"] }, { "slug": "point-mutations", @@ -2176,12 +1656,7 @@ "practices": [], "prerequisites": [], "difficulty": 1, - "topics": [ - "algorithms", - "conditionals", - "loops", - "strings" - ] + "topics": ["algorithms", "conditionals", "loops", "strings"] }, { "slug": "armstrong-numbers", @@ -2190,10 +1665,7 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": [ - "algorithms", - "math" - ] + "topics": ["algorithms", "math"] }, { "slug": "dnd-character", @@ -2202,10 +1674,7 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": [ - "classes", - "randomness" - ] + "topics": ["classes", "randomness"] }, { "slug": "run-length-encoding", @@ -2305,12 +1774,7 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": [ - "bitwise_operations", - "algorithms", - "loops", - "math" - ] + "topics": ["bitwise_operations", "algorithms", "loops", "math"] }, { "slug": "trinary", @@ -2352,11 +1816,7 @@ "practices": [], "prerequisites": [], "difficulty": 7, - "topics": [ - "algorithms", - "arrays", - "games" - ] + "topics": ["algorithms", "arrays", "games"] }, { "slug": "queen-attack", @@ -2382,11 +1842,7 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": [ - "algorithms", - "events", - "reactive_programming" - ] + "topics": ["algorithms", "events", "reactive_programming"] }, { "slug": "zipper", @@ -2395,80 +1851,43 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": [ - "recursion", - "searching", - "trees" - ] + "topics": ["recursion", "searching", "trees"] }, { "slug": "zebra-puzzle", "name": "Zebra Puzzle", "uuid": "3a34cb49-546f-4aae-b49e-7d5b25db7ebb", "practices": [], - "prerequisites": [ - "arrays", - "classes", - "for-loops", - "maps" - ], + "prerequisites": ["arrays", "classes", "for-loops", "maps"], "difficulty": 7, - "topics": [ - "algorithms", - "logic" - ] + "topics": ["algorithms", "logic"] }, { "slug": "tournament", "name": "Tournament", "uuid": "e5e5363d-4e9a-478f-8b18-e578f3721ac5", "practices": [], - "prerequisites": [ - "arrays", - "strings", - "for-loops", - "objects" - ], + "prerequisites": ["arrays", "strings", "for-loops", "objects"], "difficulty": 3, - "topics": [ - "parsing", - "strings" - ] + "topics": ["parsing", "strings"] }, { "slug": "rail-fence-cipher", "name": "Rail Fence Cipher", "uuid": "5f0352e5-0988-434a-82c7-f6810d41d63a", "practices": [], - "prerequisites": [ - "arrays", - "strings", - "for-loops", - "conditionals" - ], + "prerequisites": ["arrays", "strings", "for-loops", "conditionals"], "difficulty": 3, - "topics": [ - "parsing", - "strings", - "iteration" - ] + "topics": ["parsing", "strings", "iteration"] }, { "slug": "rest-api", "name": "REST API", "uuid": "75b4816d-a5d7-4840-92d6-7249c9e8beeb", "practices": [], - "prerequisites": [ - "arrays", - "classes", - "array-loops", - "objects" - ], + "prerequisites": ["arrays", "classes", "array-loops", "objects"], "difficulty": 6, - "topics": [ - "algorithms", - "logic" - ] + "topics": ["algorithms", "logic"] }, { "slug": "go-counting", @@ -2484,10 +1903,7 @@ "conditionals-switch" ], "difficulty": 5, - "topics": [ - "algorithms", - "logic" - ] + "topics": ["algorithms", "logic"] }, { "slug": "knapsack", @@ -2502,10 +1918,7 @@ "conditionals" ], "difficulty": 5, - "topics": [ - "algorithms", - "logic" - ] + "topics": ["algorithms", "logic"] }, { "slug": "satellite", diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 813124f246..a32eab521c 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -53,8 +53,7 @@ The version should match the one on the website. > Any open terminal windows might not have been refreshed after the installation completed. > This means that the open terminals don't know that a new program was installed. -> [!IMPORTANT] -> _**Help**_: `'node' is not recognised` +> [!IMPORTANT] > _**Help**_: `'node' is not recognised` > > If you've used the official installer, your `PATH` should have been automatically configured, but if your shell has trouble locating your globally installed modules — or if you build Node.js from source — update your `PATH` to include the `npm` binaries. > @@ -88,8 +87,7 @@ They can be installed running this command within each assignment directory: npm install ``` -> [!IMPORTANT] -> _**Help**_: `'' is missing / cannot be found` +> [!IMPORTANT] > _**Help**_: `'' is missing / cannot be found` > > If you see this after _upgrading_ your exercise, welcome to npm 7. > Delete `node_modules` and `package-lock.json` and re-run the command to resolve this. diff --git a/reference/info/concurrency.md b/reference/info/concurrency.md index b656843b76..f7bf218494 100644 --- a/reference/info/concurrency.md +++ b/reference/info/concurrency.md @@ -2,9 +2,7 @@ > [!NOTE] > When people hear the word _concurrency_ they often think of _parallelism_, a related but quite distinct concept.
-> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
-> _simultaneous execution_ of (possibly related) computations.
-> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism) +> In programming, concurrency is the _composition_ of independently executing processes, while parallelism is the
> _simultaneous execution_ of (possibly related) computations.
> [Concurrency is not parallelism](https://blog.golang.org/concurrency-is-not-parallelism) See also [Event loop][concept-event-loop]. diff --git a/reference/info/event_loop.md b/reference/info/event_loop.md index 31cfc60706..074d7a99b4 100644 --- a/reference/info/event_loop.md +++ b/reference/info/event_loop.md @@ -1,7 +1,6 @@ # Event loop -> [!NOTE] -> [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java. +> [!NOTE] > [JavaScript][language-javascript] has a concurrency model based on an event loop, which is responsible for executing the code, collecting and processing events, and executing queued sub-tasks. This model is quite different from models in other languages like [C][language-c] and Java. [language-c]: https://github.com/exercism/v3/blob/main/c/README.md [language-javascript]: ../../README.md From f9ccfa0de6ff5378ac4f34a6e2ec4f71365e138a Mon Sep 17 00:00:00 2001 From: Derk-Jan Karrenbeld Date: Fri, 2 Feb 2024 18:35:03 +0100 Subject: [PATCH 10/10] Reformat using configlet fmt -uy --- config.json | 907 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 747 insertions(+), 160 deletions(-) diff --git a/config.json b/config.json index 5a8ed1dbf5..3ea223a2c7 100644 --- a/config.json +++ b/config.json @@ -19,10 +19,18 @@ "average_run_time": 5 }, "files": { - "solution": ["%{kebab_slug}.js"], - "test": ["%{kebab_slug}.spec.js"], - "example": [".meta/proof.ci.js"], - "exemplar": [".meta/exemplar.js"] + "solution": [ + "%{kebab_slug}.js" + ], + "test": [ + "%{kebab_slug}.spec.js" + ], + "example": [ + ".meta/proof.ci.js" + ], + "exemplar": [ + ".meta/exemplar.js" + ] }, "exercises": { "concept": [ @@ -30,7 +38,9 @@ "slug": "lasagna", "name": "Lucian's Luscious Lasagna", "uuid": "97bf898a-36fc-47fc-b870-01fc0c7fe554", - "concepts": ["basics"], + "concepts": [ + "basics" + ], "prerequisites": [], "status": "active" }, @@ -38,63 +48,103 @@ "slug": "annalyns-infiltration", "name": "Annalyn's Infiltration", "uuid": "5acafcbb-20a0-45b9-b276-3d167e0de313", - "concepts": ["booleans"], - "prerequisites": ["basics"], + "concepts": [ + "booleans" + ], + "prerequisites": [ + "basics" + ], "status": "beta" }, { "slug": "freelancer-rates", "name": "Freelancer Rates", "uuid": "0aff2fa7-55ea-47e9-af4a-78927d916baf", - "concepts": ["numbers", "arithmetic-operators"], - "prerequisites": ["basics"], + "concepts": [ + "numbers", + "arithmetic-operators" + ], + "prerequisites": [ + "basics" + ], "status": "beta" }, { "slug": "poetry-club-door-policy", "name": "Poetry Club Door Policy", "uuid": "39549583-1889-490a-bf98-ffb2e0aefe44", - "concepts": ["strings"], - "prerequisites": ["basics"], + "concepts": [ + "strings" + ], + "prerequisites": [ + "basics" + ], "status": "beta" }, { "slug": "elyses-enchantments", "name": "Elyses Enchantments", "uuid": "25cb0707-44f8-4800-b993-3fcb2b6d9f61", - "concepts": ["arrays"], - "prerequisites": ["numbers"], + "concepts": [ + "arrays" + ], + "prerequisites": [ + "numbers" + ], "status": "beta" }, { "slug": "vehicle-purchase", "name": "Vehicle Purchase", "uuid": "f75a7e2c-053a-411e-8b3d-f978a2c5100e", - "concepts": ["comparison", "conditionals"], - "prerequisites": ["booleans", "numbers", "strings"], + "concepts": [ + "comparison", + "conditionals" + ], + "prerequisites": [ + "booleans", + "numbers", + "strings" + ], "status": "beta" }, { "slug": "bird-watcher", "name": "Bird Watcher", "uuid": "3e648aa0-9ce7-4041-93d2-2b95f3832824", - "concepts": ["increment-decrement", "for-loops"], - "prerequisites": ["arrays", "comparison", "conditionals"], + "concepts": [ + "increment-decrement", + "for-loops" + ], + "prerequisites": [ + "arrays", + "comparison", + "conditionals" + ], "status": "beta" }, { "slug": "mixed-juices", "name": "Mixed Juices", "uuid": "81c3fb86-af86-4c56-a45f-e021403c4070", - "concepts": ["while-loops", "conditionals-switch"], - "prerequisites": ["comparison", "conditionals", "arrays"], + "concepts": [ + "while-loops", + "conditionals-switch" + ], + "prerequisites": [ + "comparison", + "conditionals", + "arrays" + ], "status": "beta" }, { "slug": "lucky-numbers", "name": "Lucky Numbers", "uuid": "78bbd7d2-b660-4791-a404-af5bfed31849", - "concepts": ["type-conversion"], + "concepts": [ + "type-conversion" + ], "prerequisites": [ "booleans", "strings", @@ -108,23 +158,40 @@ "slug": "elyses-analytic-enchantments", "name": "Elyses Analytic Enchantments", "uuid": "45d956db-d4ef-4468-b1d3-47021f172c15", - "concepts": ["arrow-functions", "array-analysis"], - "prerequisites": ["arrays", "booleans", "callbacks", "numbers"], + "concepts": [ + "arrow-functions", + "array-analysis" + ], + "prerequisites": [ + "arrays", + "booleans", + "callbacks", + "numbers" + ], "status": "beta" }, { "slug": "elyses-destructured-enchantments", "name": "Elyses Destructured Enchantments", "uuid": "d9b5cd13-2f2b-4034-a571-e66c847ed6f8", - "concepts": ["array-destructuring", "rest-and-spread"], - "prerequisites": ["arrays", "functions", "objects"], + "concepts": [ + "array-destructuring", + "rest-and-spread" + ], + "prerequisites": [ + "arrays", + "functions", + "objects" + ], "status": "beta" }, { "slug": "elyses-looping-enchantments", "name": "Elyses Looping Enchantments", "uuid": "e06f8f70-019f-4cec-924b-3971414e15d9", - "concepts": ["array-loops"], + "concepts": [ + "array-loops" + ], "prerequisites": [ "arrays", "arrow-functions", @@ -146,15 +213,21 @@ "slug": "amusement-park", "name": "Amusement Park", "uuid": "2d40b46b-9e49-431c-913c-81d1f42f74df", - "concepts": ["null-undefined"], - "prerequisites": ["objects"], + "concepts": [ + "null-undefined" + ], + "prerequisites": [ + "objects" + ], "status": "beta" }, { "slug": "pizza-order", "name": "Pizza Order", "uuid": "e9a9fa73-4497-43d5-a4ff-4eb319c98233", - "concepts": ["recursion"], + "concepts": [ + "recursion" + ], "prerequisites": [ "functions", "rest-and-spread", @@ -167,39 +240,61 @@ "slug": "coordinate-transformation", "name": "Coordinate Transformation", "uuid": "5aa39e89-c601-4a66-ab72-5d8512d69e02", - "concepts": ["closures"], - "prerequisites": ["arrays", "functions"], + "concepts": [ + "closures" + ], + "prerequisites": [ + "arrays", + "functions" + ], "status": "beta" }, { "slug": "fruit-picker", "name": "Fruit Picker", "uuid": "a6348db8-cc2b-4c53-9f43-3c23248d66f0", - "concepts": ["callbacks"], - "prerequisites": ["functions", "objects"], + "concepts": [ + "callbacks" + ], + "prerequisites": [ + "functions", + "objects" + ], "status": "beta" }, { "slug": "translation-service", "name": "Translation Service", "uuid": "4a967656-8615-474e-a009-5c0b09f4386f", - "concepts": ["promises"], - "prerequisites": ["callbacks", "arrow-functions", "errors"], + "concepts": [ + "promises" + ], + "prerequisites": [ + "callbacks", + "arrow-functions", + "errors" + ], "status": "beta" }, { "slug": "high-score-board", "name": "High Score Board", "uuid": "431d1f13-d280-4808-bbc6-a72e628c15c2", - "concepts": ["objects"], - "prerequisites": ["for-loops"], + "concepts": [ + "objects" + ], + "prerequisites": [ + "for-loops" + ], "status": "beta" }, { "slug": "ozans-playlist", "name": "Ozan's Playlist", "uuid": "347692fb-7b0f-4ef0-9a02-2192b59bdf5d", - "concepts": ["sets"], + "concepts": [ + "sets" + ], "prerequisites": [ "array-destructuring", "array-loops", @@ -214,23 +309,38 @@ "slug": "lasagna-master", "name": "Lasagna Master", "uuid": "a7e323f1-84d8-43d5-8c26-cc119166b9fd", - "concepts": ["functions"], - "prerequisites": ["objects", "arrays", "null-undefined"], + "concepts": [ + "functions" + ], + "prerequisites": [ + "objects", + "arrays", + "null-undefined" + ], "status": "beta" }, { "slug": "factory-sensors", "name": "Factory Sensors", "uuid": "2ccafa38-2802-44c1-8758-7415edefa909", - "concepts": ["errors", "inheritance"], - "prerequisites": ["classes", "null-undefined", "conditionals"], + "concepts": [ + "errors", + "inheritance" + ], + "prerequisites": [ + "classes", + "null-undefined", + "conditionals" + ], "status": "beta" }, { "slug": "elyses-transformative-enchantments", "name": "Elyses Transformative Enchantments", "uuid": "6e156d67-2bd2-4624-956d-ddcc3795bad5", - "concepts": ["array-transformations"], + "concepts": [ + "array-transformations" + ], "prerequisites": [ "arrow-functions", "numbers", @@ -244,24 +354,44 @@ "slug": "custom-signs", "name": "Custom Signs", "uuid": "02a9c753-614f-4814-a7a8-43c1971d2eb7", - "concepts": ["conditionals-ternary", "template-strings"], - "prerequisites": ["strings", "conditionals", "type-conversion"], + "concepts": [ + "conditionals-ternary", + "template-strings" + ], + "prerequisites": [ + "strings", + "conditionals", + "type-conversion" + ], "status": "beta" }, { "slug": "windowing-system", "name": "Windowing System", "uuid": "d697850e-fd43-408c-a958-835aa8a510f7", - "concepts": ["classes"], - "prerequisites": ["objects", "functions", "conditionals-ternary"], + "concepts": [ + "classes" + ], + "prerequisites": [ + "objects", + "functions", + "conditionals-ternary" + ], "status": "beta" }, { "slug": "regular-chatbot", "name": "Regular Chatbot", "uuid": "dc118a0d-be89-4ea5-a814-e471897d921a", - "concepts": ["regular-expressions"], - "prerequisites": ["arrays", "classes", "objects", "template-strings"], + "concepts": [ + "regular-expressions" + ], + "prerequisites": [ + "arrays", + "classes", + "objects", + "template-strings" + ], "status": "beta" } ], @@ -285,61 +415,101 @@ "name": "Two Fer", "uuid": "7f49e997-4435-4f34-a020-bddc92c838ed", "practices": [], - "prerequisites": ["strings", "functions"], + "prerequisites": [ + "strings", + "functions" + ], "difficulty": 1, - "topics": ["optional_values", "strings", "text_formatting"] + "topics": [ + "optional_values", + "strings", + "text_formatting" + ] }, { "slug": "resistor-color", "name": "Resistor Color", "uuid": "53be6837-c224-45f1-bff3-d7f74d6285ce", "practices": [], - "prerequisites": ["arrays", "array-analysis"], + "prerequisites": [ + "arrays", + "array-analysis" + ], "difficulty": 1, - "topics": ["arrays", "strings"] + "topics": [ + "arrays", + "strings" + ] }, { "slug": "resistor-color-duo", "name": "Resistor Color Duo", "uuid": "de800041-3dcc-41b9-b101-7314ff685c93", "practices": [], - "prerequisites": ["array-analysis"], + "prerequisites": [ + "array-analysis" + ], "difficulty": 2, - "topics": ["strings", "arrays"] + "topics": [ + "strings", + "arrays" + ] }, { "slug": "gigasecond", "name": "Gigasecond", "uuid": "fd7b62d4-266b-4e84-a526-bf3d47901216", "practices": [], - "prerequisites": ["dates", "numbers", "arithmetic-operators"], + "prerequisites": [ + "dates", + "numbers", + "arithmetic-operators" + ], "difficulty": 1, - "topics": ["time"] + "topics": [ + "time" + ] }, { "slug": "rna-transcription", "name": "RNA Transcription", "uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5", "practices": [], - "prerequisites": ["strings", "array-transformations", "objects"], + "prerequisites": [ + "strings", + "array-transformations", + "objects" + ], "difficulty": 2, - "topics": ["strings", "transforming"] + "topics": [ + "strings", + "transforming" + ] }, { "slug": "space-age", "name": "Space Age", "uuid": "d9d757ed-ebe6-4d4a-aa73-f6834221cd54", "practices": [], - "prerequisites": ["objects", "numbers", "type-conversion"], + "prerequisites": [ + "objects", + "numbers", + "type-conversion" + ], "difficulty": 2, - "topics": ["floating_point_numbers"] + "topics": [ + "floating_point_numbers" + ] }, { "slug": "pangram", "name": "Pangram", "uuid": "da5b2b34-a1a7-4970-81f9-4665d875398b", "practices": [], - "prerequisites": ["strings", "array-analysis"], + "prerequisites": [ + "strings", + "array-analysis" + ], "difficulty": 2, "topics": [ "algorithms", @@ -376,7 +546,11 @@ "name": "Bob", "uuid": "a5bf36f0-5d3c-41d4-8d54-e37e484e59cd", "practices": [], - "prerequisites": ["strings", "conditionals", "regular-expressions"], + "prerequisites": [ + "strings", + "conditionals", + "regular-expressions" + ], "difficulty": 4, "topics": [ "conditionals", @@ -399,14 +573,23 @@ "functions" ], "difficulty": 5, - "topics": ["algorithms", "conditionals", "loops", "lists", "sorting"] + "topics": [ + "algorithms", + "conditionals", + "loops", + "lists", + "sorting" + ] }, { "slug": "pascals-triangle", "name": "Pascal's Triangle", "uuid": "99493160-4673-402f-acda-62db5378148d", "practices": [], - "prerequisites": ["arrays", "for-loops"], + "prerequisites": [ + "arrays", + "for-loops" + ], "difficulty": 4, "topics": [ "conditionals", @@ -421,7 +604,11 @@ "name": "Linked List", "uuid": "ec60a578-8889-46a1-b7b8-306dbd8551d5", "practices": [], - "prerequisites": ["classes", "conditionals", "while-loops"], + "prerequisites": [ + "classes", + "conditionals", + "while-loops" + ], "difficulty": 5, "topics": [ "algorithms", @@ -438,18 +625,36 @@ "name": "Grade School", "uuid": "64637322-33bc-401f-8cec-1f9810a41f75", "practices": [], - "prerequisites": ["classes", "objects", "array-transformations"], + "prerequisites": [ + "classes", + "objects", + "array-transformations" + ], "difficulty": 5, - "topics": ["arrays", "maps", "sorting"] + "topics": [ + "arrays", + "maps", + "sorting" + ] }, { "slug": "list-ops", "name": "List Ops", "uuid": "7d9db056-5398-41b6-af3b-9707f5eb0dbc", "practices": [], - "prerequisites": ["classes", "arrays", "functions", "recursion"], + "prerequisites": [ + "classes", + "arrays", + "functions", + "recursion" + ], "difficulty": 6, - "topics": ["data_structures", "loops", "lists", "recursion"] + "topics": [ + "data_structures", + "loops", + "lists", + "recursion" + ] }, { "slug": "robot-name", @@ -524,7 +729,11 @@ "name": "Secret Handshake", "uuid": "74bbc9e3-edc5-41e0-84d7-5b2d98dd8370", "practices": [], - "prerequisites": ["bit-manipulation", "array-analysis", "errors"], + "prerequisites": [ + "bit-manipulation", + "array-analysis", + "errors" + ], "difficulty": 6, "topics": [ "algorithms", @@ -540,18 +749,31 @@ "name": "Leap", "uuid": "193a0e19-462d-4d26-a117-124f07d5a3d7", "practices": [], - "prerequisites": ["arithmetic-operators", "booleans"], + "prerequisites": [ + "arithmetic-operators", + "booleans" + ], "difficulty": 1, - "topics": ["booleans", "integers", "logic"] + "topics": [ + "booleans", + "integers", + "logic" + ] }, { "slug": "reverse-string", "name": "Reverse String", "uuid": "e84c97eb-dbec-487c-b99f-ae9924e16293", "practices": [], - "prerequisites": ["strings", "array-transformations"], + "prerequisites": [ + "strings", + "array-transformations" + ], "difficulty": 2, - "topics": ["loops", "strings"] + "topics": [ + "loops", + "strings" + ] }, { "slug": "collatz-conjecture", @@ -580,9 +802,19 @@ "name": "Triangle", "uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f", "practices": [], - "prerequisites": ["numbers", "booleans", "comparison", "classes"], + "prerequisites": [ + "numbers", + "booleans", + "comparison", + "classes" + ], "difficulty": 3, - "topics": ["conditionals", "loops", "exception_handling", "integers"] + "topics": [ + "conditionals", + "loops", + "exception_handling", + "integers" + ] }, { "slug": "clock", @@ -596,14 +828,22 @@ "strings" ], "difficulty": 5, - "topics": ["dates", "globalization", "time"] + "topics": [ + "dates", + "globalization", + "time" + ] }, { "slug": "meetup", "name": "Meetup", "uuid": "98617798-b49d-4d43-9f65-7131ee73d626", "practices": [], - "prerequisites": ["dates", "array-analysis", "conditionals-switch"], + "prerequisites": [ + "dates", + "array-analysis", + "conditionals-switch" + ], "difficulty": 7, "topics": [ "conditionals", @@ -619,27 +859,55 @@ "name": "ETL", "uuid": "db16804b-0f63-445d-8beb-99e0f7218d66", "practices": [], - "prerequisites": ["objects", "array-loops", "arrays", "strings"], + "prerequisites": [ + "objects", + "array-loops", + "arrays", + "strings" + ], "difficulty": 2, - "topics": ["loops", "integers", "maps", "transforming"] + "topics": [ + "loops", + "integers", + "maps", + "transforming" + ] }, { "slug": "hamming", "name": "Hamming", "uuid": "d773c4ef-c09e-40e4-a7fe-01456cb4a12a", "practices": [], - "prerequisites": ["comparison", "errors", "for-loops"], + "prerequisites": [ + "comparison", + "errors", + "for-loops" + ], "difficulty": 2, - "topics": ["conditionals", "loops", "equality", "strings"] + "topics": [ + "conditionals", + "loops", + "equality", + "strings" + ] }, { "slug": "raindrops", "name": "Raindrops", "uuid": "f77ac2d1-cf3a-497d-bf04-b484a5a9cb37", "practices": [], - "prerequisites": ["arithmetic-operators", "strings", "conditionals"], + "prerequisites": [ + "arithmetic-operators", + "strings", + "conditionals" + ], "difficulty": 2, - "topics": ["conditionals", "integers", "strings", "transforming"] + "topics": [ + "conditionals", + "integers", + "strings", + "transforming" + ] }, { "slug": "nucleotide-count", @@ -666,18 +934,37 @@ "name": "Scrabble Score", "uuid": "11771d47-1109-4579-a62b-e0b8e9583485", "practices": [], - "prerequisites": ["strings", "array-transformations"], + "prerequisites": [ + "strings", + "array-transformations" + ], "difficulty": 5, - "topics": ["conditionals", "loops", "maps", "strings"] + "topics": [ + "conditionals", + "loops", + "maps", + "strings" + ] }, { "slug": "allergies", "name": "Allergies", "uuid": "9d33d21c-e695-427f-9f58-dd9498d61318", "practices": [], - "prerequisites": ["classes", "math", "numbers", "for-loops", "arrays"], + "prerequisites": [ + "classes", + "math", + "numbers", + "for-loops", + "arrays" + ], "difficulty": 6, - "topics": ["arrays", "bitwise_operations", "conditionals", "loops"] + "topics": [ + "arrays", + "bitwise_operations", + "conditionals", + "loops" + ] }, { "slug": "word-count", @@ -692,25 +979,45 @@ "objects" ], "difficulty": 4, - "topics": ["loops", "lists", "regular_expressions", "strings"] + "topics": [ + "loops", + "lists", + "regular_expressions", + "strings" + ] }, { "slug": "bank-account", "name": "Bank Account", "uuid": "8beedf70-28b4-4cfb-ab53-309ee6f6aa78", "practices": [], - "prerequisites": ["classes", "conditionals", "numbers"], + "prerequisites": [ + "classes", + "conditionals", + "numbers" + ], "difficulty": 3, - "topics": ["classes", "conditionals"] + "topics": [ + "classes", + "conditionals" + ] }, { "slug": "difference-of-squares", "name": "Difference of Squares", "uuid": "7dfa878c-83a6-48ef-9170-b6633d51d601", "practices": [], - "prerequisites": ["classes", "for-loops"], + "prerequisites": [ + "classes", + "for-loops" + ], "difficulty": 3, - "topics": ["algorithms", "loops", "integers", "math"] + "topics": [ + "algorithms", + "loops", + "integers", + "math" + ] }, { "slug": "perfect-numbers", @@ -725,43 +1032,82 @@ "for-loops" ], "difficulty": 3, - "topics": ["arrays", "conditionals", "loops", "integers", "math"] + "topics": [ + "arrays", + "conditionals", + "loops", + "integers", + "math" + ] }, { "slug": "complex-numbers", "name": "Complex Numbers", "uuid": "ea9a9a3e-ae6a-470d-8bb4-2afead507f24", "practices": [], - "prerequisites": ["classes", "numbers", "math"], + "prerequisites": [ + "classes", + "numbers", + "math" + ], "difficulty": 4, - "topics": ["math"] + "topics": [ + "math" + ] }, { "slug": "luhn", "name": "Luhn", "uuid": "28872cc9-f1ef-487f-9a79-6bf7983148bf", "practices": [], - "prerequisites": ["numbers", "conditionals", "array-transformations"], + "prerequisites": [ + "numbers", + "conditionals", + "array-transformations" + ], "difficulty": 4, - "topics": ["conditionals", "loops", "integers", "strings"] + "topics": [ + "conditionals", + "loops", + "integers", + "strings" + ] }, { "slug": "prime-factors", "name": "Prime Factors", "uuid": "f43cdddf-eea8-4c4a-8359-c69e20ff9661", "practices": [], - "prerequisites": ["while-loops", "conditionals", "arrays"], + "prerequisites": [ + "while-loops", + "conditionals", + "arrays" + ], "difficulty": 4, - "topics": ["algorithms", "conditionals", "loops", "integers", "math"] + "topics": [ + "algorithms", + "conditionals", + "loops", + "integers", + "math" + ] }, { "slug": "grains", "name": "Grains", "uuid": "d003975a-9045-4f03-9ad9-c15db584dc13", "practices": [], - "prerequisites": ["conditionals", "errors", "numbers", "math"], + "prerequisites": [ + "conditionals", + "errors", + "numbers", + "math" + ], "difficulty": 5, - "topics": ["loops", "integers"] + "topics": [ + "loops", + "integers" + ] }, { "slug": "pythagorean-triplet", @@ -777,7 +1123,13 @@ "conditionals" ], "difficulty": 5, - "topics": ["algorithms", "conditionals", "loops", "integers", "math"] + "topics": [ + "algorithms", + "conditionals", + "loops", + "integers", + "math" + ] }, { "slug": "palindrome-products", @@ -816,7 +1168,10 @@ "comparison" ], "difficulty": 1, - "topics": ["filtering", "strings"] + "topics": [ + "filtering", + "strings" + ] }, { "slug": "acronym", @@ -829,7 +1184,12 @@ "array-transformations" ], "difficulty": 2, - "topics": ["loops", "regular_expressions", "strings", "transforming"] + "topics": [ + "loops", + "regular_expressions", + "strings", + "transforming" + ] }, { "slug": "high-scores", @@ -843,16 +1203,25 @@ "classes" ], "difficulty": 2, - "topics": ["arrays"] + "topics": [ + "arrays" + ] }, { "slug": "isogram", "name": "Isogram", "uuid": "3df577af-2854-40ee-b211-9b608dbbad58", "practices": [], - "prerequisites": ["strings", "arrays", "regular-expressions"], + "prerequisites": [ + "strings", + "arrays", + "regular-expressions" + ], "difficulty": 2, - "topics": ["filtering", "strings"] + "topics": [ + "filtering", + "strings" + ] }, { "slug": "matching-brackets", @@ -886,7 +1255,10 @@ "regular-expressions" ], "difficulty": 3, - "topics": ["parsing", "transforming"] + "topics": [ + "parsing", + "transforming" + ] }, { "slug": "scale-generator", @@ -900,7 +1272,12 @@ "array-transformations" ], "difficulty": 3, - "topics": ["loops", "pattern_recognition", "strings", "arrays"] + "topics": [ + "loops", + "pattern_recognition", + "strings", + "arrays" + ] }, { "slug": "series", @@ -916,7 +1293,12 @@ "array-transformations" ], "difficulty": 3, - "topics": ["loops", "exception_handling", "strings", "text_formatting"] + "topics": [ + "loops", + "exception_handling", + "strings", + "text_formatting" + ] }, { "slug": "largest-series-product", @@ -946,7 +1328,12 @@ "name": "Transpose", "uuid": "9c140fb7-cc8b-411b-b613-a0e0081a9c3f", "practices": [], - "prerequisites": ["arrays", "for-loops", "strings", "conditionals"], + "prerequisites": [ + "arrays", + "for-loops", + "strings", + "conditionals" + ], "difficulty": 3, "topics": [ "arrays", @@ -970,7 +1357,11 @@ "template-strings" ], "difficulty": 4, - "topics": ["files", "searching", "text_formatting"] + "topics": [ + "files", + "searching", + "text_formatting" + ] }, { "slug": "rectangles", @@ -979,14 +1370,24 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": ["arrays", "conditionals", "loops", "matrices", "strings"] + "topics": [ + "arrays", + "conditionals", + "loops", + "matrices", + "strings" + ] }, { "slug": "spiral-matrix", "name": "Spiral Matrix", "uuid": "c1abafcc-0d44-4fb5-afae-bff3ce2e1b39", "practices": [], - "prerequisites": ["arrays", "for-loops", "conditionals"], + "prerequisites": [ + "arrays", + "for-loops", + "conditionals" + ], "difficulty": 4, "topics": [ "arrays", @@ -1038,7 +1439,11 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": ["domain_specific_languages", "parsing", "stacks"] + "topics": [ + "domain_specific_languages", + "parsing", + "stacks" + ] }, { "slug": "food-chain", @@ -1047,14 +1452,21 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": ["algorithms", "text_formatting"] + "topics": [ + "algorithms", + "text_formatting" + ] }, { "slug": "house", "name": "House", "uuid": "a8b7187d-12eb-4efc-b966-87823654ccda", "practices": [], - "prerequisites": ["for-loops", "arrays", "strings"], + "prerequisites": [ + "for-loops", + "arrays", + "strings" + ], "difficulty": 4 }, { @@ -1114,7 +1526,12 @@ "name": "Twelve Days", "uuid": "64de1776-d5c6-43fe-9abf-7e3aa08ae342", "practices": [], - "prerequisites": ["arrays", "conditionals", "for-loops", "strings"], + "prerequisites": [ + "arrays", + "conditionals", + "for-loops", + "strings" + ], "difficulty": 4, "topics": [ "conditionals", @@ -1132,7 +1549,11 @@ "practices": [], "prerequisites": [], "difficulty": 6, - "topics": ["promises", "error_handling", "higher_order_functions"] + "topics": [ + "promises", + "error_handling", + "higher_order_functions" + ] }, { "slug": "yacht", @@ -1147,7 +1568,12 @@ "sets" ], "difficulty": 4, - "topics": ["arrays", "conditionals", "filtering", "games"] + "topics": [ + "arrays", + "conditionals", + "filtering", + "games" + ] }, { "slug": "beer-song", @@ -1161,7 +1587,11 @@ "template-strings" ], "difficulty": 5, - "topics": ["conditionals", "loops", "strings"] + "topics": [ + "conditionals", + "loops", + "strings" + ] }, { "slug": "resistor-color-trio", @@ -1176,7 +1606,10 @@ "template-strings" ], "difficulty": 5, - "topics": ["conditionals", "loops"] + "topics": [ + "conditionals", + "loops" + ] }, { "slug": "dominoes", @@ -1192,7 +1625,9 @@ "while-loops" ], "difficulty": 6, - "topics": ["graph_theory"] + "topics": [ + "graph_theory" + ] }, { "slug": "say", @@ -1224,7 +1659,11 @@ "name": "Diamond", "uuid": "6a1eee0e-f8d4-446d-9c52-f31c3700af1b", "practices": [], - "prerequisites": ["arrays", "for-loops", "strings"], + "prerequisites": [ + "arrays", + "for-loops", + "strings" + ], "difficulty": 5, "topics": [ "arrays", @@ -1250,7 +1689,11 @@ "while-loops" ], "difficulty": 5, - "topics": ["algorithms", "floating_point_numbers", "math"] + "topics": [ + "algorithms", + "floating_point_numbers", + "math" + ] }, { "slug": "sublist", @@ -1264,16 +1707,28 @@ "conditionals" ], "difficulty": 4, - "topics": ["arrays", "lists"] + "topics": [ + "arrays", + "lists" + ] }, { "slug": "binary-search-tree", "name": "Binary Search Tree", "uuid": "6c4b4e25-c115-4789-9058-d28ab6ca0d26", "practices": [], - "prerequisites": ["classes", "conditionals", "recursion"], + "prerequisites": [ + "classes", + "conditionals", + "recursion" + ], "difficulty": 6, - "topics": ["algorithms", "conditionals", "loops", "recursion"] + "topics": [ + "algorithms", + "conditionals", + "loops", + "recursion" + ] }, { "slug": "custom-set", @@ -1313,7 +1768,13 @@ "while-loops" ], "difficulty": 7, - "topics": ["algorithms", "arrays", "conditionals", "loops", "recursion"] + "topics": [ + "algorithms", + "arrays", + "conditionals", + "loops", + "recursion" + ] }, { "slug": "circular-buffer", @@ -1342,16 +1803,30 @@ "name": "Simple Linked List", "uuid": "a1591026-2f02-45f9-b189-24b2359eb43f", "practices": [], - "prerequisites": ["arrays", "classes", "conditionals", "for-loops"], + "prerequisites": [ + "arrays", + "classes", + "conditionals", + "for-loops" + ], "difficulty": 8, - "topics": ["arrays", "data_structures", "lists"] + "topics": [ + "arrays", + "data_structures", + "lists" + ] }, { "slug": "word-search", "name": "Word Search", "uuid": "0125f5a7-8883-4553-a6c1-45f19544af5e", "practices": [], - "prerequisites": ["arrays", "array-loops", "classes", "conditionals"], + "prerequisites": [ + "arrays", + "array-loops", + "classes", + "conditionals" + ], "difficulty": 8, "topics": [ "arrays", @@ -1377,7 +1852,10 @@ "rest-and-spread" ], "difficulty": 5, - "topics": ["bitwise_operations", "transforming"] + "topics": [ + "bitwise_operations", + "transforming" + ] }, { "slug": "two-bucket", @@ -1419,7 +1897,10 @@ "rest-and-spread" ], "difficulty": 7, - "topics": ["algorithms", "games"] + "topics": [ + "algorithms", + "games" + ] }, { "slug": "connect", @@ -1487,7 +1968,12 @@ "prerequisites": [], "difficulty": 5, "status": "deprecated", - "topics": ["algorithms", "callbacks", "loops", "lists"] + "topics": [ + "algorithms", + "callbacks", + "loops", + "lists" + ] }, { "slug": "flatten-array", @@ -1496,7 +1982,10 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": ["arrays", "recursion"] + "topics": [ + "arrays", + "recursion" + ] }, { "slug": "nth-prime", @@ -1521,7 +2010,13 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": ["conditionals", "loops", "integers", "math", "recursion"] + "topics": [ + "conditionals", + "loops", + "integers", + "math", + "recursion" + ] }, { "slug": "rotational-cipher", @@ -1530,7 +2025,12 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": ["conditionals", "strings", "text_formatting", "transforming"] + "topics": [ + "conditionals", + "strings", + "text_formatting", + "transforming" + ] }, { "slug": "diffie-hellman", @@ -1555,7 +2055,12 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": ["algorithms", "arrays", "filtering", "math"] + "topics": [ + "algorithms", + "arrays", + "filtering", + "math" + ] }, { "slug": "atbash-cipher", @@ -1612,7 +2117,12 @@ "name": "Kindergarten Garden", "uuid": "13444eff-005a-405e-9737-7b64d99c1a61", "practices": [], - "prerequisites": ["arrays", "classes", "strings", "rest-and-spread"], + "prerequisites": [ + "arrays", + "classes", + "strings", + "rest-and-spread" + ], "difficulty": 7, "topics": [ "arrays", @@ -1629,7 +2139,13 @@ "practices": [], "prerequisites": [], "difficulty": 5, - "topics": ["conditionals", "loops", "integers", "lists", "math"] + "topics": [ + "conditionals", + "loops", + "integers", + "lists", + "math" + ] }, { "slug": "change", @@ -1638,7 +2154,11 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": ["algorithms", "performance", "searching"] + "topics": [ + "algorithms", + "performance", + "searching" + ] }, { "slug": "point-mutations", @@ -1656,7 +2176,12 @@ "practices": [], "prerequisites": [], "difficulty": 1, - "topics": ["algorithms", "conditionals", "loops", "strings"] + "topics": [ + "algorithms", + "conditionals", + "loops", + "strings" + ] }, { "slug": "armstrong-numbers", @@ -1665,7 +2190,10 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": ["algorithms", "math"] + "topics": [ + "algorithms", + "math" + ] }, { "slug": "dnd-character", @@ -1674,7 +2202,10 @@ "practices": [], "prerequisites": [], "difficulty": 2, - "topics": ["classes", "randomness"] + "topics": [ + "classes", + "randomness" + ] }, { "slug": "run-length-encoding", @@ -1774,7 +2305,12 @@ "practices": [], "prerequisites": [], "difficulty": 4, - "topics": ["bitwise_operations", "algorithms", "loops", "math"] + "topics": [ + "bitwise_operations", + "algorithms", + "loops", + "math" + ] }, { "slug": "trinary", @@ -1816,7 +2352,11 @@ "practices": [], "prerequisites": [], "difficulty": 7, - "topics": ["algorithms", "arrays", "games"] + "topics": [ + "algorithms", + "arrays", + "games" + ] }, { "slug": "queen-attack", @@ -1842,7 +2382,11 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": ["algorithms", "events", "reactive_programming"] + "topics": [ + "algorithms", + "events", + "reactive_programming" + ] }, { "slug": "zipper", @@ -1851,43 +2395,80 @@ "practices": [], "prerequisites": [], "difficulty": 8, - "topics": ["recursion", "searching", "trees"] + "topics": [ + "recursion", + "searching", + "trees" + ] }, { "slug": "zebra-puzzle", "name": "Zebra Puzzle", "uuid": "3a34cb49-546f-4aae-b49e-7d5b25db7ebb", "practices": [], - "prerequisites": ["arrays", "classes", "for-loops", "maps"], + "prerequisites": [ + "arrays", + "classes", + "for-loops", + "maps" + ], "difficulty": 7, - "topics": ["algorithms", "logic"] + "topics": [ + "algorithms", + "logic" + ] }, { "slug": "tournament", "name": "Tournament", "uuid": "e5e5363d-4e9a-478f-8b18-e578f3721ac5", "practices": [], - "prerequisites": ["arrays", "strings", "for-loops", "objects"], + "prerequisites": [ + "arrays", + "strings", + "for-loops", + "objects" + ], "difficulty": 3, - "topics": ["parsing", "strings"] + "topics": [ + "parsing", + "strings" + ] }, { "slug": "rail-fence-cipher", "name": "Rail Fence Cipher", "uuid": "5f0352e5-0988-434a-82c7-f6810d41d63a", "practices": [], - "prerequisites": ["arrays", "strings", "for-loops", "conditionals"], + "prerequisites": [ + "arrays", + "strings", + "for-loops", + "conditionals" + ], "difficulty": 3, - "topics": ["parsing", "strings", "iteration"] + "topics": [ + "parsing", + "strings", + "iteration" + ] }, { "slug": "rest-api", "name": "REST API", "uuid": "75b4816d-a5d7-4840-92d6-7249c9e8beeb", "practices": [], - "prerequisites": ["arrays", "classes", "array-loops", "objects"], + "prerequisites": [ + "arrays", + "classes", + "array-loops", + "objects" + ], "difficulty": 6, - "topics": ["algorithms", "logic"] + "topics": [ + "algorithms", + "logic" + ] }, { "slug": "go-counting", @@ -1903,7 +2484,10 @@ "conditionals-switch" ], "difficulty": 5, - "topics": ["algorithms", "logic"] + "topics": [ + "algorithms", + "logic" + ] }, { "slug": "knapsack", @@ -1918,7 +2502,10 @@ "conditionals" ], "difficulty": 5, - "topics": ["algorithms", "logic"] + "topics": [ + "algorithms", + "logic" + ] }, { "slug": "satellite",