summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/frontend/package.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/dashboard/frontend/package.json')
-rw-r--r--src/pybind/mgr/dashboard/frontend/package.json157
1 files changed, 157 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/package.json b/src/pybind/mgr/dashboard/frontend/package.json
new file mode 100644
index 000000000..722baa8dc
--- /dev/null
+++ b/src/pybind/mgr/dashboard/frontend/package.json
@@ -0,0 +1,157 @@
+{
+ "name": "ceph-dashboard",
+ "version": "0.0.0",
+ "license": "MIT",
+ "config": {
+ "locale": "en-US"
+ },
+ "scripts": {
+ "ng": "ng",
+ "start": "npm run env_build && ng serve --host 0.0.0.0 --ssl",
+ "build": "npm run env_build && ng build --configuration=$npm_package_config_locale",
+ "build:localize": "node cd --env --pre && ng build --localize",
+ "postbuild:localize": "node cd --res",
+ "env_build": "node cd --env",
+ "i18n": "npm run i18n:extract && npm run i18n:push && npm run i18n:pull && npm run i18n:merge",
+ "i18n:extract": "ng extract-i18n --output-path src/locale --progress=false",
+ "i18n:push": "npx i18ntool push -c i18n.config.json",
+ "i18n:pull": "npx i18ntool pull -c i18n.config.json",
+ "i18n:merge": "npx i18ntool merge -c i18n.config.json",
+ "i18n:token": "npx i18ntool config token",
+ "test": "jest --watch",
+ "test:ci": "jest --clearCache && JEST_SILENT_REPORTER_DOTS=true jest --coverage --reporters jest-silent-reporter",
+ "pree2e": "rm -f cypress/reports/results-*.xml || true",
+ "e2e": "start-test 4200 'cypress open'",
+ "pree2e:ci": "npm run pree2e",
+ "e2e:ci": "start-test 4200 'cypress run -b chrome --headless'",
+ "lint:tslint": "ng lint",
+ "lint:gherkin": "gherkin-lint -c .gherkin-lintrc cypress/integration",
+ "lint:prettier": "prettier --list-different \"{src,cypress}/**/*.{ts,scss}\"",
+ "lint:html": "htmllint src/app/**/*.html && html-linter --config html-linter.config.json",
+ "prelint:tsc": "npm run postinstall",
+ "lint:tsc": "tsc -p tsconfig.app.json --noEmit && tsc -p tsconfig.spec.json --noEmit && tsc -p cypress/tsconfig.json --noEmit",
+ "lint:scss": "stylelint '**/*.scss'",
+ "lint": "run-p -csl --aggregate-output lint:*",
+ "fix:prettier": "prettier --write \"{src,cypress}/**/*.{ts,scss}\"",
+ "fix:tslint": "npm run lint:tslint -- --fix",
+ "fix:scss": "stylelint '**/*.scss' --fix",
+ "fixmod": "pretty-quick --pattern \"{src,cypress}/**/*.{ts,scss}\" --branch HEAD",
+ "fix": "run-p -csl --aggregate-output fix:*",
+ "compodoc": "compodoc",
+ "doc-build": "compodoc -p tsconfig.app.json",
+ "doc-serve": "compodoc --port 8444 -s tsconfig.app.json",
+ "postinstall": "ngcc --properties es2015 browser module main --async false --first-only --tsconfig 'tsconfig.app.json'"
+ },
+ "private": true,
+ "jest": {
+ "moduleNameMapper": {
+ "\\.scss$": "identity-obj-proxy",
+ "~/(.*)$": "<rootDir>/src/$1"
+ },
+ "preset": "jest-preset-angular",
+ "setupFilesAfterEnv": [
+ "<rootDir>/src/setupJest.ts"
+ ],
+ "transformIgnorePatterns": [
+ "node_modules/(?!@ngrx|@progress|simplebar|lodash-es|react-syntax-highlighter|swagger-client)"
+ ],
+ "transform": {
+ "^.+\\.(ts|html)$": "ts-jest",
+ "^.+\\.(js)$": "babel-jest"
+ },
+ "setupFiles": [
+ "jest-canvas-mock"
+ ],
+ "coverageReporters": [
+ "cobertura",
+ "html"
+ ],
+ "modulePathIgnorePatterns": [
+ "<rootDir>/coverage/"
+ ],
+ "testMatch": [
+ "**/*.spec.ts"
+ ],
+ "testURL": "http://localhost/"
+ },
+ "dependencies": {
+ "@angular/animations": "12.2.13",
+ "@angular/common": "12.2.13",
+ "@angular/compiler": "12.2.13",
+ "@angular/core": "12.2.13",
+ "@angular/forms": "12.2.13",
+ "@angular/localize": "12.2.13",
+ "@angular/platform-browser": "12.2.13",
+ "@angular/platform-browser-dynamic": "12.2.13",
+ "@angular/router": "12.2.13",
+ "@circlon/angular-tree-component": "10.0.0",
+ "@ng-bootstrap/ng-bootstrap": "10.0.0",
+ "@swimlane/ngx-datatable": "18.0.0",
+ "@types/file-saver": "2.0.1",
+ "async-mutex": "0.2.4",
+ "bootstrap": "4.6.1",
+ "chart.js": "2.9.4",
+ "detect-browser": "5.2.0",
+ "file-saver": "2.0.2",
+ "fork-awesome": "1.1.7",
+ "lodash": "4.17.21",
+ "moment": "2.29.3",
+ "ng-block-ui": "3.0.2",
+ "ng-click-outside": "7.0.0",
+ "ng2-charts": "2.4.2",
+ "ngx-pipe-function": "1.0.0",
+ "ngx-toastr": "14.1.4",
+ "rxjs": "6.6.3",
+ "simplebar-angular": "2.3.6",
+ "swagger-ui": "4.12.0",
+ "tslib": "2.3.1"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "12.2.13",
+ "@angular/cli": "12.2.13",
+ "@angular/compiler-cli": "12.2.13",
+ "@angular/language-service": "12.2.13",
+ "@applitools/eyes-cypress": "3.22.5",
+ "@compodoc/compodoc": "1.1.15",
+ "@cypress/browserify-preprocessor": "3.0.2",
+ "@grafana/e2e": "8.4.5",
+ "@types/brace-expansion": "1.1.0",
+ "@types/cypress-cucumber-preprocessor": "4.0.1",
+ "@types/jest": "26.0.14",
+ "@types/lodash": "4.14.161",
+ "@types/node": "12.12.62",
+ "@types/simplebar": "5.1.1",
+ "@types/swagger-ui": "3.52.0",
+ "codelyzer": "6.0.2",
+ "cypress": "9.7.0",
+ "cypress-cucumber-preprocessor": "4.3.1",
+ "cypress-iframe": "1.0.1",
+ "cypress-multi-reporters": "1.5.0",
+ "gherkin-lint": "4.2.2",
+ "html-linter": "1.1.1",
+ "htmllint-cli": "0.0.7",
+ "identity-obj-proxy": "3.0.0",
+ "isomorphic-form-data": "2.0.0",
+ "jest": "26.5.2",
+ "jest-canvas-mock": "2.3.0",
+ "jest-preset-angular": "8.3.1",
+ "jest-silent-reporter": "0.2.1",
+ "mocha-junit-reporter": "2.0.2",
+ "ng-bullet": "1.0.3",
+ "ng-mocks": "10.2.0",
+ "npm-run-all": "4.1.5",
+ "prettier": "2.1.2",
+ "pretty-quick": "3.0.2",
+ "start-server-and-test": "1.12.1",
+ "stylelint": "13.13.1",
+ "stylelint-config-sass-guidelines": "7.1.0",
+ "stylelint-declaration-use-variable": "1.7.3",
+ "transifex-i18ntool": "1.1.0",
+ "ts-node": "9.0.0",
+ "tslint": "6.1.3",
+ "typescript": "4.3.5"
+ },
+ "cypress-cucumber-preprocessor": {
+ "nonGlobalStepDefinitions": true
+ }
+}