Skip to content

Commit 0ff2b00

Browse files
mohitmalibetterbugsHarrysonLadinessemantic-release-botdatta-sayakomkarhole
authored
Merge Develop in main (#82)
* feat(ui): add reusable CopyButton and refactor wordCounter and jsonToTxt Adds a reusable CopyButton component and refactors WordCounter and JsonToTxt to use it. Fixes #17 * chore(release): 1.4.0-develop.1 [skip ci] # [1.4.0-develop.1](v1.3.2...v1.4.0-develop.1) (2026-02-28) ### Features * **ui:** add reusable CopyButton and refactor wordCounter and jsonToTxt ([d5b9e83](d5b9e83)), closes [#17](#17) * fix(tools): implement proper bcrypt generator Replaces placeholder hashing logic with bcryptjs implementation as contributed in PR #23 Adds proper salt generation and verification using bcrypt.compare. Fixes #13 * chore(release): 1.4.0-develop.2 [skip ci] # [1.4.0-develop.2](v1.4.0-develop.1...v1.4.0-develop.2) (2026-02-28) ### Bug Fixes * **tools:** implement proper bcrypt generator ([94d19be](94d19be)), closes [#23](#23) [#13](#13) * Add Curl to Code Converter (#25) closes: #21 Co-authored-by: Syed Fahad <sfahad2904@gmail.com> * feat: Add Smart Repair feature to JSON Validator (#41) Closes #38 * feat. json to csv convertor (#26) * feat. json to csv convertor * align checkbox Fixes #18 * chore: initialize eslint configuration * feat: Add IPv4 Subnet Calculator Tool This pull request implements a specialized IPv4 Subnet Calculator tool for network engineers and DevOps professionals. The tool simplifies network planning and infrastructure setup by instantly calculating subnet details from an IP address and CIDR prefix or subnet mask. closes #33 * chore: sync package-lock with package.json * chore(release): 1.4.0-develop.3 [skip ci] # [1.4.0-develop.3](v1.4.0-develop.2...v1.4.0-develop.3) (2026-03-03) ### Features * Add IPv4 Subnet Calculator Tool ([ad1c03f](ad1c03f)), closes [#33](#33) * Add Smart Repair feature to JSON Validator ([#41](#41)) ([7a3c7a5](7a3c7a5)), closes [#38](#38) * feat: Add lockfile guard workflow to prevent unintended lockfile changes * chore(release): 1.4.0-develop.4 [skip ci] # [1.4.0-develop.4](v1.4.0-develop.3...v1.4.0-develop.4) (2026-03-03) ### Features * Add lockfile guard workflow to prevent unintended lockfile changes ([aa20fb5](aa20fb5)) * feat(tools): add SVG to React/CSS utility * feat(tools): add SVG to React/CSS utility Add SVG converter tool that transforms raw SVG code into optimized variants: - React Component: Clean, reusable functional component with dynamic sizing - CSS Data URI: Inline SVG for CSS background images - CSS Mask: SVG as CSS mask-image for flexible icon styling Features: - Automatic metadata cleanup (removes XML declarations, comments, DOCTYPE) - viewBox preservation for responsive sizing - Optional currentColor replacement for theme support - Configurable default width/height - File upload support (.svg files) - Copy-to-clipboard functionality Closes #50 * fix(release): update GITHUB_TOKEN to use RELEASE_TOKEN for semantic release * chore(release): 1.4.0-develop.5 [skip ci] # [1.4.0-develop.5](v1.4.0-develop.4...v1.4.0-develop.5) (2026-03-05) ### Bug Fixes * **release:** update GITHUB_TOKEN to use RELEASE_TOKEN for semantic release ([be3a012](be3a012)) ### Features * **tools:** add SVG to React/CSS utility ([218ccad](218ccad)), closes [#50](#50) * Favourite Feature Added (#77) Added a favourite tool feature. Favourite tools are pushed to top. Added a filter for favourite tools. Closes #61 * feat: Add Unix Timestamp (Epoch) Converter Utility Closes: #16 * chore(release): 1.4.0-develop.6 [skip ci] # [1.4.0-develop.6](v1.4.0-develop.5...v1.4.0-develop.6) (2026-03-08) ### Features * Add Unix Timestamp (Epoch) Converter Utility ([f277272](f277272)), closes [#16](#16) * feat(tools): add Unix Timestamp Converter to development tools list * chore(release): 1.4.0-develop.7 [skip ci] # [1.4.0-develop.7](v1.4.0-develop.6...v1.4.0-develop.7) (2026-03-08) ### Features * **tools:** add Unix Timestamp Converter to development tools list ([3fedf57](3fedf57)) * feat: Added URL parser & Query Editor Tool Closes : #51 * chore(release): 1.4.0-develop.8 [skip ci] # [1.4.0-develop.8](v1.4.0-develop.7...v1.4.0-develop.8) (2026-03-08) ### Features * Added URL parser & Query Editor Tool ([c9933ba](c9933ba)), closes [#51](#51) * feature: add light mode toggle and global theme support #29 Closes: #14 * feat: add class-validator dependency and update page styles (#81) - Added `class-validator` package to `package.json`. - Adjusted styles in `page.tsx` for sidebar positioning and button margin. - Refined text styles in `[slug]/page.tsx` for better readability. - Updated descriptions in `constants.tsx` for JSON tools to enhance clarity. Co-authored-by: Mohit Mali <mohit@linearloop.io> --------- Co-authored-by: Harryson <168550932+HarrysonLadines@users.noreply.github.com> Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Co-authored-by: Sayak Datta <174126344+datta-sayak@users.noreply.github.com> Co-authored-by: Omkar <182200831+omkarhole@users.noreply.github.com> Co-authored-by: Syed Fahad <sfahad2904@gmail.com> Co-authored-by: Uday Kiran <132606304+udaykiran243@users.noreply.github.com> Co-authored-by: Madhav Majumdar <161720210+madhav2348@users.noreply.github.com> Co-authored-by: Gaurav Karakoti <karakotigaurav12@gmail.com> Co-authored-by: Aadya Paradkar <aadyaparadkar@gmail.com> Co-authored-by: zeel0m <137067026+zeel0m@users.noreply.github.com>
1 parent 07ddc29 commit 0ff2b00

33 files changed

Lines changed: 5075 additions & 445 deletions

.eslintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "next/core-web-vitals"
3+
}

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ _Add screenshots of relevant screens_
2424

