René's URL Explorer Experiment


Title: feat: Add runtime errors overlay to show undefined nodes location by GuiDevloper · Pull Request #372 · nullstack/nullstack · GitHub

Open Graph Title: feat: Add runtime errors overlay to show undefined nodes location by GuiDevloper · Pull Request #372 · nullstack/nullstack

X Title: feat: Add runtime errors overlay to show undefined nodes location by GuiDevloper · Pull Request #372 · nullstack/nullstack

Description: TL;DR: UndefinedNodesOverlay-speed.mp4 Full component used in the test above: NullstackOverlayTester.tsx Important notes Two routes were added for when environment.development === true (written in server/devRoutes.js): /nullstack-dev-server/get-file?fileName=full/path/to/File.jsx&lineNumber=20&columnNumber=2: Returns the formatted file pointing exactly where the undefined error happens and the relativePath to it (for showing purposes). /nullstack-dev-server/open-editor?fileName=full/path/to/File.jsx:20:2: Opens editor in that line/column using Evan You's launch-editor. The default editor can be configured, I moved that possibility to a env variable NULLSTACK_EDITOR defaulting to VSCode. Only works in development mode (when __source object is injected for every node by SWC & Babel), otherwise throws saying to retry that route in development mode to see the source of error. The errors are always cleared at every generateTree call, keeping it all updated at every rerender step. Throws became the last-case warning, only happening in production (__source === undefined) or when the main component tries to render an undefined node itself, like: import Nullstack from 'nullstack' export default class Application extends Nullstack { render() { return } }

Open Graph Description: TL;DR: UndefinedNodesOverlay-speed.mp4 Full component used in the test above: NullstackOverlayTester.tsx Important notes Two routes were added for when en...

X Description: TL;DR: UndefinedNodesOverlay-speed.mp4 Full component used in the test above: NullstackOverlayTester.tsx Important notes Two routes were added for when en...

