1000ch/linter-textlint

Atom 1.31.1 で動かない

nyoro712 opened this issue · 3 comments

AtomでMarkdownファイルを開いた時に、次のようなエラーがコンソールに出て、lintされません。

linter-registry.js:137 [Linter] Error running textlint AssertionError: Processor.availableExtensions() should be implemented
    at D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\config\plugin-loader.js:89:9
    at Array.forEach (<anonymous>)
    at Object.loadAvailableExtensions (D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\config\plugin-loader.js:81:17)
    at new Config (D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\config\config.js:165:52)
    at Function.Config.initWithAutoLoading (D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\config\config.js:353:16)
    at TextLintEngine.AbstractTextLintEngine (D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\engine\textlint-engine-core.js:45:43)
    at new TextLintEngine (D:\Atom\.atom\packages\linter-textlint\node_modules\textlint\lib\textlint\src\textlint-engine.js:22:47)
    at Object.lint (file:///D:/Atom/.atom/packages/linter-textlint/lib/index.js:71:24)
    at promises.push.Promise.then._this2.emitter.emit.number (file:///D:/Atom/.atom/packages/linter/lib/linter-registry.js:101:24)
    at new Promise (<anonymous>)
    at _loop (file:///D:/Atom/.atom/packages/linter/lib/linter-registry.js:99:21)
    at LinterRegistry.<anonymous> (file:///D:/Atom/.atom/packages/linter/lib/linter-registry.js:87:40)
    at Generator.next (<anonymous>)
    at LinterRegistry.<anonymous> (file:///D:/Atom/.atom/packages/linter/lib/linter-registry.js:143:4)
    at Generator.next (<anonymous>)
    at step (D:\Atom\.atom\packages\linter\lib\linter-registry.js:5:273)
    at D:\Atom\.atom\packages\linter\lib\linter-registry.js:5:443
    at new Promise (<anonymous>)
    at LinterRegistry.<anonymous> (D:\Atom\.atom\packages\linter\lib\linter-registry.js:5:99)
    at file:///D:/Atom/.atom/packages/linter/lib/main.js:125:30
    at Function.module.exports.Emitter.simpleDispatch (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:156:34)
    at EditorLinter.lint (file:///D:/Atom/.atom/packages/linter/lib/editor-linter.js:40:18)
    at EditorRegistry.createFromTextEditor (file:///D:/Atom/.atom/packages/linter/lib/editor-registry.js:43:20)
    at file:///D:/Atom/.atom/packages/linter/lib/editor-registry.js:25:12
    at onDidAddTextEditor (D:\Atom\Atom\resources\app\src\workspace.js:648:60)
    at Function.module.exports.Emitter.simpleDispatch (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:156:34)
    at onDidAddPaneItem (D:\Atom\Atom\resources\app\src\workspace.js:520:28)
    at Function.module.exports.Emitter.simpleDispatch (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (D:\Atom\Atom\resources\app\node_modules\event-kit\lib\emitter.js:156:34)
    at PaneContainer.didAddPaneItem (D:\Atom\Atom\resources\app\src\pane-container.js:271:24)
    at Pane.addItem (D:\Atom\Atom\resources\app\src\pane.js:640:48)
    at Pane.activateItem (D:\Atom\Atom\resources\app\src\pane.js:582:18)
    at Workspace.open (D:\Atom\Atom\resources\app\src\workspace.js:1063:20)
    at <anonymous>
(anonymous) @ linter-registry.js:137
Promise rejected (async)
_loop @ linter-registry.js:102
(anonymous) @ linter-registry.js:87
(anonymous) @ linter-registry.js:143
step @ D:\Atom\.atom\packages\linter\lib\linter-registry.js:5
(anonymous) @ D:\Atom\.atom\packages\linter\lib\linter-registry.js:5
(anonymous) @ D:\Atom\.atom\packages\linter\lib\linter-registry.js:5
(anonymous) @ main.js:125
module.exports.Emitter.simpleDispatch @ VM22 <embedded>:68263
module.exports.Emitter.emit @ VM22 <embedded>:68392
lint @ editor-linter.js:40
createFromTextEditor @ editor-registry.js:43
(anonymous) @ editor-registry.js:25
onDidAddTextEditor @ VM22 <embedded>:29105
module.exports.Emitter.simpleDispatch @ VM22 <embedded>:68263
module.exports.Emitter.emit @ VM22 <embedded>:68392
onDidAddPaneItem @ VM22 <embedded>:28977
module.exports.Emitter.simpleDispatch @ VM22 <embedded>:68263
module.exports.Emitter.emit @ VM22 <embedded>:68392
didAddPaneItem @ VM22 <embedded>:30788
addItem @ VM22 <embedded>:31732
activateItem @ VM22 <embedded>:31674
open @ VM22 <embedded>:29520
async function (async)
open @ VM22 <embedded>:29550
module.exports.TreeView.fileViewEntryClicked @ VM22 <embedded>:124253
module.exports.TreeView.entryClicked @ VM22 <embedded>:124241
(anonymous) @ VM22 <embedded>:123967

使用環境は次の通りです。

  • OS: Windows 10 Pro version 1803, 64-bit
  • Atom: 1.31.1
    • ポータブルモードで使用
  • linter: 2.2.0
  • linter-textlint: 4.2.0
  • textlint: 11.0.1
    • textlint はついさっき更新したばかりです。更新前のtextlint@11.0.0でも同様のエラーが出て動きませんでした。
  • Node.js: 10.11.0

同じファイルをAtomで開かずにコマンドライン上でtextlintにかけると、問題なくlintされます。

@nyoro712
恐らく、ローカル環境で使用しているプラグインが textlint v11 を想定しているため、linter-textlint でバンドルしている textlint が v10 と deprecated になった availableExtensions でエラーが発生したものと思われます。

textlint v11 に対応した linter-textlint を v5.0.0 としてリリースしたので、こちらを試してもらえますか。

@1000ch v5.0.0に更新しました。問題なく動くようになりました。ありがとうございます。