Porting an OO GROOVY application to JavaScript Part 1

In an effort to retain JS coding agility, I decided to port an old GROOVY battleships game to JavaScript. The original application used features of GROOVY such as an abstract Ship class, where sub-classes inherited from it forming the four types of boat in the game, 1x Battleship, 2x destroyers, 3x Cruisers and 4x submarines.

I wanted to satisfy DRY principles and also incorporate name-spacing.

I also wanted to try out trendy tooling such as VSCode or Electron.

Using Electron, we can also use the lightweight http server so we can run the code. Open a node.js console.

npm install -g live-server  

The first part structure of the Ships.js file, containing the "abstract" class and subclasses in JS.
The Ships class and subclasses, along with some tests.

A depiction of the development workflow and tools. Electron is eerily similar to VScode (or perhaps the other way around). In Electron, we hit
CTRL+SHIFT+P to reveal a command palette.
In my opinion Electron is sublime, I will have to get it for my Mac.
Electron

Working behind a firewall with a managed proxy service, i was unable to pull down any packages for electron. Tried various things.

Also with VSCode, a similar fault, where i could not pull down packages using the tool. There was a succesful workaround with this, where formatting the url to a vsix file worked, will detail later on.