# nodent-compiler **Repository Path**: mirrors_developit/nodent-compiler ## Basic Information - **Project Name**: nodent-compiler - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![NPM](https://nodei.co/npm/nodent-compiler.png?downloads=true&downloadRank=true)](https://nodei.co/npm/nodent-compiler/) 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](https://github.com/MatAtBread/nodent/blob/master/README.md). Usage ===== ```javascript 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: // 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: // The source to compiler filename: // Optional original filename for source maps options:: es7:, // Compile in es7 mode promises:, // Compile in Promises mode generators:, // Compile in generator mode engine:, // Compile in engine mode sourcemap:, // Create a sourcemap for the browser's debugger wrapAwait:, // Allow 'await' on non-Promise expressions lazyThenables:,// Evaluate async bodies lazily in 'es7' mode. noRuntime:, // Only compatible with promises & engine. Generate pure ES5 code for an environment that support Promises natively or as a global declaration. es6target: // Compile code assuming an ES6 target (as of v3.1.0, this only requires support for arrow functions) ### Runtime requirements [`nodent-runtime`](https://github.com/MatAtBread/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`.