Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

♻️🧪 Refactor test cases with SafeElementWrapper querySelector chain to eliminate the unnecessary temporary variable #5062

Conversation

balajis-qb
Copy link

This PR is regarding enhancement suggested on my previous PR - #5039

Comment Link: #5039 (comment)

As suggested in the linked comment I tried removing the usage of safeQuerySelector or safeQuerySelectorAll usage with SafeElementWrapper method chaining to avoid the unnecessary temporary variables. This is just a test-case refactor.

Contribution checklist

  • I have followed the contributing guidelines.
  • I have added sufficient test coverage for my changes.
  • I have formatted my code with Prettier and checked for linting issues with ESLint for code readability.

…e of safeQuerySelector/safeQuerySelectorAll to avoid unnecessary intermediate variable declarations
Copy link

@pullrequest pullrequest bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ This pull request was sent to the PullRequest network for review. Expert reviewers are now being matched to your request based on the code's requirements. Stay tuned!

What to expect from this code review:
  • Comments posted to any areas of potential concern or improvement.
  • Detailed feedback or actions needed to resolve issues that are found.
  • Turnaround times vary, but we aim to be swift.

@balajis-qb you can click here to see the review status or cancel the code review job.

Copy link

@pullrequest pullrequest bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PullRequest Breakdown

Reviewable lines of change

+ 66
- 61

100% TSX (tests)

Type of change

Feature - These changes are adding a new feature or improvement to existing code.

Copy link

codecov bot commented Aug 30, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.85%. Comparing base (c834746) to head (a997af8).
Report is 26 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5062   +/-   ##
=======================================
  Coverage   96.85%   96.85%           
=======================================
  Files          29       29           
  Lines        3343     3343           
  Branches     1390     1403   +13     
=======================================
  Hits         3238     3238           
+ Misses        105      103    -2     
- Partials        0        2    +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

@pullrequest pullrequest bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change looks simple enough, I cannot see any issues.

Image of Jacques Jacques


Reviewed with ❤️ by PullRequest

Copy link

@pullrequest pullrequest bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting that another PullRequest colleague has already considered this change approvingly: #5039 (comment)

These changes look good, logical, and since they're tests only shouldn't have any security implications. I did note that the linter on PullRequest's end is complaining about some non-null assertions, and provided some mitigation paths for that inline if you're interested. Additionally, since a lot of the code you're adding is similar in structure, I provided a reference implementation for extracting common logic into a function and calling it in your tests.

Image of Dylan F Dylan F


Reviewed with ❤️ by PullRequest

);
const lis = safeQuerySelectorAll(time, "li", MIN_TIME_LI_LEN);
fireEvent.click(lis[1]!);
const timeOption = new SafeElementWrapper(datePicker)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depending on your preferences and repo contribution guidelines (some folks have a strong preference for specs to be verbose rather than DRY), you could extract the common logic for this into a separate private function and re-use it throughout your tests, like:

