Skip to content

Commit a3f9fc7

Browse files
committed
module: add docs signature for register
1 parent 41a3a1d commit a3f9fc7

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

doc/api/module.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,27 @@ isBuiltin('fs'); // true
8080
isBuiltin('wss'); // false
8181
```
8282
83-
### `module.register()`
83+
### `module.register(specifier[, parentURL[, options]])`
8484
8585
<!-- YAML
86-
added: REPLACEME
86+
added: v20.6.0
8787
-->
8888
89-
In addition to using the `--experimental-loader` option in the CLI,
90-
loaders can be registered programmatically using the
91-
`module.register()` method.
89+
* `specifier` {string} customization hooks to be registered; this should be the
90+
same string that would be passed to `import()`, except that if it is relative,
91+
it is resolved relative to `process.cwd()`
92+
* `parentURL` {string} if you want to resolve `specifier` relative to a
93+
different base than `process.cwd()`, such as `import.meta.url`, you can pass
94+
that URL here
95+
* `options` {Object}
96+
* `data` {any} Any arbitrary, cloneable JavaScript value to pass into the
97+
[`initialize`][] hook
98+
* `transferList` {Object\[]} [transferrable objects][] to be passed into the
99+
`initialize` hook
100+
* Returns: {any} returns whatever was returned by the `initialize` hook
101+
102+
Register a module that exports hooks that customize Node.js’ module resolution
103+
and loading behavior.
92104
93105
```mjs
94106
import { register } from 'node:module';
@@ -390,3 +402,4 @@ returned object contains the following keys:
390402
[`module`]: modules.md#the-module-object
391403
[module wrapper]: modules.md#the-module-wrapper
392404
[source map include directives]: https://sourcemaps.info/spec.html#h.lmz475t4mvbx
405+
[transferrable objects]: worker_threads.md#portpostmessagevalue-transferlist

0 commit comments

Comments
 (0)