Skip to content

Latest commit

 

History

History

dist

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

dist

Distributable files.

This directory contains packages exporting distributable files for use in browser environments or as shared ("vendored") libraries in server environments. Each distributable file is a standalone UMD bundle which, if no recognized module system is present, will expose bundle contents to the global scope.

Usage

First, install one of the packages in this directory containing distributable files. For example, to install the main stdlib bundle

$ npm install --save @stdlib/dist-flat

To use a package's default bundle in a webpage,

<script type="text/javascript" src="/path/to/node_modules/@stdlib/dist-<pkg>"></script>

where dist-<pkg> corresponds to the desired published distributable file package.

To use a specific bundle (e.g., un-minified), include the bundle file path

<script type="text/javascript" src="/path/to/node_modules/@stdlib/dist-<pkg>/build/<bundle>.js"></script>

where <bundle> corresponds to the desired bundle. For example, to include the un-minified bundle found in the package used in the example above

<script type="text/javascript" src="/path/to/@stdlib/dist-flat/build/bundle.js"></script>

If no recognized module system is present, access bundle contents via the global scope. For example, assuming the flat namespace bundle sourced above,

<script type="text/javascript">
    // `stdlib` is a global variable...
    var erf = stdlib.base.erf;
    console.log( erf( 0.5 ) );
</script>

Notes

  • Bundles are one of two namespace types: flat or tree. A tree namespace is a nested object namespace which mirrors the project's layout (e.g., stdlib.math.base.special.erf). A flat namespace uses the global alias namespace, where each package has a unique alias (e.g., stdlib.base.erf). Which namespace is preferred depends on personal taste and application context.

  • Each minified bundle has a corresponding gzip-compressed bundle. The gzip compression level for each compressed bundle is 9, which is the highest (and most optimal) compression level. Deciding between uncompressed and compressed bundles depends on the application and whether compression is handled elsewhere in the application stack (e.g., nginx, CDN, et cetera).

  • While you are strongly encouraged to vendor bundles and host with a CDN/provider which can provide availability guarantees, especially for production applications, bundles are available via unpkg for quick demos, proof-of-concepts, and instructional material. For example,

    <script type="text/javascript" src="https://unpkg.com/@stdlib/dist-flat"></script>

    Please be mindful that unpkg is a free, best-effort service relying on donated infrastructure which does not provide any availability guarantees. Under no circumstances should you abuse or misuse the service. You have been warned.

  • If you intend on embedding a standalone bundle within another bundle, you may need to rename require calls within the standalone bundle before bundling in order to maintain scoped module resolution. For example, if you plan on using browserify to generate a bundle containing embedded bundles, browserify plugins exist to "de-require" those bundles prior to bundling.