{ "name": "dspace-angular", "version": "10.0.0-next", "scripts": { "ng": "ng", "test:rest": "ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts", "start": "npm run start:prod", "start:dev": "cross-env NODE_ENV=development npm run serve --watch", "start:prod": "npm run build:prod && cross-env NODE_ENV=production npm run serve:ssr", "start:mirador:prod": "npm run build:mirador && npm run start:prod", "preserve": "npm run base-href", "serve": "ts-node --project ./tsconfig.ts-node.json scripts/serve.ts", "serve:ssr": "node dist/server/main", "analyze": "webpack-bundle-analyzer dist/browser/stats.json", "build": "ng build --configuration development", "build:stats": "ng build --stats-json", "build:prod": "cross-env NODE_ENV=production npm run build:ssr", "build:ssr": "ng build --configuration production && ng run dspace-angular:server:production", "build:lint": "rimraf 'lint/dist/**/*.js' 'lint/dist/**/*.js.map' && tsc -b lint/tsconfig.json", "test": "ng test --source-map=true --watch=false --configuration test", "test:watch": "ng test --source-map=true --watch=true --configuration test", "test:headless": "ng test --source-map=true --watch=false --configuration test --browsers=ChromeHeadless --code-coverage", "test:lint": "npm run build:lint && npm run test:lint:nobuild", "test:lint:nobuild": "jasmine --config=lint/jasmine.json", "lint": "npm run build:lint && npm run lint:nobuild", "lint:nobuild": "ng lint", "lint-fix": "npm run build:lint && ng lint --fix=true", "docs:lint": "ts-node --project ./lint/tsconfig.json ./lint/generate-docs.ts", "e2e": "cross-env NODE_ENV=production ng e2e", "clean:dev:config": "rimraf src/assets/config.json", "clean:coverage": "rimraf coverage", "clean:dist": "rimraf dist", "clean:doc": "rimraf doc", "clean:log": "rimraf *.log*", "clean:json": "rimraf *.records.json", "clean:node": "rimraf node_modules", "clean:cli": "rimraf .angular/cache", "clean:prod": "npm run clean:dist && npm run clean:log && npm run clean:doc && npm run clean:coverage && npm run clean:json", "clean": "npm run clean:prod && npm run clean:dev:config && npm run clean:cli && npm run clean:node", "sync-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/sync-i18n-files.ts", "build:mirador": "webpack --config webpack/webpack.mirador.config.ts", "merge-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/merge-i18n-files.ts", "cypress:open": "cypress open", "cypress:run": "cypress run", "env:yaml": "ts-node --project ./tsconfig.ts-node.json scripts/env-to-yaml.ts", "base-href": "ts-node --project ./tsconfig.ts-node.json scripts/base-href.ts", "check-circ-deps": "npx madge --exclude '(bitstream|bundle|collection|config-submission-form|eperson|item|version)\\.model\\.ts$' --circular --extensions ts ./", "postinstall": "npm run build:lint || echo 'Skipped DSpace ESLint plugins.'" }, "browser": { "fs": false, "path": false, "http": false, "https": false }, "private": true, "overrides": { "@kolkov/ngx-gallery": { "@angular/animations": "^18.2.12", "@angular/common": "^18.2.12", "@angular/core": "^18.2.12" }, "@ng-bootstrap/ng-bootstrap": { "@angular/common": "^18.2.12", "@angular/core": "^18.2.12", "@angular/forms": "^18.2.12", "@angular/localize": "^18.2.12" }, "@ng-dynamic-forms/core": { "@angular/common": "^18.2.12", "@angular/core": "^18.2.12", "@angular/forms": "^18.2.12" }, "@ng-dynamic-forms/ui-ng-bootstrap": { "ngx-mask": "14.2.4", "@ng-bootstrap/ng-bootstrap": "^12.0.0", "bootstrap": "^5.3" }, "@nicky-lenaers/ngx-scroll-to": { "@angular/common": "^18.2.12", "@angular/core": "^18.2.12" }, "eslint-plugin-unused-imports": { "@typescript-eslint/eslint-plugin": "^7.2.0" }, "ngx-infinite-scroll": { "@angular/common": "^18.2.12", "@angular/core": "^18.2.12" }, "notistack": "3.0.1" }, "dependencies": { "@angular/animations": "^18.2.12", "@angular/cdk": "^18.2.12", "@angular/common": "^18.2.12", "@angular/compiler": "^18.2.12", "@angular/core": "^18.2.12", "@angular/forms": "^18.2.12", "@angular/localize": "^18.2.12", "@angular/platform-browser": "^18.2.12", "@angular/platform-browser-dynamic": "^18.2.12", "@angular/platform-server": "^18.2.12", "@angular/router": "^18.2.12", "@angular/ssr": "^18.2.20", "@kolkov/ngx-gallery": "^2.0.1", "@ng-bootstrap/ng-bootstrap": "^12.0.0", "@ng-dynamic-forms/core": "^16.0.0", "@ng-dynamic-forms/ui-ng-bootstrap": "^16.0.0", "@ngrx/effects": "^18.1.1", "@ngrx/router-store": "^18.1.1", "@ngrx/store": "^18.1.1", "@ngx-translate/core": "^16.0.3", "@nicky-lenaers/ngx-scroll-to": "^14.0.0", "@terraformer/wkt": "^2.2.1", "altcha": "^0.9.0", "angulartics2": "^12.2.0", "bootstrap": "^5.3", "cerialize": "0.1.18", "cli-progress": "^3.12.0", "colors": "^1.4.0", "compression": "^1.8.1", "cookie-parser": "1.4.7", "core-js": "^3.45.1", "date-fns": "^2.29.3", "date-fns-tz": "^1.3.7", "deepmerge": "^4.3.1", "ejs": "^3.1.10", "express": "^4.21.2", "express-rate-limit": "^5.1.3", "fast-json-patch": "^3.1.1", "filesize": "^10.1.6", "http-proxy-middleware": "^2.0.9", "http-terminator": "^3.2.0", "isbot": "^5.1.30", "js-cookie": "2.2.1", "js-yaml": "^4.1.0", "json5": "^2.2.3", "jsonschema": "1.5.0", "jwt-decode": "^3.1.2", "leaflet": "^1.9.4", "leaflet-providers": "^2.0.0", "leaflet.markercluster": "^1.5.3", "lodash-es": "^4.17.21", "lru-cache": "^7.14.1", "markdown-it": "^13.0.1", "mirador": "^3.4.3", "mirador-dl-plugin": "^0.13.0", "mirador-share-plugin": "^0.16.0", "morgan": "^1.10.1", "ng2-file-upload": "7.0.1", "ng2-nouislider": "^2.0.0", "ngx-infinite-scroll": "^18.0.0", "ngx-matomo-client": "^6.4.1", "ngx-pagination": "6.0.3", "ngx-skeleton-loader": "^9.0.0", "ngx-ui-switch": "^15.0.0", "nouislider": "^15.7.1", "orejime": "^2.3.1", "pem": "1.14.8", "reflect-metadata": "^0.2.2", "rxjs": "^7.8.0", "uuid": "^8.3.2", "zone.js": "~0.14.10" }, "devDependencies": { "@angular-builders/custom-webpack": "~18.0.0", "@angular-devkit/build-angular": "^18.2.20", "@angular-eslint/builder": "^18.4.1", "@angular-eslint/bundled-angular-compiler": "^18.4.1", "@angular-eslint/eslint-plugin": "^18.4.1", "@angular-eslint/eslint-plugin-template": "^18.4.1", "@angular-eslint/schematics": "^18.4.1", "@angular-eslint/template-parser": "^18.4.1", "@angular-eslint/utils": "^18.4.1", "@angular/cli": "^18.2.20", "@angular/compiler-cli": "^18.2.12", "@cypress/schematic": "^1.5.0", "@fortawesome/fontawesome-free": "^6.7.2", "@ngrx/store-devtools": "^18.1.1", "@ngtools/webpack": "^18.2.20", "@types/deep-freeze": "0.1.5", "@types/ejs": "^3.1.2", "@types/express": "^4.17.17", "@types/grecaptcha": "^3.0.9", "@types/jasmine": "~3.6.0", "@types/js-cookie": "2.2.6", "@types/lodash-es": "^4.17.12", "@types/node": "^18.19.124", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/rule-tester": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", "axe-core": "^4.10.2", "compression-webpack-plugin": "^9.2.0", "copy-webpack-plugin": "^6.4.1", "cross-env": "^7.0.3", "cypress": "^13.17.0", "cypress-axe": "^1.7.0", "deep-freeze": "0.0.1", "eslint": "^8.39.0", "eslint-plugin-deprecation": "^1.4.1", "eslint-plugin-dspace-angular-html": "file:./lint/dist/src/rules/html", "eslint-plugin-dspace-angular-ts": "file:./lint/dist/src/rules/ts", "eslint-plugin-import": "^2.32.0", "eslint-plugin-import-newlines": "^1.3.1", "eslint-plugin-jsdoc": "^45.0.0", "eslint-plugin-jsonc": "^2.20.1", "eslint-plugin-lodash": "^7.4.0", "eslint-plugin-rxjs": "^5.0.3", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-unused-imports": "^3.2.0", "express-static-gzip": "^2.2.0", "jasmine": "^3.8.0", "jasmine-core": "^3.8.0", "jasmine-marbles": "0.9.2", "karma": "^6.4.4", "karma-chrome-launcher": "~3.2.0", "karma-coverage-istanbul-reporter": "~3.0.3", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "karma-mocha-reporter": "2.2.5", "ng-mocks": "^14.13.5", "ngx-mask": "14.2.4", "postcss": "^8.5", "postcss-import": "^14.0.0", "postcss-loader": "^4.0.3", "postcss-preset-env": "^7.4.2", "rimraf": "^3.0.2", "sass": "~1.92.1", "sass-loader": "^12.6.0", "sass-resources-loader": "^2.2.5", "ts-node": "^8.10.2", "typescript": "~5.4.5", "webpack": "^5.54.0", "webpack-cli": "^6.0.1" } }