{"id":25035105,"url":"https://github.com/liinkiing/node-webpack-typescript-starter","last_synced_at":"2026-03-11T17:03:08.283Z","repository":{"id":47937417,"uuid":"223282973","full_name":"Liinkiing/node-webpack-typescript-starter","owner":"Liinkiing","description":"A template to kickstart a Node Typescript app bundled with Webpack","archived":false,"fork":false,"pushed_at":"2021-08-11T17:31:19.000Z","size":1862,"stargazers_count":18,"open_issues_count":8,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T19:49:45.123Z","etag":null,"topics":["boilerplate","node","starter","template","typescript","webpack"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Liinkiing.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}},"created_at":"2019-11-21T23:19:26.000Z","updated_at":"2020-12-29T14:34:31.000Z","dependencies_parsed_at":"2022-08-12T14:40:39.480Z","dependency_job_id":null,"html_url":"https://github.com/Liinkiing/node-webpack-typescript-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/Liinkiing/node-webpack-typescript-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liinkiing%2Fnode-webpack-typescript-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liinkiing%2Fnode-webpack-typescript-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liinkiing%2Fnode-webpack-typescript-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liinkiing%2Fnode-webpack-typescript-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Liinkiing","download_url":"https://codeload.github.com/Liinkiing/node-webpack-typescript-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Liinkiing%2Fnode-webpack-typescript-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271215037,"owners_count":24720098,"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","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","node","starter","template","typescript","webpack"],"created_at":"2025-02-05T23:45:06.352Z","updated_at":"2026-03-11T17:03:08.198Z","avatar_url":"https://github.com/Liinkiing.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node Webpack Typescript starter\n\nA simple starter to bootstrap your next node application.\n\n## Aliases\n\nIt includes by default support for aliases in `tsconfig.json`.\nIt is defaulted to `~/*`, so you can import stuff like this\n\n```typescript\nimport { Logger } from '~/services/Logger'\n\nconst logger = new Logger()\n```\n\nIt uses [tsconfig-paths](https://github.com/dividab/tsconfig-paths) and it's corresponding Webpack plugin, [tsconfig-paths-webpack-plugin](https://github.com/dividab/tsconfig-paths-webpack-plugin).\nIt means that you only have to setup your aliases in the `tsconfig.json`, it's your source of truth.\n\n## @types and extending modules\n\nIt also includes a `@types` directory under **src**, so you can easily\nseparate your types or extends some external modules. They are also included in the `tsconfig.json`\nFor example, if some package named `foo` does not have any types in [DefinitelyTyped](https://definitelytyped.org/), you could\nadd a `index.d.ts` under `src/@types/foo/index.d.ts`. It is just my personnal convention, so do as you want!\n\n```typescript\n// src/@types/foo/index.d.ts\n\n// to make sure Typescript get the original types from the module (if any)\nimport * as foo from 'foo'\n\ndeclare module 'foo' {\n  declare function foo(bar: string): boolean\n}\n```\n\nBecause the `@types` directory is declared in `typeRoots`, Typescript will no longer complain if you imported your package with missing types\n\n## process.env and related typings\n\nThis starter is using [Dotenv-flow](https://github.com/kerimdzhanov/dotenv-flow) to handle secrets.  \nIt includes a `.env` which **SHOULD** be committed. It's an example file and does not contains any sensitive data. You must copy it and rename it to **.env.local** for example. This one is ignored. To see all the availables .env files that you can make (and their priority orders), please [have a look here](https://github.com/kerimdzhanov/dotenv-flow#files-under-version-control).\n\nBy using Typescript's [merging interfaces capability](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#merging-interfaces), it also comes by default with `process.env` types safety. You can type them under `src/@types/node/index.d.ts`\nand have all the nice autocompletion!\n\n## Tooling\n\nThe template includes [Prettier](https://prettier.io/), [ESLint](https://eslint.org/) (with [Typescript-eslint](https://github.com/typescript-eslint/typescript-eslint)), [Babel](https://babeljs.io/) and [Husky](https://github.com/typicode/husky).\nAll their related configurations are in the `*rc` files.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliinkiing%2Fnode-webpack-typescript-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliinkiing%2Fnode-webpack-typescript-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliinkiing%2Fnode-webpack-typescript-starter/lists"}