@vercel/fun 1.2.1 → 1.3.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.
Files changed (52) hide show
  1. package/dist/src/deferred.js +1 -2
  2. package/dist/src/deferred.js.map +1 -1
  3. package/dist/src/errors.js.map +1 -1
  4. package/dist/src/index.js +88 -96
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/install-node.d.ts +0 -1
  7. package/dist/src/install-node.js +32 -44
  8. package/dist/src/install-node.js.map +1 -1
  9. package/dist/src/install-python.d.ts +0 -1
  10. package/dist/src/install-python.js +16 -33
  11. package/dist/src/install-python.js.map +1 -1
  12. package/dist/src/providers/docker/index.js +1 -1
  13. package/dist/src/providers/docker/index.js.map +1 -1
  14. package/dist/src/providers/native/index.d.ts +0 -1
  15. package/dist/src/providers/native/index.js +133 -128
  16. package/dist/src/providers/native/index.js.map +1 -1
  17. package/dist/src/runtime-server.d.ts +0 -1
  18. package/dist/src/runtime-server.js +115 -129
  19. package/dist/src/runtime-server.js.map +1 -1
  20. package/dist/src/runtimes/go1.x/filename.js +1 -2
  21. package/dist/src/runtimes/go1.x/filename.js.map +1 -1
  22. package/dist/src/runtimes/go1.x/index.js +27 -39
  23. package/dist/src/runtimes/go1.x/index.js.map +1 -1
  24. package/dist/src/runtimes/nodejs/bootstrap.js +99 -124
  25. package/dist/src/runtimes/nodejs/bootstrap.js.map +1 -1
  26. package/dist/src/runtimes/nodejs10.x/index.js +6 -18
  27. package/dist/src/runtimes/nodejs10.x/index.js.map +1 -1
  28. package/dist/src/runtimes/nodejs12.x/index.js +6 -18
  29. package/dist/src/runtimes/nodejs12.x/index.js.map +1 -1
  30. package/dist/src/runtimes/nodejs14.x/index.js +6 -18
  31. package/dist/src/runtimes/nodejs14.x/index.js.map +1 -1
  32. package/dist/src/runtimes/nodejs6.10/index.js +6 -18
  33. package/dist/src/runtimes/nodejs6.10/index.js.map +1 -1
  34. package/dist/src/runtimes/nodejs8.10/index.js +6 -18
  35. package/dist/src/runtimes/nodejs8.10/index.js.map +1 -1
  36. package/dist/src/runtimes/python/bootstrap.js.map +1 -1
  37. package/dist/src/runtimes/python2.7/index.js +6 -18
  38. package/dist/src/runtimes/python2.7/index.js.map +1 -1
  39. package/dist/src/runtimes/python3/bootstrap.js.map +1 -1
  40. package/dist/src/runtimes/python3/index.js +3 -15
  41. package/dist/src/runtimes/python3/index.js.map +1 -1
  42. package/dist/src/runtimes/python3.6/index.js +6 -18
  43. package/dist/src/runtimes/python3.6/index.js.map +1 -1
  44. package/dist/src/runtimes/python3.7/index.js +6 -18
  45. package/dist/src/runtimes/python3.7/index.js.map +1 -1
  46. package/dist/src/runtimes.js +129 -136
  47. package/dist/src/runtimes.js.map +1 -1
  48. package/dist/src/types.d.ts +0 -2
  49. package/dist/src/unzip.d.ts +0 -2
  50. package/dist/src/unzip.js +65 -78
  51. package/dist/src/unzip.js.map +1 -1
  52. package/package.json +5 -7
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDeferred = void 0;
3
+ exports.createDeferred = createDeferred;
4
4
  function createDeferred() {
5
5
  let r;
6
6
  let j;
@@ -10,5 +10,4 @@ function createDeferred() {
10
10
  });
11
11
  return { promise, resolve: r, reject: j };
12
12
  }
