npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nodent-compiler

v3.2.13

Published

NoDent - Asynchronous Javascript language extensions

Downloads

77,169

Readme

NPM

nodent-compiler

NoDent is a small module for Nodejs that implements the JavaScript ES7 keywords async and await. These make writing, reading and understanding asynchronous and callback methods more implicit and embedded in the language. It works by transforming the ES7 JavaScript keywords await and async to fully-ES5 compatible code.

This is the core compiler implementation. The main documentation and details for the CLI, require hook and package options, performance and testing can be found here.

Usage

var NodentCompiler = require('nodent-compiler');
var compiler = new NodentCompiler() ;
var es5ReadySourceCode = compiler.compile(
  sourceCode,
  filename,
  { sourcemap:false, promises: true, noRuntime: true, es6target: true }
).code;

new NodentCompiler(opts) creates a new NodentCompiler. Note that instances of a NodentCompiler can (and should) be reused to improve compilation performance since internal structures are cached. opts is an optional set of options containing:

	log:<null|function>		// Called by the compiler to report a compilation warning.
	

compiler.compile(sourceCode, filename, options) compiles ES7 source code containing async and await to ES5 source code.

sourceCode:<string>	// The source to compiler
filename:<?string>	// Optional original filename for source maps
options:<object>:
	es7:<boolean>,			// Compile in es7 mode
	promises:<boolean>,		// Compile in Promises mode
	generators:<boolean>,	// Compile in generator mode
	engine:<boolean>,		// Compile in engine mode
	sourcemap:<boolean>,	// Create a sourcemap for the browser's debugger
	wrapAwait:<boolean>,	// Allow 'await' on non-Promise expressions
	lazyThenables:<boolean>,// Evaluate async bodies lazily in 'es7' mode.
	noRuntime:<boolean>,  	// Only compatible with promises & engine. Generate pure ES5 code for an environment that support Promises natively or as a global declaration.
	es6target:<boolean>		// Compile code assuming an ES6 target (as of v3.1.0, this only requires support for arrow functions)

Runtime requirements

nodent-runtime must be available to generated code if es7 or generators is set, or noRuntime is falsy. Promises must be available to generated code if promises, generators or engine is set.

To generate code that requires no runtime support other than Promises, set promises and noRuntime.