opral / inlang-message-sdk

0 stars 0 forks source link

plugin API where is a message used in source code for "unused message", "hardcoded text", etc. lint rules #8

Open samuelstroschein opened 3 months ago

samuelstroschein commented 3 months ago

Discussed in https://github.com/opral/monorepo/discussions/2126

Originally posted by **samuelstroschein** January 26, 2024 ## Problem Several problems that relate to code can not be linted at the moment. For example: 1. Is this message used? https://github.com/opral/monorepo/discussions/1961 2. Does code include hardcoded text that needs to be extracted? 3. https://github.com/opral/monorepo/discussions/2253 ## Proposal Introduce an API for plugins to report where a message is used in source code. The information where a message is used in source code can be used for several features: - decorators in @opral/inlang-ide-extension - a lint rule that detects unused messages - providing context in @opral/inlang-fink and other apps where a message is used ### Thinks to consider - performance/caching of parsing source code (querying @opral/lix for changes of a file seems to be a quick win and good requirement for lix `repo.fs.file("some-file").lastChange())` - how can the API take as much work from plugin authors as possible e.g. in regards to caching & handling performance
linear[bot] commented 3 months ago