@goreleaser/goreleaser 2.15.1 → 2.15.2

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.
Files changed (2) hide show
  1. package/lib.js +49 -19
  2. package/package.json +13 -14
package/lib.js CHANGED
@@ -1,10 +1,11 @@
1
1
  // This file was generated by GoReleaser. DO NOT EDIT.
2
2
  import fs from "fs";
3
3
  import crypto from "crypto";
4
+ import http from "http";
5
+ import https from "https";
4
6
  import path from "path";
5
7
  import JSZip from "jszip";
6
8
  import { x as tarExtract } from "tar";
7
- import axios from "axios";
8
9
  import { ProxyAgent } from "proxy-agent";
9
10
  import { spawnSync } from "child_process";
10
11
  import { fileURLToPath } from "url";
@@ -178,7 +179,7 @@ const verify = (filename, checksum) => {
178
179
  }
179
180
  };
180
181
 
181
- const download = async (url, filename) => {
182
+ const download = async (url, filename, maxRedirects = 10) => {
182
183
  try {
183
184
  console.log(`Downloading ${url} to ${filename}...`);
184
185
  const dir = path.dirname(filename);
@@ -186,27 +187,56 @@ const download = async (url, filename) => {
186
187
  fs.mkdirSync(dir, { recursive: true });
187
188
  }
188
189
 
189
- const response = await axios({
190
- method: "GET",
191
- url: url,
192
- responseType: "stream",
193
- timeout: 300000, // 5min
194
- httpAgent: agent,
195
- httpsAgent: agent,
196
- });
190
+ return new Promise((resolve, reject) => {
191
+ const parsedUrl = new URL(url);
192
+ const mod = parsedUrl.protocol === "https:" ? https : http;
197
193
 
198
- const writer = fs.createWriteStream(filename);
199
- response.data.pipe(writer);
194
+ const request = mod.get(url, { agent }, (response) => {
195
+ if (
196
+ response.statusCode >= 300 &&
197
+ response.statusCode < 400 &&
198
+ response.headers.location
199
+ ) {
200
+ if (maxRedirects <= 0) {
201
+ reject(new Error("Too many redirects"));
202
+ return;
203
+ }
204
+ download(response.headers.location, filename, maxRedirects - 1)
205
+ .then(resolve)
206
+ .catch(reject);
207
+ return;
208
+ }
200
209
 
201
- return new Promise((resolve, reject) => {
202
- writer.on("finish", () => {
203
- console.log(`Download complete: ${filename}`);
204
- resolve(dir);
210
+ if (response.statusCode !== 200) {
211
+ reject(
212
+ new Error(
213
+ `HTTP ${response.statusCode}: ${response.statusMessage}`,
214
+ ),
215
+ );
216
+ return;
217
+ }
218
+
219
+ const writer = fs.createWriteStream(filename);
220
+ response.pipe(writer);
221
+
222
+ writer.on("finish", () => {
223
+ console.log(`Download complete: ${filename}`);
224
+ resolve(dir);
225
+ });
226
+
227
+ writer.on("error", (err) => {
228
+ console.error(`Error writing file: ${err.message}`);
229
+ reject(err);
230
+ });
231
+ });
232
+
233
+ request.on("error", (err) => {
234
+ reject(new Error(`Request failed: ${err.message}`));
205
235
  });
206
236
 
207
- writer.on("error", (err) => {
208
- console.error(`Error writing file: ${err.message}`);
209
- reject(err);
237
+ request.setTimeout(300000, () => {
238
+ request.destroy();
239
+ reject(new Error("Request timed out"));
210
240
  });
211
241
  });
212
242
  } catch (err) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@goreleaser/goreleaser",
3
3
  "type": "module",
4
- "version": "2.15.1",
4
+ "version": "2.15.2",
5
5
  "description": "Release engineering, simplified",
6
6
  "scripts": {
7
7
  "postinstall": "node install.js",
@@ -31,7 +31,6 @@
31
31
  "goreleaser": "run-goreleaser.js"
32
32
  },
33
33
  "dependencies": {
34
- "axios": "^1.8.2",
35
34
  "jszip": "^3.10.1",
36
35
  "proxy-agent": "^7.0.0",
37
36
  "tar": "^7.4.3"
@@ -39,74 +38,74 @@
39
38
  "archives": {
40
39
  "darwin-arm64": {
41
40
  "name": "goreleaser_Darwin_arm64.tar.gz",
42
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Darwin_arm64.tar.gz",
41
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Darwin_arm64.tar.gz",
43
42
  "bins": [
44
43
  "goreleaser"
45
44
  ],
46
45
  "format": "tar.gz",
47
46
  "checksum": {
48
47
  "algorithm": "sha256",
49
- "digest": "138077471db4bc02118552f31b839e83a9c1b4734777538504387c3354bdd8f3"
48
+ "digest": "985c8509c62ccf2f48371868aa478a13ba075ff54457fdbcd2c0ba54eda8ad69"
50
49
  }
51
50
  },
52
51
  "darwin-x64": {
53
52
  "name": "goreleaser_Darwin_x86_64.tar.gz",
54
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Darwin_x86_64.tar.gz",
53
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Darwin_x86_64.tar.gz",
55
54
  "bins": [
56
55
  "goreleaser"
57
56
  ],
58
57
  "format": "tar.gz",
59
58
  "checksum": {
60
59
  "algorithm": "sha256",
61
- "digest": "dede912de75c913a5952f2d3bda8b8536c73e168c4d152cc6aef23a8de0c3651"
60
+ "digest": "5a0504a3be175fad742a5d00f77afb6281e4aa1edd3575005d6128a0f3445b92"
62
61
  }
63
62
  },
64
63
  "linux-arm64": {
65
64
  "name": "goreleaser_Linux_arm64.tar.gz",
66
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Linux_arm64.tar.gz",
65
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Linux_arm64.tar.gz",
67
66
  "bins": [
68
67
  "goreleaser"
69
68
  ],
70
69
  "format": "tar.gz",
71
70
  "checksum": {
72
71
  "algorithm": "sha256",
73
- "digest": "5792af3ed70393834abb5ac0f42ebf2b0b9fe31392cca56432fdb6d1b72e6b85"
72
+ "digest": "5db66761a98f6693161e49e1a95d28d2673a892ba60cb4a5e16736cafd41c4c9"
74
73
  }
75
74
  },
76
75
  "linux-x64": {
77
76
  "name": "goreleaser_Linux_x86_64.tar.gz",
78
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Linux_x86_64.tar.gz",
77
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Linux_x86_64.tar.gz",
79
78
  "bins": [
80
79
  "goreleaser"
81
80
  ],
82
81
  "format": "tar.gz",
83
82
  "checksum": {
84
83
  "algorithm": "sha256",
85
- "digest": "de49941ff1fbb4de46a1404eeae08d52a5b1bfab84b1b87a1fd62768d341f968"
84
+ "digest": "0ebdbf0353aba566b969dde746cc4e4806f96c27aa2f3971b229a9df7611fedc"
86
85
  }
87
86
  },
88
87
  "win32-arm64": {
89
88
  "name": "goreleaser_Windows_arm64.zip",
90
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Windows_arm64.zip",
89
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Windows_arm64.zip",
91
90
  "bins": [
92
91
  "goreleaser.exe"
93
92
  ],
94
93
  "format": "zip",
95
94
  "checksum": {
96
95
  "algorithm": "sha256",
97
- "digest": "211a7174c5a8bd0d5de3214edfa592424496960ddbad8e8b56db06a42b37b6d3"
96
+ "digest": "078e274df1f5a6f2477a8938dec417bc3c1946cc442be4a9df6775d301e48359"
98
97
  }
99
98
  },
100
99
  "win32-x64": {
101
100
  "name": "goreleaser_Windows_x86_64.zip",
102
- "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.1/goreleaser_Windows_x86_64.zip",
101
+ "url": "https://github.com/goreleaser/goreleaser/releases/download/v2.15.2/goreleaser_Windows_x86_64.zip",
103
102
  "bins": [
104
103
  "goreleaser.exe"
105
104
  ],
106
105
  "format": "zip",
107
106
  "checksum": {
108
107
  "algorithm": "sha256",
109
- "digest": "eea84855c779e0fca328da9e0b9683e888707fefeec361ea3fe64f4c990ce652"
108
+ "digest": "7459832946dbe122c144f8d7f87484d8572ca005b779310aa6bb03346e8de17a"
110
109
  }
111
110
  }
112
111
  }