The site now presents one freelance developer on one page: hero, introduction, four typical cases (developer for a product, make an app reliable, automate a process, a website) with what you get, how it runs and what it costs, a process automation section, technology and project fit, how I work, two live references, questions and contact. - Hero and closing headline are drawn from running binary digits. - Each case explains its four steps with an animated drawing; the automation section shows example workflows with work travelling between systems; a pipeline run shows what a test catches before a release. - Contact is one email address, kept in parts and assembled in the browser so it never appears in the page source (src/domain/email.ts, spec first). - Imprint and privacy pages added. - The old site (blog, case studies, contact form, fixed-price pages, video rendering and related scripts) is removed. Its URLs redirect to the homepage. - The deploy smoke test checks the legal pages and the redirects instead of the removed case study. - Dev scripts use docker compose v2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
67 lines
2.5 KiB
JSON
67 lines
2.5 KiB
JSON
{
|
|
"name": "@mintel/mintel.me",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "pnpm@10.18.3",
|
|
"scripts": {
|
|
"dev": "bash -c 'trap \"COMPOSE_PROJECT_NAME=mintel-me docker compose -f docker-compose.dev.yml down\" EXIT INT TERM; docker network create infra 2>/dev/null || true && COMPOSE_PROJECT_NAME=mintel-me docker compose -f docker-compose.dev.yml down && COMPOSE_PROJECT_NAME=mintel-me docker compose -f docker-compose.dev.yml up app --remove-orphans'",
|
|
"dev:docker": "docker network create infra 2>/dev/null || true && echo \"\\n🚀 Dockerized Environment Starting...\\n\\n📱 App: http://mintel.localhost\\n🚦 Caddy Proxy: http://localhost:80\\n\" && COMPOSE_PROJECT_NAME=mintel-me docker compose -f docker-compose.dev.yml up app",
|
|
"dev:clean": "pnpm dev:stop && rm -rf apps/web/.next apps/web/node_modules && pnpm install && CI=true pnpm dev",
|
|
"dev:stop": "COMPOSE_PROJECT_NAME=mintel-me docker compose -f docker-compose.dev.yml down",
|
|
"dev:local": "pnpm -r dev",
|
|
"build": "pnpm -r build",
|
|
"start": "pnpm -r start",
|
|
"lint": "pnpm -r lint",
|
|
"test": "pnpm -r test",
|
|
"lint:yaml": "node scripts/lint-yaml.js",
|
|
"db:backup": "bash apps/web/scripts/backup-db.sh",
|
|
"db:restore": "bash apps/web/scripts/restore-db.sh",
|
|
"prepare": "husky"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.3",
|
|
"@eslint/js": "^10.0.0",
|
|
"@mintel/cli": "^1.9.0",
|
|
"@mintel/eslint-config": "^1.9.0",
|
|
"@mintel/husky-config": "^1.9.0",
|
|
"@mintel/next-config": "^1.9.0",
|
|
"@mintel/next-utils": "^1.9.0",
|
|
"@mintel/tsconfig": "^1.9.0",
|
|
"@next/eslint-plugin-next": "^16.1.6",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/context-async-hooks": "^2.1.0",
|
|
"@opentelemetry/core": "^2.1.0",
|
|
"@opentelemetry/sdk-trace-base": "^2.1.0",
|
|
"eslint": "10.0.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"husky": "^9.1.7",
|
|
"js-yaml": "^4.1.1",
|
|
"lint-staged": "^16.2.7",
|
|
"prettier": "^3.8.1",
|
|
"typescript-eslint": "^8.54.0",
|
|
"webpack": "^5.96.1"
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"@sentry/nextjs": "10.38.0",
|
|
"eslint": "10.0.0",
|
|
"zod": "^3.23.8"
|
|
},
|
|
"onlyBuiltDependencies": [
|
|
"@parcel/watcher",
|
|
"@sentry/cli",
|
|
"@swc/core",
|
|
"esbuild",
|
|
"puppeteer",
|
|
"sharp",
|
|
"unrs-resolver"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@eslint/compat": "^2.0.2",
|
|
"tsx": "^4.21.0",
|
|
"turbo": "^2.8.10"
|
|
}
|
|
}
|