{"id":16223483,"url":"https://github.com/so1ve/unplugin-todo-or-die","last_synced_at":"2025-03-19T12:30:28.110Z","repository":{"id":194318398,"uuid":"690571863","full_name":"so1ve/unplugin-todo-or-die","owner":"so1ve","description":"TODO or Die plugin for JavaScript :)","archived":false,"fork":false,"pushed_at":"2025-03-08T09:04:54.000Z","size":251,"stargazers_count":22,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T18:14:24.003Z","etag":null,"topics":["astro","javascript","quasar","rollup","rspack","todo","typescript","unplugin","vite","webpack"],"latest_commit_sha":null,"homepage":"","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/so1ve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://afdian.net/@so1ve"]}},"created_at":"2023-09-12T13:01:30.000Z","updated_at":"2024-11-12T12:54:42.000Z","dependencies_parsed_at":"2023-09-12T21:52:30.852Z","dependency_job_id":"4766697e-8d1e-48fb-9016-ce0fc8a4cb72","html_url":"https://github.com/so1ve/unplugin-todo-or-die","commit_stats":{"total_commits":70,"total_committers":3,"mean_commits":"23.333333333333332","dds":"0.19999999999999996","last_synced_commit":"d9a791fecc3b10d14e9da5da8eae27dd945effab"},"previous_names":["so1ve/unplugin-todo-or-die"],"tags_count":1,"template":false,"template_full_name":"so1ve/starter-unplugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/so1ve%2Funplugin-todo-or-die","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/so1ve%2Funplugin-todo-or-die/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/so1ve%2Funplugin-todo-or-die/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/so1ve%2Funplugin-todo-or-die/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/so1ve","download_url":"https://codeload.github.com/so1ve/unplugin-todo-or-die/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243989419,"owners_count":20379648,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["astro","javascript","quasar","rollup","rspack","todo","typescript","unplugin","vite","webpack"],"created_at":"2024-10-10T12:19:03.044Z","updated_at":"2025-03-19T12:30:27.553Z","avatar_url":"https://github.com/so1ve.png","language":"TypeScript","readme":"# unplugin-todo-or-die\n\n[![NPM version](https://img.shields.io/npm/v/unplugin-todo-or-die?color=a1b858\u0026label=)](https://www.npmjs.com/package/unplugin-todo-or-die)\n\n\u003e TODO or DIEEEEEEE!!!!!!!!!!!!!\n\nThis plugin turns these TODO comments:\n\n```ts\n// TODO::expires(2021-01-01): do something\n// TODO::expire(2021-01-01): do something\n```\n\nInto such code:\n\n```ts\nif (Date.now() \u003e 1_704_067_200_000) {\n\tthrow new Error(\"TODO expired: do something\");\n}\n```\n\n## 📦 Installation\n\n```bash\n$ npm install -D unplugin-todo-or-die\n$ yarn add -D unplugin-todo-or-die\n$ pnpm add -D unplugin-todo-or-die\n```\n\n## 🚀 Usage\n\n\u003cdetails\u003e\n\u003csummary\u003eVite\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// vite.config.ts\nimport TodoOrDie from \"unplugin-todo-or-die/vite\";\n\nexport default defineConfig({\n\tplugins: [\n\t\tTodoOrDie({\n\t\t\t/* options */\n\t\t}),\n\t],\n});\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eRollup\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// rollup.config.js\nimport TodoOrDie from \"unplugin-todo-or-die/rollup\";\n\nexport default {\n\tplugins: [\n\t\tTodoOrDie({\n\t\t\t/* options */\n\t\t}),\n\t\t// other plugins\n\t],\n};\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eWebpack\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// webpack.config.js\nmodule.exports = {\n\t/* ... */\n\tplugins: [\n\t\trequire(\"unplugin-todo-or-die/webpack\")({\n\t\t\t/* options */\n\t\t}),\n\t],\n};\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eNuxt\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// nuxt.config.ts\nexport default defineNuxtConfig({\n\tmodules: [\"unplugin-todo-or-die/nuxt\"],\n});\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eVue CLI\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// vue.config.js\nmodule.exports = {\n\tconfigureWebpack: {\n\t\tplugins: [\n\t\t\trequire(\"unplugin-todo-or-die/webpack\")({\n\t\t\t\t/* options */\n\t\t\t}),\n\t\t],\n\t},\n};\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eQuasar\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// quasar.conf.js [Vite]\nmodule.exports = {\n\tvitePlugins: [\n\t\t[\n\t\t\t\"unplugin-todo-or-die/vite\",\n\t\t\t{\n\t\t\t\t/* options */\n\t\t\t},\n\t\t],\n\t],\n};\n```\n\n```ts\n// quasar.conf.js [Webpack]\nconst TodoOrDiePlugin = require(\"unplugin-todo-or-die/webpack\");\n\nmodule.exports = {\n\tbuild: {\n\t\tchainWebpack(chain) {\n\t\t\tchain.plugin(\"unplugin-todo-or-die\").use(\n\t\t\t\tTodoOrDiePlugin({\n\t\t\t\t\t/* options */\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t},\n};\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eesbuild\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// esbuild.config.js\nimport { build } from \"esbuild\";\n\nbuild({\n\t/* ... */\n\tplugins: [\n\t\trequire(\"unplugin-todo-or-die/esbuild\")({\n\t\t\t/* options */\n\t\t}),\n\t],\n});\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eAstro\u003c/summary\u003e\u003cbr\u003e\n\n```ts\n// astro.config.mjs\nimport TodoOrDie from \"unplugin-todo-or-die/astro\";\n\nexport default defineConfig({\n\tintegrations: [\n\t\tTodoOrDie({\n\t\t\t/* options */\n\t\t}),\n\t],\n});\n```\n\n\u003cbr\u003e\u003c/details\u003e\n\n## 🖥️ Credits\n\nOriginal version (ruby): https://github.com/searls/todo_or_die\n\n## 📝 License\n\n[MIT](./LICENSE). Made with ❤️ by [Ray](https://github.com/so1ve)\n","funding_links":["https://afdian.net/@so1ve"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fso1ve%2Funplugin-todo-or-die","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fso1ve%2Funplugin-todo-or-die","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fso1ve%2Funplugin-todo-or-die/lists"}