tools: add support for mjs and cjs JS snippet linting

Refs: https://github.com/nodejs/node/pull/37162
Refs: https://github.com/nodejs/remark-preset-lint-node/pull/176

PR-URL: https://github.com/nodejs/node/pull/37311
Refs: https://github.com/eslint/eslint-plugin-markdown/pull/172
Reviewed-By: Rich Trott <rtrott@gmail.com>
pull/37311/head
Antoine du Hamel 2021-02-10 15:20:37 +01:00
parent 09461649a8
commit 0afc8ac12e
7 changed files with 20 additions and 18 deletions

View File

@ -53,12 +53,6 @@ module.exports = {
overrides: [
{
files: [
'doc/api/esm.md/*.js',
'doc/api/fs.md/*.js',
'doc/api/module.md/*.js',
'doc/api/modules.md/*.js',
'doc/api/packages.md/*.js',
'doc/api/wasi.md/*.js',
'test/es-module/test-esm-type-flag.js',
'test/es-module/test-esm-type-flag-alias.js',
'*.mjs',
@ -71,10 +65,21 @@ module.exports = {
processor: 'markdown/markdown',
},
{
files: ['**/*.md/*.js'],
parserOptions: { ecmaFeatures: { impliedStrict: true } },
files: ['**/*.md/*.cjs', '**/*.md/*.js'],
parserOptions: {
sourceType: 'script',
ecmaFeatures: { impliedStrict: true }
},
rules: { strict: 'off' },
},
{
files: [
'**/*.md/*.mjs',
'doc/api/esm.md/*.js',
'doc/api/packages.md/*.js',
],
parserOptions: { sourceType: 'module' },
},
],
rules: {
// ESLint built-in rules

View File

@ -1220,6 +1220,7 @@ lint-js-fix:
.PHONY: lint-js-doc
# Note that on the CI `lint-js-ci` is run instead.
# Lints the JavaScript code with eslint.
lint-js-doc: LINT_JS_TARGETS=doc
lint-js lint-js-doc:
@if [ "$(shell $(node_use_openssl))" != "true" ]; then \
echo "Skipping $@ (no crypto)"; \

View File

@ -2647,7 +2647,6 @@ buf.writeFloatBE(0xcafebabe, 0);
console.log(buf);
// Prints: <Buffer 4f 4a fe bb>
```
### `buf.writeFloatLE(value[, offset])`
@ -2856,7 +2855,6 @@ buf.writeIntBE(0x1234567890ab, 0, 6);
console.log(buf);
// Prints: <Buffer 12 34 56 78 90 ab>
```
### `buf.writeIntLE(value, offset, byteLength)`

View File

@ -29,13 +29,13 @@ if a module is maintained by a third party or not.
`module` in this context isn't the same object that's provided
by the [module wrapper][]. To access it, require the `Module` module:
```js
```mjs
// module.mjs
// In an ECMAScript module
import { builtinModules as builtin } from 'module';
```
```js
```cjs
// module.cjs
// In a CommonJS module
const builtin = require('module').builtinModules;
@ -51,7 +51,7 @@ added: v12.2.0
string.
* Returns: {require} Require function
```js
```mjs
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
@ -114,13 +114,13 @@ To enable source map parsing, Node.js must be run with the flag
[`--enable-source-maps`][], or with code coverage enabled by setting
[`NODE_V8_COVERAGE=dir`][].
```js
```mjs
// module.mjs
// In an ECMAScript module
import { findSourceMap, SourceMap } from 'module';
```
```js
```cjs
// module.cjs
// In a CommonJS module
const { findSourceMap, SourceMap } = require('module');

View File

@ -2090,7 +2090,6 @@ const myWritable = new Writable({
});
// Later, abort the operation closing the stream
controller.abort();
```
#### `writable._construct(callback)`
<!-- YAML

View File

@ -10,7 +10,7 @@ The WASI API provides an implementation of the [WebAssembly System Interface][]
specification. WASI gives sandboxed WebAssembly applications access to the
underlying operating system via a collection of POSIX-like functions.
```js
```mjs
import fs from 'fs';
import { WASI } from 'wasi';

View File

@ -221,7 +221,6 @@ const server = http.createServer(common.mustCall((req, res) => {
server.close();
}));
}));
```
**Note:** Many functions invoke their callback with an `err` value as the first