{"id":16095758,"url":"https://github.com/zeusdeux/ts-seed-project","last_synced_at":"2026-04-16T08:31:33.162Z","repository":{"id":149116668,"uuid":"147046096","full_name":"zeusdeux/ts-seed-project","owner":"zeusdeux","description":"A seed project that uses Typescript","archived":false,"fork":false,"pushed_at":"2019-06-07T11:43:41.000Z","size":40,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-05T20:14:54.866Z","etag":null,"topics":["javascript","jest","prettier","seed","tslint","typescript"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeusdeux.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-09-02T01:50:45.000Z","updated_at":"2019-06-07T11:43:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"aeefbe9a-4062-4530-abc6-5e6a983d09c3","html_url":"https://github.com/zeusdeux/ts-seed-project","commit_stats":{"total_commits":31,"total_committers":1,"mean_commits":31.0,"dds":0.0,"last_synced_commit":"0a9a82e8233602fd55d098675e1e30a0fba31e7c"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/zeusdeux/ts-seed-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeusdeux%2Fts-seed-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeusdeux%2Fts-seed-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeusdeux%2Fts-seed-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeusdeux%2Fts-seed-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeusdeux","download_url":"https://codeload.github.com/zeusdeux/ts-seed-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeusdeux%2Fts-seed-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31877455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T07:36:03.521Z","status":"ssl_error","status_checked_at":"2026-04-16T07:35:53.576Z","response_time":69,"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":["javascript","jest","prettier","seed","tslint","typescript"],"created_at":"2024-10-09T17:08:37.477Z","updated_at":"2026-04-16T08:31:33.139Z","avatar_url":"https://github.com/zeusdeux.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ts-seed-project\n\n## Motivation\n\nSetting up tooling, etc always gets in the way of focusing on what you're trying to build.\nThis tries to take away some of that pain for Typescript.\n\n## Goals\n\n1. Only add tooling for basic local development ergonomics\n2. Remove all traces of itself once setup\n\n## What it sets up?\n\nThis project sets up a Typescript project that uses `tslint` as the linter, `prettier` as the code formatter and `jest` for testing.\nI'd recommend taking a look at the `tsconfig.json`, `tslint.json`, `.prettierrc` and `package.json['jest']` to understand what defaults have been setup for you.\n\nIt also sets up `prettier` and `tslint` to run on git commit using `husky` for a `git` `pre-commit` hook and `lint-staged` to run the actual tasks themselves.\nDev workflow nirvana swiftly ensues!\n\n#### Note\n\n\u003e 1. It does _not_ install _any_ type definitions so please do so after you follow the instructions in the next section.\n\u003e 2. In `tsconfig.json`, `compilerOptions.composite`, `compilerOptions.declaration` and `compilerOptions.declarationMap` are turned on to add [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) support\n\n## How to use this seed project\n\n## Using GitHub template repository\n\nGiven that GitHub now [supports repository templates](https://github.blog/2019-06-06-generate-new-repositories-with-repository-templates/), this repo can be used as one.\n\n1. Click on the `Use this template` button or click [on the generate link here](https://github.com/zeusdeux/ts-seed-project/generate)\n2. Give your copy of the repo a name and provide other data that GitHub prompts you for\n\nYou should now have your own version of this repository. From here on —\n\n1. Clone your repo\n2. Run `npm install \u0026\u0026 npm init`\n\nand you should be ready to code away!\n\n## Using an npm initializer\n\nRun `npm init @zeusdeux/ts-project \u003cfolder\u003e` or `npx @zeusdeux/create-ts-project \u003cfolder\u003e`\n\n## Manually\n\n1. Clone this repo\n2. Run `npm install \u0026\u0026 npm init`\n3. Code away!\n\nNo type definitions are installed as they're specific to your project.\nYou can install type definitions for your project (e.g., `npm i @types/node` if it's a backend project) as you normally would.\n\nIf things don't work as expected, go back to step 1.\n\nIf you're using this to write a [lambda](https://zeit.co/docs/v2/deployments/concepts/lambdas/#conceptual-model) that will be deployed to [@zeithq's platform](https://zeit.co), then I recommend using it alongside [get-now-json](https://github.com/zeusdeux/get-now-json) which is hosted at [now-json.zdx.cat](https://now-json.zdx.cat) to scaffold out a `now.json`.\n\n#### Note\n\n\u003e 1. From `package.json['jest']['roots']`, remove the directories that don't exist or aren't roots.\n\u003e    For e.g., in my personal projects, I usually remove `\"\u003crootDir\u003e/lib/\"` as I keep my code in `src`\n\n## Config overrides\n\n### `tsconfig.json`\n\n- Update `include` array to reflect your project directory structure if necessary\n- Update `compilerOptions.target` based on what minimum runtime capabilities your app has access to\n- Update `compilerOptions.module` if you want to target the browser\n- Update `compilerOptions.lib` if you want to add/remove libs that are auto injected by `tsc`\n- Add `compilerOptions.typeRoots` if you want `tsc` to look into custom folders for type definitions\n  - It defaults to looking for type declarations in `node_modules/@types/\u003cmodule\u003e`\n    - Please note that the it does a node style resolution which means first it looks in `./node_modules/@types`, followed by `../node_modules/@types` and so on\n- To turn off [project references](https://www.typescriptlang.org/docs/handbook/project-references.html) support, remove `compilerOptions.composite`, `compilerOptions.declaration` and `compilerOptions.declarationMap`\n\n### `tslint.json`\n\n- Add `jsRules` if you want to `tslint` to also lint `.js` and `.jsx` files\n\n### `.prettierrc`\n\nThis mostly uses the defaults except for `printWidth`, `semi` and `singleQuote`\n\n### `jest`\n\nThis is found under the `jest` key in `package.json`. Feel free to modify those to your liking.\nAlso, `ts-jest` is configured in that subtree as well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeusdeux%2Fts-seed-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeusdeux%2Fts-seed-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeusdeux%2Fts-seed-project/lists"}