Skip to content

v1.11.0

Compare
Choose a tag to compare
@lupomontero lupomontero released this 21 Nov 10:05
· 31 commits to main since this release

✨ 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