{
  "name": "@cap-js-community/sap-afc-sdk",
  "version": "0.3.0",
  "description": "SAP Advanced Financial Closing SDK for CDS",
  "homepage": "https://cap.cloud.sap/",
  "engines": {
    "node": ">=22"
  },
  "author": "Oliver Klemenz <oliver.klemenz@sap.com>, Gruenfelder, Maximilian <maximilian.gruenfelder@sap.com>",
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/cap-js-community/sap-afc-sdk.git"
  },
  "keywords": [
    "AFC",
    "CAP",
    "CDS"
  ],
  "files": [
    "app",
    "bin",
    "db",
    "http",
    "openapi",
    "src",
    "srv",
    "test/data",
    ".cdsrc.js",
    "cds-plugin.js",
    "CHANGELOG.md",
    "config.json",
    "index.cds"
  ],
  "main": "index.js",
  "types": "index.d.ts",
  "bin": {
    "afc": "./bin/afc.js"
  },
  "scripts": {
    "start": "cds-serve",
    "watch": "cds watch",
    "test": "jest --silent",
    "test:update": "npm test -- -u",
    "test:bin": "cd bin && jest --silent",
    "test:bin:update": "npm run test:bin -- -u",
    "test:java": "cd java/project && npm test",
    "lint": "npm run eslint && npm run prettier && npm run prettier:cds",
    "lint:ci": "npm run eslint:ci && npm run prettier:ci",
    "eslint": "eslint --fix .",
    "eslint:ci": "eslint .",
    "prettier": "prettier \"**/*.{js,json,java,md,yml,yaml}\" --write --log-level error",
    "prettier:ci": "prettier \"**/*.{js,json,java,md,yml,yaml}\" --check",
    "prettier:cds": "format-cds app db srv -f",
    "upgrade-lock": "rm -rf package-lock.json node_modules && npm i",
    "prepareRelease": "npm prune --production",
    "i18n:pull": "cd scripts && ./i18n-pull.sh",
    "i18n:push": "cd scripts && ./i18n-push.sh",
    "openapi": "npm run openapi:update && npm run lint",
    "openapi:update": "node scripts/openapi",
    "openapi:check": "node scripts/openapi -c",
    "java:update": "npm run test:java && node scripts/java-plugin",
    "java:check": "npm run test:java && node scripts/java-plugin -c",
    "audit": "npm audit --only=prod",
    "all": "npm run upgrade-lock && npm run i18n:pull && npm run lint && npm run openapi && npm test && npm run java:update && npm run test:java && npm run test:bin"
  },
  "dependencies": {
    "@cap-js-community/event-queue": "^1.10.6",
    "@cap-js-community/feature-toggle-library": "^1.3.0",
    "@cap-js-community/websocket": "1.6.4",
    "@sap/cds-common-content": "^3.0.1",
    "@sap/sbf": "^6.9.4",
    "commander": "^14.0.0",
    "cors": "^2.8.5",
    "express": "^4.21.2",
    "helmet": "^8.1.0",
    "http-status-codes": "^2.3.0",
    "node-fetch": "^2.7.0",
    "openurl": "^1.1.1",
    "prompt-sync": "^4.2.0",
    "shelljs": "^0.10.0",
    "swagger-ui-express": "^5.0.1",
    "verror": "^1.10.1",
    "xml2js": "^0.6.2",
    "yaml": "^2.8.0"
  },
  "devDependencies": {
    "@cap-js-community/sap-afc-sdk": "./",
    "@cap-js/cds-test": "^0.3.0",
    "@cap-js/sqlite": "^1.11.1",
    "@sap/cds": "^8.9.4",
    "@sap/cds-dk": "^8.9.5",
    "@sap/cds-lsp": "^8.9.1",
    "eslint": "^9.28.0",
    "eslint-config-prettier": "^10.1.5",
    "eslint-plugin-jest": "^28.12.0",
    "eslint-plugin-n": "^17.19.0",
    "globals": "^16.2.0",
    "jest": "^29.7.0",
    "prettier": "^3.5.3",
    "prettier-plugin-java": "^2.6.7",
    "ws": "^8.18.2"
  },
  "cds": {
    "server": {
      "index": true,
      "cors": false
    },
    "i18n": {
      "folders": [
        "i18n",
        "_i18n",
        "/node_modules/@cap-js-community/sap-afc-sdk/srv/i18n",
        "/node_modules/@cap-js-community/sap-afc-sdk/srv/scheduling/i18n"
      ]
    },
    "websocket": {
      "kind": "ws",
      "[production]": {
        "adapter": {
          "local": true,
          "impl": "redis"
        }
      }
    },
    "eventQueue": {
      "useAsCAPOutbox": true
    },
    "featureToggles": {
      "config": {
        "eventQueue/active": {
          "type": "boolean",
          "fallbackValue": true
        },
        "eventQueue/instanceLoadLimit": {
          "type": "number",
          "fallbackValue": 100
        }
      }
    },
    "requires": {
      "SchedulingProcessingService": {
        "outbox": {
          "kind": "persistent-outbox",
          "maxAttempts": 5,
          "checkForNextChunk": true,
          "parallelEventProcessing": 5,
          "events": {
            "syncJob": {
              "cron": "*/1 * * * *"
            }
          }
        }
      },
      "SchedulingWebsocketService": {
        "outbox": {
          "kind": "persistent-outbox",
          "transactionMode": "alwaysRollback",
          "maxAttempts": 5,
          "checkForNextChunk": true,
          "parallelEventProcessing": 5,
          "events": {
            "jobStatusChanged": {
              "timeBucket": "*/5 * * * * *",
              "[test]": {
                "timeBucket": false
              }
            }
          }
        }
      },
      "sap-afc-sdk": {
        "model": "@cap-js-community/sap-afc-sdk",
        "endpoints": {
          "approuter": null,
          "server": null
        },
        "api": {
          "cors": {
            "origin": true
          },
          "csp": false
        },
        "ui": {
          "path": "",
          "link": true,
          "swagger": true,
          "launchpad": true,
          "scheduling.monitoring.job": true
        },
        "broker": false,
        "[production]": {
          "broker": true
        },
        "mockProcessing": false,
        "[test]": {
          "mockProcessing": false
        },
        "[mock]": {
          "mockProcessing": {
            "min": 0,
            "max": 10,
            "default": "completed",
            "status": {
              "completed": 0.5,
              "completedWithWarning": 0.2,
              "completedWithError": 0.2,
              "failed": 0.1
            }
          }
        }
      },
      "afc": {
        "kind": "odata-v4",
        "model": "srv/external/afc",
        "[production]": {
          "credentials": {
            "destination": "SAP_AFC"
          }
        }
      },
      "auth": {
        "kind": "mocked-auth",
        "users": {
          "zeus": {
            "tenant": "t1",
            "roles": [
              "internal-user",
              "system-user"
            ]
          }
        }
      }
    }
  },
  "sapux": [
    "app/scheduling.monitoring.job"
  ]
}
