├── .changeset ├── README.md └── config.json ├── .editorconfig ├── .eslintrc.js ├── .github ├── commit-convention.md ├── renovate.json5 └── workflows │ └── ci.yml ├── .gitignore ├── .husky ├── commit-msg ├── post-merge └── pre-commit ├── .npmrc ├── .prettierrc.json ├── .vscode └── launch.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── README_zh.md ├── codecov.yml ├── commitlint.config.js ├── create-vrn ├── README.md ├── index.mjs └── package.json ├── docs ├── images │ └── cli-logo.png ├── index.md ├── migration.md └── migration_zh.md ├── package.json ├── packages ├── check-update │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ └── index.spec.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── cli │ ├── README.md │ ├── bin │ │ └── vrn-cli.js │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── cli.spec.ts │ │ │ ├── commands.spec.ts │ │ │ ├── index.spec.ts │ │ │ ├── prepare.spec.ts │ │ │ └── utils.spec.ts │ │ ├── cli.ts │ │ ├── commands.ts │ │ ├── index.ts │ │ ├── prepare.ts │ │ └── utils.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── command-boilerplate │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── __mocks__ │ │ │ │ ├── mock-boi-package-runner.cjs │ │ │ │ ├── mock-create.action.mjs │ │ │ │ └── mock-manifest.cjs │ │ │ ├── clear │ │ │ │ ├── clear.action.spec.ts │ │ │ │ └── clear.command.spec.ts │ │ │ ├── create │ │ │ │ ├── create.action.spec.ts │ │ │ │ ├── create.command.spec.ts │ │ │ │ ├── git-create.action.spec.ts │ │ │ │ ├── http-create.action.spec.ts │ │ │ │ └── package-create.action.spec.ts │ │ │ ├── index.spec.ts │ │ │ ├── list │ │ │ │ ├── list.action.spec.ts │ │ │ │ └── list.command.spec.ts │ │ │ ├── services │ │ │ │ └── boilerplate.service.spec.ts │ │ │ └── utils.spec.ts │ │ ├── clear │ │ │ ├── clear.action.ts │ │ │ └── clear.command.ts │ │ ├── common.ts │ │ ├── create │ │ │ ├── create.action.ts │ │ │ ├── create.command.ts │ │ │ ├── git-create.action.ts │ │ │ ├── http-create.action.ts │ │ │ └── package-create.action.ts │ │ ├── index.ts │ │ ├── list │ │ │ ├── list.action.ts │ │ │ └── list.command.ts │ │ ├── services │ │ │ └── boilerplate.service.ts │ │ └── utils.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── command-config │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── action.spec.ts │ │ │ └── index.spec.ts │ │ ├── action.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── command │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── action.spec.ts │ │ │ └── index.spec.ts │ │ ├── action.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── config-helper │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ └── index.spec.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── global.d.ts ├── log │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ └── index.spec.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── npm-helper │ ├── README.md │ ├── package.json │ ├── src │ │ ├── __tests__ │ │ │ ├── index.spec.ts │ │ │ ├── install.spec.ts │ │ │ ├── package.spec.ts │ │ │ ├── querier.spec.ts │ │ │ └── utils.spec.ts │ │ ├── common.ts │ │ ├── index.ts │ │ ├── install.ts │ │ ├── package.ts │ │ ├── querier.ts │ │ └── utils.ts │ ├── tsconfig.build.json │ └── tsconfig.json └── shared │ ├── README.md │ ├── package.json │ ├── src │ ├── __tests__ │ │ ├── index.spec.ts │ │ ├── test-import.js │ │ ├── test-shared.spec.ts │ │ └── type-helper.spec.ts │ ├── enum.ts │ ├── index.ts │ ├── test-shared.ts │ └── type-helper.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts ├── build.ts ├── changeset.ts ├── clean.ts └── test.ts ├── tsconfig.json └── vitest.config.ts /.changeset/README.md: -------------------------------------------------------------------------------- 1 | # Changesets 2 | 3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works 4 | with multi-package repos, or single-package repos to help you version and publish your code. You can 5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets) 6 | 7 | We have a quick list of common questions to get you started engaging with this project in 8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) 9 | -------------------------------------------------------------------------------- /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@1.6.3/schema.json", 3 | "changelog": "@changesets/cli/changelog", 4 | "commit": false, 5 | "linked": [], 6 | "access": "restricted", 7 | "baseBranch": "main", 8 | "updateInternalDependencies": "patch", 9 | "ignore": [] 10 | } 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@ombro/eslint-config-typescript'], 3 | rules: { 4 | 'prefer-const': 'off', 5 | '@typescript-eslint/no-empty-interface': 'off', 6 | '@typescript-eslint/no-non-null-assertion': 'off', 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /.github/commit-convention.md: -------------------------------------------------------------------------------- 1 | ## Git Commit Message Convention 2 | 3 | > This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular). 4 | 5 | #### TL;DR: 6 | 7 | Messages must be matched by the following regex: 8 | 9 | 10 | ```js 11 | /^(revert: )?(feat|fix|docs|dx|refactor|perf|test|workflow|build|ci|chore|types|wip|release|deps)(\(.+\))?: .{1,50}/ 12 | ``` 13 | 14 | #### Examples 15 | 16 | Appears under "Features" header, `dev` subheader: 17 | 18 | ``` 19 | feat(dev): add 'comments' option 20 | ``` 21 | 22 | Appears under "Bug Fixes" header, `dev` subheader, with a link to issue #28: 23 | 24 | ``` 25 | fix(dev): fix dev error 26 | 27 | close #28 28 | ``` 29 | 30 | Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: 31 | 32 | ``` 33 | perf(build): remove 'foo' option 34 | 35 | BREAKING CHANGE: The 'foo' option has been removed. 36 | ``` 37 | 38 | The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. 39 | 40 | ``` 41 | revert: feat(compiler): add 'comments' option 42 | 43 | This reverts commit 667ecc1654a317a13331b17617d973392f415f02. 44 | ``` 45 | 46 | ### Full Message Format 47 | 48 | A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: 49 | 50 | ``` 51 | (): 52 | 53 | 54 | 55 |