Skip to content

Commit 8f3fb26

Browse files
authored
Merge pull request #12 from kucherenko/develop
docs: update README with Oxc toolchain and Dependabot
2 parents 083e958 + aeb435f commit 8f3fb26

1 file changed

Lines changed: 27 additions & 16 deletions

File tree

README.md

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ This template incorporates several key tools and libraries to enhance your CLI d
1616
- **[Consola](https://github.com/unjs/consola):** 🐨Elegant Console Logger for Node.js and Browser
1717
- **[Jest](https://jestjs.io/):** A delightful JavaScript Testing Framework with a focus on simplicity.
1818
- **[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+
2526

2627
## Prerequisites
2728

@@ -109,17 +110,27 @@ This starter comes with several predefined scripts to help with development:
109110
- `pnpm commitlint` - lint commit messages.
110111
- `pnpm compile` - Compile TypeScript files using `tsc`.
111112
- `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.
116118
- `pnpm start [command]` - Run the CLI application using `ts-node`.
117119
- `pnpm start:node [command]` - Run the CLI application from the `dist/` directory.
118120
- `pnpm test` - Run unit tests.
119121
- `pnpm test:watch` - Run tests and watch for file changes.
120122

121123
## CI/CD and Automation
122124

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+
123134
### Automated Version Management and NPM Publishing with Semantic-Release
124135

125136
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
150161

151162
To contribute to this project or customize it for your needs, consider the following guidelines:
152163

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
154165
consistency.
155166
2. **Commit Messages:** We use `commitizen` and `commitlint` to ensure our commit messages are consistent and follow the
156167
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
159170
changes.
160171
4. **Environment Variables:** Use the `.env` file for local development. For production, ensure you configure the
161172
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`.
166177

167178
## Contributing
168179

169180
Contributions are welcome! If you'd like to improve this CLI TypeScript starter, please follow the standard
170181
fork-and-pull request workflow. Here are a few guidelines to keep in mind:
171182

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
173184
for linting.
174185
- Follow the conventional commit format for your commit messages. This project uses `commitizen` and `commitlint` with
175186
the `@commitlint/config-conventional` configuration, enforced by Husky git hooks.

0 commit comments

Comments
 (0)