{
  "name": "kubernetes-dashboard",
  "version": "2.0.2",
  "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:license\" \"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 check",
    "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 -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.23.6; } && go mod download && ngcc"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "src/**/*.ts": [
      "gts fix",
      "git add"
    ],
    "src/**/*.scss": [
      "scssfmt",
      "git add"
    ],
    "src/**/*.go": [
      "./aio/scripts/pre-commit-golangci-lint.sh",
      "git add"
    ],
    "src/**/*.html": [
      "./aio/scripts/pre-commit-i18n.sh",
      "git add"
    ]
  },
  "xliffmergeOptions": {
    "srcDir": "i18n",
    "genDir": "i18n",
    "defaultLanguage": "en",
    "languages": [
      "de",
      "fr",
      "ja",
      "ko",
      "zh-Hans",
      "zh-Hant",
      "zh-Hant-HK"
    ],
    "beautifyOutput": true
  },
  "dependencies": {
    "@angular/animations": "9.1.9",
    "@angular/cdk": "9.2.4",
    "@angular/common": "9.1.9",
    "@angular/compiler": "9.1.9",
    "@angular/core": "9.1.9",
    "@angular/flex-layout": "9.0.0-beta.31",
    "@angular/forms": "9.1.9",
    "@angular/localize": "9.1.11",
    "@angular/material": "9.2.4",
    "@angular/platform-browser": "9.1.9",
    "@angular/platform-browser-dynamic": "9.1.9",
    "@angular/router": "9.1.9",
    "@swimlane/ngx-charts": "14.0.0",
    "@types/c3": "0.7.4",
    "@types/d3": "5.7.2",
    "@types/d3-scale": "2.2.0",
    "@types/file-saver": "2.0.1",
    "@types/highlight.js": "9.12.4",
    "ace-builds": "1.4.11",
    "angular-page-visibility": "9.0.0",
    "ansi-to-html": "0.6.14",
    "c3": "0.7.18",
    "core-js": "3.6.5",
    "d3": "5.16.0",
    "file-saver": "2.0.2",
    "highlight.js": "10.1.1",
    "js-yaml": "3.14.0",
    "material-design-icons": "3.0.1",
    "ng-in-viewport": "6.1.0",
    "ngx-cookie-service": "3.0.4",
    "ngx-filter-pipe": "2.1.2",
    "normalize.css": "8.0.1",
    "roboto-fontface": "0.10.0",
    "rxjs": "6.5.5",
    "rxjs-compat": "6.5.5",
    "sockjs-client": "1.4.0",
    "systemjs": "6.3.2",
    "truncate-url": "1.0.0",
    "tslib": "2.0.0",
    "web-animations-js": "2.3.2",
    "xterm": "4.7.0",
    "xterm-addon-fit": "0.4.0",
    "zone.js": "0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.901.8",
    "@angular/cli": "9.1.8",
    "@angular/compiler-cli": "9.1.9",
    "@angular/language-service": "9.1.11",
    "@cypress/webpack-preprocessor": "5.4.1",
    "@types/jasmine": "3.5.10",
    "@types/jasminewd2": "2.0.8",
    "@types/js-yaml": "3.12.4",
    "@types/lodash": "4.14.155",
    "@types/node": "14.0.13",
    "babel-cli": "6.26.0",
    "babel-preset-env": "1.7.0",
    "babel-register": "6.26.0",
    "codelyzer": "5.2.2",
    "concurrently": "5.2.0",
    "cypress": "4.8.0",
    "del": "5.1.0",
    "eslint": "7.2.0",
    "eslint-plugin-rxjs": "0.0.2-beta.25",
    "git-describe": "4.0.4",
    "gts": "2.0.2",
    "gulp": "4.0.2",
    "gulp-filter": "6.0.0",
    "husky": "4.2.5",
    "jasmine-core": "3.5.0",
    "jasmine-spec-reporter": "5.0.2",
    "js-beautify": "1.11.0",
    "karma": "5.1.0",
    "karma-chrome-launcher": "3.1.0",
    "karma-cli": "2.0.0",
    "karma-coverage-istanbul-reporter": "3.0.3",
    "karma-firefox-launcher": "1.3.0",
    "karma-jasmine": "3.3.1",
    "karma-jasmine-html-reporter": "1.5.4",
    "license-check-and-add": "3.0.4",
    "lint-staged": "10.2.10",
    "lodash": "4.17.15",
    "minimatch": "3.0.4",
    "minimist": "1.2.5",
    "ngx-i18nsupport": "0.17.1",
    "node-gyp": "7.0.0",
    "node-sass": "4.14.1",
    "q": "1.5.1",
    "raw-loader": "4.0.1",
    "run-node": "2.0.0",
    "sass-lint": "1.13.1",
    "sass-loader": "8.0.2",
    "scssfmt": "1.0.7",
    "semver": "7.3.2",
    "source-map-explorer": "2.4.2",
    "tar": "6.0.2",
    "through2": "3.0.1",
    "ts-loader": "7.0.5",
    "ts-node": "8.10.2",
    "tslint": "6.1.2",
    "typescript": "3.8.3",
    "wait-on": "5.0.1",
    "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-ignore": "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"
    },
    "overrides": [
      {
        "files": [
          "src/**/*.spec.ts"
        ],
        "env": {
          "browser": true,
          "jest": true
        }
      }
    ],
    "ignorePatterns": [
      "**/*.js"
    ]
  },
  "eslintIgnore": [
    "node_modules/*",
    "aio/*"
  ]
}
