refactor: cleanup dependencies

This commit is contained in:
Mauricio Siu 2024-09-29 20:35:25 -06:00
parent 61ebd1b16e
commit 071a9d5104
9 changed files with 109 additions and 1094 deletions

View File

@ -19,66 +19,66 @@ jobs:
if [ "${CIRCLE_BRANCH}" == "main" ]; then
TAG="latest"
else
TAG="canary"
TAG="feature"
fi
docker build --platform linux/amd64 -t dokploy/dokploy:${TAG}-amd64 .
# docker push dokploy/dokploy:${TAG}-amd64
docker push dokploy/dokploy:${TAG}-amd64
# build-arm64:
# machine:
# image: ubuntu-2004:current
# resource_class: arm.large
# steps:
# - checkout
# - run:
# name: Prepare .env file
# command: |
# cp apps/dokploy/.env.production.example .env.production
# cp apps/dokploy/.env.production.example apps/dokploy/.env.production
# - run:
# name: Build and push ARM64 image
# command: |
# docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
# if [ "${CIRCLE_BRANCH}" == "main" ]; then
# TAG="latest"
# else
# TAG="canary"
# fi
# docker build --platform linux/arm64 -t dokploy/dokploy:${TAG}-arm64 .
# docker push dokploy/dokploy:${TAG}-arm64
build-arm64:
machine:
image: ubuntu-2004:current
resource_class: arm.large
steps:
- checkout
- run:
name: Prepare .env file
command: |
cp apps/dokploy/.env.production.example .env.production
cp apps/dokploy/.env.production.example apps/dokploy/.env.production
- run:
name: Build and push ARM64 image
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
if [ "${CIRCLE_BRANCH}" == "main" ]; then
TAG="latest"
else
TAG="feature"
fi
docker build --platform linux/arm64 -t dokploy/dokploy:${TAG}-arm64 .
docker push dokploy/dokploy:${TAG}-arm64
# combine-manifests:
# docker:
# - image: cimg/node:18.18.0
# steps:
# - checkout
# - setup_remote_docker
# - run:
# name: Create and push multi-arch manifest
# command: |
# docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
combine-manifests:
docker:
- image: cimg/node:18.18.0
steps:
- checkout
- setup_remote_docker
- run:
name: Create and push multi-arch manifest
command: |
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_TOKEN
# if [ "${CIRCLE_BRANCH}" == "main" ]; then
# VERSION=$(node -p "require('./apps/dokploy/package.json').version")
# echo $VERSION
# TAG="latest"
if [ "${CIRCLE_BRANCH}" == "main" ]; then
VERSION=$(node -p "require('./apps/dokploy/package.json').version")
echo $VERSION
TAG="latest"
# docker manifest create dokploy/dokploy:${TAG} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${TAG}
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
# docker manifest create dokploy/dokploy:${VERSION} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${VERSION}
# else
# TAG="canary"
# docker manifest create dokploy/dokploy:${TAG} \
# dokploy/dokploy:${TAG}-amd64 \
# dokploy/dokploy:${TAG}-arm64
# docker manifest push dokploy/dokploy:${TAG}
# fi
docker manifest create dokploy/dokploy:${VERSION} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${VERSION}
else
TAG="feature"
docker manifest create dokploy/dokploy:${TAG} \
dokploy/dokploy:${TAG}-amd64 \
dokploy/dokploy:${TAG}-arm64
docker manifest push dokploy/dokploy:${TAG}
fi
workflows:
build-all:
@ -88,21 +88,22 @@ workflows:
branches:
only:
- feat/cloud
# - main
# - canary
# -
# - build-arm64:
# filters:
# branches:
# only:
# - main
# - canary
# - combine-manifests:
# requires:
# - build-amd64
# - build-arm64
# filters:
# branches:
# only:
# - main
# - canary
- main
- canary
- build-arm64:
filters:
branches:
only:
- main
- canary
- feat/cloud
- combine-manifests:
requires:
- build-amd64
- build-arm64
filters:
branches:
only:
- main
- canary
- feat/cloud

View File

@ -21,13 +21,8 @@
"react-ga4": "^2.1.0"
},
"devDependencies": {
"tsx": "4.15.7",
"@biomejs/biome": "1.8.1",
"@types/mdx": "^2.0.13",
"@types/node": "^20.14.2",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"autoprefixer": "^10.4.19",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.4",
"typescript": "^5.4.5"

View File

@ -35,17 +35,13 @@
},
"dependencies": {
"@dokploy/builders": "workspace:*",
"rotating-file-stream": "3.2.3",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-yaml": "^6.1.1",
"@codemirror/language": "^6.10.1",
"@codemirror/legacy-modes": "6.4.0",
"@codemirror/view": "6.29.0",
"@dokploy/trpc-openapi": "0.0.4",
"@faker-js/faker": "^8.4.1",
"@hookform/resolvers": "^3.3.4",
"@lucia-auth/adapter-drizzle": "1.0.7",
"@octokit/auth-app": "^6.0.4",
"@octokit/webhooks": "^13.2.7",
"@radix-ui/react-accordion": "1.1.2",
"@radix-ui/react-alert-dialog": "^1.0.5",
@ -65,7 +61,6 @@
"@radix-ui/react-tabs": "^1.0.4",
"@radix-ui/react-toggle": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.7",
"@react-email/components": "^0.0.21",
"@tanstack/react-query": "^4.36.1",
"@tanstack/react-table": "^8.16.0",
"@trpc/client": "^10.43.6",
@ -78,8 +73,6 @@
"@xterm/xterm": "^5.4.0",
"adm-zip": "^0.5.14",
"bcrypt": "5.1.1",
"bl": "6.0.11",
"boxen": "^7.1.1",
"bullmq": "5.4.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
@ -87,31 +80,22 @@
"copy-to-clipboard": "^3.3.3",
"copy-webpack-plugin": "^12.0.2",
"date-fns": "3.6.0",
"dockerode": "4.0.2",
"dockerode-compose": "^1.4.0",
"dockerstats": "2.4.2",
"dotenv": "16.4.5",
"drizzle-orm": "^0.30.8",
"drizzle-zod": "0.5.1",
"hi-base32": "^0.5.1",
"input-otp": "^1.2.4",
"js-yaml": "4.1.0",
"k6": "^0.0.0",
"lodash": "4.17.21",
"lucia": "^3.0.1",
"lucide-react": "^0.312.0",
"nanoid": "3",
"next": "^14.1.3",
"next-themes": "^0.2.1",
"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",
"react-hook-form": "^7.49.3",
@ -122,53 +106,34 @@
"swagger-ui-react": "^5.17.14",
"tailwind-merge": "^2.2.0",
"tailwindcss-animate": "^1.0.7",
"tar-fs": "3.0.5",
"undici": "^6.19.2",
"use-resize-observer": "9.1.0",
"ws": "8.16.0",
"xterm-addon-fit": "^0.8.0",
"zod": "^3.23.4",
"zod-form-data": "^2.0.2",
"@radix-ui/react-primitive": "2.0.0",
"@radix-ui/react-use-controllable-state": "1.1.0",
"ssh2": "1.15.0"
},
"devDependencies": {
"@biomejs/biome": "1.8.3",
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"@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/swagger-ui-react": "^4.18.3",
"@types/tar-fs": "2.0.4",
"@types/ws": "8.5.10",
"autoprefixer": "^10.4.14",
"drizzle-kit": "^0.21.1",
"esbuild": "0.20.2",
"husky": "^9.0.11",
"lint-staged": "^15.2.7",
"localtunnel": "2.0.2",
"memfs": "^4.11.0",
"postcss": "^8.4.31",
"prettier": "^3.2.4",
"prettier-plugin-tailwindcss": "^0.5.11",
"tailwindcss": "^3.4.1",
"tsconfig-paths": "4.2.0",
"tsx": "^4.7.0",
"typescript": "^5.4.2",
"vite-tsconfig-paths": "4.3.2",
"vitest": "^1.6.0",
"xterm-readline": "1.1.1",
"@types/ssh2": "1.15.1"
},
"ct3aMetadata": {

View File

@ -1,39 +0,0 @@
import path from "node:path";
import Docker from "dockerode";
export const IS_CLOUD = process.env.IS_CLOUD === "true";
export const docker = new Docker();
export const paths = (isServer = false) => {
if (isServer) {
const BASE_PATH = "/etc/dokploy";
return {
BASE_PATH,
MAIN_TRAEFIK_PATH: `${BASE_PATH}/traefik`,
DYNAMIC_TRAEFIK_PATH: `${BASE_PATH}/traefik/dynamic`,
LOGS_PATH: `${BASE_PATH}/logs`,
APPLICATIONS_PATH: `${BASE_PATH}/applications`,
COMPOSE_PATH: `${BASE_PATH}/compose`,
SSH_PATH: `${BASE_PATH}/ssh`,
CERTIFICATES_PATH: `${BASE_PATH}/certificates`,
MONITORING_PATH: `${BASE_PATH}/monitoring`,
REGISTRY_PATH: `${BASE_PATH}/registry`,
};
}
const BASE_PATH =
process.env.NODE_ENV === "production"
? "/etc/dokploy"
: path.join(process.cwd(), ".docker");
return {
BASE_PATH,
MAIN_TRAEFIK_PATH: `${BASE_PATH}/traefik`,
DYNAMIC_TRAEFIK_PATH: `${BASE_PATH}/traefik/dynamic`,
LOGS_PATH: `${BASE_PATH}/logs`,
APPLICATIONS_PATH: `${BASE_PATH}/applications`,
COMPOSE_PATH: `${BASE_PATH}/compose`,
SSH_PATH: `${BASE_PATH}/ssh`,
CERTIFICATES_PATH: `${BASE_PATH}/certificates`,
MONITORING_PATH: `${BASE_PATH}/monitoring`,
REGISTRY_PATH: `${BASE_PATH}/registry`,
};
};

View File

@ -1,25 +1,25 @@
import esbuild from "esbuild";
// import esbuild from "esbuild";
try {
esbuild
.build({
entryPoints: ["./src/**/*.ts"],
bundle: true,
platform: "node",
format: "cjs",
target: "node18",
outExtension: { ".js": ".js" },
minify: true,
outdir: "dist",
tsconfig: "tsconfig.server.json",
packages: "external",
alias: {
"@/server": "./src",
},
})
.catch(() => {
return process.exit(1);
});
} catch (error) {
console.log(error);
}
// try {
// esbuild
// .build({
// entryPoints: ["./src/**/*.ts"],
// bundle: true,
// platform: "node",
// format: "cjs",
// target: "node18",
// outExtension: { ".js": ".js" },
// minify: true,
// outdir: "dist",
// tsconfig: "tsconfig.server.json",
// packages: "external",
// alias: {
// "@/server": "./src",
// },
// })
// .catch(() => {
// return process.exit(1);
// });
// } catch (error) {
// console.log(error);
// }

View File

@ -11,79 +11,26 @@
"build:types": "tsc --emitDeclarationOnly --experimenta-dts"
},
"dependencies": {
"tsc-alias": "1.8.10",
"esbuild": "0.20.2",
"esbuild-plugin-alias-path": "2.0.2",
"esbuild-plugin-alias": "0.2.1",
"tiny-glob": "^0.2.9",
"rotating-file-stream": "3.2.3",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-yaml": "^6.1.1",
"@codemirror/language": "^6.10.1",
"@codemirror/legacy-modes": "6.4.0",
"@codemirror/view": "6.29.0",
"@dokploy/trpc-openapi": "0.0.4",
"@faker-js/faker": "^8.4.1",
"@hookform/resolvers": "^3.3.4",
"@lucia-auth/adapter-drizzle": "1.0.7",
"@octokit/auth-app": "^6.0.4",
"@octokit/webhooks": "^13.2.7",
"@radix-ui/react-accordion": "1.1.2",
"@radix-ui/react-alert-dialog": "^1.0.5",
"@radix-ui/react-avatar": "^1.0.4",
"@radix-ui/react-checkbox": "^1.0.4",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"@radix-ui/react-label": "^2.0.2",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-progress": "^1.0.3",
"@radix-ui/react-radio-group": "^1.1.3",
"@radix-ui/react-scroll-area": "^1.0.5",
"@radix-ui/react-select": "^2.0.0",
"@radix-ui/react-separator": "^1.0.3",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tabs": "^1.0.4",
"@radix-ui/react-toggle": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.7",
"@react-email/components": "^0.0.21",
"@tanstack/react-query": "^4.36.1",
"@tanstack/react-table": "^8.16.0",
"@trpc/client": "^10.43.6",
"@trpc/next": "^10.43.6",
"@trpc/react-query": "^10.43.6",
"@trpc/server": "^10.43.6",
"@uiw/codemirror-theme-github": "^4.22.1",
"@uiw/react-codemirror": "^4.22.1",
"@xterm/addon-attach": "0.10.0",
"@xterm/xterm": "^5.4.0",
"adm-zip": "^0.5.14",
"bcrypt": "5.1.1",
"bl": "6.0.11",
"boxen": "^7.1.1",
"bullmq": "5.4.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"cmdk": "^0.2.0",
"copy-to-clipboard": "^3.3.3",
"copy-webpack-plugin": "^12.0.2",
"date-fns": "3.6.0",
"dockerode": "4.0.2",
"dockerode-compose": "^1.4.0",
"dockerstats": "2.4.2",
"dotenv": "16.4.5",
"drizzle-orm": "^0.30.8",
"drizzle-zod": "0.5.1",
"hi-base32": "^0.5.1",
"input-otp": "^1.2.4",
"js-yaml": "4.1.0",
"k6": "^0.0.0",
"lodash": "4.17.21",
"lucia": "^3.0.1",
"lucide-react": "^0.312.0",
"nanoid": "3",
"next": "^14.1.3",
"next-themes": "^0.2.1",
"node-os-utils": "1.3.7",
"node-pty": "1.0.0",
"node-schedule": "2.1.1",
@ -95,29 +42,13 @@
"qrcode": "^1.5.3",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "^7.49.3",
"recharts": "^2.12.7",
"slugify": "^1.6.6",
"sonner": "^1.4.0",
"superjson": "^2.2.1",
"swagger-ui-react": "^5.17.14",
"tailwind-merge": "^2.2.0",
"tailwindcss-animate": "^1.0.7",
"tar-fs": "3.0.5",
"undici": "^6.19.2",
"use-resize-observer": "9.1.0",
"ws": "8.16.0",
"xterm-addon-fit": "^0.8.0",
"zod": "^3.23.4",
"zod-form-data": "^2.0.2",
"@radix-ui/react-primitive": "2.0.0",
"@radix-ui/react-use-controllable-state": "1.1.0",
"ssh2": "1.15.0"
},
"devDependencies": {
"@biomejs/biome": "1.8.3",
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
"tsc-alias": "1.8.10",
"@types/adm-zip": "^0.5.5",
"@types/bcrypt": "5.0.2",
"@types/dockerode": "3.3.23",
@ -130,26 +61,11 @@
"@types/qrcode": "^1.5.5",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"@types/swagger-ui-react": "^4.18.3",
"@types/tar-fs": "2.0.4",
"@types/ws": "8.5.10",
"autoprefixer": "^10.4.14",
"drizzle-kit": "^0.21.1",
"esbuild": "0.20.2",
"husky": "^9.0.11",
"lint-staged": "^15.2.7",
"localtunnel": "2.0.2",
"memfs": "^4.11.0",
"postcss": "^8.4.31",
"prettier": "^3.2.4",
"prettier-plugin-tailwindcss": "^0.5.11",
"tailwindcss": "^3.4.1",
"tsconfig-paths": "4.2.0",
"tsx": "^4.7.0",
"typescript": "^5.4.2",
"vite-tsconfig-paths": "4.3.2",
"vitest": "^1.6.0",
"xterm-readline": "1.1.1",
"@types/ssh2": "1.15.1",
"tsup": "6.4.0"
}

