Skip to content

Commit

Permalink
Merge pull request #26 from oslabs-beta/nexus/pub
Browse files Browse the repository at this point in the history
Nexus v0.5.3 released and published to VSCode Extension Marketplace
  • Loading branch information
mykongee committed Mar 11, 2022
2 parents a012b12 + cee234f commit 4ce33d6
Show file tree
Hide file tree
Showing 136 changed files with 19,744 additions and 2 deletions.
Binary file added .DS_Store
Binary file not shown.
7 changes: 7 additions & 0 deletions .vscode/launch.json
@@ -0,0 +1,7 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": []
}
16 changes: 16 additions & 0 deletions LICENSE.txt
@@ -0,0 +1,16 @@
Copyright (c) 2022 OSLabs Beta

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
14 changes: 14 additions & 0 deletions Logo-designer-details.rtf
@@ -0,0 +1,14 @@
{\rtf1\ansi\ansicpg1252\cocoartf2636
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0

\f0\fs24 \cf0 Nexus\
None\
A software development company that provides tools for senior developers to visualize their codebase and make smarter decisions\
No website yet\
\
Tree (abstract, minimalist), roots\
}
202 changes: 200 additions & 2 deletions README.md
@@ -1,2 +1,200 @@
# Nexus
NextJS VScode extension to visualize component tree.
<div id="top"></div>

<!-- PROJECT SHIELDS -->
<!--
*** I'm using markdown "reference style" links for readability.
*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).
*** See the bottom of this document for the declaration of the reference variables
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.
*** https://www.markdownguide.org/basic-syntax/#reference-style-links
<a href="https://github.com/github_username/repo_name">
</a>
-->

<!-- PROJECT LOGO -->
<br />
<div align="center">
<img src="nexus/media/logo.png" alt="NexusLogo" width="100%">

<!-- HEADING AREA -->
<h1 align="center">Nexus</h1>

<p align="center">
A component tree extension for NextJS
<br />
<br />
<a href="https://github.com/oslabs-beta/Nexus/issues">Report Bugs</a>
·
<a href="https://github.com/oslabs-beta/Nexus/issues">Request Features</a>
</p>
</div>



<!-- TABLE OF CONTENTS -->
<details>
<summary>Table of Contents</summary>
<ol>
<li>
<a href="#about-the-project">About The Project</a>
<ul>
<li><a href="#built-with">Built With</a></li>
</ul>
</li>
<li><a href="#installation">Installation</a></li>
<li>
<a href="#getting-started">Getting Started</a>
<ul>
<li><a href="#prerequisites">Prerequisites</a></li>
</ul>
</li>
<li><a href="#usage">Usage</a></li>
<li><a href="#roadmap">Roadmap</a></li>
<li>
<a href="#contributing">Steps to Contribute</a>
<ul>
<li><a href ="#making-changes">Making Changes</a></li>
</ul>
</li>
<li><a href="#license">License</a></li>
<li><a href="#NexusTeam">The Nexus Team</a></li>
<li><a href="#contact">Contact</a></li>
</ol>
</details>



<!-- ABOUT THE PROJECT -->
## About The Project

Nexus is a VSCode Extension created for NextJS developers! As codebases scale in size and complexity, developers may feel overwhelmed as they keep track of tens of components and hundreds of props elements per file. Nexus aims to help developers overcome unnecessary mental strain through 3 main methods:

1. Displaying file-specific component hierarchy in your VSCode sidebar
2. Including component-specific state and props objects for parent and child components
3. Differentiating between server-side rendered and static-site generated components

We at Team Nexus hope that you enjoy our extension, taking advantage of a time-tested component tree model that integrates the unique features of NextJS!

<p align="right">(<a href="#top">back to top</a>)</p>


<!-- BUILT WITH -->
### Built With

