mirror of
https://github.com/lancedikson/bowser
synced 2026-10-29 06:49:31 +00:00
perf: trim bundled.js to the 2.14.1 polyfill set, fix stale docs
- Exclude the 10 core-js 3.0 modules with no counterpart in the @babel/polyfill set every released bundled.js shipped (concat/splice species fixes, Array#flat, Object.fromEntries, the __defineGetter__ family, NodeList#forEach): 156.1 -> 153.2 kB (49.3 -> 48.4 kB gzip). babel rejects unknown exclude names, so a core-js rename fails the build. - terser `passes: 5`, where output stops shrinking: es5.js 7.52 -> 7.49 kB gzip. - New test: bundled.js must not install polyfills no release ever shipped (fails on the previous master build, passes on 2.14.1 and this one). - README no longer claims named imports shrink the bundle; AGENTS.md describes the tsdown build and four-artifact acceptance tests; CONTRIBUTING points at the existing lint:check script.
This commit is contained in:
@@ -39,8 +39,9 @@ import * as Bowser from "bowser"; // TypeScript
|
||||
import Bowser from "bowser"; // ES6 (and TypeScript with --esModuleInterop enabled)
|
||||
```
|
||||
|
||||
The ES module build also exposes `parse` and `getParser` as named exports, so
|
||||
you can import just the part you use and let your bundler drop the rest:
|
||||
The ES module build also exposes `parse` and `getParser` as named exports.
|
||||
Detection needs every parser either way, so named imports are a matter of
|
||||
style, not bundle size — but an import that ends up unused is dropped entirely:
|
||||
|
||||
```javascript
|
||||
import { getParser, parse } from "bowser";
|
||||
|
||||
Reference in New Issue
Block a user