{ "name": "dominus-oss", "version": "1.5.3", "description": "Open-source decision-support engine for buying, reselling, and managing DNS domain portfolios — self-hosted community edition or managed DOMINUS Cloud", "private": false, "license": "AGPL-3.0-only", "author": "AlessioBrillo", "repository": { "type": "git", "url": "git+https://github.com/AlessioBrillo/dominus.git" }, "bugs": { "url": "https://github.com/AlessioBrillo/dominus/issues" }, "homepage": "https://github.com/AlessioBrillo/dominus#readme", "funding": { "type": "github", "url": "https://github.com/sponsors/AlessioBrillo" }, "contributors": [ "AlessioBrillo" ], "type": "module", "main": "dist/index.js", "bin": { "dominus": "dist/cli.js" }, "scripts": { "build": "tsc && node scripts/finalize-dist.mjs", "build:frontend": "cd frontend && npm run build", "dev": "tsx watch src/index.ts", "start": "node dist/index.js", "prepublishOnly": "npm --prefix frontend ci && npm run build:frontend && npm run build", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:unit": "vitest run", "test:integration": "vitest run --reporter=verbose src/db/provider/postgres-adapter.test.ts", "test:e2e": "playwright test", "test:e2e:smoke": "node scripts/run-e2e-smoke.mjs", "e2e:install": "playwright install chromium", "bench": "vitest bench --reporter=default", "bench:ci": "vitest bench", "lint": "eslint src/ --ext .ts", "lint:fix": "eslint src/ --ext .ts --fix", "format": "prettier --write \"src/**/*.ts\" \"frontend/src/**/*.{ts,tsx}\"", "format:check": "prettier --check \"src/**/*.ts\" \"frontend/src/**/*.{ts,tsx}\"", "dev:frontend": "cd frontend && npm run dev", "audit": "npm audit --audit-level=high --omit=dev", "license:check": "license-checker --production --onlyAllow \"MIT;ISC;BSD-2-Clause;BSD-3-Clause;Apache-2.0;BlueOak-1.0.0;LGPL-3.0-or-later;AGPL-3.0-only;Unlicense;0BSD;WTFPL;(MIT OR WTFPL);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT AND ISC)\"", "license:check:frontend": "license-checker --start frontend --excludePrivatePackages --production --onlyAllow \"MIT;ISC;BSD-2-Clause;BSD-3-Clause;Apache-2.0;BlueOak-1.0.0;LGPL-3.0-or-later;AGPL-3.0-only;Unlicense;0BSD;WTFPL;(MIT OR WTFPL);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT AND ISC)\"", "release:patch": "standard-version --release-as patch", "release:minor": "standard-version --release-as minor", "release:major": "standard-version --release-as major", "release:dry": "standard-version --dry-run", "prepush": "npm run gate", "prepush:local": "npm run gate", "gate": "npm run typecheck && npm run build:frontend && npm run build && npm run test:artifact && npm run db:sync:check && npm run lint && npm run format:check && npm run check:migration-compat && npm run check:sql-portability && npm run notices:check && npm run adr:index:check && npm run check:pack && npm run release:verify -- --pack && npm run test:installers && npm run check:doc-drift && npm run check:release-consistency && npm run check:quickstart && npm run check:workflows && npm run check:legal-placeholders && npm test -- --coverage && cd frontend && npm run typecheck && npm run lint && npm run test -- --coverage && cd .. && npm run test:e2e:smoke", "gate:docker": "node scripts/docker-smoke.mjs", "gate:release": "npm run gate && npm run test:integration && npm run acceptance:cloud && npm run launch:rehearse && npm run test:e2e && npm audit --audit-level=high --omit=dev", "ci:backend": "npm run typecheck && npm run build:frontend && npm run build && npm run db:sync:check && npm run lint && npm run format:check && npm run check:migration-compat && npm run check:sql-portability && npm run notices:check && npm run adr:index:check && npm run check:pack && npm run release:verify -- --pack && npm run check:doc-drift && npm run check:release-consistency && npm run check:quickstart && npm run check:workflows && npm test -- --coverage", "ci:frontend": "cd frontend && npm run typecheck && npm run lint && npm run test && npm run build", "ci:local": "npm run typecheck && npm run build && npm run db:sync:check && npm run check:migration-compat && npm test", "ci:local:frontend": "cd frontend && npm run typecheck && npm run test && npm run build", "clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('coverage',{recursive:true,force:true})\"", "db:sync:check": "tsx src/db/validate-migration-sync.ts", "check:image-pins": "node scripts/check-image-pins.mjs", "check:sql-portability": "node scripts/check-sql-portability.mjs", "notices": "node scripts/generate-notices.mjs", "notices:check": "node scripts/generate-notices.mjs --check", "adr:index": "node scripts/generate-adr-index.mjs", "adr:index:check": "node scripts/generate-adr-index.mjs --check", "check:migration-compat": "node scripts/check-migration-compat.mjs", "check:migration-compat:test": "node scripts/check-migration-compat.mjs --test", "migration:manifest": "node dist/db/migration-manifest-cli.js --list", "check:pack": "node scripts/check-pack.mjs", "release:verify": "node scripts/verify-release.mjs", "release:doctor": "node scripts/release-doctor.mjs", "release:cut": "node scripts/release-cut.mjs", "deploy:staging": "node scripts/deploy-cut.mjs", "release:verify:public": "node scripts/check-published-install.mjs", "check:quickstart": "node scripts/check-quickstart.mjs", "check:published-install": "node scripts/check-published-install.mjs", "test:installers": "node scripts/test-installers.mjs", "test:artifact": "node scripts/test-artifact.mjs", "check:trademarks": "node scripts/check-trademarks.mjs", "check:doc-drift": "node scripts/check-doc-drift.mjs", "check:release-consistency": "node scripts/check-release-consistency.mjs", "check:workflows": "node scripts/check-workflows.mjs", "check:legal-placeholders": "node scripts/check-legal-placeholders.mjs", "launch:check": "node scripts/launch-check.mjs", "launch:rehearse": "node scripts/launch-rehearse.mjs", "acceptance:cloud": "node scripts/acceptance/cloud-acceptance.mjs", "selfhost:up": "node scripts/selfhost-up.mjs", "prepare": "husky" }, "lint-staged": { "src/**/*.ts": [ "prettier --write", "eslint --fix" ], "frontend/src/**/*.{ts,tsx}": [ "prettier --write", "eslint --fix --config frontend/eslint.config.js" ] }, "engines": { "node": ">=22" }, "overrides": { "node-notifier": { "uuid": "^11.1.1" } }, "files": [ "dist/", "examples/", "README.md", "LICENSE", "CHANGELOG.md", "THIRD-PARTY-NOTICES.md", "COMMERCIAL_LICENSE.md", "package.json" ], "keywords": [ "dns", "domain", "investment", "domaining", "scoring", "aftermarket", "open-source", "saas", "portfolio", "trademark", "agpl" ], "dependencies": { "better-sqlite3": "^12.11.1", "commander": "^15.0.0", "cors": "^2.8.6", "dotenv": "^18.0.9", "express": "^5.3.0", "express-rate-limit": "^8.7.1", "ioredis": "^6.0.0", "jose": "^6.2.13", "lru-cache": "^11.5.3", "node-cron": "^4.6.0", "node-notifier": "^11.0.0", "nodemailer": "^10.2.1", "pino": "^10.4.0", "psl": "^1.15.0", "stripe": "^23.0.1", "undici": "^8.12.3", "zod": "^4.6.7" }, "optionalDependencies": { "pg": "^8.23.1", "sharp": "^0.35.5" }, "devDependencies": { "@axe-core/playwright": "^4.14.0", "@commitlint/cli": "^21.2.4", "@commitlint/config-conventional": "^21.0.2", "@eslint/js": "^10.0.1", "@playwright/test": "1.64.1", "@types/better-sqlite3": "^7.6.12", "@types/cors": "^2.8.19", "@types/express": "^5.0.6", "@types/node": "^26.6.5", "@types/node-cron": "^3.0.11", "@types/node-notifier": "^8.0.5", "@types/nodemailer": "^8.0.2", "@types/pg": "^8.23.1", "@types/psl": "1.1.3", "@types/sharp": "^0.32.0", "@types/supertest": "^7.2.1", "@typescript-eslint/eslint-plugin": "^8.72.0", "@typescript-eslint/parser": "^8.72.0", "@vitest/coverage-v8": "^4.1.12", "eslint": "^10.13.0", "globals": "^17.13.0", "husky": "^9.1.7", "license-checker": "^25.0.1", "lint-staged": "^17.6.0", "pino-pretty": "^13.2.0", "prettier": "^3.9.10", "standard-version": "^9.5.0", "supertest": "^7.3.1", "tsx": "^4.23.15", "typescript": "^6.0.3", "vitest": "^4.1.12" } }