Skip to content

✨ Standard library for JavaScript and Node.js. ✨

License

Notifications You must be signed in to change notification settings

rajutkarsh07/stdlib

Repository files navigation

stdlib logo

stdlib

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
  • 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

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,

$ source ~/.bash_profile

Installation

To install development dependencies,

$ make install

To install vendor dependencies,

$ make install-deps

To initialize the development environment,

$ make init

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 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.

Organization

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

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

stability-experimental

Version

git tag NPM version Node.js version

Build

OS Build (master) Coverage (master) Build (develop) Coverage (develop)
Linux/OS X Linux/OS X build status (master) coverage (master) Linux/OS X build status (develop) coverage (develop)
Windows Windows build status (master) coverage (master) Windows build status (develop) coverage (develop)

Dependencies

Dependencies DevDependencies

Community

Chat

About

✨ Standard library for JavaScript and Node.js. ✨

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 60.3%
  • C 16.7%
  • TypeScript 14.4%
  • Makefile 3.6%
  • Python 2.7%
  • Julia 0.9%
  • Other 1.4%