2525
- [ ] My PR follows the style guidelines of this project
2626
- [ ] I have performed a self-check on my work
27+
- [ ] If `package.json` is unchanged, `package-lock.json` is also unchanged in this PR
2728

2829
**If changes are made in the code:**
2930

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Lockfile Guard
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- develop
7+
- main
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
lockfile-guard:
14+
name: Prevent unintended lockfile churn
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Validate package and lockfile changes
24+
shell: bash
25+
run: |
26+
set -euo pipefail
27+
28+
BASE_SHA="${{ github.event.pull_request.base.sha }}"
29+
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
30+
31+
CHANGED_FILES="$(git diff --name-only "$BASE_SHA" "$HEAD_SHA")"
32+
33+
PACKAGE_CHANGED="false"
34+
LOCK_CHANGED="false"
35+
36+
if echo "$CHANGED_FILES" | grep -qx "package.json"; then
37+
PACKAGE_CHANGED="true"
38+
fi
39+
40+
if echo "$CHANGED_FILES" | grep -qx "package-lock.json"; then
41+
LOCK_CHANGED="true"
42+
fi
43+
44+
if [ "$LOCK_CHANGED" = "true" ] && [ "$PACKAGE_CHANGED" = "false" ]; then
45+
echo "❌ package-lock.json changed without package.json changes."
46+
echo "If your PR does not intentionally change dependencies, discard lockfile changes:"
47+
echo "git checkout -- package-lock.json"
48+
exit 1
49+
fi
50+
51+
echo "✅ Lockfile check passed."

.github/workflows/release.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,6 @@ jobs:
3535

