{"id":18898593,"url":"https://github.com/dorayx/template-typescript-app","last_synced_at":"2026-04-07T22:31:48.615Z","repository":{"id":191986790,"uuid":"685782402","full_name":"dorayx/template-typescript-app","owner":"dorayx","description":"(opinionated) Vite-TypeScript Boilerplate","archived":false,"fork":false,"pushed_at":"2023-09-08T15:55:51.000Z","size":1286,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-28T20:49:06.772Z","etag":null,"topics":["boilerplate","commitlint","eslint","github-action","husky","lint-staged","plop","prettier","semantic-release","template","typescript","typescript-application","vite","vitest","yarn"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/dorayx.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}},"created_at":"2023-09-01T02:03:50.000Z","updated_at":"2024-05-16T02:56:54.000Z","dependencies_parsed_at":"2024-11-08T08:43:23.746Z","dependency_job_id":"e63dcce9-b3f6-4b22-9c83-0336323b73a8","html_url":"https://github.com/dorayx/template-typescript-app","commit_stats":null,"previous_names":["dorayx/template-typescript"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/dorayx/template-typescript-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorayx%2Ftemplate-typescript-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorayx%2Ftemplate-typescript-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorayx%2Ftemplate-typescript-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorayx%2Ftemplate-typescript-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dorayx","download_url":"https://codeload.github.com/dorayx/template-typescript-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dorayx%2Ftemplate-typescript-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31532216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["boilerplate","commitlint","eslint","github-action","husky","lint-staged","plop","prettier","semantic-release","template","typescript","typescript-application","vite","vitest","yarn"],"created_at":"2024-11-08T08:43:15.376Z","updated_at":"2026-04-07T22:31:48.600Z","avatar_url":"https://github.com/dorayx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# _opinionated_ Vite-TypeScript Template\n\nThis template is opinionated, and it is not meant to be a one-size-fits-all solution.\nIt is meant to be a starting point for my personal projects to bootstrap development, as I like to create minimal viable products from time to time.\n\n## User Cases\n\n- ✅ TypeScript Application\n- ❌ TypeScript Library _(use [dorayx/template-typescript-library](https://github.com/dorayx/template-typescript-library) instead)_\n- ❌ UI Component Library\n\n## Features\n\n- ✅ TypeScript v5\n- ✅ Vite + Vitest\n- ✅ Linters\n- ✅ Code Generator\n- ✅ Semantic Release\n- ✅ GitHub Actions\n- ❌ Monorepo\n\n## Tooling\n\nThis template is configured with the following tools:\n\n**Compiler \u0026 Bundler**\n\n- [TypeScript](https://www.typescriptlang.org/) _(v5)_\n- [Vite](https://vitejs.dev/) _(v4)_\n  - Plugin: [vite-tsconfig-paths](https://www.npmjs.com/package/vite-tsconfig-paths)\n  - Plugin: [vite-plugin-dts](https://www.npmjs.com/package/vite-plugin-dts)\n\n**Package Manager**\n\n- [Yarn](https://yarnpkg.com/) _(v3)_\n  - Doc: [Zero-installs](https://yarnpkg.com/features/caching#zero-installs)\n\n**Testing**\n\n- [Vitest](https://vitest.dev/)\n  - Convention: Unit tests for user cases are stored in the `tests/units` directory\n  - Convention: Unit tests for individual functions are placed alongside their respective implementations ([In-source testing](https://vitest.dev/guide/in-source.html))\n  - Convention: The file `tests/setup.ts` is executed before each test file\n  - Convention: The `tests/tsconfig.json` file configures TypeScript for testing\n- GitHub Action: `.github/workflows/test.yml`\n\n**Linters**\n\n- [ESLint](https://eslint.org/)\n- [Prettier](https://prettier.io/)\n- [Commitlint](https://commitlint.js.org/#/)\n- [Husky](https://typicode.github.io/husky/#/)\n- [LintStaged](https://github.com/okonet/lint-staged)\n\n**Code Generator**\n\n- [Plop](https://plopjs.com/): A micro-generator framework that makes it easy for an entire team to create files with a level of uniformity\n\n**Publish**\n\n- [semantic-release](https://semantic-release.gitbook.io/): Fully automated version management and package publishing\n  - GitHub Action: `.github/workflows/release-package.yml`\n  - Env Variables: `NPM_TOKEN` is required to publish a package to the npm registry\n  - Additional Plugin: [semantic-release-yarn](https://github.com/hongaar/semantic-release-yarn)\n  - Additional Plugin: [@semantic-release/changelog](https://github.com/semantic-release/changelog)\n\n## Development Conventions\n\n### Branches\n\n- `main`: Used for stable features \u0026 production releases\n- `dev`: Used for features under development\n- `next`: Used for experimental features\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorayx%2Ftemplate-typescript-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdorayx%2Ftemplate-typescript-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdorayx%2Ftemplate-typescript-app/lists"}