13
- exports.createDeferred = createDeferred;
14
13
  //# sourceMappingURL=deferred.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/deferred.ts"],"names":[],"mappings":";;;AAMA,SAAgB,cAAc;IAC7B,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IACN,MAAM,OAAO,GAAG,IAAI,OAAO,CAC1B,CACC,OAA6C,EAC7C,MAA8B,EACvB,EAAE;QACT,CAAC,GAAG,OAAO,CAAC;QACZ,CAAC,GAAG,MAAM,CAAC;IACZ,CAAC,CACD,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC3C,CAAC;AAbD,wCAaC"}
1
+ {"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../src/deferred.ts"],"names":[],"mappings":";;AAMA,wCAaC;AAbD,SAAgB,cAAc;IAC7B,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IACN,MAAM,OAAO,GAAG,IAAI,OAAO,CAC1B,CACC,OAA6C,EAC7C,MAA8B,EACvB,EAAE;QACT,CAAC,GAAG,OAAO,CAAC;QACZ,CAAC,GAAG,MAAM,CAAC;IACZ,CAAC,CACD,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAQH,MAAa,WAAY,SAAQ,KAAK;IACrC,YAAY,OAA2B,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,0CAA0C,CAAC,CAAC;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI;SAC9C,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACnC,IAAI,CAAC,KAAK,GAAG;gBACZ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE;gBAC/B,GAAG,IAAI,CAAC,UAAU;aAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACb;aAAM,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;SAC7B;IACF,CAAC;CACD;AAlBD,kCAkBC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAQH,MAAa,WAAY,SAAQ,KAAK;IACrC,YAAY,OAA2B,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,0CAA0C,CAAC,CAAC;QACvE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI;SAC9C,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG;gBACZ,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE;gBAC/B,GAAG,IAAI,CAAC,UAAU;aAClB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,CAAC;IACF,CAAC;CACD;AAlBD,kCAkBC"}
package/dist/src/index.js CHANGED
@@ -15,27 +15,32 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
34
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
35
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
37
  };
37
38
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.cleanCacheDir = exports.destroy = exports.invoke = exports.createFunction = exports.ValidationError = exports.initializeRuntime = exports.funCacheDir = exports.providers = exports.runtimes = void 0;
39
+ exports.ValidationError = exports.initializeRuntime = exports.funCacheDir = exports.providers = exports.runtimes = void 0;
40
+ exports.createFunction = createFunction;
41
+ exports.invoke = invoke;
42
+ exports.destroy = destroy;
43
+ exports.cleanCacheDir = cleanCacheDir;
39
44
  const debug_1 = __importDefault(require("debug"));
40
45
  const promises_1 = require("node:fs/promises");
41
46
  const unzip_1 = require("./unzip");
@@ -69,6 +74,7 @@ const reservedEnvVars = new Set([
69
74
  'TZ'
70
75
  ]);
