Skip to content

Commit 0e66d1a

Browse files
authoredApr 12, 2023
fix(github): update parameters used during upload of release assets (#1000)
* fix: update parameters for uploading an asset to a release * test: update tests associated with github asset release * fix: use path.basename * chore: remove mime-types dependency
1 parent 6b98016 commit 0e66d1a

File tree

4 files changed

+28
-45
lines changed

4 files changed

+28
-45
lines changed
 

‎packages/shipjs/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
"esm": "3.2.25",
4949
"globby": "^10.0.1",
5050
"inquirer": "7.1.0",
51-
"mime-types": "^2.1.25",
5251
"mkdirp": "^1.0.0",
5352
"open": "^7.0.0",
5453
"prettier": "^2.0.0",

‎packages/shipjs/src/step/release/__tests__/createGitHubRelease.spec.js

+21-34
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import globby from 'globby';
22
import fs from 'fs';
3-
import mime from 'mime-types';
43
import { getRepoInfo } from 'shipjs-lib';
54
import { Octokit } from '@octokit/rest';
65
import createGitHubRelease from '../createGitHubRelease';
@@ -9,7 +8,6 @@ jest.mock('@octokit/rest');
98
jest.mock('globby');
109
jest.mock('shipjs-lib');
1110
jest.mock('fs');
12-
jest.mock('mime-types');
1311

1412
const getDefaultParams = ({
1513
assetsToUpload,
@@ -32,7 +30,7 @@ describe('createGitHubRelease', () => {
3230
beforeEach(() => {
3331
createRelease.mockImplementation(() => ({
3432
data: {
35-
upload_url: 'https://dummy/upload/url', // eslint-disable-line camelcase
33+
id: 'releaseId',
3634
},
3735
}));
3836

@@ -46,7 +44,6 @@ describe('createGitHubRelease', () => {
4644
}));
4745
fs.readFileSync = jest.fn();
4846
fs.statSync = jest.fn().mockImplementation(() => ({ size: 1024 }));
49-
mime.lookup.mockImplementation(() => 'application/zip');
5047
globby.mockImplementation((path) => Promise.resolve([path]));
5148
});
5249

@@ -92,24 +89,20 @@ describe('createGitHubRelease', () => {
9289
Array [
9390
Array [
9491
Object {
95-
"file": undefined,
96-
"headers": Object {
97-
"content-length": 1024,
98-
"content-type": "application/zip",
99-
},
92+
"data": undefined,
10093
"name": "path1",
101-
"url": "https://dummy/upload/url",
94+
"owner": "my",
95+
"release_id": "releaseId",
96+
"repo": "repo",
10297
},
10398
],
10499
Array [
105100
Object {
106-
"file": undefined,
107-
"headers": Object {
108-
"content-length": 1024,
109-
"content-type": "application/zip",
110-
},
101+
"data": undefined,
111102
"name": "path2",
112-
"url": "https://dummy/upload/url",
103+
"owner": "my",
104+
"release_id": "releaseId",
105+
"repo": "repo",
113106
},
114107
],
115108
]
@@ -139,24 +132,20 @@ describe('createGitHubRelease', () => {
139132
Array [
140133
Array [
141134
Object {
142-
"file": undefined,
143-
"headers": Object {
144-
"content-length": 1024,
145-
"content-type": "application/zip",
146-
},
135+
"data": undefined,
147136
"name": "path1",
148-
"url": "https://dummy/upload/url",
137+
"owner": "my",
138+
"release_id": "releaseId",
139+
"repo": "repo",
149140
},
150141
],
151142
Array [
152143
Object {
153-
"file": undefined,
154-
"headers": Object {
155-
"content-length": 1024,
156-
"content-type": "application/zip",
157-
},
144+
"data": undefined,
158145
"name": "path2",
159-
"url": "https://dummy/upload/url",
146+
"owner": "my",
147+
"release_id": "releaseId",
148+
"repo": "repo",
160149
},
161150
],
162151
]
@@ -186,13 +175,11 @@ describe('createGitHubRelease', () => {
186175
Array [
187176
Array [
188177
Object {
189-
"file": undefined,
190-
"headers": Object {
191-
"content-length": 1024,
192-
"content-type": "application/zip",
193-
},
178+
"data": undefined,
194179
"name": "path1",
195-
"url": "https://dummy/upload/url",
180+
"owner": "my",
181+
"release_id": "releaseId",
182+
"repo": "repo",
196183
},
197184
],
198185
]

‎packages/shipjs/src/step/release/createGitHubRelease.js

+6-9
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import path from 'path';
22
import fs from 'fs';
33
import globby from 'globby';
44
import { Octokit } from '@octokit/rest';
5-
import mime from 'mime-types';
65
import { getRepoInfo } from 'shipjs-lib';
76
import runStep from '../runStep';
87
import { getChangelog } from '../../helper';
@@ -51,7 +50,7 @@ export default async ({ version, config, dir, dryRun }) =>
5150
});
5251

5352
const {
54-
data: { upload_url }, // eslint-disable-line camelcase
53+
data: { id: releaseId },
5554
} = await octokit.repos.createRelease({
5655
owner,
5756
repo,
@@ -64,13 +63,11 @@ export default async ({ version, config, dir, dryRun }) =>
6463
for (const assetPath of assetPaths) {
6564
const file = path.resolve(dir, assetPath);
6665
await octokit.repos.uploadReleaseAsset({
67-
file: fs.readFileSync(file),
68-
headers: {
69-
'content-length': fs.statSync(file).size,
70-
'content-type': mime.lookup(file),
71-
},
72-
name: path.basename(file),
73-
url: upload_url, // eslint-disable-line camelcase
66+
data: fs.readFileSync(file),
67+
owner,
68+
repo,
69+
release_id: releaseId, // eslint-disable-line camelcase
70+
name: path.basename(assetPath),
7471
});
7572
}
7673
}

‎yarn.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -9876,7 +9876,7 @@ mime-db@1.42.0, "mime-db@>= 1.40.0 < 2":
98769876
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac"
98779877
integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==
98789878

9879-
mime-types@^2.1.12, mime-types@^2.1.25, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
9879+
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
98809880
version "2.1.25"
98819881
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437"
98829882
integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==

0 commit comments

Comments
 (0)
Please sign in to comment.