mirror of https://github.com/portainer/portainer
268 lines
9.8 KiB
JSON
268 lines
9.8 KiB
JSON
{
|
|
"author": "Portainer.io",
|
|
"name": "portainer",
|
|
"homepage": "http://portainer.io",
|
|
"version": "2.15.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": {
|
|
"build": "grunt clean:all && grunt build",
|
|
"build:server": "grunt clean:server && grunt build:server",
|
|
"build:client": "grunt clean:client && grunt build:client",
|
|
"prebuild:docs": "go install github.com/swaggo/swag/cmd/swag@v1.7.1",
|
|
"build:docs": "cd api && swag init -g ./http/handler/handler.go --parseDependency --parseInternal --parseDepth 2 --markdownFiles ./",
|
|
"validate:docs": "swagger2openapi --warnOnly api/docs/swagger.yaml -o api/docs/openapi.yaml && swagger-cli validate api/docs/openapi.yaml",
|
|
"clean": "grunt clean:all",
|
|
"start": "grunt start",
|
|
"start:clean": "grunt clean:all && grunt start",
|
|
"start:localserver": "grunt start:localserver",
|
|
"start:server": "grunt clean:server && grunt start:server",
|
|
"start:client": "grunt clean:client && grunt start:client",
|
|
"dev:client": "grunt clean:client && webpack-dev-server --config=./webpack/webpack.develop.js",
|
|
"dev:client:prod": "grunt clean:client && webpack-dev-server --config=./webpack/webpack.production.js",
|
|
"dev:nodl": "grunt clean:server && grunt clean:client && grunt build:server && grunt start:client",
|
|
"dev:extension": "grunt build && make local -f build/docker-extension/Makefile",
|
|
"start:toolkit": "grunt start:toolkit",
|
|
"build:server:offline": "cd ./api/cmd/portainer && CGO_ENABLED=0 go build --installsuffix cgo --ldflags '-s' && mv -f portainer ../../../dist/portainer",
|
|
"clean:all": "grunt clean:all",
|
|
"format": "prettier --loglevel warn --write \"**/*.{js,css,html,jsx,tsx,ts,json}\"",
|
|
"lint": "yarn lint:client; yarn lint:server",
|
|
"lint:server": "cd api && golangci-lint run -E exportloopref",
|
|
"lint:client": "eslint --cache --fix './**/*.{js,jsx,ts,tsx}'",
|
|
"lint:pr": "make lint-pr",
|
|
"test": "yarn test:client; yarn test:server",
|
|
"test:server": "cd api && go test ./...",
|
|
"test:client": "jest --silent",
|
|
"storybook": "start-storybook -p 6006",
|
|
"build-storybook": "build-storybook -o ./dist/storybook",
|
|
"analyze-webpack": "webpack --config ./webpack/webpack.analyze.js"
|
|
},
|
|
"scriptsComments": {
|
|
"build": "Build the entire app (backend/frontend) in development mode",
|
|
"build:server": "Build the backend",
|
|
"build:client": "Build the frontend (development mode)",
|
|
"build:docs": "builds API docs",
|
|
"clean": "Clean the entire dist folder",
|
|
"start": "Build the entire app (backend/frontend) in development mode, run backend inside a container and start a watch process locally for the frontend files",
|
|
"start:server": "Build the backend and run it inside a container",
|
|
"start:toolkit": "Build the entire app (backend/frontend) in development mode, run backend locally and start a watch process for the frontend files",
|
|
"clean:all": "Deprecated. Use the clean script instead",
|
|
"build:server:offline": "Deprecated. Use the build:server script instead",
|
|
"format": "Should be removed before pr is merged"
|
|
},
|
|
"engines": {
|
|
"node": ">= 0.8.4"
|
|
},
|
|
"dependencies": {
|
|
"@aws-crypto/sha256-js": "^2.0.0",
|
|
"@fortawesome/fontawesome-free": "^5.15.4",
|
|
"@lineup-lite/hooks": "^1.6.0",
|
|
"@nxmix/tokenize-ansi": "^3.0.0",
|
|
"@open-amt-cloud-toolkit/ui-toolkit-react": "2.0.0",
|
|
"@reach/dialog": "^0.17.0",
|
|
"@reach/menu-button": "^0.16.1",
|
|
"@uirouter/angularjs": "1.0.11",
|
|
"@uirouter/react": "^1.0.7",
|
|
"@uirouter/react-hybrid": "^1.0.4",
|
|
"angular": "1.8.2",
|
|
"angular-clipboard": "^1.6.2",
|
|
"angular-file-saver": "^1.1.3",
|
|
"angular-json-tree": "1.1.0",
|
|
"angular-jwt": "~0.1.8",
|
|
"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-multiselect": "https://github.com/portainer/angular-multi-select.git#5f6cb6f966b0bd89f211338fc41dcf70ecacbde7",
|
|
"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": "^0.24.0",
|
|
"axios-progress-bar": "^1.2.0",
|
|
"babel-plugin-angularjs-annotate": "^0.10.0",
|
|
"bootbox": "^5.5.2",
|
|
"bootstrap": "^3.4.0",
|
|
"buffer": "^6.0.3",
|
|
"chardet": "^1.4.0",
|
|
"chart.js": "~2.7.0",
|
|
"clsx": "^1.1.1",
|
|
"codemirror": "~5.64.0",
|
|
"core-js": "^3.19.3",
|
|
"fast-json-patch": "^3.1.0",
|
|
"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",
|
|
"jwt-decode": "^3.1.2",
|
|
"lodash": "^4.17.21",
|
|
"moment": "^2.29.1",
|
|
"msw": "^0.36.3",
|
|
"mustache": "^4.2.0",
|
|
"ng-file-upload": "~12.2.13",
|
|
"parse-duration": "^1.0.2",
|
|
"rc-slider": "^9.7.5",
|
|
"react": "^17.0.2",
|
|
"react-dom": "^17.0.2",
|
|
"react-feather": "^2.0.9",
|
|
"react-i18next": "^11.12.0",
|
|
"react-is": "^18.2.0",
|
|
"react-query": "^3.33.4",
|
|
"react-select": "^5.2.1",
|
|
"react-table": "^7.7.0",
|
|
"react-tooltip": "^4.2.21",
|
|
"sanitize-html": "^2.5.3",
|
|
"spinkit": "^2.0.1",
|
|
"splitargs": "github:deviantony/splitargs#semver:~0.2.0",
|
|
"strip-ansi": "^6.0.0",
|
|
"toastr": "^2.1.4",
|
|
"ui-select": "^0.19.8",
|
|
"uuid": "^3.3.2",
|
|
"x256": "^0.0.2",
|
|
"xterm": "^3.8.0",
|
|
"yaml": "^1.10.2",
|
|
"yup": "^0.32.11"
|
|
},
|
|
"devDependencies": {
|
|
"@apidevtools/swagger-cli": "^4.0.4",
|
|
"@babel/core": "^7.16.0",
|
|
"@babel/preset-env": "^7.16.4",
|
|
"@babel/preset-react": "^7.16.0",
|
|
"@babel/preset-typescript": "^7.16.0",
|
|
"@simbathesailor/use-what-changed": "^2.0.0",
|
|
"@storybook/addon-actions": "^6.4.9",
|
|
"@storybook/addon-essentials": "^6.4.9",
|
|
"@storybook/addon-links": "^6.4.9",
|
|
"@storybook/addon-postcss": "^2.0.0",
|
|
"@storybook/builder-webpack5": "^6.4.9",
|
|
"@storybook/manager-webpack5": "^6.4.9",
|
|
"@storybook/react": "^6.4.9",
|
|
"@svgr/webpack": "^6.2.1",
|
|
"@testing-library/jest-dom": "^5.16.1",
|
|
"@testing-library/react": "^12.1.2",
|
|
"@testing-library/user-event": "^13.5.0",
|
|
"@types/angular": "^1.8.3",
|
|
"@types/bootbox": "^5.2.2",
|
|
"@types/file-saver": "^2.0.4",
|
|
"@types/jest": "^27.0.3",
|
|
"@types/jquery": "^3.5.10",
|
|
"@types/mustache": "^4.1.2",
|
|
"@types/nprogress": "^0.2.0",
|
|
"@types/react": "^17.0.37",
|
|
"@types/react-dom": "^17.0.11",
|
|
"@types/react-is": "^17.0.3",
|
|
"@types/react-table": "^7.7.6",
|
|
"@types/sanitize-html": "^2.5.0",
|
|
"@types/toastr": "^2.1.39",
|
|
"@types/uuid": "^8.3.4",
|
|
"@typescript-eslint/eslint-plugin": "^5.7.0",
|
|
"@typescript-eslint/parser": "^5.7.0",
|
|
"auto-ngtemplate-loader": "^2.0.1",
|
|
"autoprefixer": "^10.4.7",
|
|
"babel-jest": "^27.4.2",
|
|
"babel-loader": "^8.2.3",
|
|
"babel-plugin-i18next-extract": "^0.8.3",
|
|
"babel-plugin-lodash": "^3.3.4",
|
|
"clean-terminal-webpack-plugin": "^3.0.0",
|
|
"clean-webpack-plugin": "^4.0.0",
|
|
"copy-webpack-plugin": "^10.2.0",
|
|
"css-loader": "^6.6.0",
|
|
"cssnano": "^5.0.16",
|
|
"dotenv-webpack": "^7.0.3",
|
|
"eslint": "^8.4.1",
|
|
"eslint-config-airbnb": "^19.0.2",
|
|
"eslint-config-airbnb-typescript": "^16.1.0",
|
|
"eslint-config-prettier": "^8.3.0",
|
|
"eslint-import-resolver-alias": "^1.1.2",
|
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
"eslint-plugin-import": "^2.25.3",
|
|
"eslint-plugin-jest": "^25.3.0",
|
|
"eslint-plugin-jsx-a11y": "^6.5.1",
|
|
"eslint-plugin-promise": "^5.2.0",
|
|
"eslint-plugin-react": "^7.27.1",
|
|
"eslint-plugin-react-hooks": "^4.3.0",
|
|
"eslint-plugin-regex": "^1.9.0",
|
|
"eslint-plugin-storybook": "^0.5.5",
|
|
"eslint-webpack-plugin": "^3.1.1",
|
|
"grunt": "^1.4.1",
|
|
"grunt-cli": "^1.4.3",
|
|
"grunt-contrib-clean": "^2.0.0",
|
|
"grunt-contrib-copy": "^1.0.0",
|
|
"grunt-env": "^0.4.4",
|
|
"grunt-filerev": "^2.3.1",
|
|
"grunt-replace": "^1.0.1",
|
|
"grunt-shell-spawn": "^0.4.0",
|
|
"grunt-usemin": "^3.1.1",
|
|
"grunt-webpack": "^5.0.0",
|
|
"gruntify-eslint": "^3.1.0",
|
|
"html-loader": "^0.5.5",
|
|
"html-webpack-plugin": "^5.5.0",
|
|
"husky": "4.2.5",
|
|
"jest": "^27.4.3",
|
|
"lint-staged": ">=10",
|
|
"load-grunt-tasks": "^3.5.2",
|
|
"lodash-webpack-plugin": "^0.11.6",
|
|
"mini-css-extract-plugin": "^2.5.3",
|
|
"msw-storybook-addon": "^1.5.0",
|
|
"ngtemplate-loader": "^2.1.0",
|
|
"plop": "^2.6.0",
|
|
"postcss": "^8.4.14",
|
|
"postcss-loader": "^6.2.1",
|
|
"prettier": "^2.5.1",
|
|
"react-test-renderer": "^17.0.2",
|
|
"source-map-loader": "^3.0.0",
|
|
"speed-measure-webpack-plugin": "^1.5.0",
|
|
"storybook-css-modules-preset": "^1.1.1",
|
|
"style-loader": "^3.3.1",
|
|
"swagger2openapi": "^7.0.8",
|
|
"tailwindcss": "^3.1.4",
|
|
"tsconfig-paths-webpack-plugin": "^3.5.2",
|
|
"typescript": "^4.5.2",
|
|
"webpack": "^5.65.0",
|
|
"webpack-build-notifier": "^2.3.0",
|
|
"webpack-bundle-analyzer": "^4.5.0",
|
|
"webpack-cli": "^4.9.1",
|
|
"webpack-dev-server": "^4.6.0",
|
|
"webpack-merge": "^5.8.0"
|
|
},
|
|
"resolutions": {
|
|
"**/jquery": "^3.6.0",
|
|
"decompress": "^4.2.1",
|
|
"**/lodash": "^4.17.21",
|
|
"js-yaml": "^3.14.0",
|
|
"minimist": "^1.2.5",
|
|
"http-proxy": "^1.18.1",
|
|
"**/@uirouter/react": "^1.0.7",
|
|
"**/@uirouter/angularjs": "1.0.11",
|
|
"**/css-loader": "^6.6.0",
|
|
"**/moment": "^2.21.0"
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged"
|
|
}
|
|
},
|
|
"browserslist": "last 2 versions"
|
|
}
|