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 should be replaced by using named functions FunctionName and then access {FunctionName}.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. Find the hidden object
    • TypeError: Cannot read property 'message' of undefined
    • No sample tests
  7. Green Glass Roof- Puzzles #6
    • SyntaxError: Unexpected token (
  8. Helper Functions and Recursion - Factorials, Permutations and Combinations
    • Oops, it seems that you have not used recursion in your function. Please try again.
  9. Implement Debounce
    • Overrides require
  10. Insert into xml object - xml #3
    • Random tests are failing
  11. Lists and Objects - Top Trump Optimizer
    • TypeError: compose is not a function
  12. ONE ONe One one Should be retired because the kata relies on an optimization specific for Node 6.
    • Timeouts
  13. Parse all my XML please - Angular #1
    • TypeError: Cannot read property 'player1' of undefined
  14. Shorten Me: Array Declaration I (Console)
    • Test fails
  15. 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".
  16. 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