UNPKG

pg-multiverse

Version:

🌌 Multi-cluster PostgreSQL manager for Node.js with TypeScript support. Features read/write splitting, intelligent load balancing, distributed caching, database migrations, health monitoring, and seamless multi-schema operations.

221 lines (220 loc) • 5.97 kB
{ "name": "pg-multiverse", "version": "1.3.1", "description": "🌌 Multi-cluster PostgreSQL manager for Node.js with TypeScript support. Features read/write splitting, intelligent load balancing, distributed caching, database migrations, health monitoring, and seamless multi-schema operations.", "main": "dist/index.js", "types": "dist/index.d.ts", "sideEffects": false, "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.js" }, "./cluster": { "types": "./dist/cluster/index.d.ts", "import": "./dist/cluster/index.js", "require": "./dist/cluster/index.js" }, "./cache": { "types": "./dist/cache/index.d.ts", "import": "./dist/cache/index.js", "require": "./dist/cache/index.js" }, "./types": { "types": "./dist/types/index.d.ts", "import": "./dist/types/index.js", "require": "./dist/types/index.js" }, "./package.json": "./package.json" }, "scripts": { "build": "tsc", "build:watch": "tsc --watch", "dev": "ts-node src/index.ts", "start": "node dist/index.js", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:ci": "jest --coverage --ci --watchAll=false", "test:setup": "node scripts/test-setup.js", "test:teardown": "node scripts/test-teardown.js", "test:docker": "npm run test:setup && npm run test:integration && npm run test:teardown", "test:integration": "jest tests/integration.test.ts --testTimeout=60000", "test:all": "npm run test:integration", "lint": "eslint src/**/*.ts --fix", "lint:check": "eslint src/**/*.ts", "format": "prettier --write src/**/*.ts examples/**/*.ts tests/**/*.ts", "format:check": "prettier --check src/**/*.ts examples/**/*.ts tests/**/*.ts", "clean": "rimraf dist coverage", "prepublishOnly": "npm run clean && npm run build", "preversion": "echo 'Skipping lint for now'", "version": "npm run format && git add -A src", "postversion": "git push && git push --tags", "example:basic": "ts-node examples/basic-usage.ts", "docs:generate": "typedoc src/index.ts --out docs", "release": "npm version patch && npm publish", "release:minor": "npm version minor && npm publish", "release:major": "npm version major && npm publish" }, "keywords": [ "postgresql", "postgres", "database", "multi-cluster", "multiverse", "typescript", "migrations", "database-migrations", "schema-management", "connection-pooling", "load-balancing", "read-write-splitting", "sharding", "caching", "distributed-cache", "distributed-transactions", "high-availability", "failover", "health-monitoring", "multi-schema", "cluster-management", "database-scaling", "enterprise", "microservices", "cloud-native", "performance", "reliability" ], "author": { "name": "PG Multiverse Team", "email": "contact@pg-multiverse.dev" }, "license": "MIT", "homepage": "https://github.com/andeerc/pg-multiverse#readme", "repository": { "type": "git", "url": "git+https://github.com/andeerc/pg-multiverse.git" }, "bugs": { "url": "https://github.com/andeerc/pg-multiverse/issues" }, "funding": [ { "type": "github", "url": "https://github.com/sponsors/pg-multiverse" }, { "type": "opencollective", "url": "https://opencollective.com/pg-multiverse" } ], "dependencies": { "commander": "^14.0.0", "pg": "^8.11.0", "uuid": "^9.0.1" }, "optionalDependencies": { "ioredis": "^5.3.0" }, "devDependencies": { "@types/jest": "^29.5.0", "@types/node": "^20.10.0", "@types/pg": "^8.10.0", "@types/uuid": "^9.0.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "eslint": "^8.50.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "jest": "^29.7.0", "prettier": "^3.0.0", "rimraf": "^5.0.0", "ts-jest": "^29.1.0", "ts-node": "^10.9.2", "typedoc": "^0.25.0", "typescript": "^5.2.0" }, "peerDependencies": { "typescript": ">=4.5.0" }, "engines": { "node": ">=16.0.0", "npm": ">=8.0.0" }, "os": [ "darwin", "linux", "win32" ], "cpu": [ "x64", "arm64" ], "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "files": [ "dist/**/*.js", "dist/**/*.d.ts", "README.md", "LICENSE" ], "jest": { "preset": "ts-jest", "testEnvironment": "node", "roots": [ "<rootDir>/src", "<rootDir>/tests" ], "testMatch": [ "**/__tests__/**/*.ts", "**/?(*.)+(spec|test).ts" ], "transform": { "^.+\\.ts$": "ts-jest" }, "collectCoverageFrom": [ "src/**/*.ts", "!src/**/*.d.ts", "!src/types/**/*", "!src/index.ts" ], "coverageDirectory": "coverage", "coverageReporters": [ "text", "lcov", "html", "clover" ], "coverageThreshold": { "global": { "branches": 80, "functions": 80, "lines": 80, "statements": 80 } } }, "prettier": { "semi": true, "trailingComma": "es5", "singleQuote": true, "printWidth": 100, "tabWidth": 2, "useTabs": false, "bracketSpacing": true, "arrowParens": "avoid" }, "typedoc": { "entryPoints": [ "src/index.ts" ], "out": "docs", "excludePrivate": true, "excludeProtected": true, "excludeInternal": true, "readme": "README.md" } }