@cipscis/keybinding v3.0.1
keybinding
Install
Run npm install @cipscis/keybinding
Usage
Development
You will need to install Node.js before working on this package.
- Clone the repository using
git clone https://github.com/cipscis/keybinding.git. - Run
npm installto install development dependencies. - Create a
.envfile. - Run
npm startto run the local server and watch CSS and JS files for changes.
This project creates six npm tasks:
npm run serverruns a Node.js server on the port specified in the.envfile, using Express.npm run buildcompiles CSS files using gulp-sass and bundles JavaScript using Webpack.npm run watchfirst runs thebuildtask, then watches the relevant directories and reruns thebuildtask if it sees any changes.npm startruns both theserverandwatchtasks simultaneously.npm testtask compiles any TypeScript and runs any configured test suites using Jasmine.npm run preparefirst removes directories containing compiled files, then compiles any TypeScript and runs any configured test suites using Jasmine. You should never need to run this task manually, thepreparescript runs automatically when npm prepares your package for publishing.
Usually, you will just want to run npm start.
.env
The .env file contains the following environment variables:
PROJECT_NAME(string)
If present, used by Express to set up redirects for emulating GitHub Pages.
MODE(string 'development' | 'production')
Used by Webpack to determine what optimisations to use and how to generate sourcemaps.
PORT(int)
Used by Express to determine which port to use when running a local Node.js server.
An example .env file you can use for development is:
PROJECT_NAME = "keybinding"
MODE = "development"
PORT = "8080"This file is intended to differ from environment to environment, so it is ignored by Git.
Dependencies
None.
Dev Dependencies
Development
These dependencies are used when working on the project locally.
Node.js: Runtime environment
npm: Package manager
Gulp: Task runner
TypeScript: JavaScript extension for static type checking
Jasmine: Testing framework
@types/jasmine: TypeScript types for Jasmine
gulp-sass: Using the
sasscompiler with GulpWebpack: For JavaScript dependency management, used with Gulp
ts-loader: For compiling TypeScript using Webpack
Express: Running a Node.js server, accessed at
http://localhost:<PORT>Concurrently: Running server and development build tasks concurrently
Deploy
These dependencies are used for deploying the project to GitHub Pages.
checkout: Used to check out the repository to a workspace so it can be built
Deploy to GitHub Pages: Used to deploy the project to GitHub pages once it has been built