harbor/src/portal/PACKAGE.md

139 lines
4.9 KiB
Markdown
Raw Normal View History

```text
{
"name": "harbor",
"version": "2.8.0",
"description": "Harbor UI with Clarity",
"angular-cli": {},
"scripts": {
// triggered after running "npm install"
"postinstall": "node scripts/convert-yaml-to-json.js && ng-swagger-gen -i ng-swagger-gen/swagger.json -o ng-swagger-gen && node scripts/delete-swagger-json.js",
// For developing
"start": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng serve --ssl true --host 0.0.0.0 --proxy-config proxy.config.json",
"start:prod": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng serve --ssl true --host 0.0.0.0 --proxy-config proxy.config.json --configuration production",
"start_default_port": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng serve --ssl true --host 0.0.0.0 --port 443 --disable-host-check --proxy-config proxy.config.json",
// For code grammar checking
"lint": "tslint \"src/**/*.ts\"",
"lint_fix": "tslint --fix \"src/**/*.ts\"",
// For unit test
"test": "node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng test --code-coverage",
"test:watch": "ng test --code-coverage --watch",
"test:debug": "ng test --code-coverage --source-map false",
"test:chrome": "ng test --code-coverage --browsers Chrome",
"test:headless": "ng test --watch=false --no-progress --code-coverage --browsers=ChromeNoSandboxHeadless",
"test:chrome-debug": "ng test --code-coverage --browsers Chrome --watch",
// E2e related. Currently not used
"pree2e": "webdriver-manager update",
"e2e": "protractor",
"build": "ng build --aot",
"release": "ng build --configuration production",
"build-mock-api-server": "tsc -p server",
// to run a mocked node express api server
"mock-api-server": "npm run build-mock-api-server && node server/dist/server/src/mock-api.js",
// Run this command before the production building. It will set the current timestamp to "buildTimestamp" property in "environment.prod.ts" file
// And "buildTimestamp" will be used as a query parameter to avoid browser cache after upgrading Harbor UI
"generate-build-timestamp": "node scripts/generate-build-timestamp.js"
},
"private": true,
"dependencies": {
// Angular framework. Required
"@angular/animations": "^15.2.1",
"@angular/common": "^15.2.1",
"@angular/compiler": "^15.2.1,
"@angular/core": "^15.2.1",
"@angular/forms": "^15.2.1",
"@angular/localize": "^15.2.1",
"@angular/platform-browser": "^15.2.1",
"@angular/platform-browser-dynamic": "^15.2.1",
"@angular/router": "^15.2.1",
"rxjs": "^7.4.0",
"tslib": "^2.2.0",
"zone.js": "~0.11.4",
// Clarity UI. Required
"@clr/angular": "15.0.1",
"@cds/core": "6.2.3",
"@clr/icons": "13.0.2",
"@clr/ui": "15.0.1",
// For Harbor i18n functionality. Required
"@ngx-translate/core": "^14.0.0",
"@ngx-translate/http-loader": "^7.0.0",
// For cron string checking. Required
"cron-validator": "^1.2.1",
// Used by CopyInputComponent to copy pull command to clipboard. Required
"ngx-clipboard": "^12.3.1",
// For Harbor cookie service. Required
"ngx-cookie": "^5.0.2",
// To render markdown data. Required
"ngx-markdown": "~15.1.1",
// To convert yaml to json. Required
"js-yaml": "^4.1.0"
},
"devDependencies": {
// Angular framework. Required
"@angular-devkit/build-angular": "^15.2.1",
"@angular/cli": "^15.2.1",
"@angular/compiler-cli": "^15.2.1",
"@types/jasmine": "~4.3.0",
"@types/node": "^16.11.6",
"typescript": "~4.8.2",
// For unit test. Required
"jasmine-core": "~4.5.0",
"jasmine-spec-reporter": "~7.0.0",
"karma": "^6.3.17",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "^2.2.0",
"karma-jasmine": "~4.0.1",
"karma-jasmine-html-reporter": "^1.7.0",
// To run a local mocked API server. Required
"@types/express": "^4.17.12",
"express": "^4.17.1",
// To generate models and Angular services based on swagger.yaml. Required
// do not upgrade it
"ng-swagger-gen": "^1.8.1",
// For e2e test. Required
"protractor": "^7.0.0",
// For code grammar checking. Optional
"eslint": "^8.12.0",
"@angular-eslint/eslint-plugin": "15.1.0",
"@angular-eslint/eslint-plugin-template": "15.1.0",
"@angular-eslint/schematics": "15.1.0",
"@angular-eslint/template-parser": "15.1.0",
"@typescript-eslint/eslint-plugin": "5.29.0",
"@typescript-eslint/parser": "5.29.0",
// For code format
"prettier": "^2.6.2",
"prettier-eslint": "^14.0.2",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.0.0",
"stylelint": "^14.8.5",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-prettier-scss": "^0.0.1",
"stylelint-config-standard": "^25.0.0",
"stylelint-config-standard-scss": "^4.0.0",
}
}
```