{"id":21630569,"url":"https://github.com/catsmiaow/better-nodejs-project","last_synced_at":"2025-11-09T23:03:31.830Z","repository":{"id":50946530,"uuid":"363845055","full_name":"CatsMiaow/better-nodejs-project","owner":"CatsMiaow","description":"Ways for a better Node.js backend project","archived":false,"fork":false,"pushed_at":"2025-05-02T15:15:13.000Z","size":837,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-20T13:08:05.774Z","etag":null,"topics":["better","nest","nestjs","node","nodejs","project","typescript"],"latest_commit_sha":null,"homepage":"","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/CatsMiaow.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":"2021-05-03T07:06:04.000Z","updated_at":"2025-05-11T20:34:47.000Z","dependencies_parsed_at":"2024-11-25T02:11:31.259Z","dependency_job_id":"493421ab-a92e-4c03-a650-bba425d14e2e","html_url":"https://github.com/CatsMiaow/better-nodejs-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/CatsMiaow/better-nodejs-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CatsMiaow%2Fbetter-nodejs-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CatsMiaow%2Fbetter-nodejs-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CatsMiaow%2Fbetter-nodejs-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CatsMiaow%2Fbetter-nodejs-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CatsMiaow","download_url":"https://codeload.github.com/CatsMiaow/better-nodejs-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CatsMiaow%2Fbetter-nodejs-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261453337,"owners_count":23160499,"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":["better","nest","nestjs","node","nodejs","project","typescript"],"created_at":"2024-11-25T02:11:28.083Z","updated_at":"2025-11-09T23:03:31.824Z","avatar_url":"https://github.com/CatsMiaow.png","language":"JavaScript","readme":"# better-nodejs-project\n\nWays for a better Node.js backend project\n\n## ECMAScript Modules (ESM)\n\nFor modern, future-proof Node.js development, using ESM instead of CommonJS can provide benefits such as Top-level await, clearer handling of Circular dependency, and more\n\n- [Node.js Docs: ECMAScript modules](https://nodejs.org/docs/latest/api/esm.html)\n- [MDN Docs: JavaScript modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)\n\n## TypeScript\n\nFor preventing errors in your code with static analysis\n\n- [TypeScript from scratch](https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html)\n- [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html)\n\n## NestJS Framework\n\nFor extensible architectural structures and production-ready functionality\n\n- \u003chttps://docs.nestjs.com/#introduction\u003e\n- \u003chttps://discord.gg/nestjs\u003e\n\n## TypeScript ESLint\n\nFor correcting bad code and writing consistent code\n\n- \u003chttps://typescript-eslint.io\u003e\n\nIt is recommended to apply the known extended presets in addition to the basic rules \\\nThe following rules are available in flat config in eslint v9\n\n- [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS/blob/master/packages/jsts/src/rules/README.md)\n- [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)\n- [eslint-plugin-github](https://github.com/github/eslint-plugin-github)\n- [eslint-config-love](https://github.com/mightyiam/eslint-config-love)\n\n## Conventional Commits\n\nFor consistent commit message\n\n- \u003chttps://www.conventionalcommits.org\u003e\n- \u003chttps://commitlint.js.org\u003e\n\n## Semantic Versioning\n\nFor automatic versioning and changelog based on consistent commit messages\n\n- [Automatically Version with Conventional Commits](https://nx.dev/recipes/nx-release/automatically-version-with-conventional-commits)\n  - [nx release version](https://nx.dev/nx-api/nx/documents/release#version)\n  - [nx release changelog](https://nx.dev/nx-api/nx/documents/release#changelog)\n  - If you publish the project as a package, use [nx release publish](https://nx.dev/nx-api/nx/documents/release#publish).\n- [Manage Releases](\u003chttps://nx.dev/features/manage-releases\u003e)\n  - [Get Started with Nx Release](https://nx.dev/recipes/nx-release/get-started-with-nx-release)\n\n## Husky - Git hooks\n\nFor consistent work to avoid mistakes before committing\n\n- \u003chttps://typicode.github.io/husky\u003e\n- [commitlint](https://commitlint.js.org), [lint-staged](https://www.npmjs.com/package/lint-staged), [check-dependencies](https://www.npmjs.com/package/check-dependencies), etc.\n\n### Example\n\nSee the source [code](package.json) of this repository\n\n### Links\n\nOther helpful links\n\n- [Awesome Node.js](https://github.com/sindresorhus/awesome-nodejs)\n- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)\n- [JavaScript Clean Code](https://github.com/ryanmcdermott/clean-code-javascript)\n  - [Goodbye, Clean Code](https://overreacted.io/goodbye-clean-code)\n- [JavaScript Questions](https://github.com/lydiahallie/javascript-questions)\n- [Modern JavaScript Tutorial](https://javascript.info)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatsmiaow%2Fbetter-nodejs-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatsmiaow%2Fbetter-nodejs-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatsmiaow%2Fbetter-nodejs-project/lists"}