簡體   English   中英

是否可以在.watchmanconfig中配置Watchman觸發器?

[英]Is it possible to configure watchman triggers in .watchmanconfig?

Facebook看守文檔描述了如何通過將json傳遞給命令來配置觸發器,如下所示:

watchman --json-command < ./tasks/cmds/watchman-build-trigger.json -build- watchman --json-command < ./tasks/cmds/watchman-build-trigger.json其中watchman --json-command < ./tasks/cmds/watchman-build-trigger.json -build-trigger.json包含以下內容:

[
    "trigger", 
    "/Users/michaelprescott/Projects/neuro", 
    {
        "name": "build",
        "expression": [
            "anyof",
            [
                "match",
                "src/*.js",
                "wholename"
            ],
            [
                "match",
                "src/*.ts",
                "wholename"
            ],
            [
                "match",
                "src/*.html",
                "wholename"
            ]
        ],
        "command": [
            "./tasks/cmds/build.sh"
        ]
    }
]

但是,我試圖了解如何使用.watchmanconfig通過watchman watchman watch-project來設置手表和觸發器集,但我沒有執行以下操作。 這可能嗎? 有沒有人有.watchmanconfig的示例

{
    "ignore_dirs": [
        "node_modules"
    ],
    "watched": [
        {
            "path": "/Users/michaelprescott/Projects/neuro",
            "triggers": [
                {
                    "command": [
                        "./tasks/cmds/build.sh"
                    ],
                    "expression": [
                        "anyof",
                        [
                            "match",
                            "src/*.js",
                            "wholename"
                        ],
                        [
                            "match",
                            "src/*.ts",
                            "wholename"
                        ],
                        [
                            "match",
                            "src/*.html",
                            "wholename"
                        ]
                    ],
                    "name": "build"
                }
            ]
        }
    ]
}

不,通過.watchmanconfig 理由是,由於.watchmanconfig旨在被檢查到可以由任意人克隆的存儲庫中,因此我們寧願不允許它成為可以運行任意代碼而無需那些人明確采取行動的工具。運行。

我們的建議是將觸發器創建包裝在某種類型的腳本中,當用戶希望啟用觸發行為時,可以指導用戶運行該腳本。

另外,我敦促您代替這個用例看守望者 它具有比觸發器更好的人體工程學,因為它很容易看到正在運行的命令的輸出並在您希望它們停止時終止它們。

例如,您可以改為通過以下方式實現觸發器:

watchman-make -r tasks/cmds/build.sh -p 'src/*.js' -p 'src/*.ts' -p 'src/*.html'

(單引號很重要!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM