markdownlint-cli2 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.16.0
4
+
5
+ - Try not to use require for modules (due to Node 22.12)
6
+ - Update dependencies (EXcluding `markdownlint`)
7
+
3
8
  ## 0.15.0
4
9
 
5
10
  - Add support for `stdin` input via `-` glob
package/README.md CHANGED
@@ -149,7 +149,7 @@ A container image [`davidanson/markdownlint-cli2`][docker-hub-markdownlint-cli2]
149
149
  can also be used (e.g., as part of a CI pipeline):
150
150
 
151
151
  ```bash
152
- docker run -v $PWD:/workdir davidanson/markdownlint-cli2:v0.15.0 "**/*.md" "#node_modules"
152
+ docker run -v $PWD:/workdir davidanson/markdownlint-cli2:v0.16.0 "**/*.md" "#node_modules"
153
153
  ```
154
154
 
155
155
  Notes:
@@ -166,7 +166,7 @@ Notes:
166
166
  - A custom working directory can be specified with Docker's `-w` flag:
167
167
 
168
168
  ```bash
169
- docker run -w /myfolder -v $PWD:/myfolder davidanson/markdownlint-cli2:v0.15.0 "**/*.md" "#node_modules"
169
+ docker run -w /myfolder -v $PWD:/myfolder davidanson/markdownlint-cli2:v0.16.0 "**/*.md" "#node_modules"
170
170
  ```
171
171
 
172
172
  For convenience, the container image
@@ -413,7 +413,7 @@ reference to the `repos` list in that project's `.pre-commit-config.yaml` like:
413
413
 
414
414
  ```yaml
415
415
  - repo: https://github.com/DavidAnson/markdownlint-cli2
416
- rev: v0.15.0
416
+ rev: v0.16.0
417
417
  hooks:
418
418
  - id: markdownlint-cli2
419
419
  ```
@@ -30,7 +30,7 @@ const resolveAndRequire = require("./resolve-and-require");
30
30
 
31
31
  // Variables
32
32
  const packageName = "markdownlint-cli2";
33
- const packageVersion = "0.15.0";
33
+ const packageVersion = "0.16.0";
34
34
  const libraryName = "markdownlint";
35
35
  const libraryVersion = getLibraryVersion();
36
36
  const bannerMessage = `${packageName} v${packageVersion} (${libraryName} v${libraryVersion})`;
