# How to find examples of Jest-based plugin tests When first writing [[for Plugin Developers to Automate Tests|automated tests]], it can be useful to review existing test code for ideas. For the popular [Jest](https://jestjs.io) framework, there are already many community plugins to review. ## Obsidian Plugins Depending on Jest As of 2023-11-21. *Note: No guarantee that there are any tests written or run!* - adziok/[obsidian-incremental-id](https://github.com/adziok/obsidian-incremental-id) - aidenlx/[marginnote-companion](https://github.com/aidenlx/marginnote-companion) - anpigon/[obsidian-book-search-plugin](https://github.com/anpigon/obsidian-book-search-plugin) - anpigon/[obsidian-steemit-plugin](https://github.com/anpigon/obsidian-steemit-plugin) - anpigon/[obsidian-tistory-plugin](https://github.com/anpigon/obsidian-tistory-plugin) - AwesomeDog/[obsidian-awesome-flashcard](https://github.com/AwesomeDog/obsidian-awesome-flashcard) - beaussan/[update-time-on-edit-obsidian](https://github.com/beaussan/update-time-on-edit-obsidian) - benhughes/[obsidian-link-exploder](https://github.com/benhughes/obsidian-link-exploder) - benr77/[obsidian-gitlab-issues](https://github.com/benr77/obsidian-gitlab-issues) - bkyle/[obsidian-vault-statistics-plugin](https://github.com/bkyle/obsidian-vault-statistics-plugin) - blacksmithgu/[obsidian-dataview](https://github.com/blacksmithgu/obsidian-dataview) - BumbrT/[obsidian-reading-comments](https://github.com/BumbrT/obsidian-reading-comments) - carlonicora/[obsidian-rpg-manager](https://github.com/carlonicora/obsidian-rpg-manager) - carvah/[markdown-tree-plugin](https://github.com/carvah/markdown-tree-plugin) - charliecm/[obsidian-tidy-footnotes](https://github.com/charliecm/obsidian-tidy-footnotes) - chhoumann/[MetaEdit](https://github.com/chhoumann/MetaEdit) - clouedoc/[postgresql-obsidian](https://github.com/clouedoc/postgresql-obsidian) - CMorooney/[obsidian-game-search-plugin](https://github.com/CMorooney/obsidian-game-search-plugin) - coddingtonbear/[obsidian-csv-table](https://github.com/coddingtonbear/obsidian-csv-table) - coddingtonbear/[obsidian-itinerary](https://github.com/coddingtonbear/obsidian-itinerary) - coddingtonbear/[obsidian-local-rest-api](https://github.com/coddingtonbear/obsidian-local-rest-api) - danielo515/[obsidian-modal-form](https://github.com/danielo515/obsidian-modal-form) - darlal/[obsidian-switcher-plus](https://github.com/darlal/obsidian-switcher-plus) - davish/[obsidian-full-calendar](https://github.com/davish/obsidian-full-calendar) - denisoed/[obsidian-orthography](https://github.com/denisoed/obsidian-orthography) - dennisseidel/[obsidian-todoist-link](https://github.com/dennisseidel/obsidian-todoist-link) - dpickett/[open-related-url](https://github.com/dpickett/open-related-url) - eatgrass/[obsidian-vocab-highlighter](https://github.com/eatgrass/obsidian-vocab-highlighter) - ebullient/[obsidian-day-planner-og](https://github.com/ebullient/obsidian-day-planner-og) - ebullient/[obsidian-snippetor](https://github.com/ebullient/obsidian-snippetor) - ebullient/[obsidian-task-collector](https://github.com/ebullient/obsidian-task-collector) - edonyzpc/[personal-assistant](https://github.com/edonyzpc/personal-assistant) - elias-sundqvist/[obsidian-annotator](https://github.com/elias-sundqvist/obsidian-annotator) - Erl-koenig/[obsidian-checkboxReorder](https://github.com/Erl-koenig/obsidian-checkboxReorder) - erykwalder/[quoth](https://github.com/erykwalder/quoth) - fantasycalendar/[obsidian-fantasy-calendar](https://github.com/fantasycalendar/obsidian-fantasy-calendar) - Fevol/[obsidian-translate](https://github.com/Fevol/obsidian-translate) - fez-github/[obsidian-multi-tag](https://github.com/fez-github/obsidian-multi-tag) - FHachez/[obsidian-convert-url-to-iframe](https://github.com/FHachez/obsidian-convert-url-to-iframe) - fleetingnotes/[fleeting-notes-obsidian](https://github.com/fleetingnotes/fleeting-notes-obsidian) - ganesshkumar/[obsidian-table-editor](https://github.com/ganesshkumar/obsidian-table-editor) - Gorkycreator/[obsidian-quick-tagger](https://github.com/Gorkycreator/obsidian-quick-tagger) - greater-than/[Obsidian-Tracker-Plus](https://github.com/greater-than/Obsidian-Tracker-Plus) - greater-than/[Obsidian-Tracker-Plus](https://github.com/greater-than/Obsidian-Tracker-Plus) - gtg922r/[obsidian-numerals](https://github.com/gtg922r/obsidian-numerals) - hadynz/[obsidian-kindle-plugin](https://github.com/hadynz/obsidian-kindle-plugin) - ivan-lednev/[obsidian-day-planner](https://github.com/ivan-lednev/obsidian-day-planner) - ivan-lednev/[obsidian-task-archiver](https://github.com/ivan-lednev/obsidian-task-archiver) - j0rd1smit/[obsidian-copilot-auto-completion](https://github.com/j0rd1smit/obsidian-copilot-auto-completion) - javalent/[initiative-tracker](https://github.com/javalent/initiative-tracker) - JeppeKlitgaard/[ObsidianAnkiBridge](https://github.com/JeppeKlitgaard/ObsidianAnkiBridge) - jglev/[obsidian-paste-mode](https://github.com/jglev/obsidian-paste-mode) - joethei/[obsidian-link-favicon](https://github.com/joethei/obsidian-link-favicon) - joethei/[obsidian-rss](https://github.com/joethei/obsidian-rss) - johansatge/[obsidian-automatic-table-of-contents](https://github.com/johansatge/obsidian-automatic-table-of-contents) - k4a-l/[obsidian-heading-shifter](https://github.com/k4a-l/obsidian-heading-shifter) - kbravh/[obsidian-tweet-to-markdown](https://github.com/kbravh/obsidian-tweet-to-markdown) - kemayo/[obsidian-smart-links](https://github.com/kemayo/obsidian-smart-links) - kenlim/[file-chucker-plugin](https://github.com/kenlim/file-chucker-plugin) - Kevger/[obsidian-laws-of-form](https://github.com/Kevger/obsidian-laws-of-form) - kometenstaub/[linked-data-helper](https://github.com/kometenstaub/linked-data-helper) - kometenstaub/[linked-data-vocabularies](https://github.com/kometenstaub/linked-data-vocabularies) - kometenstaub/[metadata-extractor](https://github.com/kometenstaub/metadata-extractor) - kometenstaub/[obsidian-version-history-diff](https://github.com/kometenstaub/obsidian-version-history-diff) - konodyuk/[obsidian-typing](https://github.com/konodyuk/obsidian-typing) - larslockefeer/[obsidian-plugin-todo](https://github.com/larslockefeer/obsidian-plugin-todo) - leonhma/[obsidian-functionplot](https://github.com/leonhma/obsidian-functionplot) - levirs565/[obsidian-dendron-tree](https://github.com/levirs565/obsidian-dendron-tree) - lhansford/[obsidian-checklist-reset](https://github.com/lhansford/obsidian-checklist-reset) - LiamRiddell/[obsidian-solve](https://github.com/LiamRiddell/obsidian-solve) - logancyang/[obsidian-copilot](https://github.com/logancyang/obsidian-copilot) - lstrzepek/[obsidian-yt-transcript](https://github.com/lstrzepek/obsidian-yt-transcript) - lucasbordeau/[obsidian-tiddlywiki](https://github.com/lucasbordeau/obsidian-tiddlywiki) - marc0l92/[obsidian-jira-issue](https://github.com/marc0l92/obsidian-jira-issue) - marcusolsson/[obsidian-projects](https://github.com/marcusolsson/obsidian-projects) - mdelobelle/[metadatamenu](https://github.com/mdelobelle/metadatamenu) - micahke/[obsidian-gpt3-notes](https://github.com/micahke/obsidian-gpt3-notes) - MichaBrugger/[booksidian_plugin](https://github.com/MichaBrugger/booksidian_plugin) - michaeladams/[obsidian-text-progress-bar](https://github.com/michaeladams/obsidian-text-progress-bar) - mii-key/[obsidian-links](https://github.com/mii-key/obsidian-links) - mokeyish/[obsidian-enhancing-export](https://github.com/mokeyish/obsidian-enhancing-export) - moolmanruan/[obsidian-sequence-hotkeys](https://github.com/moolmanruan/obsidian-sequence-hotkeys) - motif-software/[obsimian](https://github.com/motif-software/obsimian) - mProjectsCode/[obsidian-media-db-plugin](https://github.com/mProjectsCode/obsidian-media-db-plugin) - mrjackphil/[obsidian-text-expand](https://github.com/mrjackphil/obsidian-text-expand) - MSzturc/[obsidian-advanced-slides](https://github.com/MSzturc/obsidian-advanced-slides) - mvgrimes/[obsidian-todotxt-plugin](https://github.com/mvgrimes/obsidian-todotxt-plugin) - nakalsio/[obsidian-danpung](https://github.com/nakalsio/obsidian-danpung) - Narsail/[habit-tracker-obsidian](https://github.com/Narsail/habit-tracker-obsidian) - nevernotmove/[obsidian-chordlyrics](https://github.com/nevernotmove/obsidian-chordlyrics) - obsidian-tasks-group/[obsidian-tasks](https://github.com/obsidian-tasks-group/obsidian-tasks) - Odaimoko/[tag-project](https://github.com/Odaimoko/tag-project) - oleeskild/[obsidian-digital-garden](https://github.com/oleeskild/obsidian-digital-garden) - OlegLustenko/[obsidian-bulk-rename](https://github.com/OlegLustenko/obsidian-bulk-rename) - omardelarosa/[obsidian-mtg](https://github.com/omardelarosa/obsidian-mtg) - omnivore-app/[obsidian-omnivore](https://github.com/omnivore-app/obsidian-omnivore) - onlyafly/[number-headings-obsidian](https://github.com/onlyafly/number-headings-obsidian) - platers/[obsidian-linter](https://github.com/platers/obsidian-linter) - pmorim/[obsidian-chess](https://github.com/pmorim/obsidian-chess) - prncc/[obsidian-repeat-plugin](https://github.com/prncc/obsidian-repeat-plugin) - ptournet/[obsidian-html-tabs](https://github.com/ptournet/obsidian-html-tabs) - pvojtechovsky/[obsidian-link-with-alias](https://github.com/pvojtechovsky/obsidian-link-with-alias) - RafaelGB/[obsidian-db-folder](https://github.com/RafaelGB/obsidian-db-folder) - RafaelGB/[Obsidian-ZettelFlow](https://github.com/RafaelGB/Obsidian-ZettelFlow) - raineszm/[obsidian-export-to-tex](https://github.com/raineszm/obsidian-export-to-tex) - raineszm/[obsidian-latex-environments](https://github.com/raineszm/obsidian-latex-environments) - reuseman/[flashcards-obsidian](https://github.com/reuseman/flashcards-obsidian) - rwirdemann/[obsidian-week-planner](https://github.com/rwirdemann/obsidian-week-planner) - ryangomba/[obsidian-todo-sort](https://github.com/ryangomba/obsidian-todo-sort) - samuele-cozzi/[obsidian-marp-slides](https://github.com/samuele-cozzi/obsidian-marp-slides) - scambier/[obsidian-omnisearch](https://github.com/scambier/obsidian-omnisearch) - SebastianMC/[obsidian-custom-sort](https://github.com/SebastianMC/obsidian-custom-sort) - shoedler/[crossbow](https://github.com/shoedler/crossbow) - SimonTC/[obsidian-note-autocreation](https://github.com/SimonTC/obsidian-note-autocreation) - snezhig/[obsidian-front-matter-title](https://github.com/snezhig/obsidian-front-matter-title) - songkg7/[o2](https://github.com/songkg7/o2) - st3v3nmw/[obsidian-spaced-repetition](https://github.com/st3v3nmw/obsidian-spaced-repetition) - sundevista/[local-quotes](https://github.com/sundevista/local-quotes) - swar8080/[obsidian-plugin-update-tracker](https://github.com/swar8080/obsidian-plugin-update-tracker) - symunona/[obsidian-bulk-exporter](https://github.com/symunona/obsidian-bulk-exporter) - sytone/[obsidian-queryallthethings](https://github.com/sytone/obsidian-queryallthethings) - tadashi-aikawa/[obsidian-another-quick-switcher](https://github.com/tadashi-aikawa/obsidian-another-quick-switcher) - tadashi-aikawa/[obsidian-various-complements-plugin](https://github.com/tadashi-aikawa/obsidian-various-complements-plugin) - tadashi-aikawa/[shukuchi](https://github.com/tadashi-aikawa/shukuchi) - TakamiChie/[Obsidian_CharacterInsertionPlugin](https://github.com/TakamiChie/Obsidian_CharacterInsertionPlugin) - tansongchen/[obsidian-note-synchronizer](https://github.com/tansongchen/obsidian-note-synchronizer) - TechTheAwesome/[obsidian-s3](https://github.com/TechTheAwesome/obsidian-s3) - tgrosinger/[crumbs-obsidian](https://github.com/tgrosinger/crumbs-obsidian) - tgrosinger/[ledger-obsidian](https://github.com/tgrosinger/ledger-obsidian) - Tiim/[obsidian-attendance](https://github.com/Tiim/obsidian-attendance) - tillahoffmann/[obsidian-file-include](https://github.com/tillahoffmann/obsidian-file-include) - timhor/[obsidian-editor-shortcuts](https://github.com/timhor/obsidian-editor-shortcuts) - timhor/[obsidian-sentence-navigator](https://github.com/timhor/obsidian-sentence-navigator) - tmfelwu/[obsidian-inbox](https://github.com/tmfelwu/obsidian-inbox) - trey-wallis/[obsidian-dataloom](https://github.com/trey-wallis/obsidian-dataloom) - ulisesantana/[obsidian-pending-notes](https://github.com/ulisesantana/obsidian-pending-notes) - val3344/[obsidian-update-relative-links](https://github.com/val3344/obsidian-update-relative-links) - veritas1/[eleven-labs-obsidian-plugin](https://github.com/veritas1/eleven-labs-obsidian-plugin) - vslinko/[obsidian-outliner](https://github.com/vslinko/obsidian-outliner) - vslinko/[obsidian-zoom](https://github.com/vslinko/obsidian-zoom) - Wanxp/[obsidian-douban](https://github.com/Wanxp/obsidian-douban) - wenlzhang/[obsidian-task-marker](https://github.com/wenlzhang/obsidian-task-marker) - yajamon/[obsidian-command-alias-plugin](https://github.com/yajamon/obsidian-command-alias-plugin) - zjhcn/[obsidian-code-preview](https://github.com/zjhcn/obsidian-code-preview) - zlovatt/[obsidian-trim-whitespace](https://github.com/zlovatt/obsidian-trim-whitespace) ## Updating the list of plugins ```bash git clone https://github.com/claremacrae/obsidian-repos-downloader.git cd obsidian-repos-downloader python3 obsidian-repos-downloader.py -t plugins --group-by-user ``` Then, make a file called `format.py` with the following contents: ```py from pathlib import Path for path in Path('plugins').rglob('jest.config.*'): parts = path.parts author = parts[1] name = parts[2] print(f"- {author}/[{name}](https://github.com/{author}/{name})") ``` Then, ```python3 format.py``` %% Hub footer: Please don't edit anything below this line %% # This note in GitHub <span class="git-footer">[Edit In GitHub](https://github.dev/obsidian-community/obsidian-hub/blob/main/04%20-%20Guides%2C%20Workflows%2C%20%26%20Courses/Guides/How%20to%20find%20examples%20of%20Jest-based%20plugin%20tests.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/obsidian-community/obsidian-hub/main/04%20-%20Guides%2C%20Workflows%2C%20%26%20Courses/Guides/How%20to%20find%20examples%20of%20Jest-based%20plugin%20tests.md "git-hub-copy-note") | [Download this vault](https://github.com/obsidian-community/obsidian-hub/archive/refs/heads/main.zip "git-hub-download-vault") </span>