Contributions are not currently being accepted.
The license for this library is AGPL-3.0-only and exceptions may be sold for commercial and other private use. A CLA is also not currently defined.
When these issues are resolved and more formalized contributions will then be accepted with the appropriate caveats.
- Clone the repository
git clone --depth=1 ...
- Install dependencies
cd <project_name>
npm install
- Build
npm run build
Name | Description |
---|---|
.github | Settings for the github repository including workflow definitions |
.vscode | Settings for VS Code |
coverage | Code coverage output from Jest |
dist | Contains the compiled output of the build |
node_modules | node package dependencies |
src | Contains the source code that will be compiled to the dist dir |
.editorconfig | Config settings for EditorConfig IDE code style checking |
.eslintrc.json | Linting configuration |
.gitignore | Specifies files untracked by version control |
.npmrc | npm config settings |
CONTRIBUTING.md | The file you are currently reading |
jest.config.js | Jest unit testing configuration |
LICENSE | AGPL-3.0-only |
package-lock.json | Autogenerated meta-manifest of package.json |
package.json | Node Package configuration settings with related build scripts |
README.md | A high level overview of the library |
tsconfig.json | Config settings for compiling TypeScript code |
webpack.config.json | Config settings for the webpack bundler |
To build and test this library locally you will need the following:
-
- Install the recommended extensions
-
- With a corresponding npm installation
Npm Script | Description |
---|---|
build |
Performs a full build of the library including type generation and linting. Outputs to the dist folder |
build-nofix |
Perfoms the sames steps as build except that lint-nofix will be executed. |
clean |
deletes the dist folder |
clean-full |
deletes the dist , node_modules , and .cache folders |
debug |
Starts debugger |
lint |
Performs linting and type checking of the library |
lint-nofix |
Performs linting but will not autofix problems. |
test |
Executes unit tests |
type-check |
Performs type checking |
Dependencies are managed through package.json
.
The runtime dependencies are as follows:
Package | Description | License |
---|---|---|
@final-hill/decorator-contracts |
Code Contracts for ECMAScript classes | AGPL-3.0-only |
@final-hill/multi-key-map |
Trie data structure | AGPL-3.0-only |
The development dependencies are as follows:
Package | Description | License |
---|---|---|
@types/jest |
Type definitions for ts-jest support |
MIT |
@types/node |
Type definitions for node. (used for build) | MIT |
@typescript-eslint/eslint-plugin |
Type definitions for ESLint | MIT |
@typescript-eslint/parser |
Type definitions for ESLint parser | BSD-2-Clause |
eslint |
ECMAScript linting library | MIT |
eslint-plugin-header |
ESLint extension for linting file headers | MIT |
eslint-plugin-import |
ESLint extension for linting imports | MIT |
jest |
JavaScript Unit testing library | MIT |
jest-junit |
Jest extension for JUnit reporting | Apache-2.0 |
rimraf |
Cross platform lib for deleting files/folders | ISC |
ts-jest |
TypeScript support for jest |
MIT |
ts-loader |
TypeScript loader for Webpack | MIT |
typescript |
TypeScript compiler | Apache-2.0 |
webpack |
Module bundler | MIT |
webpack-cli |
Command line library for WebPack | MIT |
If you're using Windows and a newer version of NodeJS then you may additionally need to run the following command due to a transitive dependency on node-gyp:
npm install -g windows-build-tools