Opengraph URL: https://github.com/nullstack/nullstack/pull/372

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:db67feed-d2d7-3bbc-6fd5-abe51a22c50c
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idDA4A:11504:40F73A:55BD34:698E5358
html-safe-nonce9494071ad3e6e153ec3af385ba17d6ec4c442f015416dab7f4090cb928b81c2c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQTRBOjExNTA0OjQwRjczQTo1NUJEMzQ6Njk4RTUzNTgiLCJ2aXNpdG9yX2lkIjoiODkwMTE5NTY1NzA2NDE2OTg0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmace551d0dca90cc33db6a166186e3b677ef6ea58db0d178cafcd2b66a051f8dfa9
hovercard-subject-tagpull_request:1467463629
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/nullstack/nullstack/pull/372/files
twitter:imagehttps://avatars.githubusercontent.com/u/31557312?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/31557312?s=400&v=4
og:image:altTL;DR: UndefinedNodesOverlay-speed.mp4 Full component used in the test above: NullstackOverlayTester.tsx Important notes Two routes were added for when en...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None0e08b85f0035d49bc4c22868f70a4d30fb8c2a777936895c37e78df095242ddc
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/nullstack/nullstack git https://github.com/nullstack/nullstack.git
octolytics-dimension-user_id63256628
octolytics-dimension-user_loginnullstack
octolytics-dimension-repository_id167901193
octolytics-dimension-repository_nwonullstack/nullstack
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id167901193
octolytics-dimension-repository_network_root_nwonullstack/nullstack
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release9416d07f3607b074b276ccc81546278f89608a08
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/nullstack/nullstack/pull/372/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnullstack%2Fnullstack%2Fpull%2F372%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnullstack%2Fnullstack%2Fpull%2F372%2Ffiles
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%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=nullstack%2Fnullstack
Reloadhttps://github.com/nullstack/nullstack/pull/372/files
Reloadhttps://github.com/nullstack/nullstack/pull/372/files
Reloadhttps://github.com/nullstack/nullstack/pull/372/files
nullstack https://github.com/nullstack
nullstackhttps://github.com/nullstack/nullstack
Notifications https://github.com/login?return_to=%2Fnullstack%2Fnullstack
Fork 57 https://github.com/login?return_to=%2Fnullstack%2Fnullstack
Star 783 https://github.com/login?return_to=%2Fnullstack%2Fnullstack
Code https://github.com/nullstack/nullstack
Issues 2 https://github.com/nullstack/nullstack/issues
Pull requests 4 https://github.com/nullstack/nullstack/pulls
Actions https://github.com/nullstack/nullstack/actions
Projects 0 https://github.com/nullstack/nullstack/projects
Security 0 https://github.com/nullstack/nullstack/security
Insights https://github.com/nullstack/nullstack/pulse
Code https://github.com/nullstack/nullstack
Issues https://github.com/nullstack/nullstack/issues
Pull requests https://github.com/nullstack/nullstack/pulls
Actions https://github.com/nullstack/nullstack/actions
Projects https://github.com/nullstack/nullstack/projects
Security https://github.com/nullstack/nullstack/security
Insights https://github.com/nullstack/nullstack/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fnullstack%2Fnullstack%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fnullstack%2Fnullstack%2Fissues%2Fnew%2Fchoose
GuiDevloperhttps://github.com/GuiDevloper
nullstack:nexthttps://github.com/nullstack/nullstack/tree/next
GuiDevloper:error-handlinghttps://github.com/GuiDevloper/nullstack/tree/error-handling
Conversation 1 https://github.com/nullstack/nullstack/pull/372
Commits 7 https://github.com/nullstack/nullstack/pull/372/commits
Checks 0 https://github.com/nullstack/nullstack/pull/372/checks
Files changed https://github.com/nullstack/nullstack/pull/372/files
Please reload this pagehttps://github.com/nullstack/nullstack/pull/372/files
feat: Add runtime errors overlay to show undefined nodes location https://github.com/nullstack/nullstack/pull/372/files#top
Show all changes 7 commits https://github.com/nullstack/nullstack/pull/372/files
58e3a0a ✨ Add overlay to point undefined-nodes GuiDevloper Aug 8, 2023 https://github.com/nullstack/nullstack/pull/372/commits/58e3a0ae146d1095bc928bb0db7b289e2a9ab1e1
0a177ae ✨ Add get-file/open-editor routes to dev server GuiDevloper Aug 8, 2023 https://github.com/nullstack/nullstack/pull/372/commits/0a177ae7dbb61dbbd620202cffbcfaa2ccff2a63
5d79106 ✅ Update UndefinedNodes tests GuiDevloper Aug 8, 2023 https://github.com/nullstack/nullstack/pull/372/commits/5d79106aed684bdf375b54f6a4cbe85b153fab06
85ed07c Merge branch 'next' into error-handling GuiDevloper Aug 9, 2023 https://github.com/nullstack/nullstack/pull/372/commits/85ed07c1a7154cbdde6cdb2990936db7d4d530ff
c9da479 ⚡ Remove errorOverlay from production build GuiDevloper Aug 11, 2023 https://github.com/nullstack/nullstack/pull/372/commits/c9da479dca968150f9ddc20e35798f6516a4a279
7eae773 Merge branch 'next' into error-handling GuiDevloper Aug 30, 2023 https://github.com/nullstack/nullstack/pull/372/commits/7eae773b0fa4f8a60db65b3c9b9f6d0ae89b7366
3b27991 ✨ Improve undefined-nodes overlay GuiDevloper Aug 31, 2023 https://github.com/nullstack/nullstack/pull/372/commits/3b279910bae80b68fd3375745ce764a8286a287f
Clear filters https://github.com/nullstack/nullstack/pull/372/files
Please reload this pagehttps://github.com/nullstack/nullstack/pull/372/files
Please reload this pagehttps://github.com/nullstack/nullstack/pull/372/files
package.json https://github.com/nullstack/nullstack/pull/372/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
devRoutes.js https://github.com/nullstack/nullstack/pull/372/files#diff-02fa90be87ae641e6ee6c3db3ec18cbc6c4383306c40812ef8d43777e14fc730
server.js https://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
element.js https://github.com/nullstack/nullstack/pull/372/files#diff-7b6cb3df079320a09e3aae30bebd9835deb8bf51e0c22ccf34a8fa1923967d32
generateTree.js https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
runtimeError.js https://github.com/nullstack/nullstack/pull/372/files#diff-2a34f621a4b199c1df6f7e1f6e7cd25b2d68adf77f5c93b64d445bbd4560ea29
UndefinedNodes.njs https://github.com/nullstack/nullstack/pull/372/files#diff-9950a97e750665f26a98568d189c1495047529e80f8d19dede75fe7d715b7f15
UndefinedNodes.test.js https://github.com/nullstack/nullstack/pull/372/files#diff-ed67d02eb1029b53268e5f97deaef9683394ed1f5e6054fba532bb8c3303e6fa
package.jsonhttps://github.com/nullstack/nullstack/pull/372/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/package.json
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
https://github.com/nullstack/nullstack/pull/372/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
https://github.com/nullstack/nullstack/pull/372/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
server/devRoutes.jshttps://github.com/nullstack/nullstack/pull/372/files#diff-02fa90be87ae641e6ee6c3db3ec18cbc6c4383306c40812ef8d43777e14fc730
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/server/devRoutes.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
server/server.jshttps://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/server/server.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
https://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
https://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
https://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
https://github.com/nullstack/nullstack/pull/372/files#diff-8cf1ffe3788af127768748703e2f15dcfb3a05ffd20b4c2375223637e3260938
shared/element.jshttps://github.com/nullstack/nullstack/pull/372/files#diff-7b6cb3df079320a09e3aae30bebd9835deb8bf51e0c22ccf34a8fa1923967d32
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/shared/element.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
https://github.com/nullstack/nullstack/pull/372/files#diff-7b6cb3df079320a09e3aae30bebd9835deb8bf51e0c22ccf34a8fa1923967d32
https://github.com/nullstack/nullstack/pull/372/files#diff-7b6cb3df079320a09e3aae30bebd9835deb8bf51e0c22ccf34a8fa1923967d32
shared/generateTree.jshttps://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/shared/generateTree.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
https://github.com/nullstack/nullstack/pull/372/files#diff-89466f6c1e4c534a7d554eda78190adaf4f93861abd482291119239e3765e2d6
shared/runtimeError.jshttps://github.com/nullstack/nullstack/pull/372/files#diff-2a34f621a4b199c1df6f7e1f6e7cd25b2d68adf77f5c93b64d445bbd4560ea29
View file https://github.com/nullstack/nullstack/blob/3b279910bae80b68fd3375745ce764a8286a287f/shared/runtimeError.js
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/nullstack/nullstack/pull/372/{{ revealButtonHref }}
Please reload this pagehttps://github.com/nullstack/nullstack/pull/372/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.