Skip to content

Commit

Permalink
fix(github): update parameters used during upload of release assets (#…
Browse files Browse the repository at this point in the history
…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
  • Loading branch information
writeens committed Apr 12, 2023
1 parent 6b98016 commit 0e66d1a
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 45 deletions.
1 change: 0 additions & 1 deletion packages/shipjs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
"esm": "3.2.25",
"globby": "^10.0.1",
"inquirer": "7.1.0",
"mime-types": "^2.1.25",
"mkdirp": "^1.0.0",
"open": "^7.0.0",
"prettier": "^2.0.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import globby from 'globby';
import fs from 'fs';
import mime from 'mime-types';
import { getRepoInfo } from 'shipjs-lib';
import { Octokit } from '@octokit/rest';
import createGitHubRelease from '../createGitHubRelease';
Expand All @@ -9,7 +8,6 @@ jest.mock('@octokit/rest');
jest.mock('globby');
jest.mock('shipjs-lib');
jest.mock('fs');
jest.mock('mime-types');

const getDefaultParams = ({
assetsToUpload,
Expand All @@ -32,7 +30,7 @@ describe('createGitHubRelease', () => {
beforeEach(() => {
createRelease.mockImplementation(() => ({
data: {
upload_url: 'https://dummy/upload/url', // eslint-disable-line camelcase
id: 'releaseId',
},
}));

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

Expand Down Expand Up @@ -92,24 +89,20 @@ describe('createGitHubRelease', () => {
Array [
Array [
Object {
"file": undefined,
"headers": Object {
"content-length": 1024,
"content-type": "application/zip",
},
"data": undefined,
"name": "path1",
"url": "https://dummy/upload/url",
"owner": "my",
"release_id": "releaseId",
"repo": "repo",
},
],
Array [
Object {
"file": undefined,
"headers": Object {
"content-length": 1024,
"content-type": "application/zip",
},
"data": undefined,
"name": "path2",
"url": "https://dummy/upload/url",
"owner": "my",
"release_id": "releaseId",
"repo": "repo",
},
],
]
Expand Down Expand Up @@ -139,24 +132,20 @@ describe('createGitHubRelease', () => {
Array [
Array [
Object {
"file": undefined,
"headers": Object {
"content-length": 1024,
"content-type": "application/zip",
},
"data": undefined,
"name": "path1",
"url": "https://dummy/upload/url",
"owner": "my",
"release_id": "releaseId",
"repo": "repo",
},
],
Array [
Object {
"file": undefined,
"headers": Object {
"content-length": 1024,
"content-type": "application/zip",
},
"data": undefined,
"name": "path2",
"url": "https://dummy/upload/url",
"owner": "my",
"release_id": "releaseId",
"repo": "repo",
},
],
]
Expand Down Expand Up @@ -186,13 +175,11 @@ describe('createGitHubRelease', () => {
Array [
Array [
Object {
"file": undefined,
"headers": Object {
"content-length": 1024,
"content-type": "application/zip",
},
"data": undefined,
"name": "path1",
"url": "https://dummy/upload/url",
"owner": "my",
"release_id": "releaseId",
"repo": "repo",
},
],
]
Expand Down
15 changes: 6 additions & 9 deletions packages/shipjs/src/step/release/createGitHubRelease.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import path from 'path';
import fs from 'fs';
import globby from 'globby';
import { Octokit } from '@octokit/rest';
import mime from 'mime-types';
import { getRepoInfo } from 'shipjs-lib';
import runStep from '../runStep';
import { getChangelog } from '../../helper';
Expand Down Expand Up @@ -51,7 +50,7 @@ export default async ({ version, config, dir, dryRun }) =>
});

const {
data: { upload_url }, // eslint-disable-line camelcase
data: { id: releaseId },
} = await octokit.repos.createRelease({
owner,
repo,
Expand All @@ -64,13 +63,11 @@ export default async ({ version, config, dir, dryRun }) =>
for (const assetPath of assetPaths) {
const file = path.resolve(dir, assetPath);
await octokit.repos.uploadReleaseAsset({
file: fs.readFileSync(file),
headers: {
'content-length': fs.statSync(file).size,
'content-type': mime.lookup(file),
},
name: path.basename(file),
url: upload_url, // eslint-disable-line camelcase
data: fs.readFileSync(file),
owner,
repo,
release_id: releaseId, // eslint-disable-line camelcase
name: path.basename(assetPath),
});
}
}
Expand Down
2 changes: 1 addition & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -9876,7 +9876,7 @@ [email protected], "mime-db@>= 1.40.0 < 2":
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac"
integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==

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:
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
version "2.1.25"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437"
integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==
Expand Down

0 comments on commit 0e66d1a

Please sign in to comment.