Skip to content

Commit 71261a7

Browse files
Pejman NikramPejman Nikram
authored andcommitted
Init project 🚀
1 parent d72eb84 commit 71261a7

81 files changed

Lines changed: 13284 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Deploy to GitHub Pages And VS Code Market place
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: checkout
18+
uses: actions/checkout@v4
19+
- name: Set up Node
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: lts/*
23+
cache: "npm"
24+
- name: Install dependencies
25+
run: npm ci
26+
27+
- name: Build
28+
run: npm run build
29+
- name: Upload web artifact
30+
uses: actions/upload-pages-artifact@v3
31+
with:
32+
path: "./packages/web/dist"
33+
34+
- name: Package by vsce
35+
run: npx vsce package
36+
working-directory: packages/vsc/
37+
- uses: actions/upload-artifact@v4
38+
with:
39+
path: "*.vsix"
40+
41+
deploy:
42+
needs: build
43+
runs-on: ubuntu-latest
44+
if: success()
45+
environment:
46+
name: github-pages
47+
url: ${{ steps.deployment.outputs.page_url }}
48+
steps:
49+
- uses: actions/download-artifact@v4
50+
- name: Setup Pages
51+
uses: actions/configure-pages@v5
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4
55+
- run: npx vsce publish --packagePath $(find . -iname *.vsix)
56+
env:
57+
VSCE_PAT: ${{ secrets.VSCE_PAT }}

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
node_modules
2+
dist
3+
**/*.vsix
4+
packages/vsc/README.md
5+
packages/vsc/CHANGELOG.md

.vscode/extensions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
// See http://go.microsoft.com/fwlink/?LinkId=827846
3+
// for the documentation about the extensions.json format
4+
"recommendations": [
5+
"dbaeumer.vscode-eslint",
6+
"connor4312.esbuild-problem-matchers",
7+
"ms-vscode.extension-test-runner"
8+
]
9+
}

.vscode/launch.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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": ["--extensionDevelopmentPath=${workspaceFolder}/packages/vsc"],
13+
"outFiles": ["${workspaceFolder}/packages/vsc/dist/**/*.js"],
14+
"preLaunchTask": "${defaultBuildTask}"
15+
}
16+
]
17+
}

.vscode/settings.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+
"editor.formatOnSave": true,
14+
"editor.defaultFormatter": "esbenp.prettier-vscode"
15+
}

.vscode/tasks.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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+
"label": "watch",
8+
"dependsOn": ["npm: watch:tsc", "npm: watch:esbuild"],
9+
"presentation": {
10+
"reveal": "never"
11+
},
12+
"group": {
13+
"kind": "build",
14+
"isDefault": true
15+
}
16+
},
17+
{
18+
"type": "npm",
19+
"script": "watch:esbuild",
20+
"group": "build",
21+
"path": "./packages/vsc",
22+
"problemMatcher": "$esbuild-watch",
23+
"isBackground": true,
24+
"label": "npm: watch:esbuild",
25+
"presentation": {
26+
"group": "watch",
27+
"reveal": "never"
28+
}
29+
},
30+
{
31+
"type": "npm",
32+
"script": "watch:tsc",
33+
"group": "build",
34+
"path": "./packages/vsc",
35+
"problemMatcher": "$tsc-watch",
36+
"isBackground": true,
37+
"label": "npm: watch:tsc",
38+
"presentation": {
39+
"group": "watch",
40+
"reveal": "never"
41+
}
42+
},
43+
{
44+
"type": "npm",
45+
"script": "watch-tests",
46+
"problemMatcher": "$tsc-watch",
47+
"path": "./packages/vsc",
48+
"isBackground": true,
49+
"presentation": {
50+
"reveal": "never",
51+
"group": "watchers"
52+
},
53+
"group": "build"
54+
},
55+
{
56+
"label": "tasks: watch-tests",
57+
"dependsOn": ["npm: watch", "npm: watch-tests"],
58+
"problemMatcher": []
59+
}
60+
]
61+
}

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Change Log
2+
3+
All notable changes to the "packlens" project 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+
## [1.0.0]
10+
- Initial release

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1818
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
21+
SOFTWARE.

README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# PackLens
2+
3+
![logo](https://raw.githubusercontent.com/PejmanNik/packlens/f564b254bdb78e610171bc6755d0ea80ea686f6e/media/icon.png)
4+
5+
PackLens is a web application and Visual Studio Code extension designed for decoding and searching within MessagePack binary files. It provides an intuitive interface for exploring and analyzing data efficiently.
6+
7+
## Features
8+
9+
- 📃 **MessagePack Decoding**: Automatically decode and visualize MessagePack (.msgpack) files with ease.
10+
- 🔍 **Advanced Search**: Perform custom searches and map data using JavaScript code.
11+
- 🔄 **Streaming Support**: Efficiently stream and process large MessagePack files without performance bottlenecks.
12+
- 🎯 **Custom Editor**: Seamlessly integrates with VS Code's editor system for a native experience.
13+
14+
## Installation
15+
16+
### From VS Code Marketplace
17+
18+
1. Open Visual Studio Code.
19+
2. Navigate to the Extensions view (`Ctrl+Shift+X`).
20+
3. Search for [PackLens](https://marketplace.visualstudio.com/items?itemName=pejmannikram.packlens).
21+
4. Click **Install**.
22+
23+
### Web Application
24+
25+
1. Visit [PackLens Web](https://packlens.pejmannik.dev) to use the web interface.
26+
27+
## Usage
28+
29+
### Visual Studio Code Extension
30+
31+
1. Open any `.msgpack` file in VS Code.
32+
2. The file will automatically open in the PackLens viewer.
33+
3. Explore the decoded MessagePack data using the interactive interface.
34+
35+
![demo-vsc](https://github.com/PejmanNik/packlens/blob/main/media/vsc-demo.gif?raw=true)
36+
37+
### Web Application
38+
39+
1. Upload your `.msgpack` file to the web interface.
40+
2. Use the search and visualization tools to analyze your data.
41+
42+
![demo-web](https://github.com/PejmanNik/packlens/blob/main/media/web-demo.gif?raw=true)
43+
44+
## Development
45+
46+
This project uses a monorepo structure with three main packages:
47+
48+
### Project Structure
49+
50+
```
51+
packages/
52+
├── common/ # Shared types and utilities for decoding and processing files
53+
├── vsc/ # Visual Studio Code extension
54+
└── web/ # React-based web interface
55+
```
56+
57+
## License
58+
59+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
60+
61+
## Changelog
62+
63+
See [CHANGELOG.md](CHANGELOG.md) for release notes and version history.

media/icon.png

23.4 KB
Loading

0 commit comments

Comments
 (0)