describe("TimePicker", () => {
  let datePicker: HTMLDivElement;
  let div: HTMLDivElement;
  let onChangeMoment: Date | undefined;
  let instance: DatePicker | null = null;

  const timeOption: (datePicker: HTMLDivElement): SafeElementWrapper<HTMLDivElement> | undefined = (datePicker) => {
    return new SafeElementWrapper(datePicker)
      .safeQuerySelector(".react-datepicker__time-container')
      .safeQuerySelectorAll("li", MIN_TIME_LI_LEN)[1]? || undefined;
  }

  beforeEach(() => {
    div = document.createElement("div");
  });

  // ...

  it("should allow time changes after input change", () => {
    renderDatePicker("February 28, 2018 4:43 PM");
    setManually("February 28, 2018 4:45 PM");
    if (!instance?.input) {
      throw new Error("input is null/undefined");
    }
    fireEvent.focus(instance.input);
    fireEvent.click(timeOption(datePicker)); // can just use this in other tests within this `describe` block

    expect(getInputString()).toBe("February 28, 2018 12:30 AM");
  });

Note that I'm just writing this in a comment box, not in a live coding environment—you may have to check and massage the type signatures a bit 😅

🔹 Code Reuse (Nice to have)

Image of Dylan F Dylan F

fireEvent.click(lis[1]!);
const timeOption = new SafeElementWrapper(datePicker)
.safeQuerySelector(".react-datepicker__time-container")
.safeQuerySelectorAll("li", MIN_TIME_LI_LEN)[1]!
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ESlint is complaining a bit about your usage of the non-null assertion (!) here.

Looking over the definition and types on SafeElementWrapper and its functions, I can see why you need the bang/!; there's no guarentee that safeQuerySelectorAll's returned array will have an element at index 1, so you do need to do something to make the types work.

Per https://typescript-eslint.io/rules/no-non-null-assertion/, you can either tell eslint to skip the rule for this line (it's a test, not user-facing code), or rewrite to satisfy the linter with something like:

const timeOption = new SafeElementWrapper(datePicker)
  .safeQuerySelector(".react-datepicker__time-container")
  .safeQuerySelectorAll("li", MIN_TIME_LI_LEN)[1]?
  .getElement() || undefined;
timeOption && fireEvent.click(timeOption);

You may have other preferences around how to handle this; note that passing undefined to fireEvent.click will at the least throw an error at runtime, and TS might throw a typeerror at it depending on what types fireEvent.click accepts.

This same comment applies to your other changes in this file as well, at #188, #203, !221, #258, #277, and #296.

🔸 Giving Information (Important)

Image of Dylan F Dylan F

@martijnrusschen martijnrusschen merged commit e38003b into Hacker0x01:main Sep 1, 2024
6 checks passed
DAcodedBEAT added a commit to ChurchCRM/CRM that referenced this pull request Oct 14, 2024
<h3>Snyk has created this PR to upgrade react-datepicker from 7.3.0 to
7.4.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
<hr/>

- The recommended version is **1 version** ahead of your current
version.
- The recommended version was released **21 days ago**, on 2024-09-22.

The recommended version fixes:

Severity | Issue | PriorityScore (*) | Exploit Maturity |

:-------------------------:|:-------------------------|-------------------------|:-------------------------
<img
src="https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/m.png"
width="20" height="20" title="medium severity"/> | Cross-site Scripting
(XSS)<br/>
[SNYK-JS-SUMMERNOTE-568471](https://snyk.io/vuln/SNYK-JS-SUMMERNOTE-568471)
| **226/1000** <br/> **Why?** CVSS 4.3 | No Known Exploit

(*) Note that the real score may have changed since the PR was raised.


<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>react-datepicker</b></summary>
    <ul>
      <li>
<b>7.4.0</b> - <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases/tag/v7.4.0">2024-09-22</a></br><h2>What's
Changed</h2>
<ul>
<li>Remove usages of react-onclickoutside to support React 19 by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hamidrezahanafi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/hamidrezahanafi">@
hamidrezahanafi</a> in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2412103917"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4979"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4979/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4979">#4979</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2416063876" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4986"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/4986/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/4986">#4986</a>:
🐛🎨 Update the hover style to be applied only to the non-disabled
calendar items by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2416086259" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4987"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4987/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4987">#4987</a></li>
<li>The classname "react-datepicker-ignore-onclickoutside" is not
applied to custom input by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/Zulaxy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Zulaxy">@ Zulaxy</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2420869932" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4996"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4996/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4996">#4996</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2431722168" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5010"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/5010/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/5010">#5010</a>:
🐛 Restrict the focus to the disabled months/quarter/year using the
initial Tab key navigation by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2431821034" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5011"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5011/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5011">#5011</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2472956006" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5038"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/5038/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/5038">#5038</a>:
Enhance test case querySelector/querySelectorAll reliability with
ensuring element existance by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2472989577" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5039"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5039/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5039">#5039</a></li>
<li>Simplify event handlers by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2481262055" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5045"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5045/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5045">#5045</a></li>
<li>Fix "Cannot find module 'date-fns/types' ..." by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Svish/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Svish">@ Svish</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2440090618" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5020"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5020/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5020">#5020</a></li>
<li>Parse date range by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2494941097" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5060"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5060/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5060">#5060</a></li>
<li>chore: upgrade yarn to v4 and other dependencies by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/abnud11/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/abnud11">@ abnud11</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2435658073" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5014"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5014/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5014">#5014</a></li>
<li>♻️🧪 Refactor test cases with SafeElementWrapper querySelector chain
to eliminate the unnecessary temporary variable by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2496807574" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5062"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5062/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5062">#5062</a></li>
<li>test: fix a test that would always fail if run on first day of month
by <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2500715660" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5069"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5069/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5069">#5069</a></li>
<li>🐛 Resolve the double-click focus issue of Time input and custom time
component example by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2525079285" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5088"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5088/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5088">#5088</a></li>
<li>✏️ Fix the time input's placeholder typo by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2527652653" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5092"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5092/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5092">#5092</a></li>
<li>Added option to hide time caption by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Qubitza/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Qubitza">@ Qubitza</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2536567163" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5100"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5100/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5100">#5100</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/hamidrezahanafi/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/hamidrezahanafi">@
hamidrezahanafi</a> made their first contribution in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2412103917" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4979"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4979/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4979">#4979</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Zulaxy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Zulaxy">@ Zulaxy</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2420869932"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4996"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4996/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4996">#4996</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/laug/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/laug">@ laug</a> made their first
contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2481262055"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5045"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5045/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5045">#5045</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Svish/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Svish">@ Svish</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2440090618"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5020"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5020/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5020">#5020</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/abnud11/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/abnud11">@ abnud11</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2435658073"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5014"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5014/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5014">#5014</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Qubitza/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/Qubitza">@ Qubitza</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2536567163"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#5100"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/5100/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/5100">#5100</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/v7.3.0...v7.4.0"><tt>v7.3.0...v7.4.0</tt></a></p>
      </li>
      <li>
<b>7.3.0</b> - <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases/tag/v7.3.0">2024-07-08</a></br><h2>What's
Changed</h2>
<ul>
<li>Add multiple months visual selection by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/luistorres/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/luistorres">@ luistorres</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2379832420" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4944"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4944/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4944">#4944</a></li>
<li>fix badge in docs site by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/yuki0410-dev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/yuki0410-dev">@ yuki0410-dev</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2381833379" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4947"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4947/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4947">#4947</a></li>
<li>Fix <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2369448845" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4933"
data-hovercard-type="issue"
data-hovercard-url="/Hacker0x01/react-datepicker/issues/4933/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/issues/4933">#4933</a>:
🐛Remove the auto set of the '--keyboard-selected' class from the
disabled dates while switching to the next or the previous view by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/balajis-qb/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/balajis-qb">@ balajis-qb</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2388170031" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4955"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4955/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4955">#4955</a></li>
<li>fix style for quarter by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/asada-no4/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/asada-no4">@ asada-no4</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2382176895" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4948"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4948/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4948">#4948</a></li>
<li>fix DatePickerProps by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/yuki0410-dev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/yuki0410-dev">@ yuki0410-dev</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2367874910" data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4932"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4932/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4932">#4932</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/luistorres/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/luistorres">@ luistorres</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2379832420"
data-permission-text="Title is private"
data-url="Hacker0x01/react-datepicker#4944"
data-hovercard-type="pull_request"
data-hovercard-url="/Hacker0x01/react-datepicker/pull/4944/hovercard"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/pull/4944">#4944</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/v7.2.0...v7.3.0"><tt>v7.2.0...v7.3.0</tt></a></p>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/releases">react-datepicker
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>react-datepicker</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/5454eb6e26741c97ba3111bba563b9d762e988f9">5454eb6</a>
Publish new API docs (automated commit)</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/ac5f224155b9caf04db0ccb9ca903d370554dfac">ac5f224</a>
7.4.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/6903813e5b915dd31bc1ba84f8379f63b6a77b36">6903813</a>
Merge pull request #5093 from
Hacker0x01/dependabot/npm_and_yarn/lint-staged-15.2.10</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/1a24832050934df63aa6b03cb0710652eb9144b5">1a24832</a>
Merge pull request #5094 from
Hacker0x01/dependabot/npm_and_yarn/typescript-eslint/parser-8.6.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/becab92779f791ac9380ecea205d186d83ea67c8">becab92</a>
Merge pull request #5095 from
Hacker0x01/dependabot/npm_and_yarn/types/jest-29.5.13</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/8619218f2cc84b53746d684ad8e22e593a47b7a1">8619218</a>
Merge pull request #5098 from
Hacker0x01/dependabot/npm_and_yarn/docs-site/sass-1.79.1</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/3e28fca807f0f096cd299a5607b56d79c22b9993">3e28fca</a>
Merge pull request #5100 from Qubitza/main</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/342d370eaff4c9109441be7e9f0c6a29c45a3705">342d370</a>
fix: improved code readability</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/017183dd9b58cf75b9b933c905d3dc1ae3f03200">017183d</a>
test: shows custom time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/2771fe419dbdf2463fd431c7f734cf93bf2b6bd7">2771fe4</a>
test: hides time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/aea8f6df6d66201f01b9ad05e2680016e9d5e91b">aea8f6d</a>
feat: hide time caption</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/3a8d7e4ecd8bfe596fee917197b03ebf8919a681">3a8d7e4</a>
chore(deps-dev): bump sass from 1.78.0 to 1.79.1 in /docs-site</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c874de2c593061164bb9f4fd943a82cf8adf89e7">c874de2</a>
chore(deps-dev): bump @ types/jest from 29.5.12 to 29.5.13</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c0b68cae47b41415f4c7e75ed44873dfae8ab894">c0b68ca</a>
chore(deps-dev): bump @ typescript-eslint/parser from 7.18.0 to
8.6.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/a5240d2d7eeb1f48db576bd6d31bd1f0cbe6d6bf">a5240d2</a>
chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/f75e1e60555fd48bf22ebd1b698c80f47ac788ff">f75e1e6</a>
Merge pull request #5089 from
Hacker0x01/dependabot/npm_and_yarn/examples/hello-world/express-4.21.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/50ceb5d41a445caacc57d7927bbfa2a2b4e7ccaf">50ceb5d</a>
Merge pull request #5090 from
Hacker0x01/dependabot/npm_and_yarn/docs-site/express-4.21.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/e85adf3d3d9a11540ee64e06e2043a2f8c44b9b7">e85adf3</a>
Merge pull request #5092 from
qburst/issue-4949/fix/placeholder-typo</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/81ab24deed16b6c569ee10f875c9e133dd36dd3a">81ab24d</a>
✏️ Fix the time input&#x27;s placeholder typo</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/18be5fae4bceb27880cce276403d77b5bc4fa048">18be5fa</a>
chore(deps): bump express from 4.19.2 to 4.21.0 in /docs-site</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/5c5a7e00afaa97527a3fc0b037ca43c03e51b01b">5c5a7e0</a>
chore(deps): bump express from 4.19.2 to 4.21.0 in
/examples/hello-world</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/d080ec3d593cdc992de7a48d55ab97a9bef552c6">d080ec3</a>
Merge pull request #5082 from
Hacker0x01/dependabot/npm_and_yarn/sass-1.78.0</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/553cdca22cf10b32fafb388428dd78eb93dcd5c9">553cdca</a>
Merge pull request #5086 from
Hacker0x01/dependabot/npm_and_yarn/rollup-4.21.3</li>
<li><a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/commit/c0b68b11901f52243caaaf85c426876e0bd88dc4">c0b68b1</a>
Merge pull request #5087 from
Hacker0x01/dependabot/npm_and_yarn/eslint-plugin-react-7.36.1</li>
    </ul>

<a
href="https://snyk.io/redirect/github/Hacker0x01/react-datepicker/compare/c550195e21191b920bebe7c1430ce22cd39ef03a...5454eb6e26741c97ba3111bba563b9d762e988f9">Compare</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIxNWY4ODBkNi1hNjMzLTQ1ZWItYThmOS1jMDI4ZmI3NDQ3NDQiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjE1Zjg4MGQ2LWE2MzMtNDVlYi1hOGY5LWMwMjhmYjc0NDc0NCJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669/settings/integration?pkg&#x3D;react-datepicker&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"15f880d6-a633-45eb-a8f9-c028fb744744","prPublicId":"15f880d6-a633-45eb-a8f9-c028fb744744","dependencies":[{"name":"react-datepicker","from":"7.3.0","to":"7.4.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/dawoudio/project/e27b08aa-e5d2-4b10-8303-630a69d0b669?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"e27b08aa-e5d2-4b10-8303-630a69d0b669","env":"prod","prType":"upgrade","vulns":["SNYK-JS-SUMMERNOTE-568471"],"issuesToFix":[{"issueId":"SNYK-JS-SUMMERNOTE-568471","severity":"medium","title":"Cross-site
Scripting
(XSS)","exploitMaturity":"no-known-exploit","priorityScore":226,"priorityScoreFactors":[{"type":"exploit","label":"Unproven","score":11},{"type":"cvssScore","label":"4.3","score":215},{"type":"scoreVersion","label":"v1","score":1}]}],"upgrade":["SNYK-JS-SUMMERNOTE-568471"],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2024-09-22T18:10:18.345Z","isPrivateUpgrade":false},"templateVariants":["priorityScore"],"hasFixes":true,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[226]})
--->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants