summaryrefslogtreecommitdiffhomepage
path: root/src/nodejs/unit-http/loader.mjs (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2024-02-20Add additional replace rules for node:* modulesGabor Javorszky1-0/+2
In that particular issue the compiled nuxt files end up importing the http module as node:http rather than http only. This bypasses unit's custom loader implementation which only check for the http or unit-http modules, and their websocket counterparts. This changeset adds replace sources for both the node:http and node:websocket import signatures. Closes: https://github.com/nginx/unit/issues/1013 Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
2022-12-06Node.js: added "shortCircuit" option for ES modules hook.Andrei Zeliankou1-2/+4
Starting from Node.js v18.6.0 return value from all hooks must have "shortCircuit: true" option specified. For more information see: https://github.com/nodejs/node/commit/10bcad5c6e
2022-06-02Node.js: fixed ES modules format in loader.mjs.Andrei Zeliankou1-2/+2
Before Node.js v16.14.0 the "format" value in defaultResolve was ignored so error was hidden. For more information see: https://github.com/nodejs/node/pull/40980
2021-05-24Node.js: renamed "require_shim" to "loader".Oisin Canty1-0/+0
2021-05-12Node.js: a shim for overriding "http" and "websocket" modules.Oisin Canty1-0/+18
Also added stubs for Server.address() This was done to prevent crashes in some popular frameworks like express Supports both CommonJS and the new ES Modules system syntax e.g: app.js: const http = require('http') app.mjs: import http from "http" Usage on Node 14.16.x and higher: { "type": "external", "processes": {"spare": 0}, "working_directory": '/project', "executable": "/usr/bin/env", "arguments": [ "node", "--loader", "unit-http/require_shim.mjs" "--require", "unit-http/require_shim", "app.js" ] } Usage on Node 14.15.x and lower: { "type": "external", "processes": {"spare": 0}, "working_directory": '/project', "executable": "/usr/bin/env", "arguments": [ "node", "--require", "unit-http/require_shim", "app.js" ] }