From 27c33c76614d2650d60dff695b8b89790660ae35 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:48:30 -0600 Subject: [PATCH 1/4] fix(server): update build paths --- apps/api/src/types.ts | 16 ----------- apps/api/src/utils.ts | 35 +------------------------ apps/schedules/src/utils.ts | 2 +- packages/server/package.json | 12 --------- packages/server/scripts/switchToDist.js | 14 ++++++++++ packages/server/scripts/switchToSrc.js | 15 ++--------- 6 files changed, 18 insertions(+), 76 deletions(-) delete mode 100644 apps/api/src/types.ts diff --git a/apps/api/src/types.ts b/apps/api/src/types.ts deleted file mode 100644 index 2547432b..00000000 --- a/apps/api/src/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface LemonSqueezyLicenseResponse { - valid: boolean; - error?: string; - meta?: { - store_id: string; - order_id: number; - order_item_id: number; - product_id: number; - product_name: string; - variant_id: number; - variant_name: string; - customer_id: number; - customer_name: string; - customer_email: string; - }; -} diff --git a/apps/api/src/utils.ts b/apps/api/src/utils.ts index 5d776a5c..03c836e0 100644 --- a/apps/api/src/utils.ts +++ b/apps/api/src/utils.ts @@ -1,45 +1,12 @@ import { - deployApplication, - deployCompose, deployRemoteApplication, deployRemoteCompose, - rebuildApplication, - rebuildCompose, rebuildRemoteApplication, rebuildRemoteCompose, updateApplicationStatus, updateCompose, -} from "@dokploy/server/dist"; +} from "@dokploy/server"; import type { DeployJob } from "./schema"; -import type { LemonSqueezyLicenseResponse } from "./types"; - -// const LEMON_SQUEEZY_API_KEY = process.env.LEMON_SQUEEZY_API_KEY; -// const LEMON_SQUEEZY_STORE_ID = process.env.LEMON_SQUEEZY_STORE_ID; -// export const validateLemonSqueezyLicense = async ( -// licenseKey: string, -// ): Promise => { -// try { -// const response = await fetch( -// "https://api.lemonsqueezy.com/v1/licenses/validate", -// { -// method: "POST", -// headers: { -// "Content-Type": "application/json", -// "x-api-key": LEMON_SQUEEZY_API_KEY as string, -// }, -// body: JSON.stringify({ -// license_key: licenseKey, -// store_id: LEMON_SQUEEZY_STORE_ID as string, -// }), -// }, -// ); - -// return response.json(); -// } catch (error) { -// console.error("Error validating license:", error); -// return { valid: false, error: "Error validating license" }; -// } -// }; export const deploy = async (job: DeployJob) => { try { diff --git a/apps/schedules/src/utils.ts b/apps/schedules/src/utils.ts index 07cefeef..65f3cbda 100644 --- a/apps/schedules/src/utils.ts +++ b/apps/schedules/src/utils.ts @@ -8,7 +8,7 @@ import { runMongoBackup, runMySqlBackup, runPostgresBackup, -} from "@dokploy/server/dist"; +} from "@dokploy/server"; import { db } from "@dokploy/server/dist/db"; import { backups, server } from "@dokploy/server/dist/db/schema"; import { eq } from "drizzle-orm"; diff --git a/packages/server/package.json b/packages/server/package.json index 6772f035..e9064582 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -16,18 +16,6 @@ "./constants": { "import": "./src/constants/index.ts", "require": "./dist/constants.cjs.js" - }, - "./dist": { - "import": "./dist/index.js", - "require": "./dist/index.cjs.js" - }, - "./dist/db": { - "import": "./dist/db/index.js", - "require": "./dist/db/*.cjs" - }, - "./dist/db/schema": { - "import": "./dist/db/schema/index.js", - "require": "./dist/db/schema/*.cjs" } }, "scripts": { diff --git a/packages/server/scripts/switchToDist.js b/packages/server/scripts/switchToDist.js index 12f5625a..67c9f411 100644 --- a/packages/server/scripts/switchToDist.js +++ b/packages/server/scripts/switchToDist.js @@ -8,6 +8,8 @@ const __dirname = path.dirname(__filename); const packagePath = path.resolve(__dirname, "../package.json"); const pkg = JSON.parse(fs.readFileSync(packagePath, "utf-8")); +pkg.main = "./dist/index.js"; + pkg.exports = { ".": { import: "./dist/index.js", @@ -21,6 +23,18 @@ pkg.exports = { import: "./dist/*", require: "./dist/*.cjs", }, + "./dist": { + import: "./dist/index.js", + require: "./dist/index.cjs.js", + }, + "./dist/db": { + import: "./dist/db/index.js", + require: "./dist/db/index.cjs.js", + }, + "./dist/db/schema": { + import: "./dist/db/schema/index.js", + require: "./dist/db/schema/index.cjs.js", + }, }; fs.writeFileSync(packagePath, JSON.stringify(pkg, null, 2)); diff --git a/packages/server/scripts/switchToSrc.js b/packages/server/scripts/switchToSrc.js index 9387cd15..b18c2d15 100644 --- a/packages/server/scripts/switchToSrc.js +++ b/packages/server/scripts/switchToSrc.js @@ -10,6 +10,8 @@ const packagePath = path.resolve(__dirname, "../package.json"); // Leer el archivo package.json const pkg = JSON.parse(fs.readFileSync(packagePath, "utf-8")); +pkg.main = "./src/index.ts"; + // Modificar los exports pkg.exports = { ".": "./src/index.ts", @@ -25,19 +27,6 @@ pkg.exports = { import: "./src/constants/index.ts", require: "./dist/constants.cjs.js", }, - "./dist": { - import: "./dist/index.js", - require: "./dist/index.cjs.js", - }, - - "./dist/db": { - import: "./dist/db/index.js", - require: "./dist/db/*.cjs", - }, - "./dist/db/schema": { - import: "./dist/db/schema/index.js", - require: "./dist/db/schema/*.cjs", - }, }; // Guardar los cambios en package.json From 5417f6376b16fa9d134a7be6d209533eec640ce8 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:56:03 -0600 Subject: [PATCH 2/4] chore(server): update switch prod in build command --- Dockerfile | 1 - Dockerfile.cloud | 1 - Dockerfile.schedule | 1 - Dockerfile.server | 1 - packages/server/package.json | 2 +- 5 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index bb5310f2..74b70db0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,6 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile # Deploy only the dokploy app ENV NODE_ENV=production -RUN pnpm --filter=@dokploy/server switch:prod RUN pnpm --filter=@dokploy/server build RUN pnpm --filter=./apps/dokploy run build diff --git a/Dockerfile.cloud b/Dockerfile.cloud index 664180f7..8d80fb64 100644 --- a/Dockerfile.cloud +++ b/Dockerfile.cloud @@ -17,7 +17,6 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server ARG NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ENV NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=$NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ENV NODE_ENV=production -RUN pnpm --filter=@dokploy/server switch:prod RUN pnpm --filter=@dokploy/server build RUN pnpm --filter=./apps/dokploy run build diff --git a/Dockerfile.schedule b/Dockerfile.schedule index 36f06aef..5eca3420 100644 --- a/Dockerfile.schedule +++ b/Dockerfile.schedule @@ -15,7 +15,6 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server # Deploy only the dokploy app ENV NODE_ENV=production -RUN pnpm --filter=@dokploy/server switch:prod RUN pnpm --filter=@dokploy/server build RUN pnpm --filter=./apps/schedules run build diff --git a/Dockerfile.server b/Dockerfile.server index 9cf04b21..a25b22e5 100644 --- a/Dockerfile.server +++ b/Dockerfile.server @@ -15,7 +15,6 @@ RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter=@dokploy/server # Deploy only the dokploy app ENV NODE_ENV=production -RUN pnpm --filter=@dokploy/server switch:prod RUN pnpm --filter=@dokploy/server build RUN pnpm --filter=./apps/api run build diff --git a/packages/server/package.json b/packages/server/package.json index e9064582..4ebee48c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -19,7 +19,7 @@ } }, "scripts": { - "build": "rm -rf ./dist && tsc --project tsconfig.server.json && tsc-alias -p tsconfig.server.json", + "build": "npm run switch:prod && rm -rf ./dist && tsc --project tsconfig.server.json && tsc-alias -p tsconfig.server.json", "build:types": "tsc --emitDeclarationOnly --experimenta-dts", "switch:dev": "node scripts/switchToSrc.js", "switch:prod": "node scripts/switchToDist.js", From 4b5408c05049ec71c487c5f8cceb015ae29adf23 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 26 Oct 2024 16:04:43 -0600 Subject: [PATCH 3/4] chore: lint From 78659b2ad9cb73b5c32a4e1d0686b6a9648756d4 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 26 Oct 2024 16:17:20 -0600 Subject: [PATCH 4/4] chore: exclude package.json to format --- biome.json | 9 +- packages/server/package.json | 180 +++++++++++++++++------------------ 2 files changed, 98 insertions(+), 91 deletions(-) diff --git a/biome.json b/biome.json index b6f6c417..f5a6c232 100644 --- a/biome.json +++ b/biome.json @@ -1,7 +1,14 @@ { "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "files": { - "ignore": ["node_modules/**", ".next/**", "drizzle/**", ".docker", "dist"] + "ignore": [ + "node_modules/**", + ".next/**", + "drizzle/**", + ".docker", + "dist", + "packages/server/package.json" + ] }, "organizeImports": { "enabled": true diff --git a/packages/server/package.json b/packages/server/package.json index 4ebee48c..f21a82c4 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,91 +1,91 @@ { - "name": "@dokploy/server", - "version": "1.0.0", - "main": "./src/index.ts", - "type": "module", - "exports": { - ".": "./src/index.ts", - "./db": { - "import": "./src/db/index.ts", - "require": "./dist/db/index.cjs.js" - }, - "./setup/*": { - "import": "./src/setup/*.ts", - "require": "./dist/setup/index.cjs.js" - }, - "./constants": { - "import": "./src/constants/index.ts", - "require": "./dist/constants.cjs.js" - } - }, - "scripts": { - "build": "npm run switch:prod && rm -rf ./dist && tsc --project tsconfig.server.json && tsc-alias -p tsconfig.server.json", - "build:types": "tsc --emitDeclarationOnly --experimenta-dts", - "switch:dev": "node scripts/switchToSrc.js", - "switch:prod": "node scripts/switchToDist.js", - "dev": "rm -rf ./dist && pnpm esbuild && tsc --emitDeclarationOnly --outDir dist -p tsconfig.server.json", - "esbuild": "tsx ./esbuild.config.ts && tsc --project tsconfig.server.json --emitDeclarationOnly ", - "typecheck": "tsc --noEmit" - }, - "dependencies": { - "rotating-file-stream": "3.2.3", - "@faker-js/faker": "^8.4.1", - "@lucia-auth/adapter-drizzle": "1.0.7", - "@octokit/auth-app": "^6.0.4", - "@react-email/components": "^0.0.21", - "@trpc/server": "^10.43.6", - "adm-zip": "^0.5.14", - "bcrypt": "5.1.1", - "bl": "6.0.11", - "boxen": "^7.1.1", - "date-fns": "3.6.0", - "dockerode": "4.0.2", - "dotenv": "16.4.5", - "drizzle-orm": "^0.30.8", - "drizzle-zod": "0.5.1", - "hi-base32": "^0.5.1", - "js-yaml": "4.1.0", - "lodash": "4.17.21", - "lucia": "^3.0.1", - "nanoid": "3", - "node-os-utils": "1.3.7", - "node-pty": "1.0.0", - "node-schedule": "2.1.1", - "nodemailer": "6.9.14", - "octokit": "3.1.2", - "otpauth": "^9.2.3", - "postgres": "3.4.4", - "public-ip": "6.0.2", - "qrcode": "^1.5.3", - "react": "18.2.0", - "react-dom": "18.2.0", - "slugify": "^1.6.6", - "ws": "8.16.0", - "zod": "^3.23.4", - "ssh2": "1.15.0" - }, - "devDependencies": { - "esbuild-plugin-alias": "0.2.1", - "tailwindcss": "^3.4.1", - "tsx": "^4.7.1", - "tsc-alias": "1.8.10", - "@types/adm-zip": "^0.5.5", - "@types/bcrypt": "5.0.2", - "@types/dockerode": "3.3.23", - "@types/js-yaml": "4.0.9", - "@types/lodash": "4.17.4", - "@types/node": "^18.17.0", - "@types/node-os-utils": "1.3.4", - "@types/node-schedule": "2.1.6", - "@types/nodemailer": "^6.4.15", - "@types/qrcode": "^1.5.5", - "@types/react": "^18.2.37", - "@types/react-dom": "^18.2.15", - "@types/ws": "8.5.10", - "drizzle-kit": "^0.21.1", - "esbuild": "0.20.2", - "postcss": "^8.4.31", - "typescript": "^5.4.2", - "@types/ssh2": "1.15.1" - } -} + "name": "@dokploy/server", + "version": "1.0.0", + "main": "./src/index.ts", + "type": "module", + "exports": { + ".": "./src/index.ts", + "./db": { + "import": "./src/db/index.ts", + "require": "./dist/db/index.cjs.js" + }, + "./setup/*": { + "import": "./src/setup/*.ts", + "require": "./dist/setup/index.cjs.js" + }, + "./constants": { + "import": "./src/constants/index.ts", + "require": "./dist/constants.cjs.js" + } + }, + "scripts": { + "build": "npm run switch:prod && rm -rf ./dist && tsc --project tsconfig.server.json && tsc-alias -p tsconfig.server.json", + "build:types": "tsc --emitDeclarationOnly --experimenta-dts", + "switch:dev": "node scripts/switchToSrc.js", + "switch:prod": "node scripts/switchToDist.js", + "dev": "rm -rf ./dist && pnpm esbuild && tsc --emitDeclarationOnly --outDir dist -p tsconfig.server.json", + "esbuild": "tsx ./esbuild.config.ts && tsc --project tsconfig.server.json --emitDeclarationOnly ", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "rotating-file-stream": "3.2.3", + "@faker-js/faker": "^8.4.1", + "@lucia-auth/adapter-drizzle": "1.0.7", + "@octokit/auth-app": "^6.0.4", + "@react-email/components": "^0.0.21", + "@trpc/server": "^10.43.6", + "adm-zip": "^0.5.14", + "bcrypt": "5.1.1", + "bl": "6.0.11", + "boxen": "^7.1.1", + "date-fns": "3.6.0", + "dockerode": "4.0.2", + "dotenv": "16.4.5", + "drizzle-orm": "^0.30.8", + "drizzle-zod": "0.5.1", + "hi-base32": "^0.5.1", + "js-yaml": "4.1.0", + "lodash": "4.17.21", + "lucia": "^3.0.1", + "nanoid": "3", + "node-os-utils": "1.3.7", + "node-pty": "1.0.0", + "node-schedule": "2.1.1", + "nodemailer": "6.9.14", + "octokit": "3.1.2", + "otpauth": "^9.2.3", + "postgres": "3.4.4", + "public-ip": "6.0.2", + "qrcode": "^1.5.3", + "react": "18.2.0", + "react-dom": "18.2.0", + "slugify": "^1.6.6", + "ws": "8.16.0", + "zod": "^3.23.4", + "ssh2": "1.15.0" + }, + "devDependencies": { + "esbuild-plugin-alias": "0.2.1", + "tailwindcss": "^3.4.1", + "tsx": "^4.7.1", + "tsc-alias": "1.8.10", + "@types/adm-zip": "^0.5.5", + "@types/bcrypt": "5.0.2", + "@types/dockerode": "3.3.23", + "@types/js-yaml": "4.0.9", + "@types/lodash": "4.17.4", + "@types/node": "^18.17.0", + "@types/node-os-utils": "1.3.4", + "@types/node-schedule": "2.1.6", + "@types/nodemailer": "^6.4.15", + "@types/qrcode": "^1.5.5", + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", + "@types/ws": "8.5.10", + "drizzle-kit": "^0.21.1", + "esbuild": "0.20.2", + "postcss": "^8.4.31", + "typescript": "^5.4.2", + "@types/ssh2": "1.15.1" + } +} \ No newline at end of file