Skip to content

Latest commit

 

History

History
48 lines (34 loc) · 1.92 KB

Technologies.md

File metadata and controls

48 lines (34 loc) · 1.92 KB

Technologies

We use three major tools in this application and they follow this hierarchy: Javascript -> Node/NPM -> Electron.

Javascript

This should be familiar to most webdevs. We mostly adhere to certain style conventions

Node Package Manager gives easy package management. We use NPM to manage our dependencies (such as Electron) and our development dependencies (such as JSHint or JSDoc). NPM also handles our command scripting. To understand this and view available npm scripts, see the package.json file and this npm documentation on how npm commands work.

A shortcut explanation of the npm commands you most commonly run from terminal

  • npm install installs node packages from the npm registry listed under devDependencies and dependencies in the package.json.
  • npm start runs the app
  • npm test lints the app with JSHint and then runs some test scripts in the test folder
  • There's a slew of other custom npm commands under scripts in the package.json

OPTIONAL: A useful guide about using NPM as a build tool

It's the core set of libararies that power the Atom text editor and is useful for creating cross-platform desktop applications.

Making this a desktop application instead of a webapp gives us libraries to access filepaths and other OS resources (via Node libraries) that a webapp would be limited from.

The code does not have to adhere to compatibility for all browsers (looking at you, Internet Explorer) because electron is run on chromium. This extends from JS to CSS (with the use of -webkit- rules when applicable).

We do occasionally use ES2015 and ES2016 conventions and syntax in the code base with no worries for the same reason