Skip to content

Lighthouse Issues And Legacy JavaScript In Codebase #1382

Open
@myselfgautham

Description

@myselfgautham

Current Behavior

The Below Functions On Line 15 Of The CDN Delivered Version Of Ionicons Are Considered As Legacy Function And Should Be Updated Ideally ( Yes Its Version 7.1.0 )

  • Array.prototype.fill
  • Array.prototype.filter
  • Array.prototype.find
  • Array.prototype.findIndex
  • Array.prototype.forEach
  • Array.from
  • Array.prototype.map
  • Array.prototype.some
  • Number.isInteger
  • Number.isSafeInteger
  • Object.entries
  • Object.freeze
  • Object.getOwnPropertyDescriptors
  • Object.getPrototypeOf
  • Object.isExtensible
  • Object.isFrozen
  • Object.isSealed
  • Object.keys
  • Object.preventExtensions
  • Object.seal
  • Object.values
  • String.prototype.codePointAt
  • String.fromCodePoint
  • String.raw
  • String.prototype.repeat

Expected Behavior

The Above Mentioned Methods Should Ideally Be In The More Modern Version Of Themselves So That We Can Potentially Save 23.0 KiB ( As Per Lighthouse ) On The Size Of The Package And It Should Result In Better Compatibility On Modern Browsers

For Example

Array.prototype.map Can Be Changes To Well array.map()
And Much More

Steps to Reproduce

https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js
https://unpkg.com/[email protected]/dist/ionicons/ionicons.js

Just Import Them In A Good Enough HTML Page That Can Be Recognised By Lighthouse And Run The Test Then View The Performance Section For This Issue It Will Be Displayed There With Potential Suggestions As Well

Code Reproduction URL

https://gist.github.com/myselfgautham/5ee7d88dce240c245796c6a7b380dd4f

Additional Information

They Are An Easy Fix They Require Changing Existing Legacy Methods To Their Modern Counterparts. For Your Information This Was Spotted Since Chrome Version 125.0.6422.60 ( 64Bit ). I Will Try To Look Into It If I Can And If Time Is Available

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues that are suitable for a community contributor

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions