diff --git a/README.md b/README.md index 79455e8..1b798a3 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ This Turborepo includes the following packages and apps: ### Apps and Packages -- `api`: an [Express](https://expressjs.com/) server -- `storefront`: a [Next.js](https://nextjs.org/) app -- `admin`: a [Vite](https://vitejs.dev/) single page app -- `blog`: a [Remix](https://remix.run/) blog +- `express-template`: an [Express](https://expressjs.com/) server +- `next-template`: a [Next.js](https://nextjs.org/) app +- `vite-template`: a [Vite](https://vitejs.dev/) single page app +- `remix-template`: a [Remix](https://remix.run/) blog - `@repo/eslint-config`: ESLint configurations used throughout the monorepo - `@repo/jest-presets`: Jest configurations - `@repo/logger`: isomorphic logger (a small wrapper around console.log) diff --git a/apps/admin/package.json b/apps/admin/package.json deleted file mode 100644 index fb0f60a..0000000 --- a/apps/admin/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "admin", - "version": "0.0.0", - "type": "module", - "private": true, - "scripts": { - "build": "vite build", - "dev": "vite --host 0.0.0.0 --port 3001 --clearScreen false", - "check-types": "tsc --noEmit", - "lint": "eslint src/ --max-warnings 0" - }, - "dependencies": { - "@repo/ui": "*", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", - "@vitejs/plugin-react": "^4.5.1", - "eslint": "^9.29.0", - "typescript": "5.8.2", - "vite": "^5.4.14" - } -} diff --git a/apps/api/package.json b/apps/api/package.json deleted file mode 100644 index 37e9dcd..0000000 --- a/apps/api/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "api", - "version": "0.0.0", - "type": "module", - "private": true, - "scripts": { - "start": "node dist/index.js", - "dev": "tsup --watch --onSuccess \"node dist/index.cjs\"", - "build": "tsup", - "check-types": "tsc --noEmit", - "lint": "eslint src/ --max-warnings 0", - "test": "jest --detectOpenHandles" - }, - "jest": { - "preset": "@repo/jest-presets/node" - }, - "dependencies": { - "@repo/logger": "*", - "body-parser": "^1.20.3", - "cors": "^2.8.5", - "express": "4.21.2", - "morgan": "^1.10.0" - }, - "devDependencies": { - "@jest/globals": "^29.7.0", - "@repo/eslint-config": "*", - "@repo/jest-presets": "*", - "@repo/typescript-config": "*", - "@types/body-parser": "^1.19.5", - "@types/cors": "^2.8.17", - "@types/express": "4.17.21", - "@types/morgan": "^1.9.9", - "@types/node": "^22.15.3", - "@types/supertest": "^6.0.2", - "eslint": "^9.29.0", - "jest": "^29.7.0", - "supertest": "^7.1.0", - "tsup": "^8.5.0", - "typescript": "5.8.2" - } -} diff --git a/apps/blog/package.json b/apps/blog/package.json deleted file mode 100644 index de4136c..0000000 --- a/apps/blog/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "blog", - "version": "0.0.0", - "private": true, - "sideEffects": false, - "type": "module", - "scripts": { - "build": "remix vite:build", - "dev": "remix vite:dev", - "check-types": "tsc --noEmit", - "lint": "eslint app/ --max-warnings 0" - }, - "dependencies": { - "@remix-run/node": "^2.15.2", - "@remix-run/react": "^2.15.2", - "@remix-run/server-runtime": "^2.15.2", - "@repo/ui": "*", - "@vercel/analytics": "^1.5.0", - "@vercel/remix": "2.16.6", - "isbot": "^5.1.23", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@remix-run/dev": "^2.15.2", - "@repo/eslint-config": "*", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", - "@typescript-eslint/eslint-plugin": "^8.34.0", - "@typescript-eslint/parser": "^8.34.0", - "autoprefixer": "^10.4.20", - "eslint": "^9.29.0", - "typescript": "5.8.2", - "vite": "^5.4.14", - "vite-tsconfig-paths": "4.2.1" - }, - "engines": { - "node": ">=18.0.0" - } -} diff --git a/apps/api/eslint.config.js b/apps/express-template/eslint.config.js similarity index 100% rename from apps/api/eslint.config.js rename to apps/express-template/eslint.config.js diff --git a/apps/express-template/package.json b/apps/express-template/package.json new file mode 100644 index 0000000..319387f --- /dev/null +++ b/apps/express-template/package.json @@ -0,0 +1,41 @@ +{ + "name": "express-template", + "version": "0.0.0", + "type": "module", + "private": true, + "scripts": { + "start": "node dist/index.js", + "dev": "tsup --watch --onSuccess \"node dist/index.cjs\"", + "build": "tsup", + "check-types": "tsc --noEmit", + "lint": "eslint src/ --max-warnings 0", + "test": "jest --detectOpenHandles" + }, + "jest": { + "preset": "@repo/jest-presets/node" + }, + "dependencies": { + "@repo/logger": "*", + "body-parser": "^1.20.3", + "cors": "^2.8.5", + "express": "4.21.2", + "morgan": "^1.10.0" + }, + "devDependencies": { + "@jest/globals": "^29.7.0", + "@repo/eslint-config": "*", + "@repo/jest-presets": "*", + "@repo/typescript-config": "*", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "4.17.21", + "@types/morgan": "^1.9.9", + "@types/node": "^22.15.3", + "@types/supertest": "^6.0.2", + "eslint": "^9.29.0", + "jest": "^29.7.0", + "supertest": "^7.1.0", + "tsup": "^8.5.0", + "typescript": "5.8.2" + } +} diff --git a/apps/api/src/__tests__/server.test.ts b/apps/express-template/src/__tests__/server.test.ts similarity index 100% rename from apps/api/src/__tests__/server.test.ts rename to apps/express-template/src/__tests__/server.test.ts diff --git a/apps/api/src/index.ts b/apps/express-template/src/index.ts similarity index 100% rename from apps/api/src/index.ts rename to apps/express-template/src/index.ts diff --git a/apps/api/src/server.ts b/apps/express-template/src/server.ts similarity index 100% rename from apps/api/src/server.ts rename to apps/express-template/src/server.ts diff --git a/apps/api/tsconfig.json b/apps/express-template/tsconfig.json similarity index 100% rename from apps/api/tsconfig.json rename to apps/express-template/tsconfig.json diff --git a/apps/api/tsup.config.ts b/apps/express-template/tsup.config.ts similarity index 100% rename from apps/api/tsup.config.ts rename to apps/express-template/tsup.config.ts diff --git a/apps/api/turbo.json b/apps/express-template/turbo.json similarity index 100% rename from apps/api/turbo.json rename to apps/express-template/turbo.json diff --git a/apps/storefront/eslint.config.js b/apps/next-template/eslint.config.js similarity index 100% rename from apps/storefront/eslint.config.js rename to apps/next-template/eslint.config.js diff --git a/apps/storefront/next-env.d.ts b/apps/next-template/next-env.d.ts similarity index 100% rename from apps/storefront/next-env.d.ts rename to apps/next-template/next-env.d.ts diff --git a/apps/storefront/next.config.ts b/apps/next-template/next.config.ts similarity index 100% rename from apps/storefront/next.config.ts rename to apps/next-template/next.config.ts diff --git a/apps/next-template/package.json b/apps/next-template/package.json new file mode 100644 index 0000000..eb4281a --- /dev/null +++ b/apps/next-template/package.json @@ -0,0 +1,31 @@ +{ + "name": "next-template", + "version": "0.0.0", + "type": "module", + "private": true, + "scripts": { + "build": "next build", + "dev": "next dev -p 3002", + "lint": "next lint", + "check-types": "tsc --noEmit", + "start": "next start" + }, + "dependencies": { + "@repo/logger": "*", + "@repo/ui": "*", + "next": "^15.3.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^15.3.0", + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "@repo/ui": "*", + "@types/node": "^22.15.3", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "eslint": "^9.29.0", + "typescript": "5.8.2" + } +} diff --git a/apps/storefront/public/favicon.ico b/apps/next-template/public/favicon.ico similarity index 100% rename from apps/storefront/public/favicon.ico rename to apps/next-template/public/favicon.ico diff --git a/apps/storefront/src/app/layout.tsx b/apps/next-template/src/app/layout.tsx similarity index 100% rename from apps/storefront/src/app/layout.tsx rename to apps/next-template/src/app/layout.tsx diff --git a/apps/storefront/src/app/page.tsx b/apps/next-template/src/app/page.tsx similarity index 100% rename from apps/storefront/src/app/page.tsx rename to apps/next-template/src/app/page.tsx diff --git a/apps/blog/app/styles.css b/apps/next-template/src/app/styles.css similarity index 100% rename from apps/blog/app/styles.css rename to apps/next-template/src/app/styles.css diff --git a/apps/storefront/tsconfig.json b/apps/next-template/tsconfig.json similarity index 100% rename from apps/storefront/tsconfig.json rename to apps/next-template/tsconfig.json diff --git a/apps/storefront/turbo.json b/apps/next-template/turbo.json similarity index 100% rename from apps/storefront/turbo.json rename to apps/next-template/turbo.json diff --git a/apps/blog/.gitignore b/apps/remix-template/.gitignore similarity index 100% rename from apps/blog/.gitignore rename to apps/remix-template/.gitignore diff --git a/apps/blog/README.md b/apps/remix-template/README.md similarity index 100% rename from apps/blog/README.md rename to apps/remix-template/README.md diff --git a/apps/blog/app/root.tsx b/apps/remix-template/app/root.tsx similarity index 100% rename from apps/blog/app/root.tsx rename to apps/remix-template/app/root.tsx diff --git a/apps/blog/app/routes/_index.tsx b/apps/remix-template/app/routes/_index.tsx similarity index 100% rename from apps/blog/app/routes/_index.tsx rename to apps/remix-template/app/routes/_index.tsx diff --git a/apps/blog/app/routes/edge.tsx b/apps/remix-template/app/routes/edge.tsx similarity index 100% rename from apps/blog/app/routes/edge.tsx rename to apps/remix-template/app/routes/edge.tsx diff --git a/apps/storefront/src/app/styles.css b/apps/remix-template/app/styles.css similarity index 100% rename from apps/storefront/src/app/styles.css rename to apps/remix-template/app/styles.css diff --git a/apps/blog/eslint.config.js b/apps/remix-template/eslint.config.js similarity index 100% rename from apps/blog/eslint.config.js rename to apps/remix-template/eslint.config.js diff --git a/apps/remix-template/package.json b/apps/remix-template/package.json new file mode 100644 index 0000000..1188490 --- /dev/null +++ b/apps/remix-template/package.json @@ -0,0 +1,40 @@ +{ + "name": "remix-template", + "version": "0.0.0", + "private": true, + "sideEffects": false, + "type": "module", + "scripts": { + "build": "remix vite:build", + "dev": "remix vite:dev", + "check-types": "tsc --noEmit", + "lint": "eslint app/ --max-warnings 0" + }, + "dependencies": { + "@remix-run/node": "^2.15.2", + "@remix-run/react": "^2.15.2", + "@remix-run/server-runtime": "^2.15.2", + "@repo/ui": "*", + "@vercel/analytics": "^1.5.0", + "@vercel/remix": "2.16.6", + "isbot": "^5.1.23", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@remix-run/dev": "^2.15.2", + "@repo/eslint-config": "*", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@typescript-eslint/eslint-plugin": "^8.34.0", + "@typescript-eslint/parser": "^8.34.0", + "autoprefixer": "^10.4.20", + "eslint": "^9.29.0", + "typescript": "5.8.2", + "vite": "^5.4.14", + "vite-tsconfig-paths": "4.2.1" + }, + "engines": { + "node": ">=18.0.0" + } +} diff --git a/apps/blog/public/favicon.ico b/apps/remix-template/public/favicon.ico similarity index 100% rename from apps/blog/public/favicon.ico rename to apps/remix-template/public/favicon.ico diff --git a/apps/blog/tsconfig.json b/apps/remix-template/tsconfig.json similarity index 100% rename from apps/blog/tsconfig.json rename to apps/remix-template/tsconfig.json diff --git a/apps/blog/vite.config.ts b/apps/remix-template/vite.config.ts similarity index 100% rename from apps/blog/vite.config.ts rename to apps/remix-template/vite.config.ts diff --git a/apps/storefront/package.json b/apps/storefront/package.json deleted file mode 100644 index 6f60b16..0000000 --- a/apps/storefront/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "storefront", - "version": "0.0.0", - "type": "module", - "private": true, - "scripts": { - "build": "next build", - "dev": "next dev -p 3002", - "lint": "next lint", - "check-types": "tsc --noEmit", - "start": "next start" - }, - "dependencies": { - "@repo/logger": "*", - "@repo/ui": "*", - "next": "^15.3.0", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@next/eslint-plugin-next": "^15.3.0", - "@repo/eslint-config": "*", - "@repo/typescript-config": "*", - "@types/node": "^22.15.3", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "eslint": "^9.29.0", - "typescript": "5.8.2" - } -} diff --git a/apps/admin/eslint.config.js b/apps/vite-template/eslint.config.js similarity index 100% rename from apps/admin/eslint.config.js rename to apps/vite-template/eslint.config.js diff --git a/apps/admin/index.html b/apps/vite-template/index.html similarity index 100% rename from apps/admin/index.html rename to apps/vite-template/index.html diff --git a/apps/vite-template/package.json b/apps/vite-template/package.json new file mode 100644 index 0000000..791f3ee --- /dev/null +++ b/apps/vite-template/package.json @@ -0,0 +1,27 @@ +{ + "name": "vite-template", + "version": "0.0.0", + "type": "module", + "private": true, + "scripts": { + "build": "vite build", + "dev": "vite --host 0.0.0.0 --port 3001 --clearScreen false", + "check-types": "tsc --noEmit", + "lint": "eslint src/ --max-warnings 0" + }, + "dependencies": { + "@repo/ui": "*", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@repo/eslint-config": "*", + "@repo/typescript-config": "*", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.5.1", + "eslint": "^9.29.0", + "typescript": "5.8.2", + "vite": "^5.4.14" + } +} diff --git a/apps/admin/public/favicon.ico b/apps/vite-template/public/favicon.ico similarity index 100% rename from apps/admin/public/favicon.ico rename to apps/vite-template/public/favicon.ico diff --git a/apps/admin/src/app/index.tsx b/apps/vite-template/src/app/index.tsx similarity index 100% rename from apps/admin/src/app/index.tsx rename to apps/vite-template/src/app/index.tsx diff --git a/apps/admin/src/app/styles.css b/apps/vite-template/src/app/styles.css similarity index 100% rename from apps/admin/src/app/styles.css rename to apps/vite-template/src/app/styles.css diff --git a/apps/admin/src/index.css b/apps/vite-template/src/index.css similarity index 100% rename from apps/admin/src/index.css rename to apps/vite-template/src/index.css diff --git a/apps/admin/src/main.tsx b/apps/vite-template/src/main.tsx similarity index 100% rename from apps/admin/src/main.tsx rename to apps/vite-template/src/main.tsx diff --git a/apps/admin/tsconfig.json b/apps/vite-template/tsconfig.json similarity index 100% rename from apps/admin/tsconfig.json rename to apps/vite-template/tsconfig.json diff --git a/apps/admin/tsconfig.node.json b/apps/vite-template/tsconfig.node.json similarity index 100% rename from apps/admin/tsconfig.node.json rename to apps/vite-template/tsconfig.node.json diff --git a/apps/admin/turbo.json b/apps/vite-template/turbo.json similarity index 100% rename from apps/admin/turbo.json rename to apps/vite-template/turbo.json diff --git a/apps/admin/vite.config.ts b/apps/vite-template/vite.config.ts similarity index 100% rename from apps/admin/vite.config.ts rename to apps/vite-template/vite.config.ts