polyfill-library 3.109.0 → 3.111.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. package/CHANGELOG.md +151 -54
  2. package/lib/index.js +2 -2
  3. package/lib/sources.js +6 -2
  4. package/package.json +8 -5
  5. package/polyfills/__dist/AggregateError/meta.json +1 -0
  6. package/polyfills/__dist/AggregateError/min.js +1 -0
  7. package/polyfills/__dist/AggregateError/raw.js +30 -0
  8. package/polyfills/__dist/Array.from/meta.json +1 -1
  9. package/polyfills/__dist/Array.of/meta.json +1 -1
  10. package/polyfills/__dist/Array.prototype.@@iterator/meta.json +1 -1
  11. package/polyfills/__dist/Array.prototype.at/meta.json +1 -0
  12. package/polyfills/__dist/Array.prototype.at/min.js +1 -0
  13. package/polyfills/__dist/Array.prototype.at/raw.js +21 -0
  14. package/polyfills/__dist/Array.prototype.fill/meta.json +1 -1
  15. package/polyfills/__dist/Array.prototype.includes/meta.json +1 -1
  16. package/polyfills/__dist/Array.prototype.values/meta.json +1 -1
  17. package/polyfills/__dist/ArrayBuffer/meta.json +1 -1
  18. package/polyfills/__dist/ArrayBuffer/min.js +1 -1
  19. package/polyfills/__dist/ArrayBuffer/raw.js +8 -6
  20. package/polyfills/__dist/ArrayBuffer.isView/meta.json +1 -0
  21. package/polyfills/__dist/ArrayBuffer.isView/min.js +1 -0
  22. package/polyfills/__dist/ArrayBuffer.isView/raw.js +13 -0
  23. package/polyfills/__dist/IntersectionObserver/meta.json +1 -1
  24. package/polyfills/__dist/Node.prototype.isSameNode/meta.json +1 -0
  25. package/polyfills/__dist/Node.prototype.isSameNode/min.js +1 -0
  26. package/polyfills/__dist/Node.prototype.isSameNode/raw.js +27 -0
  27. package/polyfills/__dist/Object.assign/meta.json +1 -1
  28. package/polyfills/__dist/Promise.allSettled/meta.json +1 -0
  29. package/polyfills/__dist/Promise.allSettled/min.js +1 -0
  30. package/polyfills/__dist/Promise.allSettled/raw.js +41 -0
  31. package/polyfills/__dist/Promise.any/meta.json +1 -0
  32. package/polyfills/__dist/Promise.any/min.js +1 -0
  33. package/polyfills/__dist/Promise.any/raw.js +45 -0
  34. package/polyfills/__dist/Reflect/meta.json +1 -1
  35. package/polyfills/__dist/Reflect.apply/meta.json +1 -1
  36. package/polyfills/__dist/Reflect.construct/meta.json +1 -1
  37. package/polyfills/__dist/Reflect.defineProperty/meta.json +1 -1
  38. package/polyfills/__dist/Reflect.deleteProperty/meta.json +1 -1
  39. package/polyfills/__dist/Reflect.get/meta.json +1 -1
  40. package/polyfills/__dist/Reflect.getOwnPropertyDescriptor/meta.json +1 -1
  41. package/polyfills/__dist/Reflect.getPrototypeOf/meta.json +1 -1
  42. package/polyfills/__dist/Reflect.has/meta.json +1 -1
  43. package/polyfills/__dist/Reflect.isExtensible/meta.json +1 -1
  44. package/polyfills/__dist/Reflect.ownKeys/meta.json +1 -1
  45. package/polyfills/__dist/Reflect.preventExtensions/meta.json +1 -1
  46. package/polyfills/__dist/Reflect.set/meta.json +1 -1
  47. package/polyfills/__dist/Reflect.setPrototypeOf/meta.json +1 -1
  48. package/polyfills/__dist/String.prototype.at/meta.json +1 -0
  49. package/polyfills/__dist/String.prototype.at/min.js +1 -0
  50. package/polyfills/__dist/String.prototype.at/raw.js +23 -0
  51. package/polyfills/__dist/String.prototype.endsWith/meta.json +1 -1
  52. package/polyfills/__dist/String.prototype.padStart/meta.json +1 -1
  53. package/polyfills/__dist/String.prototype.startsWith/meta.json +1 -1
  54. package/polyfills/__dist/TextEncoder/meta.json +1 -1
  55. package/polyfills/__dist/TextEncoder/min.js +1 -1
  56. package/polyfills/__dist/TextEncoder/raw.js +67 -44
  57. package/polyfills/__dist/TypedArray.prototype.at/meta.json +1 -0
  58. package/polyfills/__dist/TypedArray.prototype.at/min.js +1 -0
  59. package/polyfills/__dist/TypedArray.prototype.at/raw.js +57 -0
  60. package/polyfills/__dist/URL/meta.json +1 -1
  61. package/polyfills/__dist/URL/min.js +1 -1
  62. package/polyfills/__dist/URL/raw.js +24 -2
  63. package/polyfills/__dist/_ESAbstract.IterableToList/meta.json +1 -0
  64. package/polyfills/__dist/_ESAbstract.IterableToList/min.js +1 -0
  65. package/polyfills/__dist/_ESAbstract.IterableToList/raw.js +31 -0
  66. package/polyfills/__dist/_ESAbstract.LengthOfArrayLike/meta.json +1 -0
  67. package/polyfills/__dist/_ESAbstract.LengthOfArrayLike/min.js +1 -0
  68. package/polyfills/__dist/_ESAbstract.LengthOfArrayLike/raw.js +8 -0
  69. package/polyfills/__dist/_ESAbstract.ToIntegerOrInfinity/meta.json +1 -0
  70. package/polyfills/__dist/_ESAbstract.ToIntegerOrInfinity/min.js +1 -0
  71. package/polyfills/__dist/_ESAbstract.ToIntegerOrInfinity/raw.js +20 -0
  72. package/polyfills/__dist/aliases.json +1 -1
  73. package/polyfills/__dist/document.currentScript/meta.json +1 -1
  74. package/polyfills/__dist/document.visibilityState/meta.json +1 -1
  75. package/polyfills/__dist/localStorage/meta.json +1 -1
  76. package/polyfills/__dist/localStorage/min.js +1 -1
  77. package/polyfills/__dist/localStorage/raw.js +30 -8
  78. package/polyfills/__dist/requestAnimationFrame/meta.json +1 -1
  79. package/polyfills/__dist/smoothscroll/meta.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,8 +4,41 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [v3.111.0](https://github.com/Financial-Times/polyfill-library/compare/v3.110.1...v3.111.0)
8
+
9
+ - Bump normalize-url from 4.5.0 to 4.5.1 [`#1170`](https://github.com/Financial-Times/polyfill-library/pull/1170)
10
+ - Bump glob-parent from 5.1.0 to 5.1.2 [`#1171`](https://github.com/Financial-Times/polyfill-library/pull/1171)
11
+ - Bump ws from 7.3.1 to 7.5.7 [`#1172`](https://github.com/Financial-Times/polyfill-library/pull/1172)
12
+ - Bump path-parse from 1.0.6 to 1.0.7 [`#1169`](https://github.com/Financial-Times/polyfill-library/pull/1169)
13
+ - Bump karma from 6.3.2 to 6.3.16 [`#1165`](https://github.com/Financial-Times/polyfill-library/pull/1165)
14
+ - Bump follow-redirects from 1.13.1 to 1.14.9 [`#1166`](https://github.com/Financial-Times/polyfill-library/pull/1166)
15
+ - Bump node-fetch from 2.6.1 to 2.6.7 [`#1164`](https://github.com/Financial-Times/polyfill-library/pull/1164)
16
+ - URL: Fix URLSearchParams decoding to not throw URIError [`#4`](https://github.com/Financial-Times/polyfill-library/issues/4)
17
+ - Improves `localStorage` polyfill to store keys as `base64` [`b89fda3`](https://github.com/Financial-Times/polyfill-library/commit/b89fda30179c518f4011509a54a2b54c97acbc21)
18
+ - fix(android): incorect versions for misc features [`273eebd`](https://github.com/Financial-Times/polyfill-library/commit/273eebd7e876740dc26e6a7cff056160f75b710f)
19
+ - Enable and document locally running polyfill tests [`e257d89`](https://github.com/Financial-Times/polyfill-library/commit/e257d89906626ca097c987fd1296758d4a2905e9)
20
+
21
+ #### [v3.110.1](https://github.com/Financial-Times/polyfill-library/compare/v3.110.0...v3.110.1)
22
+
23
+ > 8 December 2021
24
+
25
+ - Use the private _setter and _getter methods for TypedArrays when in IE8 because we can't use add square-bracket notation support due to the lack of getters and setters in IE8 [`ab4868c`](https://github.com/Financial-Times/polyfill-library/commit/ab4868cd7742e2eb5e9262b7a48e540290d9bc5e)
26
+ - Adds `Node.prototype.isSameNode` polyfill [`372d401`](https://github.com/Financial-Times/polyfill-library/commit/372d401bbdd60989d32e895657068ae8a086ac54)
27
+ - fix arraybuffer polyfill to not error in ie8 [`95d1b47`](https://github.com/Financial-Times/polyfill-library/commit/95d1b47c393fa8cf3e978b8820de8014623ea79f)
28
+
29
+ #### [v3.110.0](https://github.com/Financial-Times/polyfill-library/compare/v3.109.0...v3.110.0)
30
+
31
+ > 7 December 2021
32
+
33
+ - use an object which has no prototype so that the only properties on the object are it's own and not those from Object.prototype -- Fixes #1137 [`#1137`](https://github.com/Financial-Times/polyfill-library/issues/1137)
34
+ - Adds `Promise.any`, `Promise.allSettled`, and `AggregateError` polyfills [`21967a1`](https://github.com/Financial-Times/polyfill-library/commit/21967a1973ea70930062fc2837c2c8aec28cdb01)
35
+ - Adds `Array.prototype.at`, `String.prototype.at`, and `TypedArray.prototype.at` polyfills [`29c6814`](https://github.com/Financial-Times/polyfill-library/commit/29c6814f885bc80a0f289c6932bd6340d7f00951)
36
+ - Improves iterator tests for `Promise.any`, `Promise.allSettled`, and `AggregateError` polyfills [`999dbce`](https://github.com/Financial-Times/polyfill-library/commit/999dbce7a3be7d85938c45c79285c2c9888d8799)
37
+
7
38
  #### [v3.109.0](https://github.com/Financial-Times/polyfill-library/compare/v3.108.0...v3.109.0)
8
39
 
40
+ > 11 November 2021
41
+
9
42
  - fix #1103 [`#1103`](https://github.com/Financial-Times/polyfill-library/issues/1103)
10
43
  - chore: update browserstack browser list as some devices have been removed such as the Samsung Galaxy Note 4 that we tested on [`bab4728`](https://github.com/Financial-Times/polyfill-library/commit/bab4728bd1d7b3fae6b66c5dd1da6c9943c262c4)
11
44
  - Adds `String.prototype.matchAll` polyfill [`cdf20a6`](https://github.com/Financial-Times/polyfill-library/commit/cdf20a650e8a1d0b1eec44f842f41d51a46be2a7)
@@ -666,33 +699,97 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
666
699
  - Add an origami.json [`#463`](https://github.com/Financial-Times/polyfill-library/pull/463)
667
700
  - Use `self` instead of `this` for `Symbol` [`#298`](https://github.com/Financial-Times/polyfill-library/pull/298)
668
701
  - Add workflow for adding new issues and PRs to the project board [`#452`](https://github.com/Financial-Times/polyfill-library/pull/452)
702
+ - Element.prototype.classList - native DOMTokenList is not a constructor [`#269`](https://github.com/Financial-Times/polyfill-library/pull/269)
703
+ - IntersectionObserver, polyfill iOS Safari < 12.2 [`#296`](https://github.com/Financial-Times/polyfill-library/pull/296)
704
+ - Update Array.prototype.flat & Array.prototype.flatMap browser targeting [`#289`](https://github.com/Financial-Times/polyfill-library/pull/289)
705
+ - Add AbortController [`#59`](https://github.com/Financial-Times/polyfill-library/pull/59)
706
+ - feat: add string.prototype.big [`#272`](https://github.com/Financial-Times/polyfill-library/pull/272)
707
+ - feat: add string.prototype.anchor polyfill [`#271`](https://github.com/Financial-Times/polyfill-library/pull/271)
708
+ - feat: add symbol.asyncIterator polyfill [`#270`](https://github.com/Financial-Times/polyfill-library/pull/270)
709
+ - ({}).toString.call(null) should not be [object Window] [`#193`](https://github.com/Financial-Times/polyfill-library/pull/193)
710
+ - Add Reflect.defineProperty polyfill [`#240`](https://github.com/Financial-Times/polyfill-library/pull/240)
711
+ - 3.34.0 [`#194`](https://github.com/Financial-Times/polyfill-library/pull/194)
712
+ - Add requestIdleCallback and cancelIdleCallback. [`#192`](https://github.com/Financial-Times/polyfill-library/pull/192)
713
+ - Replace fs with graceful-fs to stop too many files open error [`#145`](https://github.com/Financial-Times/polyfill-library/pull/145)
714
+ - Add opera mob to CreateMethodProperty [`#78`](https://github.com/Financial-Times/polyfill-library/pull/78)
715
+ - Map polyfill: missing opera config [`#8`](https://github.com/Financial-Times/polyfill-library/pull/8)
716
+ - Set polyfill: missing opera config [`#9`](https://github.com/Financial-Times/polyfill-library/pull/9)
717
+ - Small refactoring of UA class [`#16`](https://github.com/Financial-Times/polyfill-library/pull/16)
718
+ - Sort the features by name before topographically sorting them [`#11`](https://github.com/Financial-Times/polyfill-library/pull/11)
719
+ - Simplify the codebase [`#13`](https://github.com/Financial-Times/polyfill-library/pull/13)
720
+ - Move Function.prototype.name polyfill to correct folder location [`#1`](https://github.com/Financial-Times/polyfill-library/pull/1)
721
+ - getPolyfillString without check for unsupported ua [`#6`](https://github.com/Financial-Times/polyfill-library/pull/6)
722
+ - add callback option [`#12`](https://github.com/Financial-Times/polyfill-library/pull/12)
723
+ - Add dotenv dev dependency [`#10`](https://github.com/Financial-Times/polyfill-library/pull/10)
724
+ - Generate circleci config where each polyfill test is a separate job [`#3`](https://github.com/Financial-Times/polyfill-library/pull/3)
725
+ - Add CircleCI config [`#2`](https://github.com/Financial-Times/polyfill-library/pull/2)
726
+ - Move from custom test-runner to Karma [`#1826`](https://github.com/Financial-Times/polyfill-library/pull/1826)
727
+ - Use new version of proclaim which has all the custom methods we had implemented [`#1824`](https://github.com/Financial-Times/polyfill-library/pull/1824)
728
+ - Versioned libraries [`#1820`](https://github.com/Financial-Times/polyfill-library/pull/1820)
729
+ - Release 3.27.0 [`#1814`](https://github.com/Financial-Times/polyfill-library/pull/1814)
730
+ - Release 3.27.0 [`#1814`](https://github.com/Financial-Times/polyfill-library/pull/1814)
731
+ - Add tests for Math.log10 [`#1803`](https://github.com/Financial-Times/polyfill-library/pull/1803)
732
+ - Add more test for Number.EPSILON [`#1804`](https://github.com/Financial-Times/polyfill-library/pull/1804)
733
+ - remove handlebars from polyfill-library [`#1800`](https://github.com/Financial-Times/polyfill-library/pull/1800)
734
+ - Simplify the service by moving from serverless back to heroku [`#1798`](https://github.com/Financial-Times/polyfill-library/pull/1798)
735
+ - Fix formatting in polyfill-library readme [`#1786`](https://github.com/Financial-Times/polyfill-library/pull/1786)
736
+ - [fix] Add Samsung Browser to Promise.prototype.finally polyfill config [`#1763`](https://github.com/Financial-Times/polyfill-library/pull/1763)
737
+ - Add missing Event constants [`#1729`](https://github.com/Financial-Times/polyfill-library/pull/1729)
738
+ - Fixed console specs link [`#1746`](https://github.com/Financial-Times/polyfill-library/pull/1746)
739
+ - Only apply URL polyfill for Safari < 12 [`#1766`](https://github.com/Financial-Times/polyfill-library/pull/1766)
740
+ - Add es2018 alias [`#1779`](https://github.com/Financial-Times/polyfill-library/pull/1779)
741
+ - Array.prototype.values updated browser support [`#1776`](https://github.com/Financial-Times/polyfill-library/pull/1776)
742
+ - Beta V3 API -- Moving from Heroku to AWS+Serverless framework [`#1777`](https://github.com/Financial-Times/polyfill-library/pull/1777)
743
+ - Add headlesschrome to aliases [`#1726`](https://github.com/Financial-Times/polyfill-library/pull/1726)
744
+ - add polyfill for NodeList.forEach [`#1710`](https://github.com/Financial-Times/polyfill-library/pull/1710)
745
+ - Rewrite Math.fround to be spec compliant and use es abstract methods [`#1578`](https://github.com/Financial-Times/polyfill-library/pull/1578)
746
+ - Link to the correct section in the spec for Number.isNaN [`#1708`](https://github.com/Financial-Times/polyfill-library/pull/1708)
747
+ - Fix all linting warnings and errors in polyfill-library module [`#1707`](https://github.com/Financial-Times/polyfill-library/pull/1707)
748
+ - Enable custom polyfill collection to be used with the polyfill-library module [`#1706`](https://github.com/Financial-Times/polyfill-library/pull/1706)
749
+ - improve test coverage for Array.prototype.keys [`#1631`](https://github.com/Financial-Times/polyfill-library/pull/1631)
750
+ - Server Number.isInteger polyfill to Chrome 19-33 [`#1703`](https://github.com/Financial-Times/polyfill-library/pull/1703)
751
+ - Serve HTMLCanvasElement.prototype.toBlob to Edge and don't serve to Safari 11 [`#1704`](https://github.com/Financial-Times/polyfill-library/pull/1704)
752
+ - update Yaku version to support Promise polyfilling in Web Worker [`#1701`](https://github.com/Financial-Times/polyfill-library/pull/1701)
753
+ - Don't add the outer closure if no polyfills need to be served [`#1695`](https://github.com/Financial-Times/polyfill-library/pull/1695)
754
+ - improve tests for setimmediate [`#1665`](https://github.com/Financial-Times/polyfill-library/pull/1665)
755
+ - Split into polyfill-library and polyfill-service [`#1693`](https://github.com/Financial-Times/polyfill-library/pull/1693)
669
756
  - Use `self` instead of `this` for `Symbol` (#298) [`#297`](https://github.com/Financial-Times/polyfill-library/issues/297)
670
757
  - Serve Array.prototype.fill to all ie mobile [`#344`](https://github.com/Financial-Times/polyfill-library/issues/344)
671
- - Add custom test runner [`f5ed42e`](https://github.com/Financial-Times/polyfill-library/commit/f5ed42e51aeca186efd5787282f1365b3d1cc742)
672
- - remove unused dependencies intersection-observer, lazystream and snyk. add missing dependency browserstack [`cc01726`](https://github.com/Financial-Times/polyfill-library/commit/cc01726c8b00dc5e9ab53e7cbfca24641dc66c55)
673
- - update browserstack browser list [`4a2b073`](https://github.com/Financial-Times/polyfill-library/commit/4a2b07314cdef60e81961ed0852c5657f5112413)
758
+ - Serve URL/URLSearchParams polyfill to Firefox versions below 44 [`#311`](https://github.com/Financial-Times/polyfill-library/issues/311)
759
+ - Removing the typeof check with early return because it is handled via the `new Event` check, which is more thorough and will correctly detect bad Event constructors in Android 4.x [`#19`](https://github.com/Financial-Times/polyfill-library/issues/19)
760
+ - Update config.json [`#173`](https://github.com/Financial-Times/polyfill-library/issues/173)
761
+ - Update support of requestAnimationFrame for Opera Mini [`#172`](https://github.com/Financial-Times/polyfill-library/issues/172)
762
+ - Use Graceful-fs when updating/building third-party polyfills [`#128`](https://github.com/Financial-Times/polyfill-library/issues/128)
763
+ - Make Element.prototype.dataset properties enumerable [`#37`](https://github.com/Financial-Times/polyfill-library/issues/37)
764
+ - Add es6 alias for String.fromCodePoint. Fixes #1875 [`#1875`](https://github.com/Financial-Times/polyfill-library/issues/1875)
765
+ - remove handlebars from polyfill-library (#1800) [`#1792`](https://github.com/Financial-Times/polyfill-service/pull/1792)
766
+ - add polyfill for NodeList.forEach (#1710) [`#1686`](https://github.com/Financial-Times/polyfill-library/issues/1686) [`#1430`](https://github.com/Financial-Times/polyfill-library/issues/1430)
767
+ - Don't add the outer closure if no polyfills need to be served (#1695) [`#1685`](https://github.com/Financial-Times/polyfill-library/issues/1685)
768
+ - Convert every JSON file to TOML [`a6dba64`](https://github.com/Financial-Times/polyfill-library/commit/a6dba64c8c658caa4aec48cdd7af85a71f5fadb5)
769
+ - move from yarn to npm and use npm ci [`af2f86f`](https://github.com/Financial-Times/polyfill-library/commit/af2f86f8fcd9251fa748823d04dd46362cc41ed2)
770
+ - Add all the missing browsers in the internal polyfills [`efab9f1`](https://github.com/Financial-Times/polyfill-library/commit/efab9f1ea7a57832595c4025b35328179776d33e)
674
771
 
675
772
  #### [v3.42.0](https://github.com/Financial-Times/polyfill-library/compare/v3.41.0...v3.42.0)
676
773
 
677
774
  > 8 November 2019
678
775
 
679
776
  - Serve URL/URLSearchParams polyfill to Firefox versions below 44 [`#311`](https://github.com/Financial-Times/polyfill-library/issues/311)
680
- - update circleci config with tests for smoothscroll [`a60d123`](https://github.com/Financial-Times/polyfill-library/commit/a60d1236efd8d105265d2d9885704f6e14251c57)
681
- - [NR] adding patch to polyfill to remove UMD code [`3784041`](https://github.com/Financial-Times/polyfill-library/commit/3784041e3ec09dba472e2b48a0e7ba8c42aec0a5)
682
- - Adding smoothscroll polyfill for element.scroll* methods [`6639b3e`](https://github.com/Financial-Times/polyfill-library/commit/6639b3e3641dcdae23744fd0e95d195db15d3f41)
777
+ - update circleci config with tests for smoothscroll [`d7ccbab`](https://github.com/Financial-Times/polyfill-library/commit/d7ccbab1020e79499b5bbcaeae31b255ab97c5c6)
778
+ - [NR] adding patch to polyfill to remove UMD code [`cb437cc`](https://github.com/Financial-Times/polyfill-library/commit/cb437cc994715ba290cafa26579fec5e0e0cb09d)
779
+ - Adding smoothscroll polyfill for element.scroll* methods [`37323ce`](https://github.com/Financial-Times/polyfill-library/commit/37323cebc9d121d4744363db255738b2dbb5bbf8)
683
780
 
684
781
  #### [v3.41.0](https://github.com/Financial-Times/polyfill-library/compare/v3.40.0...v3.41.0)
685
782
 
686
783
  > 25 September 2019
687
784
 
688
- - Update and rename detect-disabled.js to detect.js [`83e2d87`](https://github.com/Financial-Times/polyfill-library/commit/83e2d87a555f8a367f5ee5fc419033e733df188e)
689
- - Update detect-disabled.js [`e6318e0`](https://github.com/Financial-Times/polyfill-library/commit/e6318e034350ef00e9aad114b99967fbe48fdc72)
785
+ - Update and rename detect-disabled.js to detect.js [`65767d1`](https://github.com/Financial-Times/polyfill-library/commit/65767d1db6cc684df6da988decd4bdb36cab7e8b)
786
+ - Update detect-disabled.js [`443e56a`](https://github.com/Financial-Times/polyfill-library/commit/443e56a38d0dc638030929c4cef86f1171e1b694)
690
787
 
691
788
  #### [v3.40.0](https://github.com/Financial-Times/polyfill-library/compare/v3.39.0...v3.40.0)
692
789
 
693
790
  > 9 September 2019
694
791
 
695
- - Serve IntersectionObserver polyfill to Safari 12.1 [`781305a`](https://github.com/Financial-Times/polyfill-library/commit/781305ad15fc204a0c66ff8d7adc393d009e9e39)
792
+ - Serve IntersectionObserver polyfill to Safari 12.1 [`89cfbc7`](https://github.com/Financial-Times/polyfill-library/commit/89cfbc71b668de0774dc4104bb58efd3f0343e94)
696
793
 
697
794
  #### [v3.39.0](https://github.com/Financial-Times/polyfill-library/compare/v3.38.0...v3.39.0)
698
795
 
@@ -711,32 +808,32 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
711
808
  - feat: add string.prototype.anchor polyfill [`#271`](https://github.com/Financial-Times/polyfill-library/pull/271)
712
809
  - feat: add symbol.asyncIterator polyfill [`#270`](https://github.com/Financial-Times/polyfill-library/pull/270)
713
810
  - ({}).toString.call(null) should not be [object Window] [`#193`](https://github.com/Financial-Times/polyfill-library/pull/193)
714
- - feat: add string.prototype.fontsize [`c338665`](https://github.com/Financial-Times/polyfill-library/commit/c338665117bce9f7efdba2366ce376c85b25363a)
715
- - feat: add string.prototype.blink [`b989891`](https://github.com/Financial-Times/polyfill-library/commit/b989891f8e161997e48a3d42b8ab28656a84063d)
716
- - feat: add string.prototype.bold [`6faf05a`](https://github.com/Financial-Times/polyfill-library/commit/6faf05ab70fb3a6774e38f54424c8e747dd6e192)
811
+ - feat: add string.prototype.fontsize [`2e4e9fa`](https://github.com/Financial-Times/polyfill-library/commit/2e4e9fa8fe580b6432efdc030ac2e8bc6650e409)
812
+ - feat: add string.prototype.blink [`7912033`](https://github.com/Financial-Times/polyfill-library/commit/7912033121488d586ea0019e52e56a7ff07debc8)
813
+ - feat: add string.prototype.bold [`fe231bb`](https://github.com/Financial-Times/polyfill-library/commit/fe231bbae9dae0694a754d5858413b0cc483a780)
717
814
 
718
815
  #### [v3.37.0](https://github.com/Financial-Times/polyfill-library/compare/v3.36.0...v3.37.0)
719
816
 
720
817
  > 23 July 2019
721
818
 
722
- - Add Object.getOwnPropertyDescriptors to the es2017 alias [`864755e`](https://github.com/Financial-Times/polyfill-library/commit/864755e995b5d7e4e03b16559a41d0eafc2a9f9e)
819
+ - Add Object.getOwnPropertyDescriptors to the es2017 alias [`0ec5191`](https://github.com/Financial-Times/polyfill-library/commit/0ec5191c3ea52bb9ca21d8ba9b4daf6b218ee4f1)
723
820
 
724
821
  #### [v3.36.0](https://github.com/Financial-Times/polyfill-library/compare/v3.35.0...v3.36.0)
725
822
 
726
823
  > 19 July 2019
727
824
 
728
- - Convert every JSON file to TOML [`a6dba64`](https://github.com/Financial-Times/polyfill-library/commit/a6dba64c8c658caa4aec48cdd7af85a71f5fadb5)
729
- - update nyc [`0e90410`](https://github.com/Financial-Times/polyfill-library/commit/0e90410aa76f4766f447eb93cc0270447070cea7)
730
- - Add snyk [`64f378b`](https://github.com/Financial-Times/polyfill-library/commit/64f378b3478e8f744cba4d4cffa78618b41f591b)
825
+ - Convert every JSON file to TOML [`c38ac31`](https://github.com/Financial-Times/polyfill-library/commit/c38ac31fde0cdf470ede3baa0212878f98dd52fb)
826
+ - update nyc [`7253387`](https://github.com/Financial-Times/polyfill-library/commit/72533870ac2e3d5e8073b7f16a00292b9429a327)
827
+ - Add snyk [`3bfbf41`](https://github.com/Financial-Times/polyfill-library/commit/3bfbf41f93def81fed29342d2c1016a29c3374f8)
731
828
 
732
829
  #### [v3.35.0](https://github.com/Financial-Times/polyfill-library/compare/v3.34.0...v3.35.0)
733
830
 
734
831
  > 5 July 2019
735
832
 
736
833
  - Add Reflect.defineProperty polyfill [`#240`](https://github.com/Financial-Times/polyfill-library/pull/240)
737
- - update browserlist for browserstack [`8ea9d31`](https://github.com/Financial-Times/polyfill-library/commit/8ea9d31cfce3d92305c3f97ac4a06dba31d99f9d)
738
- - add HTMLTemplateElement as an available polyfill [`151cd80`](https://github.com/Financial-Times/polyfill-library/commit/151cd805222f81535d0617b0b52bb094f903b21d)
739
- - update expected results for test now that typed-arrays are being bundled correctly [`e49d103`](https://github.com/Financial-Times/polyfill-library/commit/e49d10371553870d33c9acff0c44b4b847dc2b56)
834
+ - update browserlist for browserstack [`0087c7d`](https://github.com/Financial-Times/polyfill-library/commit/0087c7dca36b76f2db3cbe80d4de47a910ffe5b2)
835
+ - add HTMLTemplateElement as an available polyfill [`845eef7`](https://github.com/Financial-Times/polyfill-library/commit/845eef78e955abdfb44b1453057d1ce95a1b6336)
836
+ - update expected results for test now that typed-arrays are being bundled correctly [`bdad622`](https://github.com/Financial-Times/polyfill-library/commit/bdad622366edcc04f7dba93bd4b740d6f75f17e2)
740
837
 
741
838
  #### [v3.34.0](https://github.com/Financial-Times/polyfill-library/compare/v3.33.0...v3.34.0)
742
839
 
@@ -745,16 +842,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
745
842
  - 3.34.0 [`#194`](https://github.com/Financial-Times/polyfill-library/pull/194)
746
843
  - Add requestIdleCallback and cancelIdleCallback. [`#192`](https://github.com/Financial-Times/polyfill-library/pull/192)
747
844
  - Removing the typeof check with early return because it is handled via the `new Event` check, which is more thorough and will correctly detect bad Event constructors in Android 4.x [`#19`](https://github.com/Financial-Times/polyfill-library/issues/19)
748
- - Add core requestIdleCallback functionality. [`696269a`](https://github.com/Financial-Times/polyfill-library/commit/696269aa1f9f69ee2dbd1c18ae73d78f4121a81e)
749
- - WIP: Add toggle attribute polyfill. [`344f15e`](https://github.com/Financial-Times/polyfill-library/commit/344f15e840dce1ef302ed5cb7ddb9da835e1372c)
750
- - Wrap in a describe block [`61d3daf`](https://github.com/Financial-Times/polyfill-library/commit/61d3daf795b25a87e1ea966620469862da18fee5)
845
+ - Add core requestIdleCallback functionality. [`f6fb561`](https://github.com/Financial-Times/polyfill-library/commit/f6fb5616fe35858a4be9e8d6b748f059c4231a6a)
846
+ - WIP: Add toggle attribute polyfill. [`bdfe551`](https://github.com/Financial-Times/polyfill-library/commit/bdfe551772b316768e4cbe2058aadc3c5312d7fb)
847
+ - Wrap in a describe block [`b1fce20`](https://github.com/Financial-Times/polyfill-library/commit/b1fce20a9c6779b0f2c2e3131a38dbc5d7c954b7)
751
848
 
752
849
  #### [v3.33.0](https://github.com/Financial-Times/polyfill-library/compare/v3.32.0...v3.33.0)
753
850
 
754
851
  > 3 April 2019
755
852
 
756
- - preserve function names in minified code [`e9a3e73`](https://github.com/Financial-Times/polyfill-library/commit/e9a3e7337b6b1111ca7a2f44c68cf82783bb97c7)
757
- - Update polyfill.js [`0a09240`](https://github.com/Financial-Times/polyfill-library/commit/0a092404a35566807381bdd3311fc4ab51325b4c)
853
+ - preserve function names in minified code [`100ee97`](https://github.com/Financial-Times/polyfill-library/commit/100ee974784a9f5e4b0aa371cb928d8f331d96da)
854
+ - Update polyfill.js [`ad3b29f`](https://github.com/Financial-Times/polyfill-library/commit/ad3b29f4361ee5af72733494555fe19bbda3533e)
758
855
 
759
856
  #### [v3.32.0](https://github.com/Financial-Times/polyfill-library/compare/v3.31.1...v3.32.0)
760
857
 
@@ -762,16 +859,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
762
859
 
763
860
  - Update config.json [`#173`](https://github.com/Financial-Times/polyfill-library/issues/173)
764
861
  - Update support of requestAnimationFrame for Opera Mini [`#172`](https://github.com/Financial-Times/polyfill-library/issues/172)
765
- - Make polyfill work in IE8 and Chrome 43 [`1b3b661`](https://github.com/Financial-Times/polyfill-library/commit/1b3b661253ba375ca357d8d097a1586351cf439f)
766
- - Updates browser support for Symbol.match and Symbol.replace [`e59a961`](https://github.com/Financial-Times/polyfill-library/commit/e59a96110f57eae7a935d2938fb0df00fe7324a2)
767
- - Add test for using Object.assign with window.location [`bef5163`](https://github.com/Financial-Times/polyfill-library/commit/bef5163961da7ebd336d7be7af1c82a8cde9cf74)
862
+ - Serve Promise to op_mob [`49f9330`](https://github.com/Financial-Times/polyfill-library/commit/49f93306ae4b69cfe0f7f085947d3537ac9f6eae)
863
+ - Make polyfill work in IE8 and Chrome 43 [`6025f49`](https://github.com/Financial-Times/polyfill-library/commit/6025f49450d08b4f5f929decfdbb95ef6b2c6156)
864
+ - Updates browser support for Symbol.match and Symbol.replace [`9c90a52`](https://github.com/Financial-Times/polyfill-library/commit/9c90a52f40f90077c8ae078c506cca62ad52f7e8)
768
865
 
769
866
  #### [v3.31.1](https://github.com/Financial-Times/polyfill-library/compare/v3.31.0...v3.31.1)
770
867
 
771
868
  > 4 March 2019
772
869
 
773
- - Use IIFEs to store state for listPolyfills and listAliases as they never are functions which always return the exact same result [`2a77840`](https://github.com/Financial-Times/polyfill-library/commit/2a7784004b43bdcca90aed2e46a938400137611f)
774
- - use an LRU cache for the getPolyfillMeta function to avoid too many filesystem operations [`f8349f1`](https://github.com/Financial-Times/polyfill-library/commit/f8349f1ec8dc5365fa7f5a5d76f6f38ad0185b25)
870
+ - Use IIFEs to store state for listPolyfills and listAliases as they never are functions which always return the exact same result [`8237458`](https://github.com/Financial-Times/polyfill-library/commit/823745861af1d7988e1f7fd1dd37c874c215e4b5)
871
+ - use an LRU cache for the getPolyfillMeta function to avoid too many filesystem operations [`4c37562`](https://github.com/Financial-Times/polyfill-library/commit/4c37562ce3a6bd795ce17748c6c1ca492186829e)
775
872
 
776
873
  #### [v3.31.0](https://github.com/Financial-Times/polyfill-library/compare/v3.30.1...v3.31.0)
777
874
 
@@ -781,30 +878,30 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
781
878
 
782
879
  > 22 February 2019
783
880
 
784
- - builds polyfills/__dist folder before publishing the package instead of when installing the package [`bc1bbcb`](https://github.com/Financial-Times/polyfill-library/commit/bc1bbcb25a0a6e529d86d5771b20d1239122184e)
881
+ - builds polyfills/__dist folder before publishing the package instead of when installing the package [`5d9747e`](https://github.com/Financial-Times/polyfill-library/commit/5d9747ec32c919cd36716634a6659d5c334ae1ed)
785
882
 
786
883
  #### [v3.30.0](https://github.com/Financial-Times/polyfill-library/compare/v3.29.0...v3.30.0)
787
884
 
788
885
  > 22 February 2019
789
886
 
790
887
  - Replace fs with graceful-fs to stop too many files open error [`#145`](https://github.com/Financial-Times/polyfill-library/pull/145)
791
- - Minify detect.js output [`abc244e`](https://github.com/Financial-Times/polyfill-library/commit/abc244ecead159b944563bfb74bf7239fdf3af4d)
792
- - Make two separate minify functions for polyfills and detects [`cf1e42a`](https://github.com/Financial-Times/polyfill-library/commit/cf1e42ad44afc302e2ee76e016c58a4850c9a21a)
888
+ - Minify detect.js output [`cf1d139`](https://github.com/Financial-Times/polyfill-library/commit/cf1d139c8fdb5d562fa44f199dd004eec656a22e)
889
+ - Make two separate minify functions for polyfills and detects [`9109e2a`](https://github.com/Financial-Times/polyfill-library/commit/9109e2ab4f534dec85be92f409d016c3b410ecc9)
793
890
 
794
891
  #### [v3.29.0](https://github.com/Financial-Times/polyfill-library/compare/v3.28.1...v3.29.0)
795
892
 
796
893
  > 22 February 2019
797
894
 
798
- - add back nyc [`9716de3`](https://github.com/Financial-Times/polyfill-library/commit/9716de3b961629711557a5ad5bb3dcb0189f71b8)
799
- - Remove babel as no polyfills require it [`e171427`](https://github.com/Financial-Times/polyfill-library/commit/e171427bc44bed0185a586c9c8a9c8ef368acb64)
800
- - Add array.prototype.flat polyfill [`196472f`](https://github.com/Financial-Times/polyfill-library/commit/196472fe6b9f95401a3d962a338d3c9b5cab93d9)
895
+ - add back nyc [`7a5d036`](https://github.com/Financial-Times/polyfill-library/commit/7a5d036b37da16933039b0204e02efc3db52a355)
896
+ - Remove babel as no polyfills require it [`15a0fdb`](https://github.com/Financial-Times/polyfill-library/commit/15a0fdb331141d23d6f8dd63ceaf27bdc43d8993)
897
+ - Add array.prototype.flat polyfill [`a008ddf`](https://github.com/Financial-Times/polyfill-library/commit/a008ddf2efe2c8d35e6e7e1e8ac436c10c52810f)
801
898
 
802
899
  #### [v3.28.1](https://github.com/Financial-Times/polyfill-library/compare/v3.28.0...v3.28.1)
803
900
 
804
901
  > 19 February 2019
805
902
 
806
- - Add test to show objects with null prototypes work as key [`a5a9caa`](https://github.com/Financial-Times/polyfill-library/commit/a5a9caa442afbe185668a5a95959bf4668b7f8b6)
807
- - Fixes check for -0 in Map.set polyfill [`09ff71b`](https://github.com/Financial-Times/polyfill-library/commit/09ff71b1b41f7f3e283640b27193054c030b0cbb)
903
+ - Add test to show objects with null prototypes work as key [`c14fe63`](https://github.com/Financial-Times/polyfill-library/commit/c14fe6351255aeecbfdb74c16738ae37df8c5cd6)
904
+ - Fixes check for -0 in Map.set polyfill [`18dfee3`](https://github.com/Financial-Times/polyfill-library/commit/18dfee3cb03fb543f5ab8263213b83c1363ab80c)
808
905
 
809
906
  #### [v3.28.0](https://github.com/Financial-Times/polyfill-library/compare/v3.27.4...v3.28.0)
810
907
 
@@ -814,15 +911,15 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
814
911
  - Use Graceful-fs when updating/building third-party polyfills [`#128`](https://github.com/Financial-Times/polyfill-library/issues/128)
815
912
  - Make Element.prototype.dataset properties enumerable [`#37`](https://github.com/Financial-Times/polyfill-library/issues/37)
816
913
  - Add es6 alias for String.fromCodePoint. Fixes #1875 [`#1875`](https://github.com/Financial-Times/polyfill-library/issues/1875)
817
- - move from yarn to npm and use npm ci [`af2f86f`](https://github.com/Financial-Times/polyfill-library/commit/af2f86f8fcd9251fa748823d04dd46362cc41ed2)
818
- - Add all the missing browsers in the internal polyfills [`efab9f1`](https://github.com/Financial-Times/polyfill-library/commit/efab9f1ea7a57832595c4025b35328179776d33e)
819
- - Add command timeout of an hour for testing on browsers [`0c1daed`](https://github.com/Financial-Times/polyfill-library/commit/0c1daed2c9c5b039752fc0e919cd5e40f6dc710d)
914
+ - move from yarn to npm and use npm ci [`1e4f2b7`](https://github.com/Financial-Times/polyfill-library/commit/1e4f2b7b1514deb8539c74f4446ca7f3e4f40976)
915
+ - Add command timeout of an hour for testing on browsers [`9016737`](https://github.com/Financial-Times/polyfill-library/commit/901673738f8665d346444a931dfd945374e0a430)
916
+ - Add Array.prototype.flatMap polyfill and FlattenIntoArray helper [`1e382e2`](https://github.com/Financial-Times/polyfill-library/commit/1e382e260ef17faf1c894ee520918431797d0320)
820
917
 
821
918
  #### [v3.27.4](https://github.com/Financial-Times/polyfill-library/compare/v3.27.3...v3.27.4)
822
919
 
823
920
  > 24 January 2019
824
921
 
825
- - Add listAliases function [`74679ef`](https://github.com/Financial-Times/polyfill-library/commit/74679efc3671dd6949139bdac52e02ae32d8ac86)
922
+ - Add listAliases function [`1f7f11d`](https://github.com/Financial-Times/polyfill-library/commit/1f7f11d3fb95c95cefcbcb40947799053597b3fd)
826
923
 
827
924
  #### [v3.27.3](https://github.com/Financial-Times/polyfill-library/compare/v3.27.2...v3.27.3)
828
925
 
@@ -840,9 +937,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
840
937
  - Simplify the codebase [`#13`](https://github.com/Financial-Times/polyfill-library/pull/13)
841
938
  - Move Function.prototype.name polyfill to correct folder location [`#1`](https://github.com/Financial-Times/polyfill-library/pull/1)
842
939
  - getPolyfillString without check for unsupported ua [`#6`](https://github.com/Financial-Times/polyfill-library/pull/6)
843
- - Use contributing guide url for contributing guide links [`71ced3b`](https://github.com/Financial-Times/polyfill-library/commit/71ced3bdb4f3640d983716b9f7b5cadb51b71872)
844
- - No classes [`ab9d561`](https://github.com/Financial-Times/polyfill-library/commit/ab9d5618db349dbb711b7e7b30e8f9586770cbda)
845
- - Remove ability to change the polyfillsPath [`d7de111`](https://github.com/Financial-Times/polyfill-library/commit/d7de111b047ed62cf8f61e0bcc74a3d54536d5ff)
940
+ - Use contributing guide url for contributing guide links [`6b703cb`](https://github.com/Financial-Times/polyfill-library/commit/6b703cb6ece0bdca5a71d6aa0107c8a7a1ebaad3)
941
+ - No classes [`b379e79`](https://github.com/Financial-Times/polyfill-library/commit/b379e796dc3e54cdb03ca7584b32d5df963e8a93)
942
+ - Remove ability to change the polyfillsPath [`db94e4b`](https://github.com/Financial-Times/polyfill-library/commit/db94e4bd1b9b9f41bc5bc1cef1d0e0348c9d926a)
846
943
 
847
944
  #### [v3.27.1](https://github.com/Financial-Times/polyfill-library/compare/v3.27.0...v3.27.1)
848
945
 
@@ -885,9 +982,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
885
982
  - remove handlebars from polyfill-library (#1800) [`#1792`](https://github.com/Financial-Times/polyfill-service/pull/1792)
886
983
  - add polyfill for NodeList.forEach (#1710) [`#1686`](https://github.com/Financial-Times/polyfill-library/issues/1686) [`#1430`](https://github.com/Financial-Times/polyfill-library/issues/1430)
887
984
  - Don't add the outer closure if no polyfills need to be served (#1695) [`#1685`](https://github.com/Financial-Times/polyfill-library/issues/1685)
888
- - update lock [`8582f4f`](https://github.com/Financial-Times/polyfill-library/commit/8582f4f6b6a160f33bd1c2bbde7429f9ec75d5db)
889
- - Update docs to be consistent with actual implementation [`27123d2`](https://github.com/Financial-Times/polyfill-library/commit/27123d2b2f3ef770ce36a36d4fadd80ffcbffcdb)
890
- - replace . and @ characters in job names as they are violate the circleci schema [`5e36fa1`](https://github.com/Financial-Times/polyfill-library/commit/5e36fa1e96c5137eea136b5ef056b0bf38049601)
985
+ - update lock [`80a2310`](https://github.com/Financial-Times/polyfill-library/commit/80a231080cb18c634039a63beff120315d63a60a)
986
+ - Update docs to be consistent with actual implementation [`ea394e7`](https://github.com/Financial-Times/polyfill-library/commit/ea394e71ee5e8b163e741938b4504d33025f9ecb)
987
+ - replace . and @ characters in job names as they are violate the circleci schema [`fbcd56b`](https://github.com/Financial-Times/polyfill-library/commit/fbcd56b6b1fe920a3b82861d0dd237e9290a43b9)
891
988
 
892
989
  #### [v3.27.0](https://github.com/Financial-Times/polyfill-library/compare/v3.25.1...v3.27.0)
893
990
 
@@ -1145,9 +1242,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1145
1242
  - remove handlebars from polyfill-library (#1800) [`#1792`](https://github.com/Financial-Times/polyfill-service/pull/1792)
1146
1243
  - add polyfill for NodeList.forEach (#1710) [`#1686`](https://github.com/Financial-Times/polyfill-library/issues/1686) [`#1430`](https://github.com/Financial-Times/polyfill-library/issues/1430)
1147
1244
  - Don't add the outer closure if no polyfills need to be served (#1695) [`#1685`](https://github.com/Financial-Times/polyfill-library/issues/1685)
1148
- - Get codebase ready for making releases to production [`1658792`](https://github.com/Financial-Times/polyfill-library/commit/165879244964dc8daac9222b44332629eb1dd0ac)
1149
- - Add script to install heroku to circleci [`7734139`](https://github.com/Financial-Times/polyfill-library/commit/7734139c706a69daa499c108b382ddaf338b9401)
1150
- - Add Heroku generated app.json [`016b195`](https://github.com/Financial-Times/polyfill-library/commit/016b1957d284431997e1cf45fd84ac2afd2e158f)
1245
+ - Get codebase ready for making releases to production [`f8bfc72`](https://github.com/Financial-Times/polyfill-library/commit/f8bfc7276251c908e22d507babab659755e90620)
1246
+ - Add script to install heroku to circleci [`c01647a`](https://github.com/Financial-Times/polyfill-library/commit/c01647a66f6ee8bb5abfce65f4f9c71f8d4fb063)
1247
+ - Add Heroku generated app.json [`b6de346`](https://github.com/Financial-Times/polyfill-library/commit/b6de3468fc127bad3824c033c96679cf56ed38aa)
1151
1248
 
1152
1249
  #### v3.25.1
1153
1250
 
@@ -1231,7 +1328,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1231
1328
  - Remove code branch which can never be reached [`#1302`](https://github.com/Financial-Times/polyfill-library/pull/1302)
1232
1329
  - Support Objects which have Symbol.iterator defined [`#1293`](https://github.com/Financial-Times/polyfill-library/pull/1293)
1233
1330
  - Fix: Do not call callback for Map.prototype.forEach if no map entries exist [`#1300`](https://github.com/Financial-Times/polyfill-library/pull/1300)
1234
- - revert 90cb1ab7e6cf118692e9046700aa4d60de7a40f5 [`#1290`](https://github.com/Financial-Times/polyfill-library/pull/1290)
1331
+ - revert ea0ecde3c9d7f9b466461042819184658f15ef1c [`#1290`](https://github.com/Financial-Times/polyfill-library/pull/1290)
1235
1332
  - Add Object.freeze polyfill [`#1297`](https://github.com/Financial-Times/polyfill-library/pull/1297)
1236
1333
  - Alias modern opera to version of chrome they are using [`#1296`](https://github.com/Financial-Times/polyfill-library/pull/1296)
1237
1334
  - Set Symbol.toStringTag to be writable to make this polyfill spec compliant and to work with generator polyfills [`#1295`](https://github.com/Financial-Times/polyfill-library/pull/1295)
@@ -1941,6 +2038,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1941
2038
  - Correctly serve variant polyfills closes #130 [`#130`](https://github.com/Financial-Times/polyfill-library/issues/130)
1942
2039
  - Merge pull request #63 from Financial-Times/issue46/uaquery [`#46`](https://github.com/Financial-Times/polyfill-library/issues/46)
1943
2040
  - Add UA query string parameter, closes #46 [`#46`](https://github.com/Financial-Times/polyfill-library/issues/46)
1944
- - Revert unnecessary whitespace changes [`9fe7044`](https://github.com/Financial-Times/polyfill-library/commit/9fe7044270375950a935feb3ec9c4a8597aee164)
1945
- - update Intl.js polyfill to version 1.1.0 [`9f0ef3f`](https://github.com/Financial-Times/polyfill-library/commit/9f0ef3f4bd930bf852f1fcbd03689be9dff8a4e5)
1946
- - Update service and grunt tasks to ES6 syntax [`4480b43`](https://github.com/Financial-Times/polyfill-library/commit/4480b433bda56890ae7957f7df1eb6d8757b450e)
2041
+ - Revert unnecessary whitespace changes [`2133994`](https://github.com/Financial-Times/polyfill-library/commit/21339947190701de76ffe3afca50e1513d006cd9)
2042
+ - Convert all space indentation to tab indentiation in the config files [`f53a656`](https://github.com/Financial-Times/polyfill-library/commit/f53a656e477ecd13ceb307623e8111ac096b2735)
2043
+ - update Intl.js polyfill to version 1.1.0 [`c43ef44`](https://github.com/Financial-Times/polyfill-library/commit/c43ef44d680800412c1fcb11419df8cefab1da8e)
package/lib/index.js CHANGED
@@ -119,7 +119,7 @@ async function getPolyfills(options_) {
119
119
  const options = getOptions(options_);
120
120
  let ua = getNormalisedUA(options.uaString);
121
121
  const featureNames = new Set(Object.keys(options.features));
122
- const targetedFeatures = {};
122
+ const targetedFeatures = Object.create(null);
123
123
 
124
124
  /*
125
125
  A feature would be removed in these scenarios:
@@ -137,7 +137,7 @@ async function getPolyfills(options_) {
137
137
  }
138
138
 
139
139
  function addFeature(featureName, featureFlags, featureProperties) {
140
- targetedFeatures[featureName] = Object.assign({}, featureFlags, featureProperties);
140
+ targetedFeatures[featureName] = Object.assign(Object.create(null), featureFlags, featureProperties);
141
141
  featureNames.add(featureName);
142
142
  }
143
143
 
package/lib/sources.js CHANGED
@@ -48,8 +48,12 @@ function listPolyfills() {
48
48
  }
49
49
 
50
50
  const _aliases = (async function() {
51
- const aliases = await readFile(path.join(polyfillDirectory, "aliases.json"));
52
- return JSON.parse(aliases);
51
+ const aliasesFile = await readFile(path.join(polyfillDirectory, "aliases.json"), 'utf-8');
52
+ const result = Object.create(null);
53
+ for (const [aliasName, aliasValue] of Object.entries(JSON.parse(aliasesFile))) {
54
+ result[aliasName] = aliasValue;
55
+ }
56
+ return result;
53
57
  }());
54
58
 
55
59
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polyfill-library",
3
- "version": "3.109.0",
3
+ "version": "3.111.0",
4
4
  "description": "A polyfill combinator",
5
5
  "main": "lib/index.js",
6
6
  "contributors": [
@@ -58,9 +58,9 @@
58
58
  "dependencies": {
59
59
  "@financial-times/polyfill-useragent-normaliser": "^1.10.1",
60
60
  "from2-string": "^1.1.0",
61
- "graceful-fs": "^4.1.10",
61
+ "graceful-fs": "^4.2.8",
62
62
  "merge2": "^1.0.3",
63
- "mnemonist": "^0.38.0",
63
+ "mnemonist": "^0.38.5",
64
64
  "stream-from-promise": "^1.0.0",
65
65
  "stream-to-string": "^1.1.0",
66
66
  "toposort": "^2.0.2"
@@ -78,15 +78,16 @@
78
78
  "@iarna/toml": "^2.2.3",
79
79
  "@juggle/resize-observer": "^3.3.1",
80
80
  "@webcomponents/template": "^1.4.0",
81
- "Base64": "^1.0.0",
82
81
  "abort-controller": "^3.0.0",
83
82
  "apicache": "^1.5.3",
84
83
  "array.prototype.flatmap": "^1.2.1",
85
84
  "audio-context-polyfill": "^1.0.0",
86
85
  "auto-changelog": "^2.2.1",
86
+ "Base64": "^1.0.0",
87
87
  "bluebird": "^3.7.2",
88
88
  "browserstack": "1.6.1",
89
89
  "browserstack-local": "^1.4.5",
90
+ "chai": "^4.3.4",
90
91
  "cli-color": "^2.0.0",
91
92
  "compression": "^1.7.4",
92
93
  "current-script-polyfill": "^1.0.0",
@@ -109,6 +110,7 @@
109
110
  "json3": "^3.3.2",
110
111
  "karma": "^6.0.0",
111
112
  "karma-browserstack-launcher": "^1.4.0",
113
+ "karma-firefox-launcher": "^2.1.2",
112
114
  "karma-mocha": "^2.0.1",
113
115
  "karma-mocha-reporter": "^2.2.5",
114
116
  "karma-summary-optional-console-reporter": "^1.6.1",
@@ -137,6 +139,7 @@
137
139
  "yaml": "^1.1.0"
138
140
  },
139
141
  "volta": {
140
- "node": "12.22.3"
142
+ "node": "12.22.7",
143
+ "npm": "6.13.4"
141
144
  }
142
145
  }
@@ -0,0 +1 @@
1
+ {"aliases":["es2021"],"dependencies":["_ESAbstract.CreateDataPropertyOrThrow","_ESAbstract.IterableToList","Array.isArray","Object.create"],"license":"MIT","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError","browsers":{"android":"<85","bb":"*","chrome":"<85","firefox":"<79","ios_saf":"<14","edge":"<85","edge_mob":"<85","ie":"*","ie_mob":"*","opera":"*","op_mini":"*","safari":"<14","firefox_mob":"<79","samsung_mob":"<14"},"detectSource":"\"AggregateError\"in self\n","baseDir":"AggregateError","hasTests":true,"isTestable":true,"isPublic":true,"size":485}
@@ -0,0 +1 @@
1
+ !function(){function r(r,e){var t=void 0===e?new Error:new Error(e);CreateDataPropertyOrThrow(this,"name","AggregateError"),CreateDataPropertyOrThrow(this,"message",t.message),CreateDataPropertyOrThrow(this,"stack",t.stack);var o;if(Array.isArray(r))o=r.slice();else try{o=IterableToList(r)}catch(a){throw new TypeError("Argument is not iterable")}CreateDataPropertyOrThrow(this,"errors",o)}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,self.AggregateError=r}();
@@ -0,0 +1,30 @@
1
+
2
+ // AggregateError
3
+ /* global CreateDataPropertyOrThrow, IterableToList */
4
+ (function () {
5
+ function AggregateError (errors, message) {
6
+ var temp = typeof message === 'undefined' ? new Error() : new Error(message);
7
+
8
+ CreateDataPropertyOrThrow(this, 'name', 'AggregateError');
9
+ CreateDataPropertyOrThrow(this, 'message', temp.message);
10
+ CreateDataPropertyOrThrow(this, 'stack', temp.stack);
11
+
12
+ var errorsList;
13
+ if (Array.isArray(errors)) {
14
+ errorsList = errors.slice();
15
+ } else {
16
+ try {
17
+ errorsList = IterableToList(errors);
18
+ } catch (_error) {
19
+ throw new TypeError('Argument is not iterable');
20
+ }
21
+ }
22
+
23
+ CreateDataPropertyOrThrow(this, 'errors', errorsList);
24
+ }
25
+
26
+ AggregateError.prototype = Object.create(Error.prototype);
27
+ AggregateError.prototype.constructor = AggregateError;
28
+
29
+ self.AggregateError = AggregateError;
30
+ })();
@@ -1 +1 @@
1
- {"aliases":["es6","es2015","modernizr:es6array","blissfuljs","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.IsCallable","_ESAbstract.CreateMethodProperty","_ESAbstract.GetMethod","Symbol.iterator","_ESAbstract.IsConstructor","_ESAbstract.Construct","_ESAbstract.ArrayCreate","_ESAbstract.GetIterator","_ESAbstract.IteratorClose","_ESAbstract.ToString","_ESAbstract.IteratorStep","_ESAbstract.IteratorValue","_ESAbstract.Call","_ESAbstract.CreateDataPropertyOrThrow","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","Map","Set"],"spec":"https://tc39.github.io/ecma262/#sec-array.from","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from","notes":["Array.from polyfill must be included in all browser versions that require Symbol.iterator"],"browsers":{"android":"*","bb":"10 - *","chrome":"<49","edge":"<13","edge_mob":"<13","firefox":"4 - 36","firefox_mob":"<32","ie":"*","ie_mob":"*","ios_saf":"<9","op_mini":"*","opera":"<37","safari":"<9","samsung_mob":"<5"},"detectSource":"\"from\"in Array&&function(){try{return Array.from({length:-Infinity}),\"a\"===Array.from(new self.Set([\"a\"]))[0]&&\"a\"===Array.from(new self.Map([[\"a\",\"one\"]]))[0][0]}catch(r){return!1}}()\n","baseDir":"Array/from","hasTests":true,"isTestable":true,"isPublic":true,"size":1334}
1
+ {"aliases":["es6","es2015","modernizr:es6array","blissfuljs","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.IsCallable","_ESAbstract.CreateMethodProperty","_ESAbstract.GetMethod","Symbol.iterator","_ESAbstract.IsConstructor","_ESAbstract.Construct","_ESAbstract.ArrayCreate","_ESAbstract.GetIterator","_ESAbstract.IteratorClose","_ESAbstract.ToString","_ESAbstract.IteratorStep","_ESAbstract.IteratorValue","_ESAbstract.Call","_ESAbstract.CreateDataPropertyOrThrow","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","Map","Set"],"spec":"https://tc39.github.io/ecma262/#sec-array.from","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from","notes":["Array.from polyfill must be included in all browser versions that require Symbol.iterator"],"browsers":{"android":"<45","bb":"10 - *","chrome":"<49","edge":"<13","edge_mob":"<13","firefox":"4 - 36","firefox_mob":"<32","ie":"*","ie_mob":"*","ios_saf":"<9","op_mini":"*","opera":"<37","safari":"<9","samsung_mob":"<5"},"detectSource":"\"from\"in Array&&function(){try{return Array.from({length:-Infinity}),\"a\"===Array.from(new self.Set([\"a\"]))[0]&&\"a\"===Array.from(new self.Map([[\"a\",\"one\"]]))[0][0]}catch(r){return!1}}()\n","baseDir":"Array/from","hasTests":true,"isTestable":true,"isPublic":true,"size":1334}
@@ -1 +1 @@
1
- {"aliases":["es6","es2015","modernizr:es6array","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.IsConstructor","_ESAbstract.Construct","_ESAbstract.ArrayCreate","_ESAbstract.ToString","_ESAbstract.CreateDataPropertyOrThrow"],"spec":"https://tc39.github.io/ecma262/#sec-array.of","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of","browsers":{"chrome":"<=44","edge":"<14","edge_mob":"<14","firefox":"* - 24","ie":"*","ie_mob":"10 - *","opera":"<32","safari":"<9.1","firefox_mob":"<25","android":"*","ios_saf":"<9","samsung_mob":"<5"},"detectSource":"\"of\"in Array\n","baseDir":"Array/of","hasTests":true,"isTestable":true,"isPublic":true,"size":255}
1
+ {"aliases":["es6","es2015","modernizr:es6array","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.IsConstructor","_ESAbstract.Construct","_ESAbstract.ArrayCreate","_ESAbstract.ToString","_ESAbstract.CreateDataPropertyOrThrow"],"spec":"https://tc39.github.io/ecma262/#sec-array.of","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of","browsers":{"chrome":"<=44","edge":"<14","edge_mob":"<14","firefox":"* - 24","ie":"*","ie_mob":"10 - *","opera":"<32","safari":"<9.1","firefox_mob":"<25","android":"<39","ios_saf":"<9","samsung_mob":"<5"},"detectSource":"\"of\"in Array\n","baseDir":"Array/of","hasTests":true,"isTestable":true,"isPublic":true,"size":255}
@@ -1 +1 @@
1
- {"aliases":["es6","es2015","modernizr:es6array"],"dependencies":["_ESAbstract.CreateMethodProperty","Array.prototype.values","Symbol.iterator"],"spec":"https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator","docs":"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/@@iterator","browsers":{"edge":"<13","edge_mob":"<13","ie":"*","ie_mob":"*","firefox":"<38","chrome":"<49","safari":"<9","android":"<5.1","ios_saf":"<9","opera":"<25","samsung_mob":"<5"},"detectSource":"\"Symbol\"in self&&\"iterator\"in self.Symbol&&!!Array.prototype[self.Symbol.iterator]\n","baseDir":"Array/prototype/@@iterator","hasTests":true,"isTestable":true,"isPublic":true,"size":77}
1
+ {"aliases":["es6","es2015","modernizr:es6array"],"dependencies":["_ESAbstract.CreateMethodProperty","Array.prototype.values","Symbol.iterator"],"spec":"https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator","docs":"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/@@iterator","browsers":{"edge":"<13","edge_mob":"<13","ie":"*","ie_mob":"*","firefox":"<38","chrome":"<49","safari":"<9","android":"<43","ios_saf":"<9","opera":"<25","samsung_mob":"<5"},"detectSource":"\"Symbol\"in self&&\"iterator\"in self.Symbol&&!!Array.prototype[self.Symbol.iterator]\n","baseDir":"Array/prototype/@@iterator","hasTests":true,"isTestable":true,"isPublic":true,"size":77}
@@ -0,0 +1 @@
1
+ {"aliases":["es2022"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.Get","_ESAbstract.LengthOfArrayLike","_ESAbstract.ToIntegerOrInfinity","_ESAbstract.ToObject","_ESAbstract.ToString"],"spec":"https://tc39.es/ecma262/#sec-array.prototype.at","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at","browsers":{"android":"*","bb":"*","chrome":"< 92","edge":"< 92","edge_mob":"< 92","firefox":"< 90","firefox_mob":"< 90","ie":"*","ie_mob":"*","ios_chr":"*","ios_saf":"*","op_mini":"*","op_mob":"*","opera":"< 78","safari":"*","samsung_mob":"< 16"},"detectSource":"\"at\"in Array.prototype\n","baseDir":"Array/prototype/at","hasTests":true,"isTestable":true,"isPublic":true,"size":186}
@@ -0,0 +1 @@
1
+ CreateMethodProperty(Array.prototype,"at",function t(e){var r=ToObject(this),n=LengthOfArrayLike(r),o=ToIntegerOrInfinity(e),i=o>=0?o:n+o;return i<0||i>=n?undefined:Get(r,ToString(i))});
@@ -0,0 +1,21 @@
1
+
2
+ // Array.prototype.at
3
+ /* global CreateMethodProperty, Get, LengthOfArrayLike, ToIntegerOrInfinity, ToObject, ToString */
4
+ // 23.1.3.1. Array.prototype.at ( index )
5
+ CreateMethodProperty(Array.prototype, 'at', function at(index) {
6
+ // 1. Let O be ? ToObject(this value).
7
+ var O = ToObject(this);
8
+ // 2. Let len be ? LengthOfArrayLike(O).
9
+ var len = LengthOfArrayLike(O);
10
+ // 3. Let relativeIndex be ? ToIntegerOrInfinity(index).
11
+ var relativeIndex = ToIntegerOrInfinity(index);
12
+ // 4. If relativeIndex ≥ 0, then
13
+ // 4.a. Let k be relativeIndex.
14
+ // 5. Else,
15
+ // 5.a. Let k be len + relativeIndex.
16
+ var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
17
+ // 6. If k < 0 or k ≥ len, return undefined.
18
+ if (k < 0 || k >= len) return undefined;
19
+ // 7. Return ? Get(O, ! ToString(𝔽(k))).
20
+ return Get(O, ToString(k));
21
+ });
@@ -1 +1 @@
1
- {"aliases":["es6","es2015","modernizr:es6array","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","_ESAbstract.ToInteger","_ESAbstract.ToString"],"spec":"https://tc39.github.io/ecma262/#sec-array.prototype.fill","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill","browsers":{"ie":"*","ie_mob":"*","safari":"<= 7","firefox":"< 31","chrome":"< 45","android":"*","ios_saf":"<= 7","samsung_mob":"<5"},"detectSource":"\"fill\"in Array.prototype\n","baseDir":"Array/prototype/fill","hasTests":true,"isTestable":true,"isPublic":true,"size":298}
1
+ {"aliases":["es6","es2015","modernizr:es6array","default-3.4","default-3.5","default-3.6","default"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","_ESAbstract.ToInteger","_ESAbstract.ToString"],"spec":"https://tc39.github.io/ecma262/#sec-array.prototype.fill","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill","browsers":{"ie":"*","ie_mob":"*","safari":"<= 7","firefox":"< 31","chrome":"< 45","android":"<45","ios_saf":"<= 7","samsung_mob":"<5"},"detectSource":"\"fill\"in Array.prototype\n","baseDir":"Array/prototype/fill","hasTests":true,"isTestable":true,"isPublic":true,"size":298}
@@ -1 +1 @@
1
- {"aliases":["es7","es2016","modernizr:es7array"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","_ESAbstract.ToInteger","_ESAbstract.SameValueZero","_ESAbstract.ToString"],"license":"MIT","spec":"https://tc39.github.io/ecma262/#sec-array.prototype.includes","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes","browsers":{"chrome":"<47","edge":"<14","edge_mob":"<14","firefox":"<43","ie":"*","opera":"<34","safari":"<9","ios_saf":"<9","ios_chr":"*","android":"*","op_mob":"*","op_mini":"*","ie_mob":"*","firefox_mob":"<43","samsung_mob":"<5","bb":"10 - *"},"detectSource":"\"includes\"in Array.prototype\n","baseDir":"Array/prototype/includes","hasTests":true,"isTestable":true,"isPublic":true,"size":292}
1
+ {"aliases":["es7","es2016","modernizr:es7array"],"dependencies":["_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject","_ESAbstract.ToLength","_ESAbstract.Get","_ESAbstract.ToInteger","_ESAbstract.SameValueZero","_ESAbstract.ToString"],"license":"MIT","spec":"https://tc39.github.io/ecma262/#sec-array.prototype.includes","docs":"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes","browsers":{"chrome":"<47","edge":"<14","edge_mob":"<14","firefox":"<43","ie":"*","opera":"<34","safari":"<9","ios_saf":"<9","ios_chr":"*","android":"<47","op_mob":"*","op_mini":"*","ie_mob":"*","firefox_mob":"<43","samsung_mob":"<5","bb":"10 - *"},"detectSource":"\"includes\"in Array.prototype\n","baseDir":"Array/prototype/includes","hasTests":true,"isTestable":true,"isPublic":true,"size":292}
@@ -1 +1 @@
1
- {"aliases":["es6","es2015","modernizr:es6array"],"dependencies":["_ArrayIterator","_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject"],"license":"MIT","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.values","repo":"https://github.com/medikoo/es6-iterator","docs":"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/values","browsers":{"edge":"<13","edge_mob":"<13","ie":"*","ie_mob":"*","firefox":"<60","firefox_mob":"<60","chrome":"<66","safari":"<9","android":"*","ios_saf":"<9","opera":"<53","samsung_mob":"<5"},"detectSource":"\"values\"in Array.prototype\n","baseDir":"Array/prototype/values","hasTests":true,"isTestable":true,"isPublic":true,"size":288}
1
+ {"aliases":["es6","es2015","modernizr:es6array"],"dependencies":["_ArrayIterator","_ESAbstract.CreateMethodProperty","_ESAbstract.ToObject"],"license":"MIT","spec":"http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.values","repo":"https://github.com/medikoo/es6-iterator","docs":"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/values","browsers":{"edge":"<13","edge_mob":"<13","ie":"*","ie_mob":"*","firefox":"<60","firefox_mob":"<60","chrome":"<66","safari":"<9","android":"<66","ios_saf":"<9","opera":"<53","samsung_mob":"<5"},"detectSource":"\"values\"in Array.prototype\n","baseDir":"Array/prototype/values","hasTests":true,"isTestable":true,"isPublic":true,"size":288}