salesforce / design-system-react

Salesforce Lightning Design System for React
https://react.lightningdesignsystem.com/
BSD 3-Clause "New" or "Revised" License
909 stars 411 forks source link

Replace shortid with nanoid #3134

Open lkretzschmar opened 8 months ago

lkretzschmar commented 8 months ago

Fixes #3133

Additional description

Replaced shortid with nanoid

CONTRIBUTOR checklist (do not remove)

Please complete for every pull request

REVIEWER checklist (do not remove)

welcome[bot] commented 8 months ago

Thanks for opening this pull request! :100:

This is a community-driven project, and we can't do it without your participation. Please check out our contributing guidelines and review the Contributor Checklist if you haven't already, to make sure everything is squared away. CircleCI will take about 10 minutes to run through the same items that are on the Contributor checklist with a pass/fail check below. Please fix any issues that cause CircleCI to fail or ask for clarification--we try, but sometimes the errors can be unclear. A maintainer will try to respond within 7 days. If you haven’t heard anything by then, please bump this thread. To ensure codebase quality, large code line changes may take more than 2 weeks to review, but may take longer depending on the number of pull requests in the queue. Feel free to ask for a status update at any time--you won't be bothering anyone. Once feedback has been given, please reply to the feedback giver once the feedback on been addressed, so that they can continue the review. If you need a release while you are waiting for a code review, you can publish a built tag to your own fork. See directions in the release README.

interactivellama commented 6 months ago

Hi, I was able to look into this over the end-of-year break from work. I have no concerns with the codebase updates--however nanoid has been giving me a little trouble.

I have the Karma/Mocha unit tests working now in this PR which is a merge with master after a recent commit. https://github.com/salesforce/design-system-react/pull/3136

However the nanoid module is causes Jest to crash. Based on the error below in my PR's CI logs:

 /home/circleci/project/node_modules/nanoid/index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { webcrypto as crypto } from 'node:crypto'

the issue appears to be nanoid's browser crypto API not working in Jest which requires an update to Jest 29 according to Jest docs. https://jestjs.io/docs/upgrading-to-jest29#jsdom-upgrade

I'll keep looking into this, but I wanted to update you with the status of the review.