{ "name": "dockge", "version": "1.0.4", "type": "module", "scripts": { "fmt": "eslint \"**/*.{ts,vue}\" --fix", "lint": "eslint \"**/*.{ts,vue}\"", "start": "tsx ./backend/index.ts", "dev:backend": "cross-env NODE_ENV=development tsx watch ./backend/index.ts", "dev:frontend": "cross-env NODE_ENV=development vite --host --config ./frontend/vite.config.ts", "release-final": "tsx ./extra/test-docker.ts && tsx extra/update-version.ts && pnpm run build:frontend && npm run build:docker", "build:frontend": "vite build --config ./frontend/vite.config.ts", "build:docker-base": "docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:base -f ./docker/Base.Dockerfile . --push", "build:docker": "node ./extra/env2arg.js docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:latest -t louislam/dockge:1 -t louislam/dockge:$VERSION --target release -f ./docker/Dockerfile . --push", "build:docker-nightly": "pnpm run build:frontend && docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t louislam/dockge:nightly --target nightly -f ./docker/Dockerfile . --push", "start-docker": "docker run --rm -p 5001:5001 --name dockge louislam/dockge:latest", "mark-as-nightly": "tsx ./extra/mark-as-nightly.ts" }, "dependencies": { "@homebridge/node-pty-prebuilt-multiarch": "~0.11.11", "@louislam/sqlite3": "~15.1.6", "bcryptjs": "~2.4.3", "check-password-strength": "~2.0.7", "command-exists": "~1.2.9", "compare-versions": "~6.1.0", "composerize": "~1.4.1", "croner": "~7.0.5", "dayjs": "~1.11.10", "express": "~4.18.2", "express-static-gzip": "~2.1.7", "http-graceful-shutdown": "~3.1.13", "jsonwebtoken": "~9.0.2", "jwt-decode": "~3.1.2", "knex": "~2.5.1", "limiter-es6-compat": "~2.1.2", "mysql2": "^3.6.3", "redbean-node": "0.3.2", "socket.io": "~4.7.2", "socket.io-client": "~4.7.2", "timezones-list": "~3.0.2", "ts-command-line-args": "~2.5.1", "tsx": "~3.14.0", "type-fest": "~4.3.3", "yaml": "~2.3.4" }, "devDependencies": { "@fontsource/jetbrains-mono": "^5.0.17", "@fortawesome/fontawesome-svg-core": "6.4.2", "@fortawesome/free-regular-svg-icons": "6.4.2", "@fortawesome/free-solid-svg-icons": "6.4.2", "@fortawesome/vue-fontawesome": "3.0.3", "@types/bootstrap": "~5.2.9", "@types/command-exists": "~1.2.3", "@types/express": "~4.17.21", "@types/jsonwebtoken": "~9.0.5", "@typescript-eslint/eslint-plugin": "~6.8.0", "@typescript-eslint/parser": "~6.8.0", "@vitejs/plugin-vue": "~4.5.0", "bootstrap": "5.3.2", "bootstrap-vue-next": "~0.14.10", "cross-env": "~7.0.3", "eslint": "~8.50.0", "eslint-plugin-jsdoc": "~46.8.2", "eslint-plugin-vue": "~9.17.0", "prismjs": "~1.29.0", "sass": "~1.68.0", "typescript": "~5.2.2", "unplugin-vue-components": "~0.25.2", "vite": "~5.0.0", "vite-plugin-compression": "~0.5.1", "vue": "~3.3.8", "vue-eslint-parser": "~9.3.2", "vue-i18n": "~9.5.0", "vue-prism-editor": "2.0.0-alpha.2", "vue-qrcode": "~2.2.0", "vue-router": "~4.2.5", "vue-toastification": "2.0.0-rc.5", "xterm": "5.4.0-beta.37", "xterm-addon-web-links": "~0.9.0" } }