Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Resolved conflicts by taking GitHub versions for: - .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml Kept deploy.sh updated to: - Pull from GitHub (primary source) - Push to Gitea (push-mirror) - Build from site/ directory (GitHub structure) Co-Authored-By: Paperclip <noreply@paperclip.ing>
2.1 KiB
2.1 KiB
import/enforce-node-protocol-usage
🔧 This rule is automatically fixable by the --fix CLI option.
Enforce either using, or omitting, the node: protocol when importing Node.js builtin modules.
Rule Details
This rule enforces that builtins node imports are using, or omitting, the node: protocol.
Determining whether a specifier is a core module depends on the node version being used to run eslint.
This version can be specified in the configuration with the import/node-version setting.
Reasons to prefer using the protocol include:
- the code is more explicitly and clearly referencing a Node.js built-in module
Reasons to prefer omitting the protocol include:
- some tools don't support the
node:protocol - the code is more portable, because import maps and automatic polyfilling can be used
Options
The rule requires a single string option which may be one of:
'always'- enforces that builtins node imports are using thenode:protocol.'never'- enforces that builtins node imports are not using thenode:protocol.
Examples
'always'
❌ Invalid
import fs from 'fs';
export { promises } from 'fs';
// require
const fs = require('fs/promises');
✅ Valid
import fs from 'node:fs';
export { promises } from 'node:fs';
import * as test from 'node:test';
// require
const fs = require('node:fs/promises');
'never'
❌ Invalid
import fs from 'node:fs';
export { promises } from 'node:fs';
// require
const fs = require('node:fs/promises');
✅ Valid
import fs from 'fs';
export { promises } from 'fs';
// require
const fs = require('fs/promises');
// This rule will not enforce not using `node:` protocol when the module is only available under the `node:` protocol.
import * as test from 'node:test';
When Not To Use It
If you don't want to consistently enforce using, or omitting, the node: protocol when importing Node.js builtin modules.