blob: ea9a34a6f01edadbb2850b202205c0973a36688c [file]
{
"name": "fineract-backoffice-ui",
"version": "1.0.0-rc.1",
"license": "Apache-2.0",
"engines": {
"node": ">=22.22.3"
},
"scripts": {
"ng": "ng",
"start": "ng serve",
"start:sandbox": "ng serve --configuration sandbox",
"build": "ng build",
"build:sandbox": "ng build --configuration sandbox",
"watch": "ng build --watch --configuration development",
"test": "ng run fineract-backoffice-ui:unit-test",
"test:mfe": "ng run fineract-mfe:unit-test",
"test:unit": "ng run fineract-backoffice-ui:unit-test",
"test:e2e": "playwright test",
"test:e2e:mobile": "playwright test --project=mobile",
"test:e2e:local": "FINERACT_SERVER_URL=/fineract-provider/api/v1 FINERACT_TENANT_ID=default FINERACT_USERNAME=mifos FINERACT_PASSWORD=password playwright test --project=mocked --project=backend",
"seed:demo-data": "FINERACT_SERVER_URL=/fineract-provider/api/v1 FINERACT_TENANT_ID=default FINERACT_USERNAME=mifos FINERACT_PASSWORD=password playwright test --project=demo-seed",
"e2e:stack": "bash scripts/e2e-stack.sh",
"e2e:stack:fresh": "bash scripts/e2e-stack.sh --fresh",
"e2e:stack:2fa": "bash scripts/e2e-stack-2fa.sh",
"test:e2e:2fa": "FINERACT_SERVER_URL=/fineract-provider/api/v1 FINERACT_TENANT_ID=default FINERACT_USERNAME=mifos FINERACT_PASSWORD=password playwright test --project=two-factor --workers=1",
"lint": "eslint src --suppressions-location eslint-suppressions.json",
"lint:prune": "eslint src --suppressions-location eslint-suppressions.json --prune-suppressions",
"format": "prettier --write .",
"format:check": "prettier --check .",
"generate-api": "npm run copy-swagger && npm run clean-api && npx openapi-generator-cli generate -i ./api-spec/fineract.json -g typescript-angular -o src/app/api -t templates/openapi-generator --additional-properties=ngVersion=22.0.7",
"copy-swagger": "mkdir -p api-spec && node scripts/preprocess-spec.mjs ${FINERACT_SWAGGER_PATH:-./public/api/fineract.json} api-spec/fineract.json",
"clean-api": "node -e \"fs.rmSync('src/app/api/api',{recursive:true,force:true});fs.rmSync('src/app/api/model',{recursive:true,force:true})\"",
"verify-api-client": "npm run generate-api && git diff --exit-code src/app/api",
"i18n:check": "node scripts/check-translations.mjs",
"check:icons": "node scripts/check-icons.mjs",
"check:a11y-names": "node scripts/check-a11y-names.mjs",
"check:internal-endpoints": "node scripts/check-internal-endpoints.mjs",
"check:route-permissions": "node scripts/check-route-permissions.mjs",
"check:nav-ids": "node scripts/check-nav-ids.mjs",
"check:branding-path": "node scripts/check-branding-path.mjs",
"check:reference-downstream": "node scripts/check-reference-downstream.mjs",
"check:responsive": "node scripts/check-responsive.mjs",
"branding:demo": "node scripts/make-branding-demo.mjs",
"check:licenses": "node scripts/check-dependency-licenses.mjs",
"check:licenses:production": "node scripts/check-dependency-licenses.mjs --production",
"check:licenses:selftest": "node scripts/check-dependency-licenses.mjs --self-test",
"check:version": "node scripts/check-version.mjs",
"test:eslint-rules": "node --test \"eslint-rules/*.test.js\"",
"test:scripts": "node --test \"scripts/*.test.mjs\"",
"typecheck:e2e": "tsc -p tsconfig.e2e.json",
"api:surface": "node scripts/check-api-surface.mjs",
"ga:check": "node scripts/ga-check.mjs",
"demo:record": "DEMO_RECORD=1 DEMO_BEAT_MS=900 PLAYWRIGHT_OUTPUT_DIR=demo-recordings FINERACT_SERVER_URL=/fineract-provider/api/v1 FINERACT_TENANT_ID=default FINERACT_USERNAME=mifos FINERACT_PASSWORD=password playwright test --project=backend --workers=1"
},
"prettier": {
"printWidth": 100,
"singleQuote": true,
"overrides": [
{
"files": "*.html",
"options": {
"parser": "angular"
}
}
]
},
"dependencies": {
"@angular/animations": "22.1.0",
"@angular/cdk": "^22.0.6",
"@angular/common": "22.1.0",
"@angular/compiler": "22.1.0",
"@angular/core": "22.1.0",
"@angular/forms": "22.1.0",
"@angular/platform-browser": "22.1.0",
"@angular/router": "22.1.0",
"@ionic/angular": "^8.8.15",
"@ngx-translate/core": "^17.0.0",
"@ngx-translate/http-loader": "^17.0.0",
"es-module-shims": "^2.8.4",
"ionicons": "^8.0.13",
"rxjs": "~7.8.0",
"tslib": "^2.8.1",
"zone.js": "~0.16.2"
},
"devDependencies": {
"@angular-architects/native-federation": "^22.0.6",
"@angular-devkit/build-angular": "^22.0.7",
"@angular/build": "22.1.0",
"@angular/cli": "^22.1.4",
"@angular/compiler-cli": "22.1.0",
"@axe-core/playwright": "^4.12.1",
"@emnapi/core": "1.11.3",
"@emnapi/runtime": "1.11.2",
"@openapitools/openapi-generator-cli": "^2.40.1",
"@playwright/test": "^1.61.1",
"@softarc/native-federation-orchestrator": "^4.5.2",
"angular-eslint": "^22.0.0",
"eslint": "^9.39.4",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-security": "^4.0.1",
"eslint-plugin-unicorn": "^65.0.1",
"jsdom": "^28.0.0",
"license-checker": "^25.0.1",
"prettier": "^3.9.6",
"prettier-plugin-organize-attributes": "^1.0.0",
"typescript": "~6.0.3",
"typescript-eslint": "8.64.0",
"vitest": "^4.0.8"
},
"overrides": {
"@openapitools/openapi-generator-cli": {
"@nestjs/core": {
"path-to-regexp": "^8.3.0"
}
},
"path-to-regexp": "^8.3.0"
}
}