✨ Highlights
➕➕ Adds ESM support
The module now uses ESM (import/export
) and is defined as "type": "module"
. However, CommonJS and UMD are stll supported both on Node.js and the browser. See the README.md
for more details.
➕➕ Adds TypeScript type definitions
This was first suggested by @ntninja back in 2018 (OMG)... and ... 🥁 🥁 psl
finally includes type definitions for TypeScript 💙
Other notable behind the curtains changes
🧪 Adds tests for older Node.js versions (legacy) and CommonJS specific tests a8cda74 b73dda0 09640c1
⚙️ Replaces browserify
+ uglify
with vite
and adds ESM build to dist aa9ec37
⚙️ Replaces request
and JSONStream
with native fetch
in update-rules
script b3974a2
Thanks / Acknowledgements
Special thanks go to @mfdebian for helping me revive this repo 💛
Although some of their PRs where not directly merged, but would still like to thank @jimmywarting por his proposal to switch to ESM in #309, @AnWeber for suggesting we start using punycode via npm in #316, @ntninja for adding TypeScript definitions #22, @LitoMore for reminding me to update the GitHub Actions in #321, and many more for participating in issues and contributing back.
Changelog
- 41bff0a doc(README): Updates testing and building info
- 0668da1 chore(dist): Updates rules and dist files
- 7140cf2 feat(data): Adds pretty JSON to data/rules.js for easier diffs
- b396f80 feat(build): Adds target: es2015 for compat with old browsers
- af4dedd feat(scripts): Renames prebuild npm-script to update-rules
- 01c29a1 chore(deps): Updates depencies
- b2604c9 fix(index): Imports punycode explicitly from punycode/punycode.js
- 4d6d057 doc(readme): Fixes typo
- bf5ffa9 test(browserstack): Adds common device and browser combos
- f2c405d chore(deps): Updates dev depencies
- f1ed0ac doc(readme): Updates installation and usage
- 984f19b test(node-legacy-umd): Adds tests for Node.js 10 and older using umd/cjs
- b03f8b3 test(node-legacy): Adds Node.js 10 to version matrix for legacy tests
- 125c0a1 test(node-legacy): Adds tests for Node.js 16 and older using cjs
- e5c8203 feat(build): Replaces browserify + uglify with vite and adds ESM build to dist
- 0e34d6d test(data): Refactors tests to separate test data from test mechanics
- dc1d8b9 chore(deps): Removes unused deps
- 33d0195 refactor(scripts): Replaces request and JSONStream with native fetch
- 99b57f9 chore(pkg): Refactors module as ESM
- b7c43bc doc(README): Updates copyright dates on readme
- fec9143 doc(README): Updates info on running tests
- 507a4ce chore(ci): Removes obsolete CI script
- 25d99b8 chore(deps): Removes unused dep (chai)
- 1328411 feat(ci): Remove Node.js 12, 14 and 16 from build
- fbf33ef chore(ci): Updates actions/checkout and actions/setup-node to v4
- 26a192d fix(pkg): Updates package lock
- 59dd148 style(types): Standarises blankspace and tweaks types tests
- c9b3aa9 feat(types): Adds ParsedDomain type
- 1048b6f feat(types): Replaces interface with type and renames/fix error.error to error.code
- 59c4049 chore(pkg): Replaces dtslint with typescript-eslint
- 0d7f453 test(browser): Replaces karma + phantom with selenium + browserstack
- ca78bc1 chore(build): Adds ci build script to run auto updates when triggered by cron
- 49b8a39 chore(deps): Updates deps and switched back to npm
- 84aa7d5 Add TypeScript description of API
- 668d185 chore(pkg): Updates npmignore