{"id":21650465,"url":"https://github.com/sakkke/nodejs-ultimate-template","last_synced_at":"2026-04-13T06:38:34.734Z","repository":{"id":57093340,"uuid":"423052459","full_name":"sakkke/nodejs-ultimate-template","owner":"sakkke","description":"A ultimate starter template for Node.js with TypeScript + Jest + ESLint + Parcel + TypeDoc (+ Gitpod)! 😄 There's also automated testing, linting, and documentation generation using GitHub Actions! ⚡ Let's get started development at the fastest speed! 🏎️","archived":false,"fork":false,"pushed_at":"2021-11-03T22:12:25.000Z","size":2348,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T05:26:55.252Z","etag":null,"topics":["eslint","gitpod","jest","nodejs","parcel","starter","template","typedoc","typescript"],"latest_commit_sha":null,"homepage":"https://sakkke.github.io/nodejs-ultimate-template/","language":"Shell","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/sakkke.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2021-10-31T04:29:38.000Z","updated_at":"2023-09-08T18:28:05.000Z","dependencies_parsed_at":"2022-08-22T20:40:43.609Z","dependency_job_id":null,"html_url":"https://github.com/sakkke/nodejs-ultimate-template","commit_stats":null,"previous_names":[],"tags_count":7,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakkke%2Fnodejs-ultimate-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakkke%2Fnodejs-ultimate-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakkke%2Fnodejs-ultimate-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakkke%2Fnodejs-ultimate-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sakkke","download_url":"https://codeload.github.com/sakkke/nodejs-ultimate-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244543959,"owners_count":20469586,"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":["eslint","gitpod","jest","nodejs","parcel","starter","template","typedoc","typescript"],"created_at":"2024-11-25T07:40:28.291Z","updated_at":"2026-04-13T06:38:29.686Z","avatar_url":"https://github.com/sakkke.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![license](https://img.shields.io/github/license/sakkke/nodejs-ultimate-template)](./LICENSE)\n[![.github/workflows/main.yml](https://github.com/sakkke/nodejs-ultimate-template/actions/workflows/main.yml/badge.svg)](https://github.com/sakkke/nodejs-ultimate-template/actions/workflows/main.yml)\n[![github-pages](https://img.shields.io/github/deployments/sakkke/nodejs-ultimate-template/github-pages?label=github-pages)](https://sakkke.github.io/nodejs-ultimate-template/)\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/from-referrer/)\n[![GitHub tag](https://img.shields.io/github/v/tag/sakkke/nodejs-ultimate-template)](https://github.com/sakkke/nodejs-ultimate-template/tags)\n[![npm](https://img.shields.io/npm/v/@0wv/nodejs-ultimate-template)](https://www.npmjs.com/package/@0wv/nodejs-ultimate-template)\n\n# Node.js Ultimate Template\n\n![nodejs-parcel-typescript](./assets/nodejs-parcel-typescript.svg)\n\nA *ultimate starter template* for Node.js with **TypeScript** + **Jest** + **ESLint** + **Parcel** + **TypeDoc** (+ **Gitpod**)! 😄\nThere's also automated testing, linting, and documentation generation using GitHub Actions! ⚡  \n*Let's get started development at the fastest speed!* 🏎️\n\n---\n\n- [Use this template on GitHub](https://github.com/sakkke/nodejs-ultimate-template/generate)\n- [View documentation generated by TypeDoc](https://sakkke.github.io/nodejs-ultimate-template/)\n- [View code coverage report by Jest](https://sakkke.github.io/nodejs-ultimate-template/_coverage/lcov-report/)\n\n## ✨ Features\n\n- [x] TypeScript\n\n### ♻️ Lint and Test\n\n- [x] Jest\n- [x] ESLint\n  - [x] [eslint-config-standard-with-typescript](https://github.com/standard/eslint-config-standard-with-typescript)\n\n### 🔨 Development\n\n- [x] Parcel\n\n### 📝 Documentation\n\n- [x] TypeDoc\n- [x] Code coverage report by Jest\n\n### 🌌 Others\n\n- [x] Automated testing, linting and generating documentation using GitHub Actions\n- [x] Gitpod support\n\n## 🎨 App structure\n\nfield in `./package.json` | value\n--- | ---\n`source` | `src/index.ts`\n`main` | `dist/index.js`\n`types` | `dist/index.d.ts`\n\n```console\n$ tree src\nsrc\n├── index.ts\n├── main.test.ts\n└── main.ts\n\n0 directories, 3 files\n```\n\n## 🎉 Get started (automatic if using Gitpod)\n\n**Requires:**\n\n- `tmux` (used by `npm run dev` and `npm run docs:serve`)\n\n```sh\nnpx degit sakkke/nodejs-ultimate-template [project-name]\ncd [project-name]\nnpm i\nnpm run dev\n```\n\n### Stop `npm run dev`\n\n1. Press `\u003cC-b\u003e:killw\u003cCR\u003e`\n1. Done!\n\n### Manually lint and test instead of `npm run dev`\n\n#### Compile on change\n\n```sh\nnpm run watch\n```\n\n#### Run Jest in watch mode\n\n```sh\nnpm run test:watch\n```\n\n#### Run ESLint in watch mode\n\n```sh\nnpm run lint:watch\n```\n\n#### Run TypeDoc in watch mode\n\n```sh\nnpm run docs:watch\n```\n\n#### Serve `_docs`\n\n```sh\nnpx serve _docs\n```\n\n## 🔰 Checklist\n\n- [ ] Check or update `./LICENSE`\n- [ ] Update `name`, `version`, `description`, `author` in `./package.json`\n- [ ] Change `env.PUBLISH_*_SCOPE` fields in `./.github/workflows/main.yml` (see [#Scope](#Scope))\n- [ ] Set GitHub Pages source to `gh-pages` branch\n- [ ] Update `./README.md`\n\n## 🚀 Deploy with GitHub Actions\n\n### Overview\n\nThis template supports publishing to GitHub Package Registry and npm Registry with GitHub Actions.\nTo publish, you push the commit that starts with `:bookmark:`.\nAlso, you can use the commit that starts with `:bug:`, `:sparkles:` or `:boom:`.\nThey are incrementing `version` field in `./package.json` and publishing at the same time.\n\nStart with | What kind of increment\n--- | ---\n`:bug:` | It increments **patch** version (like `npm version patch`)\n`:sparkles:` | It increments **minor** version (like `npm version minor`)\n`:boom:` | It increments **major** version (like `npm version major`)\n\n### Important\n\nYou must need `secrets.PAT`.\nThis is GitHub Personal Access Token.\n\n### Scope\n\nRegistry | Default scope\n--- | ---\nGitHub Package Registry | `@sakkke`\nnpm Registry | `@0wv`\n\nTo change, you must edit `env.PUBLISH_*_SCOPE` fields in `./.github/workflows/main.yml`.\n\n### Example\n\n#### First publish\n\n```console\n$ git commit --allow-empty -m ':bookmark: v0.1.0'\n$ git tag v0.1.0\n$ git push --follow-tags\n```\n\n#### Publish package as v0.42.0\n\n```console\n$ git commit --allow-empty -m ':bookmark: v0.42.0'\n$ git tag v0.42.0\n$ git push --follow-tags\n```\n\n#### Publish package with incrementing minor version\n\n```console\n$ git commit --allow-empty -m ':sparkles: release'\n$ git push\n```\n\n## 🍁 Related\n\n- [Svelte Ultimate Template](https://github.com/sakkke/svelte-ultimate-template) - A starter template for Progressive Web App with Svelte + TypeScript + SugarSS\n\n## 📄 License\n\nUnlicense\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakkke%2Fnodejs-ultimate-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakkke%2Fnodejs-ultimate-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakkke%2Fnodejs-ultimate-template/lists"}