| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:2bb50786-d871-a7b2-1b86-8a6bbdc29199 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E960:143C91:7FBF7C:AA27B3:6AED2659 |
| html-safe-nonce | c42e221ef4545c113ea4d683c9144e4ca9d673d3735d0bac5291896657db0906 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFOTYwOjE0M0M5MTo3RkJGN0M6QUEyN0IzOjZBRUQyNjU5IiwidmlzaXRvcl9pZCI6IjY5MTA3NTIyNTM5NDE3MjA2NjUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | b1bf560be0544f911601db4f52d29d3393a9f410a8fd0b09cc18229fdb67c716 |
| hovercard-subject-tag | pull_request:3809794724 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/nodejs/node/63753/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/531c699bc42d6cff225d09322f4d1e456f36e1c6c322fa626044f512e4f5b420/nodejs/node/pull/63753 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/531c699bc42d6cff225d09322f4d1e456f36e1c6c322fa626044f512e4f5b420/nodejs/node/pull/63753 |
| og:image:alt | What this changes
NormalizeString() in src/path.cc is the lexical path-normalization core
behind PathResolve(), NormalizeFileURLOrPath() and ToNamespacedPath().
It collapses //, removes ., resolves... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | whoekage |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9d95365dda0576efe9b71f45807595e396bd0ca9286fba5367a05048e6ddf8f2 |
| turbo-cache-control | no-cache |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 98b41fa4b5635ceb45a4c54320fced73817ff290 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | pull-requests |
| Skip to content | https://github.com/nodejs/node/pull/63753#start-of-content |
| https://github.com/ |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F63753 |
| GitHubRepository hosting, code review, and collaboration | https://github.com/platform |
| CopilotAI coding agent for tasks, projects, and automated work | https://github.com/features/copilot |
| ActionsCI/CD and automation | https://github.com/features/actions |
| Code QualityQuality analysis, fixes, and enforcement | https://github.com/features/code-quality |
| CodespacesCloud development environments | https://github.com/features/codespaces |
| Code SecurityVulnerability detection and remediation | https://github.com/security/advanced-security/code-security |
| Secret ProtectionSecret scanning and leak prevention | https://github.com/security/advanced-security/secret-protection |
| All Features | https://github.com/features |
| Documentation | https://docs.github.com/en |
| Training | https://learn.github.com/skills |
| Certifications | https://learn.github.com/credentials |
| Build with Copilot | https://github.com/features/ai |
| Customize Copilot | https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview |
| Integrations | https://github.com/marketplace |
| Trending repos | https://github.com/trending |
| GitHub Sponsors | https://github.com/open-source/sponsors |
| Developer articles | https://github.com/resources/articles |
| ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place. | https://github.blog/changelog/ |
| Enterprises | https://github.com/enterprise |
| Team | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| See all industries | https://github.com/solutions/industry |
| Why GitHub | https://github.com/why-github |
| Customer Stories | https://github.com/customer-stories |
| Business insights | https://github.com/solutions/executive-insights |
| Trust Center | https://github.com/trust-center |
| GitHub Advanced SecurityEnterprise-grade code security | https://github.com/security/advanced-security |
| Copilot for businessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Documentation | https://docs.github.com/en |
| Resource center | https://github.com/resources |
| Blog | https://github.blog/ |
| Events & webinars | https://github.com/resources/events |
| Community Forum | https://github.com/orgs/community/discussions |
| Customer Stories | https://github.com/customer-stories |
| Integrations | https://github.com/marketplace |
| Customer support | https://help.github.com/ |
| Training | https://learn.github.com/skills |
| GitHub Status | https://www.githubstatus.com/ |
| About | https://github.com/about |
| Partners | https://github.com/partners |
| Changelog | https://github.blog/changelog/ |
| GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub. | https://githubuniverse.com/ |
| Pricing | https://github.com/pricing |
| Sign in | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F63753 |
| Sign up | https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=nodejs%2Fnode |
| Reload | https://github.com/nodejs/node/pull/63753 |
| Reload | https://github.com/nodejs/node/pull/63753 |
| Reload | https://github.com/nodejs/node/pull/63753 |
| nodejs | https://github.com/nodejs |
| node | https://github.com/nodejs/node |
| Code | https://github.com/nodejs/node |
| Issues657 (657) | https://github.com/nodejs/node/issues |
| Pull requests666 (666) | https://github.com/nodejs/node/pulls |
| Actions | https://github.com/nodejs/node/actions |
| Projects | https://github.com/nodejs/node/projects |
| Security and quality | https://github.com/nodejs/node/security |
| Insights | https://github.com/nodejs/node/pulse |
| https://github.com/nodejs/node |
| whoekage | https://github.com/whoekage |
| nodejs:main | https://github.com/nodejs/node/tree/main |
| whoekage:perf/path-cc-normalizestring | https://github.com/whoekage/node/tree/perf/path-cc-normalizestring |
| Conversation | https://github.com/nodejs/node/pull/63753 |
| Commits2 (2) | https://github.com/nodejs/node/pull/63753/commits |
| Checks | https://github.com/nodejs/node/pull/63753/checks |
| Files changed | https://github.com/nodejs/node/pull/63753/files |
| src: optimize NormalizeString to cut allocations and copies | https://github.com/nodejs/node/pull/63753#top |
| whoekage | https://github.com/whoekage |
| nodejs:main | https://github.com/nodejs/node/tree/main |
| whoekage:perf/path-cc-normalizestring | https://github.com/whoekage/node/tree/perf/path-cc-normalizestring |
|
| https://github.com/whoekage |
| whoekage | https://github.com/whoekage |
| Jun 5, 2026 | https://github.com/nodejs/node/pull/63753#issue-4596594051 |
| #50288 | https://github.com/nodejs/node/pull/50288 |
| commit guidelines | https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
| https://github.com/nodejs-github-bot |
| nodejs-github-bot | https://github.com/nodejs-github-bot |
|
c++
| https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Ac%2B%2B |
|
needs-ci
| https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Aneeds-ci |
| Jun 5, 2026 | https://github.com/nodejs/node/pull/63753#event-26382694879 |
| https://github.com/whoekage |
| whoekage | https://github.com/whoekage |
|
Jun 5, 2026
| https://github.com/nodejs/node/pull/63753#ref-pullrequest-4554909504 |
|
path: remove StringPrototypeCharCodeAt from more posix methods
#63662
| https://github.com/nodejs/node/pull/63662 |
| https://github.com/StefanStojanovic |
| StefanStojanovic | https://github.com/StefanStojanovic |
| Jul 24, 2026 | https://github.com/nodejs/node/pull/63753#issuecomment-5069797958 |
| here | https://github.com/nodejs/node/tree/main/benchmark |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
| https://github.com/MikeMcC399 |
| Sign in to view | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F63753 |
| https://github.com/MikeMcC399 |
| Sign in to view | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F63753 |
| whoekage | https://github.com/whoekage |
| September 7, 2026 10:09 | https://github.com/nodejs/node/pull/63753#commits-pushed-50bec78 |
|
| https://github.com/whoekage |
| src: optimize NormalizeString to cut allocations and copies | https://github.com/nodejs/node/pull/63753/commits/50bec782e114112fa56c60fba2684c8b13bf5189 |
| 50bec78 | https://github.com/nodejs/node/pull/63753/commits/50bec782e114112fa56c60fba2684c8b13bf5189 |
|
| https://github.com/whoekage |
| benchmark: add permission fs.read path shape benchmark | https://github.com/nodejs/node/pull/63753/commits/6a2778da21a420e5b89bdc1f73ab950466e8321a |
| 6a2778d | https://github.com/nodejs/node/pull/63753/commits/6a2778da21a420e5b89bdc1f73ab950466e8321a |
| https://github.com/whoekage |
| whoekage | https://github.com/whoekage |
| force-pushed | https://github.com/nodejs/node/compare/78315cef89c2ae4ffa88e22b6ff17a3bda6155ee..6a2778da21a420e5b89bdc1f73ab950466e8321a |
| 78315ce | https://github.com/nodejs/node/commit/78315cef89c2ae4ffa88e22b6ff17a3bda6155ee |
| 6a2778d | https://github.com/nodejs/node/commit/6a2778da21a420e5b89bdc1f73ab950466e8321a |
|
Compare
| https://github.com/nodejs/node/compare/78315cef89c2ae4ffa88e22b6ff17a3bda6155ee..6a2778da21a420e5b89bdc1f73ab950466e8321a |
| September 7, 2026 05:53 | https://github.com/nodejs/node/pull/63753#event-30668636143 |
| https://github.com/whoekage |
| whoekage | https://github.com/whoekage |
| Sep 7, 2026 | https://github.com/nodejs/node/pull/63753#issuecomment-5565809088 |
| @StefanStojanovic | https://github.com/StefanStojanovic |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
| https://github.com/apps/codecov |
| codecov | https://github.com/apps/codecov |
| Sep 7, 2026 | https://github.com/nodejs/node/pull/63753#issuecomment-5567014586 |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
| Codecov | https://app.codecov.io/gh/nodejs/node/pull/63753?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs |
| 695f01f | https://app.codecov.io/gh/nodejs/node/commit/695f01f46942a57920c009f3c3e4677a560708ba?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs |
| 6a2778d | https://app.codecov.io/gh/nodejs/node/commit/6a2778da21a420e5b89bdc1f73ab950466e8321a?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs |
| Files with missing lines | https://app.codecov.io/gh/nodejs/node/pull/63753?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs |
| src/path.cc | https://app.codecov.io/gh/nodejs/node/pull/63753?src=pr&el=tree&filepath=src%2Fpath.cc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs#diff-c3JjL3BhdGguY2M= |
| 38 files with indirect coverage changes | https://app.codecov.io/gh/nodejs/node/pull/63753/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=nodejs |
| Test Analytics | https://docs.codecov.com/docs/test-analytics |
| JS Bundle Analysis | https://docs.codecov.com/docs/javascript-bundle-analysis |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
| https://github.co/hiddenchars |
| https://github.com/nodejs/node/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fpull%2F63753 |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
|
c++
| https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Ac%2B%2B |
|
needs-ci
| https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3Aneeds-ci |
| Please reload this page | https://github.com/nodejs/node/pull/63753 |
|
| https://github.com/whoekage |
|
| https://github.com/StefanStojanovic |
|
| https://github.com/MikeMcC399 |
|
| https://github.com/nodejs-github-bot |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |