netlify 24.6.2 → 24.8.0
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/dist/commands/claim/claim.d.ts +3 -0
- package/dist/commands/claim/claim.d.ts.map +1 -0
- package/dist/commands/claim/claim.js +19 -0
- package/dist/commands/claim/claim.js.map +1 -0
- package/dist/commands/claim/index.d.ts +3 -0
- package/dist/commands/claim/index.d.ts.map +1 -0
- package/dist/commands/claim/index.js +11 -0
- package/dist/commands/claim/index.js.map +1 -0
- package/dist/commands/deploy/deploy.d.ts.map +1 -1
- package/dist/commands/deploy/deploy.js +159 -1
- package/dist/commands/deploy/deploy.js.map +1 -1
- package/dist/commands/deploy/index.d.ts.map +1 -1
- package/dist/commands/deploy/index.js +3 -0
- package/dist/commands/deploy/index.js.map +1 -1
- package/dist/commands/deploy/option_values.d.ts +2 -0
- package/dist/commands/deploy/option_values.d.ts.map +1 -1
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +2 -0
- package/dist/commands/main.js.map +1 -1
- package/dist/lib/build.d.ts +1 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +2 -1
- package/dist/lib/build.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/deploy/drop-api.d.ts +34 -0
- package/dist/utils/deploy/drop-api.d.ts.map +1 -0
- package/dist/utils/deploy/drop-api.js +155 -0
- package/dist/utils/deploy/drop-api.js.map +1 -0
- package/npm-shrinkwrap.json +29 -22
- package/package.json +3 -3
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import type { StatusCallback } from './status-cb.js';
|
|
3
|
+
interface DropDeployInfo {
|
|
4
|
+
id: string;
|
|
5
|
+
deploy_id: string;
|
|
6
|
+
subdomain: string;
|
|
7
|
+
url: string;
|
|
8
|
+
state: string;
|
|
9
|
+
required: string[];
|
|
10
|
+
}
|
|
11
|
+
interface DropApiOptions {
|
|
12
|
+
apiBase: string;
|
|
13
|
+
userAgent: string;
|
|
14
|
+
}
|
|
15
|
+
export interface DropApiError extends Error {
|
|
16
|
+
status?: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const getDropToken: ({ apiBase, userAgent }: DropApiOptions) => Promise<string>;
|
|
19
|
+
export declare const createDropDeploy: ({ apiBase, userAgent }: DropApiOptions, files: Record<string, string>, token: string, createdVia?: string) => Promise<DropDeployInfo>;
|
|
20
|
+
export declare const uploadDropFile: ({ apiBase, userAgent }: DropApiOptions, deployId: string, filePath: string, body: fs.ReadStream | Buffer, token: string) => Promise<void>;
|
|
21
|
+
export declare const waitForDropDeploy: ({ apiBase, userAgent }: DropApiOptions, siteId: string, deployId: string, timeout?: number) => Promise<Record<string, unknown>>;
|
|
22
|
+
export declare const claimDropSite: ({ apiBase, userAgent }: DropApiOptions, siteId: string, dropToken: string, authToken: string) => Promise<void>;
|
|
23
|
+
export interface UploadListItem {
|
|
24
|
+
normalizedPath: string;
|
|
25
|
+
filepath: string;
|
|
26
|
+
hash: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const uploadDropFiles: (apiOptions: DropApiOptions, deployId: string, uploadList: UploadListItem[], token: string, { concurrentUpload, maxRetry, statusCb, }?: {
|
|
29
|
+
concurrentUpload?: number;
|
|
30
|
+
maxRetry?: number;
|
|
31
|
+
statusCb?: StatusCallback;
|
|
32
|
+
}) => Promise<void>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=drop-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-api.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy/drop-api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,CAAA;AAKnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AASD,eAAO,MAAM,YAAY,GAAU,wBAAwB,cAAc,KAAG,OAAO,CAAC,MAAM,CAczF,CAAA;AAGD,eAAO,MAAM,gBAAgB,GAC3B,wBAAwB,cAAc,EACtC,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,OAAO,MAAM,EACb,aAAa,MAAM,KAClB,OAAO,CAAC,cAAc,CAoBxB,CAAA;AAOD,eAAO,MAAM,cAAc,GACzB,wBAAwB,cAAc,EACtC,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,MAAM,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,MAAM,KACZ,OAAO,CAAC,IAAI,CAsBd,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAC5B,wBAAwB,cAAc,EACtC,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,UAAS,MAA+B,KACvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCjC,CAAA;AAGD,eAAO,MAAM,aAAa,GACxB,wBAAwB,cAAc,EACtC,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,WAAW,MAAM,KAChB,OAAO,CAAC,IAAI,CAgBd,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,eAAe,GAC1B,YAAY,cAAc,EAC1B,UAAU,MAAM,EAChB,YAAY,cAAc,EAAE,EAC5B,OAAO,MAAM,EACb,4CAIG;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAA;CACrB,KACL,OAAO,CAAC,IAAI,CA4Cd,CAAA"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// TODO: These Drop API helpers should be migrated to @netlify/api once the Drop
|
|
2
|
+
// endpoints are added to the OpenAPI spec. Until then, we use raw fetch calls.
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import pWaitFor from 'p-wait-for';
|
|
5
|
+
import { DEPLOY_POLL, DEFAULT_DEPLOY_TIMEOUT, DEFAULT_CONCURRENT_UPLOAD, DEFAULT_MAX_RETRY } from './constants.js';
|
|
6
|
+
const APP_NETLIFY_REFERRER = 'https://app.netlify.com';
|
|
7
|
+
const makeHeaders = (userAgent, extra = {}) => ({
|
|
8
|
+
'User-Agent': userAgent,
|
|
9
|
+
Referer: APP_NETLIFY_REFERRER,
|
|
10
|
+
...extra,
|
|
11
|
+
});
|
|
12
|
+
// TODO: Migrate to @netlify/api when Drop endpoints are in the OpenAPI spec.
|
|
13
|
+
export const getDropToken = async ({ apiBase, userAgent }) => {
|
|
14
|
+
const response = await fetch(`${apiBase}/drop/token`, {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
headers: makeHeaders(userAgent, { 'Content-Type': 'application/json' }),
|
|
17
|
+
});
|
|
18
|
+
if (!response.ok) {
|
|
19
|
+
const error = new Error(`Failed to get drop token: ${String(response.status)} ${response.statusText}`);
|
|
20
|
+
error.status = response.status;
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
const data = (await response.json());
|
|
24
|
+
return data.token;
|
|
25
|
+
};
|
|
26
|
+
// TODO: Migrate to @netlify/api when Drop endpoints are in the OpenAPI spec.
|
|
27
|
+
export const createDropDeploy = async ({ apiBase, userAgent }, files, token, createdVia) => {
|
|
28
|
+
const body = { files, token };
|
|
29
|
+
if (createdVia) {
|
|
30
|
+
body.created_via = createdVia;
|
|
31
|
+
}
|
|
32
|
+
const response = await fetch(`${apiBase}/drop`, {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
headers: makeHeaders(userAgent, { 'Content-Type': 'application/json' }),
|
|
35
|
+
body: JSON.stringify(body),
|
|
36
|
+
});
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
const errorText = await response.text();
|
|
39
|
+
const error = new Error(`Failed to create drop deploy: ${String(response.status)} ${errorText}`);
|
|
40
|
+
error.status = response.status;
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
return (await response.json());
|
|
44
|
+
};
|
|
45
|
+
// TODO: Migrate to @netlify/api when Drop endpoints are in the OpenAPI spec.
|
|
46
|
+
export const uploadDropFile = async ({ apiBase, userAgent }, deployId, filePath, body, token) => {
|
|
47
|
+
// Node.js fetch needs `duplex: 'half'` for streaming bodies which isn't in standard RequestInit
|
|
48
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any */
|
|
49
|
+
const normalizedFilePath = filePath.startsWith('/') ? filePath : `/${filePath}`;
|
|
50
|
+
const response = await fetch(`${apiBase}/deploys/${deployId}/files${encodeURI(normalizedFilePath)}`, {
|
|
51
|
+
method: 'PUT',
|
|
52
|
+
headers: makeHeaders(userAgent, {
|
|
53
|
+
'Content-Type': 'application/octet-stream',
|
|
54
|
+
Authorization: `Bearer ${token}`,
|
|
55
|
+
}),
|
|
56
|
+
body: body,
|
|
57
|
+
duplex: 'half',
|
|
58
|
+
});
|
|
59
|
+
/* eslint-enable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any */
|
|
60
|
+
if (!response.ok) {
|
|
61
|
+
const error = new Error(`Failed to upload file ${filePath}: ${String(response.status)} ${response.statusText}`);
|
|
62
|
+
error.status = response.status;
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
// TODO: Migrate to @netlify/api when Drop endpoints are in the OpenAPI spec.
|
|
67
|
+
export const waitForDropDeploy = async ({ apiBase, userAgent }, siteId, deployId, timeout = DEFAULT_DEPLOY_TIMEOUT) => {
|
|
68
|
+
let deploy;
|
|
69
|
+
const checkDeploy = async () => {
|
|
70
|
+
const response = await fetch(`${apiBase}/sites/${siteId}/deploys/${deployId}`, {
|
|
71
|
+
headers: makeHeaders(userAgent),
|
|
72
|
+
});
|
|
73
|
+
if (!response.ok) {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
const data = (await response.json());
|
|
77
|
+
if (data.state === 'ready') {
|
|
78
|
+
deploy = data;
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
if (data.state === 'error') {
|
|
82
|
+
throw new Error(data.error_message || `Deploy ${deployId} had an error`);
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
};
|
|
86
|
+
await pWaitFor(checkDeploy, {
|
|
87
|
+
interval: DEPLOY_POLL,
|
|
88
|
+
timeout: {
|
|
89
|
+
milliseconds: timeout,
|
|
90
|
+
message: 'Timeout while waiting for deploy',
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
// deploy is guaranteed to be set when pWaitFor resolves
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
95
|
+
return deploy;
|
|
96
|
+
};
|
|
97
|
+
// TODO: Migrate to @netlify/api when Drop endpoints are in the OpenAPI spec.
|
|
98
|
+
export const claimDropSite = async ({ apiBase, userAgent }, siteId, dropToken, authToken) => {
|
|
99
|
+
const response = await fetch(`${apiBase}/drop/claim`, {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
headers: makeHeaders(userAgent, {
|
|
102
|
+
'Content-Type': 'application/json',
|
|
103
|
+
Authorization: `Bearer ${authToken}`,
|
|
104
|
+
}),
|
|
105
|
+
body: JSON.stringify({ site: siteId, token: dropToken }),
|
|
106
|
+
});
|
|
107
|
+
if (!response.ok) {
|
|
108
|
+
const errorText = await response.text();
|
|
109
|
+
const error = new Error(`Failed to claim site: ${String(response.status)} ${errorText}`);
|
|
110
|
+
error.status = response.status;
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
export const uploadDropFiles = async (apiOptions, deployId, uploadList, token, { concurrentUpload = DEFAULT_CONCURRENT_UPLOAD, maxRetry = DEFAULT_MAX_RETRY, statusCb = (() => { }), } = {}) => {
|
|
115
|
+
const { default: pMap } = await import('p-map');
|
|
116
|
+
statusCb({
|
|
117
|
+
type: 'upload',
|
|
118
|
+
msg: `Uploading ${String(uploadList.length)} files`,
|
|
119
|
+
phase: 'start',
|
|
120
|
+
});
|
|
121
|
+
const uploadFile = async (fileObj, index) => {
|
|
122
|
+
statusCb({
|
|
123
|
+
type: 'upload',
|
|
124
|
+
msg: `(${String(index + 1)}/${String(uploadList.length)}) Uploading ${fileObj.normalizedPath}...`,
|
|
125
|
+
phase: 'progress',
|
|
126
|
+
});
|
|
127
|
+
let lastError;
|
|
128
|
+
for (let attempt = 0; attempt <= maxRetry; attempt++) {
|
|
129
|
+
try {
|
|
130
|
+
const body = fs.createReadStream(fileObj.filepath);
|
|
131
|
+
await uploadDropFile(apiOptions, deployId, fileObj.normalizedPath, body, token);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
lastError = error;
|
|
136
|
+
if (lastError.status === 400 || lastError.status === 422) {
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
if (attempt < maxRetry) {
|
|
140
|
+
await new Promise((resolve) => setTimeout(resolve, 1000 * (attempt + 1)));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (lastError) {
|
|
145
|
+
throw lastError;
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
await pMap(uploadList, uploadFile, { concurrency: concurrentUpload });
|
|
149
|
+
statusCb({
|
|
150
|
+
type: 'upload',
|
|
151
|
+
msg: `Finished uploading ${String(uploadList.length)} assets`,
|
|
152
|
+
phase: 'stop',
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=drop-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-api.js","sourceRoot":"","sources":["../../../src/utils/deploy/drop-api.ts"],"names":[],"mappings":"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"}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "netlify",
|
|
3
|
-
"version": "24.
|
|
3
|
+
"version": "24.8.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "netlify",
|
|
9
|
-
"version": "24.
|
|
9
|
+
"version": "24.8.0",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@netlify/ai": "0.4.1",
|
|
15
15
|
"@netlify/api": "14.0.18",
|
|
16
16
|
"@netlify/blobs": "10.7.0",
|
|
17
|
-
"@netlify/build": "35.11.
|
|
17
|
+
"@netlify/build": "35.11.2",
|
|
18
18
|
"@netlify/build-info": "10.4.0",
|
|
19
19
|
"@netlify/config": "24.4.4",
|
|
20
20
|
"@netlify/dev": "4.16.4",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@netlify/images": "1.3.7",
|
|
27
27
|
"@netlify/local-functions-proxy": "2.0.3",
|
|
28
28
|
"@netlify/redirect-parser": "15.0.4",
|
|
29
|
-
"@netlify/zip-it-and-ship-it": "14.5.
|
|
29
|
+
"@netlify/zip-it-and-ship-it": "14.5.3",
|
|
30
30
|
"@octokit/rest": "22.0.0",
|
|
31
31
|
"@opentelemetry/api": "1.8.0",
|
|
32
32
|
"@pnpm/tabtab": "0.5.4",
|
|
@@ -1252,9 +1252,9 @@
|
|
|
1252
1252
|
}
|
|
1253
1253
|
},
|
|
1254
1254
|
"node_modules/@netlify/build": {
|
|
1255
|
-
"version": "35.11.
|
|
1256
|
-
"resolved": "https://registry.npmjs.org/@netlify/build/-/build-35.11.
|
|
1257
|
-
"integrity": "sha512-
|
|
1255
|
+
"version": "35.11.2",
|
|
1256
|
+
"resolved": "https://registry.npmjs.org/@netlify/build/-/build-35.11.2.tgz",
|
|
1257
|
+
"integrity": "sha512-y+Dl2HqNs/5r3z8GBCGRDgjEVaKxJCSIjwQBG9QP/BMOIe18stjhDqECCtFvRvZDqVRF4YjgHZ8Q5VWQ5pFvfA==",
|
|
1258
1258
|
"license": "MIT",
|
|
1259
1259
|
"dependencies": {
|
|
1260
1260
|
"@bugsnag/js": "^8.0.0",
|
|
@@ -1262,12 +1262,12 @@
|
|
|
1262
1262
|
"@netlify/cache-utils": "^6.0.5",
|
|
1263
1263
|
"@netlify/config": "^24.4.4",
|
|
1264
1264
|
"@netlify/edge-bundler": "14.9.19",
|
|
1265
|
-
"@netlify/functions-utils": "^6.2.
|
|
1265
|
+
"@netlify/functions-utils": "^6.2.29",
|
|
1266
1266
|
"@netlify/git-utils": "^6.0.4",
|
|
1267
1267
|
"@netlify/opentelemetry-utils": "^2.0.2",
|
|
1268
1268
|
"@netlify/plugins-list": "^6.81.3",
|
|
1269
1269
|
"@netlify/run-utils": "^6.0.3",
|
|
1270
|
-
"@netlify/zip-it-and-ship-it": "14.5.
|
|
1270
|
+
"@netlify/zip-it-and-ship-it": "14.5.3",
|
|
1271
1271
|
"@sindresorhus/slugify": "^2.0.0",
|
|
1272
1272
|
"ansi-escapes": "^7.0.0",
|
|
1273
1273
|
"ansis": "^4.1.0",
|
|
@@ -2817,12 +2817,12 @@
|
|
|
2817
2817
|
}
|
|
2818
2818
|
},
|
|
2819
2819
|
"node_modules/@netlify/functions-utils": {
|
|
2820
|
-
"version": "6.2.
|
|
2821
|
-
"resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-6.2.
|
|
2822
|
-
"integrity": "sha512-
|
|
2820
|
+
"version": "6.2.29",
|
|
2821
|
+
"resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-6.2.29.tgz",
|
|
2822
|
+
"integrity": "sha512-82VfLDTEXLl6LKKMlBUIektOOaIz4Bhdn1FI6zgRhE4uPDnDd1rhJZPZ1JXf7QUaj0xUfVQAf9cALnQR0y+8Qw==",
|
|
2823
2823
|
"license": "MIT",
|
|
2824
2824
|
"dependencies": {
|
|
2825
|
-
"@netlify/zip-it-and-ship-it": "14.5.
|
|
2825
|
+
"@netlify/zip-it-and-ship-it": "14.5.3",
|
|
2826
2826
|
"cpy": "^11.0.0",
|
|
2827
2827
|
"path-exists": "^5.0.0"
|
|
2828
2828
|
},
|
|
@@ -3406,9 +3406,9 @@
|
|
|
3406
3406
|
}
|
|
3407
3407
|
},
|
|
3408
3408
|
"node_modules/@netlify/serverless-functions-api": {
|
|
3409
|
-
"version": "2.
|
|
3410
|
-
"resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-2.
|
|
3411
|
-
"integrity": "sha512-
|
|
3409
|
+
"version": "2.14.0",
|
|
3410
|
+
"resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-2.14.0.tgz",
|
|
3411
|
+
"integrity": "sha512-6UwJ9Fm8NU9LPBa5zV5Gv20JgSEPOOwZ7oUbNYbB7SUnNTmIBccafgZF3+xXqSpI3hxXn4/l5xxCO+Pc2KURZA==",
|
|
3412
3412
|
"license": "MIT",
|
|
3413
3413
|
"dependencies": {
|
|
3414
3414
|
"@netlify/types": "^2.6.0"
|
|
@@ -3460,15 +3460,15 @@
|
|
|
3460
3460
|
}
|
|
3461
3461
|
},
|
|
3462
3462
|
"node_modules/@netlify/zip-it-and-ship-it": {
|
|
3463
|
-
"version": "14.5.
|
|
3464
|
-
"resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-14.5.
|
|
3465
|
-
"integrity": "sha512-
|
|
3463
|
+
"version": "14.5.3",
|
|
3464
|
+
"resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-14.5.3.tgz",
|
|
3465
|
+
"integrity": "sha512-7CCFbfEs11WZmY2ddXR85q6O6dHr8aWA/fcdw+7ftwtIaajQKWGDduZT5lI+u7i60wVymt8CEu2Et/hKOhFtzQ==",
|
|
3466
3466
|
"license": "MIT",
|
|
3467
3467
|
"dependencies": {
|
|
3468
3468
|
"@babel/parser": "^7.22.5",
|
|
3469
3469
|
"@babel/types": "^7.28.5",
|
|
3470
3470
|
"@netlify/binary-info": "^1.0.0",
|
|
3471
|
-
"@netlify/serverless-functions-api": "2.
|
|
3471
|
+
"@netlify/serverless-functions-api": "2.14.0",
|
|
3472
3472
|
"@vercel/nft": "0.29.4",
|
|
3473
3473
|
"archiver": "^7.0.0",
|
|
3474
3474
|
"common-path-prefix": "^3.0.0",
|
|
@@ -10137,7 +10137,9 @@
|
|
|
10137
10137
|
"license": "MIT"
|
|
10138
10138
|
},
|
|
10139
10139
|
"node_modules/node-forge": {
|
|
10140
|
-
"version": "1.
|
|
10140
|
+
"version": "1.4.0",
|
|
10141
|
+
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz",
|
|
10142
|
+
"integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==",
|
|
10141
10143
|
"license": "(BSD-3-Clause OR GPL-2.0)",
|
|
10142
10144
|
"engines": {
|
|
10143
10145
|
"node": ">= 6.13.0"
|
|
@@ -13243,13 +13245,18 @@
|
|
|
13243
13245
|
}
|
|
13244
13246
|
},
|
|
13245
13247
|
"node_modules/yaml": {
|
|
13246
|
-
"version": "2.8.
|
|
13248
|
+
"version": "2.8.3",
|
|
13249
|
+
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
|
|
13250
|
+
"integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
|
|
13247
13251
|
"license": "ISC",
|
|
13248
13252
|
"bin": {
|
|
13249
13253
|
"yaml": "bin.mjs"
|
|
13250
13254
|
},
|
|
13251
13255
|
"engines": {
|
|
13252
13256
|
"node": ">= 14.6"
|
|
13257
|
+
},
|
|
13258
|
+
"funding": {
|
|
13259
|
+
"url": "https://github.com/sponsors/eemeli"
|
|
13253
13260
|
}
|
|
13254
13261
|
},
|
|
13255
13262
|
"node_modules/yargs": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "netlify",
|
|
3
3
|
"description": "Netlify command line tool",
|
|
4
|
-
"version": "24.
|
|
4
|
+
"version": "24.8.0",
|
|
5
5
|
"author": "Netlify Inc.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@netlify/ai": "0.4.1",
|
|
60
60
|
"@netlify/api": "14.0.18",
|
|
61
61
|
"@netlify/blobs": "10.7.0",
|
|
62
|
-
"@netlify/build": "35.11.
|
|
62
|
+
"@netlify/build": "35.11.2",
|
|
63
63
|
"@netlify/build-info": "10.4.0",
|
|
64
64
|
"@netlify/config": "24.4.4",
|
|
65
65
|
"@netlify/dev": "4.16.4",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@netlify/images": "1.3.7",
|
|
72
72
|
"@netlify/local-functions-proxy": "2.0.3",
|
|
73
73
|
"@netlify/redirect-parser": "15.0.4",
|
|
74
|
-
"@netlify/zip-it-and-ship-it": "14.5.
|
|
74
|
+
"@netlify/zip-it-and-ship-it": "14.5.3",
|
|
75
75
|
"@octokit/rest": "22.0.0",
|
|
76
76
|
"@opentelemetry/api": "1.8.0",
|
|
77
77
|
"@pnpm/tabtab": "0.5.4",
|