71
76
  class ValidationError extends Error {
77
+ reserved;
72
78
  constructor(message) {
73
79
  super(message);
74
80
  // Restore prototype chain (see https://stackoverflow.com/a/41102306/376773)
@@ -78,90 +84,76 @@ class ValidationError extends Error {
78
84
  }
79
85
  }
80
86
  exports.ValidationError = ValidationError;
81
- function createFunction(params) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const Provider = providers[params.Provider || 'native'];
84
- if (!Provider) {
85
- throw new TypeError(`Provider "${params.Provider}" is not implemented`);
86
- }
87
- const runtime = runtimes_1.runtimes[params.Runtime];
88
- if (!runtime) {
89
- throw new TypeError(`Runtime "${params.Runtime}" is not implemented`);
90
- }
91
- yield (0, runtimes_1.initializeRuntime)(runtime);
92
- const envVars = (params.Environment && params.Environment.Variables) || {};
93
- const reserved = Object.keys(envVars).filter(name => {
94
- return reservedEnvVars.has(name.toUpperCase());
87
+ async function createFunction(params) {
88
+ const Provider = providers[params.Provider || 'native'];
89
+ if (!Provider) {
90
+ throw new TypeError(`Provider "${params.Provider}" is not implemented`);
91
+ }
92
+ const runtime = runtimes_1.runtimes[params.Runtime];
93
+ if (!runtime) {
94
+ throw new TypeError(`Runtime "${params.Runtime}" is not implemented`);
95
+ }
96
+ await (0, runtimes_1.initializeRuntime)(runtime);
97
+ const envVars = (params.Environment && params.Environment.Variables) || {};
98
+ const reserved = Object.keys(envVars).filter(name => {
99
+ return reservedEnvVars.has(name.toUpperCase());
100
+ });
101
+ if (reserved.length > 0) {
102
+ const err = new ValidationError(`The following environment variables can not be configured: ${reserved.join(', ')}`);
103
+ err.reserved = reserved;
104
+ throw err;
105
+ }
106
+ const fn = async function (payload) {
107
+ const result = await fn.invoke({
108
+ InvocationType: 'RequestResponse',
109
+ Payload: JSON.stringify(payload)
95
110
  });
96
- if (reserved.length > 0) {
97
- const err = new ValidationError(`The following environment variables can not be configured: ${reserved.join(', ')}`);
98
- err.reserved = reserved;
99
- throw err;
111
+ let resultPayload = result.Payload;
112
+ if (typeof resultPayload !== 'string') {
113
+ // For Buffer / Blob
114
+ resultPayload = String(resultPayload);
100
115
  }
101
- const fn = function (payload) {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- const result = yield fn.invoke({
104
- InvocationType: 'RequestResponse',
105
- Payload: JSON.stringify(payload)
106
- });
107
- let resultPayload = result.Payload;
108
- if (typeof resultPayload !== 'string') {
109
- // For Buffer / Blob
110
- resultPayload = String(resultPayload);
111
- }
112
- const parsedPayload = JSON.parse(resultPayload);
113
- if (result.FunctionError) {
114
- throw new errors_1.LambdaError(parsedPayload);
115
- }
116
- else {
117
- return parsedPayload;
118
- }
119
- });
120
- };
121
- fn.params = params;
122
- fn.runtime = runtime;
123
- fn.destroy = destroy.bind(null, fn);
124
- fn.invoke = invoke.bind(null, fn);
125
- fn.functionName = params.FunctionName;
126
- fn.region = params.Region || 'us-west-1';
127
- fn.version = '$LATEST';
128
- fn.arn = '';
129
- fn.timeout = typeof params.Timeout === 'number' ? params.Timeout : 3;
130
- fn.memorySize =
131
- typeof params.MemorySize === 'number' ? params.MemorySize : 128;
132
- debug('Creating provider %o', Provider.name);
133
- fn.provider = new Provider(fn);
134
- if (params.Code.ZipFile) {
135
- fn.extractedDir = yield (0, unzip_1.unzipToTemp)(params.Code.ZipFile);
116
+ const parsedPayload = JSON.parse(resultPayload);
117
+ if (result.FunctionError) {
118
+ throw new errors_1.LambdaError(parsedPayload);
136
119
  }
137
- return fn;
138
- });
120
+ else {
121
+ return parsedPayload;
122
+ }
123
+ };
124
+ fn.params = params;
125
+ fn.runtime = runtime;
126
+ fn.destroy = destroy.bind(null, fn);
127
+ fn.invoke = invoke.bind(null, fn);
128
+ fn.functionName = params.FunctionName;
129
+ fn.region = params.Region || 'us-west-1';
130
+ fn.version = '$LATEST';
131
+ fn.arn = '';
132
+ fn.timeout = typeof params.Timeout === 'number' ? params.Timeout : 3;
133
+ fn.memorySize =
134
+ typeof params.MemorySize === 'number' ? params.MemorySize : 128;
135
+ debug('Creating provider %o', Provider.name);
136
+ fn.provider = new Provider(fn);
137
+ if (params.Code.ZipFile) {
138
+ fn.extractedDir = await (0, unzip_1.unzipToTemp)(params.Code.ZipFile);
139
+ }
140
+ return fn;
139
141
  }
140
- exports.createFunction = createFunction;
141
- function invoke(fn, params) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- debug('Invoking function %o', fn.functionName);
144
- const result = yield fn.provider.invoke(params);
145
- return result;
146
- });
142
+ async function invoke(fn, params) {
143
+ debug('Invoking function %o', fn.functionName);
144
+ const result = await fn.provider.invoke(params);
145
+ return result;
147
146
  }
