{ "name": "mifosx-web-app", "version": "1.0.0", "description": "Mifos® X Web App is the default web application built on top of the Apache Fineract® platform for the Mifos® user community leveraging the popular Angular framework.", "keywords": [ "mifos®", "openmf", "fineract", "angular" ], "homepage": "https://github.com/openMF/web-app", "license": "MPL-2.0", "scripts": { "prepare": "husky", "ng": "ng", "build": "node version.js && npm run env -s && ng build --configuration production --output-hashing=none", "build:prod": "node version.js && node --max-old-space-size=16384 ./node_modules/@angular/cli/bin/ng build --configuration production --output-hashing=none --base-href=/web-app/", "start": "npm run env -s && cross-env NODE_OPTIONS=\"--max_old_space_size=16384\" ng serve --proxy-config proxy.localhost.conf.js", "start:share": "npm run env -s && cross-env NODE_OPTIONS=\"--max_old_space_size=16384\" ng serve --host 0.0.0.0 --proxy-config proxy.localhost.conf.js", "start:demo": "npm run env -s && cross-env NODE_OPTIONS=\"--max_old_space_size=16384\" ng serve --proxy-config proxy.conf.js", "serve:dev": "npm run env -s && cross-env NODE_OPTIONS=\"--max_old_space_size=16384\" ng serve --source-map --proxy-config proxy.localhost.conf.js", "serve:sw": "npm run build -s && npx http-server ./dist -p 4200", "lint": "eslint . && stylelint \"src/**/*.scss\" && prettier . --check && htmlhint \"src\" --config .htmlhintrc", "test": "jest --config jest.config.ts", "test:watch": "jest --config jest.config.ts --watch", "test:coverage": "jest --config jest.config.ts --coverage", "test:ci": "jest --config jest.config.ts --ci --coverage --watchAll=false", "e2e": "ng e2e", "translations:extract": "ngx-translate-extract --input ./src --output ./src/translations/template.json --format=json --clean -sort --marker extract", "env": "node version.js", "postinstall": "node version.js", "cypress:open": "cypress open", "cypress:run": "cypress run", "playwright": "playwright test", "playwright:ui": "playwright test --ui", "playwright:headed": "playwright test --headed", "playwright:debug": "playwright test --debug", "headers:check": "node scripts/check-file-headers.js", "headers:add": "node scripts/add-file-headers.js" }, "dependencies": { "@angular/animations": "20.3.16", "@angular/cdk": "^20.2.14", "@angular/common": "20.3.16", "@angular/compiler": "20.3.16", "@angular/core": "20.3.16", "@angular/forms": "20.3.16", "@angular/localize": "20.3.16", "@angular/material": "^20.2.14", "@angular/platform-browser": "20.3.16", "@angular/platform-browser-dynamic": "20.3.16", "@angular/router": "20.3.16", "@fortawesome/angular-fontawesome": "^3.0.0", "@fortawesome/fontawesome-free": "^6.7.2", "@fortawesome/fontawesome-svg-core": "^6.7.2", "@fortawesome/free-brands-svg-icons": "^6.7.2", "@fortawesome/free-solid-svg-icons": "^6.7.2", "@material/web": "^2.4.1", "@ngx-translate/core": "^16.0.4", "@ngx-translate/http-loader": "^16.0.1", "@swimlane/ngx-graph": "^11.0.0", "@tailwindcss/forms": "^0.5.4", "@tinymce/tinymce-angular": "^9.1.1", "angular-oauth2-oidc": "^20.0.0", "chart.js": "^4.5.1", "d3": "^7.9.0", "exceljs": "^4.4.0", "html2canvas": "^1.4.1", "jspdf": "^4.1.0", "jspdf-autotable": "^5.0.2", "lightgallery": "^2.9.0", "lodash": "4.17.23", "moment": "^2.29.4", "ngx-image-cropper": "^9.1.6", "ngx-mat-select-search": "^8.0.2", "pdfjs-dist": "^5.6.205", "rxjs": "^7.8.2", "signature_pad": "^5.1.3", "tinymce": "^8.2.2", "tslib": "^2.8.1", "vkbeautify": "^0.99.3", "zone.js": "0.15.1" }, "devDependencies": { "@angular-builders/jest": "^20.0.0", "@angular-eslint/builder": "^20.7.0", "@angular-eslint/eslint-plugin": "^20.7.0", "@angular-eslint/eslint-plugin-template": "^20.7.0", "@angular-eslint/schematics": "^20.7.0", "@angular-eslint/template-parser": "^20.7.0", "@angular/build": "^20.3.15", "@angular/cli": "20.3.15", "@angular/compiler-cli": "20.3.16", "@angular/language-service": "20.3.16", "@cypress/schematic": "^2.5.2", "@playwright/test": "^1.57.0", "@types/d3-dispatch": "^3.0.1", "@types/d3-drag": "^3.0.1", "@types/d3-scale": "^3.2.2", "@types/d3-shape": "^3.1.0", "@types/d3-timer": "^3.0.0", "@types/jasminewd2": "2.0.6", "@types/jest": "^29.5.14", "@types/lodash": "4.14.132", "@types/node": "22.15.29", "@types/vkbeautify": "^0.99.2", "@typescript-eslint/eslint-plugin": "^8.48.1", "@typescript-eslint/parser": "^8.48.1", "@vendure/ngx-translate-extract": "^9.4.0", "cross-env": "^10.1.0", "cypress": "^13.17.0", "eslint": "^9.39.1", "git-describe": "^4.1.1", "htmlhint": "1.1.4", "https-proxy-agent": "7.0.2", "husky": "^9.1.7", "jasmine-core": "^4.2.0", "jasmine-spec-reporter": "~5.0.0", "jest": "^29.7.0", "jest-preset-angular": "^14.6.2", "lint-staged": "^15.2.10", "prettier": "^3.6.2", "prettier-plugin-multiline-arrays": "^4.0.5", "puppeteer": "^24.4.0", "stylelint": "^16.10.0", "stylelint-config-recommended-scss": "^14.1.0", "stylelint-config-standard": "^36.0.1", "stylelint-scss": "^6.8.1", "tailwindcss": "^3.3.3", "ts-node": "^10.9.2", "typescript": "^5.9.3" }, "repository": { "type": "git", "url": "git+https://github.com/openMF/web-app.git" }, "bugs": { "url": "https://mifosforge.jira.com/jira/software/c/projects/WEB/boards/62" }, "engines": { "node": ">= 20.19.0", "npm": ">= 8.11.0" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "node scripts/check-file-headers.js", "eslint --cache" ], "*.{css,scss}": [ "node scripts/check-file-headers.js", "stylelint" ], "*.html": "node scripts/check-file-headers.js", "*": "prettier --check --ignore-unknown" }, "overrides": { "exceljs": { "archiver": "^7.0.1", "unzipper": "^0.12.3" } } }