{"id":26180018,"url":"https://github.com/jellydn/typescript-mini-starter","last_synced_at":"2025-12-24T16:44:47.361Z","repository":{"id":209123820,"uuid":"723294498","full_name":"jellydn/typescript-mini-starter","owner":"jellydn","description":"A streamlined and efficient TypeScript starter kit, supporting both ESM and CJS, for quick and versatile project setups.","archived":false,"fork":false,"pushed_at":"2024-05-01T13:19:31.000Z","size":245,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-02T02:29:32.335Z","etag":null,"topics":["cjs","esm","starter","typescript"],"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/jellydn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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":["jellydn"],"ko_fi":"dunghd"}},"created_at":"2023-11-25T07:51:37.000Z","updated_at":"2024-05-03T11:24:55.679Z","dependencies_parsed_at":"2024-04-15T06:01:10.535Z","dependency_job_id":"a40b4f56-99a6-4d11-8a88-67089dcd71c0","html_url":"https://github.com/jellydn/typescript-mini-starter","commit_stats":null,"previous_names":["jellydn/typescript-starter-mini","jellydn/typescript-mini-starter"],"tags_count":0,"template":true,"template_full_name":"jellydn/typescript-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ftypescript-mini-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ftypescript-mini-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ftypescript-mini-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellydn%2Ftypescript-mini-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellydn","download_url":"https://codeload.github.com/jellydn/typescript-mini-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243119644,"owners_count":20239321,"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":["cjs","esm","starter","typescript"],"created_at":"2025-03-11T21:54:10.722Z","updated_at":"2025-12-24T16:44:47.334Z","avatar_url":"https://github.com/jellydn.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jellydn","https://ko-fi.com/dunghd","https://paypal.me/dunghd","https://www.buymeacoffee.com/dunghd"],"categories":[],"sub_categories":[],"readme":"# Welcome to typescript-mini-starter 👋\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](#License)\n[![Twitter: jellydn](https://img.shields.io/twitter/follow/jellydn.svg?style=social)](https://twitter.com/jellydn)\n\n**A streamlined and efficient TypeScript starter kit, supporting both ESM and CJS, for quick and versatile project setups.**\n\n[![IT Man - Seamless Transition: Migrating from #CommonJS to #ESM in JavaScript [Vietnamese]](https://i.ytimg.com/vi/VVPFDCyeNyY/hqdefault.jpg)](https://www.youtube.com/watch?v=VVPFDCyeNyY)\n\n## 🚀 Introduction\n\n`typescript-mini-starter` is designed to be a robust and minimalistic starting point for TypeScript development, catering to the modern JavaScript ecosystem. This starter kit uniquely supports both ECMAScript Modules (ESM) and CommonJS (CJS) formats, ensuring compatibility and flexibility for various use cases and environments. Whether you are building a library, an application, or a service, this starter kit provides a quick and easy setup, enabling developers to jump straight into coding with TypeScript's best practices and the versatility of module systems in mind.\n\n## 📦 Install\n\nEasily set up the project with the following command:\n\n```sh\nyarn install\n```\n\nThis will install all the necessary dependencies to get you started.\n\n## 🔨 Usage\n\nTo compile your TypeScript code:\n\n```sh\nyarn build\n```\n\nThis command will build your project, preparing it for execution or deployment.\n\n## 🌟 Example\n\nRun an example to see `typescript-mini-starter` in action:\n\n```sh\nyarn example\n```\n\nThis is a great way to understand how the project works and can be extended.\n\n## 🧪 Run tests\n\nEnsure the reliability of your code by running tests:\n\n```sh\nyarn test\n```\n\nThis helps in maintaining code quality and catching bugs early.\n\n## 🚚 Using `npx degit` to Scaffold Your Project\n\nEasily scaffold a new TypeScript project with `typescript-mini-starter` using `npx degit`. This method is especially handy for integrating the starter into monorepos or initializing a standalone project quickly.\n\n### For Standalone Projects\n\n1. **Create a new project directory and navigate into it:**\n\n   ```sh\n   mkdir my-new-project\n   cd my-new-project\n   ```\n\n2. **Use `degit` to download the mini-starter template:**\n\n   ```sh\n   npx degit jellydn/typescript-mini-starter\n   ```\n\n3. **Install dependencies and get started:**\n\n   ```sh\n   yarn install\n   ```\n\n### For Monorepos (e.g., with [Turbo](https://turbo.build/repo))\n\n1. **Navigate to your monorepo's packages directory:**\n\n   ```sh\n   cd path/to/your/monorepo/packages\n   ```\n\n2. **Create a new package folder:**\n\n   ```sh\n   mkdir my-new-package\n   cd my-new-package\n   ```\n\n3. **Download the mini-starter template into the new package:**\n\n   ```sh\n   npx degit jellydn/typescript-mini-starter\n   ```\n\n4. **Proceed with your monorepo's workflow to integrate the new package.**\n\nThis approach is efficient and reduces the time to set up a new TypeScript project, allowing you to focus more on development.\n\n## Pre-commit\n\nThis project uses [Pre-Commit](https://pre-commit.com/) to run checks before committing changes. This ensures that the codebase is clean and consistent, maintaining high quality and readability.\n\n```sh\npre-commit install\n```\n\n## 🙌 Credits\n\nSpecial thanks to the following projects and their maintainers for their invaluable contributions:\n\n- [privatenumber/tsx](https://github.com/privatenumber/tsx): ⚡️ TypeScript Execute: Node.js enhanced to run TypeScript \u0026 ESM.\n- [privatenumber/pkgroll](https://github.com/privatenumber/pkgroll): 📦 🍣 Next-gen package bundler for TypeScript \u0026 ESM.\n  - Alternatively, consider [egoist/tsup](https://github.com/egoist/tsup): The simplest and fastest way to bundle your TypeScript libraries. It offers additional customization options if you're looking for a different approach from pkgroll.\n\nTheir tools and libraries have significantly contributed to the development and functionality of `typescript-mini-starter`.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.\n\n## ✍️ Author\n\n👤 **Huynh Duc Dung**\n\n- Website: [productsway.com](https://productsway.com/)\n- Twitter: [@jellydn](https://twitter.com/jellydn)\n- GitHub: [@jellydn](https://github.com/jellydn)\n\nFeel free to reach out if you have any questions or suggestions!\n\n## 🌟 Show your support\n\nLiked the project? Give it a ⭐️ on [GitHub](https://github.com/jellydn/typescript-mini-starter) to show your support and appreciation!\n\n[![kofi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/dunghd)\n[![paypal](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/dunghd)\n[![buymeacoffee](https://img.shields.io/badge/Buy_Me_A_Coffee-FFDD00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/dunghd)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Ftypescript-mini-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellydn%2Ftypescript-mini-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellydn%2Ftypescript-mini-starter/lists"}