View File

@ -1,18 +0,0 @@
{
"compilerOptions": {
"module": "ESNext",
"outDir": "dist/",
"target": "ESNext",
"isolatedModules": false,
"noEmit": false,
"moduleResolution": "Node",
"baseUrl": ".",
"paths": {
"@/server/*": ["./src/*"]
},
"jsx": "preserve",
"esModuleInterop": true,
"skipLibCheck": true
},
"exclude": ["**/dist", "tsup.ts"]
}

View File

@ -1,55 +0,0 @@
import { defineConfig } from "tsup";
// import tsconfigPaths from "tsconfig-paths";
import { aliasPath } from "esbuild-plugin-alias-path";
// console.log("Absolute base URL:", absoluteBaseUrl);
// if (absoluteBaseUrl) {
// tsconfigPaths.register({
// baseUrl: absoluteBaseUrl.,
// paths,
// });
// }
// console.log("baseUrl", tsconfigPaths.loadConfig("./tsconfig.server.json"));
// tsconfigPaths.register({
// baseUrl: ".",
// cwd: "./tsconfig.server.json",
// paths: {
// "@/server/*": ["./src/*"],
// },
// });
export default defineConfig({
entry: ["./src/**/*.ts"],
format: ["esm"],
dts: true,
clean: true,
bundle: false,
splitting: false,
sourcemap: false,
minify: false,
tsconfig: "./tsconfig.server.json",
// esbuildPlugins: [
// aliasPath({
// alias: { "@/server": "./src" },
// }),
// ],
esbuildOptions(options) {
// Reemplazar el alias "@/server" por la ruta física
options.plugins = [
{
name: "replace-alias",
setup(build) {
build.onResolve({ filter: /^@\/server\// }, (args) => {
const resolvedPath = args.path.replace(
/^@\/server\//,
"./src/server/",
);
return { path: resolvedPath };
});
},
},
];
},
});

File diff suppressed because it is too large Load Diff