node-ensure - Async module-loading library and protocol for bundlers/loaders targeting isomorphic apps and Node

  •        4

A simple library that shims asynchronous module loading into Node.js to help with building module bundlers and client-side loaders for isomorphic apps. This library is super slim (read the source) and mainly represents an agreement between developers and users of a particular bundler/loader. NOTE: This module is not compatible with Browserify. It is for developers that want to split their bundles for the client. For example, see dynapack.

https://github.com/bauerca/node-ensure

Tags
Implementation
License
Platform

   




Related Projects

collections - This package contains JavaScript implementations of common data structures with idiomatic interfaces


This package contains JavaScript implementations of common data structures with idiomatic iterfaces, including extensions for Array and Object. You can use these Node Packaged Modules with Node.js, Browserify, Mr, or any compatible CommonJS module loader. Using a module loader or bundler when using Collections in web browsers has the advantage of only incorporating the modules you need. However, you can just embed <script src="collections/collections.min.js"> and all of the collections will be introduced as globals. ⚠️ require("collections") is not supported.

fuse-box - A blazing fast js bundler/loader with a comprehensive API :fire:


FuseBox is a bundler/module loader that combines the power of webpack, JSPM and SystemJS.It is blazing fast (it takes 50-100ms to re-bundle) which makes it extremely convenient for developers. It requires zero configuration to bundle such monsters like babel-core.

node-fibers - Fiber/coroutine support for v8 and node.


Fibers, sometimes called coroutines, are a powerful tool which expose an API to jump between multiple call stacks from within a single thread. This can be useful to make code written for a synchronous library play nicely in an asynchronous environment. Note: node-fibers uses node-gyp for building. To manually invoke the build process, you can use node-gyp rebuild. This will put the compiled extension in build/Release/fibers.node. However, when you do require('fibers'), it will expect the module to be in, for example, bin/linux-x64-v8-3.11/fibers.node. You can manually put the module here every time you build, or you can use the included build script. Either npm install or node build -f will do this for you. If you are going to be hacking on node-fibers, it may be worthwhile to first do node-gyp configure and then for subsequent rebuilds you can just do node-gyp build which will be faster than a full npm install or node-gyp rebuild.

Webpack - A bundler for javascript and friends


Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.

node-sandboxed-module - A sandboxed node


A sandboxed node.js module loader that lets you inject dependencies into your modules.This module is intended to ease dependency injection for unit testing. However, feel free to use it for whatever crimes you can think of.


MustOverride - Provides a macro that you can use to ensure that a method of an abstract base class *must* be overriden by its subclasses


MustOverride provides a macro that you can use to ensure that a method of an abstract base class must be overridden by its subclasses. Apple does not currently provide a way to flag this at compile time, and the standard approach of raising an exception in the base class's implementation has two disadvantages: 1) it means that the method will only crash when it is called, which might only happen under difficult-to-reproduce conditions, and 2) you cannot provide a base implementation and require that the subclass calls super.

pbf - A low-level, lightweight protocol buffers implementation in JavaScript.


A low-level, fast, ultra-lightweight (3KB gzipped) JavaScript library for decoding and encoding protocol buffers, a compact binary format for structured data serialization. Works both in Node and the browser. Supports lazy decoding and detailed customization of the reading/writing code.If you use webpack as your module bundler, you can use pbf-loader to load .proto files directly. It returns a compiled module ready to be used.

emacs-async - Simple library for asynchronous processing in Emacs


You can install emacs-async package from ELPA or MELPA using package.el. You can also install from sources, in this case you should install using make and make install to ensure emacs-async is intalled in a standard load-path destination where other packages can find it easily when compiling.

Steal - Universal module loader


steal is unique because it can load JavaScript modules defined in ES6, AMD, and CommonJS formats (unlike most other module loaders, which only support one of these formats at a time). In JavaScript, the word "modules" refers to small units of independent, reusable code. They are the foundation of many JavaScript design patterns, and can look like this in ES6.

melchior.js - Chainable Module Definition (CMD) dependency loader for JavaScript


