{ "name": "kubernetes-dashboard", "version": "2.0.4", "repository": { "type": "git", "url": "https://github.com/kubernetes/dashboard.git" }, "license": "Apache-2.0", "scripts": { "start": "concurrently \"npm run start:backend --kubernetes-dashboard:sidecar_host=$npm_package_config_sidecar_host\" \"npm run start:frontend --kubernetes-dashboard:bind_address=$npm_package_config_bind_address --kubernetes-dashboard:port=$npm_package_config_port\"", "start:https": "concurrently \"npm run start:backend:https --kubernetes-dashboard:sidecar_host=$npm_package_config_sidecar_host\" \"npm run start:frontend:https --kubernetes-dashboard:bind_address=$npm_package_config_bind_address --kubernetes-dashboard:port=$npm_package_config_port\"", "start:frontend": "npm run postversion && ng serve --aot --progress=false --proxy-config aio/proxy.conf.json --host=$npm_package_config_bind_address --port $npm_package_config_port", "start:frontend:https": "node aio/scripts/version.js && ng serve --progress=false --aot --proxy-config aio/https-proxy.conf.json --ssl --host=$npm_package_config_bind_address --port $npm_package_config_port", "start:backend": "KUBECONFIG=${KUBECONFIG:-$npm_package_config_kubeconfig}; gulp serve --kubeconfig $KUBECONFIG --sidecarServerHost $npm_package_config_sidecar_host", "start:backend:https": "KUBECONFIG=${KUBECONFIG:-$npm_package_config_kubeconfig}; gulp serve --kubeconfig $KUBECONFIG --autoGenerateCerts true --sidecarServerHost $npm_package_config_sidecar_host", "start:prod": "npm run build && ./$npm_package_config_dashboard_binary_path --kubeconfig $npm_package_config_kubeconfig --locale-config $npm_package_config_dashboard_locale_config --auto-generate-certificates --bind-address $npm_package_config_bind_address --sidecar-host $npm_package_config_sidecar_host --port $npm_package_config_port", "build": "./aio/scripts/build.sh", "build:cross": "./aio/scripts/build.sh -c", "build:frontend": "npm run clean && ng build --aot --prod --localize --outputPath=$npm_package_config_frontend_build_dir", "build:backend": "npm run clean && gulp backend:prod", "build:backend:cross": "npm run clean && gulp backend:prod:cross", "docker:build": "npm run clean && npm run build:cross && gulp docker-image:release:cross", "docker:build:head": "npm run clean && npm run build:cross && gulp docker-image:head:cross", "docker:push": "npm run docker:build && gulp push-to-docker:release:cross", "docker:push:head": "npm run docker:build:head && gulp push-to-docker:head:cross", "cy:open": "npx cypress open", "cy:run": "npx cypress run", "test": "npm run test:frontend && npm run test:backend && npm run e2e", "test:frontend": "ng test --karma-config ./aio/karma.conf.js --watch=false", "test:frontend:coverage": "ng test --karma-config ./aio/karma.conf.js --watch=false --code-coverage", "test:frontend:watch": "ng test --karma-config ./aio/karma.conf.js", "test:backend": "go test github.com/kubernetes/dashboard/src/app/backend/...", "test:backend:coverage": "./aio/scripts/coverage-backend.sh", "test:coverage": "npm run test:frontend:coverage && npm run test:backend:coverage", "e2e": "concurrently -kill-others --success first \"npm run start\" \"wait-on http://localhost:8080 && npm run cy:run\"", "cluster:start": "./aio/scripts/start-cluster.sh", "cluster:stop": "./aio/scripts/stop-cluster.sh", "check": "concurrently \"npm run check:backend\" \"npm run check:codegen\" \"npm run check:frontend\" \"npm run check:i18n\"", "check:backend": "golangci-lint run -c .golangci.yml ./src/app/backend/...", "check:codegen": "aio/scripts/verify-codegen.sh", "check:frontend": "concurrently \"npm run check:frontend:ts\" \"npm run check:frontend:scss\" \"npm run check:frontend:html\"", "check:frontend:ts": "gts lint", "check:frontend:scss": "./aio/scripts/format.sh --styles --check && ./node_modules/sass-lint/bin/sass-lint.js -c .sass-lint.yml 'src/app/frontend/**/*.scss' -v -q", "check:frontend:html": "./aio/scripts/format.sh --html --check", "check:license": "license-check-and-add check", "check:i18n": "ng xi18n --no-progress --outFile ../i18n/messages.xlf && aio/scripts/xliffmerge.sh", "fix": "concurrently \"npm run fix:backend\" \"npm run fix:frontend\" \"npm run fix:license\" \"npm run fix:i18n\"", "fix:backend": "golangci-lint run -c .golangci.yml --fix ./src/app/backend/...", "fix:frontend": "concurrently \"npm run fix:frontend:ts\" \"npm run fix:frontend:scss\" \"npm run fix:frontend:html\"", "fix:frontend:ts": "gts fix", "fix:frontend:scss": "scssfmt -r 'src/**/*.scss'", "fix:frontend:html": "./aio/scripts/format.sh --html", "fix:license": "license-check-and-add add", "fix:i18n": "ng xi18n --outFile ../i18n/messages.xlf && aio/scripts/xliffmerge.sh", "clean": "rm -rf .go_workspace .tmp coverage dist npm-debug.log", "postversion": "node aio/scripts/version.js", "postinstall": "node aio/scripts/version.js && command -v golangci-lint >/dev/null 2>&1 || { curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.30.0; } && go mod download && ./aio/scripts/install-codegen.sh && ngcc" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "src/**/*.ts": [ "gts fix" ], "src/**/*.scss": [ "scssfmt" ], "src/**/*.go": [ "./aio/scripts/pre-commit-golangci-lint.sh" ], "src/**/*.html": [ "./aio/scripts/pre-commit-i18n.sh" ] }, "xliffmergeOptions": { "srcDir": "i18n", "genDir": "i18n", "defaultLanguage": "en", "languages": [ "de", "fr", "ja", "ko", "zh-Hans", "zh-Hant", "zh-Hant-HK" ], "beautifyOutput": true }, "dependencies": { "@angular/animations": "10.1.6", "@angular/cdk": "10.2.5", "@angular/common": "10.1.6", "@angular/compiler": "10.1.6", "@angular/core": "10.1.6", "@angular/flex-layout": "10.0.0-beta.32", "@angular/forms": "10.1.6", "@angular/localize": "10.1.6", "@angular/material": "10.2.5", "@angular/platform-browser": "10.1.6", "@angular/platform-browser-dynamic": "10.1.6", "@angular/router": "10.1.6", "@swimlane/ngx-charts": "16.0.0", "@types/c3": "0.7.4", "@types/d3": "5.16.3", "@types/d3-scale": "3.2.0", "@types/file-saver": "2.0.1", "@types/highlight.js": "9.12.4", "ace-builds": "1.4.12", "angular-page-visibility": "9.0.6", "ansi-to-html": "0.6.14", "c3": "0.7.20", "core-js": "3.6.5", "d3": "6.2.0", "file-saver": "2.0.2", "highlight.js": "10.3.1", "js-yaml": "3.14.0", "material-design-icons": "3.0.1", "ng-in-viewport": "6.1.4", "ngx-cookie-service": "10.1.1", "ngx-filter-pipe": "2.1.2", "normalize.css": "8.0.1", "roboto-fontface": "0.10.0", "rxjs": "6.6.3", "rxjs-compat": "6.6.3", "sockjs-client": "1.5.0", "systemjs": "6.7.1", "truncate-url": "1.0.0", "tslib": "2.0.3", "web-animations-js": "2.3.2", "xterm": "4.9.0", "xterm-addon-fit": "0.4.0", "zone.js": "0.11.2" }, "devDependencies": { "@angular-devkit/build-angular": "0.1001.7", "@angular/cli": "10.1.7", "@angular/compiler-cli": "10.1.6", "@angular/language-service": "10.1.6", "@cypress/webpack-preprocessor": "5.4.8", "@types/jasmine": "3.5.14", "@types/jasminewd2": "2.0.8", "@types/js-yaml": "3.12.5", "@types/lodash": "4.14.162", "@types/node": "14.11.10", "babel-cli": "6.26.0", "babel-preset-env": "1.7.0", "babel-register": "6.26.0", "codelyzer": "6.0.1", "concurrently": "5.3.0", "cypress": "5.4.0", "del": "6.0.0", "eslint": "7.11.0", "eslint-plugin-rxjs": "0.0.3-beta.30", "git-describe": "4.0.4", "gts": "3.0.1", "gulp": "4.0.2", "gulp-filter": "6.0.0", "husky": "4.3.0", "jasmine-core": "3.6.0", "jasmine-spec-reporter": "6.0.0", "js-beautify": "1.13.0", "karma": "5.2.3", "karma-chrome-launcher": "3.1.0", "karma-cli": "2.0.0", "karma-coverage-istanbul-reporter": "3.0.3", "karma-firefox-launcher": "2.0.0", "karma-jasmine": "4.0.1", "karma-jasmine-html-reporter": "1.5.4", "license-check-and-add": "3.0.4", "lint-staged": "10.4.2", "lodash": "4.17.20", "minimatch": "3.0.4", "minimist": "1.2.5", "ngx-i18nsupport": "0.17.1", "node-gyp": "7.1.2", "node-sass": "4.14.1", "q": "1.5.1", "raw-loader": "4.0.2", "run-node": "2.0.0", "sass-lint": "1.13.1", "sass-loader": "10.0.3", "scssfmt": "1.0.7", "semver": "7.3.2", "source-map-explorer": "2.5.0", "tar": "6.0.5", "through2": "4.0.2", "ts-loader": "8.0.5", "ts-node": "9.0.0", "typescript": "4.0.3", "wait-on": "5.2.0", "webpack-dev-server": "3.11.0" }, "engines": { "node": ">=10.13.0", "npm": ">=6.0.0" }, "eslintConfig": { "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": 2019, "project": "./tsconfig.json", "sourceType": "module" }, "extends": "./node_modules/gts/", "plugins": [ "rxjs" ], "rules": { "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/interface-name-prefix": "off", "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-this-alias": "off", "@typescript-eslint/no-explicit-any": "off", "node/no-unpublished-import": "off", "no-undef": "off", "no-inner-declarations": "off", "no-redeclare": "off", "eol-last": "error", "no-console": "off", "no-prototype-builtins": "off", "no-extra-boolean-cast": "error", "no-else-return": "error", "node/no-extraneous-require": "error", "node/no-unpublished-require": "error", "prefer-rest-params": "error", "rxjs/no-ignored-observable": "error", "rxjs/no-unbound-methods": "error", "rxjs/no-unsafe-takeuntil": "error", "rxjs/no-nested-subscribe": "error" }, "overrides": [ { "files": [ "src/**/*.spec.ts" ], "env": { "browser": true, "jest": true } } ], "ignorePatterns": [ "**/*.js" ] }, "eslintIgnore": [ "node_modules/*", "aio/*", "src/app/frontend/common/services/global/history.ts" ] }