Skip to content

Commit a01e50c

Browse files
committed
🐛 Fix semver.json to Use dist/gitmojis.json's semver property.
1 parent 82e3752 commit a01e50c

File tree

2 files changed

+52
-15
lines changed

2 files changed

+52
-15
lines changed

Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ gen:
5555
@echo "$(PURPLE)# GEN: 2. Update semver field$(RESET)"
5656
yq '.' $(SEMVER_FILE) > build/src/semver.json
5757
node gitmoji-semver.js
58-
cat build/dist/tmp.json | jq > build/dist/gitmojis.json
59-
rm build/dist/tmp.json
6058

6159
@echo
6260
@echo
@@ -92,7 +90,7 @@ scaffold: gen
9290
cp -a ./semantic-release-template/. $(OUT_DIR)/.release
9391
cp ./build/dist/release-template.hbs $(OUT_DIR)/.release
9492
cp ./build/dist/gitmojis.json $(OUT_DIR)/.release
95-
cp ./build/src/semver.json $(OUT_DIR)/.release
93+
cp ./build/dist/semver.json $(OUT_DIR)/.release
9694

9795
@echo
9896
@echo "$(LIGHTPURPLE)🎉 Add semantic-release setting files$(RESET)"

gitmoji-semver.js

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,71 @@
11
const fs = require('fs');
2-
const gitmojisObj = JSON.parse(fs.readFileSync('./build/src/gitmojis.json', 'utf8'));
3-
const semverObj = JSON.parse(fs.readFileSync('./build/src/semver.json', 'utf8'));
42

5-
function run() {
3+
const srcGitmojisObj = JSON.parse(fs.readFileSync('./build/src/gitmojis.json', 'utf8'));
4+
const srcSemverObj = JSON.parse(fs.readFileSync('./build/src/semver.json', 'utf8'));
5+
6+
function genGitmojisJson() {
67
const res = {gitmojis: []};
7-
for (const v of gitmojisObj.gitmojis) {
8-
if (v.semver === null){
8+
for (const v of srcGitmojisObj.gitmojis) {
9+
if (v.semver === null) {
910
v.semver = "none"
1011
}
11-
let s = semver(v.name.replace(/-/g,'_'))
12-
if (s !== null){
12+
let s = getSemverByName(v.name.replace(/-/g, '_'))
13+
if (s !== null) {
1314
v.semver = s
1415
}
1516
res.gitmojis.push(v)
1617
}
1718

18-
fs.writeFileSync('./build/dist/tmp.json', JSON.stringify(res));
19+
fs.writeFileSync('./build/dist/gitmojis.json', JSON.stringify(res, null, 2));
1920
}
2021

21-
function semver(name) {
22-
for (const v of Object.keys(semverObj.semver)) {
23-
if (semverObj.semver[v].includes(name)) {
22+
function getSemverByName(name) {
23+
for (const v of Object.keys(srcSemverObj.semver)) {
24+
if (srcSemverObj.semver[v].includes(name)) {
2425
return v
2526
}
2627
}
2728
return null
2829
}
2930

30-
// TODO: semver.jsonにフィールドを追加する
31+
function genSemverJson() {
32+
const distGitmojisObj = JSON.parse(fs.readFileSync('./build/dist/gitmojis.json', 'utf8'));
33+
const res = {
34+
branch: srcSemverObj.branch,
35+
semver: {
36+
major: [],
37+
minor: [],
38+
patch: [],
39+
none: [],
40+
ignore: [],
41+
}
42+
};
43+
44+
for (const v of distGitmojisObj.gitmojis) {
45+
if (v.semver === 'major') {
46+
res.semver.major.push(v.name.replace(/-/g, '_'))
47+
}
48+
if (v.semver === 'minor') {
49+
res.semver.minor.push(v.name.replace(/-/g, '_'))
50+
}
51+
if (v.semver === 'patch') {
52+
res.semver.patch.push(v.name.replace(/-/g, '_'))
53+
}
54+
if (v.semver === 'none') {
55+
res.semver.none.push(v.name.replace(/-/g, '_'))
56+
}
57+
if (v.semver === 'ignore') {
58+
res.semver.ignore.push(v.name.replace(/-/g, '_'))
59+
}
60+
}
61+
62+
fs.writeFileSync('./build/dist/semver.json', JSON.stringify(res, null, 2));
63+
}
64+
65+
function run() {
66+
genGitmojisJson()
67+
genSemverJson()
68+
}
69+
3170

3271
run()

0 commit comments

Comments
 (0)