{"id":13660822,"url":"https://github.com/bertilxi/typepack","last_synced_at":"2025-04-24T23:30:51.757Z","repository":{"id":57168587,"uuid":"142736452","full_name":"bertilxi/typepack","owner":"bertilxi","description":"Zero config Typescript Bundling","archived":true,"fork":false,"pushed_at":"2019-04-17T04:03:55.000Z","size":217,"stargazers_count":15,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-18T18:33:12.323Z","etag":null,"topics":["bundler","cli","node","typescript","web","zero-configuration"],"latest_commit_sha":null,"homepage":null,"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/bertilxi.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}},"created_at":"2018-07-29T06:25:06.000Z","updated_at":"2024-09-04T21:01:27.000Z","dependencies_parsed_at":"2022-08-24T15:07:08.218Z","dependency_job_id":null,"html_url":"https://github.com/bertilxi/typepack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertilxi%2Ftypepack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertilxi%2Ftypepack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertilxi%2Ftypepack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertilxi%2Ftypepack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertilxi","download_url":"https://codeload.github.com/bertilxi/typepack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250727474,"owners_count":21477319,"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":["bundler","cli","node","typescript","web","zero-configuration"],"created_at":"2024-08-02T05:01:26.142Z","updated_at":"2025-04-24T23:30:51.392Z","avatar_url":"https://github.com/bertilxi.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"#\n\n![TypePack](logo.png?raw=true \"TypePack\")\n\nCreate Typescript projects with minimal configuration.\n\n## Description\n`Typescript` is a really nice language, combining the flexibility of `Javascript` with a great type system.\n\nStarting a `Typescript` project involves choosing between only using the typescript compiler or configuring `webpack` (or your bundler of preference) to handle the build.\nThen the common files that you need to set up everytime like `tsconfig.json`, `tslint.json`, etc.\nAnd then the main types you need i.e. `@types/node`\n\nAlso if you maintain many projects, you would like to have everything up to date, with the same optimized configuration for everyone.\n\nThe idea of this tool is to handle all that complexity for you. It can create the initial project structure (could be web or node at the moment), starts the dev server, does the production build and run the tests. \n\n## How it works\n- The core of this cli is `webpack`.\n- `jest` is used for running the unit tests.\n- Your project source code will be transpiled first by typescript and then by `babel` to handle the polyfills.\n- In `node` mode the dev server `nodemon`.\n\n## Why did i do this?\n\nI love how `Typescript` and the js ecosystem works, i use to start a new project once in a while and i noticed that i have different configurations everytime i start, and when i change it in some place i have to change other projects one by one, this is really annoying. \n\n## Installation\n\n```sh\nnpm i -g typepack\n# or\nnpm i --save-dev typepack\n# or\nyarn add -D typepack\n```\n\n## Use\n\n### Init\n\n```sh\ntp init [name] [--mode]\n\ntp init awesome-app # --mode web\ntp init awesome-app --mode node\n```\n\n### Dev\n\n```sh\ntp dev\n```\n\n### Build\n\n```sh\n# Production build\ntp build\n# Dev build\ntp build --dev\n# Measure build time\ntp build --smp\n# Analyze bundle\ntp build --analyze\n```\n\n### Test\n\n```sh\ntp test\n```\n\n## Configurations\n\nAll customizations could be made in the `typepack.ts` file.\nFor a webapp is not needed.\n\n### For a node app\n\n```Typescript\nmodule.exports = {\n  mode: \"node\"\n};\n```\n\n## Have a suggestion?\nThis project is far from being the right tool to handle all use cases.\n\nIf you have an idea, a use case to cover or a suggestion, don't hesitate in contacting me or opening an issue.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertilxi%2Ftypepack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertilxi%2Ftypepack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertilxi%2Ftypepack/lists"}