Skip to content

Commit c813439

Browse files
author
雅影
committed
fix: publish error
1 parent f215748 commit c813439

File tree

1 file changed

+78
-80
lines changed
  • src/built-in-plugins/command-publish/plugin

1 file changed

+78
-80
lines changed

src/built-in-plugins/command-publish/plugin/utils.ts

+78-80
Original file line numberDiff line numberDiff line change
@@ -87,101 +87,99 @@ export async function generateVersion(
8787
targetPackageJson: Partial<PackageJson>,
8888
targetConfig: ProjectConfig,
8989
currentBranchName: string,
90-
): Promise<string> {
91-
return new Promise(async resolve => {
92-
let versionResult: string = null;
90+
) {
91+
let versionResult: string = null;
9392

94-
let version = '';
93+
let version = '';
9594

96-
try {
97-
const versionResultExec = execSync(
98-
`${targetConfig.npmClient} view ${targetPackageJson.name}@${targetPackageJson.version} version`,
99-
);
95+
try {
96+
const versionResultExec = execSync(
97+
`${targetConfig.npmClient} view ${targetPackageJson.name}@${targetPackageJson.version} version`,
98+
);
10099

101-
if (versionResultExec) {
102-
versionResult = versionResultExec.toString().trim();
103-
} else {
104-
versionResult = null;
105-
}
106-
} catch (error) {
107-
// Throw error means not exist
100+
if (versionResultExec) {
101+
versionResult = versionResultExec.toString().trim();
102+
} else {
108103
versionResult = null;
109104
}
105+
} catch (error) {
106+
// Throw error means not exist
107+
versionResult = null;
108+
}
110109

111-
// Generate beta version if branch is not master or develop
112-
if (options.tag === 'beta' || !isDevelopBranch) {
113-
// fixed basicVersion to 1.0.0
114-
const basicVersion = '1.0.0';
115-
116-
const branchNameInVersion = currentBranchName.replace(/\//g, '').replace(/\./g, '');
117-
118-
let publishedVersions: string[] = [];
119-
try {
120-
// all of package versions
121-
const tempVersions = execSync(`${targetConfig.npmClient} view ${targetPackageJson.name} versions`);
122-
if (tempVersions) {
123-
publishedVersions = tempVersions
124-
.toString()
125-
.trim()
126-
.replace(/\n|'| |\[|\]/g, '')
127-
.split(',');
128-
} else {
129-
publishedVersions = [];
130-
}
131-
} catch (e) {
110+
// Generate beta version if branch is not master or develop
111+
if (options.tag === 'beta' || !isDevelopBranch) {
112+
// fixed basicVersion to 1.0.0
113+
const basicVersion = '1.0.0';
114+
115+
const branchNameInVersion = currentBranchName.replace(/\//g, '').replace(/\./g, '');
116+
117+
let publishedVersions: string[] = [];
118+
try {
119+
// all of package versions
120+
const tempVersions = execSync(`${targetConfig.npmClient} view ${targetPackageJson.name} versions`);
121+
if (tempVersions) {
122+
publishedVersions = tempVersions
123+
.toString()
124+
.trim()
125+
.replace(/\n|'| |\[|\]/g, '')
126+
.split(',');
127+
} else {
132128
publishedVersions = [];
133129
}
130+
} catch (e) {
131+
publishedVersions = [];
132+
}
134133

135-
let maxBetaVersionNum = 0;
134+
let maxBetaVersionNum = 0;
136135

137-
// 1.0.0-branchName.version
138-
const betaVersionReg = new RegExp(`\\d+\\.\\d+\\.\\d+-${branchNameInVersion}\\.\\d+`);
136+
// 1.0.0-branchName.version
137+
const betaVersionReg = new RegExp(`\\d+\\.\\d+\\.\\d+-${branchNameInVersion}\\.\\d+`);
139138

140-
// get max beta version
141-
publishedVersions.forEach((v: string) => {
142-
if (betaVersionReg.test(v)) {
143-
const tempBetaVersion = Number(v.split(`${branchNameInVersion}.`)[1]);
139+
// get max beta version
140+
publishedVersions.forEach((v: string) => {
141+
if (betaVersionReg.test(v)) {
142+
const tempBetaVersion = Number(v.split(`${branchNameInVersion}.`)[1]);
144143

145-
if (maxBetaVersionNum < tempBetaVersion) {
146-
maxBetaVersionNum = tempBetaVersion;
147-
}
144+
if (maxBetaVersionNum < tempBetaVersion) {
145+
maxBetaVersionNum = tempBetaVersion;
148146
}
149-
});
150-
151-
// basic version without branchName -> use basic version + branch name + beta version
152-
version = `${basicVersion}-${branchNameInVersion}.${maxBetaVersionNum + 1}`;
153-
} else if (versionResult) {
154-
if (!options.semver) {
155-
const versionPrompt = await inquirer.prompt([
156-
{
157-
message: `${targetPackageJson.name}@${targetPackageJson.version} exist, can upgrade to`,
158-
name: 'version',
159-
type: 'list',
160-
choices: [
161-
{
162-
name: `Patch(${semver.inc(targetPackageJson.version, 'patch')})`,
163-
value: semver.inc(targetPackageJson.version, 'patch'),
164-
},
165-
{
166-
name: `Minor(${semver.inc(targetPackageJson.version, 'minor')})`,
167-
value: semver.inc(targetPackageJson.version, 'minor'),
168-
},
169-
{
170-
name: `Major(${semver.inc(targetPackageJson.version, 'major')})`,
171-
value: semver.inc(targetPackageJson.version, 'major'),
172-
},
173-
],
174-
},
175-
]);
176-
version = versionPrompt.version;
177-
} else if (['patch', 'minor', 'major'].some(each => each === options.semver)) {
178-
version = semver.inc(targetPackageJson.version, options.semver as semver.ReleaseType);
179-
} else {
180-
logFatal('semver must be "patch" "minor" or "major"');
181147
}
148+
});
149+
150+
// basic version without branchName -> use basic version + branch name + beta version
151+
version = `${basicVersion}-${branchNameInVersion}.${maxBetaVersionNum + 1}`;
152+
} else if (versionResult) {
153+
if (!options.semver) {
154+
const versionPrompt = await inquirer.prompt([
155+
{
156+
message: `${targetPackageJson.name}@${targetPackageJson.version} exist, can upgrade to`,
157+
name: 'version',
158+
type: 'list',
159+
choices: [
160+
{
161+
name: `Patch(${semver.inc(targetPackageJson.version, 'patch')})`,
162+
value: semver.inc(targetPackageJson.version, 'patch'),
163+
},
164+
{
165+
name: `Minor(${semver.inc(targetPackageJson.version, 'minor')})`,
166+
value: semver.inc(targetPackageJson.version, 'minor'),
167+
},
168+
{
169+
name: `Major(${semver.inc(targetPackageJson.version, 'major')})`,
170+
value: semver.inc(targetPackageJson.version, 'major'),
171+
},
172+
],
173+
},
174+
]);
175+
version = versionPrompt.version;
176+
} else if (['patch', 'minor', 'major'].some(each => each === options.semver)) {
177+
version = semver.inc(targetPackageJson.version, options.semver as semver.ReleaseType);
178+
} else {
179+
logFatal('semver must be "patch" "minor" or "major"');
182180
}
183-
resolve(version);
184-
});
181+
}
182+
return version;
185183
}
186184

187185
/** Upgrade package.json's version */

0 commit comments

Comments
 (0)