Web Component DevTools

Developer tooling for Web Components and Web Component Libraries

Web Component DevToolsとは何ですか?

Web Component DevToolsはMatsuuuによって開発されたChromeの拡張機能で、その主な機能は「Developer tooling for Web Components and Web Component Libraries」です。

拡張機能のスクリーンショット

screenshot
screenshot

Web Component DevTools拡張機能のCRXファイルをダウンロード

Web Component DevTools拡張子のファイルをcrx形式でダウンロードし、ブラウザにChrome拡張機能を手動でインストールするか、crxファイルを友達と共有して簡単にChrome拡張機能をインストールします。

拡張機能の使用方法

                        Developer tooling for Web Components and Web Component Libraries
Web Component DevTools is aimed at all developers working with Web Components. The tooling provided creates a new Chrome Devtools panel, which allows a quick look at the custom elements on the current page, and enables modification of  attributes and properties of said components.

Web Component DevTools utilizes the Custom Elements Manifest (https://github.com/webcomponents/custom-elements-manifest) to analyze the Web Components.


Features:

Web Component DevTools provides advanced features to the developer, straight from the browser's UI to, for example:

- Listing custom elements on the page, and accessible iframes inside the page
- Filtering custom elements on the list
- Inspecting and modifying the attributes of custom elements
- Inspecting and modifying the properties (even objects and arrays) of custom elements
- Observing dispatched events
- Calling functions of the custom element, and logging the return values
- View the source code of web components on page
- Interact directly with web components through the console



Why?

In the process of developing Web Components, wether it be with a library like Lit, or without any kind of library, there comes situtations in which you might want to have a bit more control over your components than what the regular browser devtools gives you.

You might for example want to:

Toggle the Attributes of the element
Toggle the Properties of the element
Monitor when events get dispatched from the element
Call functions
And when you're working with Web Components, Shadow DOM usually is present, making it fairly difficult to find the path to the element. And even if you got the path, having to write document.querySelector("my-selector-string > element-name").setAttribute("my-attr", "foo") every time you want to modify a value is quite cumbersome.

For this use case the Web Components DevTools were created: To enable the developer to easily modify the attributes, properties and therefore state of their element straight from the devtools window with the click of a button.




Issues:

Any issues you run into while using the DevTools should be submitted to the GitHub Repository (https://github.com/Matsuuu/web-component-devtools/issues).                    

拡張機能の基本情報

名前 Web Component DevTools Web Component DevTools
ID gdniinfdlmmmjpnhgnkmfpffipenjljo
公式URL https://chromewebstore.google.com/detail/web-component-devtools/gdniinfdlmmmjpnhgnkmfpffipenjljo
説明 Developer tooling for Web Components and Web Component Libraries
ファイルサイズ 1.74 MB
インストール数 6,000
現在のバージョン 0.2.2
最終更新日 2023-02-02
公開日 2021-07-06
評価 5.00/5 合計 6 レビュー
開発者 Matsuuu
Eメール [email protected]
支払い方法 free
拡張機能のウェブサイト https://matsuuu.github.io/web-component-devtools/
ヘルプページのURL https://github.com/Matsuuu/web-component-devtools/issues
対応言語 en
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 3,
    "name": "Web Component DevTools",
    "version": "0.2.2",
    "minimum_chrome_version": "88.0",
    "description": "Developer tooling for Web Components and Web Component Libraries",
    "author": "Matsuuu ",
    "devtools_page": "wc-devtools-init.html",
    "background": {
        "service_worker": "background-worker.js",
        "type": "module"
    },
    "content_scripts": [
        {
            "matches": [
                ""
            ],
            "js": [
                "content_script.js"
            ],
            "run_at": "document_idle"
        }
    ],
    "web_accessible_resources": [
        {
            "resources": [
                "message-types.js",
                "connection-channels.js",
                "content-messaging.js",
                "nydus.js",
                "crawler-constants.js",
                "analyzer.js",
                "crawler-inject.js",
                "spotlight-border.js"
            ],
            "matches": [
                ""
            ],
            "use_dynamic_urls": true
        }
    ],
    "permissions": [
        "tabs",
        "contextMenus",
        "scripting"
    ],
    "host_permissions": [
        ""
    ],
    "content_security_policy": {
        "extension_pages": "script-src 'wasm-unsafe-eval'; object-src 'self';script-src-elem 'self';"
    },
    "icons": {
        "16": "logo-16.png",
        "48": "logo-48.png",
        "128": "logo-128.png"
    }
}