{"id":16962490,"url":"https://github.com/threeal/nodejs-starter","last_synced_at":"2025-04-11T21:31:25.896Z","repository":{"id":181181693,"uuid":"666358810","full_name":"threeal/nodejs-starter","owner":"threeal","description":"A minimalistic template for starting a new Node.js project","archived":false,"fork":false,"pushed_at":"2025-04-11T03:15:50.000Z","size":55753,"stargazers_count":2,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T04:22:59.323Z","etag":null,"topics":["github-templates","javascript","nodejs","nodejs-template","template","template-project","templates","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threeal.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-14T10:12:01.000Z","updated_at":"2025-04-11T03:14:53.000Z","dependencies_parsed_at":"2024-03-29T14:27:10.351Z","dependency_job_id":"0e857b70-e3fc-4c9a-a52a-6fdcf6629b42","html_url":"https://github.com/threeal/nodejs-starter","commit_stats":null,"previous_names":["threeal/node-ts-starter"],"tags_count":13,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threeal%2Fnodejs-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threeal%2Fnodejs-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threeal%2Fnodejs-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threeal%2Fnodejs-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threeal","download_url":"https://codeload.github.com/threeal/nodejs-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248482947,"owners_count":21111406,"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":["github-templates","javascript","nodejs","nodejs-template","template","template-project","templates","typescript"],"created_at":"2024-10-13T23:06:54.730Z","updated_at":"2025-04-11T21:31:25.884Z","avatar_url":"https://github.com/threeal.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Starter\n\nA minimalistic template for starting a new [Node.js](https://nodejs.org/en) project.\n\nThis template provides a basic Node.js project containing a sample library written in [TypeScript](https://www.typescriptlang.org/), with support for formatting, linting, testing, and continuous integration.\n\n## Key Features\n\n- Minimal Node.js project written in TypeScript with [ESM](https://nodejs.org/api/esm.html) support.\n- Uses [pnpm](https://pnpm.io/) as the package manager.\n- Supports formatting with [Prettier](https://prettier.io/), linting with [ESLint](https://eslint.org/), and testing with [Vitest](https://vitest.dev/).\n- Fixes formatting and linting during pre-commit hooks using [Lefthook](https://lefthook.dev/).\n- Preconfigured workflows for [Dependabot](https://docs.github.com/en/code-security/dependabot) and [GitHub Actions](https://github.com/features/actions).\n\n## Usage\n\nThis guide explains how to use this template to start a new Node.js project, from creation to release.\n\n### Create a New Project\n\nFollow [this link](https://github.com/new?template_name=nodejs-starter\u0026template_owner=threeal) to create a new project based on this template. For more information about creating a repository from a template on GitHub, refer to [this documentation](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).\n\nAlternatively, you can also clone this repository locally to begin using this template.\n\n### Choose a License\n\nBy default, this template is [unlicensed](https://unlicense.org/). Before modifying this template, it is recommended to replace the [`LICENSE`](./LICENSE) file with the license that will be used by the new project. For more information about licensing a repository, refer to [this documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository).\n\nAlternatively, you can remove the `LICENSE` file or leave it as is to keep the new project unlicensed.\n\n### Update Project Information\n\nTo replace the sample information in this template with your new project information, complete the following steps:\n\n- Replace the content of this [`README.md`](./README.md) file with a description of the new project. For more information on adding READMEs to a project, refer to [this documentation](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes).\n- Update project information in the [`package.json`](./package.json) file. For more details on the `package.json` schema, refer to [this documentation](https://docs.npmjs.com/cli/v10/configuring-npm/package-json).\n\n### Set Up Tools\n\nThis template uses [pnpm](https://pnpm.io/) as the package manager. If pnpm is not installed, follow [this guide](https://pnpm.io/installation) to install it. Then, install the project dependencies with:\n\n```sh\npnpm install\n```\n\nFor more information on pnpm, including adding dependencies or running tools, refer to [this documentation](https://pnpm.io/pnpm-cli).\n\n### Developing the Library\n\nThis template provides two components: the library itself ([`src/index.ts`](./src/index.ts)) and an executable entry point ([`src/bin.ts`](./src/bin.ts)). Write code according to your project requirements. If you're new to [TypeScript](https://www.typescriptlang.org/), refer to [this documentation](https://www.typescriptlang.org/docs/) for guidance.\n\nIf your project doesn’t need an executable, you can remove `src/bin.ts` and the `bin` entry from the [`package.json`](./package.json) file.\n\n### Testing the Library\n\nTest files in this template are named `*.test.ts` and typically correspond to the source files being tested. This template uses [Vitest](https://vitest.dev/) as the testing framework. For more information on testing with Vitest, refer to [this documentation](https://vitest.dev/guide/).\n\nAfter creating your test files, run tests with:\n\n```sh\npnpm test\n```\n\n### Release the Library\n\nWhen the project is complete, package the library by running:\n\n```sh\npnpm pack\n```\n\nThis will create a tarball file, which can be included in the release. Ensure the project is at the correct version and has been pushed to the upstream repository. For more information on releasing a project, refer to [this documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreeal%2Fnodejs-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreeal%2Fnodejs-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreeal%2Fnodejs-starter/lists"}