diff --git a/doc/api/async_hooks.md b/doc/api/async_hooks.md index a5571c30be575d..07793fca90e445 100644 --- a/doc/api/async_hooks.md +++ b/doc/api/async_hooks.md @@ -704,7 +704,7 @@ import { executionAsyncId, executionAsyncResource, createHook, -} from 'async_hooks'; +} from 'node:async_hooks'; const sym = Symbol('state'); // Private symbol to avoid pollution createHook({ diff --git a/doc/api/timers.md b/doc/api/timers.md index fd459e2a007fb4..ef4e114fce3adc 100644 --- a/doc/api/timers.md +++ b/doc/api/timers.md @@ -378,7 +378,7 @@ import { setTimeout, setImmediate, setInterval, -} from 'timers/promises'; +} from 'node:timers/promises'; ``` ```cjs @@ -408,7 +408,7 @@ added: v15.0.0 ```mjs import { setTimeout, -} from 'timers/promises'; +} from 'node:timers/promises'; const res = await setTimeout(100, 'result'); @@ -442,7 +442,7 @@ added: v15.0.0 ```mjs import { setImmediate, -} from 'timers/promises'; +} from 'node:timers/promises'; const res = await setImmediate('result'); @@ -483,7 +483,7 @@ or implicitly to keep the event loop alive. ```mjs import { setInterval, -} from 'timers/promises'; +} from 'node:timers/promises'; const interval = 100; for await (const startTime of setInterval(interval, Date.now())) { diff --git a/doc/api/wasi.md b/doc/api/wasi.md index 8301b565f82a10..9b67d9a942b60a 100644 --- a/doc/api/wasi.md +++ b/doc/api/wasi.md @@ -17,7 +17,7 @@ operating system via a collection of POSIX-like functions. ```mjs import { readFile } from 'node:fs/promises'; -import { WASI } from 'wasi'; +import { WASI } from 'node:wasi'; import { argv, env } from 'node:process'; const wasi = new WASI({ @@ -40,7 +40,7 @@ wasi.start(instance); ```cjs 'use strict'; const { readFile } = require('node:fs/promises'); -const { WASI } = require('wasi'); +const { WASI } = require('node:wasi'); const { argv, env } = require('node:process'); const { join } = require('node:path'); diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 35300b883599e5..f15c9f49c37ed0 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -1455,7 +1455,7 @@ Node.js event loop. import { Worker, isMainThread, -} from 'worker_threads'; +} from 'node:worker_threads'; if (isMainThread) { new Worker(new URL(import.meta.url)); diff --git a/doc/eslint.config_partial.mjs b/doc/eslint.config_partial.mjs index add5ab3d8d6ff0..edcc72930875b0 100644 --- a/doc/eslint.config_partial.mjs +++ b/doc/eslint.config_partial.mjs @@ -1,4 +1,9 @@ -import { requireEslintTool } from '../tools/eslint/eslint.config_utils.mjs'; +import { + noRestrictedSyntaxCommonAll, + noRestrictedSyntaxCommonLib, + requireEslintTool, +} from '../tools/eslint/eslint.config_utils.mjs'; +import { builtinModules as builtin } from 'node:module'; const globals = requireEslintTool('globals'); @@ -8,6 +13,15 @@ export default [ rules: { // Ease some restrictions in doc examples. 'no-restricted-properties': 'off', + 'no-restricted-syntax': [ + 'error', + ...noRestrictedSyntaxCommonAll, + ...noRestrictedSyntaxCommonLib, + { + selector: `CallExpression[callee.name="require"][arguments.0.type="Literal"]:matches(${builtin.map((name) => `[arguments.0.value="${name}"]`).join(',')}),ImportDeclaration:matches(${builtin.map((name) => `[source.value="${name}"]`).join(',')})`, + message: 'Use `node:` prefix.', + }, + ], 'no-undef': 'off', 'no-unused-expressions': 'off', 'no-unused-vars': 'off',