148
- exports.invoke = invoke;
149
- function destroy(fn) {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- const ops = [fn.provider.destroy()];
152
- if (fn.extractedDir) {
153
- debug('Deleting directory %o for function %o', fn.extractedDir, fn.functionName);
154
- ops.push((0, promises_1.rm)(fn.extractedDir, { recursive: true }));
155
- }
156
- yield Promise.all(ops);
157
- });
147
+ async function destroy(fn) {
148
+ const ops = [fn.provider.destroy()];
149
+ if (fn.extractedDir) {
150
+ debug('Deleting directory %o for function %o', fn.extractedDir, fn.functionName);
151
+ ops.push((0, promises_1.rm)(fn.extractedDir, { recursive: true }));
152
+ }
153
+ await Promise.all(ops);
158
154
  }
159
- exports.destroy = destroy;
160
- function cleanCacheDir() {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- debug('Deleting fun cache directory %o', runtimes_1.funCacheDir);
163
- yield (0, promises_1.rm)(runtimes_1.funCacheDir, { recursive: true });
164
- });
155
+ async function cleanCacheDir() {
156
+ debug('Deleting fun cache directory %o', runtimes_1.funCacheDir);
157
+ await (0, promises_1.rm)(runtimes_1.funCacheDir, { recursive: true });
165
158
  }
166
- exports.cleanCacheDir = cleanCacheDir;
167
159
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- /// <reference types="node" />
2
1
  export declare function generateNodeTarballUrl(version: string, platform?: NodeJS.Platform, arch?: string): string;
3
2
  export declare function installNode(dest: string, version: string, platform?: NodeJS.Platform, arch?: string): Promise<void>;
@@ -1,23 +1,15 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.installNode = exports.generateNodeTarballUrl = void 0;
6
+ exports.generateNodeTarballUrl = generateNodeTarballUrl;
7
+ exports.installNode = installNode;
16
8
  const tar_1 = require("tar");
17
- const promisepipe_1 = __importDefault(require("promisepipe"));
18
9
  const node_fetch_1 = __importDefault(require("node-fetch"));
19
10
  const debug_1 = __importDefault(require("debug"));
20
11
  const node_zlib_1 = require("node:zlib");
12
+ const promises_1 = require("node:stream/promises");
21
13
  const node_path_1 = require("node:path");
22
14
  const node_fs_1 = require("node:fs");
23
15
  const semver_1 = require("semver");
@@ -38,38 +30,34 @@ function generateNodeTarballUrl(version, platform = process.platform, arch = pro
38
30
  }
39
31
  return `https://nodejs.org/dist/${version}/node-${version}-${plat}-${arch}.${ext}`;
40
32
  }
