JavaScript runtime

# Build new ASP modules with modern JavaScript syntax.

AxonASP includes an internal JavaScript engine that supports ECMAScript 5 with broad ES6+ features, enabling modern server-side development while sharing the same runtime and infrastructure as VBScript.

Promises and async/await Class and destructuring CommonJS-like and ES6 imports Partial Node APIs

## What this unlocks

- Incremental module-by-module modernization.
- Reusable server-side JavaScript utilities and architecture layers.
- Mixed-language pages where VBScript and JavaScript coexist.

## ES6+ capabilities in AxonASP

### Language features

Arrow functions, template literals, let/const, classes, spread, and destructuring for modern coding patterns.

### Async model

Promise-based workflows with async/await and runtime-level exception propagation.

### Built-in APIs

JSON operations, Array map/filter/reduce, and strict mode support for robust module behavior.

## Module organization support

### CommonJS-like import style

    var tools = require("./services/tools.js");
    var result = tools.buildPayload(data);

### ES6-style import style

    import { buildPayload } from "./services/tools.js";
    const result = buildPayload(data);

Scope note: module import features are available for JavaScript code paths, not for VBScript code paths.

## Partial Node-style runtime modules

Module family | Status | Use case
--- | --- | ---
fs, path | Available (context dependent) | File path and file-flow operations in supported contexts.
stream, events | Available | Event-driven and stream-oriented architecture patterns.
process, buffer, util, timers | Available | Runtime utility operations and asynchronous orchestration.
External npm ecosystem | Not included | Use built-in runtime capabilities and native G3 libraries.

## Execution caveats to plan for

### Feature coverage is broad, not infinite

Some advanced ES6+ behaviors such as generator-heavy patterns and top-level await are still evolving.

### Environment boundaries

Certain APIs depend on runtime context. For example, low-level file access differs between CLI and server execution modes.