* <img style="height: 1em;" src="nexus/media/next-js.svg"> [Next.js](https://nextjs.org/)
* <img style="height: 1em;" src="nexus/media/react-brands.svg"> [React.js](https://reactjs.org/)
* <img style="height: 1em;" src="nexus/media/typescript.svg"> [Typescript](https://www.typescriptlang.org/)
* <img style="height: 1em;" src="nexus/media/vscode.svg"> [VSCode Extension API](https://code.visualstudio.com/api)
* <img style="height: 1em;" src="nexus/media/webpack.svg"> [Webpack](https://webpack.js.org/)
* [Acorn Parser](https://www.npmjs.com/package/acorn)

<p align="right">(<a href="#top">back to top</a>)</p>

<!-- INSTALLATION -->
## Installation

1. Download VSCode for your machine: [VSCode Install](https://code.visualstudio.com/download)

2. Install the Nexus extension in the VSCode Marketplace: [here](put download link here)

3. A node tree icon should appear on your sidebar. You've now installed Nexus! Woot Woot! Now on to the "Getting Started" section below.

Note: If contributing, see the "Installation for Contributors" section below!

<p align="right">(<a href="#top">back to top</a>)</p>

<!-- GETTING STARTED -->
## Getting Started

Congrats on installing Nexus! Now let's get it started.


### Prerequisites

Nexus supports OSX, Windows, and WSL

<!-- USAGE EXAMPLES -->
## Usage

1. Click the node tree icon on your sidebar. An "Input File Here" button should appear on your side panel!
<img src="nexus/media/gif1.gif">

2. Click the button and your file explorer window will open. Select a file and press "Ok".
<img src="nexus/media/gif2.gif">

3. Your side panel should now render a component tree that displays SSG or SSR status! Clicking on components will render child components if they exist and hovering over components will display their props objects. Enjoy!
<img src="nexus/media/gif3.gif">

<p align="right">(<a href="#top">back to top</a>)</p>



<!-- ROADMAP -->
## Roadmap

- [ ] Creating a webview to look deeper into structure of individual components
- [ ] Making the parser more dynamic and flexible
- [ ] Handling Link Components
- [ ] Error checking in the frontend to ensure that uploaded files are either NextJS or React
- [ ] Add status bar item for Nexus
- [ ] Store component tree memory in VSCode

See the [open issues](https://github.com/oslabs-beta/Nexus/issues) for a full list of proposed features (and known issues).

<p align="right">(<a href="#top">back to top</a>)</p>


<!-- STEPS TO CONTRIBUTE -->
## Steps to Contribute

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork & Clone Nexus
2. Create your Feature Branch (`git checkout -b <github_username>/<YourAmazingFeature>`)
3. Make your Changes (See **Making Changes** below)
4. Commit your Changes (`git commit -m '<Your Commit Message>'`)
5. Push to the Branch (`git push origin <github_username>/<YourAmazingFeature>`)
6. Open a Pull Request

<p align="right">(<a href="#top">back to top</a>)</p>

<!-- MAKING CHANGES -->
### Making Changes

1. Make your changes!
2. Open /nexus/src/extension.ts and save any changes you made
3. Re-compile and re-build your extension using the command line: `npm run compile` & `npm run build`
4. Press F5. A new VSCode window should open. This is your debugging environment!
5. Repeat step 3 and refresh your debugging environment to test further changes

<p align="right">(<a href="#top">back to top</a>)</p>

<!-- LICENSE -->
## License

Distributed under the MIT License. See `LICENSE` for more information.

<p align="right">(<a href="#top">back to top</a>)</p>


<!-- THE NEXUS TEAM -->
## The Nexus Team

* Mike Hong [LinkedIn](https://www.linkedin.com/in/mykongee/) | [Github](https://github.com/mykongee)
* Brian Chiang [LinkedIn](https://www.linkedin.com/in/brian-chiang-849a181a7/) | [Github](https://github.com/BChiang4)
* David Lee [LinkedIn](https://www.linkedin.com/in/david-lee-39541411a/) | [Github](https://github.com/dplee123)
* Nico Flores [LinkedIn](https://www.linkedin.com/in/nicolasaflores/) | [Github](https://github.com/nicoflrs)
* Alex Hersler [LinkedIn](https://www.linkedin.com/in/alex-hersler/) | [Github](https://github.com/FoxEight)

<!-- CONTACT US -->
## Contact Us
Email: nexusjsadm@gmail.com

Twitter: [@teamnexus_js](https://twitter.com/teamnexus_js)

Website: [https://nexus-js.com/](https://nexus-js.com/)

<p align="right">(<a href="#top">back to top</a>)</p>
Binary file added images/.DS_Store
Binary file not shown.
Binary file added images/Abstract-Tree.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Component-Tree-Icon-Inspiration.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Component-Tree-Tool.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Cool-looking-use-of-tree.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Grey-scale-color-palette.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Inspiration-along-the-lines-of-tree.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Nextjs-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Nextjs-2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Nextjs-3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Nextjs-4.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Nexus-idea.PNG
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Roots-inspiration.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/component-tree-example-1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added nexus/.DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions nexus/.babelrc
@@ -0,0 +1,3 @@
{
presets: ["@babel/preset-env", "@babel/preset-react"]
}
24 changes: 24 additions & 0 deletions nexus/.eslintrc.json
@@ -0,0 +1,24 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
"@typescript-eslint/naming-convention": "warn",
"@typescript-eslint/semi": "warn",
"curly": "warn",
"eqeqeq": "warn",
"no-throw-literal": "warn",
"semi": "off"
},
"ignorePatterns": [
"out",
"dist",
"**/*.d.ts"
]
}
3 changes: 3 additions & 0 deletions nexus/.gitignore
@@ -0,0 +1,3 @@
node_modules
.DS_Store
nexus-extension-0.5.2.vsix
7 changes: 7 additions & 0 deletions nexus/.vscode/extensions.json
@@ -0,0 +1,7 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"dbaeumer.vscode-eslint"
]
}
34 changes: 34 additions & 0 deletions nexus/.vscode/launch.json
@@ -0,0 +1,34 @@
// A launch configuration that compiles the extension and then opens it inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Extension",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
},
{
"name": "Extension Tests",
"type": "extensionHost",
"request": "launch",
"args": [
"--extensionDevelopmentPath=${workspaceFolder}",
"--extensionTestsPath=${workspaceFolder}/out/test/suite/index"
],
"outFiles": [
"${workspaceFolder}/out/test/**/*.js"
],
"preLaunchTask": "${defaultBuildTask}"
}
]
}
11 changes: 11 additions & 0 deletions nexus/.vscode/settings.json
@@ -0,0 +1,11 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.exclude": {
"out": false // set this to true to hide the "out" folder with the compiled JS files
},
"search.exclude": {
"out": true // set this to false to include "out" folder in search results
},
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off"
}
20 changes: 20 additions & 0 deletions nexus/.vscode/tasks.json
@@ -0,0 +1,20 @@
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "watch",
"problemMatcher": "$tsc-watch",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
10 changes: 10 additions & 0 deletions nexus/.vscodeignore
@@ -0,0 +1,10 @@
.vscode/**
.vscode-test/**
src/**
.gitignore
.yarnrc
vsc-extension-quickstart.md
**/tsconfig.json
**/.eslintrc.json
**/*.map
**/*.ts
16 changes: 16 additions & 0 deletions nexus/LICENSE.txt
@@ -0,0 +1,16 @@
Copyright (c) 2022 OSLabs Beta

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

0 comments on commit 4ce33d6

Please sign in to comment.