Skip to content

Commit

Permalink
Merge pull request #71 from fosslife/master
Browse files Browse the repository at this point in the history
  • Loading branch information
Sparkenstein authored Jun 19, 2024
2 parents 25b83be + f39b59b commit 6d98dcc
Show file tree
Hide file tree
Showing 21 changed files with 9,028 additions and 8,356 deletions.
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# These are supported funding model platforms

github: [fosslife] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: [fosslife, sparkenstein] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
Expand Down
103 changes: 63 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ So here's DevTools-X -- an x-platform collection of dev-tools that is lighter, s
![GitHub issues](https://badgen.net/github/issues/fosslife/devtools-x) ![GitHub stars](https://badgen.net/github/stars/fosslife/devtools-x)
![Latest release](https://badgen.net/github/release/fosslife/devtools-x)

## Screenshot

<img width="1317" alt="Screenshot 2024-04-01 at 12 20 37 PM" src="https://github.com/fosslife/devtools-x/assets/24642451/4ab136a2-e8df-448e-96c2-e6525a35b393">

## Installation

Download the relevant package from Github Releases section, and start using it! :D
Expand All @@ -40,42 +44,48 @@ This project exists solely because I was fed up switching between different tool

## Features

DevTools-X has about **32 features** as of now, and growing. The full list in below, details of each are mentioned in a separate file. One big selling point of DevTools-X is it uses `monaco-editor`, the editor used by vscode, so tons of editor features are
available to you right from the start, as if you are using vscode. And in the backend we use `rust` so large number of heavy duty operations are given to rust to get it done quickly.

- JSON Editor/Formatter/Fixer/Minifier/Beautifier
- Text Hashes
- Hashing Files
- Password Generator
- JWT Formatter/Parser
- Number Convertor Binary/Hex/etc
- SQL Formatter
- Color Generator/Picker/Convertor
- Regex Tester
- Text/Code Diffing With Syntax Highlighting
- YAML <> JSON Convertor
- Pastebin (Github Gists)
- REST API Tester
- Programming Scratchpad
- Beautiful Markdown Preview
- Image Compressor/Convertor with Preview
- Bulk Image Compressor with Rust for Speed
- Unit Convertor (All Major Units Supported)
- React Scratchpad (Live React Editor to Get Preview)
- Unix EPOCH Convertor
- Stateless Password Generator/Manager
- BASE64 Text Convertor
- BASE64 Image Convertor
- Generating Structs/Types from JSON
- CSS/JS/HTML Minifier/Beautifier
- URL Parser
- HTML Preview
- Lorem Ipsum Sample Text Generator
- QR Code Generator
- PDF Reader
- Ping Command Preview
- Text Compressor
- And Many More Coming
#### Checkout [features.md](features.md) for a short video demo on every feature.

DevTools-X has about **34 features** as of now, and growing.

The full list in below, One big selling point of DevTools-X is it uses `monaco-editor`, the editor used by vscode, so tons of editor features are
available to you right from the start, as if you are using vscode.

1. Basic REST client
2. Unix epoch timestamp convertor
3. Graphical ping
4. Strong password generator
5. QR code generator
6. Code format/minify tools
7. React live scratchpad
8. Lorem Ipsum text generator
9. Image compressor/convertor with preview
10. Pastebin with gist
11. Programming scratchpad with many languages support
12. Bulk image compressor with Rust SIMD
13. Base64 text encode/decode
14. Base64 image encode/decode
15. Text hash calculate (md5, sha etc)
16. Files MD5
17. JSON formatter/minify etc
18. JWT decode
19. Number convertor
20. SQL formatter
21. Color convertor/picker
22. Code/text diff with syntax highlight
23. Markdown edit/preview
24. YAML JSON convertor
25. Multiple units convertor (length/pressure whatnot)
26. Text gzip/deflate/zlib compression
27. Stateless password generator
28. Generate programming Types and Interfaces from json
29. URL Parser
30. HTML editor and preview
31. PDF Reader
32. Cron edit and explain
33. UUID generator
34. Regex Tester
35. Generate mock data with Faker

## Contributing

Expand All @@ -102,14 +112,23 @@ That should be enough to tell you it's built on top of [Tauri](https://tauri.app

## FAQ

#### What's up with the bad looking UI?
#### Migrate settings?

There's a backup/restore feature available in settings drawer. you can backup manually as well, copy `settings.json` from [appDir](https://tauri.app/v1/api/js/path#appdatadir)

#### App is not starting/showing empty screen

Well, it was even worse previously! I am not a UI developer. I understand React, but not colors.
Feel free to contribute any changes that you think might make it look better.
Most likely your db is corrupt. delete `settings.json` file in your [appDir](https://tauri.app/v1/api/js/path#appdatadir).
Create a issue if you can't find it.

#### I do not like the order of modules

All module can be rearranged with drag-n-drop. order is saved in a local db. you can edit this file manually as well, it's a simple json file.

#### Do I need to know Rust to get started?

Absolutely not. I don't know Rust myself and I have a complete application that I created from scratch.
Absolutely not. Many modules are written in pure JS, rust is only needed for performance and security sensitive features like calculating hash
or compressing image etc.

## NEED HELP WITH:

Expand All @@ -122,3 +141,7 @@ Absolutely not. I don't know Rust myself and I have a complete application that
## License

[MIT](https://choosealicense.com/licenses/mit/)

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=fosslife/devtools-x&type=Date)](https://star-history.com/#fosslife/devtools-x&Date)
139 changes: 139 additions & 0 deletions features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Features list

> ignore colors in the videos, it's the compression
## Inbuilt REST api client (basic)

https://github.com/fosslife/devtools-x/assets/24642451/8c937aac-a6ec-401b-9209-16f0c4d9e2e8

## Epoch

https://github.com/fosslife/devtools-x/assets/24642451/182cf0da-4237-4373-a9dd-45a470625e37

## Ping

https://github.com/fosslife/devtools-x/assets/24642451/75549e61-edf9-444b-b452-db28d955162e

## Password Generator

https://github.com/fosslife/devtools-x/assets/24642451/742f1a5e-688f-4fce-ac91-831cc2707034

## QR Code generator

https://github.com/fosslife/devtools-x/assets/24642451/c29879b4-9bbd-47c2-a4c1-d4f99036f7da

## Minify/Beautify code

https://github.com/fosslife/devtools-x/assets/24642451/fc4e4518-4734-433b-96d1-3afacb43cd94

## React live scratchpad

https://github.com/fosslife/devtools-x/assets/24642451/e9236298-54c2-4c67-812e-b873160b6d25

## Lorem Ipsum text generator

https://github.com/fosslife/devtools-x/assets/24642451/c8251476-c1b3-4a5e-9662-b8779969b489

## Image compressor with preview

https://github.com/fosslife/devtools-x/assets/24642451/1989b3ed-156d-4b5c-81f1-ca62dd992e86

## Pastebin

https://github.com/fosslife/devtools-x/assets/24642451/ee5b2f2c-a001-4f28-856f-64d3a98c25eb

## Programming scratchpad for any language

https://github.com/fosslife/devtools-x/assets/24642451/5f6c00a7-c3ba-4ca0-925a-c8cbcc536a1f

## Bulk Image compressor (with SIMD - rust)

https://github.com/fosslife/devtools-x/assets/24642451/9606e383-ae69-4748-83dc-e208b573b7c2

## Base 64 text encoder and decoder

https://github.com/fosslife/devtools-x/assets/24642451/4f4ec732-6e27-42a8-aa89-2fc6d2c37e1c

## Base 64 image encoder and decoder

https://github.com/fosslife/devtools-x/assets/24642451/acbaccd1-b889-48f8-bd00-7d0201672d47

## Multi algorithm Hashing text

https://github.com/fosslife/devtools-x/assets/24642451/3eb6b8b3-339b-4b77-b368-369ef0dbb36f

## Fast MD5 calculator for files

https://github.com/fosslife/devtools-x/assets/24642451/c75bf832-c1b5-438f-b62a-186d613fcf95

## JSON compressor/formatter, etc tools

https://github.com/fosslife/devtools-x/assets/24642451/dbcea322-328b-45cd-839e-31db13cd6819

## JWT decoder

https://github.com/fosslife/devtools-x/assets/24642451/c392f72c-8819-42fd-a512-127aa2caef1d

## Number convertor

https://github.com/fosslife/devtools-x/assets/24642451/b7be56e0-7ab5-4642-b9be-d32242251bc3

## SQL formatter

https://github.com/fosslife/devtools-x/assets/24642451/1c0e1bb4-0714-430c-ac8f-57c30a1c46ef

## Color picker/generator/convertor

https://github.com/fosslife/devtools-x/assets/24642451/21f3ca5d-b846-40cc-8b6f-cddb298045f7

## Diff text/code with syntax highlight

https://github.com/fosslife/devtools-x/assets/24642451/f2fd8f53-fb92-454b-b0bf-34cf5db5675d

## Markdown editor and live preview

https://github.com/fosslife/devtools-x/assets/24642451/43301802-a670-4365-8610-bac2fb884852

## YAML JSON convertor

https://github.com/fosslife/devtools-x/assets/24642451/06cfaa56-ba66-453a-9333-b6047bf53ffd

## Variety of unit convertors

https://github.com/fosslife/devtools-x/assets/24642451/b97119b2-c4b3-477e-890e-b2c3e4f43eee

## Text compression gzip/zlib etc

https://github.com/fosslife/devtools-x/assets/24642451/58efb5e0-2981-4b7f-9e5f-01611f240c46

## Stateless password generator

https://github.com/fosslife/devtools-x/assets/24642451/793df3f1-987c-45f7-8116-95116b328891

## Quicktype types generator from sample json

https://github.com/fosslife/devtools-x/assets/24642451/cc6f213d-ebce-45ed-8065-b4618e045a51

## URL parser and visualizer

https://github.com/fosslife/devtools-x/assets/24642451/39749c42-b839-4c77-899b-609b7877df50

## HTML editor and live preview

https://github.com/fosslife/devtools-x/assets/24642451/9c38b8ae-d240-4fdf-8290-496b3aea29ec

## PDF reader

https://github.com/fosslife/devtools-x/assets/24642451/f8438f00-a918-43bf-92ce-7e582ecb06d8

## Cron tester, generate english meaning

https://github.com/fosslife/devtools-x/assets/24642451/ad4ebc4b-0a9d-42b2-abbd-1056438c9504

## UUID generator

https://github.com/fosslife/devtools-x/assets/24642451/8da9a0e3-1916-41bd-a0c2-64a2cdb52a51

## Regex playground

https://github.com/fosslife/devtools-x/assets/24642451/ad64d256-616d-4ca8-909d-9c3a576ed737
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dev-tools",
"version": "2.9.0",
"version": "2.10.0",
"license": "MIT",
"type": "module",
"scripts": {
Expand All @@ -18,6 +18,7 @@
},
"dependencies": {
"@aptabase/tauri": "^0.4.1",
"@faker-js/faker": "^8.4.1",
"@hello-pangea/dnd": "^16.6.0",
"@loadable/component": "^5.16.3",
"@mantine/charts": "^7.7.1",
Expand Down Expand Up @@ -62,7 +63,7 @@
"react-dom": "^18.2.0",
"react-icons": "^5.0.1",
"react-live": "^4.1.5",
"react-pdf": "^7.7.1",
"react-pdf": "^7.7.3",
"react-router-dom": "6.22.3",
"react-shepherd": "^4.3.0",
"react-sizeme": "^3.0.2",
Expand All @@ -71,8 +72,7 @@
"tauri-plugin-store-api": "https://github.com/tauri-apps/tauri-plugin-store",
"terser": "^5.30.0",
"typescript-eslint": "^7.4.0",
"uuid": "^9.0.1",
"wasm-vips": "^0.0.8"
"uuid": "^9.0.1"
},
"devDependencies": {
"@actions/github": "^6.0.0",
Expand Down
17 changes: 1 addition & 16 deletions scripts/prepare.mjs
Original file line number Diff line number Diff line change
@@ -1,16 +1 @@
import fs from "fs/promises";

// copy node_modules/wasm-vips/lib/vips-es6.js to assets/vips-es6.js

await fs.mkdir("assets/vips", { recursive: true });

const vipsEs6 = await fs.readFile("node_modules/wasm-vips/lib/vips.js");
await fs.writeFile("assets/vips/vips.js", vipsEs6);

const vipsWasm = await fs.readFile("node_modules/wasm-vips/lib/vips.wasm");
await fs.writeFile("assets/vips/vips.wasm", vipsWasm);

const vipsWorker = await fs.readFile(
"node_modules/wasm-vips/lib/vips.worker.js"
);
await fs.writeFile("assets/vips/vips.worker.js", vipsWorker);
console.log("done");
12 changes: 6 additions & 6 deletions src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "devtools-x"
version = "2.9.0"
version = "2.10.0"
description = "Developer tools desktop application"
authors = ["Sparkenstein"]
license = "MIT"
Expand All @@ -15,7 +15,7 @@ tauri-build = { version = "1.5.1", features = [] }
[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "1.5.4", features = [ "dialog-ask", "updater", "protocol-all", "http-all", "dialog-open", "dialog-confirm", "clipboard-all", "dialog-save", "fs-all", "devtools"] }
tauri = { version = "1.6.2", features = [ "dialog-ask", "updater", "protocol-all", "http-all", "dialog-open", "dialog-confirm", "clipboard-all", "dialog-save", "fs-all", "devtools"] }
tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
md-5 = "0.10.5"
base16ct = { version = "0.2.0", features = ["alloc"] }
Expand Down
Loading

0 comments on commit 6d98dcc

Please sign in to comment.