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.
Developing and running stdlib requires the following prerequisites:
- git: version control
- GNU make: development utility and task runner
- curl, wget, or fetch (FreeBSD): utilities for downloading remote resources
- 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
The following vendor libraries can be automatically downloaded and compiled from source using make
:
- Boost: portable C++ libraries
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://
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,
$ source ~/.bash_profile
To install development dependencies,
$ make install
To install vendor dependencies,
$ make install-deps
To initialize the development environment,
$ make init
If you have previously downloaded stdlib using git clone
, you can update an existing source tree using git pull
.
$ cd ./path/to/stdlib
$ git pull
If 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.
The stdlib source code is organized as follows:
bin executable binaries
deps vendor dependencies
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
-
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.
- This repository uses EditorConfig to maintain consistent coding styles between different editors and IDEs, including browsers.
See the contributing guidelines.
See LICENSE.
Copyright © 2016. The Stdlib Authors.
OS | Build (master) | Coverage (master) | Build (develop) | Coverage (develop) |
---|---|---|---|---|
Linux/OS X | ||||
Windows |