* 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 489544da0a3d479910fbea020d3be3d0d10681bf.
* 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>
* chore: only run update directory on `master`
* chore: move codespell to CI workflow
* chore: remove codespell workflow(moved)
* chore: listen for `push` only on `master`
* chore: remove `pull_request` type params
* chore: mark stale after 7 days of inactivity
* Auto-update DIRECTORY.md
* chore: length info provided in comments
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* new algorithm 'Sliding-Window' added with example 'Longest Substring Without Repeating Characters'
* new example of sliding window 'Permutation in String' added
* chore: add `ignore_words_list`
* sliding-window moved into Dynamic-programming directory
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.
relates to ##720
Cleaned up and updated the job description file a bit. Instead of attempting to commit every single time, we check if the DIRECTORY file actually has changes first.
relates to #586 and #720
Added npm scripts for doctest and style checking via standard. This allows us to call those directly via npm and not via npx.
The CI job itself is now split into distinct steps (makes it more visible which step failed).