{ "author": "Portainer.io", "name": "portainer", "homepage": "http://portainer.io", "version": "2.20.0", "repository": { "type": "git", "url": "git@github.com:portainer/portainer.git" }, "bugs": { "url": "https://github.com/portainer/portainer/issues" }, "licenses": [ { "type": "Zlib", "url": "https://raw.githubusercontent.com/portainer/portainer/develop/LICENSE" } ], "scripts": { "dev": "webpack-dev-server", "start": "webpack -w", "build": "webpack", "format": "prettier --log-level warn --write \"**/*.{js,css,html,jsx,tsx,ts,json}\"", "lint": "eslint --cache --fix './**/*.{js,jsx,ts,tsx}'", "test": "vitest", "sb": "yarn storybook", "storybook": "storybook dev -p 6006", "storybook:build": "storybook build -o ./dist/storybook", "analyze-webpack": "webpack --config ./webpack/webpack.analyze.js", "prepare": "husky install" }, "engines": { "node": ">= 16" }, "dependencies": { "@aws-crypto/sha256-js": "^2.0.0", "@codemirror/autocomplete": "^6.4.0", "@codemirror/language": "^6.3.2", "@codemirror/legacy-modes": "^6.3.1", "@codemirror/lint": "^6.1.0", "@codemirror/search": "^6.2.3", "@codemirror/state": "^6.2.0", "@codemirror/theme-one-dark": "^6.1.0", "@codemirror/view": "^6.7.1", "@lezer/common": "^1.0.2", "@lezer/highlight": "^1.1.3", "@nxmix/tokenize-ansi": "^3.0.0", "@open-amt-cloud-toolkit/ui-toolkit-react": "2.0.0", "@reach/combobox": "^0.18.0", "@reach/dialog": "^0.17.0", "@reach/menu-button": "^0.16.1", "@reach/popover": "^0.18.0", "@tanstack/react-table": "^8.8.5", "@tippyjs/react": "^4.2.6", "@uirouter/angularjs": "1.0.11", "@uirouter/react": "^1.0.7", "@uirouter/react-hybrid": "^1.0.4", "@uiw/codemirror-themes": "^4.19.9", "@uiw/react-codemirror": "^4.19.5", "angular": "1.8.2", "angular-clipboard": "^1.6.2", "angular-file-saver": "^1.1.3", "angular-json-tree": "1.1.0", "angular-loading-bar": "~0.9.0", "angular-local-storage": "~0.5.2", "angular-messages": "1.8.2", "angular-mocks": "1.8.2", "angular-moment-picker": "^0.10.2", "angular-resource": "1.8.2", "angular-sanitize": "1.8.2", "angular-ui-bootstrap": "~2.5.0", "angular-utils-pagination": "~0.11.1", "angularjs-scroll-glue": "^2.2.0", "angularjs-slider": "^6.4.0", "angulartics": "^1.6.0", "axios": "^1.6.2", "axios-cache-interceptor": "^1.4.1", "axios-progress-bar": "^1.2.0", "babel-plugin-angularjs-annotate": "^0.10.0", "bootstrap": "^3.4.0", "buffer": "^6.0.3", "c8": "^9.1.0", "chardet": "^1.4.0", "chart.js": "^2.7.0", "clsx": "^1.1.1", "codemirror": "^6.0.1", "core-js": "^3.19.3", "date-fns": "^2.29.3", "docker-types": "^1.43.1", "fast-json-patch": "^3.1.1", "file-saver": "^2.0.5", "filesize": "~3.3.0", "filesize-parser": "^1.5.0", "formik": "^2.2.9", "i18next": "^21.3.3", "i18next-browser-languagedetector": "^6.1.2", "i18next-http-backend": "^1.3.1", "jquery": "^3.6.0", "js-base64": "^3.7.2", "js-yaml": "^3.14.0", "jsdom": "^24.0.0", "lodash": "^4.17.21", "lucide-react": "^0.258.0", "moment": "^2.29.1", "moment-timezone": "^0.5.40", "mustache": "^4.2.0", "ng-file-upload": "~12.2.13", "parse-duration": "^1.0.2", "rc-slider": "^10.0.0", "react": "^17.0.2", "react-datetime-picker": "^4.2.0", "react-dom": "^17.0.2", "react-i18next": "^11.12.0", "react-is": "^17.0.2", "react-query": "^3.33.4", "react-select": "^5.2.1", "sanitize-html": "^2.8.1", "spinkit": "^2.0.1", "strip-ansi": "^6.0.0", "tippy.js": "^6.3.7", "toastr": "^2.1.4", "ts-xor": "^1.1.0", "uuid": "^3.3.2", "xterm": "^3.8.0", "yaml": "^1.10.2", "yup": "^0.32.11", "zustand": "^4.1.1" }, "devDependencies": { "@apidevtools/swagger-cli": "^4.0.4", "@babel/core": "^7.23.0", "@babel/preset-env": "^7.22.20", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", "@simbathesailor/use-what-changed": "^2.0.0", "@storybook/addon-actions": "^7.0.18", "@storybook/addon-essentials": "^7.0.18", "@storybook/addon-links": "^7.0.18", "@storybook/addon-styling": "^1.0.8", "@storybook/react": "^7.0.18", "@storybook/react-webpack5": "^7.0.18", "@svgr/webpack": "^8.1.0", "@testing-library/dom": "^9.3.4", "@testing-library/react": "^12", "@testing-library/user-event": "^14.5.2", "@types/angular": "^1.8.3", "@types/file-saver": "^2.0.4", "@types/filesize-parser": "^1.5.1", "@types/jquery": "^3.5.10", "@types/mustache": "^4.1.2", "@types/nprogress": "^0.2.0", "@types/react": "^17.0.37", "@types/react-datetime-picker": "^3.4.1", "@types/react-dom": "^17.0.11", "@types/react-is": "^17.0.3", "@types/sanitize-html": "^2.8.0", "@types/toastr": "^2.1.39", "@types/uuid": "^3.3.2", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", "auto-ngtemplate-loader": "^3.1.2", "autoprefixer": "^10.4.16", "babel-loader": "^9.1.3", "babel-plugin-i18next-extract": "^0.9.0", "babel-plugin-lodash": "^3.3.4", "clean-webpack-plugin": "^4.0.0", "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.8.1", "cssnano": "^6.0.1", "dotenv-webpack": "^8.0.1", "eslint": "^8.50.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", "eslint-config-prettier": "^9.0.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.28.1", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-regex": "^1.10.0", "eslint-plugin-storybook": "^0.6.14", "eslint-plugin-vitest": "^0.3.20", "html-loader": "^0.5.5", "html-webpack-plugin": "^5.5.3", "husky": "^8.0.0", "kubernetes-types": "^1.26.0", "lint-staged": "^14.0.1", "lodash-webpack-plugin": "^0.11.6", "mini-css-extract-plugin": "^2.7.6", "msw": "^2.0.11", "msw-storybook-addon": "2.0.0--canary.122.b3ed3b1.0", "ngtemplate-loader": "^2.1.0", "plop": "^4.0.0", "postcss": "^8.4.33", "postcss-loader": "^7.3.3", "prettier": "^3.0.3", "prettier-plugin-tailwindcss": "^0.5.4", "react-docgen-typescript-plugin": "^1.0.5", "source-map-loader": "^4.0.1", "speed-measure-webpack-plugin": "^1.5.0", "storybook": "^7.0.18", "storybook-css-modules-preset": "^1.1.1", "style-loader": "^3.3.3", "swagger2openapi": "^7.0.8", "tailwindcss": "3.3.3", "tsconfig-paths-webpack-plugin": "^4.1.0", "typescript": "^5.2.2", "undici": "^6.2.1", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^4.3.1", "vitest": "^1.2.1", "vitest-dom": "^0.1.1", "webpack": "^5.88.2", "webpack-build-notifier": "^2.3.0", "webpack-bundle-analyzer": "^4.9.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" }, "resolutions": { "**/jquery": "^3.6.0", "decompress": "^4.2.1", "**/lodash": "^4.17.21", "js-yaml": "^3.14.0", "minimist": "^1.2.6", "http-proxy": "^1.18.1", "**/@uirouter/react": "^1.0.7", "**/@uirouter/angularjs": "1.0.11", "**/moment": "^2.21.0", "msw/**/wrap-ansi": "^7.0.0" }, "browserslist": "last 2 versions", "msw": { "workerDirectory": ".storybook/public" } }