Skip to content

Commit 8df75bf

Browse files
committed
✨ feat: setup
1 parent 524ca7a commit 8df75bf

10 files changed

+2265
-35
lines changed

.commitlintrc.js

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
module.exports = {
2+
extents: ["cz"],
3+
rules: {
4+
"body-leading-blank": [1, "always"],
5+
"footer-leading-blank": [1, "always"],
6+
"header-max-length": [1, "always", 71],
7+
"scope-case": [1, "never", "lower-case"],
8+
"subject-case": [
9+
1,
10+
"never",
11+
["sentence-case", "start-case", "pascal-case", "upper-case"],
12+
],
13+
"subject-empty": [1, "never"],
14+
"subject-full-stop": [1, "never", "."],
15+
"type-case": [1, "always", "lower-case"],
16+
"type-empty": [1, "never"],
17+
"type-enum": [1, "always", []],
18+
},
19+
};

.cz-config.js

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
module.exports = {
2+
types: [
3+
{ value: ':tada: init', name: 'init: 初始提交' },
4+
{ value: ':sparkles: feat', name: 'feat: 增加新功能' },
5+
{ value: ':pencil: docs', name: 'docs: 修改文档' },
6+
{ value: ':construction: chore', name: 'chore: 相关工作' },
7+
{ value: ':bug: fix', name: 'fix: 修复bug' },
8+
{ value: ':wrench: chore', name: 'chore: 修改配置' },
9+
{ value: ':ambulance: fix', name: 'fix: 紧急修正' },
10+
{ value: ':zap: perf', name: 'perf: 性能优化' },
11+
{ value: ':lipstick: ui', name: 'ui: 更新UI' },
12+
{ value: ':construction_worker: ci', name: 'ci: 新增CI构建' },
13+
{ value: ':green_heart: ci', name: 'ci: 修复CI构建问题' },
14+
{ value: ':white_check_mark: test', name: 'test: 增删测试' },
15+
{ value: ':hammer: refactor', name: 'refactor: 代码重构' },
16+
{ value: ':lock: fix', name: 'fix: 修正安全问题' },
17+
{ value: ':rocket: deploy', name: 'deploy: 部署' },
18+
{ value: ':art: style', name: 'style: 代码样式' },
19+
{ value: ':globe_with_meridians: i18n', name: 'i18n: 国际化' },
20+
{ value: 'revert', name: 'revert: 版本回退' },
21+
{ value: ':heavy_plus_sign: add', name: 'add: 新增依赖' },
22+
{ value: ':arrow_down: minus', name: 'minus: 版本回退' },
23+
{ value: ':fire: del', name: 'del: 删除代码/文件' },
24+
{ value: ':pencil2: docs', name: 'docs: 文档相关' },
25+
{
26+
value: ':chart_with_upwards_trend: chore:',
27+
name: 'chore: 埋点相关',
28+
},
29+
{ value: ':bookmark: release', name: 'release: 发布新版本' },
30+
],
31+
scopes: [],
32+
messages: {
33+
type: '选择更改类型:\n',
34+
scope: '更改的范围:\n',
35+
subject: '简短描述:\n',
36+
body: '详细描述. 使用"|"换行:\n',
37+
footer: '关闭的issues列表. E.g.: #31, #34:\n',
38+
confirmCommit: '确认提交?',
39+
},
40+
allowCustomScopes: true,
41+
allowBreakingChanges: ['feat', 'fix'],
42+
};

.npmignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.md
2+
src

.prettierignore

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ tmp
22
/test
33
/build
44
node_modules
5-
/package.json
65
/.vscode
76
/.idea
87
/.github

.release-it.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"github": {
3+
"release": true
4+
}
5+
}

package.json

+32-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
11
{
2-
"name": "lib-starter",
3-
"version": "1.0.0",
2+
"name": "@penumbra/lib-starter",
3+
"version": "0.0.1",
44
"description": "NodeJS library develop quick start: TypeScript + CI/CD + Release Workflow + Linter + Changelog + ...",
5-
"main": "index.js",
5+
"main": "dist/index.js",
6+
"types": "dist/types",
67
"scripts": {
7-
"test": "jest"
8+
"release": "release-it",
9+
"release:dry": "release-it --dry-run",
10+
"dev": "tsnd --respawn --transpile-only ./src/demo.ts",
11+
"build": "tsc",
12+
"build:watch": "tsc --watch",
13+
"check": "tsc --noEmit",
14+
"commit": "git add -A & git-cz",
15+
"lint": "eslint .",
16+
"lint:fix": "eslint --fix .",
17+
"format": "prettier --check .",
18+
"format:fix": "prettier --write .",
19+
"test": "jest --color --runInBand",
20+
"test:watch": "jest --color --watch --verbose --passWithNoTests",
21+
"test:affected": "jest --lastCommit",
22+
"test:list": "jest --listTests"
823
},
924
"repository": {
1025
"type": "git",
@@ -18,24 +33,37 @@
1833
},
1934
"homepage": "https://github.com/linbudu599/node-lib-starter#readme",
2035
"devDependencies": {
36+
"@commitlint/cli": "^13.1.0",
37+
"@commitlint/config-conventional": "^13.1.0",
2138
"@types/eslint": "^7.28.0",
2239
"@types/jest": "^27.0.1",
2340
"@types/node": "^16.7.1",
2441
"@typescript-eslint/eslint-plugin": "^4.29.2",
2542
"@typescript-eslint/experimental-utils": "^4.29.2",
2643
"@typescript-eslint/parser": "^4.29.2",
2744
"chalk": "^4.1.2",
45+
"commitizen": "^4.2.4",
46+
"commitlint-config-cz": "^0.13.2",
2847
"consola": "^2.15.3",
48+
"cross-env": "^7.0.3",
49+
"cz-conventional-changelog": "^3.3.0",
50+
"cz-customizable": "^6.3.0",
2951
"eslint": "^7.32.0",
3052
"eslint-config-prettier": "^8.3.0",
3153
"jest": "^27.0.6",
3254
"prettier": "^2.3.2",
55+
"release-it": "^14.11.5",
3356
"ts-jest": "^27.0.5",
3457
"ts-node": "^10.2.1",
3558
"ts-node-dev": "^1.1.8",
3659
"typescript": "^4.3.5"
3760
},
3861
"dependencies": {
3962
"tslib": "^2.3.1"
63+
},
64+
"config": {
65+
"commitizen": {
66+
"path": "node_modules/cz-customizable"
67+
}
4068
}
4169
}

0 commit comments

Comments
 (0)