intl-tel-input
Version:
A JavaScript plugin for entering and validating international telephone numbers
232 lines (231 loc) • 8.88 kB
JSON
{
"name": "intl-tel-input",
"version": "27.0.8",
"description": "A JavaScript plugin for entering and validating international telephone numbers",
"type": "module",
"license": "MIT",
"author": "Jack O'Connor (http://jackocnr.com)",
"scripts": {
"test": "npm run test:js && npm run test:e2e",
"test:js": "vitest run",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:linux": "./scripts/playwright-linux-docker.sh",
"test:e2e:linux:update": "./scripts/playwright-linux-docker.sh --update-snapshots",
"lint:js": "eslint . --cache --cache-location node_modules/.cache/eslint/",
"watch": "node scripts/watch.js",
"clean:dist:css": "rimraf dist/css/*",
"clean:dist:img": "rimraf dist/img/*",
"clean:dist:js": "rimraf dist/js/*",
"clean:dist:js:keep-utils": "node scripts/clean-dist-js-keep-utils.js",
"clean:tmp": "rimraf tmp/built.min.js tmp/one.min.js",
"clean:utils": "rimraf dist/js/utils.js",
"clean:react": "rimraf react/dist/*",
"clean:vue": "rimraf vue/dist/*",
"clean:angular": "rimraf angular/dist/*",
"clean:all": "npm run clean:dist:css && npm run clean:dist:img && npm run clean:dist:js && npm run clean:react && npm run clean:vue && npm run clean:angular && npm run clean:tmp",
"build:translations:gen": "node scripts/translations.js",
"build:translations": "npm run clean:dist:js && npm run clean:tmp && npm run build:translations:gen && npm run build:js",
"build:utils:closure": "node scripts/build-utils.js",
"build:utils:check": "node scripts/check-lpn-metadata.js",
"build:utils": "npm run clean:utils && npm run build:utils:closure && npm run build:utils:check",
"ensure:utils": "node -e \"process.exit(require('node:fs').existsSync('dist/js/utils.js')?0:1)\" || npm run build:utils",
"ensure:dts": "node -e \"process.exit(require('node:fs').existsSync('dist/js/intlTelInput.d.ts')?0:1)\" || npm run build:js:dts",
"build:css:main": "sass --no-source-map --style=compressed src/css/intlTelInput.scss:dist/css/intlTelInput-no-assets.css src/css/intlTelInputWithAssets.scss:dist/css/intlTelInput.css",
"build:css:demo": "sass --no-source-map src/css/demo.scss dist/css/demo.css",
"build:css:min": "cleancss -o dist/css/intlTelInput.min.css dist/css/intlTelInput.css && cleancss -o dist/css/intlTelInput-no-assets.min.css dist/css/intlTelInput-no-assets.css",
"build:css": "npm run clean:dist:css && npm run build:css:main && npm run build:css:demo && npm run build:css:min && cp src/css/styles.d.ts dist/css/",
"build:img:sprite": "node --experimental-strip-types scripts/generate-sprite.js",
"build:img": "npm run clean:dist:img && npm run build:img:sprite && npm run build:css",
"build:js:dts": "node scripts/build-dts.js",
"build:js:core": "node scripts/esbuild.js",
"build:js": "npm run clean:dist:js && npm run clean:tmp && npm run lint:js && npm run build:utils:closure && npm run build:js:dts && npm run build:js:core && npm run build:components",
"build:jsfast": "npm run clean:dist:js:keep-utils && npm run clean:tmp && npm run ensure:utils && npm run build:js:core",
"build:jsfast:cmps": "npm run build:jsfast && npm run build:components",
"build:react": "npm run ensure:dts && npm run clean:react && tsc -p react/tsconfig.json && node react/build.js",
"build:vue": "npm run ensure:dts && npm run clean:vue && vite build --config vue/vite.config.mts",
"build:angular": "npm run ensure:dts && npm run clean:angular && ngc -p angular/tsconfig.json && node angular/build.js",
"build:components": "npm run build:react && npm run build:vue && npm run build:angular",
"build": "npm run clean:all && npm run build:img && npm run build:translations:gen && npm run build:js",
"build:test": "npm run build:jsfast:cmps && npm run test",
"prepublishOnly": "npm run build",
"version:bump": "node scripts/version-bump.js",
"version:patch": "npm run build:test && npm run version:bump -- patch",
"version:minor": "npm run build:test && npm run version:bump -- minor",
"version:major": "npm run build:test && npm run version:bump -- major",
"vue:demo": "vite --config vue/demo/validation/vite.config.js",
"svelte:demo": "vite --config svelte/demo/validation/vite.config.js"
},
"devDependencies": {
"@angular/common": "^21.2.7",
"@angular/compiler": "^21.2.7",
"@angular/compiler-cli": "^21.2.7",
"@angular/core": "^21.2.7",
"@angular/forms": "^21.2.7",
"@angular/platform-browser": "^21.2.7",
"@eslint/js": "^9.39.4",
"@playwright/test": "^1.59.1",
"@sveltejs/vite-plugin-svelte": "^7.0.0",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.4.6",
"@testing-library/user-event": "^14.5.2",
"@types/node": "^25.5.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-vue": "^6.0.5",
"@vue/tsconfig": "^0.9.1",
"chokidar": "^5.0.0",
"clean-css-cli": "^5.6.3",
"dts-bundle-generator": "^9.5.1",
"esbuild": "^0.28.0",
"eslint": "^9.39.4",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"fast-xml-parser": "^5.2.5",
"flag-icons": "^7.2.3",
"globals": "^17.4.0",
"google-closure-compiler": "^20260405.0.0",
"google-closure-library": "^20230802.0.0",
"http-server": "^14.1.1",
"jsdom": "^29.0.2",
"playwright": "^1.59.1",
"prettier": "^3.8.1",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"rimraf": "^6.1.3",
"rxjs": "^7.8.2",
"sass": "^1.83.1",
"sharp": "^0.34.5",
"svelte": "^5.46.4",
"typescript": "^6.0.2",
"typescript-eslint": "^8.58.0",
"vite": "^8.0.7",
"vite-plugin-dts": "^4.4.0",
"vitest": "^4.1.3",
"vue": "^3.5.13",
"zone.js": "^0.16.1"
},
"files": [
"dist/*",
"react/dist/*",
"vue/dist/*",
"angular/dist/*",
"svelte/src/*",
"CHANGELOG.md",
"LICENSE",
"package.json",
"package-lock.json",
"README.md"
],
"repository": {
"type": "git",
"url": "https://github.com/jackocnr/intl-tel-input.git"
},
"homepage": "https://intl-tel-input.com",
"main": "./dist/js/intlTelInput.js",
"types": "./dist/js/intlTelInput.d.ts",
"exports": {
".": {
"types": "./dist/js/intlTelInput.d.ts",
"import": "./dist/js/intlTelInput.mjs"
},
"./intlTelInputWithUtils": {
"types": "./dist/js/intlTelInput.d.ts",
"import": "./dist/js/intlTelInputWithUtils.mjs"
},
"./data": {
"types": "./dist/js/data.d.ts",
"import": "./dist/js/data.mjs"
},
"./utils": {
"types": "./dist/js/utils.d.ts",
"import": "./dist/js/utils.js"
},
"./react": {
"types": "./react/dist/IntlTelInput.d.ts",
"import": "./react/dist/IntlTelInput.js"
},
"./reactWithUtils": {
"types": "./react/dist/IntlTelInputWithUtils.d.ts",
"import": "./react/dist/IntlTelInputWithUtils.js"
},
"./vue": {
"types": "./vue/dist/index.d.ts",
"import": "./vue/dist/IntlTelInput.js"
},
"./vueWithUtils": {
"types": "./vue/dist/indexWithUtils.d.ts",
"import": "./vue/dist/IntlTelInputWithUtils.js"
},
"./angular": {
"types": "./angular/dist/IntlTelInput.d.ts",
"import": "./angular/dist/IntlTelInput.js"
},
"./angularWithUtils": {
"types": "./angular/dist/IntlTelInputWithUtils.d.ts",
"import": "./angular/dist/IntlTelInputWithUtils.js"
},
"./svelte": {
"types": "./svelte/src/IntlTelInput.svelte.d.ts",
"svelte": "./svelte/src/IntlTelInput.svelte",
"import": "./svelte/src/IntlTelInput.svelte"
},
"./svelteWithUtils": {
"types": "./svelte/src/IntlTelInput.svelte.d.ts",
"svelte": "./svelte/src/IntlTelInputWithUtils.svelte",
"import": "./svelte/src/IntlTelInputWithUtils.svelte"
},
"./i18n": {
"types": "./dist/js/i18n.d.ts",
"import": "./dist/js/i18n/index.js"
},
"./i18n/*": {
"types": "./dist/js/i18n.d.ts",
"import": "./dist/js/i18n/*/index.js"
},
"./styles": {
"types": "./dist/css/styles.d.ts",
"default": "./dist/css/intlTelInput.css"
},
"./*": "./*"
},
"typesVersions": {
"*": {
".": [
"dist/js/intlTelInput.d.ts"
],
"react": [
"react/dist/IntlTelInput.d.ts"
],
"angular": [
"angular/dist/IntlTelInput.d.ts"
]
}
},
"keywords": [
"international",
"country",
"dial code",
"telephone",
"phone",
"mobile",
"input",
"flag",
"dropdown",
"javascript",
"plugin",
"css",
"html",
"validation",
"formatting",
"react",
"vue",
"angular",
"svelte",
"component",
"typescript"
],
"workspaces": [
"site"
]
}