Package Exports
- @alterior/platform-nodejs
- @alterior/platform-nodejs/dist.esm/index.js
- @alterior/platform-nodejs/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@alterior/platform-nodejs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@alterior/platform-nodejs
Simplifies idiomatic setup of a Node.js environment for running Alterior applications.
Important note
You must still ensure you enable experimentalDecorators and emitDecoratorMetadata in your tsconfig.json to properly run Alterior applications.
Usage
Within your entry point (usually main.ts):
import '@alterior/platform-nodejs'; // must be first!
import { Application } from '@alterior/runtime';
// other imports here...
Application.bootstrap(MyModule);Important: Make sure import '@alterior/platform-nodejs'; is the first line in your entrypoint (main.ts).
What does it do?
This does a number of things for you:
- Loads
zone.jsas early as possible to ensure all code properly runs within the root Zone. - Loads
reflect-metadataas early as possible to ensure all subsequently loaded code has Typescript reflection metadata emitted - Loads
source-map-support/registeras early as possible to ensure any stack traces are shown using the available source maps (this avoids seeing compiled JS files in stack traces, instead showing the original source file locations). - Loads
dotenv/configas early as possible to ensure that anydotenvfiles are properly accounted for withinprocess.env. - Makes
fetch()available globally (when not already provided). Does this withglobalThis.fetch = require('node-fetch') - Makes
WebSocketavailable globally (when not already provided)