PageSourceSearch

https://textlint.org/assets/js/b2528f35.3928704c.js

js textlint.org collected 2026-10-03 23:18:43 UTC 31,654 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunktextlint_website=globalThis.webpackChunktextlint_website||[]).push([[5984],{4225:e=>{e.exports=JSON.parse('{"permalink":"/blog/2018/07/22/textlint-11","source":"@site/blog/2018-07-22-textlint-11.md","title":"textlint 11 released","description":"We just pushed textlint v11.0.0, which is a major release upgrade of textlint.","date":"2018-07-22T00:00:00.000Z","tags":[],"readingTime":7.87,"hasTruncateMarker":false,"authors":[{"name":"azu","title":"textlint creator","url":"http://github.com/azu","imageURL":"https://github.com/azu.png","key":"azu","page":null}],"frontMatter":{"title":"textlint 11 released","authors":"azu"},"unlisted":false,"prevItem":{"title":"textlint v12.0.0","permalink":"/blog/2021/05/24/textlint-12"},"nextItem":{"title":"New website","permalink":"/blog/2018/05/22/new-website"}}')},5175:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var i=n(3706);const s={},l=i.createContext(s);function r(e){const t=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(l.Provider,{value:t},e.children)}},6300:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>x,contentTitle:()=>c,default:()=>o,frontMatter:()=>r,metadata:()=>i,toc:()=>h});var i=n(4225),s=n(1058),l=n(5175);const r={title:"textlint 11 released",authors:"azu"},c="Highlights",x={authorsImageUrls:[void 0]},h=[{value:"\u2b50\ufe0f Features",id:"\ufe0f-features",level:2},{value:"@textlint/textlint-plugin-text and @textlint/textlint-plugin-markdown support <code>extensions</code> option",id:"textlinttextlint-plugin-text-and-textlinttextlint-plugin-markdown-support-extensions-option",level:3},{value:"Show message if <code>textlint --init</code> is success #529",id:"show-message-if-textlint---init-is-success-529",level:3},{value:"\ud83d\udd25BREAKING CHANGE",id:"breaking-change",level:2},{value:"Drop Node.js 4.x support #443",id:"drop-nodejs-4x-support-443",level:3},{value:"[Developer] Freeze Rule&#39;s Context #508",id:"developer-freeze-rules-context-508",level:3},{value:"[Developer] Change default value of Rule&#39;s <code>options</code> and Plugin&#39;s <code>options</code> #535 #540",id:"developer-change-default-value-of-rules-options-and-plugins-options-535-540",level:3},{value:"\u26a0 Deprecation",id:"-deprecation",level:2},{value:"[Developer] Deprecate <code>static availableExtensions()</code> in plugin Processor",id:"developer-deprecate-static-availableextensions-in-plugin-processor",level:3},{value:"[email protected]",id:"textlint1100",level:2},{value:"fixes",id:"fixes",level:3},{value:"features",id:"features",level:3},{value:"breakingChanges",id:"breakingchanges",level:3},{value:"@textlint/[email protected]",id:"textlintkernel300",level:2},{value:"fixes",id:"fixes-1",level:3},{value:"features",id:"features-1",level:3},{value:"breakingChanges",id:"breakingchanges-1",level:3},{value:"@textlint/[email protected]",id:"textlinttextlint-plugin-markdown500",level:2},{value:"fixes",id:"fixes-2",level:3},{value:"features",id:"features-2",level:3},{value:"breakingChanges",id:"breakingchanges-2",level:3},{value:"@textlint/[email protected]",id:"textlinttextlint-plugin-text400",level:2},{value:"fixes",id:"fixes-3",level:3},{value:"features",id:"features-3",level:3},{value:"breakingChanges",id:"breakingchanges-3",level:3},{value:"[email protected]",id:"gulp-textlint5011",level:2},{value:"fixes",id:"fixes-4",level:3},{value:"[email protected]",id:"textlint-tester500",level:2},{value:"fixes",id:"fixes-5",level:3},{value:"breakingChanges",id:"breakingchanges-4",level:3},{value:"[email protected]",id:"textlint-website1040",level:2},{value:"fixes",id:"fixes-6",level:3},{value:"features",id:"features-4",level:3}];function d(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.p,{children:"We just pushed textlint v11.0.0, which is a major release upgrade of textlint."}),"\n",(0,s.jsx)(t.p,{children:"This release adds some new features and fixes several bugs found in the previous release.\nThis release also has some breaking changes."}),"\n",(0,s.jsx)(t.h2,{id:"\ufe0f-features",children:"\u2b50\ufe0f Features"}),"\n",(0,s.jsxs)(t.h3,{id:"textlinttextlint-plugin-text-and-textlinttextlint-plugin-markdown-support-extensions-option",children:[(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/tree/master/packages/%40textlint/textlint-plugin-text",children:"@textlint/textlint-plugin-text"})," and ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/tree/102d5683ea7172ead702acf00e9fc111a53637d3/packages/%40textlint/textlint-plugin-markdown",children:"@textlint/textlint-plugin-markdown"})," support ",(0,s.jsx)(t.code,{children:"extensions"})," option"]}),"\n",(0,s.jsxs)(t.p,{children:["Notes: ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/tree/master/packages/%40textlint/textlint-plugin-text",children:"@textlint/textlint-plugin-text"})," and ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/tree/102d5683ea7172ead702acf00e9fc111a53637d3/packages/%40textlint/textlint-plugin-markdown",children:"@textlint/textlint-plugin-markdown"})," are built-in plugin."]}),"\n",(0,s.jsxs)(t.p,{children:["For example, if you want to treat ",(0,s.jsx)(t.code,{children:".hown"})," as markdown, put ",(0,s.jsx)(t.code,{children:"extensions"})," options to ",(0,s.jsx)(t.code,{children:".textlintrc"})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json5",children:'{\n    "plugins": {\n        "@textlint/markdown": {\n            "extensions": [".hown"]\n        }\n    }\n}\n'})}),"\n",(0,s.jsxs)(t.p,{children:["For more details, please see ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/tree/master/examples/plugin-extensions-option",children:"custom extension example"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"For developer:"}
1),"\n",(0,s.jsxs)(t.p,{children:["if you want to support ",(0,s.jsx)(t.code,{children:"extensions"})," options, see ",(0,s.jsx)(t.a,{href:"https://textlint.org/docs/plugin.html",children:"Plugin \xb7 textlint"}),"."]}),"\n",(0,s.jsxs)(t.h3,{id:"show-message-if-textlint---init-is-success-529",children:["Show message if ",(0,s.jsx)(t.code,{children:"textlint --init"})," is success ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/529",children:"#529"})]}),"\n",(0,s.jsxs)(t.p,{children:["Add message to ",(0,s.jsx)(t.code,{children:"textlint --init"})]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{src:"https://user-images.githubusercontent.com/19714/41762379-7d696dfc-7635-11e8-9b57-661aff4daba7.png",alt:"screen shot"})}),"\n",(0,s.jsx)(t.h2,{id:"breaking-change",children:"\ud83d\udd25BREAKING CHANGE"}),"\n",(0,s.jsxs)(t.h3,{id:"drop-nodejs-4x-support-443",children:["Drop Node.js 4.x support ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/443",children:"#443"})]}),"\n",(0,s.jsx)(t.p,{children:"textlint does no more test on Node.js 4.x.\nNode.js 4.x was end of support."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://github.com/nodejs/Release",children:"nodejs/Release: Node.js Foundation Release Working Group"})}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"If you use Node.js 4.x, please update Node.js."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://nodejs.org/",children:"Node.js official site"})}),"\n"]}),"\n",(0,s.jsxs)(t.h3,{id:"developer-freeze-rules-context-508",children:["[Developer] Freeze Rule's Context ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/508",children:"#508"})]}),"\n",(0,s.jsxs)(t.p,{children:["textlint 11 freeze rule's ",(0,s.jsx)(t.code,{children:"context"})," object."]}),"\n",(0,s.jsx)(t.p,{children:"Next code should throw error in textlint 11."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"export default function(context) {\n    // Error: `context` object can not be modified\n    context.modifiedContext = true;\n    const { Syntax } = context;\n    return {\n        [Syntax.Str](node) {\n        }\n    };\n}\n"})}),"\n",(0,s.jsxs)(t.h3,{id:"developer-change-default-value-of-rules-options-and-plugins-options-535-540",children:["[Developer] Change default value of Rule's ",(0,s.jsx)(t.code,{children:"options"})," and Plugin's ",(0,s.jsx)(t.code,{children:"options"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/535",children:"#535"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/540",children:"#540"})]}),"\n",(0,s.jsxs)(t.p,{children:["textlint@11 change the default value of ",(0,s.jsx)(t.code,{children:"options"})," from ",(0,s.jsx)(t.code,{children:"true"})," to ",(0,s.jsx)(t.code,{children:"{}"})," (empty object)."]}),"\n",(0,s.jsxs)(t.p,{children:["For example, ",(0,s.jsx)(t.code,{children:"very-nice-rule"}),"'s option is ",(0,s.jsx)(t.code,{children:"true"}),"(enable the rule) in ",(0,s.jsx)(t.code,{children:".textlintrc"})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n  "rules": {\n    "very-nice-rule": true\n  }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Before"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"very-nice-rule.js"})," rule get ",(0,s.jsx)(t.code,{children:"true"})," as ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"export default function(context, options) {\n    console.log(options); // true\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"After"}),":"]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"very-nice-rule.js"})," rule get ",(0,s.jsx)(t.code,{children:"{}"})," (empty object) as ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"export default function(context, options) {\n    console.log(options); // {}\n}\n"})}),"\n",(0,s.jsx)(t.h2,{id:"-deprecation",children:"\u26a0 Deprecation"}),"\n",(0,s.jsxs)(t.h3,{id:"developer-deprecate-static-availableextensions-in-plugin-processor",children:["[Developer] Deprecate ",(0,s.jsx)(t.code,{children:"static availableExtensions()"})," in plugin Processor"]}),"\n",(0,s.jsxs)(t.p,{children:["Insteadof it, support availableExtensions() instance method in plugin ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/534",children:"#534"})]}),"\n",(0,s.jsxs)(t.p,{children:["You should change the implementation of plugin.\ntextlint still support ",(0,s.jsx)(t.code,{children:"static availableExtensions"})," for backward-compatibility."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-diff",children:'-    static availableExtensions() {\n+    availableExtensions() {\n        return [".txt", ".text"];\n    }\n'})}),"\n",(0,s.jsxs)(t.p,{children:["This change allow to extends ",(0,s.jsx)(t.code,{children:"availableExtensions()"})," by options."]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Example: ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/pull/537",children:'feat: markdown/text plugin support "extensions" options by azu \xb7 Pull Request #537 \xb7 textlint/textlint'})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["For more information, see ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/blob/master/docs/plugin.md#availableextensions-string",children:"availableExtensions(): string[]"}),"."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsx)(t.h1,{id:"all-changelog",children:"ALL CHANGELOG"}),"\n",(0,s.jsx)(t.h2,{id:"textlint1100",children:"[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," add engine.availableExtensions for backward-compatible (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/e8652bc",children:"e8652bc"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," fix config type (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/0f2fd6f",children:"0f2fd6f"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," add type of public TextlintrcDescriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/7268b9e",children:"7268b9e"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," make static availableExtensions() optional (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/d471637",children:"d471637"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["remove ",(0,s.jsx)(t.a,{href:"https://github.com/textlint",children:"@textlint"}),"/textlintrc-descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/3613e1f",children:"3613e1f"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," use shallowMerge (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/95d056d",children:"95d056d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," merge textlintrc-descriptor to kernel (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/3c01067",children:"3c01067"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," separate linter and fixer descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b5bc8bd",children:"b5bc8bd"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," fix to import util (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6629bd5",children:"6629bd5"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," remove `extensions` from Config (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/7bc9ab8",children:"7bc9ab8"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlintrc-descriptor:"})," Introduce textlintrc-descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6177794",children:"6177794"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"features",children:"features"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," show message if `textlint --init` is success (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/529",children:"#529"}),") (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/102d568",children:"102d568"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," support availableExtensions() instance method in plugin (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/a7cd053",children:"a7cd053"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," add plugin's option tests (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/f362257",children:"f362257"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," add cli output test (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/533",children:"#533"}),") (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/abd314a",children:"abd314a"}),"), closes ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/532",children:"#532"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," add tests for object-to-kernel-format (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5fbb22d",children:"5fbb22d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," fix plugin tests (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/bbfc8f6",children:"bbfc8f6"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"breakingchanges",children:"breakingChanges"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/535",children:"#535"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/540",children:"#540"})]}),"\n",(0,s.jsxs)(t.p,{children:["Change default value of Rule's ",(0,s.jsx)(t.code,{children:"options"})," and Plugin's ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["textlint@11 change the default value of ",(0,s.jsx)(t.code,{children:"options"})," from ",(0,s.jsx)(t.code,{children:"true"})," to ",(0,s.jsx)(t.code,{children:"{}"})," (empty object)."]}),"\n",(0,s.jsxs)(t.p,{children:["For example, ",(0,s.jsx)(t.code,{children:"very-nice-rule"}),"'s option is ",(0,s.jsx)(t.code,{children:"true"}
1),"(enable the rule) in ",(0,s.jsx)(t.code,{children:".textlintrc"})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n  "rules": {\n    "very-nice-rule": true\n  }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.strong,{children:"Before"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"very-nice-rule.js"})," rule get ",(0,s.jsx)(t.code,{children:"true"})," as ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"export default function(context, options) {\n    console.log(options); // true\n}\n"})}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"After"}),":"]}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"very-nice-rule.js"})," rule get ",(0,s.jsx)(t.code,{children:"{}"})," (empty object) as ",(0,s.jsx)(t.code,{children:"options"}),"."]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"export default function(context, options) {\n    console.log(options); // {}\n}\n"})}),"\n",(0,s.jsx)(t.h2,{id:"textlintkernel300",children:"@textlint/[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-1",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," kernel use TextlintrcDescriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/efd89c2",children:"efd89c2"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," make rule and plugin's option value {} by default (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b7aa63d",children:"b7aa63d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["remove ",(0,s.jsx)(t.a,{href:"https://github.com/textlint",children:"@textlint"}),"/textlintrc-descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/3613e1f",children:"3613e1f"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," add comment (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/582d0d6",children:"582d0d6"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," add Processor validation (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/86ed609",children:"86ed609"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," fix test title (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/4eeeff8",children:"4eeeff8"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," support instance availableExtensions() method (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b821fc5",children:"b821fc5"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," make static availableExtensions() optional (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/d471637",children:"d471637"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," use shallowMerge (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/95d056d",children:"95d056d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," merge textlintrc-descriptor to kernel (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/3c01067",children:"3c01067"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," remove TextlintRuleDescriptorType (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/a5b0f30",children:"a5b0f30"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Replace Object.freeze directly with factory function (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/c43580b",children:"c43580b"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," separate linter and fixer descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b5bc8bd",children:"b5bc8bd"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," use textlintrc-descriptor instead of rule-creator-helper (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/f0eb4bf",children:"f0eb4bf"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlintrc-descriptor:"})," Introduce textlintrc-descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6177794",children:"6177794"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"typescript:"})," update to TypeScript 2.8 (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/f7b2b08",children:"f7b2b08"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"features-1",children:"features"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Freeze Context (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/7fc9ec8",children:"7fc9ec8"}),"), closes ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/508",children:"#508"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/508",children:"#508"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," support availableExtensions() instance method in plugin (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/a7cd053",children:"a7cd053"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Add missing Readonly<T> (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/c5313c8",children:"c5313c8"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," add plugin's option tests (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/f362257",children:"f362257"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint:"})," add tests for object-to-kernel-format (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5fbb22d",children:"5fbb22d"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"breakingchanges-1",children:"breakingChanges"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Previously, textlint pass ",(0,s.jsx)(t.code,{children:"true"})," to rule and plugin as default value of option. ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/535",children:"#535"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/540",children:"#540"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"textlinttextlint-plugin-markdown500",children:"@textlint/[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-2",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," make rule and plugin's option value {} by default (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b7aa63d",children:"b7aa63d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"plugin:"})," add plugin configuration (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6e179ec",children:"6e179ec"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"features-2",children:"features"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint-plugin-markdown:"}),' Support "extensions" option (',(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/c3d55fe",children:"c3d55fe"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"breakingchanges-2",children:"breakingChanges"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Previously, textlint pass ",(0,s.jsx)(t.code,{children:"true"})," to rule and plugin as default value of option. ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/535",children:"#535"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/540",children:"#540"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"textlinttextlint-plugin-text400",children:"@textlint/[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-3",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," make rule and plugin's option value {} by default (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b7aa63d",children:"b7aa63d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"plugin:"}),' add "extensions" option to docs (',(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/8026997",children:"8026997"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"plugin:"})," add plugin configuration (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6e179ec",children:"6e179ec"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"features-3",children:"features"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"textlint-text-markdown:"}),' support "extensions" option (',(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/cce29ed",children:"cce29ed"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"breakingchanges-3",children:"breakingChanges"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Previously, textlint pass `true` to rule and plugin as default value of option. ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/535",children:"#535"})," ",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/540",children:"#540"})]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"gulp-textlint5011",children:"[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-4",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update to [email protected] (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/0c20f42",children:"0c20f42"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"textlint-tester500",children:"[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-5",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," make rule and plugin's option value {} by default (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b7aa63d",children:"b7aa63d"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"deps:"})," update mocha (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/5df8af4",children:"5df8af4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," separate linter and fixer descriptor (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/b5bc8bd",children:"b5bc8bd"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"breakingchanges-4",children:"breakingChanges"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"kernel:"})," Previously, textlint pass `true` to rule and plugin as default value of option."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"textlint-website1040",children:"[email protected]"}),"\n",(0,s.jsx)(t.h3,{id:"fixes-6",children:"fixes"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," update index.css (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/6f7977e",children:"6f7977e"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," use https image (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/4495ed3",children:"4495ed3"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," use short menu name (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/81911ad",children:"81911ad"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," add { search: true }, (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/0c3c4a9",children:"0c3c4a9"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," add Edit url (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/e85c6bf",children:"e85c6bf"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," add new blog (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/cabc987",children:"cabc987"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," add project link (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/2000dc4",children:"2000dc4"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," add textlint icon (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/54873c0",children:"54873c0"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," change vuejs usecase (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/9d832e5",children:"9d832e5"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," Add a project depends on textlint (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/issues/523",children:"#523"}),") (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/80b4b73",children:"80b4b73"}),")"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"features-4",children:"features"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"website:"})," enable search (",(0,s.jsx)(t.a,{href:"https://github.com/textlint/textlint/commit/9e18b9e",children:"9e18b9e"}),")"]}),"\n"]})]})}function o(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.