{"id":27171968,"url":"https://github.com/emanuelefavero/node-typescript","last_synced_at":"2025-04-09T09:19:40.523Z","repository":{"id":286851651,"uuid":"957665192","full_name":"emanuelefavero/node-typescript","owner":"emanuelefavero","description":"A boilerplate and quick start guide for building Node.js applications using TypeScript","archived":false,"fork":false,"pushed_at":"2025-04-08T16:49:11.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-08T17:43:20.463Z","etag":null,"topics":["boilerplate","eslint","guide","node","node-typescript","nodejs","nodejs-typescript","quickstart","typescript"],"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/emanuelefavero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2025-03-30T22:35:35.000Z","updated_at":"2025-04-08T16:49:15.000Z","dependencies_parsed_at":"2025-04-08T17:43:25.126Z","dependency_job_id":"a29153cc-640e-47e3-8db6-3dad0e41e9ca","html_url":"https://github.com/emanuelefavero/node-typescript","commit_stats":null,"previous_names":["emanuelefavero/node-typescript"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fnode-typescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fnode-typescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fnode-typescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emanuelefavero%2Fnode-typescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emanuelefavero","download_url":"https://codeload.github.com/emanuelefavero/node-typescript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008625,"owners_count":21032556,"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":["boilerplate","eslint","guide","node","node-typescript","nodejs","nodejs-typescript","quickstart","typescript"],"created_at":"2025-04-09T09:19:40.031Z","updated_at":"2025-04-09T09:19:40.515Z","avatar_url":"https://github.com/emanuelefavero.png","language":"JavaScript","readme":"# Node.js TypeScript Quick Start Boilerplate\n\nThis is a boilerplate and quick start guide for building Node.js applications using TypeScript. It includes a basic project structure, configuration files, and linting rules to help you get started quickly.\n\n## Features\n\n- Node.js TypeScript support\n- ESLint for linting\n\n## Installation\n\n- Clone the repository\n- Run `npm install` to install dependencies\n- Run `npm run dev` to start the development server\n- Edit the `index.ts` file inside `src` to start building your application\n\n\u003e Tip: You can also use `npm run build` to build the project for production and `npm start` to run the built project\n\u003e\n\u003e BEWARE: If you use `prettier`, make sure the `eslint` rules do not conflict with it\n\n## Quick Setup for a new Node.js TypeScript project\n\n- Create an `npm` project\n\n  ```bash\n  npm init -y\n  ```\n\n- Add a `.gitignore` file (use `.gitignore` from this repo)\n- Create an `index.ts` file in the root directory\n- Install TypeScript, ts-node and nodemon\n\n  ```bash\n  npm install --save-dev typescript ts-node @types/node nodemon\n  ```\n\n- Add a `tsconfig.json` file\n\n  ```json\n  {\n    \"compilerOptions\": {\n      \"target\": \"es2016\",\n      \"module\": \"commonjs\",\n      \"esModuleInterop\": true,\n      \"forceConsistentCasingInFileNames\": true,\n      \"strict\": true,\n      \"skipLibCheck\": true,\n      \"outDir\": \"./dist\",\n      \"rootDir\": \"./src\"\n    }\n  }\n  ```\n\n  \u003e Note: you can also generate one using the `npx tsc --init` command\n\n- Add these scripts to your `package.json` file\n\n  ```json\n  \"scripts\": {\n    \"dev\": \"nodemon --watch src --exec ts-node src/index.ts\",\n    \"build\": \"npx tsc\",\n    \"start\": \"node dist/index.js\",\n    \"lint\": \"eslint --ext .ts .\"\n  },\n  ```\n\n### Optional ESLint Setup\n\n- Install ESLint for TypeScript\n\n  ```bash\n  npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin\n  ```\n\n- Setup ESLint\n\n  ```bash\n  npx eslint --init\n  ```\n\n  \u003e Note: During the ESlint setup process, remember to also turn on `node` besides `browser` using the `space` bar when selecting the environment\n\n## References\n\n- [Node.js](https://nodejs.org/en/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [ESLint](https://eslint.org/)\n- [Prettier](https://prettier.io/)\n- [Nodemon](https://nodemon.io/)\n- [ts-node](https://typestrong.org/ts-node/)\n\n## License\n\n- [MIT](LICENSE.md)\n\n\u0026nbsp;\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuelefavero%2Fnode-typescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femanuelefavero%2Fnode-typescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femanuelefavero%2Fnode-typescript/lists"}