You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-16Lines changed: 27 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,12 +16,13 @@ This template incorporates several key tools and libraries to enhance your CLI d
16
16
-**[Consola](https://github.com/unjs/consola):** 🐨Elegant Console Logger for Node.js and Browser
17
17
-**[Jest](https://jestjs.io/):** A delightful JavaScript Testing Framework with a focus on simplicity.
18
18
-**[TS-Node](https://typestrong.org/ts-node/):** TypeScript execution and REPL for Node.js.
19
-
-**[TSUP](https://tsup.egoist.dev/):** The simplest and fastest way to bundle your TypeScript libraries.
20
-
-**[Prettier](https://prettier.io/):** An opinionated code formatter that supports many languages and integrates with
21
-
most editors.
22
-
-**[ESLint](https://eslint.org/):** A pluggable and configurable linter tool for identifying and reporting on patterns
23
-
in JavaScript and TypeScript.
24
-
-**[giget](https://github.com/unjs/giget)** ✨ Download templates and git repositories with pleasure!
19
+
-**[TSUP](https://tsup.egoist.sh/):** The simplest and fastest way to bundle your TypeScript libraries.
20
+
-**[Oxlint](https://oxc.rs/):** Ultra-fast linter for JavaScript and TypeScript (~30x faster than ESLint).
21
+
-**[Oxfmt](https://oxc.rs/):** High-performance code formatter with Prettier compatibility.
22
+
-**[jscpd](https://github.com/kucherenko/jscpd):** Copy/paste detector for code duplication detection.
23
+
-**[giget](https://github.com/unjs/giget):** ✨ Download templates and git repositories with pleasure!
24
+
-**[Dependabot](https://docs.github.com/en/code-security/dependabot):** Automated dependency updates via GitHub.
25
+
25
26
26
27
## Prerequisites
27
28
@@ -109,17 +110,27 @@ This starter comes with several predefined scripts to help with development:
109
110
-`pnpm commitlint` - lint commit messages.
110
111
-`pnpm compile` - Compile TypeScript files using `tsc`.
111
112
-`pnpm clean` - Remove compiled code from the `dist/` directory.
112
-
-`pnpm format` - Check files for code style issues using Prettier.
113
-
-`pnpm format:fix` - Automatically fix code formatting issues with Prettier.
114
-
-`pnpm lint` - Check code for style issues with ESLint.
115
-
-`pnpm lint:fix` - Automatically fix code style issues with ESLint.
113
+
-`pnpm format` - Check files for code style issues using Oxfmt.
114
+
-`pnpm format:fix` - Automatically fix code formatting issues with Oxfmt.
115
+
-`pnpm lint` - Check code for style issues with Oxlint.
116
+
-`pnpm lint:fix` - Format code with Oxfmt and check with Oxlint.
117
+
-`pnpm cpd` - Check for code duplication using jscpd.
116
118
-`pnpm start [command]` - Run the CLI application using `ts-node`.
117
119
-`pnpm start:node [command]` - Run the CLI application from the `dist/` directory.
118
120
-`pnpm test` - Run unit tests.
119
121
-`pnpm test:watch` - Run tests and watch for file changes.
120
122
121
123
## CI/CD and Automation
122
124
125
+
### Automated Dependency Updates with Dependabot
126
+
127
+
This project uses GitHub Dependabot to automatically keep dependencies up to date. Dependabot creates pull requests weekly to update npm dependencies, ensuring the project stays current with the latest security patches and features.
128
+
129
+
The Dependabot configuration (`.github/dependabot.yml`) is set to:
130
+
- Check for npm package updates weekly
131
+
- Create up to 10 pull requests at a time
132
+
- Automatically open PRs for security updates
133
+
123
134
### Automated Version Management and NPM Publishing with Semantic-Release
124
135
125
136
This project utilizes `semantic-release` to automate version management and the NPM publishing
@@ -150,7 +161,7 @@ efficiently and that users are well-informed of each update through automaticall
150
161
151
162
To contribute to this project or customize it for your needs, consider the following guidelines:
152
163
153
-
1.**Code Styling:** Follow the predefined code style, using Prettier for formatting and ESLint for linting, to ensure
164
+
1.**Code Styling:** Follow the predefined code style, using Oxfmt for formatting and Oxlint for linting, to ensure
154
165
consistency.
155
166
2.**Commit Messages:** We use `commitizen` and `commitlint` to ensure our commit messages are consistent and follow the
156
167
conventional commit format, recommended by `@commitlint/config-conventional`. To make a commit, you can
@@ -159,17 +170,17 @@ To contribute to this project or customize it for your needs, consider the follo
159
170
changes.
160
171
4.**Environment Variables:** Use the `.env` file for local development. For production, ensure you configure the
161
172
environment variables in your deployment environment.
162
-
5.**Husky Git Hooks:** This project utilizes Husky to automate linting, formatting, and commit message verification via
163
-
git hooks. This ensures that code commits meet our quality and style standards without manual checks. The hooks set
164
-
up include pre-commit hooks for running ESLint and Prettier, and commit-msg hooks for validating commit messages
165
-
with `commitlint`.
173
+
5.**Husky Git Hooks:** This project utilizes Husky to automate formatting, linting, code duplication checks, testing,
174
+
and commit message verification via git hooks. This ensures that code commits meet our quality and style standards
175
+
without manual checks. The pre-commit hook runs Oxfmt, Oxlint, jscpd, tests, and build verification. The commit-msg
176
+
hook validates commit messages with `commitlint`.
166
177
167
178
## Contributing
168
179
169
180
Contributions are welcome! If you'd like to improve this CLI TypeScript starter, please follow the standard
170
181
fork-and-pull request workflow. Here are a few guidelines to keep in mind:
171
182
172
-
- Make sure your code adheres to the project's coding standards, including using Prettier for code formatting and ESLint
183
+
- Make sure your code adheres to the project's coding standards, including using Oxfmt for code formatting and Oxlint
173
184
for linting.
174
185
- Follow the conventional commit format for your commit messages. This project uses `commitizen` and `commitlint` with
175
186
the `@commitlint/config-conventional` configuration, enforced by Husky git hooks.
0 commit comments