@easel-sh/cli 0.1.0-alpha.4 → 0.1.0-alpha.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"create-lambda-gateway.d.ts","sourceRoot":"","sources":["../../src/commands/create-lambda-gateway.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAmI7E"}
1
+ {"version":3,"file":"create-lambda-gateway.d.ts","sourceRoot":"","sources":["../../src/commands/create-lambda-gateway.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAmI7E"}
@@ -2,6 +2,7 @@ import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import * as os from "os";
4
4
  import { scanFunctions, resolveVercelOutputDir } from "../utils.js";
5
+ import { generateHandlerWrapper } from "../handler-wrapper.js";
5
6
  export function createLambdaGateway(options) {
6
7
  const { vercelOutputDir, functionsDir, manifestFile, staticDir, output, stage, profile, } = options;
7
8
  // Resolve base Vercel output directory
@@ -143,197 +144,8 @@ function generateSstConfig(hashGroups, outputDir, tempDir, stage, profile) {
143
144
  else {
144
145
  console.warn(`Warning: .vc-config.json not found in ${funcDirAbsolute}, using default handler`);
145
146
  }
146
- // Generate handler wrapper file (dynamic import supports both CJS and ESM entrypoints)
147
- const handlerPathForImport = JSON.stringify("./" + vcHandlerFile.replace(/\\/g, "/"));
148
- const handlerWrapperCode = `/* eslint-disable @typescript-eslint/no-require-imports */
149
-
150
- const { Readable } = require("stream");
151
-
152
- const { EventEmitter } = require("events");
153
-
154
- let userHandlerPromise = null;
155
- function getUserHandler() {
156
- if (!userHandlerPromise) {
157
- userHandlerPromise = import(${handlerPathForImport}).then(function (m) {
158
- return m && typeof m.default === "function" ? m.default : m;
159
- });
160
- }
161
- return userHandlerPromise;
162
- }
163
-
164
- module.exports.handler = async (event, _context) => {
165
- const handler = await getUserHandler();
166
- return new Promise((resolve, reject) => {
167
- // Convert AWS Lambda API Gateway event to Node.js request/response objects
168
- // Support both API Gateway V1 (REST) and V2 (HTTP) formats
169
- const isV2 = event.requestContext && event.requestContext.http;
170
- const method = isV2
171
- ? event.requestContext.http.method
172
- : event.httpMethod || "GET";
173
-
174
- // Normalize headers (API Gateway V2 uses lowercase, V1 can be mixed)
175
- const normalizedHeaders = {};
176
- if (event.headers) {
177
- Object.entries(event.headers).forEach(([key, value]) => {
178
- normalizedHeaders[key.toLowerCase()] = value;
179
- });
180
- }
181
-
182
- // Build URL with query parameters
183
- const queryParams = { ...(event.queryStringParameters || {}) };
184
-
185
- // Extract the URL from the 'x-matched-path' header
186
- // This header contains the original path that was matched
187
- let path = "/";
188
- const matchedPath = normalizedHeaders["x-matched-path"];
189
- if (matchedPath) {
190
- path = matchedPath;
191
- // Ensure path starts with /
192
- if (!path.startsWith("/")) {
193
- path = "/" + path;
194
- }
195
- } else {
196
- // Fallback to original path if no 'x-matched-path' header
197
- path = isV2
198
- ? event.rawPath || event.path || "/"
199
- : event.path || "/";
200
- }
201
-
202
- const url = new URL(path, \`http://\${event.headers?.host || event.headers?.["host"] || "localhost"}\`);
203
-
204
- // Add remaining query parameters
205
- Object.entries(queryParams).forEach(([key, value]) => {
206
- url.searchParams.set(key, value);
207
- });
208
-
209
- // Handle body - decode if base64 encoded
210
- let bodyBuffer = null;
211
- if (event.body) {
212
- if (event.isBase64Encoded) {
213
- bodyBuffer = Buffer.from(event.body, "base64");
214
- } else {
215
- bodyBuffer = Buffer.from(event.body, "utf8");
216
- }
217
- }
218
-
219
- // Create a mock request object
220
- const req = Object.assign(
221
- new Readable({
222
- read() {
223
- if (bodyBuffer) {
224
- this.push(bodyBuffer);
225
- }
226
- this.push(null);
227
- },
228
- }),
229
- {
230
- method: method,
231
- url: url.pathname + url.search,
232
- headers: normalizedHeaders,
233
- query: queryParams,
234
- body: bodyBuffer,
235
- }
236
- );
237
-
238
- // Create a mock response object
239
- let statusCode = 200;
240
- const headers = {};
241
- let body = "";
242
- let headersSent = false;
243
- const res = Object.assign(new EventEmitter(), {
244
- setHeader: (key, value) => {
245
- if (!headersSent) {
246
- headers[key.toLowerCase()] = value;
247
- }
248
- },
249
- getHeader: (key) => headers[key.toLowerCase()],
250
- removeHeader: (key) => {
251
- delete headers[key.toLowerCase()];
252
- },
253
- appendHeader: (key, value) => {
254
- if (!headersSent) {
255
- const lowerKey = key.toLowerCase();
256
- const existing = headers[lowerKey];
257
- if (existing) {
258
- // Append to existing header (comma-separated)
259
- headers[lowerKey] = Array.isArray(existing)
260
- ? existing.concat(value)
261
- : [existing, value];
262
- } else {
263
- headers[lowerKey] = value;
264
- }
265
- }
266
- },
267
- hasHeader: (key) => {
268
- return key.toLowerCase() in headers;
269
- },
270
- getHeaderNames: () => Object.keys(headers),
271
- writeHead: (code, responseHeaders) => {
272
- if (!headersSent) {
273
- statusCode = code;
274
- if (responseHeaders) {
275
- Object.entries(responseHeaders).forEach(([key, value]) => {
276
- headers[key.toLowerCase()] = value;
277
- });
278
- }
279
- headersSent = true;
280
- }
281
- return res;
282
- },
283
- write: (chunk) => {
284
- if (!headersSent) {
285
- headersSent = true;
286
- }
287
- body += chunk.toString();
288
- return true;
289
- },
290
- end: (chunk) => {
291
- if (chunk) {
292
- body += chunk.toString();
293
- }
294
- if (!headersSent) {
295
- headersSent = true;
296
- }
297
- // Normalize headers - convert arrays to comma-separated strings
298
- const normalizedHeaders = {};
299
- Object.entries(headers).forEach(([key, value]) => {
300
- normalizedHeaders[key] = Array.isArray(value) ? value.join(", ") : value;
301
- });
302
- // Return AWS Lambda API Gateway response format
303
- // Use statusCode (which can be set via res.statusCode = value or writeHead)
304
- resolve({
305
- statusCode: statusCode || 200,
306
- headers: normalizedHeaders,
307
- body: body,
308
- });
309
- },
310
- headersSent: false,
311
- });
312
-
313
- // Define statusCode as a getter/setter to sync with the local variable
314
- // This allows handlers to set res.statusCode = 404 and have it work correctly
315
- Object.defineProperty(res, "statusCode", {
316
- get: () => statusCode,
317
- set: (value) => {
318
- statusCode = value;
319
- },
320
- enumerable: true,
321
- configurable: true,
322
- });
323
-
324
- // Handle errors
325
- req.on("error", reject);
326
- res.on("error", reject);
327
-
328
- // Call the Next.js handler
329
- try {
330
- handler(req, res);
331
- } catch (error) {
332
- reject(error);
333
- }
334
- });
335
- };
336
- `;
147
+ // Generate handler wrapper file (shared with hash so wrapper changes produce fresh hashes)
148
+ const handlerWrapperCode = generateHandlerWrapper(vcHandlerFile);
337
149
  // Write handler wrapper to temporary directory
338
150
  const handlerFileName = `handler-${hash.substring(0, 8)}.js`;
339
151
  const handlerWrapperPath = path.join(tempDir, handlerFileName);
@@ -1 +1 @@
1
- {"version":3,"file":"create-lambda-gateway.js","sourceRoot":"","sources":["../../src/commands/create-lambda-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAapE,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,uCAAuC;IACvC,IAAI,aAAqB,CAAC;IAC1B,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,+BAA+B;QAC/B,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,IAAI,oBAA4B,CAAC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kCAAkC,oBAAoB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAGvB,CAAC;IAEJ,2BAA2B;IAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,sCAAsC,oBAAoB,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,oBAAwC,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAClE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,oBAAoB,GAAG,eAAe,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,oBAAoB,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAC7C,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAC9C,CAAC;YAEF,mDAAmD;YACnD,IACE,QAAQ,CAAC,cAAc;gBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/C,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,iBAAiB,oBAAoB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC;gBAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,+CAA+C;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3E,sBAAsB;IACtB,MAAM,SAAS,GAAG,iBAAiB,CACjC,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,OAAO,CACR,CAAC;IAEF,eAAe;IACf,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEhD,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CACT,aAAa,UAAU,CAAC,IAAI,kCAAkC,iBAAiB,CAAC,MAAM,oBAAoB,CAC3G,CAAC;IAEF,2BAA2B;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,eAAe,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAyE,EACzE,SAAiB,EACjB,OAAe,EACf,KAAc,EACd,OAAgB;IAEhB,0BAA0B;IAC1B,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,MAAM;QACN,KAAK;QACL,QAAQ;QACR,OAAO;QACP,SAAS;QACT,MAAM;KACP,CAAC;IAEF,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1D,sDAAsD;IACtD,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,4DAA4D;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,oEAAoE;QACpE,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAElE,6DAA6D;QAC7D,8BAA8B;QAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAExD,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,GAAG,WAAW,kBAAkB,CAAC,CAAC,mBAAmB;QACvE,IAAI,WAAW,GAA2B,EAAE,CAAC;QAC7C,IAAI,aAAa,GAAG,YAAY,CAAC,CAAC,mCAAmC;QAErE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEnE,mCAAmC;gBACnC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,CAAC;gBAED,oCAAoC;gBACpC,IAAI,QAAQ,CAAC,WAAW,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACrE,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,gDAAgD,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,yCAAyC,eAAe,yBAAyB,CAClF,CAAC;QACJ,CAAC;QAED,uFAAuF;QACvF,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CACzC,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACzC,CAAC;QACF,MAAM,kBAAkB,GAAG;;;;;;;;;kCASG,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmLrD,CAAC;QAEE,+CAA+C;QAC/C,MAAM,eAAe,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/D,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAEjE,+DAA+D;QAC/D,MAAM,mBAAmB,GAAG,IAAI;aAC7B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;aACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvB,uEAAuE;QACvE,WAAW,GAAG,iBAAiB,CAAC;QAEhC,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,YAAY,GAAG,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;QAErE,yCAAyC;QACzC,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,OAAO;mBACI,IAAI;iBACN,EAAE;UACT,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,kEAAkE;QAClE,MAAM,gBAAgB,GAAG;mBACV,mBAAmB;;UAE5B,CAAC;QAEP,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,gBAAgB;YAC1C,CAAC,CAAC,GAAG,gBAAgB,MAAM,gBAAgB,EAAE;YAC7C,CAAC,CAAC,gBAAgB,CAAC;QAErB,uDAAuD;QACvD,MAAM,WAAW,GAAG,aAAa,YAAY,4BAA4B,YAAY;kBACvE,WAAW;iBACZ,WAAW;;EAE1B,mBAAmB;;QAEb,CAAC;QAEL,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEtC,yEAAyE;QACzE,MAAM,MAAM,GAAG,WAAW;aACvB,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,MAAM,KAAK,IAAI,MAAM,YAAY,QAAQ,CACxE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,OAAO;;;;;;;;;;gBAUO,aAAa;;UAEnB,WAAW;;;;;;;;;EASnB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGhC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;;CAO9B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"create-lambda-gateway.js","sourceRoot":"","sources":["../../src/commands/create-lambda-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,EACJ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,GACR,GAAG,OAAO,CAAC;IAEZ,uCAAuC;IACvC,IAAI,aAAqB,CAAC;IAC1B,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,+BAA+B;QAC/B,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,gCAAgC;IAChC,IAAI,oBAA4B,CAAC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,kCAAkC,oBAAoB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,gDAAgD;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAGvB,CAAC;IAEJ,2BAA2B;IAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,sCAAsC,oBAAoB,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,oBAAwC,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAClE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,oBAAoB,GAAG,eAAe,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4BAA4B,oBAAoB,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAuB,IAAI,CAAC,KAAK,CAC7C,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAC9C,CAAC;YAEF,mDAAmD;YACnD,IACE,QAAQ,CAAC,cAAc;gBACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/C,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,qBAAqB,iBAAiB,oBAAoB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC;gBAC9B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,+CAA+C;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3E,sBAAsB;IACtB,MAAM,SAAS,GAAG,iBAAiB,CACjC,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAK,EACL,OAAO,CACR,CAAC;IAEF,eAAe;IACf,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEhD,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CACT,aAAa,UAAU,CAAC,IAAI,kCAAkC,iBAAiB,CAAC,MAAM,oBAAoB,CAC3G,CAAC;IAEF,2BAA2B;IAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,YAAY,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC,MAAM,eAAe,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAyE,EACzE,SAAiB,EACjB,OAAe,EACf,KAAc,EACd,OAAgB;IAEhB,0BAA0B;IAC1B,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,MAAM;QACN,KAAK;QACL,QAAQ;QACR,OAAO;QACP,SAAS;QACT,MAAM;KACP,CAAC;IAEF,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1D,sDAAsD;IACtD,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,4DAA4D;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC;QAE3C,oEAAoE;QACpE,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;QAC1C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAElE,6DAA6D;QAC7D,8BAA8B;QAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAExD,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,GAAG,WAAW,kBAAkB,CAAC,CAAC,mBAAmB;QACvE,IAAI,WAAW,GAA2B,EAAE,CAAC;QAC7C,IAAI,aAAa,GAAG,YAAY,CAAC,CAAC,mCAAmC;QAErE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBAEnE,mCAAmC;gBACnC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,CAAC;gBAED,oCAAoC;gBACpC,IAAI,QAAQ,CAAC,WAAW,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oBACrE,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACrC,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CACV,gDAAgD,eAAe,KAAK,KAAK,CAAC,OAAO,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,yCAAyC,eAAe,yBAAyB,CAClF,CAAC;QACJ,CAAC;QAED,2FAA2F;QAC3F,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAEjE,+CAA+C;QAC/C,MAAM,eAAe,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;QAC7D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/D,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAEjE,+DAA+D;QAC/D,MAAM,mBAAmB,GAAG,IAAI;aAC7B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;aACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEvB,uEAAuE;QACvE,WAAW,GAAG,iBAAiB,CAAC;QAEhC,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,YAAY,GAAG,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;QAErE,yCAAyC;QACzC,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,OAAO;mBACI,IAAI;iBACN,EAAE;UACT,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,kEAAkE;QAClE,MAAM,gBAAgB,GAAG;mBACV,mBAAmB;;UAE5B,CAAC;QAEP,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,gBAAgB;YAC1C,CAAC,CAAC,GAAG,gBAAgB,MAAM,gBAAgB,EAAE;YAC7C,CAAC,CAAC,gBAAgB,CAAC;QAErB,uDAAuD;QACvD,MAAM,WAAW,GAAG,aAAa,YAAY,4BAA4B,YAAY;kBACvE,WAAW;iBACZ,WAAW;;EAE1B,mBAAmB;;QAEb,CAAC;QAEL,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEtC,yEAAyE;QACzE,MAAM,MAAM,GAAG,WAAW;aACvB,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,MAAM,KAAK,IAAI,MAAM,YAAY,QAAQ,CACxE;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,yBAAyB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,OAAO;;;;;;;;;;gBAUO,aAAa;;UAEnB,WAAW;;;;;;;;;EASnB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGhC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;;CAO9B,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"package-functions.d.ts","sourceRoot":"","sources":["../../src/commands/package-functions.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAwLvE"}
1
+ {"version":3,"file":"package-functions.d.ts","sourceRoot":"","sources":["../../src/commands/package-functions.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAwLvE"}
@@ -2,203 +2,7 @@ import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { execSync } from 'child_process';
4
4
  import { resolveVercelOutputDir } from "../utils.js";
5
- /**
6
- * Handler wrapper code that converts API Gateway events to Node.js req/res objects.
7
- * Uses dynamic import() so the user entrypoint can be either CommonJS or ES Module (.js, .mjs, etc.).
8
- */
9
- function generateHandlerWrapper(handlerFile) {
10
- // Preserve extension for correct resolution (e.g. index.mjs)
11
- const handlerPath = JSON.stringify("./" + handlerFile.replace(/\\/g, "/"));
12
- return `/* eslint-disable @typescript-eslint/no-require-imports */
13
-
14
- const { Readable } = require("stream");
15
-
16
- const { EventEmitter } = require("events");
17
-
18
- let userHandlerPromise = null;
19
- function getUserHandler() {
20
- if (!userHandlerPromise) {
21
- userHandlerPromise = import(${handlerPath}).then(function (m) {
22
- return m && typeof m.default === "function" ? m.default : m;
23
- });
24
- }
25
- return userHandlerPromise;
26
- }
27
-
28
- module.exports.handler = async (event, _context) => {
29
- const handler = await getUserHandler();
30
- return new Promise((resolve, reject) => {
31
- // Convert AWS Lambda API Gateway event to Node.js request/response objects
32
- // Support both API Gateway V1 (REST) and V2 (HTTP) formats
33
- const isV2 = event.requestContext && event.requestContext.http;
34
- const method = isV2
35
- ? event.requestContext.http.method
36
- : event.httpMethod || "GET";
37
-
38
- // Normalize headers (API Gateway V2 uses lowercase, V1 can be mixed)
39
- const normalizedHeaders = {};
40
- if (event.headers) {
41
- Object.entries(event.headers).forEach(([key, value]) => {
42
- normalizedHeaders[key.toLowerCase()] = value;
43
- });
44
- }
45
-
46
- // Build URL with query parameters
47
- const queryParams = { ...(event.queryStringParameters || {}) };
48
-
49
- // Extract the URL from the 'x-matched-path' header
50
- // This header contains the original path that was matched
51
- let path = "/";
52
- const matchedPath = normalizedHeaders["x-matched-path"];
53
- if (matchedPath) {
54
- path = matchedPath;
55
- // Ensure path starts with /
56
- if (!path.startsWith("/")) {
57
- path = "/" + path;
58
- }
59
- } else {
60
- // Fallback to original path if no 'x-matched-path' header
61
- path = isV2
62
- ? event.rawPath || event.path || "/"
63
- : event.path || "/";
64
- }
65
-
66
- const url = new URL(path, \`http://\${event.headers?.host || event.headers?.["host"] || "localhost"}\`);
67
-
68
- // Add remaining query parameters
69
- Object.entries(queryParams).forEach(([key, value]) => {
70
- url.searchParams.set(key, value);
71
- });
72
-
73
- // Handle body - decode if base64 encoded
74
- let bodyBuffer = null;
75
- if (event.body) {
76
- if (event.isBase64Encoded) {
77
- bodyBuffer = Buffer.from(event.body, "base64");
78
- } else {
79
- bodyBuffer = Buffer.from(event.body, "utf8");
80
- }
81
- }
82
-
83
- // Create a mock request object
84
- const req = Object.assign(
85
- new Readable({
86
- read() {
87
- if (bodyBuffer) {
88
- this.push(bodyBuffer);
89
- }
90
- this.push(null);
91
- },
92
- }),
93
- {
94
- method: method,
95
- url: url.pathname + url.search,
96
- headers: normalizedHeaders,
97
- query: queryParams,
98
- body: bodyBuffer,
99
- }
100
- );
101
-
102
- // Create a mock response object
103
- let statusCode = 200;
104
- const headers = {};
105
- let body = "";
106
- let headersSent = false;
107
- const res = Object.assign(new EventEmitter(), {
108
- setHeader: (key, value) => {
109
- if (!headersSent) {
110
- headers[key.toLowerCase()] = value;
111
- }
112
- },
113
- getHeader: (key) => headers[key.toLowerCase()],
114
- removeHeader: (key) => {
115
- delete headers[key.toLowerCase()];
116
- },
117
- appendHeader: (key, value) => {
118
- if (!headersSent) {
119
- const lowerKey = key.toLowerCase();
120
- const existing = headers[lowerKey];
121
- if (existing) {
122
- // Append to existing header (comma-separated)
123
- headers[lowerKey] = Array.isArray(existing)
124
- ? existing.concat(value)
125
- : [existing, value];
126
- } else {
127
- headers[lowerKey] = value;
128
- }
129
- }
130
- },
131
- hasHeader: (key) => {
132
- return key.toLowerCase() in headers;
133
- },
134
- getHeaderNames: () => Object.keys(headers),
135
- writeHead: (code, responseHeaders) => {
136
- if (!headersSent) {
137
- statusCode = code;
138
- if (responseHeaders) {
139
- Object.entries(responseHeaders).forEach(([key, value]) => {
140
- headers[key.toLowerCase()] = value;
141
- });
142
- }
143
- headersSent = true;
144
- }
145
- return res;
146
- },
147
- write: (chunk) => {
148
- if (!headersSent) {
149
- headersSent = true;
150
- }
151
- body += chunk.toString();
152
- return true;
153
- },
154
- end: (chunk) => {
155
- if (chunk) {
156
- body += chunk.toString();
157
- }
158
- if (!headersSent) {
159
- headersSent = true;
160
- }
161
- // Normalize headers - convert arrays to comma-separated strings
162
- const normalizedHeaders = {};
163
- Object.entries(headers).forEach(([key, value]) => {
164
- normalizedHeaders[key] = Array.isArray(value) ? value.join(", ") : value;
165
- });
166
- // Return AWS Lambda API Gateway response format
167
- // Use statusCode (which can be set via res.statusCode = value or writeHead)
168
- resolve({
169
- statusCode: statusCode || 200,
170
- headers: normalizedHeaders,
171
- body: body,
172
- });
173
- },
174
- headersSent: false,
175
- });
176
-
177
- // Define statusCode as a getter/setter to sync with the local variable
178
- // This allows handlers to set res.statusCode = 404 and have it work correctly
179
- Object.defineProperty(res, "statusCode", {
180
- get: () => statusCode,
181
- set: (value) => {
182
- statusCode = value;
183
- },
184
- enumerable: true,
185
- configurable: true,
186
- });
187
-
188
- // Handle errors
189
- req.on("error", reject);
190
- res.on("error", reject);
191
-
192
- // Call the Next.js handler
193
- try {
194
- handler(req, res);
195
- } catch (error) {
196
- reject(error);
197
- }
198
- });
199
- };
200
- `;
201
- }
5
+ import { generateHandlerWrapper } from "../handler-wrapper.js";
202
6
  /**
203
7
  * Package each function directory into a zip file named by its hash from the manifest
204
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"package-functions.js","sourceRoot":"","sources":["../../src/commands/package-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-functions.js","sourceRoot":"","sources":["../../src/commands/package-functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Handler wrapper compatible with Vercel Node.js runtime:
3
+ * - Fetch Web Standard: export default { fetch(request) { return new Response(...); } };
4
+ * - HTTP method exports: export function GET(request) { return new Response(...); }
5
+ * - Node-style: export default (req, res) => { ... } with Vercel-like helpers (query, cookies, body, status, send, json, redirect).
6
+ */
7
+ export declare function generateHandlerWrapper(handlerFile: string): string;
8
+ //# sourceMappingURL=handler-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-wrapper.d.ts","sourceRoot":"","sources":["../src/handler-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAwQlE"}
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Handler wrapper compatible with Vercel Node.js runtime:
3
+ * - Fetch Web Standard: export default { fetch(request) { return new Response(...); } };
4
+ * - HTTP method exports: export function GET(request) { return new Response(...); }
5
+ * - Node-style: export default (req, res) => { ... } with Vercel-like helpers (query, cookies, body, status, send, json, redirect).
6
+ */
7
+ export function generateHandlerWrapper(handlerFile) {
8
+ const handlerPath = JSON.stringify("./" + handlerFile.replace(/\\/g, "/"));
9
+ return `/* eslint-disable @typescript-eslint/no-require-imports */
10
+
11
+ const { Readable } = require("stream");
12
+ const { EventEmitter } = require("events");
13
+
14
+ const HTTP_METHODS = ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD"];
15
+
16
+ let userModulePromise = null;
17
+ function getModule() {
18
+ if (!userModulePromise) {
19
+ userModulePromise = import(${handlerPath}).then(function (m) { return m || {}; });
20
+ }
21
+ return userModulePromise;
22
+ }
23
+
24
+ async function responseToLambda(response) {
25
+ const responseHeaders = {};
26
+ response.headers.forEach((value, key) => {
27
+ responseHeaders[key.toLowerCase()] = value;
28
+ });
29
+ const body = await response.text();
30
+ return {
31
+ statusCode: response.status || 200,
32
+ headers: responseHeaders,
33
+ body: body,
34
+ };
35
+ }
36
+
37
+ module.exports.handler = async (event, _context) => {
38
+ const mod = await getModule();
39
+ const handler = mod.default !== undefined ? mod.default : mod;
40
+
41
+ const isV2 = event.requestContext && event.requestContext.http;
42
+ const method = isV2 ? event.requestContext.http.method : event.httpMethod || "GET";
43
+
44
+ const normalizedHeaders = {};
45
+ if (event.headers) {
46
+ Object.entries(event.headers).forEach(([key, value]) => {
47
+ normalizedHeaders[key.toLowerCase()] = value;
48
+ });
49
+ }
50
+
51
+ const queryParams = { ...(event.queryStringParameters || {}) };
52
+ let path = "/";
53
+ const matchedPath = normalizedHeaders["x-matched-path"];
54
+ if (matchedPath) {
55
+ path = matchedPath.startsWith("/") ? matchedPath : "/" + matchedPath;
56
+ } else {
57
+ path = isV2 ? event.rawPath || event.path || "/" : event.path || "/";
58
+ }
59
+
60
+ const host = event.headers?.host || event.headers?.["host"] || "localhost";
61
+ const url = new URL(path, "http://" + host);
62
+ Object.entries(queryParams).forEach(([key, value]) => {
63
+ url.searchParams.set(key, value);
64
+ });
65
+
66
+ let bodyBuffer = null;
67
+ if (event.body) {
68
+ bodyBuffer = event.isBase64Encoded
69
+ ? Buffer.from(event.body, "base64")
70
+ : Buffer.from(event.body, "utf8");
71
+ }
72
+
73
+ const requestUrl = "http://" + host + url.pathname + url.search;
74
+ const webRequest = new Request(requestUrl, {
75
+ method: method,
76
+ headers: normalizedHeaders,
77
+ body: bodyBuffer && bodyBuffer.length > 0 ? bodyBuffer : undefined,
78
+ });
79
+
80
+ // Vercel: named method export (e.g. export function GET(request) { ... })
81
+ if (HTTP_METHODS.includes(method) && typeof mod[method] === "function") {
82
+ const response = await Promise.resolve(mod[method](webRequest));
83
+ return responseToLambda(response);
84
+ }
85
+
86
+ // Vercel/Nitro: default export with fetch(request)
87
+ if (handler && typeof handler.fetch === "function") {
88
+ const response = await handler.fetch(webRequest, _context);
89
+ return responseToLambda(response);
90
+ }
91
+
92
+ // Node-style: default export as function (req, res), with Vercel-like helpers
93
+ if (typeof handler !== "function") {
94
+ throw new TypeError(
95
+ "Handler must export a function (req, res), an object with fetch(request), or named GET/POST/etc. Got: " + typeof handler
96
+ );
97
+ }
98
+
99
+ return new Promise((resolve, reject) => {
100
+ let _bodyParsed = undefined;
101
+ function getParsedBody() {
102
+ if (_bodyParsed !== undefined) return _bodyParsed;
103
+ if (!bodyBuffer || bodyBuffer.length === 0) {
104
+ _bodyParsed = undefined;
105
+ return _bodyParsed;
106
+ }
107
+ const ct = (normalizedHeaders["content-type"] || "").toLowerCase();
108
+ const text = bodyBuffer.toString("utf8");
109
+ try {
110
+ if (ct.includes("application/json")) _bodyParsed = JSON.parse(text);
111
+ else if (ct.includes("application/x-www-form-urlencoded")) {
112
+ _bodyParsed = Object.fromEntries(new URLSearchParams(text));
113
+ }
114
+ else if (ct.includes("text/plain")) _bodyParsed = text;
115
+ else if (ct.includes("application/octet-stream")) _bodyParsed = bodyBuffer;
116
+ else _bodyParsed = undefined;
117
+ } catch (e) {
118
+ if (ct.includes("application/json")) throw e;
119
+ _bodyParsed = undefined;
120
+ }
121
+ return _bodyParsed;
122
+ }
123
+
124
+ let cookiesObj = undefined;
125
+ function getCookies() {
126
+ if (cookiesObj !== undefined) return cookiesObj;
127
+ cookiesObj = {};
128
+ const cookieHeader = normalizedHeaders["cookie"];
129
+ if (cookieHeader) {
130
+ cookieHeader.split(";").forEach(function (part) {
131
+ const eq = part.indexOf("=");
132
+ if (eq > 0) {
133
+ const key = part.slice(0, eq).trim();
134
+ const val = part.slice(eq + 1).trim();
135
+ cookiesObj[key] = val;
136
+ }
137
+ });
138
+ }
139
+ return cookiesObj;
140
+ }
141
+
142
+ const req = Object.assign(
143
+ new Readable({
144
+ read() {
145
+ if (bodyBuffer) this.push(bodyBuffer);
146
+ this.push(null);
147
+ },
148
+ }),
149
+ {
150
+ method: method,
151
+ url: url.pathname + url.search,
152
+ headers: normalizedHeaders,
153
+ query: queryParams,
154
+ }
155
+ );
156
+ Object.defineProperty(req, "body", {
157
+ get: getParsedBody,
158
+ set: function (val) { _bodyParsed = val; },
159
+ enumerable: true,
160
+ configurable: true,
161
+ });
162
+ Object.defineProperty(req, "cookies", {
163
+ get: getCookies,
164
+ set: function (val) { cookiesObj = val; },
165
+ enumerable: true,
166
+ configurable: true,
167
+ });
168
+
169
+ let statusCode = 200;
170
+ const headers = {};
171
+ let body = "";
172
+ let headersSent = false;
173
+
174
+ function finishRes() {
175
+ if (headersSent) return;
176
+ headersSent = true;
177
+ const out = {};
178
+ Object.entries(headers).forEach(([k, v]) => {
179
+ out[k] = Array.isArray(v) ? v.join(", ") : v;
180
+ });
181
+ resolve({ statusCode: statusCode || 200, headers: out, body: body });
182
+ }
183
+
184
+ const res = Object.assign(new EventEmitter(), {
185
+ setHeader: (key, value) => {
186
+ if (!headersSent) headers[key.toLowerCase()] = value;
187
+ },
188
+ getHeader: (key) => headers[key.toLowerCase()],
189
+ removeHeader: (key) => { delete headers[key.toLowerCase()]; },
190
+ appendHeader: (key, value) => {
191
+ if (!headersSent) {
192
+ const lowerKey = key.toLowerCase();
193
+ const existing = headers[lowerKey];
194
+ headers[lowerKey] = existing
195
+ ? (Array.isArray(existing) ? existing.concat(value) : [existing, value])
196
+ : value;
197
+ }
198
+ },
199
+ hasHeader: (key) => key.toLowerCase() in headers,
200
+ getHeaderNames: () => Object.keys(headers),
201
+ writeHead: (code, responseHeaders) => {
202
+ if (!headersSent) {
203
+ statusCode = code;
204
+ if (responseHeaders) {
205
+ Object.entries(responseHeaders).forEach(([key, value]) => {
206
+ headers[key.toLowerCase()] = value;
207
+ });
208
+ }
209
+ headersSent = true;
210
+ }
211
+ return res;
212
+ },
213
+ write: (chunk) => {
214
+ if (!headersSent) headersSent = true;
215
+ body += chunk.toString();
216
+ return true;
217
+ },
218
+ end: (chunk) => {
219
+ if (chunk) body += chunk.toString();
220
+ finishRes();
221
+ },
222
+ status: (code) => {
223
+ statusCode = code;
224
+ return res;
225
+ },
226
+ send: (val) => {
227
+ if (typeof val === "object" && val !== null && !Buffer.isBuffer(val)) {
228
+ if (!headers["content-type"]) headers["content-type"] = "application/json";
229
+ body = JSON.stringify(val);
230
+ } else {
231
+ body = val == null ? "" : String(val);
232
+ }
233
+ finishRes();
234
+ return res;
235
+ },
236
+ json: (obj) => {
237
+ headers["content-type"] = "application/json";
238
+ body = JSON.stringify(obj);
239
+ finishRes();
240
+ return res;
241
+ },
242
+ redirect: (a, b) => {
243
+ const code = typeof a === "number" ? a : 307;
244
+ const loc = typeof a === "number" ? b : a;
245
+ statusCode = code;
246
+ headers["location"] = loc;
247
+ finishRes();
248
+ return res;
249
+ },
250
+ headersSent: false,
251
+ });
252
+
253
+ Object.defineProperty(res, "statusCode", {
254
+ get: () => statusCode,
255
+ set: (value) => { statusCode = value; },
256
+ enumerable: true,
257
+ configurable: true,
258
+ });
259
+
260
+ req.on("error", reject);
261
+ res.on("error", reject);
262
+
263
+ try {
264
+ handler(req, res);
265
+ } catch (error) {
266
+ reject(error);
267
+ }
268
+ });
269
+ };
270
+ `;
271
+ }
272
+ //# sourceMappingURL=handler-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-wrapper.js","sourceRoot":"","sources":["../src/handler-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO;;;;;;;;;;iCAUwB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2P3C,CAAC;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=handler-wrapper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-wrapper.test.d.ts","sourceRoot":"","sources":["../src/handler-wrapper.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { createRequire } from "node:module";
2
+ import fs from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
6
+ import { generateHandlerWrapper } from "./handler-wrapper.js";
7
+ describe("handler-wrapper", () => {
8
+ let tmpDir;
9
+ const require = createRequire(import.meta.url);
10
+ beforeEach(() => {
11
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "handler-wrapper-test-"));
12
+ });
13
+ afterEach(() => {
14
+ fs.rmSync(tmpDir, { recursive: true, force: true });
15
+ });
16
+ it("allows assigning to req.cookies without throwing (Node-style handler)", async () => {
17
+ const wrapperCode = generateHandlerWrapper("index.mjs");
18
+ fs.writeFileSync(path.join(tmpDir, "handler.js"), wrapperCode, "utf8");
19
+ fs.writeFileSync(path.join(tmpDir, "index.mjs"), `export default function (req, res) {
20
+ req.cookies = {};
21
+ res.end("ok");
22
+ }`, "utf8");
23
+ const handler = require(path.join(tmpDir, "handler.js")).handler;
24
+ const mockEvent = {
25
+ requestContext: { http: { method: "GET" } },
26
+ headers: { host: "localhost" },
27
+ rawPath: "/",
28
+ };
29
+ const result = await handler(mockEvent, {});
30
+ expect(result).toBeDefined();
31
+ expect(result.statusCode).toBe(200);
32
+ expect(result.body).toBe("ok");
33
+ });
34
+ it("allows assigning to req.body without throwing (Node-style handler)", async () => {
35
+ const wrapperCode = generateHandlerWrapper("index.mjs");
36
+ fs.writeFileSync(path.join(tmpDir, "handler.js"), wrapperCode, "utf8");
37
+ fs.writeFileSync(path.join(tmpDir, "index.mjs"), `export default function (req, res) {
38
+ req.body = {};
39
+ res.end("ok");
40
+ }`, "utf8");
41
+ const handler = require(path.join(tmpDir, "handler.js")).handler;
42
+ const mockEvent = {
43
+ requestContext: { http: { method: "GET" } },
44
+ headers: { host: "localhost" },
45
+ rawPath: "/",
46
+ };
47
+ const result = await handler(mockEvent, {});
48
+ expect(result).toBeDefined();
49
+ expect(result.statusCode).toBe(200);
50
+ expect(result.body).toBe("ok");
51
+ });
52
+ });
53
+ //# sourceMappingURL=handler-wrapper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-wrapper.test.js","sourceRoot":"","sources":["../src/handler-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAyC1C;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CA0I1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgE7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AASA;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAyC1C;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CA0I1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmG7D"}
package/dist/utils.js CHANGED
@@ -3,6 +3,7 @@ import * as path from 'path';
3
3
  import * as os from "os";
4
4
  import * as crypto from 'crypto';
5
5
  import { fileURLToPath } from 'url';
6
+ import { generateHandlerWrapper } from "./handler-wrapper.js";
6
7
  /**
7
8
  * Resolve the Vercel output directory from a given path
8
9
  * Handles cases where the path points to:
@@ -227,7 +228,7 @@ export function scanFunctions(dir, baseDir) {
227
228
  * Similar to the bash script: uses sorted file names and contents
228
229
  */
229
230
  export function hashFunctionDirectory(funcDir) {
230
- const hash = crypto.createHash('sha256');
231
+ const hash = crypto.createHash("sha256");
231
232
  const files = [];
232
233
  function walkDir(dir, baseDir) {
233
234
  if (!fs.existsSync(dir)) {
@@ -235,12 +236,15 @@ export function hashFunctionDirectory(funcDir) {
235
236
  }
236
237
  const entries = fs.readdirSync(dir, { withFileTypes: true });
237
238
  // Sort entries by name for deterministic ordering
238
- entries.sort((a, b) => a.name.localeCompare(b.name, 'en', { numeric: true }));
239
+ entries.sort((a, b) => a.name.localeCompare(b.name, "en", { numeric: true }));
239
240
  for (const entry of entries) {
240
241
  const fullPath = path.join(dir, entry.name);
241
242
  const relativePath = path.relative(baseDir, fullPath);
242
243
  // Skip .DS_Store and __MACOSX
243
- if (entry.name === '.DS_Store' || entry.name === '__MACOSX' || relativePath.includes('/.DS_Store') || relativePath.includes('/__MACOSX')) {
244
+ if (entry.name === ".DS_Store" ||
245
+ entry.name === "__MACOSX" ||
246
+ relativePath.includes("/.DS_Store") ||
247
+ relativePath.includes("/__MACOSX")) {
244
248
  continue;
245
249
  }
246
250
  if (entry.isFile()) {
@@ -275,15 +279,40 @@ export function hashFunctionDirectory(funcDir) {
275
279
  }
276
280
  // Walk the directory and collect all files
277
281
  walkDir(funcDir, funcDir);
282
+ // Include the injected handler wrapper in the hash so that changes to the wrapper
283
+ // (e.g. dynamic import for ESM) produce fresh hashes and deployments.
284
+ let handlerFile = "handler.js";
285
+ const vcConfigPath = path.join(funcDir, ".vc-config.json");
286
+ if (fs.existsSync(vcConfigPath)) {
287
+ try {
288
+ const vcConfig = JSON.parse(fs.readFileSync(vcConfigPath, "utf8"));
289
+ if (vcConfig.handler) {
290
+ handlerFile = vcConfig.handler;
291
+ }
292
+ }
293
+ catch {
294
+ // Use default handler file if config is missing or invalid
295
+ }
296
+ }
297
+ const wrapperContent = Buffer.from(generateHandlerWrapper(handlerFile), "utf8");
298
+ // Replace any existing handler.js in the dir with our wrapper (zip contents match hash)
299
+ const normalized = (p) => p.split(path.sep).join("/");
300
+ const filtered = files.filter((f) => normalized(f.path) !== "handler.js");
301
+ filtered.push({ path: "handler.js", content: wrapperContent });
302
+ files.length = 0;
303
+ files.push(...filtered);
278
304
  // Sort files by path for deterministic ordering
279
- files.sort((a, b) => a.path.localeCompare(b.path, 'en', { numeric: true }));
305
+ files.sort((a, b) => a.path.localeCompare(b.path, "en", { numeric: true }));
280
306
  // Create a deterministic representation
281
307
  // Format: path:size:content_hash\n
282
308
  for (const file of files) {
283
- const fileHash = crypto.createHash('sha256').update(file.content).digest('hex');
309
+ const fileHash = crypto
310
+ .createHash("sha256")
311
+ .update(file.content)
312
+ .digest("hex");
284
313
  const line = `${file.path}:${file.content.length}:${fileHash}\n`;
285
314
  hash.update(line);
286
315
  }
287
- return hash.digest('hex');
316
+ return hash.digest("hex");
288
317
  }
289
318
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAO,aAAa,EAAE,MAAM,KAAK,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,WAAW,GACf,QAAQ,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,+BAA+B;IAEnF,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvF,gDAAgD;QAChD,OAAO,WAAW,CAAC;IACrB,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1F,8CAA8C;QAC9C,OAAO,WAAW,CAAC;IACrB,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/E,+CAA+C;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,6CAA6C;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,8FAA8F;QAC9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,cAAc,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,OAAO,gBAAgB,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,mCAAmC;IACnC,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1D,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,WAAW;YACX,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,8DAA8D;IAC9D,OAAO,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE1D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,oCAAoC;QACpC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7D,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qBAAqB;YACvB,CAAC;QACH,CAAC;QAED,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,4BAA4B;IAC5B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,OAAe;IACxD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,yDAAyD;IAE9F,SAAS,aAAa,CAAC,UAAkB,EAAE,cAAsB;QAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEnD,uCAAuC;YACvC,IAAI,YAAY,GAAG,QAAQ,CAAC;YAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,SAAS,GAAG,IAAI,CAAC;oBACjB,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,SAAS;YACX,CAAC;YAED,gEAAgE;YAChE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAElG,IAAI,WAAW,EAAE,CAAC;gBAChB,0CAA0C;gBAC1C,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,qEAAqE;oBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oBAE1D,yEAAyE;oBACzE,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;oBAE3H,IAAI,YAAY,EAAE,CAAC;wBACjB,sEAAsE;wBACtE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;wBAC7D,+EAA+E;wBAC/E,MAAM,YAAY,GAAG,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAElE,+CAA+C;wBAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBAE7F,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAEtE,4CAA4C;wBAC5C,IAAI,QAA4B,CAAC;wBACjC,IAAI,CAAC;4BACH,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;wBAChD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,0CAA0C;4BAC1C,QAAQ,GAAG,SAAS,CAAC;wBACvB,CAAC;wBAED,gDAAgD;wBAChD,mGAAmG;wBACnG,mFAAmF;wBACnF,iFAAiF;wBACjF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC;wBAClF,oFAAoF;wBACpF,2EAA2E;wBAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAEtD,gEAAgE;wBAChE,wFAAwF;wBACxF,IAAI,mBAAuC,CAAC;wBAC5C,IAAI,qBAAyC,CAAC;wBAE9C,+DAA+D;wBAC/D,mEAAmE;wBACnE,MAAM,mBAAmB,GAAG,YAAY,GAAG,wBAAwB,CAAC;wBACpE,MAAM,uBAAuB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;wBAChF,IAAI,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;4BAC3C,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;wBAC9D,CAAC;wBAED,0EAA0E;wBAC1E,IAAI,mBAAmB,EAAE,CAAC;4BACxB,2DAA2D;4BAC3D,IAAI,CAAC;gCACH,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;gCACrF,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;oCAC7B,6DAA6D;oCAC7D,MAAM,gBAAgB,GAAG,OAAO,eAAe,CAAC,QAAQ,KAAK,QAAQ;wCACnE,CAAC,CAAC,eAAe,CAAC,QAAQ;wCAC1B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;oCAEpC,IAAI,gBAAgB,EAAE,CAAC;wCACrB,8DAA8D;wCAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;wCACtE,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;4CACpC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;wCACzD,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,uDAAuD;4BACzD,CAAC;wBACH,CAAC;wBAED,SAAS,CAAC,IAAI,CAAC;4BACb,YAAY;4BACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;4BAC1C,OAAO,EAAE,WAAW;4BACpB,IAAI,EAAE,QAAQ;4BACd,mBAAmB;4BACnB,qBAAqB;yBACtB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kCAAkC;oBAClC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAA6C,EAAE,CAAC;IAE3D,SAAS,OAAO,CAAC,GAAW,EAAE,OAAe;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,kDAAkD;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEtD,8BAA8B;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzI,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClC,4CAA4C;gBAC5C,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC/C,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;wBACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC9C,CAAC;yBAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;wBACnD,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uCAAuC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1B,gDAAgD;IAChD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE5E,wCAAwC;IACxC,mCAAmC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,QAAQ,IAAI,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easel-sh/cli",
3
- "version": "0.1.0-alpha.4",
3
+ "version": "0.1.0-alpha.6",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "cli": "./dist/cli.js"
@@ -13,7 +13,8 @@
13
13
  },
14
14
  "scripts": {
15
15
  "build": "tsc",
16
- "dev": "tsc --watch"
16
+ "dev": "tsc --watch",
17
+ "test": "vitest run"
17
18
  },
18
19
  "dependencies": {
19
20
  "yargs": "^17.7.2"
@@ -21,6 +22,7 @@
21
22
  "devDependencies": {
22
23
  "@types/node": "^20.10.0",
23
24
  "@types/yargs": "^17.0.32",
24
- "typescript": "^5.3.3"
25
+ "typescript": "^5.3.3",
26
+ "vitest": "^2.0.0"
25
27
  }
26
28
  }