├── .bunfig.toml
├── .changelogrc.js
├── .commitlintrc.js
├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .fatherrc.ts
├── .github
├── ISSUE_TEMPLATE
│ ├── 1_bug_report.yml
│ ├── 2_feature_request.yml
│ ├── 3_question.yml
│ └── 4_other.md
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── auto-merge.yml
│ ├── issue-check-inactive.yml
│ ├── issue-close-require.yml
│ ├── issue-remove-inactive.yml
│ ├── pkg.pr.new.yml
│ ├── release.yml
│ └── test.yml
├── .gitignore
├── .husky
├── commit-msg
└── pre-commit
├── .npmrc
├── .prettierignore
├── .prettierrc.js
├── .releaserc.js
├── .remarkrc.js
├── .stylelintrc.js
├── CHANGELOG.md
├── LICENSE
├── README.md
├── clean-package.config.js
├── package.json
├── renovate.json
├── src
├── changelog
│ └── index.ts
├── commitlint
│ └── index.ts
├── eslint
│ └── index.ts
├── index.ts
├── prettier
│ └── index.ts
├── remarklint
│ ├── index.ts
│ ├── remarkGfmHighlight.ts
│ └── remarkTextrPlugins.ts
├── semantic-release
│ ├── index.ts
│ └── monorepo.ts
└── stylelint
│ └── index.ts
├── tsconfig.json
└── typings.d.ts
/.bunfig.toml:
--------------------------------------------------------------------------------
1 | [install.lockfile]
2 |
3 | save = false
4 |
--------------------------------------------------------------------------------
/.changelogrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').changelog;
2 |
--------------------------------------------------------------------------------
/.commitlintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').commitlint;
2 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | indent_style = space
7 | indent_size = 2
8 | tab_width = 2
9 | end_of_line = lf
10 | charset = utf-8
11 | trim_trailing_whitespace = true
12 | insert_final_newline = true
13 | max_line_length = 100
14 |
15 | [*.md]
16 | trim_trailing_whitespace = false
17 |
18 | [Makefile]
19 | indent_style = tab
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | # Eslintignore for LobeHub
2 | ################################################################
3 |
4 | # dependencies
5 | node_modules
6 |
7 | # ci
8 | .coverage
9 |
10 | # test
11 | jest*
12 | _test_
13 | __test__
14 |
15 | # umi
16 | .umi
17 | .umi-production
18 | .umi-test
19 | .dumi/tmp*
20 |
21 | # production
22 | dist
23 | es
24 | lib
25 | logs
26 |
27 | # misc
28 | # add other ignore file below
29 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').eslint;
2 |
--------------------------------------------------------------------------------
/.fatherrc.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'father';
2 |
3 | export default defineConfig({
4 | cjs: {
5 | output: 'dist',
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/1_bug_report.yml:
--------------------------------------------------------------------------------
1 | name: '🐛 反馈缺陷 Bug Report'
2 | description: '反馈一个问题缺陷 | Report an bug'
3 | title: '[Bug] '
4 | labels: '🐛 Bug'
5 | body:
6 | - type: dropdown
7 | attributes:
8 | label: '💻 系统环境 | Operating System'
9 | options:
10 | - Windows
11 | - macOS
12 | - Ubuntu
13 | - Other Linux
14 | - Other
15 | validations:
16 | required: true
17 | - type: textarea
18 | attributes:
19 | label: '🐛 问题描述 | Bug Description'
20 | description: A clear and concise description of the bug.
21 | validations:
22 | required: true
23 | - type: textarea
24 | attributes:
25 | label: '🚦 期望结果 | Expected Behavior'
26 | description: A clear and concise description of what you expected to happen.
27 | - type: textarea
28 | attributes:
29 | label: '📷 复现步骤 | Recurrence Steps'
30 | description: A clear and concise description of how to recurrence.
31 | - type: textarea
32 | attributes:
33 | label: '📝 补充信息 | Additional Information'
34 | description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
35 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/2_feature_request.yml:
--------------------------------------------------------------------------------
1 | name: '🌠 功能需求 Feature Request'
2 | description: '需求或建议 | Suggest an idea'
3 | title: '[Request] '
4 | labels: '🌠 Feature Request'
5 | body:
6 | - type: textarea
7 | attributes:
8 | label: '🥰 需求描述 | Feature Description'
9 | description: Please add a clear and concise description of the problem you are seeking to solve with this feature request.
10 | validations:
11 | required: true
12 | - type: textarea
13 | attributes:
14 | label: '🧐 解决方案 | Proposed Solution'
15 | description: Describe the solution you'd like in a clear and concise manner.
16 | validations:
17 | required: true
18 | - type: textarea
19 | attributes:
20 | label: '📝 补充信息 | Additional Information'
21 | description: Add any other context about the problem here.
22 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/3_question.yml:
--------------------------------------------------------------------------------
1 | name: '😇 疑问或帮助 Help Wanted'
2 | description: '疑问或需要帮助 | Need help'
3 | title: '[Question] '
4 | labels: '😇 Help Wanted'
5 | body:
6 | - type: textarea
7 | attributes:
8 | label: '🧐 问题描述 | Proposed Solution'
9 | description: A clear and concise description of the proplem.
10 | validations:
11 | required: true
12 | - type: textarea
13 | attributes:
14 | label: '📝 补充信息 | Additional Information'
15 | description: Add any other context about the problem here.
16 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/4_other.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: '📝 其他 Other'
3 | about: '其他问题 | Other issues'
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 | ---
8 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | #### 💻 变更类型 | Change Type
2 |
3 |
4 |
5 | - [ ] ✨ feat
6 | - [ ] 🐛 fix
7 | - [ ] 💄 style
8 | - [ ] 🔨 chore
9 | - [ ] 📝 docs
10 |
11 | #### 🔀 变更说明 | Description of Change
12 |
13 |
14 |
15 | #### 📝 补充信息 | Additional Information
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.github/workflows/auto-merge.yml:
--------------------------------------------------------------------------------
1 | name: Dependabot Auto Merge
2 | on:
3 | pull_request_target:
4 | types: [labeled, edited]
5 |
6 | jobs:
7 | merge:
8 | if: contains(github.event.pull_request.labels.*.name, 'dependencies')
9 | name: Dependabot Auto Merge
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v4
13 |
14 | - name: Install bun
15 | uses: oven-sh/setup-bun@v2
16 |
17 | - name: Install deps
18 | run: bun i
19 |
20 | - name: Merge
21 | uses: ahmadnassri/action-dependabot-auto-merge@v2
22 | with:
23 | command: merge
24 | target: minor
25 | github-token: ${{ secrets.GH_TOKEN }}
26 |
--------------------------------------------------------------------------------
/.github/workflows/issue-check-inactive.yml:
--------------------------------------------------------------------------------
1 | name: Issue Check Inactive
2 |
3 | on:
4 | schedule:
5 | - cron: '0 0 */15 * *'
6 |
7 | permissions:
8 | contents: read
9 |
10 | jobs:
11 | issue-check-inactive:
12 | permissions:
13 | issues: write # for actions-cool/issues-helper to update issues
14 | pull-requests: write # for actions-cool/issues-helper to update PRs
15 | runs-on: ubuntu-latest
16 | steps:
17 | - name: check-inactive
18 | uses: actions-cool/issues-helper@v3
19 | with:
20 | actions: 'check-inactive'
21 | inactive-label: 'Inactive'
22 | inactive-day: 30
23 |
--------------------------------------------------------------------------------
/.github/workflows/issue-close-require.yml:
--------------------------------------------------------------------------------
1 | name: Issue Close Require
2 |
3 | on:
4 | schedule:
5 | - cron: '0 0 * * *'
6 |
7 | permissions:
8 | contents: read
9 |
10 | jobs:
11 | issue-close-require:
12 | permissions:
13 | issues: write # for actions-cool/issues-helper to update issues
14 | pull-requests: write # for actions-cool/issues-helper to update PRs
15 | runs-on: ubuntu-latest
16 | steps:
17 | - name: need reproduce
18 | uses: actions-cool/issues-helper@v3
19 | with:
20 | actions: 'close-issues'
21 | labels: '✅ Fixed'
22 | inactive-day: 3
23 | body: |
24 | Since the issue was labeled with `✅ Fixed`, but no response in 3 days. This issue will be closed. If you have any questions, you can comment and reply.
25 |
26 | 由于该 issue 被标记为已修复,同时 3 天未收到回应。现关闭 issue,若有任何问题,可评论回复。
27 | - name: need reproduce
28 | uses: actions-cool/issues-helper@v3
29 | with:
30 | actions: 'close-issues'
31 | labels: '🤔 Need Reproduce'
32 | inactive-day: 3
33 | body: |
34 | Since the issue was labeled with `🤔 Need Reproduce`, but no response in 3 days. This issue will be closed. If you have any questions, you can comment and reply.
35 |
36 | 由于该 issue 被标记为需要更多信息,却 3 天未收到回应。现关闭 issue,若有任何问题,可评论回复。
37 | - name: need reproduce
38 | uses: actions-cool/issues-helper@v3
39 | with:
40 | actions: 'close-issues'
41 | labels: "🙅🏻♀️ WON'T DO"
42 | inactive-day: 3
43 | body: |
44 | Since the issue was labeled with `🙅🏻♀️ WON'T DO`, and no response in 3 days. This issue will be closed. If you have any questions, you can comment and reply.
45 |
46 | 由于该 issue 被标记为暂不处理,同时 3 天未收到回应。现关闭 issue,若有任何问题,可评论回复。
47 |
--------------------------------------------------------------------------------
/.github/workflows/issue-remove-inactive.yml:
--------------------------------------------------------------------------------
1 | name: Issue Remove Inactive
2 |
3 | on:
4 | issues:
5 | types: [edited]
6 | issue_comment:
7 | types: [created, edited]
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | issue-remove-inactive:
14 | permissions:
15 | issues: write # for actions-cool/issues-helper to update issues
16 | pull-requests: write # for actions-cool/issues-helper to update PRs
17 | runs-on: ubuntu-latest
18 | steps:
19 | - name: remove inactive
20 | if: github.event.issue.state == 'open' && github.actor == github.event.issue.user.login
21 | uses: actions-cool/issues-helper@v3
22 | with:
23 | actions: 'remove-labels'
24 | issue-number: ${{ github.event.issue.number }}
25 | labels: 'Inactive'
26 |
--------------------------------------------------------------------------------
/.github/workflows/pkg.pr.new.yml:
--------------------------------------------------------------------------------
1 | name: Pkg Pr New CI
2 | on:
3 | pull_request:
4 | push:
5 | branches:
6 | - '!main'
7 |
8 | jobs:
9 | release:
10 | name: Release
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v4
14 |
15 | - name: Install bun
16 | uses: oven-sh/setup-bun@v2
17 |
18 | - name: Install deps
19 | run: bun i
20 |
21 | - name: CI
22 | run: bun run ci
23 |
24 | - name: Test
25 | run: bun run test
26 |
27 | - name: Build
28 | run: bun run build
29 |
30 | - name: Release
31 | run: bunx pkg-pr-new publish
32 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Build and Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | release:
10 | name: release
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v4
14 |
15 | - name: Install bun
16 | uses: oven-sh/setup-bun@v2
17 |
18 | - name: Install deps
19 | run: bun i
20 |
21 | - name: Build
22 | run: bun run build
23 |
24 | - name: Release
25 | run: bun run release
26 | env:
27 | GH_TOKEN: ${{ secrets.GH_TOKEN }}
28 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
29 |
--------------------------------------------------------------------------------
/.github/workflows/test.yml:
--------------------------------------------------------------------------------
1 | name: Test CI
2 | on:
3 | pull_request:
4 | push:
5 | branches:
6 | - '!main'
7 | jobs:
8 | test:
9 | runs-on: ubuntu-latest
10 |
11 | steps:
12 | - uses: actions/checkout@v4
13 |
14 | - name: Install bun
15 | uses: oven-sh/setup-bun@v2
16 |
17 | - name: Install deps
18 | run: bun i
19 |
20 | - name: Test
21 | run: bun run test
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Gitignore for LobeHub
2 | ################################################################
3 |
4 | # general
5 | .DS_Store
6 | .idea
7 | .vscode
8 | .history
9 | .temp
10 | .env.local
11 | venv
12 | temp
13 | tmp
14 |
15 | # dependencies
16 | node_modules
17 | *.log
18 | *.lock
19 | package-lock.json
20 | bun.lockb
21 |
22 | # ci
23 | .coverage
24 | .eslintcache
25 | .stylelintcache
26 |
27 | # production
28 | dist
29 | es
30 | lib
31 | logs
32 | test-output
33 |
34 | # umi
35 | .umi
36 | .umi-production
37 | .umi-test
38 | .dumi/tmp*
39 |
40 | # husky
41 | .husky/prepare-commit-msg
42 |
43 | # misc
44 | # add other ignore file below
45 |
--------------------------------------------------------------------------------
/.husky/commit-msg:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | npx --no -- commitlint --edit ${1}
4 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | npm run type-check
4 | npm run lint:circular
5 | npx --no-install lint-staged
6 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | lockfile=false
2 | resolution-mode=highest
3 | public-hoist-pattern[]=*@umijs/lint*
4 | public-hoist-pattern[]=*changelog*
5 | public-hoist-pattern[]=*commitlint*
6 | public-hoist-pattern[]=*eslint*
7 | public-hoist-pattern[]=*postcss*
8 | public-hoist-pattern[]=*prettier*
9 | public-hoist-pattern[]=*remark*
10 | public-hoist-pattern[]=*semantic-release*
11 | public-hoist-pattern[]=*stylelint*
12 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # Prettierignore for LobeHub
2 | ################################################################
3 |
4 | # general
5 | .DS_Store
6 | .editorconfig
7 | .idea
8 | .vscode
9 | .history
10 | .temp
11 | .env.local
12 | .husky
13 | .npmrc
14 | venv
15 | temp
16 | tmp
17 | LICENSE
18 |
19 | # dependencies
20 | node_modules
21 | *.log
22 | *.lock
23 | package-lock.json
24 |
25 | # ci
26 | .coverage
27 | .eslintcache
28 | .stylelintcache
29 | test-output
30 |
31 | # production
32 | dist
33 | es
34 | lib
35 | logs
36 |
37 | # umi
38 | .umi
39 | .umi-production
40 | .umi-test
41 | .dumi/tmp*
42 |
43 | # ignore files
44 | .*ignore
45 |
46 | # docker
47 | docker
48 | Dockerfile*
49 |
50 | # image
51 | *.webp
52 | *.gif
53 | *.png
54 | *.jpg
55 |
56 | # misc
57 | # add other ignore file below
58 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').prettier;
2 |
--------------------------------------------------------------------------------
/.releaserc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').semanticRelease;
2 |
--------------------------------------------------------------------------------
/.remarkrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').remarklint;
2 |
--------------------------------------------------------------------------------
/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./dist').stylelint;
2 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Changelog
4 |
5 | ### [Version 1.26.2](https://github.com/lobehub/lobe-lint/compare/v1.26.1...v1.26.2)
6 |
7 | Released on **2025-05-27**
8 |
9 | #### 💄 Styles
10 |
11 | - **misc**: Update eslint rule.
12 |
13 |
14 |
15 |
16 | Improvements and Fixes
17 |
18 | #### Styles
19 |
20 | - **misc**: Update eslint rule ([164daa0](https://github.com/lobehub/lobe-lint/commit/164daa0))
21 |
22 |
23 |
24 |
25 |
26 | [](#readme-top)
27 |
28 |
29 |
30 | ### [Version 1.26.1](https://github.com/lobehub/lobe-lint/compare/v1.26.0...v1.26.1)
31 |
32 | Released on **2025-04-02**
33 |
34 | #### 🐛 Bug Fixes
35 |
36 | - **misc**: Fix jsx.
37 |
38 |
39 |
40 |
41 | Improvements and Fixes
42 |
43 | #### What's fixed
44 |
45 | - **misc**: Fix jsx ([84bb801](https://github.com/lobehub/lobe-lint/commit/84bb801))
46 |
47 |
48 |
49 |
50 |
51 | [](#readme-top)
52 |
53 |
54 |
55 | ## [Version 1.26.0](https://github.com/lobehub/lobe-lint/compare/v1.25.7...v1.26.0)
56 |
57 | Released on **2025-04-02**
58 |
59 | #### ✨ Features
60 |
61 | - **misc**: Support decorators in prettier.
62 |
63 |
64 |
65 |
66 | Improvements and Fixes
67 |
68 | #### What's improved
69 |
70 | - **misc**: Support decorators in prettier ([dc17b98](https://github.com/lobehub/lobe-lint/commit/dc17b98))
71 |
72 |
73 |
74 |
75 |
76 | [](#readme-top)
77 |
78 |
79 |
80 | ### [Version 1.25.7](https://github.com/lobehub/lobe-lint/compare/v1.25.6...v1.25.7)
81 |
82 | Released on **2025-01-31**
83 |
84 | #### 🐛 Bug Fixes
85 |
86 | - **misc**: Fix deps.
87 |
88 |
89 |
90 |
91 | Improvements and Fixes
92 |
93 | #### What's fixed
94 |
95 | - **misc**: Fix deps ([97595b3](https://github.com/lobehub/lobe-lint/commit/97595b3))
96 |
97 |
98 |
99 |
100 |
101 | [](#readme-top)
102 |
103 |
104 |
105 | ### [Version 1.25.6](https://github.com/lobehub/lobe-lint/compare/v1.25.5...v1.25.6)
106 |
107 | Released on **2025-01-31**
108 |
109 | #### 🐛 Bug Fixes
110 |
111 | - **misc**: Fix deps.
112 |
113 |
114 |
115 |
116 | Improvements and Fixes
117 |
118 | #### What's fixed
119 |
120 | - **misc**: Fix deps ([167c501](https://github.com/lobehub/lobe-lint/commit/167c501))
121 |
122 |
123 |
124 |
125 |
126 | [](#readme-top)
127 |
128 |
129 |
130 | ### [Version 1.25.5](https://github.com/lobehub/lobe-lint/compare/v1.25.4...v1.25.5)
131 |
132 | Released on **2025-01-09**
133 |
134 | #### 💄 Styles
135 |
136 | - **misc**: Update react/self-closing-comp.
137 |
138 |
139 |
140 |
141 | Improvements and Fixes
142 |
143 | #### Styles
144 |
145 | - **misc**: Update react/self-closing-comp ([de3850c](https://github.com/lobehub/lobe-lint/commit/de3850c))
146 |
147 |
148 |
149 |
150 |
151 | [](#readme-top)
152 |
153 |
154 |
155 | ### [Version 1.25.4](https://github.com/lobehub/lobe-lint/compare/v1.25.3...v1.25.4)
156 |
157 | Released on **2025-01-09**
158 |
159 | #### 🐛 Bug Fixes
160 |
161 | - **misc**: Fix json order.
162 |
163 |
164 |
165 |
166 | Improvements and Fixes
167 |
168 | #### What's fixed
169 |
170 | - **misc**: Fix json order ([d8463ae](https://github.com/lobehub/lobe-lint/commit/d8463ae))
171 |
172 |
173 |
174 |
175 |
176 | [](#readme-top)
177 |
178 |
179 |
180 | ### [Version 1.25.3](https://github.com/lobehub/lobe-lint/compare/v1.25.2...v1.25.3)
181 |
182 | Released on **2025-01-07**
183 |
184 | #### 🐛 Bug Fixes
185 |
186 | - **misc**: Fix @typescript-eslint/eslint-plugin.
187 |
188 |
189 |
190 |
191 | Improvements and Fixes
192 |
193 | #### What's fixed
194 |
195 | - **misc**: Fix @typescript-eslint/eslint-plugin ([7c4a12e](https://github.com/lobehub/lobe-lint/commit/7c4a12e))
196 |
197 |
198 |
199 |
200 |
201 | [](#readme-top)
202 |
203 |
204 |
205 | ### [Version 1.25.2](https://github.com/lobehub/lobe-lint/compare/v1.25.1...v1.25.2)
206 |
207 | Released on **2025-01-07**
208 |
209 | #### 🐛 Bug Fixes
210 |
211 | - **misc**: Fix eslint.
212 |
213 |
214 |
215 |
216 | Improvements and Fixes
217 |
218 | #### What's fixed
219 |
220 | - **misc**: Fix eslint ([9e73db0](https://github.com/lobehub/lobe-lint/commit/9e73db0))
221 |
222 |
223 |
224 |
225 |
226 | [](#readme-top)
227 |
228 |
229 |
230 | ### [Version 1.25.1](https://github.com/lobehub/lobe-lint/compare/v1.25.0...v1.25.1)
231 |
232 | Released on **2025-01-07**
233 |
234 | #### 🐛 Bug Fixes
235 |
236 | - **misc**: Fix eslint.
237 |
238 |
239 |
240 |
241 | Improvements and Fixes
242 |
243 | #### What's fixed
244 |
245 | - **misc**: Fix eslint ([562abca](https://github.com/lobehub/lobe-lint/commit/562abca))
246 |
247 |
248 |
249 |
250 |
251 | [](#readme-top)
252 |
253 |
254 |
255 | ## [Version 1.25.0](https://github.com/lobehub/lobe-lint/compare/v1.24.4...v1.25.0)
256 |
257 | Released on **2025-01-07**
258 |
259 | #### ✨ Features
260 |
261 | - **misc**: Update Remark.
262 |
263 |
264 |
265 |
266 | Improvements and Fixes
267 |
268 | #### What's improved
269 |
270 | - **misc**: Update Remark ([78eec46](https://github.com/lobehub/lobe-lint/commit/78eec46))
271 |
272 |
273 |
274 |
275 |
276 | [](#readme-top)
277 |
278 |
279 |
280 | ### [Version 1.24.4](https://github.com/lobehub/lobe-lint/compare/v1.24.3...v1.24.4)
281 |
282 | Released on **2024-08-09**
283 |
284 | #### 🐛 Bug Fixes
285 |
286 | - **misc**: Fix eslint-plugin-unused-imports.
287 |
288 |
289 |
290 |
291 | Improvements and Fixes
292 |
293 | #### What's fixed
294 |
295 | - **misc**: Fix eslint-plugin-unused-imports ([8bf0f43](https://github.com/lobehub/lobe-lint/commit/8bf0f43))
296 |
297 |
298 |
299 |
300 |
301 | [](#readme-top)
302 |
303 |
304 |
305 | ### [Version 1.24.3](https://github.com/lobehub/lobe-lint/compare/v1.24.2...v1.24.3)
306 |
307 | Released on **2024-07-01**
308 |
309 | #### 🐛 Bug Fixes
310 |
311 | - **misc**: Fix eslint.
312 |
313 |
314 |
315 |
316 | Improvements and Fixes
317 |
318 | #### What's fixed
319 |
320 | - **misc**: Fix eslint ([e97b167](https://github.com/lobehub/lobe-lint/commit/e97b167))
321 |
322 |
323 |
324 |
325 |
326 | [](#readme-top)
327 |
328 |
329 |
330 | ### [Version 1.24.2](https://github.com/lobehub/lobe-lint/compare/v1.24.1...v1.24.2)
331 |
332 | Released on **2024-07-01**
333 |
334 | #### 🐛 Bug Fixes
335 |
336 | - **misc**: Fix stylelint.
337 |
338 |
339 |
340 |
341 | Improvements and Fixes
342 |
343 | #### What's fixed
344 |
345 | - **misc**: Fix stylelint ([13b8d9c](https://github.com/lobehub/lobe-lint/commit/13b8d9c))
346 |
347 |
348 |
349 |
350 |
351 | [](#readme-top)
352 |
353 |
354 |
355 | ### [Version 1.24.1](https://github.com/lobehub/lobe-lint/compare/v1.24.0...v1.24.1)
356 |
357 | Released on **2024-07-01**
358 |
359 | #### 🐛 Bug Fixes
360 |
361 | - **misc**: Fix stylelint.
362 |
363 |
364 |
365 |
366 | Improvements and Fixes
367 |
368 | #### What's fixed
369 |
370 | - **misc**: Fix stylelint ([a64d63e](https://github.com/lobehub/lobe-lint/commit/a64d63e))
371 |
372 |
373 |
374 |
375 |
376 | [](#readme-top)
377 |
378 |
379 |
380 | ## [Version 1.24.0](https://github.com/lobehub/lobe-lint/compare/v1.23.4...v1.24.0)
381 |
382 | Released on **2024-07-01**
383 |
384 | #### ✨ Features
385 |
386 | - **misc**: Add stylelint-use-logical-spec.
387 |
388 | #### 🐛 Bug Fixes
389 |
390 | - **misc**: Fix deps.
391 |
392 | #### 💄 Styles
393 |
394 | - **misc**: Update value-no-vendor-prefix in stylelint.
395 |
396 |
397 |
398 |
399 | Improvements and Fixes
400 |
401 | #### What's improved
402 |
403 | - **misc**: Add stylelint-use-logical-spec ([861ecb8](https://github.com/lobehub/lobe-lint/commit/861ecb8))
404 |
405 | #### What's fixed
406 |
407 | - **misc**: Fix deps ([08169dd](https://github.com/lobehub/lobe-lint/commit/08169dd))
408 |
409 | #### Styles
410 |
411 | - **misc**: Update value-no-vendor-prefix in stylelint ([050b93f](https://github.com/lobehub/lobe-lint/commit/050b93f))
412 |
413 |
414 |
415 |
416 |
417 | [](#readme-top)
418 |
419 |
420 |
421 | ### [Version 1.23.4](https://github.com/lobehub/lobe-lint/compare/v1.23.3...v1.23.4)
422 |
423 | Released on **2024-04-30**
424 |
425 | #### 🐛 Bug Fixes
426 |
427 | - **misc**: Lock [@typescript-eslint](https://github.com/typescript-eslint).
428 |
429 |
430 |
431 |
432 | Improvements and Fixes
433 |
434 | #### What's fixed
435 |
436 | - **misc**: Lock [@typescript-eslint](https://github.com/typescript-eslint) ([00c796f](https://github.com/lobehub/lobe-lint/commit/00c796f))
437 |
438 |
439 |
440 |
441 |
442 | [](#readme-top)
443 |
444 |
445 |
446 | ### [Version 1.23.3](https://github.com/lobehub/lobe-lint/compare/v1.23.2...v1.23.3)
447 |
448 | Released on **2024-04-08**
449 |
450 | #### 🐛 Bug Fixes
451 |
452 | - **misc**: Fix eslint rule.
453 |
454 |
455 |
456 |
457 | Improvements and Fixes
458 |
459 | #### What's fixed
460 |
461 | - **misc**: Fix eslint rule ([8e82b19](https://github.com/lobehub/lobe-lint/commit/8e82b19))
462 |
463 |
464 |
465 |
466 |
467 | [](#readme-top)
468 |
469 |
470 |
471 | ### [Version 1.23.2](https://github.com/lobehub/lobe-lint/compare/v1.23.1...v1.23.2)
472 |
473 | Released on **2024-04-08**
474 |
475 | #### 🐛 Bug Fixes
476 |
477 | - **misc**: Fix eslint config.
478 |
479 |
480 |
481 |
482 | Improvements and Fixes
483 |
484 | #### What's fixed
485 |
486 | - **misc**: Fix eslint config ([13a80a4](https://github.com/lobehub/lobe-lint/commit/13a80a4))
487 |
488 |
489 |
490 |
491 |
492 | [](#readme-top)
493 |
494 |
495 |
496 | ### [Version 1.23.1](https://github.com/lobehub/lobe-lint/compare/v1.23.0...v1.23.1)
497 |
498 | Released on **2024-04-08**
499 |
500 |
501 |
502 |
503 | Improvements and Fixes
504 |
505 |
506 |
507 |
508 |
509 | [](#readme-top)
510 |
511 |
512 |
513 | ## [Version 1.23.0](https://github.com/lobehub/lobe-lint/compare/v1.22.0...v1.23.0)
514 |
515 | Released on **2024-04-03**
516 |
517 | #### ✨ Features
518 |
519 | - **misc**: Update deps.
520 |
521 |
522 |
523 |
524 | Improvements and Fixes
525 |
526 | #### What's improved
527 |
528 | - **misc**: Update deps ([82db000](https://github.com/lobehub/lobe-lint/commit/82db000))
529 |
530 |
531 |
532 |
533 |
534 | [](#readme-top)
535 |
536 |
537 |
538 | ## [Version 1.22.0](https://github.com/lobehub/lobe-lint/compare/v1.21.0...v1.22.0)
539 |
540 | Released on **2024-03-05**
541 |
542 | #### ✨ Features
543 |
544 | - **misc**: Update changelog config.
545 |
546 |
547 |
548 |
549 | Improvements and Fixes
550 |
551 | #### What's improved
552 |
553 | - **misc**: Update changelog config ([0080ab9](https://github.com/lobehub/lobe-lint/commit/0080ab9))
554 |
555 |
556 |
557 |
558 |
559 | [](#readme-top)
560 |
561 |
562 |
563 | ## [Version 1.21.0](https://github.com/lobehub/lobe-lint/compare/v1.20.0...v1.21.0)
564 |
565 | Released on **2023-11-16**
566 |
567 | #### ✨ Features
568 |
569 | - **misc**: Add new function "remarkGfmHighlight" for modifying "blockquote" nodes.
570 |
571 |
572 |
573 |
574 | Improvements and Fixes
575 |
576 | #### What's improved
577 |
578 | - **misc**: Add new function "remarkGfmHighlight" for modifying "blockquote" nodes ([e0cd845](https://github.com/lobehub/lobe-lint/commit/e0cd845))
579 |
580 |
581 |
582 |
583 |
584 | [](#readme-top)
585 |
586 |
587 |
588 | ## [Version 1.20.0](https://github.com/lobehub/lobe-lint/compare/v1.19.0...v1.20.0)
589 |
590 | Released on **2023-11-16**
591 |
592 | #### ✨ Features
593 |
594 | - **misc**: Add function to highlight specific blockquote nodes in Markdown.
595 |
596 |
597 |
598 |
599 | Improvements and Fixes
600 |
601 | #### What's improved
602 |
603 | - **misc**: Add function to highlight specific blockquote nodes in Markdown ([a17a894](https://github.com/lobehub/lobe-lint/commit/a17a894))
604 |
605 |
606 |
607 |
608 |
609 | [](#readme-top)
610 |
611 |
612 |
613 | ## [Version 1.19.0](https://github.com/lobehub/lobe-lint/compare/v1.18.1...v1.19.0)
614 |
615 | Released on **2023-11-16**
616 |
617 | #### ✨ Features
618 |
619 | - **misc**: Update dependencies and modify code in TypeScript files.
620 |
621 |
622 |
623 |
624 | Improvements and Fixes
625 |
626 | #### What's improved
627 |
628 | - **misc**: Update dependencies and modify code in TypeScript files ([0786757](https://github.com/lobehub/lobe-lint/commit/0786757))
629 |
630 |
631 |
632 |
633 |
634 | [](#readme-top)
635 |
636 |
637 |
638 | ### [Version 1.18.1](https://github.com/lobehub/lobe-lint/compare/v1.18.0...v1.18.1)
639 |
640 | Released on **2023-09-21**
641 |
642 | #### 🐛 Bug Fixes
643 |
644 | - **misc**: Fix remark-gfm deps.
645 |
646 |
647 |
648 |
649 | Improvements and Fixes
650 |
651 | #### What's fixed
652 |
653 | - **misc**: Fix remark-gfm deps ([1e1408f](https://github.com/lobehub/lobe-lint/commit/1e1408f))
654 |
655 |
656 |
657 |
658 |
659 | [](#readme-top)
660 |
661 |
662 |
663 | ## [Version 1.18.0](https://github.com/lobehub/lobe-lint/compare/v1.17.0...v1.18.0)
664 |
665 | Released on **2023-09-17**
666 |
667 | #### ✨ Features
668 |
669 | - **misc**: Update remark setting.
670 |
671 |
672 |
673 |
674 | Improvements and Fixes
675 |
676 | #### What's improved
677 |
678 | - **misc**: Update remark setting ([c457ae0](https://github.com/lobehub/lobe-lint/commit/c457ae0))
679 |
680 |
681 |
682 |
683 |
684 | [](#readme-top)
685 |
686 |
687 |
688 | ## [Version 1.17.0](https://github.com/lobehub/lobe-lint/compare/v1.16.0...v1.17.0)
689 |
690 | Released on **2023-09-05**
691 |
692 | #### ✨ Features
693 |
694 | - **misc**: Update remark plugins.
695 |
696 |
697 |
698 |
699 | Improvements and Fixes
700 |
701 | #### What's improved
702 |
703 | - **misc**: Update remark plugins ([25232f8](https://github.com/lobehub/lobe-lint/commit/25232f8))
704 |
705 |
706 |
707 |
708 |
709 | [](#readme-top)
710 |
711 |
712 |
713 | ## [Version 1.16.0](https://github.com/lobehub/lobe-lint/compare/v1.15.2...v1.16.0)
714 |
715 | Released on **2023-09-04**
716 |
717 | #### ✨ Features
718 |
719 | - **misc**: Update eslint with umiji/lint.
720 |
721 |
722 |
723 |
724 | Improvements and Fixes
725 |
726 | #### What's improved
727 |
728 | - **misc**: Update eslint with umiji/lint ([fe602c3](https://github.com/lobehub/lobe-lint/commit/fe602c3))
729 |
730 |
731 |
732 |
733 |
734 | [](#readme-top)
735 |
736 |
737 |
738 | ### [Version 1.15.2](https://github.com/lobehub/lobe-lint/compare/v1.15.1...v1.15.2)
739 |
740 | Released on **2023-08-25**
741 |
742 | #### 🐛 Bug Fixes
743 |
744 | - **misc**: Fix error.
745 |
746 |
747 |
748 |
749 | Improvements and Fixes
750 |
751 | #### What's fixed
752 |
753 | - **misc**: Fix error ([570fcd4](https://github.com/lobehub/lobe-lint/commit/570fcd4))
754 |
755 |
756 |
757 |
758 |
759 | [](#readme-top)
760 |
761 |
762 |
763 | ### [Version 1.15.1](https://github.com/lobehub/lobe-lint/compare/v1.15.0...v1.15.1)
764 |
765 | Released on **2023-08-25**
766 |
767 | #### 💄 Styles
768 |
769 | - **misc**: Update ESLint rules for TypeScript project.
770 |
771 |
772 |
773 |
774 | Improvements and Fixes
775 |
776 | #### Styles
777 |
778 | - **misc**: Update ESLint rules for TypeScript project ([56314d0](https://github.com/lobehub/lobe-lint/commit/56314d0))
779 |
780 |
781 |
782 |
783 |
784 | [](#readme-top)
785 |
786 |
787 |
788 | ## [Version 1.15.0](https://github.com/lobehub/lobe-lint/compare/v1.14.0...v1.15.0)
789 |
790 | Released on **2023-08-25**
791 |
792 | #### ✨ Features
793 |
794 | - **misc**: Add new dependencies and update ESLint configuration.
795 |
796 |
797 |
798 |
799 | Improvements and Fixes
800 |
801 | #### What's improved
802 |
803 | - **misc**: Add new dependencies and update ESLint configuration ([1d92c16](https://github.com/lobehub/lobe-lint/commit/1d92c16))
804 |
805 |
806 |
807 |
808 |
809 | [](#readme-top)
810 |
811 |
812 |
813 | ## [Version 1.14.0](https://github.com/lobehub/lobe-lint/compare/v1.13.0...v1.14.0)
814 |
815 | Released on **2023-08-25**
816 |
817 | #### ✨ Features
818 |
819 | - **misc**: Add TypeScript, Jest, and React dependencies and plugins.
820 |
821 |
822 |
823 |
824 | Improvements and Fixes
825 |
826 | #### What's improved
827 |
828 | - **misc**: Add TypeScript, Jest, and React dependencies and plugins ([898dbc9](https://github.com/lobehub/lobe-lint/commit/898dbc9))
829 |
830 |
831 |
832 |
833 |
834 | [](#readme-top)
835 |
836 |
837 |
838 | ## [Version 1.13.0](https://github.com/lobehub/lobe-lint/compare/v1.12.0...v1.13.0)
839 |
840 | Released on **2023-07-13**
841 |
842 | #### ✨ Features
843 |
844 | - **misc**: Add export statement for semanticReleaseMonoRepo, modify options object and export in semantic-release/index.ts, and create semantic-release/monorepo.ts file with imported options and new configuration object.
845 |
846 |
847 |
848 |
849 | Improvements and Fixes
850 |
851 | #### What's improved
852 |
853 | - **misc**: Add export statement for semanticReleaseMonoRepo, modify options object and export in semantic-release/index.ts, and create semantic-release/monorepo.ts file with imported options and new configuration object ([e46cd6c](https://github.com/lobehub/lobe-lint/commit/e46cd6c))
854 |
855 |
856 |
857 |
858 |
859 | [](#readme-top)
860 |
861 |
862 |
863 | ## [Version 1.12.0](https://github.com/lobehub/lobe-lint/compare/v1.11.0...v1.12.0)
864 |
865 | Released on **2023-07-09**
866 |
867 | #### ✨ Features
868 |
869 | - **eslint**: Add "unicorn/switch-case-braces" rule with warning level.
870 |
871 |
872 |
873 |
874 | Improvements and Fixes
875 |
876 | #### What's improved
877 |
878 | - **eslint**: Add "unicorn/switch-case-braces" rule with warning level ([3dddf3d](https://github.com/lobehub/lobe-lint/commit/3dddf3d))
879 |
880 |
881 |
882 |
883 |
884 | [](#readme-top)
885 |
886 |
887 |
888 | ## [Version 1.11.0](https://github.com/lobehub/lobe-lint/compare/v1.10.0...v1.11.0)
889 |
890 | Released on **2023-07-09**
891 |
892 | #### ✨ Features
893 |
894 | - **misc**: Update prettier dependency and add eslint rules.
895 |
896 |
897 |
898 |
899 | Improvements and Fixes
900 |
901 | #### What's improved
902 |
903 | - **misc**: Update prettier dependency and add eslint rules ([1715d85](https://github.com/lobehub/lobe-lint/commit/1715d85))
904 |
905 |
906 |
907 |
908 |
909 | [](#readme-top)
910 |
911 |
912 |
913 | ## [Version 1.10.0](https://github.com/lobehub/lobe-lint/compare/v1.9.0...v1.10.0)
914 |
915 | Released on **2023-07-09**
916 |
917 | #### ✨ Features
918 |
919 | - **eslint**: Add warnings for "no-empty", "unicorn/explicit-length-check", and "unicorn/no-empty-file" rules.
920 |
921 |
922 |
923 |
924 | Improvements and Fixes
925 |
926 | #### What's improved
927 |
928 | - **eslint**: Add warnings for "no-empty", "unicorn/explicit-length-check", and "unicorn/no-empty-file" rules ([51c8ce6](https://github.com/lobehub/lobe-lint/commit/51c8ce6))
929 |
930 |
931 |
932 |
933 |
934 | [](#readme-top)
935 |
936 |
937 |
938 | ## [Version 1.9.0](https://github.com/lobehub/lobe-lint/compare/v1.8.2...v1.9.0)
939 |
940 | Released on **2023-07-08**
941 |
942 | #### ✨ Features
943 |
944 | - **eslint**: Update coding conventions rules in "index.ts".
945 |
946 |
947 |
948 |
949 | Improvements and Fixes
950 |
951 | #### What's improved
952 |
953 | - **eslint**: Update coding conventions rules in "index.ts" ([aee57d1](https://github.com/lobehub/lobe-lint/commit/aee57d1))
954 |
955 |
956 |
957 |
958 |
959 | [](#readme-top)
960 |
961 |
962 |
963 | ### [Version 1.8.2](https://github.com/lobehub/lobe-lint/compare/v1.8.1...v1.8.2)
964 |
965 | Released on **2023-07-07**
966 |
967 | #### 🐛 Bug Fixes
968 |
969 | - **eslint**: Rm env from abbreviations.
970 |
971 |
972 |
973 |
974 | Improvements and Fixes
975 |
976 | #### What's fixed
977 |
978 | - **eslint**: Rm env from abbreviations ([2d04f48](https://github.com/lobehub/lobe-lint/commit/2d04f48))
979 |
980 |
981 |
982 |
983 |
984 | [](#readme-top)
985 |
986 |
987 |
988 | ### [Version 1.8.1](https://github.com/lobehub/lobe-lint/compare/v1.8.0...v1.8.1)
989 |
990 | Released on **2023-07-07**
991 |
992 | #### 🐛 Bug Fixes
993 |
994 | - **eslint**: Add ProcessEnv to abbreviations list.
995 |
996 |
997 |
998 |
999 | Improvements and Fixes
1000 |
1001 | #### What's fixed
1002 |
1003 | - **eslint**: Add ProcessEnv to abbreviations list ([1a471a6](https://github.com/lobehub/lobe-lint/commit/1a471a6))
1004 |
1005 |
1006 |
1007 |
1008 |
1009 | [](#readme-top)
1010 |
1011 |
1012 |
1013 | ## [Version 1.8.0](https://github.com/lobehub/lobe-lint/compare/v1.7.5...v1.8.0)
1014 |
1015 | Released on **2023-06-16**
1016 |
1017 | #### ✨ Features
1018 |
1019 | - **eslint**: Add new rules for unicorn/no-array-for-each and unicorn/no-null, update eslint config.
1020 |
1021 |
1022 |
1023 |
1024 | Improvements and Fixes
1025 |
1026 | #### What's improved
1027 |
1028 | - **eslint**: Add new rules for unicorn/no-array-for-each and unicorn/no-null ([124cd9c](https://github.com/lobehub/lobe-lint/commit/124cd9c))
1029 | - **eslint**: Update eslint config ([58594d6](https://github.com/lobehub/lobe-lint/commit/58594d6))
1030 |
1031 |
1032 |
1033 |
1034 |
1035 | [](#readme-top)
1036 |
1037 |
1038 |
1039 | ### [Version 1.7.5](https://github.com/lobehub/lobe-lint/compare/v1.7.4...v1.7.5)
1040 |
1041 | Released on **2023-06-16**
1042 |
1043 | #### ♻ Code Refactoring
1044 |
1045 | - **eslint**: Update unicorn/prevent-abbreviations rule.
1046 |
1047 |
1048 |
1049 |
1050 | Improvements and Fixes
1051 |
1052 | #### Code refactoring
1053 |
1054 | - **eslint**: Update unicorn/prevent-abbreviations rule ([054255a](https://github.com/lobehub/lobe-lint/commit/054255a))
1055 |
1056 |
1057 |
1058 |
1059 |
1060 | [](#readme-top)
1061 |
1062 |
1063 |
1064 | ### [Version 1.7.4](https://github.com/lobehub/lobe-lint/compare/v1.7.3...v1.7.4)
1065 |
1066 | Released on **2023-06-16**
1067 |
1068 | #### ♻ Code Refactoring
1069 |
1070 | - **eslint**: Remove custom abbreviation rule.
1071 |
1072 |
1073 |
1074 |
1075 | Improvements and Fixes
1076 |
1077 | #### Code refactoring
1078 |
1079 | - **eslint**: Remove custom abbreviation rule ([7301e47](https://github.com/lobehub/lobe-lint/commit/7301e47))
1080 |
1081 |
1082 |
1083 |
1084 |
1085 | [](#readme-top)
1086 |
1087 |
1088 |
1089 | ### [Version 1.7.3](https://github.com/lobehub/lobe-lint/compare/v1.7.2...v1.7.3)
1090 |
1091 | Released on **2023-06-16**
1092 |
1093 | #### 💄 Styles
1094 |
1095 | - **prettier**: Add new Prettier rules.
1096 |
1097 |
1098 |
1099 |
1100 | Improvements and Fixes
1101 |
1102 | #### Styles
1103 |
1104 | - **prettier**: Add new Prettier rules ([6eaf48f](https://github.com/lobehub/lobe-lint/commit/6eaf48f))
1105 |
1106 |
1107 |
1108 |
1109 |
1110 | [](#readme-top)
1111 |
1112 |
1113 |
1114 | ### [Version 1.7.2](https://github.com/lobehub/lobe-lint/compare/v1.7.1...v1.7.2)
1115 |
1116 | Released on **2023-06-16**
1117 |
1118 | #### 💄 Styles
1119 |
1120 | - **eslint**: Update eslint rules for unicorn/prevent-abbreviations.
1121 |
1122 |
1123 |
1124 |
1125 | Improvements and Fixes
1126 |
1127 | #### Styles
1128 |
1129 | - **eslint**: Update eslint rules for unicorn/prevent-abbreviations ([847d6a2](https://github.com/lobehub/lobe-lint/commit/847d6a2))
1130 |
1131 |
1132 |
1133 |
1134 |
1135 | [](#readme-top)
1136 |
1137 |
1138 |
1139 | ### [Version 1.7.1](https://github.com/lobehub/lobe-lint/compare/v1.7.0...v1.7.1)
1140 |
1141 | Released on **2023-06-16**
1142 |
1143 | #### ♻ Code Refactoring
1144 |
1145 | - **eslint**: Update ESLint rules and remove unused rules.
1146 |
1147 |
1148 |
1149 |
1150 | Improvements and Fixes
1151 |
1152 | #### Code refactoring
1153 |
1154 | - **eslint**: Update ESLint rules and remove unused rules ([f8009fe](https://github.com/lobehub/lobe-lint/commit/f8009fe))
1155 |
1156 |
1157 |
1158 |
1159 |
1160 | [](#readme-top)
1161 |
1162 |
1163 |
1164 | ## [Version 1.7.0](https://github.com/lobehub/lobe-lint/compare/v1.6.1...v1.7.0)
1165 |
1166 | Released on **2023-06-16**
1167 |
1168 | #### ✨ Features
1169 |
1170 | - **eslint**: Add eslint-plugin-unicorn and related rules.
1171 |
1172 |
1173 |
1174 |
1175 | Improvements and Fixes
1176 |
1177 | #### What's improved
1178 |
1179 | - **eslint**: Add eslint-plugin-unicorn and related rules ([90c6ddd](https://github.com/lobehub/lobe-lint/commit/90c6ddd))
1180 |
1181 |
1182 |
1183 |
1184 |
1185 | [](#readme-top)
1186 |
1187 |
1188 |
1189 | ### [Version 1.6.1](https://github.com/lobehub/lobe-lint/compare/v1.6.0...v1.6.1)
1190 |
1191 | Released on **2023-06-16**
1192 |
1193 | #### ♻ Code Refactoring
1194 |
1195 | - **eslint-config**: Remove unused eslint plugins and rules.
1196 |
1197 |
1198 |
1199 |
1200 | Improvements and Fixes
1201 |
1202 | #### Code refactoring
1203 |
1204 | - **eslint-config**: Remove unused eslint plugins and rules ([4568381](https://github.com/lobehub/lobe-lint/commit/4568381))
1205 |
1206 |
1207 |
1208 |
1209 |
1210 | [](#readme-top)
1211 |
1212 |
1213 |
1214 | ## [Version 1.6.0](https://github.com/lobehub/lobe-lint/compare/v1.5.1...v1.6.0)
1215 |
1216 | Released on **2023-06-16**
1217 |
1218 | #### ✨ Features
1219 |
1220 | - **eslint**: Add new plugins and rules.
1221 |
1222 |
1223 |
1224 |
1225 | Improvements and Fixes
1226 |
1227 | #### What's improved
1228 |
1229 | - **eslint**: Add new plugins and rules ([d73cee2](https://github.com/lobehub/lobe-lint/commit/d73cee2))
1230 |
1231 |
1232 |
1233 |
1234 |
1235 | [](#readme-top)
1236 |
1237 |
1238 |
1239 | ### [Version 1.5.1](https://github.com/lobehub/lobe-lint/compare/v1.5.0...v1.5.1)
1240 |
1241 | Released on **2023-06-13**
1242 |
1243 | #### 🐛 Bug Fixes
1244 |
1245 | - **changelog**: Fix changelog config typo.
1246 |
1247 |
1248 |
1249 |
1250 | Improvements and Fixes
1251 |
1252 | #### What's fixed
1253 |
1254 | - **changelog**: Fix changelog config typo ([75fb106](https://github.com/lobehub/lobe-lint/commit/75fb106))
1255 |
1256 |
1257 |
1258 |
1259 |
1260 | [](#readme-top)
1261 |
1262 |
1263 |
1264 | ## Version 1.5.0
1265 |
1266 | Released on **2023-06-11**
1267 |
1268 | #### ✨ Features
1269 |
1270 | - **changelog**: Add displayTypes options.
1271 | - **config**: Add release rules for minor, patch and major releases based on commit type.
1272 |
1273 |
1274 |
1275 |
1276 | Improvements and Fixes
1277 |
1278 | #### What's improved
1279 |
1280 | - **changelog**: Add displayTypes options ([16faf66](https://github.com/lobehub/lobe-lint/commit/16faf66))
1281 | - **config**: Add release rules for minor, patch and major releases based on commit type ([61224b6](https://github.com/lobehub/lobe-lint/commit/61224b6))
1282 |
1283 |
1284 |
1285 |
1286 |
1287 | [](#readme-top)
1288 |
1289 |
1290 |
1291 | ## Version 1.4.0
1292 |
1293 | Released on **2023-06-11**
1294 |
1295 | #### ♻ Code Refactoring
1296 |
1297 | - **misc**: Update config files to import from dist directory.
1298 |
1299 | #### ✨ Features
1300 |
1301 | - **config**: Add release rules for minor, patch and major releases based on commit type.
1302 | - **semantic-release**: Update configs.
1303 | - **misc**: Update config, update config \[force release].
1304 |
1305 | #### 🐛 Bug Fixes
1306 |
1307 | - **semantic-release**: Fix semantic-release config.
1308 |
1309 |
1310 |
1311 |
1312 | Improvements and Fixes
1313 |
1314 | #### Code refactoring
1315 |
1316 | - **misc**: Update config files to import from dist directory ([dac1221](https://github.com/lobehub/lobe-lint/commit/dac1221))
1317 |
1318 | #### What's improved
1319 |
1320 | - **config**: Add release rules for minor, patch and major releases based on commit type ([dabb122](https://github.com/lobehub/lobe-lint/commit/dabb122))
1321 | - **semantic-release**: Update configs ([738941a](https://github.com/lobehub/lobe-lint/commit/738941a))
1322 | - **misc**: Update config ([2f282fa](https://github.com/lobehub/lobe-lint/commit/2f282fa))
1323 | - **misc**: Update config \[force release] ([96a8483](https://github.com/lobehub/lobe-lint/commit/96a8483))
1324 |
1325 | #### What's fixed
1326 |
1327 | - **semantic-release**: Fix semantic-release config ([43a4858](https://github.com/lobehub/lobe-lint/commit/43a4858))
1328 |
1329 |
1330 |
1331 |
1332 |
1333 | [](#readme-top)
1334 |
1335 |
1336 |
1337 | ## Version 1.3.0
1338 |
1339 | Released on **2023-06-10**
1340 |
1341 | #### ✨ Features
1342 |
1343 | - **misc**: Update changelog config.
1344 |
1345 |
1346 |
1347 |
1348 | Improvements and Fixes
1349 |
1350 | #### What's improved
1351 |
1352 | - **misc**: Update changelog config ([158674c](https://github.com/lobehub/lobe-lint/commit/158674c))
1353 |
1354 |
1355 |
1356 |
1357 |
1358 | [](#readme-top)
1359 |
1360 |
1361 |
1362 | ### Version 1.2.1
1363 |
1364 | Released on **2023-06-09**
1365 |
1366 |
1367 |
1368 |
1369 | Improvements and Fixes
1370 |
1371 |
1372 |
1373 |
1374 |
1375 | [](#readme-top)
1376 |
1377 |
1378 |
1379 | ## Version 1.2.0
1380 |
1381 | Released on **2023-06-09**
1382 |
1383 | #### ✨ Features
1384 |
1385 | - **eslint**: Add eslint-plugin-unused-imports.
1386 |
1387 |
1388 |
1389 |
1390 | Improvements and Fixes
1391 |
1392 | #### What's improved
1393 |
1394 | - **eslint**: Add eslint-plugin-unused-imports ([0eb0f4d](https://github.com/lobehub/lobe-lint/commit/0eb0f4d))
1395 |
1396 |
1397 |
1398 |
1399 |
1400 | [](#readme-top)
1401 |
1402 |
1403 |
1404 | ### Version 1.1.2
1405 |
1406 | Released on **2023-06-08**
1407 |
1408 | #### 💄 Styles
1409 |
1410 | - **misc**: Add image file extensions to .prettierignore and add download count badge to README.md.
1411 |
1412 |
1413 |
1414 |
1415 | Improvements and Fixes
1416 |
1417 | #### Styles
1418 |
1419 | - **misc**: Add image file extensions to .prettierignore and add download count badge to README.md ([555c532](https://github.com/lobehub/lobe-lint/commit/555c532))
1420 |
1421 |
1422 |
1423 |
1424 |
1425 | [](#readme-top)
1426 |
1427 |
1428 |
1429 | ### Version 1.1.1
1430 |
1431 | Released on **2023-06-08**
1432 |
1433 | #### 💄 Styles
1434 |
1435 | - **misc**: Prettier.
1436 |
1437 |
1438 |
1439 |
1440 | Improvements and Fixes
1441 |
1442 | #### Styles
1443 |
1444 | - **misc**: Prettier ([93e7a39](https://github.com/lobehub/lobe-lint/commit/93e7a39))
1445 |
1446 |
1447 |
1448 |
1449 |
1450 | [](#readme-top)
1451 |
1452 |
1453 |
1454 | ## Version 1.1.0
1455 |
1456 | Released on **2023-06-08**
1457 |
1458 | #### ✨ Features
1459 |
1460 | - **ignore**: Better ignore file.
1461 |
1462 |
1463 |
1464 |
1465 | Improvements and Fixes
1466 |
1467 | #### What's improved
1468 |
1469 | - **ignore**: Better ignore file ([aa7f702](https://github.com/lobehub/lobe-lint/commit/aa7f702))
1470 |
1471 |
1472 |
1473 |
1474 |
1475 | [](#readme-top)
1476 |
1477 |
1478 |
1479 | ### Version 1.0.1
1480 |
1481 | Released on **2023-06-06**
1482 |
1483 | #### 🐛 Bug Fixes
1484 |
1485 | - **misc**: Prettier.
1486 |
1487 |
1488 |
1489 |
1490 | Improvements and Fixes
1491 |
1492 | #### What's fixed
1493 |
1494 | - **misc**: Prettier ([f2eb10d](https://github.com/lobehub/lobe-lint/commit/f2eb10d))
1495 |
1496 |
1497 |
1498 |
1499 |
1500 | [](#readme-top)
1501 |
1502 |
1503 |
1504 | ## Version 1.0.0
1505 |
1506 | Released on **2023-06-06**
1507 |
1508 | #### ✨ Features
1509 |
1510 | - **misc**: Add lints config.
1511 |
1512 |
1513 |
1514 |
1515 | Improvements and Fixes
1516 |
1517 | #### What's improved
1518 |
1519 | - **misc**: Add lints config ([3e56232](https://github.com/lobehub/lobe-lint/commit/3e56232))
1520 |
1521 |
1522 |
1523 |
1524 |
1525 | [](#readme-top)
1526 |
1527 |
1528 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 LobeHub
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |

5 |

6 |
7 |
Lobe Lint
8 |
9 | ESlint config, Prettier config, Remark config for LobeHub
10 |
11 | [Changelog](./CHANGELOG.md) · [Report Bug][issues-link] · [Request Feature][issues-link]
12 |
13 |
14 |
15 | [![][npm-release-shield]][npm-release-link]
16 | [![][discord-shield]][discord-link]
17 | [![][npm-downloads-shield]][npm-downloads-link]
18 | [![][github-releasedate-shield]][github-releasedate-link]
19 | [![][github-action-test-shield]][github-action-test-link]
20 | [![][github-action-release-shield]][github-action-release-link]
21 | [![][github-contributors-shield]][github-contributors-link]
22 | [![][github-forks-shield]][github-forks-link]
23 | [![][github-stars-shield]][github-stars-link]
24 | [![][github-issues-shield]][github-issues-link]
25 | [![][github-license-shield]][github-license-link]
26 |
27 |
28 |
29 | 
30 |
31 |
32 | Table of contents
33 |
34 | #### TOC
35 |
36 | - [📦 Installation](#-installation)
37 | - [🤯 Usage](#-usage)
38 | - [.npmrc](#npmrc)
39 | - [ESlint](#eslint)
40 | - [Stylelint](#stylelint)
41 | - [Commitlint](#commitlint)
42 | - [Changelog](#changelog)
43 | - [Remark](#remark)
44 | - [Prettier](#prettier)
45 | - [Semantic Release](#semantic-release)
46 | - [⌨️ Local Development](#️-local-development)
47 | - [🤝 Contributing](#-contributing)
48 |
49 | ####
50 |
51 |
52 |
53 | ## 📦 Installation
54 |
55 | To install Lobe Lint, run the following command:
56 |
57 | [![][bun-shield]][bun-link]
58 |
59 | ```bash
60 | $ bun add @lobehub/lint -D
61 | ```
62 |
63 | To use template ignore files, run the following command:
64 |
65 | ```bash
66 | $ curl -O https://raw.githubusercontent.com/lobehub/lobe-lint/master/.eslintignore
67 | $ curl -O https://raw.githubusercontent.com/lobehub/lobe-lint/master/.gitignore
68 | $ curl -O https://raw.githubusercontent.com/lobehub/lobe-lint/master/.prettierignore
69 | ```
70 |
71 |
72 |
73 | [![][back-to-top]](#readme-top)
74 |
75 |
76 |
77 | ## 🤯 Usage
78 |
79 | ### .npmrc
80 |
81 | ```text
82 | public-hoist-pattern[]=*@umijs/lint*
83 | public-hoist-pattern[]=*changelog*
84 | public-hoist-pattern[]=*commitlint*
85 | public-hoist-pattern[]=*eslint*
86 | public-hoist-pattern[]=*postcss*
87 | public-hoist-pattern[]=*prettier*
88 | public-hoist-pattern[]=*remark*
89 | public-hoist-pattern[]=*semantic-release*
90 | public-hoist-pattern[]=*stylelint*
91 | ```
92 |
93 | ### ESlint
94 |
95 | config can be found at [`.eslintrc.js`](/src/eslint/index.ts)
96 |
97 | ```js
98 | module.exports = require('@lobehub/lint').eslint;
99 | ```
100 |
101 | ### Stylelint
102 |
103 | config can be found at [`.stylelintrc.js`](/src/stylelint/index.ts)
104 |
105 | ```js
106 | module.exports = require('@lobehub/lint').stylelint;
107 | ```
108 |
109 | ### Commitlint
110 |
111 | config can be found at [`.commitlintrc.js`](/src/commitlint/index.ts)
112 |
113 | ```js
114 | module.exports = require('@lobehub/lint').commitlint;
115 | ```
116 |
117 | ### Changelog
118 |
119 | config can be found at [`.changelogrc.js`](/src/changelog/index.ts)
120 |
121 | ```js
122 | module.exports = require('@lobehub/lint').changelog;
123 | ```
124 |
125 | ### Remark
126 |
127 | config can be found at [`.remarkrc.js`](/src/remarklint/index.ts)
128 |
129 | ```js
130 | module.exports = require('@lobehub/lint').remarklint;
131 | ```
132 |
133 | ### Prettier
134 |
135 | config can be found at [`.prettierrc.js`](/src/prettier/index.ts)
136 |
137 | ```js
138 | module.exports = require('@lobehub/lint').prettier;
139 | ```
140 |
141 | ### Semantic Release
142 |
143 | config can be found at [`.releaserc.js`](/src/semantic-release/index.ts)
144 |
145 | ```js
146 | module.exports = require('@lobehub/lint').semanticRelease;
147 | ```
148 |
149 |
150 |
151 | [![][back-to-top]](#readme-top)
152 |
153 |
154 |
155 | ## ⌨️ Local Development
156 |
157 | You can use Github Codespaces for online development:
158 |
159 | [![][codespaces-shield]][codespaces-link]
160 |
161 | Or clone it for local development:
162 |
163 | ```bash
164 | $ git clone https://github.com/lobehub/lobe-lint.git
165 | $ cd lobehub/lint
166 | $ bun install
167 | $ bun start
168 | ```
169 |
170 |
171 |
172 | [![][back-to-top]](#readme-top)
173 |
174 |
175 |
176 | ## 🤝 Contributing
177 |
178 | Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub [Issues][github-issues-link] to get stuck in to show us what you’re made of.
179 |
180 | [![][pr-welcome-shield]][pr-welcome-link]
181 |
182 | [![][contributors-contrib]][contributors-url]
183 |
184 |
185 |
186 | [![][back-to-top]](#readme-top)
187 |
188 |
189 |
190 | ---
191 |
192 | #### 📝 License
193 |
194 | Copyright © 2023 [LobeHub][profile-link].
195 | This project is [MIT](./LICENSE) licensed.
196 |
197 |
198 |
199 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
200 | [bun-link]: https://bun.sh
201 | [bun-shield]: https://img.shields.io/badge/-speedup%20with%20bun-black?logo=bun&style=for-the-badge
202 | [codespaces-link]: https://codespaces.new/lobehub/lobe-lint
203 | [codespaces-shield]: https://github.com/codespaces/badge.svg
204 | [contributors-contrib]: https://contrib.rocks/image?repo=lobehub/lobe-lint
205 | [contributors-url]: https://github.com/lobehub/lobe-lint/graphs/contributors
206 | [discord-link]: https://discord.gg/AYFPHvv2jT
207 | [discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
208 | [github-action-release-link]: https://github.com/lobehub/lobe-lint/actions/workflows/release.yml
209 | [github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-lint/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
210 | [github-action-test-link]: https://github.com/lobehub/lobe-lint/actions/workflows/test.yml
211 | [github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-lint/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square
212 | [github-contributors-link]: https://github.com/lobehub/lobe-lint/graphs/contributors
213 | [github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-lint?color=c4f042&labelColor=black&style=flat-square
214 | [github-forks-link]: https://github.com/lobehub/lobe-lint/network/members
215 | [github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-lint?color=8ae8ff&labelColor=black&style=flat-square
216 | [github-issues-link]: https://github.com/lobehub/lobe-lint/issues
217 | [github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-lint?color=ff80eb&labelColor=black&style=flat-square
218 | [github-license-link]: https://github.com/lobehub/lobe-lint/blob/master/LICENSE
219 | [github-license-shield]: https://img.shields.io/github/license/lobehub/lobe-lint?color=white&labelColor=black&style=flat-square
220 | [github-releasedate-link]: https://github.com/lobehub/lobe-lint/releases
221 | [github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-lint?labelColor=black&style=flat-square
222 | [github-stars-link]: https://github.com/lobehub/lobe-lint/network/stargazers
223 | [github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-lint?color=ffcb47&labelColor=black&style=flat-square
224 | [issues-link]: https://github.com/lobehub/lobe-lint/issues/new/choose
225 | [npm-downloads-link]: https://www.npmjs.com/package/@lobehub/lint
226 | [npm-downloads-shield]: https://img.shields.io/npm/dt/@lobehub/lint?labelColor=black&style=flat-square
227 | [npm-release-link]: https://www.npmjs.com/package/@lobehub/lint
228 | [npm-release-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square
229 | [pr-welcome-link]: https://github.com/lobehub/lobe-lint/pulls
230 | [pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge
231 | [profile-link]: https://github.com/lobehub
232 |
--------------------------------------------------------------------------------
/clean-package.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | indent: 2,
3 | remove: ['scripts', 'lint-staged', 'devDependencies', 'publishConfig', 'clean-package'],
4 | };
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@lobehub/lint",
3 | "version": "1.26.2",
4 | "homepage": "https://github.com/lobehub/lobe-lint",
5 | "bugs": {
6 | "url": "https://github.com/lobehub/lobe-lint/issues/new"
7 | },
8 | "repository": {
9 | "type": "git",
10 | "url": "https://github.com/lobehub/lobe-lint.git"
11 | },
12 | "license": "MIT",
13 | "author": "canisminor1990 ",
14 | "sideEffects": false,
15 | "main": "dist/index.js",
16 | "types": "dist/index.d.ts",
17 | "files": [
18 | "dist"
19 | ],
20 | "scripts": {
21 | "build": "father build",
22 | "dev": "father dev",
23 | "doctor": "father doctor",
24 | "lint": "eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix",
25 | "lint:circular": "dpdm src/**/*.{ts,tsx} --warning false --tree false --exit-code circular:1 -T true",
26 | "lint:md": "remark . --quiet --output",
27 | "lint:style": "stylelint \"{src,tests}/**/*.{css,less,js,jsx,ts,tsx}\" --fix",
28 | "prepack": "clean-package",
29 | "postpack": "clean-package restore",
30 | "prepare": "husky && npm run build",
31 | "prettier": "prettier -c --write \"**/**\"",
32 | "release": "semantic-release",
33 | "start": "npm run dev",
34 | "type-check": "tsc --noEmit"
35 | },
36 | "lint-staged": {
37 | "*.md": [
38 | "remark --quiet --output --",
39 | "prettier --write --no-error-on-unmatched-pattern"
40 | ],
41 | "*.json": [
42 | "prettier --write --no-error-on-unmatched-pattern"
43 | ],
44 | "*.{css,less}": [
45 | "stylelint --fix",
46 | "prettier --write"
47 | ],
48 | "*.{js,jsx}": [
49 | "prettier --write",
50 | "stylelint --fix",
51 | "eslint --fix"
52 | ],
53 | "*.{ts,tsx}": [
54 | "prettier --parser=typescript --write",
55 | "stylelint --fix",
56 | "eslint --fix"
57 | ]
58 | },
59 | "overrides": {
60 | "mdast-util-gfm": "3.0.0"
61 | },
62 | "dependencies": {
63 | "@trivago/prettier-plugin-sort-imports": "^5.2.1",
64 | "@typescript-eslint/eslint-plugin": "7.5.0",
65 | "@typescript-eslint/parser": "7.5.0",
66 | "@umijs/babel-preset-umi": "^4.4.4",
67 | "@umijs/lint": "^4.4.4",
68 | "commitlint-config-gitmoji": "^2.3.1",
69 | "eslint-config-prettier": "^9.1.0",
70 | "eslint-import-resolver-alias": "^1.1.2",
71 | "eslint-import-resolver-typescript": "^3.7.0",
72 | "eslint-plugin-import": "^2.31.0",
73 | "eslint-plugin-jest": "^28.10.0",
74 | "eslint-plugin-react": "^7.37.3",
75 | "eslint-plugin-react-hooks": "^4.6.2",
76 | "eslint-plugin-simple-import-sort": "^12.1.1",
77 | "eslint-plugin-sort-keys-fix": "^1.1.2",
78 | "eslint-plugin-typescript-sort-keys": "^3.3.0",
79 | "eslint-plugin-unicorn": "^54.0.0",
80 | "eslint-plugin-unused-imports": "^3.2.0",
81 | "gatsby-remark-find-replace": "^0.3.0",
82 | "mdast-util-gfm": "3.0.0",
83 | "postcss-less": "^6.0.0",
84 | "postcss-styled-syntax": "^0.7.0",
85 | "prettier-plugin-organize-imports": "^4.1.0",
86 | "prettier-plugin-packagejson": "^2.5.6",
87 | "prettier-plugin-sh": "^0.14.0",
88 | "prettier-plugin-sort-json": "^4.1.0",
89 | "remark-frontmatter": "^5.0.0",
90 | "remark-gfm": "^4.0.0",
91 | "remark-lint": "^10.0.0",
92 | "remark-lint-checkbox-content-indent": "^5.0.0",
93 | "remark-lint-frontmatter-schema": "^3.15.4",
94 | "remark-lint-heading-whitespace": "^1.0.0",
95 | "remark-lint-linebreak-style": "^4.0.0",
96 | "remark-lint-list-item-indent": "^4.0.0",
97 | "remark-lint-list-item-spacing": "^5.0.0",
98 | "remark-lint-no-duplicate-headings-in-section": "^4.0.0",
99 | "remark-lint-no-empty-sections": "^4.0.0",
100 | "remark-lint-no-empty-url": "^4.0.0",
101 | "remark-lint-no-file-name-irregular-characters": "^3.0.0",
102 | "remark-lint-no-heading-indent": "^5.0.0",
103 | "remark-lint-no-heading-like-paragraph": "^4.0.0",
104 | "remark-lint-no-paragraph-content-indent": "^5.0.0",
105 | "remark-lint-no-reference-like-url": "^4.0.0",
106 | "remark-lint-no-shell-dollars": "^4.0.0",
107 | "remark-lint-no-tabs": "^4.0.0",
108 | "remark-lint-no-unneeded-full-reference-image": "^4.0.0",
109 | "remark-lint-no-unneeded-full-reference-link": "^4.0.0",
110 | "remark-lint-ordered-list-marker-value": "^4.0.0",
111 | "remark-lint-write-good": "^1.2.0",
112 | "remark-pangu": "^2.2.0",
113 | "remark-preset-lint-consistent": "^6.0.0",
114 | "remark-preset-lint-markdown-style-guide": "^6.0.0",
115 | "remark-preset-lint-recommended": "^7.0.0",
116 | "remark-remove-unused-definitions": "^2.0.0",
117 | "remark-sort-definitions": "^2.0.0",
118 | "remark-textr": "^6.1.0",
119 | "remark-toc": "^9.0.0",
120 | "semantic-release-config-gitmoji": "^1.5.3",
121 | "stylelint-config-clean-order": "^7.0.0",
122 | "stylelint-config-recommended": "^14.0.1",
123 | "stylelint-less": "^3.0.1",
124 | "stylelint-order": "^6.0.4",
125 | "stylelint-use-logical-spec": "^5.0.1",
126 | "unist-util-visit": "^5.0.0"
127 | },
128 | "devDependencies": {
129 | "@commitlint/cli": "^19.6.1",
130 | "@types/node": "^22.10.5",
131 | "antd-style": "^3.7.1",
132 | "clean-package": "^2.2.0",
133 | "commitlint": "^19.6.1",
134 | "dpdm": "^3.14.0",
135 | "eslint": "^8.57.1",
136 | "father": "^4.5.1",
137 | "husky": "^9.1.7",
138 | "lint-staged": "^15.3.0",
139 | "prettier": "^3.4.2",
140 | "react": "^19.0.0",
141 | "remark": "^15.0.1",
142 | "remark-cli": "^12.0.1",
143 | "semantic-release": "^21.1.2",
144 | "stylelint": "^16.12.0",
145 | "typescript": "^5.7.3"
146 | },
147 | "publishConfig": {
148 | "access": "public",
149 | "registry": "https://registry.npmjs.org"
150 | },
151 | "pnpm": {
152 | "overrides": {
153 | "mdast-util-gfm": "3.0.0"
154 | }
155 | }
156 | }
157 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "automerge": false,
4 | "dependencyDashboard": true,
5 | "ignoreDeps": [],
6 | "labels": ["dependencies"],
7 | "postUpdateOptions": ["yarnDedupeHighest"],
8 | "prConcurrentLimit": 30,
9 | "prHourlyLimit": 0,
10 | "rebaseWhen": "conflicted",
11 | "schedule": "on sunday before 6:00am",
12 | "timezone": "UTC"
13 | }
14 |
--------------------------------------------------------------------------------
/src/changelog/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | addBackToTop: true,
3 | customTypeMap: {
4 | build: {
5 | emoji: '📦',
6 | },
7 | chore: {
8 | emoji: '🔧',
9 | },
10 | ci: {
11 | emoji: '👷',
12 | },
13 | },
14 | displayTypes: ['feat', 'fix', 'style', 'pref', 'refactor'],
15 | newlineTimestamp: true,
16 | reduceHeadingLevel: true,
17 | scopeDisplayName: {
18 | '*': 'misc',
19 | },
20 | showAuthor: true,
21 | showSummary: true,
22 | };
23 |
--------------------------------------------------------------------------------
/src/commitlint/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | $schema: 'https://json.schemastore.org/commitlintrc',
3 | extends: ['gitmoji'],
4 | rules: {
5 | 'footer-leading-blank': [0, 'never'],
6 | 'header-max-length': [0, 'never'],
7 | },
8 | };
9 |
--------------------------------------------------------------------------------
/src/eslint/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | $schema: 'https://json.schemastore.org/eslintrc',
3 | extends: [
4 | 'eslint:recommended',
5 | require.resolve('@umijs/lint/dist/config/eslint'),
6 | 'plugin:unicorn/recommended',
7 | ],
8 | plugins: [
9 | 'unicorn',
10 | 'import',
11 | 'unused-imports',
12 | 'simple-import-sort',
13 | 'sort-keys-fix',
14 | 'typescript-sort-keys',
15 | ],
16 | rules: {
17 | '@typescript-eslint/ban-ts-comment': 0,
18 | '@typescript-eslint/no-explicit-any': 0,
19 | 'import/first': 'error',
20 | 'import/newline-after-import': 'error',
21 | 'import/no-duplicates': 'error',
22 | 'no-empty': 'warn',
23 | 'no-extra-boolean-cast': 0,
24 | 'no-unused-vars': 0,
25 | 'react/display-name': 0,
26 | 'react/jsx-no-useless-fragment': 'error',
27 | 'react/jsx-sort-props': 'error',
28 | 'react/no-unknown-property': 'warn',
29 | 'react/prop-types': 0,
30 | 'react/react-in-jsx-scope': 0,
31 | 'react/self-closing-comp': [
32 | 'warn',
33 | {
34 | component: true,
35 | html: true,
36 | },
37 | ],
38 | 'simple-import-sort/exports': 'error',
39 | 'sort-keys-fix/sort-keys-fix': 'error',
40 | 'typescript-sort-keys/interface': 'error',
41 | 'typescript-sort-keys/string-enum': 'error',
42 | 'unicorn/catch-error-name': 'warn',
43 | 'unicorn/explicit-length-check': 0,
44 | 'unicorn/filename-case': 0,
45 | 'unicorn/import-style': 0,
46 | 'unicorn/no-anonymous-default-export': 0,
47 | 'unicorn/no-array-callback-reference': 0,
48 | 'unicorn/no-array-for-each': 0,
49 | 'unicorn/no-array-reduce': 0,
50 | 'unicorn/no-empty-file': 'warn',
51 | 'unicorn/no-negated-condition': 0,
52 | 'unicorn/no-nested-ternary': 0,
53 | 'unicorn/no-null': 0,
54 | 'unicorn/no-typeof-undefined': 'warn',
55 | 'unicorn/no-useless-undefined': 0,
56 | 'unicorn/prefer-code-point': 0,
57 | 'unicorn/prefer-logical-operator-over-ternary': 0,
58 | 'unicorn/prefer-module': 0,
59 | 'unicorn/prefer-number-properties': 0,
60 | 'unicorn/prefer-query-selector': 0,
61 | 'unicorn/prefer-spread': 0,
62 | 'unicorn/prefer-string-raw': 0,
63 | 'unicorn/prefer-string-replace-all': 'warn',
64 | 'unicorn/prefer-ternary': 0,
65 | 'unicorn/prefer-type-error': 0,
66 | 'unicorn/prevent-abbreviations': 0,
67 | 'unicorn/switch-case-braces': 'warn',
68 | 'unused-imports/no-unused-imports': 'error',
69 | 'unused-imports/no-unused-vars': [
70 | 'warn',
71 | { args: 'after-used', argsIgnorePattern: '^_', vars: 'all', varsIgnorePattern: '^_' },
72 | ],
73 | },
74 | };
75 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export { default as changelog } from './changelog';
2 | export { default as commitlint } from './commitlint';
3 | export { default as eslint } from './eslint';
4 | export { default as prettier } from './prettier';
5 | export { default as remarklint } from './remarklint';
6 | export { default as semanticRelease } from './semantic-release';
7 | export { default as semanticReleaseMonoRepo } from './semantic-release/monorepo';
8 | export { default as stylelint } from './stylelint';
9 |
--------------------------------------------------------------------------------
/src/prettier/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | $schema: 'https://json.schemastore.org/prettierrc',
3 | arrowParens: 'always',
4 | bracketSpacing: true,
5 | endOfLine: 'lf',
6 | importOrder: ['', '^@/(.*)$', '^[./]'],
7 | importOrderParserPlugins: ['typescript', 'jsx', 'decorators'],
8 | importOrderSeparation: true,
9 | importOrderSortSpecifiers: true,
10 | jsonRecursiveSort: false,
11 | jsonSortOrder: '{"*": "lexical"}',
12 | overrides: [
13 | {
14 | files: '*.md',
15 | options: {
16 | proseWrap: 'preserve',
17 | },
18 | },
19 | ],
20 | plugins: [
21 | require.resolve('prettier-plugin-sh'),
22 | require.resolve('prettier-plugin-organize-imports'),
23 | require.resolve('prettier-plugin-packagejson'),
24 | require.resolve('prettier-plugin-sort-json'),
25 | require.resolve('@trivago/prettier-plugin-sort-imports'),
26 | ],
27 | printWidth: 100,
28 | proseWrap: 'never',
29 | quoteProps: 'consistent',
30 | singleQuote: true,
31 | tabWidth: 2,
32 | trailingComma: 'all',
33 | useTabs: false,
34 | };
35 |
--------------------------------------------------------------------------------
/src/remarklint/index.ts:
--------------------------------------------------------------------------------
1 | import { remarkGfmHighlight } from './remarkGfmHighlight';
2 | import { replaceNBSP } from './remarkTextrPlugins';
3 |
4 | export default {
5 | $schema: 'https://json.schemastore.org/remarkrc',
6 | plugins: [
7 | 'remark-gfm',
8 | 'remark-frontmatter',
9 | 'remark-pangu',
10 | ['remark-textr', { plugins: [replaceNBSP] }],
11 | remarkGfmHighlight,
12 |
13 | // ----- Plugin -----------------------------------------------------------
14 | 'remark-sort-definitions',
15 | ['remark-toc', { heading: 'TOC', maxDepth: 3 }],
16 | 'remark-remove-unused-definitions',
17 |
18 | // ----- Presets -----------------------------------------------------------
19 | 'remark-preset-lint-markdown-style-guide',
20 | 'remark-preset-lint-recommended',
21 | 'remark-preset-lint-consistent',
22 |
23 | // ----- Built-In ----------------------------------------------------------
24 | 'remark-lint-checkbox-content-indent',
25 | 'remark-lint-linebreak-style',
26 | 'remark-lint-no-duplicate-headings-in-section',
27 | 'remark-lint-no-empty-url',
28 | 'remark-lint-no-heading-indent',
29 | 'remark-lint-no-heading-like-paragraph',
30 | 'remark-lint-no-paragraph-content-indent',
31 | 'remark-lint-no-reference-like-url',
32 | 'remark-lint-no-tabs',
33 | 'remark-lint-no-unneeded-full-reference-image',
34 | 'remark-lint-no-unneeded-full-reference-link',
35 |
36 | // ----- External ----------------------------------------------------------
37 | 'remark-lint-no-empty-sections',
38 | 'remark-lint-write-good',
39 | 'remark-lint-frontmatter-schema',
40 |
41 | // ----- Overrides ---------------------------------------------------------
42 | ['remark-lint-list-item-indent', 'space'],
43 | ['remark-lint-list-item-spacing', { checkBlanks: true }],
44 | ['remark-lint-no-duplicate-headings', false],
45 | ['remark-lint-no-file-name-irregular-characters', String.raw`\.a-zA-Z0-9-_`],
46 | ['remark-lint-no-file-name-mixed-case', false],
47 | ['remark-lint-no-literal-urls', false],
48 | ['remark-lint-no-shell-dollars', false],
49 | ['remark-lint-ordered-list-marker-value', false],
50 | ],
51 | settings: {
52 | bullet: '-',
53 | emphasis: '*',
54 | fences: true,
55 | rule: '-',
56 | strong: '*',
57 | tightDefinitions: true,
58 | },
59 | };
60 |
--------------------------------------------------------------------------------
/src/remarklint/remarkGfmHighlight.ts:
--------------------------------------------------------------------------------
1 | const gfmHighlight = [
2 | { from: 'Note', to: '[!NOTE]' },
3 | { from: 'Tip', to: '[!TIP]' },
4 | { from: 'Important', to: '[!IMPORTANT]' },
5 | { from: 'Warning', to: '[!WARNING]' },
6 | { from: 'Caution', to: '[!CAUTION]' },
7 | ];
8 |
9 | export function remarkGfmHighlight() {
10 | return async (tree: any) => {
11 | const { visit } = await import('unist-util-visit');
12 | visit(tree, 'blockquote', (node: any) => {
13 | visit(node.children[0], 'strong', (subnode: any) => {
14 | if (subnode.position.start.column !== 3) return;
15 | visit(subnode, 'text', (textnode: any) => {
16 | if (!['Note', 'Tip', 'Important', 'Warning', 'Caution'].includes(textnode.value)) return;
17 | for (const item of gfmHighlight) {
18 | if (item.from !== textnode.value) continue;
19 | subnode.type = 'text';
20 | subnode.value = item.to;
21 | return;
22 | }
23 | });
24 | });
25 | });
26 | };
27 | }
28 |
--------------------------------------------------------------------------------
/src/remarklint/remarkTextrPlugins.ts:
--------------------------------------------------------------------------------
1 | export const replaceNBSP = (str: string) => {
2 | return str.replaceAll(' ', ' ');
3 | };
4 |
--------------------------------------------------------------------------------
/src/semantic-release/index.ts:
--------------------------------------------------------------------------------
1 | import { type Options, createConfig } from 'semantic-release-config-gitmoji/lib/createConfig';
2 |
3 | export const options: Options = {
4 | changelogTitle: `
5 |
6 | # Changelog`,
7 | releaseRules: [
8 | {
9 | release: 'minor',
10 | type: 'feat',
11 | },
12 | {
13 | release: 'patch',
14 | type: 'fix',
15 | },
16 | {
17 | release: 'patch',
18 | type: 'perf',
19 | },
20 | {
21 | release: 'patch',
22 | type: 'style',
23 | },
24 | {
25 | release: 'patch',
26 | type: 'refactor',
27 | },
28 | {
29 | release: 'patch',
30 | type: 'build',
31 | },
32 | { release: 'patch', scope: 'README', type: 'docs' },
33 | { release: 'patch', scope: 'README.md', type: 'docs' },
34 | { release: false, type: 'docs' },
35 | {
36 | release: false,
37 | type: 'test',
38 | },
39 | {
40 | release: false,
41 | type: 'ci',
42 | },
43 | {
44 | release: false,
45 | type: 'chore',
46 | },
47 | {
48 | release: false,
49 | type: 'wip',
50 | },
51 | {
52 | release: 'major',
53 | type: 'BREAKING CHANGE',
54 | },
55 | {
56 | release: 'major',
57 | scope: 'BREAKING CHANGE',
58 | },
59 | {
60 | release: 'major',
61 | subject: '*BREAKING CHANGE*',
62 | },
63 | { release: 'patch', subject: '*force release*' },
64 | { release: 'patch', subject: '*force patch*' },
65 | { release: 'minor', subject: '*force minor*' },
66 | { release: 'major', subject: '*force major*' },
67 | { release: false, subject: '*skip release*' },
68 | ],
69 | } as Options;
70 | export default {
71 | $schema: 'https://json.schemastore.org/semantic-release',
72 | ...createConfig(options),
73 | };
74 |
--------------------------------------------------------------------------------
/src/semantic-release/monorepo.ts:
--------------------------------------------------------------------------------
1 | import { createConfig } from 'semantic-release-config-gitmoji/lib/createConfig';
2 |
3 | import { options } from './index';
4 |
5 | export default {
6 | $schema: 'https://json.schemastore.org/semantic-release',
7 | ...createConfig({ ...options, monorepo: true }),
8 | };
9 |
--------------------------------------------------------------------------------
/src/stylelint/index.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | $schema: 'https://json.schemastore.org/stylelintrc',
3 | extends: [
4 | require.resolve('@umijs/lint/dist/config/stylelint'),
5 | 'stylelint-config-recommended',
6 | 'stylelint-config-clean-order',
7 | ],
8 | overrides: [
9 | {
10 | customSyntax: 'postcss-less',
11 | files: ['*.less', '*.css'],
12 | plugins: ['stylelint-less'],
13 | rules: {
14 | 'at-rule-no-unknown': null,
15 | 'color-no-invalid-hex': true,
16 | 'function-no-unknown': null,
17 | 'less/color-no-invalid-hex': true,
18 | },
19 | },
20 | {
21 | customSyntax: 'postcss-styled-syntax',
22 | files: ['*.js', '*.jsx', '*.ts', '*.tsx'],
23 | rules: {
24 | 'no-empty-source': null,
25 | 'no-invalid-double-slash-comments': null,
26 | 'no-missing-end-of-source-newline': null,
27 | 'property-no-vendor-prefix': true,
28 | 'value-no-vendor-prefix': [true, { ignoreValues: ['box'] }],
29 | },
30 | },
31 | ],
32 | plugins: ['stylelint-order', 'stylelint-use-logical-spec'],
33 | rules: {
34 | 'liberty/use-logical-spec': [true, { except: ['float', /^((min|max)-)?(height|width)$/i] }],
35 | },
36 | };
37 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": true,
4 | "esModuleInterop": true,
5 | "module": "commonjs",
6 | "moduleResolution": "node",
7 | "noUnusedLocals": true,
8 | "noUnusedParameters": true,
9 | "strict": true,
10 | "skipLibCheck": true,
11 | "target": "es2019",
12 | "jsx": "react",
13 | "lib": ["dom", "dom.iterable", "esnext"],
14 | "outDir": "./dist",
15 | "rootDir": "./src"
16 | },
17 | "exclude": ["**/node_modules", "**/dist"],
18 | "include": ["src"]
19 | }
20 |
--------------------------------------------------------------------------------
/typings.d.ts:
--------------------------------------------------------------------------------
1 | import 'umi/typings';
2 |
--------------------------------------------------------------------------------