azu / JavaScript-Plugin-Architecture

JavaScriptプラグインアーキテクチャの本
https://azu.github.io/JavaScript-Plugin-Architecture/
MIT License
250 stars 12 forks source link

ESLint #21

Closed azu closed 9 years ago

azu commented 9 years ago

ESLintのアーキテクチャ

URL: http://eslint.org/

どう書ける?

consoleが残ってないかを検出するno-console.js

module.exports = function(context) {
    return {
        "MemberExpression": function(node) {
            if (node.object.name === "console") {
                context.report(node, "Unexpected console statement.");
            }
        }
    };
};

どういう仕組み?

azu commented 9 years ago

Architecture - ESLint - Pluggable JavaScript linter

azu commented 9 years ago

いわゆるpub/subなパターンといえる

azu commented 9 years ago

https://github.com/eslint/eslint/issues/3134#issuecomment-135840617

やっぱりwriteするには吸収層が必要。 このアーキテクチャー的にプラグインは基本的writeは難しいので、擬似的にwriteする仕組みは必要。

azu commented 9 years ago

ひとまず書けたので close #21 細かいところは別Issueで直そう