41
- exports.generateNodeTarballUrl = generateNodeTarballUrl;
42
- function installNode(dest, version, platform = process.platform, arch = process.arch) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- // For Apple M1, use the x64 binaries for v14 or less,
45
- // since there are no arm64 binaries for these versions
46
- if (platform === 'darwin' &&
47
- arch === 'arm64' &&
48
- (0, semver_1.satisfies)(version, '<= 14')) {
49
- arch = 'x64';
50
- }
51
- const tarballUrl = generateNodeTarballUrl(version, platform, arch);
52
- debug('Downloading Node.js %s tarball %o', version, tarballUrl);
53
- const res = yield (0, node_fetch_1.default)(tarballUrl);
54
- if (!res.ok) {
55
- throw new Error(`HTTP request failed: ${res.status}`);
56
- }
57
- if (platform === 'win32') {
58
- // Put it in the `bin` dir for consistency with the tarballs
59
- const finalDest = (0, node_path_1.join)(dest, 'bin');
60
- const zipName = (0, node_path_1.basename)(tarballUrl);
61
- const zipPath = (0, node_path_1.join)(dest, zipName);
62
- debug('Saving Node.js %s zip file to %o', version, zipPath);
63
- yield (0, promisepipe_1.default)(res.body, (0, node_fs_1.createWriteStream)(zipPath));
64
- debug('Extracting Node.js %s zip file to %o', version, finalDest);
65
- const zipFile = yield (0, unzip_1.zipFromFile)(zipPath);
66
- yield (0, unzip_1.unzip)(zipFile, finalDest, { strip: 1 });
67
- }
68
- else {
69
- debug('Extracting Node.js %s tarball to %o', version, dest);
70
- yield (0, promisepipe_1.default)(res.body, (0, node_zlib_1.createGunzip)(), (0, tar_1.extract)({ strip: 1, C: dest }));
71
- }
72
- });
33
+ async function installNode(dest, version, platform = process.platform, arch = process.arch) {
34
+ // For Apple M1, use the x64 binaries for v14 or less,
35
+ // since there are no arm64 binaries for these versions
36
+ if (platform === 'darwin' &&
37
+ arch === 'arm64' &&
38
+ (0, semver_1.satisfies)(version, '<= 14')) {
39
+ arch = 'x64';
40
+ }
41
+ const tarballUrl = generateNodeTarballUrl(version, platform, arch);
42
+ debug('Downloading Node.js %s tarball %o', version, tarballUrl);
43
+ const res = await (0, node_fetch_1.default)(tarballUrl);
44
+ if (!res.ok) {
45
+ throw new Error(`HTTP request failed: ${res.status}`);
46
+ }
47
+ if (platform === 'win32') {
48
+ // Put it in the `bin` dir for consistency with the tarballs
49
+ const finalDest = (0, node_path_1.join)(dest, 'bin');
50
+ const zipName = (0, node_path_1.basename)(tarballUrl);
51
+ const zipPath = (0, node_path_1.join)(dest, zipName);
52
+ debug('Saving Node.js %s zip file to %o', version, zipPath);
53
+ await (0, promises_1.pipeline)(res.body, (0, node_fs_1.createWriteStream)(zipPath));
54
+ debug('Extracting Node.js %s zip file to %o', version, finalDest);
55
+ const zipFile = await (0, unzip_1.zipFromFile)(zipPath);
56
+ await (0, unzip_1.unzip)(zipFile, finalDest, { strip: 1 });
57
+ }
58
+ else {
59
+ debug('Extracting Node.js %s tarball to %o', version, dest);
60
+ await (0, promises_1.pipeline)(res.body, (0, node_zlib_1.createGunzip)(), (0, tar_1.extract)({ strip: 1, C: dest }));
61
+ }
73
62
  }
74
- exports.installNode = installNode;
75
63
  //# sourceMappingURL=install-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-node.js","sourceRoot":"","sources":["../../src/install-node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,8DAA+B;AAC/B,4DAA+B;AAC/B,kDAAgC;AAChC,yCAAyC;AACzC,yCAA2C;AAC3C,qCAA4C;AAC5C,mCAAmC;AACnC,mCAA6C;AAE7C,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,0BAA0B,CAAC,CAAC;AAEtD,SAAgB,sBAAsB,CACrC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7B,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;KACxB;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,IAAI,GAAW,QAAQ,CAAC;IAC5B,IAAI,QAAQ,KAAK,OAAO,EAAE;QACzB,GAAG,GAAG,KAAK,CAAC;QACZ,IAAI,GAAG,KAAK,CAAC;KACb;SAAM;QACN,GAAG,GAAG,QAAQ,CAAC;KACf;IACD,OAAO,2BAA2B,OAAO,SAAS,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AACpF,CAAC;AAjBD,wDAiBC;AAED,SAAsB,WAAW,CAChC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;;QAE3B,sDAAsD;QACtD,uDAAuD;QACvD,IACC,QAAQ,KAAK,QAAQ;YACrB,IAAI,KAAK,OAAO;YAChB,IAAA,kBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,EAC1B;YACD,IAAI,GAAG,KAAK,CAAC;SACb;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,mCAAmC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACtD;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACzB,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,UAAU,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEpC,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAA,qBAAI,EACT,GAAG,CAAC,IAAI,EACR,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAC1B,CAAC;YAEF,KAAK,CAAC,sCAAsC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,IAAA,aAAK,EAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9C;aAAM;YACN,KAAK,CAAC,qCAAqC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,IAAA,qBAAI,EACT,GAAG,CAAC,IAAI,EACR,IAAA,wBAAY,GAAE,EACd,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAC9B,CAAC;SACF;IACF,CAAC;CAAA;AA7CD,kCA6CC"}
