10 |
11 |
12 |
13 |
14 |
39 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Reactime-Vue
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/app/components/Map.vue:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
37 |
38 |
--------------------------------------------------------------------------------
/src/extension/build/app.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | * ApexCharts v3.26.0
3 | * (c) 2018-2021 Juned Chhipa
4 | * Released under the MIT License.
5 | */
6 |
7 | /*!
8 | * Vue.js v2.6.12
9 | * (c) 2014-2020 Evan You
10 | * Released under the MIT License.
11 | */
12 |
13 | /*! svg.draggable.js - v2.2.2 - 2019-01-08
14 | * https://github.com/svgdotjs/svg.draggable.js
15 | * Copyright (c) 2019 Wout Fierens; Licensed MIT */
16 |
17 | /*! svg.filter.js - v2.0.2 - 2016-02-24
18 | * https://github.com/wout/svg.filter.js
19 | * Copyright (c) 2016 Wout Fierens; Licensed MIT */
20 |
21 | /**!
22 | * @fileOverview Kickass library to create and place poppers near their reference elements.
23 | * @version 1.15.0
24 | * @license
25 | * Copyright (c) 2016 Federico Zivolo and contributors
26 | *
27 | * Permission is hereby granted, free of charge, to any person obtaining a copy
28 | * of this software and associated documentation files (the "Software"), to deal
29 | * in the Software without restriction, including without limitation the rights
30 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
31 | * copies of the Software, and to permit persons to whom the Software is
32 | * furnished to do so, subject to the following conditions:
33 | *
34 | * The above copyright notice and this permission notice shall be included in all
35 | * copies or substantial portions of the Software.
36 | *
37 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
38 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
39 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
40 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
42 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43 | * SOFTWARE.
44 | */
45 |
--------------------------------------------------------------------------------
/src/app/components/NavBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
KangaVue is a performance and debugging tool for Vue developers (currently in Beta version). It displays a snapshot whenever a target application's state is changed. It also displays key web metrics from loading of the application for SEO strategies and overal app performance.
4 |
5 | After installing KangaVue, you can test its functionalities with your Vue application in development mode.
6 |
7 | ## Installation
8 |
9 |
10 |
11 |
12 | NOTE: The Vue Developer Tools [extension](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd?hl=en) is also required for KangaVue to run, if you do not already have it installed on your browser.
13 |
14 | ## How to Use
15 |
16 | After installing the Chrome extension, just open up your project in the browser.
17 |
18 | Then open up your Chrome DevTools and navigate to the KangaVue panel.
19 |
20 | ## Troubleshooting
21 |
22 | ### ❓ I found a bug in KangaVue
23 |
24 | KangaVue is an open source project, and we’d really appreciate your help with improving user experience. Please, create a pull request (or issue) to propose and collaborate on changes to a repository.
25 |
26 | ## Features
27 |
28 | ### 🔹 Component Hierarchy
29 |
30 | You can click on the component tree tab in the navigation bar to view your app's component heirarchy. State can be visualized in a Component Graph.
31 |
32 | ### 🔹 Web Metrics
33 |
34 | When your app loads or refreshes, the initial loading metrics will be rendered in a visual display under the Web Metrics Panel. Use these metrics to pinpoint performance issues that may affect your user experience and/or search optimization efforts.
35 |
36 |
37 | ## Read More
38 |
39 | - [KangaVue — Vue.js web metrics in a devtool pouch](https://dxbernstein.medium.com/kangavue-vue-js-web-metrics-in-a-devtool-pouch-3aee7f128a3f)
40 |
41 | ## Authors
42 | - **Harry Fox** - [@StackOverFlowWhereArtThou](https://github.com/StackOverFlowWhereArtThou)
43 | - **Nathan Richardson** - [@BagelEnthusiast](https://github.com/BagelEnthusiast)
44 | - **David Bernstein** - [@dangitbobbeh](https://github.com/dangitbobbeh)
45 | - **Joseph Stern** - [@josephiswhere](https://github.com/josephiswhere))
46 |
47 | ## License
48 |
49 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
50 |
--------------------------------------------------------------------------------
/src/extension/build/background.js:
--------------------------------------------------------------------------------
1 | // chrome.runtime.onConnect.addListener(function (devToolsConnection) {
2 | // // assign the listener function to a variable so we can remove it later
3 | // let devToolsListener = function (message, sender, sendResponse) {
4 | // // Inject a content script into the identified tab
5 | // chrome.tabs.executeScript(message.tabId,
6 | // { file: message.scriptToInject });
7 | // }
8 | // // add the listener
9 | // devToolsConnection.onMessage.addListener(devToolsListener);
10 | // devToolsConnection.onDisconnect.addListener(function () {
11 | // devToolsConnection.onMessage.removeListener(devToolsListener);
12 | // });
13 | // });
14 |
15 | /// ///////LISTENER CODE///////////////////
16 | var connections = {};
17 |
18 | chrome.tabs.query({active: true, currentWindow:true}, function(tabs)
19 | {console.log('backgroundjs tabs check:', tabs)
20 |
21 | });
22 |
23 | chrome.runtime.onConnect.addListener(function (port) {
24 |
25 | var extensionListener = function (message, sender, sendResponse) {
26 |
27 | // The original connection event doesn't include the tab ID of the
28 | // DevTools page, so we need to send it explicitly.
29 | if (message.name == "init") {
30 | connections[message.tabId] = port;
31 | console.log('message.tabId background.js ln 27 = ', message.tabId)
32 | return;
33 | }
34 |
35 | // other message handling
36 | }
37 |
38 | // Listen to messages sent from the DevTools page
39 | port.onMessage.addListener(extensionListener);
40 |
41 | port.onDisconnect.addListener(function(port) {
42 | port.onMessage.removeListener(extensionListener);
43 |
44 | var tabs = Object.keys(connections);
45 | for (var i=0, len=tabs.length; i < len; i++) {
46 | if (connections[tabs[i]] == port) {
47 | delete connections[tabs[i]]
48 | break;
49 | }
50 | }
51 | });
52 | });
53 | // Receive message from content script and relay to the devTools page for the
54 | // current tab
55 | chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
56 | // Messages from content scripts should have sender.tab set
57 | if (sender.tab) {
58 | var tabId = sender.tab.id;
59 | if (tabId in connections) {
60 | console.log('conexios', connections)
61 | let msg = {...request, tabId}
62 | console.log('msg from backgroundjs ln58:', msg)
63 | connections[tabId].postMessage(msg);
64 | } else {
65 | console.log("Tab not found in connection list.");
66 | }
67 | } else {
68 | console.log("sender.tab not defined.");
69 | }
70 | return true;
71 | });
72 |
73 | /////////////////////////// New Actual Data \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
74 |
75 | // Create an object to store tabs information in
76 | // const tabsObj = {};
77 |
78 | // Listens for messages from content_script
79 | // chrome.runtime.onMessage.addListener((req, sender) => {
80 | // console.log("Reqeust and Sender \n", req, sender);
81 |
82 | // if (req.name) {
83 | // tabsObj[req.name] = req.value;
84 | // console.log(tabsObj);
85 | // }
86 | // });
87 |
--------------------------------------------------------------------------------
/src/app/components/WebMetrics.vue:
--------------------------------------------------------------------------------
1 |
2 |