semantic-release-vsce 5.7.4 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -10
- package/index.js +13 -21
- package/lib/prepare.js +8 -7
- package/lib/publish.js +14 -8
- package/lib/utils.js +17 -13
- package/lib/verify-ovsx-auth.js +5 -4
- package/lib/verify-pkg.js +7 -8
- package/lib/verify-target.js +6 -5
- package/lib/verify-vsce-auth.js +25 -10
- package/lib/verify.js +10 -10
- package/package.json +27 -25
- package/.eslintrc +0 -14
- package/.github/FUNDING.yml +0 -1
- package/.github/dependabot.yml +0 -14
- package/.github/workflows/ci.yaml +0 -44
- package/.github/workflows/dependabot-auto-merge.yaml +0 -22
- package/.github/workflows/validate-pr-title.yaml +0 -16
- package/.husky/pre-commit +0 -4
- package/.prettierrc +0 -3
- package/release.config.js +0 -66
- package/test/index.test.js +0 -261
- package/test/prepare.test.js +0 -189
- package/test/publish.test.js +0 -253
- package/test/verify-ovsx-auth.test.js +0 -60
- package/test/verify-pkg.test.js +0 -119
- package/test/verify-target.test.js +0 -65
- package/test/verify-vsce-auth.test.js +0 -74
- package/test/verify.test.js +0 -171
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
name: validate-pr-title
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request_target:
|
|
5
|
-
types:
|
|
6
|
-
- opened
|
|
7
|
-
- edited
|
|
8
|
-
- synchronize
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
validate-pr-title:
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
steps:
|
|
14
|
-
- uses: amannn/action-semantic-pull-request@v5
|
|
15
|
-
env:
|
|
16
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/.husky/pre-commit
DELETED
package/.prettierrc
DELETED
package/release.config.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
plugins: [
|
|
3
|
-
[
|
|
4
|
-
'@semantic-release/commit-analyzer',
|
|
5
|
-
{
|
|
6
|
-
releaseRules: [
|
|
7
|
-
{
|
|
8
|
-
type: 'perf',
|
|
9
|
-
release: 'patch',
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
type: 'refactor',
|
|
13
|
-
release: 'patch',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
type: 'build',
|
|
17
|
-
scope: 'deps',
|
|
18
|
-
release: 'patch',
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
],
|
|
23
|
-
[
|
|
24
|
-
'@semantic-release/release-notes-generator',
|
|
25
|
-
{
|
|
26
|
-
presetConfig: {
|
|
27
|
-
types: [
|
|
28
|
-
{
|
|
29
|
-
type: 'feat',
|
|
30
|
-
section: 'Features',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
type: 'fix',
|
|
34
|
-
section: 'Bug Fixes',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
type: 'perf',
|
|
38
|
-
section: 'Performance Improvements',
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
type: 'revert',
|
|
42
|
-
section: 'Reverts',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
type: 'refactor',
|
|
46
|
-
section: 'Code Refactoring',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
type: 'build',
|
|
50
|
-
scope: 'deps',
|
|
51
|
-
section: 'Dependencies',
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
'@semantic-release/npm',
|
|
58
|
-
[
|
|
59
|
-
'@semantic-release/github',
|
|
60
|
-
{
|
|
61
|
-
addReleases: 'bottom',
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
],
|
|
65
|
-
preset: 'conventionalcommits',
|
|
66
|
-
};
|
package/test/index.test.js
DELETED
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
const test = require('ava').serial;
|
|
2
|
-
const sinon = require('sinon');
|
|
3
|
-
const proxyquire = require('proxyquire');
|
|
4
|
-
|
|
5
|
-
const semanticReleasePayload = {
|
|
6
|
-
nextRelease: {
|
|
7
|
-
version: '1.0.0',
|
|
8
|
-
},
|
|
9
|
-
logger: {
|
|
10
|
-
log: sinon.fake(),
|
|
11
|
-
},
|
|
12
|
-
cwd: process.cwd(),
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const pluginConfig = {
|
|
16
|
-
packageVsix: 'test.vsix',
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
test.beforeEach((t) => {
|
|
20
|
-
t.context.stubs = {
|
|
21
|
-
verifyVsceStub: sinon.stub().resolves(),
|
|
22
|
-
vscePublishStub: sinon.stub().resolves(),
|
|
23
|
-
vscePrepareStub: sinon.stub().resolves(),
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test.afterEach((t) => {
|
|
28
|
-
Object.keys(t.context.stubs).forEach((key) => {
|
|
29
|
-
t.context.stubs[key].resetHistory();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test('verifyConditions', async (t) => {
|
|
34
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
35
|
-
const { verifyConditions } = proxyquire('../index.js', {
|
|
36
|
-
'./lib/verify': verifyVsceStub,
|
|
37
|
-
'./lib/publish': vscePublishStub,
|
|
38
|
-
'./lib/prepare': vscePrepareStub,
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
await verifyConditions(pluginConfig, semanticReleasePayload);
|
|
42
|
-
|
|
43
|
-
t.true(
|
|
44
|
-
verifyVsceStub.calledOnceWith(pluginConfig, {
|
|
45
|
-
logger: semanticReleasePayload.logger,
|
|
46
|
-
cwd: semanticReleasePayload.cwd,
|
|
47
|
-
}),
|
|
48
|
-
);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
test('prepare and unverified', async (t) => {
|
|
52
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
53
|
-
const { prepare } = proxyquire('../index.js', {
|
|
54
|
-
'./lib/verify': verifyVsceStub,
|
|
55
|
-
'./lib/publish': vscePublishStub,
|
|
56
|
-
'./lib/prepare': vscePrepareStub,
|
|
57
|
-
verified: false,
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
await prepare(pluginConfig, semanticReleasePayload);
|
|
61
|
-
|
|
62
|
-
t.true(
|
|
63
|
-
verifyVsceStub.calledOnceWith(pluginConfig, {
|
|
64
|
-
logger: semanticReleasePayload.logger,
|
|
65
|
-
cwd: semanticReleasePayload.cwd,
|
|
66
|
-
}),
|
|
67
|
-
);
|
|
68
|
-
t.deepEqual(vscePrepareStub.getCall(0).args, [
|
|
69
|
-
semanticReleasePayload.nextRelease.version,
|
|
70
|
-
pluginConfig.packageVsix,
|
|
71
|
-
semanticReleasePayload.logger,
|
|
72
|
-
semanticReleasePayload.cwd,
|
|
73
|
-
]);
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
test('prepare and verified', async (t) => {
|
|
77
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
78
|
-
const { prepare, verifyConditions } = proxyquire('../index.js', {
|
|
79
|
-
'./lib/verify': verifyVsceStub,
|
|
80
|
-
'./lib/publish': vscePublishStub,
|
|
81
|
-
'./lib/prepare': vscePrepareStub,
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
await verifyConditions(pluginConfig, semanticReleasePayload);
|
|
85
|
-
await prepare(pluginConfig, semanticReleasePayload);
|
|
86
|
-
|
|
87
|
-
t.true(verifyVsceStub.calledOnce);
|
|
88
|
-
t.deepEqual(vscePrepareStub.getCall(0).args, [
|
|
89
|
-
semanticReleasePayload.nextRelease.version,
|
|
90
|
-
pluginConfig.packageVsix,
|
|
91
|
-
semanticReleasePayload.logger,
|
|
92
|
-
semanticReleasePayload.cwd,
|
|
93
|
-
]);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
test('publish that is unverified and unprepared', async (t) => {
|
|
97
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
98
|
-
const { publish } = proxyquire('../index.js', {
|
|
99
|
-
'./lib/verify': verifyVsceStub,
|
|
100
|
-
'./lib/publish': vscePublishStub,
|
|
101
|
-
'./lib/prepare': vscePrepareStub,
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
await publish(pluginConfig, semanticReleasePayload);
|
|
105
|
-
|
|
106
|
-
t.true(verifyVsceStub.calledOnce);
|
|
107
|
-
t.true(vscePrepareStub.calledOnce);
|
|
108
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
109
|
-
semanticReleasePayload.nextRelease.version,
|
|
110
|
-
undefined,
|
|
111
|
-
semanticReleasePayload.logger,
|
|
112
|
-
semanticReleasePayload.cwd,
|
|
113
|
-
]);
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
test('publish that is verified but unprepared', async (t) => {
|
|
117
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
118
|
-
const { publish, verifyConditions } = proxyquire('../index.js', {
|
|
119
|
-
'./lib/verify': verifyVsceStub,
|
|
120
|
-
'./lib/publish': vscePublishStub,
|
|
121
|
-
'./lib/prepare': vscePrepareStub,
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
await verifyConditions(pluginConfig, semanticReleasePayload);
|
|
125
|
-
await publish(pluginConfig, semanticReleasePayload);
|
|
126
|
-
|
|
127
|
-
t.true(verifyVsceStub.calledOnce);
|
|
128
|
-
t.true(vscePrepareStub.calledOnce);
|
|
129
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
130
|
-
semanticReleasePayload.nextRelease.version,
|
|
131
|
-
undefined,
|
|
132
|
-
semanticReleasePayload.logger,
|
|
133
|
-
semanticReleasePayload.cwd,
|
|
134
|
-
]);
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
test('publish that is already verified & prepared', async (t) => {
|
|
138
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
139
|
-
const { prepare, publish, verifyConditions } = proxyquire('../index.js', {
|
|
140
|
-
'./lib/verify': verifyVsceStub,
|
|
141
|
-
'./lib/publish': vscePublishStub,
|
|
142
|
-
'./lib/prepare': vscePrepareStub,
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
await verifyConditions(pluginConfig, semanticReleasePayload);
|
|
146
|
-
const packagePath = await prepare(pluginConfig, semanticReleasePayload);
|
|
147
|
-
await publish(pluginConfig, semanticReleasePayload);
|
|
148
|
-
|
|
149
|
-
t.true(verifyVsceStub.calledOnce);
|
|
150
|
-
t.true(vscePrepareStub.calledOnce);
|
|
151
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
152
|
-
semanticReleasePayload.nextRelease.version,
|
|
153
|
-
packagePath,
|
|
154
|
-
semanticReleasePayload.logger,
|
|
155
|
-
semanticReleasePayload.cwd,
|
|
156
|
-
]);
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
test('it does not publish the package if publishing is disabled', async (t) => {
|
|
160
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
161
|
-
const { prepare, publish, verifyConditions } = proxyquire('../index.js', {
|
|
162
|
-
'./lib/verify': verifyVsceStub,
|
|
163
|
-
'./lib/publish': vscePublishStub,
|
|
164
|
-
'./lib/prepare': vscePrepareStub,
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
await verifyConditions(
|
|
168
|
-
{ ...pluginConfig, publish: false },
|
|
169
|
-
semanticReleasePayload,
|
|
170
|
-
);
|
|
171
|
-
await prepare({ ...pluginConfig, publish: false }, semanticReleasePayload);
|
|
172
|
-
await publish({ ...pluginConfig, publish: false }, semanticReleasePayload);
|
|
173
|
-
|
|
174
|
-
t.true(vscePublishStub.notCalled);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
test('it can publish when `OVSX_PAT` is present but `VSCE_PAT` is missing', async (t) => {
|
|
178
|
-
const token = 'abc123';
|
|
179
|
-
sinon.stub(process, 'env').value({
|
|
180
|
-
OVSX_PAT: token,
|
|
181
|
-
});
|
|
182
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
183
|
-
const { prepare, publish, verifyConditions } = proxyquire('../index.js', {
|
|
184
|
-
'./lib/verify': verifyVsceStub,
|
|
185
|
-
'./lib/publish': vscePublishStub,
|
|
186
|
-
'./lib/prepare': vscePrepareStub,
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
await verifyConditions({ ...pluginConfig }, semanticReleasePayload);
|
|
190
|
-
await prepare({ ...pluginConfig }, semanticReleasePayload);
|
|
191
|
-
await publish({ ...pluginConfig }, semanticReleasePayload);
|
|
192
|
-
|
|
193
|
-
t.true(verifyVsceStub.calledOnce);
|
|
194
|
-
t.true(vscePrepareStub.calledOnce);
|
|
195
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
196
|
-
semanticReleasePayload.nextRelease.version,
|
|
197
|
-
undefined,
|
|
198
|
-
semanticReleasePayload.logger,
|
|
199
|
-
semanticReleasePayload.cwd,
|
|
200
|
-
]);
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
test('expand globs if publishPackagePath is set', async (t) => {
|
|
204
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
205
|
-
const { publish } = proxyquire('../index.js', {
|
|
206
|
-
'./lib/verify': verifyVsceStub,
|
|
207
|
-
'./lib/publish': vscePublishStub,
|
|
208
|
-
'./lib/prepare': vscePrepareStub,
|
|
209
|
-
glob: {
|
|
210
|
-
glob: {
|
|
211
|
-
sync: sinon.stub().returns(['package1.vsix', 'package2.vsix']),
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
const pluginConfig = {
|
|
217
|
-
publishPackagePath: 'package*.vsix',
|
|
218
|
-
packageVsix: false,
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
await publish(pluginConfig, semanticReleasePayload);
|
|
222
|
-
|
|
223
|
-
t.true(verifyVsceStub.calledOnce);
|
|
224
|
-
t.true(vscePrepareStub.calledOnce);
|
|
225
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
226
|
-
semanticReleasePayload.nextRelease.version,
|
|
227
|
-
['package1.vsix', 'package2.vsix'],
|
|
228
|
-
semanticReleasePayload.logger,
|
|
229
|
-
semanticReleasePayload.cwd,
|
|
230
|
-
]);
|
|
231
|
-
});
|
|
232
|
-
|
|
233
|
-
test('publishes an extension in a non-root folder', async (t) => {
|
|
234
|
-
const { verifyVsceStub, vscePrepareStub, vscePublishStub } = t.context.stubs;
|
|
235
|
-
const { publish } = proxyquire('../index.js', {
|
|
236
|
-
'./lib/verify': verifyVsceStub,
|
|
237
|
-
'./lib/publish': vscePublishStub,
|
|
238
|
-
'./lib/prepare': vscePrepareStub,
|
|
239
|
-
glob: {
|
|
240
|
-
glob: {
|
|
241
|
-
sync: sinon.stub().returns(['package1.vsix', 'package2.vsix']),
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
});
|
|
245
|
-
|
|
246
|
-
const pluginConfig = {
|
|
247
|
-
packageRoot: './vscode-extension',
|
|
248
|
-
};
|
|
249
|
-
const resolvedCwd = `${semanticReleasePayload.cwd}/vscode-extension`;
|
|
250
|
-
|
|
251
|
-
await publish(pluginConfig, semanticReleasePayload);
|
|
252
|
-
|
|
253
|
-
t.true(verifyVsceStub.calledOnce);
|
|
254
|
-
t.true(vscePrepareStub.calledOnce);
|
|
255
|
-
t.deepEqual(vscePublishStub.getCall(0).args, [
|
|
256
|
-
semanticReleasePayload.nextRelease.version,
|
|
257
|
-
undefined,
|
|
258
|
-
semanticReleasePayload.logger,
|
|
259
|
-
resolvedCwd,
|
|
260
|
-
]);
|
|
261
|
-
});
|
package/test/prepare.test.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
// Run tests serially to avoid env pollution
|
|
2
|
-
const test = require('ava').serial;
|
|
3
|
-
const sinon = require('sinon');
|
|
4
|
-
const proxyquire = require('proxyquire');
|
|
5
|
-
|
|
6
|
-
const logger = {
|
|
7
|
-
log: sinon.fake(),
|
|
8
|
-
};
|
|
9
|
-
const cwd = process.cwd();
|
|
10
|
-
|
|
11
|
-
test.beforeEach((t) => {
|
|
12
|
-
t.context.stubs = {
|
|
13
|
-
execaStub: sinon.stub(),
|
|
14
|
-
};
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test.afterEach((t) => {
|
|
18
|
-
t.context.stubs.execaStub.resetHistory();
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
test('packageVsix is disabled', async (t) => {
|
|
22
|
-
const { execaStub } = t.context.stubs;
|
|
23
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
24
|
-
execa: execaStub,
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
const version = '1.0.0';
|
|
28
|
-
await prepare(version, false, logger);
|
|
29
|
-
|
|
30
|
-
t.true(execaStub.notCalled);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
test('packageVsix is not specified', async (t) => {
|
|
34
|
-
const { execaStub } = t.context.stubs;
|
|
35
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
36
|
-
execa: execaStub,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const version = '1.0.0';
|
|
40
|
-
await prepare(version, undefined, logger);
|
|
41
|
-
|
|
42
|
-
t.true(execaStub.notCalled);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test('packageVsix is a string', async (t) => {
|
|
46
|
-
const { execaStub } = t.context.stubs;
|
|
47
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
48
|
-
execa: execaStub,
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const version = '1.0.0';
|
|
52
|
-
const packageVsix = 'test.vsix';
|
|
53
|
-
const packagePath = packageVsix;
|
|
54
|
-
const result = await prepare(version, packageVsix, logger, cwd);
|
|
55
|
-
|
|
56
|
-
t.deepEqual(result, packagePath);
|
|
57
|
-
t.deepEqual(execaStub.getCall(0).args, [
|
|
58
|
-
'vsce',
|
|
59
|
-
['package', version, '--no-git-tag-version', '--out', packagePath],
|
|
60
|
-
{ stdio: 'inherit', preferLocal: true, cwd },
|
|
61
|
-
]);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test('packageVsix is true', async (t) => {
|
|
65
|
-
const { execaStub } = t.context.stubs;
|
|
66
|
-
const name = 'test';
|
|
67
|
-
|
|
68
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
69
|
-
execa: execaStub,
|
|
70
|
-
'fs-extra': {
|
|
71
|
-
readJson: sinon.stub().returns({
|
|
72
|
-
name,
|
|
73
|
-
}),
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const version = '1.0.0';
|
|
78
|
-
const packageVsix = true;
|
|
79
|
-
const packagePath = `${name}-${version}.vsix`;
|
|
80
|
-
|
|
81
|
-
const result = await prepare(version, packageVsix, logger, cwd);
|
|
82
|
-
|
|
83
|
-
t.deepEqual(result, packagePath);
|
|
84
|
-
t.deepEqual(execaStub.getCall(0).args, [
|
|
85
|
-
'vsce',
|
|
86
|
-
['package', version, '--no-git-tag-version', '--out', packagePath],
|
|
87
|
-
{ stdio: 'inherit', preferLocal: true, cwd },
|
|
88
|
-
]);
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
test('packageVsix is not set but OVSX_PAT is', async (t) => {
|
|
92
|
-
const { execaStub } = t.context.stubs;
|
|
93
|
-
const name = 'test';
|
|
94
|
-
|
|
95
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
96
|
-
execa: execaStub,
|
|
97
|
-
'fs-extra': {
|
|
98
|
-
readJson: sinon.stub().returns({
|
|
99
|
-
name,
|
|
100
|
-
}),
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
sinon.stub(process, 'env').value({
|
|
105
|
-
OVSX_PAT: 'abc123',
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
const version = '1.0.0';
|
|
109
|
-
const packageVsix = undefined;
|
|
110
|
-
const packagePath = `${name}-${version}.vsix`;
|
|
111
|
-
|
|
112
|
-
const result = await prepare(version, packageVsix, logger, cwd);
|
|
113
|
-
|
|
114
|
-
t.deepEqual(result, packagePath);
|
|
115
|
-
t.deepEqual(execaStub.getCall(0).args, [
|
|
116
|
-
'vsce',
|
|
117
|
-
['package', version, '--no-git-tag-version', '--out', packagePath],
|
|
118
|
-
{ stdio: 'inherit', preferLocal: true, cwd },
|
|
119
|
-
]);
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
test('packageVsix when target is set', async (t) => {
|
|
123
|
-
const { execaStub } = t.context.stubs;
|
|
124
|
-
const name = 'test';
|
|
125
|
-
|
|
126
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
127
|
-
execa: execaStub,
|
|
128
|
-
'fs-extra': {
|
|
129
|
-
readJson: sinon.stub().returns({
|
|
130
|
-
name,
|
|
131
|
-
}),
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
const version = '1.0.0';
|
|
136
|
-
const target = 'linux-x64';
|
|
137
|
-
const packagePath = `${name}-${target}-${version}.vsix`;
|
|
138
|
-
|
|
139
|
-
sinon.stub(process, 'env').value({
|
|
140
|
-
VSCE_TARGET: target,
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
const result = await prepare(version, true, logger, cwd);
|
|
144
|
-
|
|
145
|
-
t.deepEqual(result, packagePath);
|
|
146
|
-
t.deepEqual(execaStub.getCall(0).args, [
|
|
147
|
-
'vsce',
|
|
148
|
-
[
|
|
149
|
-
'package',
|
|
150
|
-
version,
|
|
151
|
-
'--no-git-tag-version',
|
|
152
|
-
'--out',
|
|
153
|
-
packagePath,
|
|
154
|
-
'--target',
|
|
155
|
-
target,
|
|
156
|
-
],
|
|
157
|
-
{ stdio: 'inherit', preferLocal: true, cwd },
|
|
158
|
-
]);
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
test('packageVsix when target is set to universal', async (t) => {
|
|
162
|
-
const { execaStub } = t.context.stubs;
|
|
163
|
-
const name = 'test';
|
|
164
|
-
|
|
165
|
-
const prepare = proxyquire('../lib/prepare', {
|
|
166
|
-
execa: execaStub,
|
|
167
|
-
'fs-extra': {
|
|
168
|
-
readJson: sinon.stub().returns({
|
|
169
|
-
name,
|
|
170
|
-
}),
|
|
171
|
-
},
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
const version = '1.0.0';
|
|
175
|
-
const packagePath = `${name}-${version}.vsix`;
|
|
176
|
-
|
|
177
|
-
sinon.stub(process, 'env').value({
|
|
178
|
-
VSCE_TARGET: 'universal',
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
const result = await prepare(version, true, logger, cwd);
|
|
182
|
-
|
|
183
|
-
t.deepEqual(result, packagePath);
|
|
184
|
-
t.deepEqual(execaStub.getCall(0).args, [
|
|
185
|
-
'vsce',
|
|
186
|
-
['package', version, '--no-git-tag-version', '--out', packagePath],
|
|
187
|
-
{ stdio: 'inherit', preferLocal: true, cwd },
|
|
188
|
-
]);
|
|
189
|
-
});
|