{"id":20756240,"url":"https://github.com/supsugam/react-native-text-watcher","last_synced_at":"2026-04-14T03:32:11.595Z","repository":{"id":240268475,"uuid":"802097190","full_name":"supSugam/react-native-text-watcher","owner":"supSugam","description":"Detects and Warns you unwrapped text strings in React Native projects.","archived":false,"fork":false,"pushed_at":"2025-03-18T13:47:43.000Z","size":4802,"stargazers_count":1,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-03T10:01:51.114Z","etag":null,"topics":["diagnostics","extension","javascript","linter","react","react-native","text-watcher","typescript","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=supSugam.react-native-text-watcher","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supSugam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-17T14:15:00.000Z","updated_at":"2025-11-29T22:15:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"5176b86b-60d4-4c6e-b689-f253c3f3e41b","html_url":"https://github.com/supSugam/react-native-text-watcher","commit_stats":null,"previous_names":["supsugam/react-native-text-watcher"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/supSugam/react-native-text-watcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supSugam%2Freact-native-text-watcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supSugam%2Freact-native-text-watcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supSugam%2Freact-native-text-watcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supSugam%2Freact-native-text-watcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supSugam","download_url":"https://codeload.github.com/supSugam/react-native-text-watcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supSugam%2Freact-native-text-watcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31781292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["diagnostics","extension","javascript","linter","react","react-native","text-watcher","typescript","vscode-extension"],"created_at":"2024-11-17T09:30:00.106Z","updated_at":"2026-04-14T03:32:11.557Z","avatar_url":"https://github.com/supSugam.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Native Text Watcher\n\nWelcome to the **React Native Text Watcher** extension! This extension helps you catch a common mistake in React Native development by providing warnings when text strings are not wrapped within a `\u003cText\u003e` component.\n\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/logo.png?raw=true\" alt=\"logo\" width=\"300\"\u003e\n\u003c/p\u003e\n\n## Features\n\n- 📐 **Accurate JSX Parsing**: Precisely identifies JSX portions in your code.\n- ⚠️ **Text Wrapping Warnings**: Get warnings when you don't wrap text strings within a `\u003cText\u003e` component.\n- 🛞 **Custom Text Components**: Supress warnings for your custom text components.\n- 🔍 **Smart Detection**: Warns you in most cases except for function calls that return strings or string variables.\n\n|                                                               Problem                                                                |                                       Prevention to the Problem                                       |\n| :----------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: |\n| \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/media/images/error.png?raw=true\" alt=\"logo\" width=\"300\"\u003e | ![](https://github.com/supSugam/react-native-text-watcher/blob/master/media/images/demo.png?raw=true) |\n\n\u003c/br\u003e\n\n|                                                                 Adding Custom Text Components                                                                 |                                                            Removing Custom Text Component                                                            |\n| :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------: |\n| \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/media/gifs/add-custom-components.gif?raw=true\" alt=\"rn-text-watcher\" width=\"95%\"\u003e | \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/media/gifs/remove-custom-components.gif?raw=true\" alt=\"rn-text-watcher\"\u003e |\n\n|                                                                Change Severity (Warning) Type                                                                |                                                       Manual Configuration (.vscode/settings.json)                                                       |\n| :----------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------: |\n| \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/media/gifs/change-severity-type.gif?raw=true\" alt=\"rn-text-watcher\" width=\"485\"\u003e | \u003cimg src=\"https://github.com/supSugam/react-native-text-watcher/blob/master/media/images/settings-json.png?raw=true\" width=\"100%\" alt=\"rn-text-watcher\"\u003e |\n\n## Requirements\n\n- A project with `react-native` in `package.json` dependencies.\n- The extension activates only for `.tsx` and `.jsx` files.\n- TypeScript Installed in your `node_modules`.\n\n## Extension Options\n\nThis extension contributes the following settings:\n\n- `reactNativeTextWatcher.enable`: Enable/disable this extension.\n- `react-native-text.changeSeverityType`: Set the severity of the warnings: `Error`, `Warning`, `Information`, `Hint` (default: `Warning`).\n- `react-native-text.manageTextComponents`: An array of Component Name that you want to supress text warnings for (default: `Text`).\n\n## Known Issues\n\n- Does not currently warn for function calls that return strings or string variables.\n\n## Release Notes\n\n### 1.0.3 [Latest]\n\n- NEW: This version only works if you have TypeScript installed as `devDependencies`.\n- Works on mono-repos, the extension will activate when for the first project folder that has `react-native` and `typescript`.\n- Super Lightweight, Extension Size is not 782KiB Only, Reduced by 86.83% 🚀\n\n### 1.0.2\n\n- Fix: Issue with unwanted warn on conditional text string.\n- Excluded unnecessary files from the extension (Reduced Size).\n\n### 1.0.1\n\n- Specify custom text components to supress text warnings for.\n- Change severity type of warnings ie. `Error`, `Warning`, `Information`, `Hint`.\n\n### 1.0.0\n\n- Initial release of React Native Text Watcher.\n- Improved JSX parsing accuracy.\n- Enhanced warning messages.\n\n## Future Plans\n\n- 🚀 **Function Call Detection**: Introduce the ability to warn on function calls that return strings or string variables.\n\n## Personal Note\n\nI am fairly new to React Native. I somehow managed to build a music app using React Native for my final year project. During that period, I often encountered this error: \"Text strings must be rendered within a `\u003cText\u003e` component.\"\n\nIt wasn't a serious error, but it was definitely annoying when I forgot to wrap a text with the `\u003cText\u003e` component. That error screen with the red header was a constant source of frustration.\n\nSo, I came up with this small VS Code extension, **React Native Text Watcher**. It's not complete but offers a good enough solution to give you warnings in obvious cases.\n\nI'm open to collaboration! If you have any ideas or improvements, feel free to contribute.\n\n**Enjoy!** 🎉\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupsugam%2Freact-native-text-watcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupsugam%2Freact-native-text-watcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupsugam%2Freact-native-text-watcher/lists"}