1
+ {"version":3,"file":"install-node.js","sourceRoot":"","sources":["../../src/install-node.ts"],"names":[],"mappings":";;;;;AAYA,wDAiBC;AAED,kCAsCC;AArED,6BAA8B;AAC9B,4DAA+B;AAC/B,kDAAgC;AAChC,yCAAyC;AACzC,mDAAgD;AAChD,yCAA2C;AAC3C,qCAA4C;AAC5C,mCAAmC;AACnC,mCAA6C;AAE7C,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,0BAA0B,CAAC,CAAC;AAEtD,SAAgB,sBAAsB,CACrC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,GAAW,CAAC;IAChB,IAAI,IAAI,GAAW,QAAQ,CAAC;IAC5B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,GAAG,GAAG,KAAK,CAAC;QACZ,IAAI,GAAG,KAAK,CAAC;IACd,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,QAAQ,CAAC;IAChB,CAAC;IACD,OAAO,2BAA2B,OAAO,SAAS,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AACpF,CAAC;AAEM,KAAK,UAAU,WAAW,CAChC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,sDAAsD;IACtD,uDAAuD;IACvD,IACC,QAAQ,KAAK,QAAQ;QACrB,IAAI,KAAK,OAAO;QAChB,IAAA,kBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,EAC1B,CAAC;QACF,IAAI,GAAG,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnE,KAAK,CAAC,mCAAmC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1B,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,UAAU,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpC,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,EAAE,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC,CAAC;QAErD,KAAK,CAAC,sCAAsC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAA,aAAK,EAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,qCAAqC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,EAAE,IAAA,wBAAY,GAAE,EAAE,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;AACF,CAAC"}
@@ -1,3 +1,2 @@
1
- /// <reference types="node" />
2
1
  export declare function generatePythonTarballUrl(version: string, platform?: NodeJS.Platform, arch?: string): string;
3
2
  export declare function installPython(dest: string, version: string, platform?: NodeJS.Platform, arch?: string): Promise<void>;
@@ -1,48 +1,31 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.installPython = exports.generatePythonTarballUrl = void 0;
6
+ exports.generatePythonTarballUrl = generatePythonTarballUrl;
7
+ exports.installPython = installPython;
16
8
  const tar_1 = require("tar");
17
9
  const node_fetch_1 = __importDefault(require("node-fetch"));
18
10
  const debug_1 = __importDefault(require("debug"));
19
11
  const node_zlib_1 = require("node:zlib");
12
+ const promises_1 = require("node:stream/promises");
20
13
  const debug = (0, debug_1.default)('@vercel/fun:install-python');
21
14
  function generatePythonTarballUrl(version, platform = process.platform, arch = process.arch) {
22
15
  return `https://python-binaries.zeit.sh/python-${version}-${platform}-${arch}.tar.gz`;
23
16
  }
