{ "name": "zambdas", "version": "1.46.5", "private": true, "sideEffects": false, "scripts": { "start": "npm run start:iac", "start:local": "ENV=local npm run start", "start:demo": "ENV=demo npm run start", "start:iac": "NODE_OPTIONS='--preserve-symlinks' tsx watch --include './src/**/*' src/local-server/index.ts -- secrets=.env/zambda-secrets-${ENV:-local}.json", "start:labcorp": "ENV=labcorp-local npm run start", "start:local:iac": "ENV=local npm run start:iac", "start:demo:iac": "ENV=demo npm run start:iac", "recreate-global-templates": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/recreate-global-templates.ts", "recreate-in-house-medications": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/recreate-in-house-medications.ts", "recreate-in-house-labs": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/recreate-in-house-labs.ts", "recreate-quick-texts": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/recreate-quick-texts.ts", "recreate-em-codes": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/recreate-em-codes.ts", "cancel-telemed-appointments": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/cancel-telemed-appointments.ts", "charge-due-and-past-due-invoices": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/charge-due-and-past-due-invoices.ts", "report-daily-payments": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/report-daily-payments.ts", "report-duplicate-payments": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/report-duplicate-payments.ts", "report-past-due-invoices": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/report-past-due-invoices.ts", "report-provider-visists": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/report-provider-visists.ts", "get-coverage-eligibility-responses": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/get-coverage-eligibility-responses.ts", "export-coverage-eligibility-responses": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/export-coverage-eligibility-responses.ts", "merge-coverage-eligibility-benefits": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/merge-coverage-eligibility-benefits.ts", "get-patient-related-person": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/get-patient-related-person.ts", "export-rendering-providers": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/export-rendering-providers.ts", "download-eras": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/download-eras.ts", "get-rcm-tasks": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/get-rcm-tasks.ts", "send-invoices-to-patients-by-sms": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/send-invoices-to-patients-by-sms.ts", "send-past-due-invoices-to-patients-by-sms": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/send-past-due-invoices-to-patients-by-sms.ts", "get-invoiceable-claims": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/get-invoiceable-claims.ts staging", "create-non-insurance-payers": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/create-non-insurance-payers.ts", "create-non-insurance-payer-resources": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/create-non-insurance-payer-resources.ts", "import-employers": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/import-employers.ts", "fix-duplicate-payers": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/fix-duplicate-payers.ts", "fix-payer-ids-in-orgs": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/fix-payer-ids-in-orgs.ts", "update-insurances-and-payer-orgs": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/update-insurances-and-payer-orgs.ts", "update-insurances-and-payer-orgs-debug": "node --preserve-symlinks --inspect --import tsx src/scripts/update-insurances-and-payer-orgs.ts", "log-in-house-medications-list": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/log-in-house-medications-list.ts $npm_config_env", "remove-test-patient-data": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/remove-test-patient-data.ts local", "delete-appointment-data": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/delete-appointment-data.ts", "config-schedules": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/ensure-schedule-config.ts", "update-user-roles": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/update-user-roles.ts", "clean-up-e2e": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/clean-up-e2e.ts", "build": "tsc", "bundle": "NODE_OPTIONS='--preserve-symlinks' tsx bundle.ts", "lint": "NODE_OPTIONS='--max-old-space-size=8192' eslint --ext .ts,.js --report-unused-disable-directives --max-warnings 0 .", "lint:fix": "eslint --ext .ts,.js --report-unused-disable-directives --max-warnings 0 --fix .", "clear-tasks": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/clear-tasks.ts production", "kick-off-billing-claim": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/kick-off-billing-claim.ts", "probe-outreach-tasks": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/probe-outreach-tasks.ts", "probe-outreach-action-ids": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/probe-outreach-action-ids.ts", "probe-outreach-retries": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/probe-outreach-retries.ts", "test": "ENV=${ENV:-local} vitest run", "test:unit:ci": "ENV=${ENV:-local} vitest run --project unit --maxWorkers=6 --coverage --coverage.reportsDirectory=./coverage/unit --passWithNoTests --reporter=dot --reporter=github-actions", "test:integration:ci": "ENV=${ENV:-local} vitest run --project integration --maxWorkers=12 --no-isolate --coverage --passWithNoTests --reporter=dot --reporter=github-actions", "test:watch": "ENV=${ENV:-local} vitest watch", "test:coverage": "c8 npm run test", "test:integration:coverage": "ENV=${ENV:-local} c8 --src=src --include='src/**' --exclude='src/**/*.test.ts' --exclude='src/local-server/**' --exclude='src/scripts/**' --all --reporter=text-summary --reporter=lcov --reporter=html --reports-dir=coverage/integration vitest run test/integration/", "mock-reflex-test": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/reflex-test-helper.ts", "mock-unsolicited-result": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/unsolicited-result-helper.ts", "make-in-house-test-items": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/load-in-house-labs-tests.ts", "migrate-practitioner-credentials": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/migrate-practitioner-credentials.ts", "backfill-outbound-fax-attempts": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/backfill-outbound-fax-attempts.ts", "backfill-billing-patient-clinical-identifiers": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/backfill-billing-patient-clinical-identifiers.ts", "mock-attachment-result": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/attachment-result-helper.ts", "mock-abn-doc": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/create-abn-doc.ts", "get-lab-sr-dr-docref": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/get-external-lab-sr-dr-docref.ts", "test-emails": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/test-emails.ts", "update-locations-for-lab-accounts": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/update-locations-for-lab-accounts.ts", "sync-lab-specimen-dates": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/sync-specimen-dates.ts", "reset-lab-order": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/labs/reset-lab-order.ts", "seed-runtime-resources": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/seed-runtime-resources.ts", "dedupe-scheduling-resources": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/dedupe-scheduling-resources.ts", "delete-billing-system-tag-basics": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/delete-billing-system-tag-basics.ts", "migrate-invoice-config-to-billing": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/migrate-invoice-config-to-billing.ts", "regenerate-questionnaire-json": "NODE_OPTIONS='--preserve-symlinks' tsx ./scripts/regenerate-questionnaire-json.ts", "resolve-slug-duplicates": "NODE_OPTIONS='--preserve-symlinks' tsx src/scripts/resolve-slug-duplicates.ts" }, "engines": { "node": ">=22.0.0", "npm": ">=10.0.0" }, "dependencies": { "@aws-sdk/client-s3": "^3.272.0", "@cantoo/pdf-lib": "^2.9.1", "@sentry/esbuild-plugin": "^3.5.0", "@sentry/node-core": "10.75.2", "commander": "^14.0.0", "diacritics": "^1.3.0", "fast-json-patch": "^3.1.1", "handlebars": "^4.7.8", "jimp": "^1.6.1", "luxon": "^3.4.3", "pdfmake": "^0.3.6", "query-string": "^8.1.0", "randomstring": "^1.3.1", "retry": "^0.13.1", "short-uuid": "^4.2.2", "stripe": "^17.7.0", "utils": "*", "yazl": "^3.3.1" }, "devDependencies": { "@types/cors": "^2.8.17", "@types/diacritics": "^1.3.3", "@types/express": "^5.0.1", "@types/luxon": "^3.3.2", "@types/pdfmake": "^0.3.2", "@types/randomstring": "^1.3.0", "@types/retry": "^0.12.0", "@types/yauzl": "^2.10.3", "@types/yazl": "^2.4.6", "cors": "^2.8.5", "dotenv": "^17.4.0", "esbuild": "^0.25.1", "esbuild-plugin-copy": "^2.1.1", "express": "^4.21.2", "glob": "^11.1.0", "lodash": "^4.17.21", "tsx": "^4.19.4", "yauzl": "^3.4.0" } }