https://github.com/jorgecoke/pack-a-punch-npm
π¦Ύπ Pack a punch your NPM project, following standards and specifications, linting and formatting your code, automating Git work flows, and improving your styles with emojis π¦
https://github.com/jorgecoke/pack-a-punch-npm
commitizen commitlint cz emoji eslint formatter git hooks husky lint linter npm prettier
Last synced: about 1 month ago
JSON representation
π¦Ύπ Pack a punch your NPM project, following standards and specifications, linting and formatting your code, automating Git work flows, and improving your styles with emojis π¦
- Host: GitHub
- URL: https://github.com/jorgecoke/pack-a-punch-npm
- Owner: JorgeCoke
- Created: 2024-03-26T14:53:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-07T09:37:59.000Z (5 months ago)
- Last Synced: 2025-02-07T10:29:20.497Z (5 months ago)
- Topics: commitizen, commitlint, cz, emoji, eslint, formatter, git, hooks, husky, lint, linter, npm, prettier
- Language: TypeScript
- Homepage:
- Size: 761 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
![]()
π¦Ύπ Pack a Punch: NPM Project Template Boilerplate
Pack a punch your project, following standards and specifications, linting and formatting your code, automating Git work flows, and improving your styles with emojis π¦## β¨ Features
- π‘ [Zod](https://zod.dev/) **validator**
- π¨ The best **linter** and **formatter**, [BiomeJS](https://biomejs.dev/)
- πΆ Pre-Commit and Commit [Husky](https://github.com/typicode/husky) **hooks** (Runs linter and formatter before any commit against staged files only!)
- π Commit **nomenclature rules** following [Conventional Commit Format](https://commitlint.js.org/) and [Commitizen CLI](https://github.com/commitizen/cz-cli) (emoji [powered](https://github.com/folke/devmoji))
- π **Release management policy** with [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version), including automagically CHANGELOG.md generation, version bumping and GitTags
- π¦ Included [npm-check](https://www.npmjs.com/package/npm-check) to check for **outdated**, incorrect, and unused dependencies.
- π₯·π» Included [better-npm-audit](https://www.npmjs.com/package/better-npm-audit) to check for dependency **vulnerabilities**## π Getting Started
```
npm ci # Install dependencies
cp .env.example .env # Generate enviroment variables
npm run dev # Launch project locally
```## π¨ Linter & Formatter
```
npm run biome # Run Biome
```## β© Git Commit with Commitizen
```
git add . # Add files
npm run cz # Commit with Commitizen CLI
```## π Release a new version
```
npm run release # Bump version and generate CHANGELOG.md
git push --follow-tags # Push changes and GitTag to origin
```## π¦ Check vulnerabilities and update outdated dependencies
```
npm run npm:audit # Check dependency vulnerabilities
npm run npm:check # Check outdated dependencies
```## π Build and launch
```
npm run build # Compile project
npm run start # Launch
npm run package # Package an artifact
```---
#### How to migrate this configuration to an existing project
1. Install dependencies
```bash
npm install --save-dev @biomejs/biome @commitlint/cli @commitlint/config-conventional commit-and-tag-version commitizen cz-conventional-changelog devmoji husky lint-staged
```2. Copy the following scripts to your package.json file:
- biome
- release
- package
- cz
- npm:check
- npm:audit
- prepare3. Copy the "config", "commitlint" and "lint-staged" configuration objects to your package.json
4. Copy the corresponding config files
```bash
cp -R {.husky,.vscode,biome.json}
```5. Prepare husky tools running:
```bash
npm run prepare
```