24
- exports.generatePythonTarballUrl = generatePythonTarballUrl;
25
- function installPython(dest, version, platform = process.platform, arch = process.arch) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- // For Apple M1 use the x64 binaries
28
- if (platform === 'darwin' && arch === 'arm64') {
29
- arch = 'x64';
30
- }
31
- const tarballUrl = generatePythonTarballUrl(version, platform, arch);
32
- debug('Downloading Python %s tarball %o', version, tarballUrl);
33
- const res = yield (0, node_fetch_1.default)(tarballUrl);
34
- if (!res.ok) {
35
- throw new Error(`HTTP request ${tarballUrl} failed: ${res.status}`);
36
- }
37
- return new Promise((resolve, reject) => {
38
- debug('Extracting Python %s tarball to %o', version, dest);
39
- res.body
40
- .pipe((0, node_zlib_1.createGunzip)())
41
- .pipe((0, tar_1.extract)({ strip: 1, C: dest }))
42
- .on('error', reject)
43
- .on('end', resolve);
44
- });
45
- });
17
+ async function installPython(dest, version, platform = process.platform, arch = process.arch) {
18
+ // For Apple M1 use the x64 binaries
19
+ if (platform === 'darwin' && arch === 'arm64') {
20
+ arch = 'x64';
21
+ }
22
+ const tarballUrl = generatePythonTarballUrl(version, platform, arch);
23
+ debug('Downloading Python %s tarball %o', version, tarballUrl);
24
+ const res = await (0, node_fetch_1.default)(tarballUrl);
25
+ if (!res.ok) {
26
+ throw new Error(`HTTP request ${tarballUrl} failed: ${res.status}`);
27
+ }
28
+ debug('Extracting Python %s tarball to %o', version, dest);
29
+ await (0, promises_1.pipeline)(res.body, (0, node_zlib_1.createGunzip)(), (0, tar_1.extract)({ strip: 1, C: dest }));
46
30
  }
47
- exports.installPython = installPython;
48
31
  //# sourceMappingURL=install-python.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-python.js","sourceRoot":"","sources":["../../src/install-python.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA8B;AAC9B,4DAA+B;AAC/B,kDAAgC;AAChC,yCAAyC;AAEzC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,wBAAwB,CACvC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,OAAO,0CAA0C,OAAO,IAAI,QAAQ,IAAI,IAAI,SAAS,CAAC;AACvF,CAAC;AAND,4DAMC;AAED,SAAsB,aAAa,CAClC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;;QAE3B,oCAAoC;QACpC,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE;YAC9C,IAAI,GAAG,KAAK,CAAC;SACb;QAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrE,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,KAAK,CAAC,oCAAoC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3D,GAAG,CAAC,IAAI;iBACN,IAAI,CAAC,IAAA,wBAAY,GAAE,CAAC;iBACpB,IAAI,CAAC,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;iBACnB,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACJ,CAAC;CAAA;AAzBD,sCAyBC"}
1
+ {"version":3,"file":"install-python.js","sourceRoot":"","sources":["../../src/install-python.ts"],"names":[],"mappings":";;;;;AAQA,4DAMC;AAED,sCAmBC;AAnCD,6BAA8B;AAC9B,4DAA+B;AAC/B,kDAAgC;AAChC,yCAAyC;AACzC,mDAAgD;AAEhD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,4BAA4B,CAAC,CAAC;AAExD,SAAgB,wBAAwB,CACvC,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,OAAO,0CAA0C,OAAO,IAAI,QAAQ,IAAI,IAAI,SAAS,CAAC;AACvF,CAAC;AAEM,KAAK,UAAU,aAAa,CAClC,IAAY,EACZ,OAAe,EACf,WAA4B,OAAO,CAAC,QAAQ,EAC5C,OAAe,OAAO,CAAC,IAAI;IAE3B,oCAAoC;IACpC,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/C,IAAI,GAAG,KAAK,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrE,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gBAAgB,UAAU,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,CAAC,oCAAoC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,EAAE,IAAA,wBAAY,GAAE,EAAE,IAAA,aAAO,EAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- function createProvider() { }
4
3
  exports.default = createProvider;
4
+ function createProvider() { }
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/docker/index.ts"],"names":[],"mappings":";;AAAA,SAAwB,cAAc,KAAI,CAAC;AAA3C,iCAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/docker/index.ts"],"names":[],"mappings":";;AAAA,iCAA2C;AAA3C,SAAwB,cAAc,KAAI,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { ChildProcess } from 'child_process';
3
2
  import { LambdaParams, InvokeParams, InvokeResult, Lambda, Provider } from '../../types';
4
3
  export default class NativeProvider implements Provider {