3636
- name: Run semantic release
3737
env:
38-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
39+
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
3940
run: npx semantic-release

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,65 @@
1+
# [1.4.0-develop.8](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.7...v1.4.0-develop.8) (2026-03-08)
2+
3+
4+
### Features
5+
6+
* Added URL parser & Query Editor Tool ([c9933ba](https://github.com/betterbugs/dev-tools/commit/c9933bae3cfbeb65c210f6877abf367c3cb0f46e)), closes [#51](https://github.com/betterbugs/dev-tools/issues/51)
7+
8+
# [1.4.0-develop.7](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.6...v1.4.0-develop.7) (2026-03-08)
9+
10+
11+
### Features
12+
13+
* **tools:** add Unix Timestamp Converter to development tools list ([3fedf57](https://github.com/betterbugs/dev-tools/commit/3fedf57f4036f7081b37c8ca1b3c585ea1e62045))
14+
15+
# [1.4.0-develop.6](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.5...v1.4.0-develop.6) (2026-03-08)
16+
17+
18+
### Features
19+
20+
* Add Unix Timestamp (Epoch) Converter Utility ([f277272](https://github.com/betterbugs/dev-tools/commit/f27727267639f54e4ffaa80919b1d0836621ac7d)), closes [#16](https://github.com/betterbugs/dev-tools/issues/16)
21+
22+
# [1.4.0-develop.5](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.4...v1.4.0-develop.5) (2026-03-05)
23+
24+
25+
### Bug Fixes
26+
27+
* **release:** update GITHUB_TOKEN to use RELEASE_TOKEN for semantic release ([be3a012](https://github.com/betterbugs/dev-tools/commit/be3a012c6d7df84ab5826ce03268ec8aad402c15))
28+
29+
30+
### Features
31+
32+
* **tools:** add SVG to React/CSS utility ([218ccad](https://github.com/betterbugs/dev-tools/commit/218ccad3c5eb7121a9bd7319147520eb39713695)), closes [#50](https://github.com/betterbugs/dev-tools/issues/50)
33+
34+
# [1.4.0-develop.4](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.3...v1.4.0-develop.4) (2026-03-03)
35+
36+
37+
### Features
38+
39+
* Add lockfile guard workflow to prevent unintended lockfile changes ([aa20fb5](https://github.com/betterbugs/dev-tools/commit/aa20fb5422aae56e9d80f7472a6f974624431572))
40+
41+
# [1.4.0-develop.3](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.2...v1.4.0-develop.3) (2026-03-03)
42+
43+
44+
### Features
45+
46+
* Add IPv4 Subnet Calculator Tool ([ad1c03f](https://github.com/betterbugs/dev-tools/commit/ad1c03fd0065f0cfce409b72882188dc7de630d0)), closes [#33](https://github.com/betterbugs/dev-tools/issues/33)
47+
* Add Smart Repair feature to JSON Validator ([#41](https://github.com/betterbugs/dev-tools/issues/41)) ([7a3c7a5](https://github.com/betterbugs/dev-tools/commit/7a3c7a5008d4236d954e1c20482635b0a0da5ef0)), closes [#38](https://github.com/betterbugs/dev-tools/issues/38)
48+
49+
# [1.4.0-develop.2](https://github.com/betterbugs/dev-tools/compare/v1.4.0-develop.1...v1.4.0-develop.2) (2026-02-28)
50+
51+
52+
### Bug Fixes
53+
54+
* **tools:** implement proper bcrypt generator ([94d19be](https://github.com/betterbugs/dev-tools/commit/94d19be7e4b8d9256557e7668898ec4d6c3ca15c)), closes [#23](https://github.com/betterbugs/dev-tools/issues/23) [#13](https://github.com/betterbugs/dev-tools/issues/13)
55+
56+
# [1.4.0-develop.1](https://github.com/betterbugs/dev-tools/compare/v1.3.2...v1.4.0-develop.1) (2026-02-28)
57+
58+
59+
### Features
60+
61+
* **ui:** add reusable CopyButton and refactor wordCounter and jsonToTxt ([d5b9e83](https://github.com/betterbugs/dev-tools/commit/d5b9e8333673c5254cf39529a90869b1b741e385)), closes [#17](https://github.com/betterbugs/dev-tools/issues/17)
62+
163
## [1.3.2](https://github.com/betterbugs/dev-tools/compare/v1.3.1...v1.3.2) (2026-02-16)
264

365

CONTRIBUTING.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,37 @@ If your work depends on unreleased features or changes, base your work directly
4747

4848
## Code Contributions
4949

50+
### 🚨 Dependency & Lockfile Policy (Read Before PR!)
51+
52+
**When to Commit `package-lock.json`**
53+
54+
- **You MUST commit `package-lock.json` if:**
55+
- You add, remove, or upgrade a dependency in `package.json` (for example, when your new tool needs a new npm package).
56+
- You intentionally update any package version in `package.json`.
57+
- After such changes, always run `npm install` and commit both `package.json` and `package-lock.json` together.
58+
59+
- **You MUST NOT commit `package-lock.json` if:**
60+
- You are only editing, adding, or refactoring tool components, UI, or logic, and did not touch `package.json`.
61+
- You ran `npm install` after pulling latest develop, but did not change dependencies. If the lockfile changes, discard it (`git checkout -- package-lock.json`).
62+
63+
- **Dependency/toolchain upgrades (Next.js, ESLint, etc.) must be in a separate PR, never mixed with feature/tool PRs.**
64+
65+
**For Adding a New Tool:**
66+
67+
- If your tool needs a new npm package:
68+
1. Add the dependency to `package.json`.
69+
2. Run `npm install` (this updates `package-lock.json`).
70+
3. Commit both files in your PR.
71+
- If your tool does NOT need a new dependency, do NOT touch or commit `package-lock.json`.
72+
73+
**Why?**
74+
75+
- Our CI uses `npm ci`, which requires the lockfile to match `package.json` exactly.
76+
- Random lockfile churn (from different npm versions or accidental upgrades) causes huge, noisy diffs and can break builds.
77+
- Only the canonical lockfile in `develop` is valid.
78+
79+
---
80+
5081
Please ensure your pull request adheres to the following guidelines:
5182

5283
- Search [open pull requests](https://github.com/betterbugs/dev-tools/pulls) to ensure your change hasn't already been submitted

0 commit comments

Comments
 (0)