Skip to content

Commit c3dcab7

Browse files
committed
improve: DX, SEO, and repo hygiene
- Remove console.log debug statements from production code - Fix OG/Twitter meta URLs (devutils.app -> devutils-one.vercel.app) - Replace hardcoded 'Last updated' date with dynamic app version from package.json - Bump version to 1.0.0 - Move capture-website and sharp to devDependencies (build-time only) - Add vite define for __APP_VERSION__ global - Add CONTRIBUTING.md with full dev setup and tool authoring guide - Add 10 GitHub topics for discoverability
1 parent ec792d6 commit c3dcab7

5 files changed

Lines changed: 23 additions & 10 deletions

File tree

index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@
1212

1313
<!-- Open Graph / Facebook -->
1414
<meta property="og:type" content="website">
15-
<meta property="og:url" content="https://devutils.app/">
15+
<meta property="og:url" content="https://devutils-one.vercel.app/">
1616
<meta property="og:title" content="DevUtils - Developer Tools for Everyday Tasks">
1717
<meta property="og:description" content="A collection of essential developer utilities including formatters, converters, encoders/decoders, and more. All tools work offline and are free to use.">
18-
<meta property="og:image" content="https://devutils.app/preview.png">
18+
<meta property="og:image" content="https://devutils-one.vercel.app/preview.png">
1919

2020
<!-- Twitter -->
2121
<meta property="twitter:card" content="summary_large_image">
22-
<meta property="twitter:url" content="https://devutils.app/">
22+
<meta property="twitter:url" content="https://devutils-one.vercel.app/">
2323
<meta property="twitter:title" content="DevUtils - Developer Tools for Everyday Tasks">
2424
<meta property="twitter:description" content="A collection of essential developer utilities including formatters, converters, encoders/decoders, and more. All tools work offline and are free to use.">
25-
<meta property="twitter:image" content="https://devutils.app/preview.png">
25+
<meta property="twitter:image" content="https://devutils-one.vercel.app/preview.png">
2626
</head>
2727
<body>
2828
<div id="root"></div>

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "devutils",
33
"private": true,
4-
"version": "0.0.0",
4+
"version": "1.0.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",
@@ -23,7 +23,6 @@
2323
"@types/csso": "^5.0.4",
2424
"@uiw/react-textarea-code-editor": "^3.0.2",
2525
"blueimp-md5": "^2.19.0",
26-
"capture-website": "^4.2.0",
2726
"change-case": "^5.4.4",
2827
"colord": "^2.9.3",
2928
"cronstrue": "^2.53.0",
@@ -41,7 +40,6 @@
4140
"react-dom": "^18.3.1",
4241
"react-markdown": "^9.0.3",
4342
"react-router-dom": "^7.5.2",
44-
"sharp": "^0.33.2",
4543
"sql-formatter": "^15.4.10",
4644
"terser": "^5.37.0",
4745
"ulid": "^2.3.0",
@@ -69,6 +67,8 @@
6967
"@types/sharp": "^0.32.0",
7068
"@types/uuid": "^9.0.8",
7169
"@vitejs/plugin-react": "^4.3.1",
70+
"capture-website": "^4.2.0",
71+
"sharp": "^0.33.2",
7272
"autoprefixer": "^10.4.18",
7373
"babel-jest": "^29.7.0",
7474
"eslint": "^9.9.1",

src/App.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,6 @@ function Layout({ tools: defaultTools }: { tools: Tool[] }) {
350350
};
351351

352352
const handleStartTour = () => {
353-
console.log('Start tutorial button clicked');
354-
console.log('Current tour state:', state);
355353
startTour();
356354
};
357355

@@ -488,7 +486,14 @@ function Layout({ tools: defaultTools }: { tools: Tool[] }) {
488486
{isSidebarExpanded && (
489487
<div className="p-4 border-t border-gray-200 text-xs text-gray-500">
490488
<div className="flex items-center justify-center">
491-
Last updated: Jul 23, 2025
489+
<a
490+
href="https://github.com/nadimtuhin/devutils"
491+
target="_blank"
492+
rel="noopener noreferrer"
493+
className="hover:text-blue-600 no-underline"
494+
>
495+
v{__APP_VERSION__}
496+
</a>
492497
</div>
493498
</div>
494499
)}

src/vite-env.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
/// <reference types="vite/client" />
2+
3+
declare const __APP_VERSION__: string;

vite.config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
import { defineConfig } from 'vite';
22
import react from '@vitejs/plugin-react';
3+
import { readFileSync } from 'fs';
4+
5+
const pkg = JSON.parse(readFileSync('./package.json', 'utf-8'));
36

47
// https://vitejs.dev/config/
58
export default defineConfig({
69
plugins: [react()],
10+
define: {
11+
__APP_VERSION__: JSON.stringify(pkg.version),
12+
},
713
optimizeDeps: {
814
exclude: ['lucide-react'],
915
},

0 commit comments

Comments
 (0)