Skip to content

Commit db9132d

Browse files
committedJun 13, 2021
feat: use vsce to bump version
As this feature was introduced in vsce@1.93.0 through microsoft/vscode-vsce#555.
1 parent 6440861 commit db9132d

8 files changed

+39
-196
lines changed
 

‎lib/prepare.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
const execa = require('execa');
2-
const updatePackageVersion = require('./update-package-version');
32

43
module.exports = async (version, packageVsix, yarn, logger) => {
5-
await updatePackageVersion(version, logger);
6-
74
if (packageVsix) {
8-
logger.log('Packaging version %s as .vsix', version);
5+
logger.log(`Packaging version ${version} as VSIX`);
96

10-
const options = ['package'];
7+
const options = ['package', version, '--no-git-tag-version'];
118

129
if (typeof packageVsix === 'string') {
1310
options.push(...['--out', packageVsix]);

‎lib/publish.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ const execa = require('execa');
22
const { readJson } = require('fs-extra');
33

44
module.exports = async (version, yarn, logger) => {
5-
const { publisher, name } = await readJson('./package.json');
5+
logger.log(`Publishing version ${version} to Visual Studio Marketplace`);
66

7-
logger.log('Publishing version %s to vs code marketplace', version);
7+
const { publisher, name } = await readJson('./package.json');
88

9-
const options = ['publish'];
9+
const options = ['publish', version, '--no-git-tag-version'];
1010

1111
if (yarn) {
1212
options.push('--yarn');
@@ -15,7 +15,7 @@ module.exports = async (version, yarn, logger) => {
1515
await execa('vsce', options, { stdio: 'inherit' });
1616

1717
const url = `https://marketplace.visualstudio.com/items?itemName=${publisher}.${name}`;
18-
logger.log(`New version is available at ${url}`);
18+
logger.log(`The new version is available at ${url}`);
1919
return {
2020
name: 'Visual Studio Marketplace',
2121
url

‎lib/update-package-version.js

-20
This file was deleted.

‎package-lock.json

-14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
},
5454
"dependencies": {
5555
"@semantic-release/error": "^2.2.0",
56-
"detect-indent": "^6.0.0",
5756
"execa": "^5.0.0",
5857
"fs-extra": "^10.0.0",
5958
"read-pkg-up": "^7.0.1",

‎test/prepare.test.js

+24-31
Original file line numberDiff line numberDiff line change
@@ -8,82 +8,75 @@ const logger = {
88

99
test.beforeEach(t => {
1010
t.context.stubs = {
11-
execaStub: sinon.stub(),
12-
updatePackageVersionStub: sinon.stub().resolves()
11+
execaStub: sinon.stub()
1312
};
1413
});
1514

1615
test.afterEach(t => {
1716
t.context.stubs.execaStub.resetHistory();
18-
t.context.stubs.updatePackageVersionStub.resetHistory();
1917
});
2018

2119
test('packageVsix is not specified', async t => {
22-
const { updatePackageVersionStub, execaStub } = t.context.stubs;
20+
const { execaStub } = t.context.stubs;
2321
const prepare = proxyquire('../lib/prepare', {
24-
execa: execaStub,
25-
'./update-package-version': updatePackageVersionStub
22+
execa: execaStub
2623
});
2724

28-
await prepare('1.0.0', undefined, undefined, logger);
25+
const version = '1.0.0';
26+
await prepare(version, undefined, undefined, logger);
2927

30-
t.true(updatePackageVersionStub.calledOnce);
3128
t.true(execaStub.notCalled);
3229
});
3330

3431
test('packageVsix is not specified but yarn is true', async t => {
35-
const { updatePackageVersionStub, execaStub } = t.context.stubs;
32+
const { execaStub } = t.context.stubs;
3633
const prepare = proxyquire('../lib/prepare', {
37-
execa: execaStub,
38-
'./update-package-version': updatePackageVersionStub
34+
execa: execaStub
3935
});
4036

37+
const version = '1.0.0';
4138
const yarn = true;
42-
await prepare('1.0.0', undefined, yarn, logger);
39+
await prepare(version, undefined, yarn, logger);
4340

44-
t.true(updatePackageVersionStub.calledOnce);
4541
t.true(execaStub.notCalled);
4642
});
4743

4844
test('packageVsix is a string', async t => {
49-
const { updatePackageVersionStub, execaStub } = t.context.stubs;
45+
const { execaStub } = t.context.stubs;
5046
const prepare = proxyquire('../lib/prepare', {
51-
execa: execaStub,
52-
'./update-package-version': updatePackageVersionStub
47+
execa: execaStub
5348
});
5449

50+
const version = '1.0.0';
5551
const packageVsix = 'test.vsix';
56-
await prepare('1.0.0', packageVsix, undefined, logger);
52+
await prepare(version, packageVsix, undefined, logger);
5753

58-
t.true(updatePackageVersionStub.calledOnce);
59-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package', '--out', packageVsix], { stdio: 'inherit' }]);
54+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package', version, '--no-git-tag-version', '--out', packageVsix], { stdio: 'inherit' }]);
6055
});
6156

6257
test('packageVsix is true', async t => {
63-
const { updatePackageVersionStub, execaStub } = t.context.stubs;
58+
const { execaStub } = t.context.stubs;
6459
const prepare = proxyquire('../lib/prepare', {
65-
execa: execaStub,
66-
'./update-package-version': updatePackageVersionStub
60+
execa: execaStub
6761
});
6862

63+
const version = '1.0.0';
6964
const packageVsix = true;
70-
await prepare('1.0.0', packageVsix, undefined, logger);
65+
await prepare(version, packageVsix, undefined, logger);
7166

72-
t.true(updatePackageVersionStub.calledOnce);
73-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package'], { stdio: 'inherit' }]);
67+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package', version, '--no-git-tag-version'], { stdio: 'inherit' }]);
7468
});
7569

7670
test('packageVsix is true and yarn is true', async t => {
77-
const { updatePackageVersionStub, execaStub } = t.context.stubs;
71+
const { execaStub } = t.context.stubs;
7872
const prepare = proxyquire('../lib/prepare', {
79-
execa: execaStub,
80-
'./update-package-version': updatePackageVersionStub
73+
execa: execaStub
8174
});
8275

76+
const version = '1.0.0';
8377
const packageVsix = true;
8478
const yarn = true;
85-
await prepare('1.0.0', packageVsix, yarn, logger);
79+
await prepare(version, packageVsix, yarn, logger);
8680

87-
t.true(updatePackageVersionStub.calledOnce);
88-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package', '--yarn'], { stdio: 'inherit' }]);
81+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['package', version, '--no-git-tag-version', '--yarn'], { stdio: 'inherit' }]);
8982
});

‎test/publish.test.js

+9-6
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,16 @@ test('publish', async t => {
3030
}
3131
});
3232

33+
const version = '1.0.0';
3334
const token = 'abc123';
3435
process.env.VSCE_TOKEN = token;
35-
const result = await publish('1.0.0', undefined, logger);
36+
const result = await publish(version, undefined, logger);
3637

3738
t.deepEqual(result, {
3839
name: 'Visual Studio Marketplace',
3940
url: `https://marketplace.visualstudio.com/items?itemName=${publisher}.${name}`
4041
});
41-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish'], { stdio: 'inherit' }]);
42+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish', version, '--no-git-tag-version'], { stdio: 'inherit' }]);
4243
});
4344

4445
test('publish when yarn is true', async t => {
@@ -55,16 +56,17 @@ test('publish when yarn is true', async t => {
5556
}
5657
});
5758

59+
const version = '1.0.0';
5860
const token = 'abc123';
5961
process.env.VSCE_TOKEN = token;
6062
const yarn = true;
61-
const result = await publish('1.0.0', yarn, logger);
63+
const result = await publish(version, yarn, logger);
6264

6365
t.deepEqual(result, {
6466
name: 'Visual Studio Marketplace',
6567
url: `https://marketplace.visualstudio.com/items?itemName=${publisher}.${name}`
6668
});
67-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish', '--yarn'], { stdio: 'inherit' }]);
69+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish', version, '--no-git-tag-version', '--yarn'], { stdio: 'inherit' }]);
6870
});
6971

7072
test('publish with VSCE_PAT and VSCE_TOKEN should prefer VSCE_PAT', async t => {
@@ -81,14 +83,15 @@ test('publish with VSCE_PAT and VSCE_TOKEN should prefer VSCE_PAT', async t => {
8183
}
8284
});
8385

86+
const version = '1.0.0';
8487
const token = 'abc123';
8588
process.env.VSCE_TOKEN = token;
8689
process.env.VSCE_PAT = token;
87-
const result = await publish('1.0.0', undefined, logger);
90+
const result = await publish(version, undefined, logger);
8891

8992
t.deepEqual(result, {
9093
name: 'Visual Studio Marketplace',
9194
url: `https://marketplace.visualstudio.com/items?itemName=${publisher}.${name}`
9295
});
93-
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish'], { stdio: 'inherit' }]);
96+
t.deepEqual(execaStub.getCall(0).args, ['vsce', ['publish', version, '--no-git-tag-version'], { stdio: 'inherit' }]);
9497
});

‎test/update-package-version.test.js

-115
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.