@@ -97,11 +97,18 @@ const importOrRequireResolve = async (dirOrDirs, id, noRequire) => {
97
97
  const dirs = Array.isArray(dirOrDirs) ? dirOrDirs : [ dirOrDirs ];
98
98
  const expandId = expandTildePath(id);
99
99
  const errors = [];
100
+ // Try to load via require(...)
100
101
  try {
101
- return resolveAndRequire(dynamicRequire, expandId, dirs);
102
+ const isModule = /\.mjs$/iu.test(expandId);
103
+ if (!isModule) {
104
+ // Try not to use require for modules due to breaking change in Node 22.12:
105
+ // https://github.com/nodejs/node/releases/tag/v22.12.0
106
+ return resolveAndRequire(dynamicRequire, expandId, dirs);
107
+ }
102
108
  } catch (error) {
103
109
  errors.push(error);
104
110
  }
111
+ // Try to load via import(...)
105
112
  try {
106
113
  // eslint-disable-next-line n/no-unsupported-features/node-builtins
107
114
  const isURL = !pathDefault.isAbsolute(expandId) && URL.canParse(expandId);
@@ -114,6 +121,7 @@ const importOrRequireResolve = async (dirOrDirs, id, noRequire) => {
114
121
  } catch (error) {
115
122
  errors.push(error);
116
123
  }
124
+ // Give up
117
125
  throw new AggregateError(
118
126
  errors,
119
127
  `Unable to require or import module '${id}'.`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "markdownlint-cli2",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the `markdownlint` library",
5
5
  "author": {
6
6
  "name": "David Anson",
@@ -35,9 +35,9 @@
35
35
  "lint-dockerfile": "docker run --rm -i hadolint/hadolint:latest-alpine < docker/Dockerfile",
36
36
  "lint-watch": "git ls-files | entr npm run lint",
37
37
  "playwright-install-bare": "npm run playwright-install-npm && playwright install",
38
- "playwright-install-npm": "npm install --no-save playwright@1.48.2",
38
+ "playwright-install-npm": "npm install --no-save playwright@1.49.0",
39
39
  "playwright-test": "playwright test --config ./webworker/playwright.config.mjs",
40
- "playwright-test-docker": "docker run --rm --volume $PWD:/home/workdir --workdir /home/workdir --ipc=host mcr.microsoft.com/playwright:v1.48.2 npm run playwright-test",
40
+ "playwright-test-docker": "docker run --rm --volume $PWD:/home/workdir --workdir /home/workdir --ipc=host mcr.microsoft.com/playwright:v1.49.0 npm run playwright-test",
41
41
  "schema": "cpy ./node_modules/markdownlint/schema/markdownlint-config-schema.json ./schema --flat",
42
42
  "test": "ava --timeout=1m test/append-to-array-test.js test/fs-mock-test.js test/fs-virtual-test.js test/markdownlint-cli2-test.js test/markdownlint-cli2-test-exec.js test/markdownlint-cli2-test-exports.js test/markdownlint-cli2-test-fs.js test/markdownlint-cli2-test-main.js test/merge-options-test.js test/resolve-and-require-test.js",
43
43
  "test-cover": "c8 --100 npm test",
@@ -80,20 +80,20 @@
80
80
  "micromatch": "4.0.8"
81
81
  },
82
82
  "devDependencies": {
83
- "@eslint/js": "9.14.0",
83
+ "@eslint/js": "9.16.0",
84
84
  "@iktakahiro/markdown-it-katex": "4.0.1",
85
- "@playwright/test": "1.48.2",
86
- "@stylistic/eslint-plugin": "2.10.1",
85
+ "@playwright/test": "1.49.0",
86
+ "@stylistic/eslint-plugin": "2.11.0",
87
87
  "ajv": "8.17.1",
88
88
  "ava": "6.2.0",
89
89
  "c8": "10.1.2",
90
90
  "cpy": "11.1.0",
91
91
  "cpy-cli": "5.0.0",
92
92
  "del": "8.0.0",
93
- "eslint": "9.14.0",
94
- "eslint-plugin-jsdoc": "50.4.3",
95
- "eslint-plugin-n": "17.13.1",
96
- "eslint-plugin-unicorn": "56.0.0",
93
+ "eslint": "9.16.0",
94
+ "eslint-plugin-jsdoc": "50.6.0",
95
+ "eslint-plugin-n": "17.14.0",
96
+ "eslint-plugin-unicorn": "56.0.1",
97
97
  "nano-spawn": "0.2.0",
98
98
  "markdown-it-emoji": "3.0.0",
99
99
  "markdown-it-for-inline": "2.0.1",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.15.0/schema/markdownlint-cli2-config-schema.json",
3
+ "$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.16.0/schema/markdownlint-cli2-config-schema.json",
4
4
  "title": "markdownlint-cli2 configuration schema",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "$schema": {
8
8
  "description": "JSON Schema URI (expected by some editors)",
9
9
  "type": "string",
10
- "default": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.15.0/schema/markdownlint-cli2-config-schema.json"
10
+ "default": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.16.0/schema/markdownlint-cli2-config-schema.json"
11
11
  },
12
12
  "config": {
13
13
  "description": "markdownlint configuration schema : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/schema/.markdownlint.jsonc",
@@ -15,7 +15,7 @@
15
15
  "default": {}
16
16
  },
17
17
  "customRules": {
18
- "description": "Module names or paths of custom rules to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
18
+ "description": "Module names or paths of custom rules to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
19
19
  "type": "array",
20
20
  "default": [],
21
21
  "items": {
@@ -25,18 +25,18 @@
25
25
  }
26
26
  },
27
27
  "fix": {
28
- "description": "Whether to enable fixing of linting errors reported by rules that emit fix information : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
28
+ "description": "Whether to enable fixing of linting errors reported by rules that emit fix information : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
29
29
  "type": "boolean",
30
30
  "default": false
31
31
  },
32
32
  "frontMatter": {
33
- "description": "Regular expression used to match and ignore any front matter at the beginning of a document : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
33
+ "description": "Regular expression used to match and ignore any front matter at the beginning of a document : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
34
34
  "type": "string",
35
35
  "minLength": 1,
36
36
  "default": ""
37
37
  },
38
38
  "gitignore": {
39
- "description": "Whether to ignore files referenced by .gitignore (or glob expression) (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
39
+ "description": "Whether to ignore files referenced by .gitignore (or glob expression) (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
40
40
  "type": [
41
41
  "boolean",
42
42
  "string"
@@ -44,7 +44,7 @@
44
44
  "default": false
45
45
  },
46
46
  "globs": {
47
- "description": "Glob expressions to include when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
47
+ "description": "Glob expressions to include when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
48
48
  "type": "array",
49
49
  "default": [],
50
50
  "items": {
@@ -54,7 +54,7 @@
54
54
  }
55
55
  },
56
56
  "ignores": {
57
- "description": "Glob expressions to ignore when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
57
+ "description": "Glob expressions to ignore when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
58
58
  "type": "array",
59
59
  "default": [],
60
60
  "items": {
@@ -64,7 +64,7 @@
64
64
  }
65
65
  },
66
66
  "markdownItPlugins": {
67
- "description": "markdown-it plugins to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
67
+ "description": "markdown-it plugins to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
68
68
  "type": "array",
69
69
  "default": [],
70
70
  "items": {
@@ -84,7 +84,7 @@
84
84
  }
85
85
  },
86
86
  "modulePaths": {
87
- "description": "Additional paths to resolve module locations from : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
87
+ "description": "Additional paths to resolve module locations from : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
88
88
  "type": "array",
89
89
  "default": [],
90
90
  "items": {
@@ -94,22 +94,22 @@
94
94
  }
95
95
  },
96
96
  "noBanner": {
97
- "description": "Whether to disable the display of the banner message and version numbers on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
97
+ "description": "Whether to disable the display of the banner message and version numbers on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
98
98
  "type": "boolean",
99
99
  "default": false
100
100
  },
101
101
  "noInlineConfig": {
102
- "description": "Whether to disable support of HTML comments within Markdown content : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
102
+ "description": "Whether to disable support of HTML comments within Markdown content : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
103
103
  "type": "boolean",
104
104
  "default": false
105
105
  },
106
106
  "noProgress": {
107
- "description": "Whether to disable the display of progress on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
107
+ "description": "Whether to disable the display of progress on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
108
108
  "type": "boolean",
109
109
  "default": false
110
110
  },
111
111
  "outputFormatters": {
112
- "description": "Output formatters to load and use to customize markdownlint-cli2 output (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
112
+ "description": "Output formatters to load and use to customize markdownlint-cli2 output (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
113
113
  "type": "array",
114
114
  "default": [],
115
115
  "items": {
@@ -129,7 +129,7 @@
129
129
  }
130
130
  },
131
131
  "showFound": {
132
- "description": "Whether to show the list of found files on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.15.0/README.md#markdownlint-cli2jsonc",
132
+ "description": "Whether to show the list of found files on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
133
133
  "type": "boolean",
134
134
  "default": false
135
135
  }