UNPKG

@phonecheck/phone-number-validator-js

Version:

Validate, parse, and enrich international phone numbers — geocoding, carrier lookup, and timezone resolution. Sync (Node) + async (serverless) APIs, platform adapters, and a CLI.

169 lines (168 loc) 6.2 kB
{ "name": "@phonecheck/phone-number-validator-js", "version": "2.1.0", "private": false, "description": "Validate, parse, and enrich international phone numbers — geocoding, carrier lookup, and timezone resolution. Sync (Node) + async (serverless) APIs, platform adapters, and a CLI.", "keywords": [ "phone-validation", "phone-verification", "phone-validator", "phone-checker", "phone-number", "libphonenumber", "geocoder", "carrier", "timezone", "international", "e164", "typescript", "serverless", "edge", "cloudflare", "lambda" ], "homepage": "https://github.com/phone-check-app/phone-number-validator-js#readme", "bugs": "https://github.com/phone-check-app/phone-number-validator-js/issues", "repository": { "type": "git", "url": "git+ssh://git@github.com/phone-check-app/phone-number-validator-js.git" }, "license": "SEE LICENSE IN LICENSE.md", "author": "PHONE-CHECK.APP <support@phone-check.app> (https://phone-check.app)", "exports": { ".": { "require": "./dist/index.js", "import": "./dist/index.esm.js", "types": "./dist/index.d.ts" }, "./serverless": { "require": "./dist/serverless/index.cjs.js", "import": "./dist/serverless/index.esm.js", "types": "./dist/serverless/index.d.ts" }, "./serverless/verifier": { "require": "./dist/serverless/verifier.cjs.js", "import": "./dist/serverless/verifier.esm.js", "types": "./dist/serverless/verifier.d.ts" }, "./serverless/aws": { "require": "./dist/serverless/adapters/aws-lambda.cjs.js", "import": "./dist/serverless/adapters/aws-lambda.esm.js", "types": "./dist/serverless/adapters/aws-lambda.d.ts" }, "./serverless/vercel": { "require": "./dist/serverless/adapters/vercel.cjs.js", "import": "./dist/serverless/adapters/vercel.esm.js", "types": "./dist/serverless/adapters/vercel.d.ts" }, "./serverless/cloudflare": { "require": "./dist/serverless/adapters/cloudflare.cjs.js", "import": "./dist/serverless/adapters/cloudflare.esm.js", "types": "./dist/serverless/adapters/cloudflare.d.ts" }, "./serverless/gcp": { "require": "./dist/serverless/adapters/gcp.cjs.js", "import": "./dist/serverless/adapters/gcp.esm.js", "types": "./dist/serverless/adapters/gcp.d.ts" }, "./serverless/netlify": { "require": "./dist/serverless/adapters/netlify.cjs.js", "import": "./dist/serverless/adapters/netlify.esm.js", "types": "./dist/serverless/adapters/netlify.d.ts" }, "./serverless/azure": { "require": "./dist/serverless/adapters/azure.cjs.js", "import": "./dist/serverless/adapters/azure.esm.js", "types": "./dist/serverless/adapters/azure.d.ts" }, "./cli": { "require": "./dist/cli/index.js", "types": "./dist/cli/index.d.ts" } }, "main": "dist/index.js", "module": "dist/index.esm.js", "types": "dist/index.d.ts", "bin": { "phone-validate": "./dist/cli/index.js" }, "files": [ "dist", "resources" ], "publishConfig": { "access": "public", "provenance": true }, "scripts": { "build": "rm -rf dist && rollup -c rollup.config.cjs && rollup -c rollup.config.serverless.cjs && chmod +x dist/cli/index.js", "build:main": "rollup -c rollup.config.cjs", "build:serverless": "rollup -c rollup.config.serverless.cjs", "cli": "bun run src/cli/index.ts", "check": "biome check --write", "format": "biome format --write", "lint": "biome check", "lint:fix": "biome check --write", "prepare": "husky", "preparemetadata": "rm -rf resources && bun run scripts/prepare-metadata.ts && rm -rf resources/libphonenumber", "prepublishOnly": "bun run build", "release": "semantic-release", "release:dry": "semantic-release --dry-run", "test": "bun run test:unit && bun run test:isolated", "test:unit": "bun test __tests__/unit --concurrency=1", "test:isolated": "bun test __tests__/isolated --concurrency=1", "test:integration": "INTEGRATION=1 bun test __tests__/integration --concurrency=1", "test:all": "bun run test && bun run test:integration", "test:core": "bun test ./__tests__/unit/01*.test.ts --concurrency=1", "test:cache": "bun test ./__tests__/unit/02*.test.ts --concurrency=1", "test:locales": "bun test ./__tests__/unit/03*.test.ts --concurrency=1", "test:serverless": "bun test ./__tests__/unit/04*.test.ts __tests__/isolated --concurrency=1", "test:adapters": "bun test ./__tests__/unit/05*.test.ts --concurrency=1", "test:cli": "bun test ./__tests__/unit/06*.test.ts --concurrency=1", "test-ci": "bun run test", "typecheck": "tsc --pretty --skipLibCheck --noEmit && tsc --project tsconfig.test.json --pretty --skipLibCheck --noEmit" }, "lint-staged": { "*.{js,ts,jsx,tsx}": [ "biome check --write --no-errors-on-unmatched", "biome format --write --no-errors-on-unmatched" ], "*.{json,md,yml,yaml}": [ "biome format --write --no-errors-on-unmatched" ] }, "dependencies": { "bson": "^7.2.0", "libphonenumber-js": "^1.12.42", "tiny-lru": "^13.0.0" }, "devDependencies": { "@biomejs/biome": "^2.4.14", "@rollup/plugin-commonjs": "^29.0.2", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-terser": "^1.0.0", "@rollup/plugin-typescript": "^12.3.0", "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/github": "^12.0.6", "@semantic-release/npm": "^13.1.5", "@semantic-release/release-notes-generator": "^14.1.0", "@types/aws-lambda": "^8.10.161", "@types/bun": "^1.3.13", "@types/node": "^25.6.0", "conventional-changelog-conventionalcommits": "^9.3.1", "esbuild": "^0.28.0", "husky": "^9.1.7", "lint-staged": "^16.4.0", "rollup": "^4.60.2", "rollup-plugin-esbuild": "^6.2.1", "semantic-release": "^25.0.3", "tslib": "^2.8.1", "typescript": "^6.0.3" }, "packageManager": "bun@1.3.13", "engines": { "node": ">= 22.0", "bun": ">= 1.3" } }