{ "name": "podman-desktop", "productName": "Podman Desktop", "repository": "https://github.com/containers/podman-desktop", "version": "1.12.0-next", "license": "apache-2.0", "type": "module", "private": true, "engines": { "node": ">=20.9.0", "npm": ">=10.2.3" }, "main": "packages/main/dist/index.cjs", "workspaces": { "packages": [ "packages/*", "extensions/*", "storybook", "website", "website-argos", "tools", "tests/*", "scripts" ] }, "scripts": { "build": "npm run build:main && npm run build:preload && npm run build:preload-docker-extension && npm run build:preload-webview && npm run build:ui && npm run build:renderer && npm run build:extensions", "build:main": "cd ./packages/main && vite build", "build:extensions": "npm run build:extensions:compose && npm run build:extensions:docker && npm run build:extensions:lima && npm run build:extensions:podman && npm run build:extensions:kubecontext && npm run build:extensions:kind && npm run build:extensions:registries && npm run build:extensions:kubectl-cli", "build:extensions:compose": "cd ./extensions/compose && npm run build", "build:extensions:docker": "cd ./extensions/docker && npm run build", "build:extensions:kubecontext": "cd ./extensions/kube-context && npm run build", "build:extensions:kind": "cd ./extensions/kind && npm run build", "build:extensions:lima": "cd ./extensions/lima && npm run build", "build:extensions:podman": "cd ./extensions/podman && npm run build", "build:extensions:registries": "cd ./extensions/registries && npm run build", "build:extensions:kubectl-cli": "cd ./extensions/kubectl-cli && npm run build", "build:extension-api": "cd ./packages/extension-api && vite build", "build:preload": "cd ./packages/preload && vite build", "build:preload-docker-extension": "cd ./packages/preload-docker-extension && vite build", "build:preload-webview": "cd ./packages/preload-webview && vite build", "build:preload:types": "dts-cb -i \"packages/preload/tsconfig.json\" -o \"packages/preload/exposedInMainWorld.d.ts\" && dts-cb -i \"packages/preload-docker-extension/tsconfig.json\" -o \"packages/preload-docker-extension/exposedInDockerExtension.d.ts\" && dts-cb -i \"packages/preload-webview/tsconfig.json\" -o \"packages/preload-webview/exposedInWebview.d.ts\"", "build:renderer": "cross-env NODE_OPTIONS=--max-old-space-size=4096 vite -c packages/renderer/vite.config.js build", "build:ui": "cd ./packages/ui && npm run build", "compile": "cross-env MODE=production npm run build && electron-builder build --config .electron-builder.config.cjs --dir --config.asar=false", "compile:next": "cross-env MODE=production npm run build && electron-builder build --publish always --config .electron-builder.config.cjs", "compile:pull-request": "cross-env MODE=production npm run build && electron-builder build --publish never --config .electron-builder.config.cjs", "compile:current": "cross-env MODE=production npm run build && electron-builder build --config .electron-builder.config.cjs", "test": "npm run test:unit && npm run test:e2e", "test:unit": "npm run test:main && npm run test:preload && npm run test:preload-docker-extension && npm run test:preload-webview && npm run test:ui && npm run test:renderer && npm run test:scripts:stylesheet && npm run test:tools && npm run test:extensions", "test:e2e": "npm run test:e2e:build && npm run test:e2e:run", "test:e2e:build": "cross-env NODE_ENV=development MODE=development DEBUG=pw:browser npm run build", "test:e2e:run": "xvfb-maybe --auto-servernum --server-args='-screen 0 1280x960x24' -- vitest run tests/playwright/src/specs/ --pool=threads --poolOptions.threads.singleThread --poolOptions.threads.isolate --no-file-parallelism", "test:e2e:smoke": "npm run test:e2e:build && npm run test:e2e:smoke:run", "test:e2e:smoke:run": "xvfb-maybe --auto-servernum --server-args='-screen 0 1280x960x24' -- vitest run tests/playwright/src/specs/*smoke.spec.ts --pool=threads --poolOptions.threads.singleThread --poolOptions.threads.isolate --no-file-parallelism", "test:e2e:extension": "npm run test:e2e:build && npm run test:e2e:extension:run", "test:e2e:extension:run": "xvfb-maybe --auto-servernum --server-args='-screen 0 1280x960x24' -- vitest run tests/playwright/src/specs/extension-installation.spec.ts --pool=threads --poolOptions.threads.singleThread --poolOptions.threads.isolate --no-file-parallelism", "test:e2e:copy": "cp ../podman-desktop-extension-bootc/tests/src/bootc-extension.spec.ts tests/src/", "test:main": "vitest run -r packages/main --passWithNoTests --coverage", "test:preload": "vitest run -r packages/preload --passWithNoTests --coverage", "test:preload-docker-extension": "vitest run -r packages/preload-docker-extension --passWithNoTests --coverage", "test:preload-webview": "vitest run -r packages/preload-webview --coverage", "test:extensions": "vitest run -r extensions --passWithNoTests --coverage && npm run test:extensions:compose && npm run test:extensions:kind && npm run test:extensions:docker && npm run test:extensions:lima && npm run test:extensions:kube && npm run test:extensions:podman && npm run test:extensions:registries && npm run test:extensions:kubectl-cli", "test:extensions:kind": "vitest run -r extensions/kind --passWithNoTests --coverage ", "test:extensions:compose": "vitest run -r extensions/compose --passWithNoTests --coverage", "test:extensions:docker": "vitest run -r extensions/docker --passWithNoTests --coverage ", "test:extensions:kube": "vitest run -r extensions/kube-context --passWithNoTests --coverage ", "test:extensions:lima": "vitest run -r extensions/lima --passWithNoTests --coverage ", "test:extensions:podman": "vitest run -r extensions/podman --passWithNoTests --coverage ", "test:extensions:registries": "vitest run -r extensions/registries --passWithNoTests --coverage ", "test:extensions:kubectl-cli": "vitest run -r extensions/kubectl-cli --passWithNoTests --coverage ", "test:renderer": "npm run build:ui && vitest -c packages/renderer/vite.config.js run packages/renderer --passWithNoTests --coverage", "test:ui": "vitest --config packages/ui/vite.config.js run --passWithNoTests --coverage", "test:tools": "vitest run tools --passWithNoTests --coverage", "test:scripts:stylesheet": "vitest run ./scripts/generate-stylesheet.spec.ts --passWithNoTests", "test:watch": "vitest watch", "watch": "node scripts/watch.mjs", "format:check": "prettier --cache --check \"{extensions,packages,tests,types,tools,website-argos}/**/*.{ts,svelte}\" \"extensions/*/scripts/*.{ts,js}\" \"website/**/*.{md,js}\" \"website/src/**/*.{css,tsx}\"", "format:fix": "prettier --cache --write \"{extensions,packages,tests,types,tools,website-argos}/**/*.{ts,svelte}\" \"extensions/*/scripts/*.{ts,js}\" \"website/**/*.{md,js}\" \"website/src/**/*.{css,tsx}\"", "markdownlint:check": "markdownlint-cli2 \"website/**/*.md\" \"#website/node_modules\" \"#website/api\"", "markdownlint:fix": "markdownlint-cli2-fix \"website/**/*.md\" \"#website/node_modules\"", "lint:clean": "rimraf .eslintcache", "lint:fix": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --fix --ext js,ts,tsx,svelte", "lint:check": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --ext js,ts,tsx,svelte", "svelte:check": "svelte-check --ignore \"packages/ui/dist,packages/renderer/src/lib/ui/DetailsPage.svelte,packages/renderer/src/lib/ui/EngineFormPage.svelte,packages/renderer/src/lib/ui/FormPage.svelte,storybook\"", "typecheck:extension-api": "tsc --noEmit -p packages/extension-api/tsconfig.json", "typecheck:main": "tsc --noEmit -p packages/main/tsconfig.json", "typecheck:preload": "tsc --noEmit -p packages/preload/tsconfig.json", "typecheck:preload-dd-extension": "tsc --noEmit -p packages/preload-docker-extension/tsconfig.json", "typecheck:preload-webview": "tsc --noEmit -p packages/preload-webview/tsconfig.json", "typecheck:renderer": "npm run build:preload:types && tsc --noEmit -p packages/renderer/tsconfig.json", "typecheck:ui": "npm run build:preload:types && tsc --noEmit -p packages/ui/tsconfig.json", "typecheck:extensions": "npm run typecheck:extensions:compose && npm run typecheck:extensions:kind && npm run typecheck:extensions:docker && npm run typecheck:extensions:lima && npm run typecheck:extensions:kube-context && npm run typecheck:extensions:podman && npm run typecheck:extensions:registries && npm run typecheck:extensions:kubectl-cli", "typecheck:extensions:kind": "tsc --noEmit --project extensions/kind", "typecheck:extensions:compose": "tsc --noEmit --project extensions/compose", "typecheck:extensions:docker": "tsc --noEmit --project extensions/docker", "typecheck:extensions:kube-context": "tsc --noEmit --project extensions/kube-context", "typecheck:extensions:lima": "tsc --noEmit --project extensions/lima", "typecheck:extensions:podman": "tsc --noEmit --project extensions/podman", "typecheck:extensions:registries": "tsc --noEmit --project extensions/registries", "typecheck:extensions:kubectl-cli": "tsc --noEmit --project extensions/kubectl-cli", "typecheck": "npm run typecheck:main && npm run typecheck:preload && npm run typecheck:ui && npm run typecheck:renderer && npm run typecheck:preload-dd-extension && npm run typecheck:preload-webview && npm run typecheck:extensions && npm run typecheck:extension-api", "website:build": "npm run storybook:build && cd website && yarn run docusaurus build", "website:prod": "npm run storybook:build && cd website && yarn run docusaurus build && yarn serve", "website:dev": "npm run storybook:build && cd website && yarn run docusaurus start", "website:screenshots": "cd website-argos && yarn run screenshot", "storybook:css": "tsx ./scripts/generate-stylesheet.ts --output storybook/.storybook/themes.css", "storybook:dev": "npm run storybook:css && cd storybook && yarn run dev", "storybook:build": "npm run build:ui && npm run storybook:css && cd storybook && yarn run build", "prepare": "husky install", "postinstall": "playwright install" }, "lint-staged": { "*.{js,ts,tsx,svelte}": [ "node --max-old-space-size=4096 node_modules/eslint/bin/eslint.js --cache --fix", "prettier --cache --write" ], "*.{md,css,json}": "prettier --write" }, "devDependencies": { "@commitlint/cli": "^19.3.0", "@commitlint/config-conventional": "^19.2.2", "@electron/fuses": "^1.8.0", "@playwright/test": "1.45.1", "@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-typescript": "^11.1.6", "@types/adm-zip": "^0.5.5", "@types/dockerode": "^3.3.29", "@types/express": "^4.17.21", "@types/getos": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/node": "^20", "@types/tar": "^6.1.13", "@types/tar-fs": "^2.0.4", "@types/validator": "^13.12.0", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "@vitest/coverage-v8": "^1.6.0", "cross-env": "7.0.3", "dts-for-context-bridge": "0.7.1", "electron": "31.1.0", "electron-builder": "23.6.0", "electron-builder-notarize": "^1.5.2", "electron-devtools-installer": "^3.2.0", "eslint": "^8.57.0", "eslint-import-resolver-custom-alias": "^1.3.2", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-etc": "^2.0.3", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-redundant-undefined": "^1.0.0", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-sonarjs": "^1.0.3", "eslint-plugin-unicorn": "^54.0.0", "husky": "^9.0.11", "js-yaml": "^4.1.0", "lint-staged": "^15.2.7", "minimist": "^1.2.8", "nock": "^14.0.0-beta.7", "postcss-import": "^16.1.0", "prettier": "^3.3.2", "prettier-plugin-svelte": "^3.2.5", "proxy": "^2.2.0", "typescript": "5.5.3", "validator": "^13.12.0", "vite": "^5.3.3", "vitest": "^1.6.0", "xvfb-maybe": "^0.2.1" }, "dependencies": { "@docker/extension-api-client-types": "0.3.4", "@kubernetes/client-node": "^0.21.0", "@segment/analytics-node": "^2.1.2", "@types/semver": "^7.5.8", "@types/stream-json": "^1.7.7", "adm-zip": "^0.5.14", "check-disk-space": "^3.4.0", "chokidar": "^3.6.0", "compare-versions": "^6.1.0", "date.js": "^0.3.3", "dockerode": "^4.0.2", "electron-context-menu": "^4.0.1", "electron-updater": "6.2.1", "electron-util": "^0.18.1", "express": "^4.19.2", "getos": "^3.2.1", "got": "^14.2.1", "hpagent": "^1.2.0", "minimist": "^1.2.8", "moment": "^2.30.1", "os-locale": "^6.0.2", "semver": "^7.6.2", "stream-json": "^1.8.0", "sudo-prompt": "^9.2.1", "tar": "^7.4.0", "tar-fs": "^3.0.6", "undici": "^6.19.2", "win-ca": "^3.5.1", "yaml": "^2.4.5" }, "resolutions": { "trim": "0.0.3", "ssh2": "1.11.0", "@types/node": "^20" } }