Skip to content

6.0.0

Compare
Choose a tag to compare
@wooorm wooorm released this 24 Feb 00:29

Hi! 👋

With 6.0.0, rules are no longer in the remark-lint package. In fact, remark lint doesn’t do much, other than controlling messages.

Rules are now each in their own package. You don’t have to npm install and .use() each package though, you can install and use presets instead. If you find yourself installing many rules to update, maybe create a preset too?

By giving more power to presets over the remark-lint package itself, I think rules, especially external rules, will prosper!

First off, if “presets” changed, the below diff shows how you can update:

 "dependencies": {
   "remark-cli": "^0.0.0",
   "remark-lint": "^0.0.0",
   "remark-preset-lint-consistent": "^0.0.0",
   // ...
 },
 "remarkConfig": {
-  "presets": ["lint-consistent"]
+  "plugins": ["preset-lint-consistent"]
 }

Second, if you used remark-lint directly, you need to change your config as follows.

 "dependencies": {
   "remark-cli": "^0.0.0",
   "remark-lint": "^0.0.0",
+  "remark-lint-unordered-list-marker-style": "^0.0.0",
+  "remark-lint-list-item-bullet-indent": "^0.0.0",
+  "remark-lint-no-multiple-toplevel-headings": "^0.0.0",
+  "remark-lint-maximum-line-length": "^0.0.0",
+  "remark-lint-maximum-heading-length": "^0.0.0",
+  "remark-lint-no-tabs": "^0.0.0",
   // ...
 },
 "remarkConfig": {
-  "plugins": {
-    "remark-lint": {
-    "unordered-list-marker-style": "consistent",
-    "list-item-bullet-indent": true,
-    "no-multiple-toplevel-headings": true,
-    "maximum-line-length": 9000,
-    "maximum-heading-length": 300,
-    "no-tabs": true,
-    //  ...
-  }
+  "plugins": [
+    "remark-lint",
+    ["remark-lint-unordered-list-marker-style", "consistent"],
+    "remark-lint-list-item-bullet-indent",
+    "remark-lint-no-multiple-toplevel-headings",
+    ["remark-lint-maximum-line-length", 9000],
+    ["remark-lint-maximum-heading-length", 300],
+    "remark-lint-no-tabs",
+    //  ...
+  ]

Finally, if you use remark on the API, change your code as follows:

var remark = require('remark');
var lint = require('remark-lint');
+var unorderedListMarkerStyle = require('remark-lint-unordered-list-marker-style');
+var listItemBulletIndent = require('remark-lint-list-item-bullet-indent');
+var noMultipleToplevelHeadings = require('remark-lint-no-multiple-toplevel-headings');

remark()
-  .use(lint, {
-    unorderedListMarkerStyle: 'consistent',
-    listItemBulletIndent: true,
-    noMultipleToplevelHeadings: true
-    maximumLineLength: false
-  })
+  .use(lint)
+  .use(unorderedListMarkerStyle, 'consistent')
+  .use(listItemBulletIndent)
+  .use(noMultipleToplevelHeadings)
  // ...