@visulima/disposable-email-domains 1.0.0-alpha.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +299 -0
- package/README.md +130 -44
- package/dist/domains.d.ts +2 -0
- package/dist/domains.json +1 -1
- package/dist/index.d.ts +93 -13
- package/dist/index.js +1 -103
- package/package.json +9 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,302 @@
|
|
|
1
|
+
## @visulima/disposable-email-domains 1.0.0 (2026-07-03)
|
|
2
|
+
|
|
3
|
+
### ⚠ BREAKING CHANGES
|
|
4
|
+
|
|
5
|
+
* change min node version to 22.13
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **disposable-email-domains:** add castle disposable list ([82fb44f](https://github.com/visulima/visulima/commit/82fb44f9ebc8c6b7031135a2e9c7c66714776ede))
|
|
10
|
+
* **disposable-email-domains:** add edge support, allowlist, bare-domain api to disposable check ([a3d1d95](https://github.com/visulima/visulima/commit/a3d1d9551cf857d0c11d245e7126cde73a302fd7))
|
|
11
|
+
* **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* add new package image, fixed readme rendering on npm, fixed building of packages ([b790ba2](https://github.com/visulima/visulima/commit/b790ba253ea07fef83528fd822a678facf021b5f))
|
|
16
|
+
* **disposable-email-domains:** 1 bug fix ([184bf0b](https://github.com/visulima/visulima/commit/184bf0b96713ec7f8f90e37bacf7ca69e9711f33))
|
|
17
|
+
* **disposable-email-domains:** add missing .js extensions to ESM imports ([c9a14d5](https://github.com/visulima/visulima/commit/c9a14d557f88201c95e9894212b47723b699d6f2))
|
|
18
|
+
* **disposable-email-domains:** emit `export =` for /domains types ([b80fd58](https://github.com/visulima/visulima/commit/b80fd587995e376f9cb6d872e387b5fc2d96e6d1))
|
|
19
|
+
* **disposable-email-domains:** filter undefined rows in contributing sources table ([75597ec](https://github.com/visulima/visulima/commit/75597ec3bc4197e5dc1d019b793af1412cc8e93b))
|
|
20
|
+
* **disposable-email-domains:** resolve eslint and formatting issues ([f419276](https://github.com/visulima/visulima/commit/f419276bc4f6bdc01fa35dfb035c438e343be7e2))
|
|
21
|
+
* **disposable-email-domains:** resolve eslint errors ([294850a](https://github.com/visulima/visulima/commit/294850a337b35e0e60d499a20a92b890c2fa762f))
|
|
22
|
+
* **disposable-email-domains:** update package files ([be60835](https://github.com/visulima/visulima/commit/be60835dc91c269bc7d189f9e049ef87270a2eff))
|
|
23
|
+
* **disposable-email-domains:** update packem to 2.0.0-alpha.54 ([3ac3346](https://github.com/visulima/visulima/commit/3ac3346a0f70b6856323e83d488770a49fbb00b2))
|
|
24
|
+
* **disposable-email-domains:** update README ([af4f517](https://github.com/visulima/visulima/commit/af4f51762a6ea74e7f9c6c368d112ba325516e45))
|
|
25
|
+
* **disposable-email-domains:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([790a46e](https://github.com/visulima/visulima/commit/790a46e7319953e5e2b7f65441055a6751706416))
|
|
26
|
+
* **email:** resolve eslint issues and format code ([8fd689c](https://github.com/visulima/visulima/commit/8fd689c12e9c21f7222597bbf99a6fe431b5f0d4))
|
|
27
|
+
* **jsdoc-open-api:** combine name and description for path-based YAML parsing ([68e7d23](https://github.com/visulima/visulima/commit/68e7d2395ab97de3221892afe03da27688df7569))
|
|
28
|
+
* Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
|
|
29
|
+
* **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
|
|
30
|
+
* update email list ([a4e175e](https://github.com/visulima/visulima/commit/a4e175efcbc6e2e56362844c704d0c558885c9d1))
|
|
31
|
+
* update Node.js engine version requirement to >=22.13 in multiple package.json files for improved compatibility ([b828e9a](https://github.com/visulima/visulima/commit/b828e9aeaebfc798eecddccd90e6ec7560c6d36a))
|
|
32
|
+
* update package OG images across multiple packages ([f08e4dd](https://github.com/visulima/visulima/commit/f08e4dd2b105ccb29c8412020a9c2be36d6c1e9e))
|
|
33
|
+
* update package.json description and keywords ([#578](https://github.com/visulima/visulima/issues/578)) ([154709c](https://github.com/visulima/visulima/commit/154709c05e71d1ffd3e360b27e12febd817912f0))
|
|
34
|
+
* update README with new performance metrics and last updated timestamp ([01709e2](https://github.com/visulima/visulima/commit/01709e206df46d7cfd68c7721e3692d20838f37b))
|
|
35
|
+
* updated domain list ([f97866b](https://github.com/visulima/visulima/commit/f97866b9649f6ccae86accf4ab1c56e73817c882))
|
|
36
|
+
* **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
|
|
37
|
+
|
|
38
|
+
### Documentation
|
|
39
|
+
|
|
40
|
+
* **boxen,command-line-args,tabular,is-ansi-color-supported,disposable-email-domains:** add comprehensive Fumadocs documentation ([95e0578](https://github.com/visulima/visulima/commit/95e057833978dfeeb9f2768269e36862572539db))
|
|
41
|
+
* **disposable-email-domains:** refresh benchmark timings in README ([5ea04f7](https://github.com/visulima/visulima/commit/5ea04f75479bffe2bceee8d0e9f72285734dcbbf))
|
|
42
|
+
* **disposable-email-domains:** update contributing sources table and timestamp ([2919ed0](https://github.com/visulima/visulima/commit/2919ed07a478695e452441a845f7de36a5d87280))
|
|
43
|
+
* **disposable-email-domains:** update domain counts and performance stats ([0e5021b](https://github.com/visulima/visulima/commit/0e5021b561e5b7592ae3ca7a6a9af94ecc6816f0))
|
|
44
|
+
* **disposable-email-domains:** update domain statistics ([0ce9ced](https://github.com/visulima/visulima/commit/0ce9ced5c7b4af9ca0a2d508a13b74e353633ea9))
|
|
45
|
+
* prettier-format agent instructions ([71b6414](https://github.com/visulima/visulima/commit/71b6414528780ac82c4e0bb25b5f4f11faba5549))
|
|
46
|
+
* regenerate package tables ([287ded9](https://github.com/visulima/visulima/commit/287ded982f6d4bcbc3401020732302ebde170933))
|
|
47
|
+
|
|
48
|
+
### Styles
|
|
49
|
+
|
|
50
|
+
* cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
|
|
51
|
+
|
|
52
|
+
### Miscellaneous Chores
|
|
53
|
+
|
|
54
|
+
* add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
|
|
55
|
+
* apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
|
|
56
|
+
* bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
|
|
57
|
+
* **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
|
|
58
|
+
* **disposable-email-domains:** add tsconfig.eslint.json for type-aware linting ([a9b6093](https://github.com/visulima/visulima/commit/a9b60936b123bef3362e8ea3b51b4960fbd03a19))
|
|
59
|
+
* **disposable-email-domains:** apply auto-fix formatting ([544041c](https://github.com/visulima/visulima/commit/544041cb47668bf64f8bfefdf7ae9160deb3908f))
|
|
60
|
+
* **disposable-email-domains:** apply formatter sweep to readme ([c563348](https://github.com/visulima/visulima/commit/c563348f7ab526be8b8cc87a036d16dc4c50224d))
|
|
61
|
+
* **disposable-email-domains:** apply formatting ([2670c08](https://github.com/visulima/visulima/commit/2670c0843d05d2b0d667690cf0cc2508dacdff83))
|
|
62
|
+
* **disposable-email-domains:** apply pending changes ([18080ea](https://github.com/visulima/visulima/commit/18080ea18ca93b3a455543a84fd1baa618009473))
|
|
63
|
+
* **disposable-email-domains:** apply prettier formatting ([dca941a](https://github.com/visulima/visulima/commit/dca941aebee89c3d721f79d6ca80760b633ea3f1))
|
|
64
|
+
* **disposable-email-domains:** apply prettier formatting ([967a2c7](https://github.com/visulima/visulima/commit/967a2c75ff25df2840c8257072dc31e7757babcf))
|
|
65
|
+
* **disposable-email-domains:** drop time from last-updated stamp ([1257695](https://github.com/visulima/visulima/commit/1257695408d1527f551ce6aa1ad0cff22e162447))
|
|
66
|
+
* **disposable-email-domains:** enforce curly braces and apply lint fixes ([76010b3](https://github.com/visulima/visulima/commit/76010b362d980fa9e324f592cda5d6314197bc67))
|
|
67
|
+
* **disposable-email-domains:** housekeeping cleanup ([795d338](https://github.com/visulima/visulima/commit/795d338c7572f9ba93661bf7e8cfc0cf2f8dd9e7))
|
|
68
|
+
* **disposable-email-domains:** migrate .prettierrc.cjs to prettier.config.js ([c98c927](https://github.com/visulima/visulima/commit/c98c927b87b7de95cd2c0f282003afd1fcc2130a))
|
|
69
|
+
* **disposable-email-domains:** migrate deps to pnpm catalogs ([df9093b](https://github.com/visulima/visulima/commit/df9093b6c1b2af6a0ac8f113cbbf740cb2b1cea1))
|
|
70
|
+
* **disposable-email-domains:** update dependencies ([76c89aa](https://github.com/visulima/visulima/commit/76c89aa5864af118a4f956ea18b77266f40d72b1))
|
|
71
|
+
* **disposable-email-domains:** update dependencies ([0780035](https://github.com/visulima/visulima/commit/0780035155ddd6cf875da166880b2e10734f63e4))
|
|
72
|
+
* **disposable-email-domains:** update domain stats in README ([8ed76c3](https://github.com/visulima/visulima/commit/8ed76c3108d0bdafb21c9ff538122c95e0145b2d))
|
|
73
|
+
* **disposable-email-domains:** update README with latest domain stats ([be1c5b4](https://github.com/visulima/visulima/commit/be1c5b44544fe384162885fdfcb8d3d0d9d8fa95))
|
|
74
|
+
* **disposable-email-domains:** update README with latest domain stats ([68754ac](https://github.com/visulima/visulima/commit/68754ac486089b715a6b786f937fceff49db3e31))
|
|
75
|
+
* **disposable-email-domains:** upgrade packem to 2.0.0-alpha.76 ([99d9f42](https://github.com/visulima/visulima/commit/99d9f42397b4fc1c647d86eadaa2387c97ca1086))
|
|
76
|
+
* **email:** remove empty dependency objects from package.json ([0737b35](https://github.com/visulima/visulima/commit/0737b353aabceefe962dab9971ee0c09e9f055fe))
|
|
77
|
+
* **email:** update dependencies ([0250461](https://github.com/visulima/visulima/commit/02504619e8e7ec6ef8e05f323674705656cde7de))
|
|
78
|
+
* fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
|
|
79
|
+
* moved all packages into groups ([0615e9d](https://github.com/visulima/visulima/commit/0615e9d14a8a886e11da529ce150cf31ca973c10))
|
|
80
|
+
* re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
|
|
81
|
+
* refresh generated license bundles and disposable-domain stats ([a389f38](https://github.com/visulima/visulima/commit/a389f38484788aafa8ba9b698e2dd5805a982d98))
|
|
82
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.10 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.9...@visulima/disposable-email-domains@1.0.0-alpha.10) (2026-03-26) ([163d754](https://github.com/visulima/visulima/commit/163d754afee80a68277b30558fb89e6cb7229f6a))
|
|
83
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.11 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.10...@visulima/disposable-email-domains@1.0.0-alpha.11) (2026-03-26) ([fa334cf](https://github.com/visulima/visulima/commit/fa334cfe1dd04173456a4c1b8786bbf137ac90cc))
|
|
84
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.12 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.11...@visulima/disposable-email-domains@1.0.0-alpha.12) (2026-04-08) ([c811f34](https://github.com/visulima/visulima/commit/c811f34baaa18ed2bf75e86537a425ebbeb2fbfc))
|
|
85
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.13 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.12...@visulima/disposable-email-domains@1.0.0-alpha.13) (2026-04-22) ([3b55e0c](https://github.com/visulima/visulima/commit/3b55e0cb39c63eaa517081e2ee055b4870df146c))
|
|
86
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.14 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.13...@visulima/disposable-email-domains@1.0.0-alpha.14) (2026-05-14) ([e2ed690](https://github.com/visulima/visulima/commit/e2ed6906aef0696afcbe14c5ecea94bac90f27a9))
|
|
87
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.15 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.14...@visulima/disposable-email-domains@1.0.0-alpha.15) (2026-05-27) ([79d7457](https://github.com/visulima/visulima/commit/79d74574e3be268f568d4e3ec68f7f33f0eb0b53))
|
|
88
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.16 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.15...@visulima/disposable-email-domains@1.0.0-alpha.16) (2026-06-04) ([086ddb2](https://github.com/visulima/visulima/commit/086ddb204b714b30a9b54b18c5759b2f0f5c237f))
|
|
89
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.17 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.16...@visulima/disposable-email-domains@1.0.0-alpha.17) (2026-06-13) ([f8b30df](https://github.com/visulima/visulima/commit/f8b30dfd76a95d005ae6378d301c7dc535eb2005))
|
|
90
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.18 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.17...@visulima/disposable-email-domains@1.0.0-alpha.18) (2026-06-30) ([9991e23](https://github.com/visulima/visulima/commit/9991e235720dbbf3e555472c50fc052067249372))
|
|
91
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.2 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.1...@visulima/disposable-email-domains@1.0.0-alpha.2) (2025-12-07) ([1360430](https://github.com/visulima/visulima/commit/1360430deb72261b7afb14df52d74dc0bc9a8c96))
|
|
92
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.3 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.2...@visulima/disposable-email-domains@1.0.0-alpha.3) (2025-12-08) ([aadd1c1](https://github.com/visulima/visulima/commit/aadd1c1e086ff1a4d4266bf1d5f6c064397edf14))
|
|
93
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.4 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.3...@visulima/disposable-email-domains@1.0.0-alpha.4) (2025-12-10) ([4a64602](https://github.com/visulima/visulima/commit/4a64602937b630767ce70aeaaba5b6ec14cbc250))
|
|
94
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.5 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.4...@visulima/disposable-email-domains@1.0.0-alpha.5) (2025-12-11) ([e7fabca](https://github.com/visulima/visulima/commit/e7fabcaf3c524a609b8f0ef1bb5540a9935e86a4))
|
|
95
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.6 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.5...@visulima/disposable-email-domains@1.0.0-alpha.6) (2025-12-13) ([c15f192](https://github.com/visulima/visulima/commit/c15f192380fc0aa362e073a8b9806f6f03b8afd8))
|
|
96
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.7 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.6...@visulima/disposable-email-domains@1.0.0-alpha.7) (2025-12-27) ([fa551bb](https://github.com/visulima/visulima/commit/fa551bbcfe6d7c9a2dfcc658d5573d46431bdf23))
|
|
97
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.8 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.7...@visulima/disposable-email-domains@1.0.0-alpha.8) (2026-01-17) ([6136502](https://github.com/visulima/visulima/commit/6136502bc6c6adfe2ab09cd95877cb9aa0c75e8c))
|
|
98
|
+
* **release:** @visulima/disposable-email-domains@1.0.0-alpha.9 [skip ci]\n\n## @visulima/disposable-email-domains [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.8...@visulima/disposable-email-domains@1.0.0-alpha.9) (2026-03-06) ([b93607f](https://github.com/visulima/visulima/commit/b93607fe18013bedf6b7c3696daf5ddfd7dc6540))
|
|
99
|
+
* **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
|
|
100
|
+
* **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
|
|
101
|
+
* sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
|
|
102
|
+
* update @anolilab/semantic-release-pnpm and @anolilab/semantic-release-preset to versions 3.2.2 and 12.1.2 across multiple package.json files for improved compatibility ([3921626](https://github.com/visulima/visulima/commit/3921626141fe5da398749bf0ba675f1596f18afb))
|
|
103
|
+
* update dependencies across multiple packages to improve compatibility and performance, including upgrading `@anolilab/semantic-release-pnpm` and `@anolilab/semantic-release-preset` to versions 3.2.0 and 12.1.0 respectively, and updating `react`, `react-dom`, and `next` versions to 19.2.1 and 16.0.7 in various package.json files ([aee8fcd](https://github.com/visulima/visulima/commit/aee8fcd796ae9b8d055903260e7150996ea9f53d))
|
|
104
|
+
* update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
|
|
105
|
+
* update lockfile and disposable-email-domains README ([acf9849](https://github.com/visulima/visulima/commit/acf984987ca5037586337e571d2fe0415178d6f0))
|
|
106
|
+
* visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
|
|
107
|
+
* year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
|
|
108
|
+
|
|
109
|
+
### Tests
|
|
110
|
+
|
|
111
|
+
* **disposable-email-domains:** cover wildcard matching and lazy domains.json loader ([c626a16](https://github.com/visulima/visulima/commit/c626a16d464a581ca27c1ba86612bc407bf83703))
|
|
112
|
+
* **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
|
|
113
|
+
|
|
114
|
+
### Build System
|
|
115
|
+
|
|
116
|
+
* **deps:** update disposable-email-domains dependencies ([77c2d3b](https://github.com/visulima/visulima/commit/77c2d3b862ab792a574c95de25effaf58d739c72))
|
|
117
|
+
|
|
118
|
+
### Continuous Integration
|
|
119
|
+
|
|
120
|
+
* **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
|
|
121
|
+
* **lint:** raise eslint job timeout and cache slow per-package eslint runs ([#717](https://github.com/visulima/visulima/issues/717)) ([c93878d](https://github.com/visulima/visulima/commit/c93878dbfa1888cc834704448ae6eefd3098597e)), closes [#713](https://github.com/visulima/visulima/issues/713)
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### Dependencies
|
|
125
|
+
|
|
126
|
+
* **@visulima/tabular:** upgraded to 4.0.0
|
|
127
|
+
|
|
128
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.17...@visulima/disposable-email-domains@1.0.0-alpha.18) (2026-06-30)
|
|
129
|
+
|
|
130
|
+
### Bug Fixes
|
|
131
|
+
|
|
132
|
+
* **disposable-email-domains:** emit `export =` for /domains types ([b80fd58](https://github.com/visulima/visulima/commit/b80fd587995e376f9cb6d872e387b5fc2d96e6d1))
|
|
133
|
+
|
|
134
|
+
### Styles
|
|
135
|
+
|
|
136
|
+
* cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
|
|
137
|
+
|
|
138
|
+
### Miscellaneous Chores
|
|
139
|
+
|
|
140
|
+
* add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
|
|
141
|
+
|
|
142
|
+
### Continuous Integration
|
|
143
|
+
|
|
144
|
+
* **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
|
|
145
|
+
* **lint:** raise eslint job timeout and cache slow per-package eslint runs ([#717](https://github.com/visulima/visulima/issues/717)) ([c93878d](https://github.com/visulima/visulima/commit/c93878dbfa1888cc834704448ae6eefd3098597e)), closes [#713](https://github.com/visulima/visulima/issues/713)
|
|
146
|
+
|
|
147
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.16...@visulima/disposable-email-domains@1.0.0-alpha.17) (2026-06-13)
|
|
148
|
+
|
|
149
|
+
### Features
|
|
150
|
+
|
|
151
|
+
* **disposable-email-domains:** add edge support, allowlist, bare-domain api to disposable check ([a3d1d95](https://github.com/visulima/visulima/commit/a3d1d9551cf857d0c11d245e7126cde73a302fd7))
|
|
152
|
+
|
|
153
|
+
### Documentation
|
|
154
|
+
|
|
155
|
+
* **disposable-email-domains:** refresh benchmark timings in README ([5ea04f7](https://github.com/visulima/visulima/commit/5ea04f75479bffe2bceee8d0e9f72285734dcbbf))
|
|
156
|
+
* regenerate package tables ([287ded9](https://github.com/visulima/visulima/commit/287ded982f6d4bcbc3401020732302ebde170933))
|
|
157
|
+
|
|
158
|
+
### Build System
|
|
159
|
+
|
|
160
|
+
* **deps:** update disposable-email-domains dependencies ([77c2d3b](https://github.com/visulima/visulima/commit/77c2d3b862ab792a574c95de25effaf58d739c72))
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
### Dependencies
|
|
164
|
+
|
|
165
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.14
|
|
166
|
+
|
|
167
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.15...@visulima/disposable-email-domains@1.0.0-alpha.16) (2026-06-04)
|
|
168
|
+
|
|
169
|
+
### Bug Fixes
|
|
170
|
+
|
|
171
|
+
* **disposable-email-domains:** 1 bug fix ([184bf0b](https://github.com/visulima/visulima/commit/184bf0b96713ec7f8f90e37bacf7ca69e9711f33))
|
|
172
|
+
|
|
173
|
+
### Tests
|
|
174
|
+
|
|
175
|
+
* **disposable-email-domains:** cover wildcard matching and lazy domains.json loader ([c626a16](https://github.com/visulima/visulima/commit/c626a16d464a581ca27c1ba86612bc407bf83703))
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
### Dependencies
|
|
179
|
+
|
|
180
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.13
|
|
181
|
+
|
|
182
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.14...@visulima/disposable-email-domains@1.0.0-alpha.15) (2026-05-27)
|
|
183
|
+
|
|
184
|
+
### Bug Fixes
|
|
185
|
+
|
|
186
|
+
* **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
|
|
187
|
+
|
|
188
|
+
### Documentation
|
|
189
|
+
|
|
190
|
+
* prettier-format agent instructions ([71b6414](https://github.com/visulima/visulima/commit/71b6414528780ac82c4e0bb25b5f4f11faba5549))
|
|
191
|
+
|
|
192
|
+
### Miscellaneous Chores
|
|
193
|
+
|
|
194
|
+
* **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
|
|
195
|
+
* refresh generated license bundles and disposable-domain stats ([a389f38](https://github.com/visulima/visulima/commit/a389f38484788aafa8ba9b698e2dd5805a982d98))
|
|
196
|
+
* **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
|
|
197
|
+
* **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
|
|
198
|
+
* sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
|
|
199
|
+
|
|
200
|
+
### Tests
|
|
201
|
+
|
|
202
|
+
* **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
### Dependencies
|
|
206
|
+
|
|
207
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.12
|
|
208
|
+
|
|
209
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.13...@visulima/disposable-email-domains@1.0.0-alpha.14) (2026-05-14)
|
|
210
|
+
|
|
211
|
+
### Features
|
|
212
|
+
|
|
213
|
+
* **disposable-email-domains:** add castle disposable list ([82fb44f](https://github.com/visulima/visulima/commit/82fb44f9ebc8c6b7031135a2e9c7c66714776ede))
|
|
214
|
+
|
|
215
|
+
### Miscellaneous Chores
|
|
216
|
+
|
|
217
|
+
* **disposable-email-domains:** apply formatter sweep to readme ([c563348](https://github.com/visulima/visulima/commit/c563348f7ab526be8b8cc87a036d16dc4c50224d))
|
|
218
|
+
* **disposable-email-domains:** drop time from last-updated stamp ([1257695](https://github.com/visulima/visulima/commit/1257695408d1527f551ce6aa1ad0cff22e162447))
|
|
219
|
+
* **disposable-email-domains:** housekeeping cleanup ([795d338](https://github.com/visulima/visulima/commit/795d338c7572f9ba93661bf7e8cfc0cf2f8dd9e7))
|
|
220
|
+
* **disposable-email-domains:** upgrade packem to 2.0.0-alpha.76 ([99d9f42](https://github.com/visulima/visulima/commit/99d9f42397b4fc1c647d86eadaa2387c97ca1086))
|
|
221
|
+
* re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
|
|
222
|
+
|
|
223
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.12...@visulima/disposable-email-domains@1.0.0-alpha.13) (2026-04-22)
|
|
224
|
+
|
|
225
|
+
### Bug Fixes
|
|
226
|
+
|
|
227
|
+
* **disposable-email-domains:** resolve eslint and formatting issues ([f419276](https://github.com/visulima/visulima/commit/f419276bc4f6bdc01fa35dfb035c438e343be7e2))
|
|
228
|
+
* **disposable-email-domains:** update README ([af4f517](https://github.com/visulima/visulima/commit/af4f51762a6ea74e7f9c6c368d112ba325516e45))
|
|
229
|
+
* **email:** resolve eslint issues and format code ([8fd689c](https://github.com/visulima/visulima/commit/8fd689c12e9c21f7222597bbf99a6fe431b5f0d4))
|
|
230
|
+
* Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
|
|
231
|
+
|
|
232
|
+
### Miscellaneous Chores
|
|
233
|
+
|
|
234
|
+
* bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
|
|
235
|
+
* **disposable-email-domains:** apply pending changes ([18080ea](https://github.com/visulima/visulima/commit/18080ea18ca93b3a455543a84fd1baa618009473))
|
|
236
|
+
* **disposable-email-domains:** enforce curly braces and apply lint fixes ([76010b3](https://github.com/visulima/visulima/commit/76010b362d980fa9e324f592cda5d6314197bc67))
|
|
237
|
+
|
|
238
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.11...@visulima/disposable-email-domains@1.0.0-alpha.12) (2026-04-08)
|
|
239
|
+
|
|
240
|
+
### Bug Fixes
|
|
241
|
+
|
|
242
|
+
* **disposable-email-domains:** add missing .js extensions to ESM imports ([c9a14d5](https://github.com/visulima/visulima/commit/c9a14d557f88201c95e9894212b47723b699d6f2))
|
|
243
|
+
* **disposable-email-domains:** resolve eslint errors ([294850a](https://github.com/visulima/visulima/commit/294850a337b35e0e60d499a20a92b890c2fa762f))
|
|
244
|
+
|
|
245
|
+
### Documentation
|
|
246
|
+
|
|
247
|
+
* **disposable-email-domains:** update contributing sources table and timestamp ([2919ed0](https://github.com/visulima/visulima/commit/2919ed07a478695e452441a845f7de36a5d87280))
|
|
248
|
+
* **disposable-email-domains:** update domain counts and performance stats ([0e5021b](https://github.com/visulima/visulima/commit/0e5021b561e5b7592ae3ca7a6a9af94ecc6816f0))
|
|
249
|
+
|
|
250
|
+
### Miscellaneous Chores
|
|
251
|
+
|
|
252
|
+
* apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
|
|
253
|
+
* **disposable-email-domains:** add tsconfig.eslint.json for type-aware linting ([a9b6093](https://github.com/visulima/visulima/commit/a9b60936b123bef3362e8ea3b51b4960fbd03a19))
|
|
254
|
+
* **disposable-email-domains:** apply auto-fix formatting ([544041c](https://github.com/visulima/visulima/commit/544041cb47668bf64f8bfefdf7ae9160deb3908f))
|
|
255
|
+
* **disposable-email-domains:** apply formatting ([2670c08](https://github.com/visulima/visulima/commit/2670c0843d05d2b0d667690cf0cc2508dacdff83))
|
|
256
|
+
* **disposable-email-domains:** apply prettier formatting ([dca941a](https://github.com/visulima/visulima/commit/dca941aebee89c3d721f79d6ca80760b633ea3f1))
|
|
257
|
+
* **disposable-email-domains:** apply prettier formatting ([967a2c7](https://github.com/visulima/visulima/commit/967a2c75ff25df2840c8257072dc31e7757babcf))
|
|
258
|
+
* **disposable-email-domains:** migrate .prettierrc.cjs to prettier.config.js ([c98c927](https://github.com/visulima/visulima/commit/c98c927b87b7de95cd2c0f282003afd1fcc2130a))
|
|
259
|
+
* **disposable-email-domains:** update README with latest domain stats ([be1c5b4](https://github.com/visulima/visulima/commit/be1c5b44544fe384162885fdfcb8d3d0d9d8fa95))
|
|
260
|
+
* **disposable-email-domains:** update README with latest domain stats ([68754ac](https://github.com/visulima/visulima/commit/68754ac486089b715a6b786f937fceff49db3e31))
|
|
261
|
+
* **email:** remove empty dependency objects from package.json ([0737b35](https://github.com/visulima/visulima/commit/0737b353aabceefe962dab9971ee0c09e9f055fe))
|
|
262
|
+
* update lockfile and disposable-email-domains README ([acf9849](https://github.com/visulima/visulima/commit/acf984987ca5037586337e571d2fe0415178d6f0))
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
### Dependencies
|
|
266
|
+
|
|
267
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.9
|
|
268
|
+
|
|
269
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.10...@visulima/disposable-email-domains@1.0.0-alpha.11) (2026-03-26)
|
|
270
|
+
|
|
271
|
+
### Features
|
|
272
|
+
|
|
273
|
+
* **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
### Dependencies
|
|
277
|
+
|
|
278
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.8
|
|
279
|
+
|
|
280
|
+
## @visulima/disposable-email-domains [1.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.9...@visulima/disposable-email-domains@1.0.0-alpha.10) (2026-03-26)
|
|
281
|
+
|
|
282
|
+
### Bug Fixes
|
|
283
|
+
|
|
284
|
+
* **disposable-email-domains:** filter undefined rows in contributing sources table ([75597ec](https://github.com/visulima/visulima/commit/75597ec3bc4197e5dc1d019b793af1412cc8e93b))
|
|
285
|
+
* **disposable-email-domains:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([790a46e](https://github.com/visulima/visulima/commit/790a46e7319953e5e2b7f65441055a6751706416))
|
|
286
|
+
* updated domain list ([f97866b](https://github.com/visulima/visulima/commit/f97866b9649f6ccae86accf4ab1c56e73817c882))
|
|
287
|
+
* **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
|
|
288
|
+
|
|
289
|
+
### Miscellaneous Chores
|
|
290
|
+
|
|
291
|
+
* **disposable-email-domains:** migrate deps to pnpm catalogs ([df9093b](https://github.com/visulima/visulima/commit/df9093b6c1b2af6a0ac8f113cbbf740cb2b1cea1))
|
|
292
|
+
* **disposable-email-domains:** update dependencies ([76c89aa](https://github.com/visulima/visulima/commit/76c89aa5864af118a4f956ea18b77266f40d72b1))
|
|
293
|
+
* visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
### Dependencies
|
|
297
|
+
|
|
298
|
+
* **@visulima/tabular:** upgraded to 4.0.0-alpha.7
|
|
299
|
+
|
|
1
300
|
## @visulima/disposable-email-domains [1.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/disposable-email-domains@1.0.0-alpha.8...@visulima/disposable-email-domains@1.0.0-alpha.9) (2026-03-06)
|
|
2
301
|
|
|
3
302
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -54,26 +54,26 @@ pnpm add @visulima/disposable-email-domains
|
|
|
54
54
|
|
|
55
55
|
| Repository | Domains | Success | Performance |
|
|
56
56
|
|------------|---------|---------|-------------|
|
|
57
|
-
|
|
|
58
|
-
| FGRibreau/mailchecker |
|
|
59
|
-
| wesbos/burner-email-providers | 27,
|
|
60
|
-
| groundcat/disposable-email-domain-list |
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
| jespernissen/disposable-maildomain-list |
|
|
71
|
-
| TheDahoom/disposable-email | 18 | ✅ | 0.
|
|
57
|
+
| disposable/disposable-email-domains | 74,474 | ✅ | 0.50s (1.1 MB) |
|
|
58
|
+
| FGRibreau/mailchecker | 56,360 | ✅ | 0.52s (846.7 KB) |
|
|
59
|
+
| wesbos/burner-email-providers | 27,279 | ✅ | 0.37s (388.1 KB) |
|
|
60
|
+
| groundcat/disposable-email-domain-list | 17,012 | ✅ | 0.21s (240.3 KB) |
|
|
61
|
+
| sublime-security/static-files | 10,522 | ✅ | 0.15s (144.0 KB) |
|
|
62
|
+
| 7c/fakefilter | 10,159 | ✅ | 0.04s (140.9 KB) |
|
|
63
|
+
| disposable-email-domains/disposable-email-domains | 7,860 | ✅ | 0.32s (109.1 KB) |
|
|
64
|
+
| willwhite/freemail | 4,462 | ✅ | 0.29s (61.8 KB) |
|
|
65
|
+
| eser/sanitizer-svc | 3,855 | ✅ | 0.20s (48.9 KB) |
|
|
66
|
+
| unkn0w/disposable-email-domain-list | 3,618 | ✅ | 0.03s (45.8 KB) |
|
|
67
|
+
| MattKetmo/EmailChecker | 2,515 | ✅ | 0.11s (32.4 KB) |
|
|
68
|
+
| GeroldSetz/emailondeck.com-domains | 1,121 | ✅ | 0.12s (15.4 KB) |
|
|
69
|
+
| castle/disposable-email-domains | 1,000 | ✅ | 0.14s (13.0 KB) |
|
|
70
|
+
| jespernissen/disposable-maildomain-list | 993 | ✅ | 0.21s (12.8 KB) |
|
|
71
|
+
| TheDahoom/disposable-email | 18 | ✅ | 0.17s (234 B) |
|
|
72
72
|
|
|
73
73
|
<!-- END_PLACEHOLDER_CONTRIBUTING -->
|
|
74
74
|
<!-- START_PLACEHOLDER_LAST_UPDATED -->
|
|
75
75
|
|
|
76
|
-
_Last updated: 2026-
|
|
76
|
+
_Last updated: 2026-07-03_
|
|
77
77
|
|
|
78
78
|
<!-- END_PLACEHOLDER_LAST_UPDATED -->
|
|
79
79
|
|
|
@@ -98,86 +98,172 @@ results.forEach((isDisposable, email) => {
|
|
|
98
98
|
});
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
###
|
|
101
|
+
### Provider whitelist (baked into the list)
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
Common email providers (Gmail, Yahoo, Outlook, etc.) from the [email-providers](https://github.com/derhuerst/email-providers) package are filtered **at list-generation time** — they are removed from the published `domains.json` before it ships, so they can never be flagged as disposable. This is _not_ a runtime allowlist: there is no provider-whitelist parameter at call time. If you need a runtime escape hatch for a specific domain, use the `allowDomains` option below.
|
|
104
104
|
|
|
105
105
|
```typescript
|
|
106
106
|
import { isDisposableEmail } from "@visulima/disposable-email-domains";
|
|
107
107
|
|
|
108
|
-
// Common
|
|
109
|
-
isDisposableEmail("user@gmail.com"); // false
|
|
110
|
-
isDisposableEmail("user@yahoo.com"); // false
|
|
111
|
-
isDisposableEmail("user@outlook.com"); // false
|
|
108
|
+
// Common providers are absent from the list, so they are never flagged
|
|
109
|
+
isDisposableEmail("user@gmail.com"); // false
|
|
110
|
+
isDisposableEmail("user@yahoo.com"); // false
|
|
111
|
+
isDisposableEmail("user@outlook.com"); // false
|
|
112
112
|
|
|
113
113
|
// Disposable emails are still detected
|
|
114
114
|
isDisposableEmail("user@mailinator.com"); // true - disposable
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
### Custom
|
|
117
|
+
### Custom domains
|
|
118
118
|
|
|
119
|
-
You can provide custom disposable domains to check
|
|
119
|
+
You can provide custom disposable domains to check on top of the built-in list. Custom domains use the same wildcard/subdomain semantics as the built-in list (a custom `custom-disposable.com` also matches `sub.custom-disposable.com`):
|
|
120
120
|
|
|
121
121
|
```typescript
|
|
122
122
|
import { isDisposableEmail, areDisposableEmails } from "@visulima/disposable-email-domains";
|
|
123
123
|
|
|
124
124
|
const customDomains = new Set(["custom-disposable.com", "temp-mail.org"]);
|
|
125
125
|
|
|
126
|
-
//
|
|
126
|
+
// Legacy form: pass a Set directly
|
|
127
127
|
if (isDisposableEmail("user@custom-disposable.com", customDomains)) {
|
|
128
128
|
console.log("Custom disposable email detected!");
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
// Options-object form (equivalent)
|
|
132
|
+
isDisposableEmail("user@custom-disposable.com", { customDomains });
|
|
133
|
+
|
|
131
134
|
// Batch check with custom domains
|
|
132
|
-
const
|
|
133
|
-
|
|
135
|
+
const results = areDisposableEmails(["user@custom-disposable.com", "user@example.com"], customDomains);
|
|
136
|
+
```
|
|
134
137
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
+
### Runtime allowlist (`allowDomains`)
|
|
139
|
+
|
|
140
|
+
If a legitimate customer domain wrongly ends up in the list, allowlist it at runtime without forking. The allowlist is checked **before** the disposable list and wins over both the built-in list and `customDomains`. It also honours subdomain matching:
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
import { isDisposableEmail } from "@visulima/disposable-email-domains";
|
|
144
|
+
|
|
145
|
+
const allowDomains = new Set(["legit-customer.com"]);
|
|
146
|
+
|
|
147
|
+
isDisposableEmail("user@legit-customer.com", { allowDomains }); // false, even if it's in the list
|
|
148
|
+
isDisposableEmail("user@mail.legit-customer.com", { allowDomains }); // false (subdomain)
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Bare-domain checks
|
|
152
|
+
|
|
153
|
+
If you already have a domain (e.g. from an MX lookup or a parsed signup form), use `isDisposableDomain` / `extractDomain` directly instead of fabricating an `x@domain` address:
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
import { isDisposableDomain, extractDomain } from "@visulima/disposable-email-domains";
|
|
157
|
+
|
|
158
|
+
isDisposableDomain("mailinator.com"); // true
|
|
159
|
+
extractDomain("User@Example.COM"); // "example.com"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Edge / browser / bundled runtimes
|
|
163
|
+
|
|
164
|
+
By default the package reads `dist/domains.json` from disk via `node:fs`. That does not work in Cloudflare Workers, Next.js middleware/edge, Deno, or bundles that relocate `index.js` away from the data file. For those environments, import the list statically and inject it once at startup with `setDomains`:
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
import { setDomains, isDisposableEmail } from "@visulima/disposable-email-domains";
|
|
168
|
+
import domains from "@visulima/disposable-email-domains/domains" with { type: "json" };
|
|
169
|
+
|
|
170
|
+
setDomains(domains);
|
|
171
|
+
|
|
172
|
+
isDisposableEmail("user@mailinator.com"); // true — no filesystem access
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
On Node you can also call `await preload()` once at startup to move the synchronous read+parse of the multi-megabyte list off the request hot path, and `isListLoaded()` to detect the degraded fail-open state (e.g. a missing/corrupt data file):
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
import { preload, isListLoaded } from "@visulima/disposable-email-domains";
|
|
179
|
+
|
|
180
|
+
await preload();
|
|
181
|
+
|
|
182
|
+
if (!isListLoaded()) {
|
|
183
|
+
// The built-in list failed to load — disposable detection is disabled.
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Raw domain list (`./domains`)
|
|
188
|
+
|
|
189
|
+
The raw, sorted array of disposable domains is exported from the `./domains` subpath. In Node ESM you must use a JSON import attribute:
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
import domains from "@visulima/disposable-email-domains/domains" with { type: "json" };
|
|
193
|
+
|
|
194
|
+
console.log(domains.length); // number of disposable domains
|
|
138
195
|
```
|
|
139
196
|
|
|
140
197
|
## API Reference
|
|
141
198
|
|
|
142
199
|
### Functions
|
|
143
200
|
|
|
144
|
-
|
|
201
|
+
All check functions accept either a `Set<string>` of additional disposable domains (legacy) or an options object:
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
interface DisposableEmailOptions {
|
|
205
|
+
/** Domains that should never be treated as disposable (wins over everything, supports subdomains). */
|
|
206
|
+
allowDomains?: Set<string>;
|
|
207
|
+
/** Extra disposable domains to check on top of the built-in list (supports subdomains). */
|
|
208
|
+
customDomains?: Set<string>;
|
|
209
|
+
}
|
|
210
|
+
```
|
|
145
211
|
|
|
146
|
-
|
|
212
|
+
#### `isDisposableEmail(email, options?)`
|
|
213
|
+
|
|
214
|
+
Checks if an email address is from a disposable email service.
|
|
147
215
|
|
|
148
216
|
- **Parameters:**
|
|
149
217
|
- `email` (string): The email address to check
|
|
150
|
-
- `
|
|
151
|
-
- **Returns:** `boolean`
|
|
218
|
+
- `options?` (`Set<string>` | `DisposableEmailOptions`): A set of additional disposable domains, or an options object
|
|
219
|
+
- **Returns:** `boolean` — True if the email is from a disposable domain
|
|
152
220
|
- **Features:**
|
|
153
221
|
- Case-insensitive matching
|
|
154
|
-
-
|
|
155
|
-
- Automatically whitelists common email providers
|
|
222
|
+
- Wildcard/subdomain matching (e.g., `subdomain.33mail.com` matches `33mail.com`) for built-in, custom, and allowlisted domains
|
|
156
223
|
|
|
157
|
-
#### `areDisposableEmails(emails,
|
|
224
|
+
#### `areDisposableEmails(emails, options?)`
|
|
158
225
|
|
|
159
226
|
Checks multiple email addresses at once. Returns a Map for efficient lookups.
|
|
160
227
|
|
|
161
228
|
- **Parameters:**
|
|
162
229
|
- `emails` (string[]): Array of email addresses to check
|
|
163
|
-
- `
|
|
164
|
-
- **Returns:** `Map<string, boolean>`
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
230
|
+
- `options?` (`Set<string>` | `DisposableEmailOptions`): A set of additional disposable domains, or an options object
|
|
231
|
+
- **Returns:** `Map<string, boolean>` — Map of email to boolean indicating if it's disposable
|
|
232
|
+
|
|
233
|
+
#### `isDisposableDomain(domain, options?)`
|
|
234
|
+
|
|
235
|
+
Like `isDisposableEmail` but accepts a bare domain rather than a full email address.
|
|
236
|
+
|
|
237
|
+
#### `extractDomain(email)`
|
|
238
|
+
|
|
239
|
+
Returns the normalized (lowercased, trimmed) domain of an email address, or `undefined` if the address is invalid.
|
|
240
|
+
|
|
241
|
+
#### `setDomains(domains)`
|
|
242
|
+
|
|
243
|
+
Injects the disposable-domain list explicitly, bypassing the Node filesystem loader. Use in edge/browser/bundled runtimes (see [Edge / browser / bundled runtimes](#edge--browser--bundled-runtimes)).
|
|
244
|
+
|
|
245
|
+
#### `preload()`
|
|
246
|
+
|
|
247
|
+
Eagerly loads the built-in list (Node) so the first check does not stall the event loop. Returns a `Promise<void>`.
|
|
248
|
+
|
|
249
|
+
#### `isListLoaded()`
|
|
250
|
+
|
|
251
|
+
Returns `true` once the built-in list is loaded; `false` if it has not been accessed yet or failed to load (missing/corrupt data file). Useful to detect the degraded fail-open state.
|
|
168
252
|
|
|
169
253
|
### How It Works
|
|
170
254
|
|
|
171
255
|
1. **Domain List**: The package maintains a regularly updated list of disposable email domains from multiple trusted sources (see Contributing Sources above).
|
|
172
256
|
|
|
173
|
-
2. **
|
|
257
|
+
2. **Provider whitelist**: Common email providers from the [email-providers](https://github.com/derhuerst/email-providers) package are filtered out **when the list is generated**, so they are simply absent from the published list. There is no runtime provider-whitelist mechanism; use `allowDomains` for per-call exceptions.
|
|
174
258
|
|
|
175
259
|
3. **Wildcard Matching**: The package supports wildcard matching by checking parent domains. For example, `subdomain.33mail.com` will match `33mail.com` if it's in the disposable list.
|
|
176
260
|
|
|
177
|
-
4. **Custom
|
|
261
|
+
4. **Custom & allow domains**: You can supply additional disposable domains (`customDomains`) or a runtime allowlist (`allowDomains`), both with subdomain matching.
|
|
178
262
|
|
|
179
263
|
## Related
|
|
180
264
|
|
|
265
|
+
- [@visulima/email](https://github.com/visulima/visulima/tree/main/packages/email/email) — multi-provider email library that re-exports this check at `@visulima/email/validation/disposable-email-domains`.
|
|
266
|
+
|
|
181
267
|
## Supported Node.js Versions
|
|
182
268
|
|
|
183
269
|
Libraries in this ecosystem make the best effort to track [Node.js’ release schedule](https://github.com/nodejs/release#release-schedule).
|