Polyfill for the problem `window is not defined` in node.js
npm install node-window-polyfill
Polyfill for the problem window is not defined in node.js.
It's inserting window object on globals
and inputing all needed sub-elements
with requiring web sockets dependency.
Yarn
```
yarn add node-window-polyfill
Npm
``
npm install node-window-polyfill
To use it in different environment it's required to clone and build it with the proper flag.
Import it in global file, or in every file
where the source code requires the window object.
`typescript
import nodeWindowPolyfill from "node-window-polyfill";
nodeWindowPolyfill.register();
`
For shorter import that will call register directrly
`typescript`
import "node-window-polyfill/register";
If you don't want to import 'ws' module and just create empty objects:
`typescript
import nodeWindowPolyfill from "node-window-polyfill";
nodeWindowPolyfill.register(false);
`
And the version previous ES versions:
`javascript`
require('node-window-polyfill').register();
- usage of window in the code or librarieswindow.setTimeout
- - default setTimeout node functionwindow.clearTimeout
- - default clearTimeout node functionwindow.WebSocket
- - version from global object window.ArrayBuffer
- - version from global object onlywindow.addEventListener
- - empty void functionwindow.navigator
- - { onLine: true }window.isNodeJS
- - to check if polyfills were apliedwindow.localStorage
- - in memory storagewindow.Date
- - version from global objectglobal.WebSocket
- - using ws if the right flag is not setglobal
- if the above functions/properties are already set in the object then they will be taken into the account
To configure development environment and run the tests,
first clone the repository:
``
git clone https://github.com/tgorka/node-window-polyfill.git
then (once you have yarn and node installed) install dependencies
``
yarn
To build the distribution and types
``
yarn build
The distribution is in the dist folder and types in the types folder.
To change defauld ES standard use --target flag. Ex.:``
yarn build -target es3
After configuring we can run tests.
``
yarn test
We can use debug information logging with setting up env variable
```
DEBUG=nodeWindowPolyfill-* yarn test
MIT licensed.