Tiny JavaScript in-browser module loader that implements Chainable Module Definition API.Melchior is the first library that fully implements the Draft proposed by John Wu and brings to life "the most javascripty" way to configure modules and its dependencies for in-browser use.

bottleneck - Task scheduler and rate limiter


Bottleneck is a lightweight and efficient Task Scheduler and Rate Limiter for Node.js and the browser. When dealing with services with limited resources, it's important to ensure that they don't become overloaded.Bottleneck is an easy solution as it does not add much complexity to your code.

require1k - A minimal, and yet practically useful, CommonJS/Node


This project implements a minimal, and yet practically useful, CommonJS/Node.js require module loader for the browser in under 1000 bytes. On start require1k will search for the first <script> tag with a data-main attribute. If found the named module will be resolved against the location of the html file, asynchronously loaded and then executed.

microbundle - 📦 Zero-configuration bundler for tiny modules.


The zero-configuration bundler for tiny modules, powered by Rollup. Microbundle includes two commands - build (the default) and watch. Neither require any options, but you can tailor things to suit your needs a bit if you like.

primus - :zap: Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in


Primus, the creator god of transformers but now also known as universal wrapper for real-time frameworks. There are a lot of real-time frameworks available for Node.js and they all have different opinions on how real-time should be done. Primus provides a common low level interface to communicate in real-time using various real-time frameworks.If you deploy your application behind a reverse proxy (Nginx, HAProxy, etc.) you might need to add WebSocket specific settings to its configuration files. If you intend to use WebSockets, please ensure that these settings have been added. There are some example configuration files available in the observing/balancerbattle repository.

sly - Sylvester the Cat's Common Lisp IDE


``` _____ __ __ __ / ___/ / / \ \/ / |\ _,,,---,,_ \__ \ / / \ / /,`.-'`' -. ;-;;,_ ___/ / / /___ / / |,4- ) )-,_..;\ ( `'-' /____/ /_____/ /_/ '---''(_/--' `-'\_)```SLY is Sylvester the Cat's Common Lisp IDE for Emacs. See it in action in[this screencast][7].SLY is a direct fork of [SLIME][1], and contains the following improvements overit:* Completely redes

rubygems.org - The Ruby community's gem hosting service.


The Ruby community's gem host. RubyGems.org is maintained by Ruby Together, a grassroots initiative committed to supporting the critical Ruby infrastructure you rely on. Contribute today as an individual or even better, as a company, and ensure that RubyGems.org, Bundler, and other shared tooling is around for years to come.

ensure - Ensures relevant script and html are loaded before executing code


A tiny javascript library that provides a handy function "ensure" which allows you to load Javascript, HTML, CSS on-demand and then execute your code. Ensure ensures that relevent Javascript and HTML snippets are already in the browser DOM before executing your code that uses ...

gifify - gifify turns movies into gifs.


gifify is a shell script for converting screen recordings into GIFs that can be embedded conveniently into places like Slack channels or GitHub issues and pull requests. GIF renderers typically cap the framerate somewhere between 60 and 100 frames per second. If you choose to change the framerate or playback speed of your GIFs, ensure your framerates do not exceed 60 frames per second to ensure your GIFs play consistently. An easy way to compute this is to ensure that FPS x SPEED is not greater than 60.

node-app-root-path - Determine the root path to your project


Please Note: Due to the very limited scope of this module, I do not anticipate needing to make very many changes to it. Expect long stretches of zero updates—that does not mean that the module is outdated. This simple module helps you access your application's root path from anywhere in the application without resorting to relative paths like require("../../path").

dropstore-ng - Dropbox Datastore bindings for AngularJS


The bindings wrap the first three tiers (Client, DatastoreManager, Datastore) of the Dropbox Datastore API within Angular Promises. This is because only the first three tiers use callbacks and because it creates a easy to follow chain of async function calls rather than the hell usually associated with callback heavy libraries. The Dropbox Datastore API is also wrapped with promises to create a simple way to ensure that the AngularJS scope is updated properly. dropstore-ng also provides AngularJS publish/subscribe functionality allowing applications to listen for local and/or remote updates to the datastores. Check out the example-todo branch for more the live demo code.