├── .DS_Store
├── .babelrc
├── .eslintrc.json
├── .gitignore
├── .vscode
├── extensions.json
├── launch.json
├── settings.json
└── tasks.json
├── .vscodeignore
├── CHANGELOG.md
├── LICENSE.txt
├── README.md
├── assets
├── Errorlog.gif
├── ImportingSvelteFile.gif
├── OpeningComponent.gif
├── RS.png
├── ReSvelte.svg
├── ReSvelteLogo.svg
├── Sass.png
├── Svelte.png
├── Webview.png
├── WhiteResvelte.png
├── banner.png
├── react.png
├── smallResvelte.png
├── typescript.png
├── vscode.png
├── webpack.png
└── webpack2.png
├── babel.config.js
├── package-lock.json
├── package.json
├── src
├── .DS_Store
├── App.jsx
├── SidebarParser.js
├── SidebarProvider.ts
├── __tests__
│ ├── App.test.jsx
│ ├── application.test.ts
│ └── test.js
├── components
│ ├── componentNode.tsx
│ ├── elementNode.tsx
│ ├── errorMessage.tsx
│ ├── fileNode.tsx
│ └── performanceDisplay.tsx
├── extension.ts
├── parser
│ ├── getAliases.ts
│ └── parseTree.tsx
├── script.js
├── styles.scss
└── types.ts
├── tsconfig.json
└── webpack.config.js
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/.DS_Store
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-react"],
3 | "plugins": ["@babel/plugin-transform-runtime"]
4 | }
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "parserOptions": {
5 | "ecmaVersion": 6,
6 | "sourceType": "module"
7 | },
8 | "plugins": [
9 | "@typescript-eslint"
10 | ],
11 | "rules": {
12 | "@typescript-eslint/naming-convention": "warn",
13 | "@typescript-eslint/semi": "warn",
14 | "curly": "warn",
15 | "eqeqeq": "warn",
16 | "no-throw-literal": "warn",
17 | "semi": "off"
18 | },
19 | "ignorePatterns": [
20 | "out",
21 | "dist",
22 | "**/*.d.ts"
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | /dist
3 | /out
4 | **.vsix
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See http://go.microsoft.com/fwlink/?LinkId=827846
3 | // for the documentation about the extensions.json format
4 | "recommendations": ["dbaeumer.vscode-eslint", "amodio.tsl-problem-matcher"]
5 | }
6 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | // A launch configuration that compiles the extension and then opens it inside a new window
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | {
6 | "version": "0.2.0",
7 | "configurations": [
8 | {
9 | "name": "Run Extension",
10 | "type": "extensionHost",
11 | "request": "launch",
12 | "args": [
13 | "--extensionDevelopmentPath=${workspaceFolder}"
14 | ],
15 | "outFiles": [
16 | "${workspaceFolder}/dist/**/*.js"
17 | ],
18 | "preLaunchTask": "${defaultBuildTask}"
19 | },
20 | {
21 | "name": "Extension Tests",
22 | "type": "extensionHost",
23 | "request": "launch",
24 | "args": [
25 | "--extensionDevelopmentPath=${workspaceFolder}",
26 | "--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
27 | ],
28 | "outFiles": [
29 | "${workspaceFolder}/out/**/*.js",
30 | "${workspaceFolder}/dist/**/*.js"
31 | ],
32 | "preLaunchTask": "tasks: watch-tests"
33 | }
34 | ]
35 | }
36 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | // Place your settings in this file to overwrite default and user settings.
2 | {
3 | "files.exclude": {
4 | "out": false, // set this to true to hide the "out" folder with the compiled JS files
5 | "dist": false // set this to true to hide the "dist" folder with the compiled JS files
6 | },
7 | "search.exclude": {
8 | "out": true, // set this to false to include "out" folder in search results
9 | "dist": true // set this to false to include "dist" folder in search results
10 | },
11 | // Turn off tsc task auto detection since we have the necessary tasks as npm scripts
12 | "typescript.tsc.autoDetect": "off"
13 | }
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | // See https://go.microsoft.com/fwlink/?LinkId=733558
2 | // for the documentation about the tasks.json format
3 | {
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "type": "npm",
8 | "script": "watch",
9 | "problemMatcher": [
10 | "$ts-webpack-watch",
11 | "$tslint-webpack-watch"
12 | ],
13 | "isBackground": true,
14 | "presentation": {
15 | "reveal": "never",
16 | "group": "watchers"
17 | },
18 | "group": {
19 | "kind": "build",
20 | "isDefault": true
21 | }
22 | },
23 | {
24 | "type": "npm",
25 | "script": "watch-tests",
26 | "problemMatcher": "$tsc-watch",
27 | "isBackground": true,
28 | "presentation": {
29 | "reveal": "never",
30 | "group": "watchers"
31 | },
32 | "group": "build"
33 | },
34 | {
35 | "label": "tasks: watch-tests",
36 | "dependsOn": [
37 | "npm: watch",
38 | "npm: watch-tests"
39 | ],
40 | "problemMatcher": []
41 | }
42 | ]
43 | }
--------------------------------------------------------------------------------
/.vscodeignore:
--------------------------------------------------------------------------------
1 | .vscode/**
2 | .vscode-test/**
3 | node_modules/**
4 | .gitignore
5 | .yarnrc
6 | webpack.config.js
7 | vsc-extension-quickstart.md
8 | **/tsconfig.json
9 | **/.eslintrc.json
10 | **/*.map
11 | **/*.ts
12 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Change Log
2 |
3 | All notable changes to the "resvelte" extension will be documented in this file.
4 |
5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
6 |
7 | ## [Unreleased]
8 |
9 | - Initial release
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2022 OSLabs Beta
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
4 | associated documentation files (the "Software"), to deal in the Software without restriction, including
5 | without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6 | copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
7 | following conditions:
8 |
9 | The above copyright notice and this permission notice shall be included in all copies or substantial
10 | portions of the Software.
11 |
12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
13 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
14 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
15 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
16 | DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
21 |
22 | # About ReSvelte
23 |
24 | As developers create Svelte applications, the component tree increasingly scales in size. Components are a delicate part of front end frameworks. Efficiently placing and correctly executing components are of high importance.
25 |
26 | Having more components re-rendering, will affect the general performance of the application.
27 |
28 | ReSvelte solves this issue. It is a performance developer tool that generates a Svelte component tree visualizer and a component rendering metrics display of your Svelte application within a Visual Studio Code extension.
29 |
30 | # Getting Started with Installation and Usage
31 |
32 | 1. If not already installed, install Visual Studio Code for your respective operating system. Download Visual Studio Code
33 |
34 | 2. Search for ReSvelte in the Visual Studio Code Extension MarketPlace and install.
35 |
36 | Download ReSvelte Here!
37 |
38 |
39 | 3. A ReSvelte icon should appear on your sidebar. You have successfully installed ReSvelte!
40 |
41 | 4. Upload your Svelte folder. If there is an error, you will see an error message.
42 |
43 |
44 |
45 | 5. The component tree visualizer should now be populated in the sidebar with the component name. Toggle through the down arrows to expand the tree.
46 |
47 |
48 |
49 | 6. Underneath the tree, the app performance shows the total number of components rendered in your application and the number of components that can re-render. An error log will also report any import issues.
50 |
51 |
52 |
53 | ## Technology Stack
54 |
55 |
56 |
57 | React with React Hooks
58 |
59 |
60 |
61 | Visual Studio Code Extension API
62 |
63 |
64 |
65 | Typescript
66 |
67 |
68 |
69 | Svelte
70 |
71 |
Svelte-Parse
72 |
73 |
74 | WebView
75 |
76 |
77 |
78 | Webpack
79 |
80 |
81 | SCSS/SASS
82 |
83 |
84 |
85 | # Getting Started as a Contributor
86 |
87 | 1. Clone ReSvelte from GitHub
88 |
89 | 2. Open the ReSvelte folder in your VS Code IDE.
90 |
91 | 3. Run the command: `npm install`
92 |
93 | 4. Run the command: `npm run build`
94 |
95 | 5. Run the command: `npm run watch`
96 |
97 | 6. Press F5. Click "Debug Anyways". This will open the development extension to allow debugging and view the ReSvelte extension.
98 |
99 | 7. Click the 'RS' ReSvelte extension button on the left panel
100 |
101 | 8. Proceed to upload a Svelte folder
102 |
103 | 9. Press `command, shift, P` then type into the search bar "Developer: Open Webview Tools" to see the dev tools panel
104 |
105 | 10. If you make a change to the code, press the green restart button on the original code editor debugging bar. This will restart the development extension. Then repeat steps 7 and 8.
106 |
107 | ## What to Contribute
108 |
109 | ReSvelte is an open source tool. Contributions are what make the open source community such an amazing place to learn, inspire, create, and grow. Any contributions you make are greatly appreciated. Here are some features that could improve this application and build upon the core functionality:
110 |
111 | Storing the paths of all files which would allow the user to click on a component and be taken to that file for further editing or confirmation
112 | Adding render time to the performance metrics
113 | Tracking memory usage of an imported application
114 | Adding a link in the component tree to show the hierarchy
115 | Automatically find components in the imported application that aren’t running as expected and draw the user to that area
116 | Implementing a time machine that will allow users to make changes without risking the current state of the application
117 | Live updating of extension
118 |
119 | ### Suggestions
120 |
121 | We would love to hear your technical feedback! If you have suggestions, simply open an issue with the tag "enhancement".
122 |
123 | Don't forget to give this developer tool a star. Thank you for your contribution!
124 |
125 | # License
126 | Distributed under the MIT License. See `LICENSE` for more information
127 |
128 | # Contributors
129 |
161 |
162 | # Contact Us
163 |
164 | Email: resvelteadm@gmail.com
165 |
166 | Website: resvelte.com
167 |
168 |
169 |
170 |
171 |
172 |
173 |
--------------------------------------------------------------------------------
/assets/Errorlog.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/Errorlog.gif
--------------------------------------------------------------------------------
/assets/ImportingSvelteFile.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/ImportingSvelteFile.gif
--------------------------------------------------------------------------------
/assets/OpeningComponent.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/OpeningComponent.gif
--------------------------------------------------------------------------------
/assets/RS.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/RS.png
--------------------------------------------------------------------------------
/assets/ReSvelte.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
18 |
38 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/assets/ReSvelteLogo.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
10 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/assets/Sass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/Sass.png
--------------------------------------------------------------------------------
/assets/Svelte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/Svelte.png
--------------------------------------------------------------------------------
/assets/Webview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/Webview.png
--------------------------------------------------------------------------------
/assets/WhiteResvelte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/ReSvelte/bbb1598bc00aec9219e9d1cba844fc74d7561c0c/assets/WhiteResvelte.png
--------------------------------------------------------------------------------
/assets/banner.png:
--------------------------------------------------------------------------------
1 | �PNG
2 |
3 |
IHDR � � �Y�� sRGB ��� pHYs � ��+ �iTXtXML:com.adobe.xmp
4 |
5 |
6 |
7 |
9 |
10 |
11 |
12 | 2022-04-05
13 | 82acbfaa-1473-4954-9910-57a673b2f68c
14 | 525265914179580
15 | 2
16 |
17 |
18 |
19 |
20 |
21 |
23 | VITAE
24 |
25 |
26 |
28 | Canva
29 |
30 |
31 |
32 | e(65 IDATx���wx��y����S� ��)Q�J��e5[�jd[�c;N�xϞ�d����]'{�ɞ=�ƛr�8�&q�-ي��"J�$�ER�H�b�$H�^S����� `@Q0�}��$L������16�o�Rε�"""""W������d5^�j
33 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
34 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
35 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
36 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
37 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
38 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
39 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
40 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
41 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
42 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
43 | �""""��xEDDD$�)�����HVS�����+""""YM�WDDDD�������d5^�j
44 | �""""��xEDDD$�)�����HV\� "2Yk��M�$Ƙk}DD&^��]r�M��}|i7(�Ǚ�?�#�� ,"��+"סL7�~`M�� c-X;t~�yDc1�#"�"�F�FIx^