Standard library for JavaScript.
Stdlib is a collection of robust, high performance libraries for numeric computing, streams, and more. This is the GitHub repository of stdlib source code and documentation. For stdlib development notes, see below.
Development
Prerequisites
Developing and running stdlib requires the following prerequisites:
- git: version control
- GNU make: development utility and task runner
- Node.js: JavaScript runtime (version
>= 0.10)
While not required to run stdlib, the following dependencies may be required for testing, benchmarking, and general development:
- Julia: language for technical computing (version
>= 0.4) - R: language for statistical computing (version
>= 3.0.0) - Python: general purpose language (version
>= 2.7) - gcc & g++ or clang: C/C++ compilation and linking (g++ version
>= 4.7; clang version>= 3.1) - pandoc: universal document converter
Download
To acquire the source code, clone the git repository.
$ git clone https://github.com/stdlib-js/stdlib
If you are behind a firewall, you may need to use the https protocol, rather than the git protocol.
$ git config --global url."https://".insteadOf git://Configuration
Determine the absolute path of the lib/node_modules directory within the repository. For example, from the repository directory
$ echo $(pwd)/lib/node_modules /path/to/stdlib-js/stdlib/lib/node_modules
To allow development tools to resolve library packages, set the NODE_PATH environment variable by adding the following line to the platform-specific configuration file for configuring user environments (e.g., .bash_profile, .profile, .bashrc, or some other variant).
export NODE_PATH=/path/to/stdlib-js/stdlib/lib/node_modules
Once finished, you may need to reload the configuration file in existing shells. For example, in a bash shell,
Installation
To install development dependencies,
To initialize the development environment,
Update
If you have previously downloaded stdlib using git clone, you can update an existing source tree using git pull.
$ cd ./path/to/stdlib
$ git pullIf you have initialized the development environment using make init, updating the source tree will trigger hooks to ensure all development dependencies are up-to-date.
Organization
The stdlib source code is organized as follows:
bin executable binaries
docs top-level documentation
etc configuration files
examples top-level library examples
lib library source code
test top-level tests
tools development utilities
workshops workshops
Troubleshooting
-
Occasionally, new versions of external dependencies may cause conflicts with existing builds. Most of the time, running
$ make clean $ make install
will be enough to resolve these conflicts. Otherwise, remove the git repository, clone, and reinstall.
Editors
- This repository uses EditorConfig to maintain consistent coding styles between different editors and IDEs, including browsers.
Contributing
See the contributing guidelines.
License
See LICENSE.
Copyright
Copyright © 2016. The Stdlib Authors.
Status
Version
Build
| OS | Build (master) | Coverage (master) | Build (develop) | Coverage (develop) |
|---|---|---|---|---|
| Linux/OS X | ||||
| Windows |
