Skip to content

List of JavaScript Kata to Update

Voile edited this page May 6, 2020 · 31 revisions

Strict mode and arguments.callee

arguments.callee should not be used even if it succeeds (which happens in user solution), because it doesn't work in strict mode and the test fixture runs in strict mode.

arguments.callee.caller can be replaced by using named functions f and then access f.caller. Getters cannot have a function name, so Object.defineProperty should be used instead. Note that the use of Function.caller is still extremely discouraged since it is deprecated, and it doesn't work in strict mode either.


Let's start by deprecating Node 6.x.

The following kata does not have 8.x/10.x supported. Some of these can be retired if it's not possible (or not worth the effort) to fix.

  1. Algebraic Data Types
    • RangeError: Maximum call stack size exceeded
  2. Anakin's Colorful Protocol Droids
    • Relies on specific version of Babel that no longer exists
    • Preloaded defines Droid constructor function, solution defines its methods
  3. Currying vs. Partial Application
    • Preloaded defines Function.prototype.bind to throw error.
  4. Don't rely on luck HARDCORE
    • TypeError: describe is not a function
    • Relies on how files are concatenated by the runner. Test starts with the following lines:
      myguess=guess;
      describe=anticheatqwru9124808124.describe;
      it=anticheatqwru9124808124.it;
      })();
  5. Fast Stats on an Array
    • TypeError: Cannot delete property '3' of [object Object]
  6. Green Glass Roof- Puzzles #6
    • SyntaxError: Unexpected token (
  7. Helper Functions and Recursion - Factorials, Permutations and Combinations
    • Oops, it seems that you have not used recursion in your function. Please try again.
  8. Implement Debounce
    • Overrides require
  9. Insert into xml object - xml #3
    • Random tests are failing
  10. Lists and Objects - Top Trump Optimizer
    • TypeError: compose is not a function
  11. Parse all my XML please - Angular #1
    • TypeError: Cannot read property 'player1' of undefined
  12. Shorten Me: Array Declaration I (Console)
    • Test fails
  13. Token passing - Hack this code #2 Should be retired because it does not conform to beta kata standard: the task is unspecified, with kata author insisting that, paraphrased, "it is the puzzle of the kata".
  14. Type Aware - Advanced Test Fixture #1 Should be retired because the test suite is reinventing the testing framework in an extremely hacky, fragile and hostile way.
Clone this wiki locally