* chore: Switch to Node 20 + Vitest
* chore: migrate to vitest mock functions
* chore: code style (switch to prettier)
* test: re-enable long-running test
Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime!
see #1193
* chore: code style
* chore: fix failing tests
* Updated Documentation in README.md
* Update contribution guidelines to state usage of Prettier
* fix: set prettier printWidth back to 80
* chore: apply updated code style automatically
* fix: set prettier line endings to lf again
* chore: apply updated code style automatically
---------
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
* feat: improved memoize function
used Map instead of object & used the JSON.stringfy method for generate a valid string as a key
* docs: modified documentation
* style: format with standard
* docs: modified stringify doc
* refactor: remove two repetition implementation
* feat: added validation, test codes
* chore: remove useless words
* feat: added types for jest
* chore: added link box
* feat: added new validation test casses & methods
* style: formated with standard
* feat: added parse method & test cases
* docs: added js docs
* chore: added default import export
* feat: imporved algorithm via replace method
* test: added two test cases
* feat: added jest type for suggestions
* feat: added `reduceRight` & `trim` method
* chore: added helper variable
* feat: added new rotation option
* Revert "chore: added helper variable"
This reverts commit 489544da0a.
* remove: yarn lock
* chore: fix grammer
* feat: used replace method & added test case
* feat: remove revert
* chore: added new line
* feat: optimized algo n to n / 2 & replaced test cases
* chore: update node version
* chore: set node version to lts
* chore: updated the node version & added engines prop
* resolve: removed while loop
* chore: added right shift ops comment
* chore: update comment
* chore: removed abs
Co-authored-by: Rak Laptudirm <raklaptudirm@gmail.com>
* Remove QuickSelect doctest
There are more Jest test cases already.
* Remove AverageMedian doctest
Already migrated to jest
* Migrate doctest for BinaryExponentiationRecursive.js
(also remove inline "main" test method)
* Migrate doctest for EulersTotient.js
(also remove inline "main" test method)
* Migrate doctest for PrimeFactors.js
(also remove inline "main" test method)
* Migrate doctest for BogoSort.js
Re-write prototype-polluting helper methods, too.
(also remove inline test driver code)
* Migrate doctest for BeadSort.js
(also remove inline test driver code)
* Migrate doctest for BucketSort.js
(also remove inline test driver code)
* Migrate doctest for CocktailShakerSort.js
(also remove inline test driver code)
* Migrate doctest for MergeSort.js
(also remove inline test driver code)
* Migrate doctest for QuickSort.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
(also remove inline test driver code)
* Migrate doctest for ReverseString.js
* Migrate doctest for ValidateEmail.js
* Migrate doctest for ConwaysGameOfLife.js
(remove the animate code, too)
* Remove TernarySearch doctest
Already migrated to jest
* Migrate doctest for BubbleSort.js
(also remove inline test driver code)
* Remove doctest from CI and from dependencies
relates to #742fixes#586
* Migrate doctest for RgbHsvConversion.js
* Add --fix option to "standard" npm script
* Migrate doctest for BreadthFirstSearch.js
(also remove inline test driver code)
* Migrate doctest for BreadthFirstShortestPath.js
(also remove inline test driver code)
* Migrate doctest for EulerMethod.js
(also remove inline test driver code)
Move manual test-code for plotting stuff in the browser in a distinct file, too. Those "*.manual-test.js" files are excluded from the UpdateDirectory.mjs script, as well.
* Migrate doctest for Mandelbrot.js
(also remove inline test driver code & moved manual drawing test into a *.manual-test.js)
* Migrate doctest for FloodFill.js
* Migrate doctest for KochSnowflake.js
(also move manual drawing test into a *.manual-test.js)
* Update npm lockfile
* Update README and COMMITTING with a few bits & bobs regarding testing & code quality
Uses globby to find all algorithm files. This is way quicker and less error-prone than the previous implementation. Plus, it allows us to fine-tune excludes (e.g. test files and the babel config).
This also removes the need for setTimeouts which greatly speeds up the whole thing.
* Added the main logic, need to work on Tests
* Added tests for SOD
* Fix typo and add Wikipedia link in comments
* Fix mistake in SumOfDigitsUsingStrings
I intended to initially write a different implementation but I wrote something else 🤦♂️
* Converted Spacing from Tabs to Spaces
* Oops, forgot about the test file
* Fixed semicolon problems...
* Oops, I missed a few semicolons
* Linting is hell TwT
Co-authored-by: SpiderMath <{ID}+{username}@users.noreply.github.com>
* refactor code to ES6 styling, fixed incorrect code and broken input in Problem 1
* standard styling
* use standard
* removed changes to Problem 2
* added URL to euler problem