Skip to content
/ mads Public

Set of TypeScript utility modules for working with mathematics, algorithms and data structures.

License

Notifications You must be signed in to change notification settings

Bartozzz/mads

Repository files navigation

MADS

lerna Known Vulnerabilities Default CI/CD

MADS (Mathematics, Algorithms, Data Structures) is a set of TypeScript utility modules for working with various mathematical functions, algorithms and data structures.

Note: documentation and examples for each package are published in their respective READMEs. Please, refer to those resources for installation details and API references.

Installation

Package Version Dependencies
mads-constants npm Dependency Status
mads-coordinates npm Dependency Status
mads-easing npm Dependency Status
mads-graph npm Dependency Status
mads-utils npm Dependency Status
mads-vec2 npm Dependency Status
mads-vec3 npm Dependency Status
mads-queue npm Dependency Status
mads-stack npm Dependency Status
mads-heap npm Dependency Status

Contributing

Development

We have prepared multiple commands to help you develop mads on your own. You will need a local copy of Node.js installed on your machine. Then, follow the steps bellow:

  1. Install lerna globally:

    $ npm install -g lerna
  2. Install project dependencies:

    $ npm install
  3. Install packages dependencies and link them together:

    $ npm run bootstrap

Usage

$ npm run <command>

List of commands

Command Description
bootstrap Links local packages together and install their dependencies.
build Builds all packages.
docs Builds documentation for all packages.
start Starts tests in watch mode for all packages.
test Alias for npm run test:unit and npm run test:lint.
test:unit Starts units tests for all packages.
test:lint Starts linters for all packages.

Scaffolding

We use Hygen to create new ready-to-develop packages for MADS. If you want to automatically create a new package, run the following command and follow the prompt tips:

$ npx hygen package new

License

MADS was created and developed by Bartosz Łaniewski. The full list of contributors can be found here. Each package is MIT licensed, except for packages that provide a different LICENSE file.

Bug reporting

Github Open Issues Github Closed Issues Github Pull Requests

We want contributing to MADS to be fun, enjoyable, and educational for anyone, and everyone. Changes and improvements are more than welcome! Feel free to fork and open a pull request. If you have found any issues, please report them here - they are being tracked on GitHub Issues.