Skip to content

Commit 481d4d0

Browse files
committed
feat: add semantic release option
1 parent 7bb1f61 commit 481d4d0

File tree

3 files changed

+59
-14
lines changed

3 files changed

+59
-14
lines changed

meta.js

+14-10
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,36 @@ module.exports = {
33
name: {
44
type: "string",
55
required: true,
6-
label: "Project name (kebab-case only)"
6+
message: "Project name (kebab-case only)"
77
},
88
description: {
99
type: "string",
1010
required: true,
11-
label: "Project description",
11+
message: "Project description",
1212
default: "A Nativescript + Vue.js 2.0 project"
1313
},
1414
author: {
1515
type: "string",
16-
label: "Author"
17-
},
18-
email: {
19-
type: "string",
20-
required: true,
21-
label: "Email"
16+
message: "Author"
2217
},
2318
repos: {
2419
type: "string",
2520
required: true,
26-
label: "Github repository URL",
21+
message: "Github repository URL",
2722
default: "user/repository"
23+
},
24+
semanticRelease: {
25+
type: "confirm",
26+
message: "Do you want to use semantic release?",
27+
default: true
2828
}
2929
},
30-
"skipInterpolation": "src/**/*.vue",
30+
filters: {
31+
".commitlintrc.json": "semanticRelease"
32+
},
33+
skipInterpolation: "src/**/*.{html,vue}",
3134
complete (data) {
35+
console.log(data)
3236
// cd dir
3337
// npm install -g nativescript semantic-release-cli && npm install && tns init && semantic-release-cli setup
3438
}

template/.commitlintrc.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": [
3+
"@commitlint/config-conventional"
4+
]
5+
}

template/package.json

+40-4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
"nativescript-vue"
1919
],
2020
"scripts": {
21+
"precommit": "lint-staged",{{#semanticRelease}}
22+
"cz": "git-cz",
23+
"commitmsg": "commitlint -e $GIT_PARAMS",{{/semanticRelease}}
2124
"android": "tns run android --emulator",
2225
"ios": "tns run ios --emulator",
2326
"dev": "rollup -c -w --environment TARGET:development",
@@ -28,11 +31,18 @@
2831
"dependencies": {
2932
"nativescript-vue": "^0.7.8"
3033
},
31-
"devDependencies": {
34+
"devDependencies": { {{#semanticRelease}}
35+
"@commitlint/cli": "^6.0.2",
36+
"@commitlint/config-conventional": "^5.2.3",
37+
"@semantic-release/changelog": "^1.0.0",
38+
"@semantic-release/git": "^2.0.1",
39+
"@semantic-release/github": "^3.0.1",{{/semanticRelease}}
3240
"babel-core": "^6.26.0",
3341
"babel-eslint": "^8.1.2",
3442
"babel-plugin-module-resolver": "^3.0.0",
35-
"babel-preset-vue-app": "^2.0.0",
43+
"babel-preset-vue-app": "^2.0.0",{{#semanticRelease}}
44+
"commitizen": "^2.9.6",
45+
"cz-conventional-changelog": "^2.1.0",{{/semanticRelease}}
3646
"eslint": "^4.14.0",
3747
"eslint-config-prettier": "^2.9.0",
3848
"eslint-config-standard": "^11.0.0-beta.0",
@@ -43,7 +53,9 @@
4353
"eslint-plugin-prettier": "2.4.0",
4454
"eslint-plugin-promise": "^3.6.0",
4555
"eslint-plugin-standard": "^3.0.1",
46-
"eslint-plugin-vue": "^4.0.1",
56+
"eslint-plugin-vue": "^4.0.1",{{#semanticRelease}}
57+
"husky": "^0.14.3",{{/semanticRelease}}
58+
"lint-staged": "^6.0.0",
4759
"prettier": "^1.9.2",
4860
"rollup": "^0.54.1",
4961
"rollup-plugin-babel": "^3.0.3",
@@ -61,5 +73,29 @@
6173
"vue": "^2.5.13",
6274
"vue-loader": "^13.6.2",
6375
"vue-template-compiler": "^2.5.13"
64-
}
76+
},{{#semanticRelease}}
77+
"config": {
78+
"commitizen": {
79+
"path": "cz-conventional-changelog"
80+
}
81+
},{{/semanticRelease}}
82+
"lint-staged": {
83+
"*.{js,vue}": [
84+
"eslint --fix",
85+
"git add"
86+
]
87+
}{{#semanticRelease}},
88+
"release": {
89+
"verifyConditions": [
90+
"@semantic-release/changelog",
91+
"@semantic-release/git",
92+
"@semantic-release/github"
93+
],
94+
"getLastRelease": "@semantic-release/github",
95+
"publish": [
96+
"@semantic-release/changelog",
97+
"@semantic-release/git",
98+
"@semantic-release/github"
99+
]
100+
}{{/semanticRelease}}
65101
}

0 commit comments

Comments
 (0)