@vercel/node 1.12.1 → 1.12.2-canary.11

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/launcher.js CHANGED
@@ -1,5 +1,6 @@
1
- const { parse } = require('url');
1
+ const { parse, pathToFileURL } = require('url');
2
2
  const { createServer, Server } = require('http');
3
+ const { isAbsolute } = require('path');
3
4
  const { Bridge } = require('./bridge.js');
4
5
 
5
6
  /**
@@ -15,8 +16,9 @@ function makeVercelLauncher(config) {
15
16
  shouldAddSourcemapSupport = false,
16
17
  } = config;
17
18
  return `
18
- const { parse } = require('url');
19
+ const { parse, pathToFileURL } = require('url');
19
20
  const { createServer, Server } = require('http');
21
+ const { isAbsolute } = require('path');
20
22
  const { Bridge } = require(${JSON.stringify(bridgePath)});
21
23
  ${
22
24
  shouldAddSourcemapSupport
@@ -60,13 +62,15 @@ function getVercelLauncher({
60
62
  process.env.NODE_ENV = region === 'dev1' ? 'development' : 'production';
61
63
  }
62
64
 
63
- async function getListener() {
65
+ /**
66
+ * @param {string} p - entrypointPath
67
+ */
68
+ async function getListener(p) {
64
69
  let listener = useRequire
65
- ? require(entrypointPath)
66
- : await import(entrypointPath);
70
+ ? require(p)
71
+ : await import(isAbsolute(p) ? pathToFileURL(p).href : p);
67
72
 
68
- // In some cases we might have nested default props
69
- // due to TS => JS
73
+ // In some cases we might have nested default props due to TS => JS
70
74
  for (let i = 0; i < 5; i++) {
71
75
  if (listener.default) listener = listener.default;
72
76
  }
@@ -74,7 +78,7 @@ function getVercelLauncher({
74
78
  return listener;
75
79
  }
76
80
 
77
- getListener()
81
+ getListener(entrypointPath)
78
82
  .then(listener => {
79
83
  if (typeof listener.listen === 'function') {
80
84
  Server.prototype.listen = originalListen;
@@ -86,7 +90,8 @@ function getVercelLauncher({
86
90
  if (shouldAddHelpers) {
87
91
  bridge.setStoreEvents(true);
88
92
  import(helpersPath).then(helper => {
89
- const server = helper.createServerWithHelpers(listener, bridge);
93
+ const h = helper.default || helper;
94
+ const server = h.createServerWithHelpers(listener, bridge);
90
95
  bridge.setServer(server);
91
96
  bridge.listen();
92
97
  });
@@ -0,0 +1,33 @@
1
+ /// <reference types="node" />
2
+ import { ServerResponse, IncomingMessage } from 'http';
3
+ export declare type VercelRequestCookies = {
4
+ [key: string]: string;
5
+ };
6
+ export declare type VercelRequestQuery = {
7
+ [key: string]: string | string[];
8
+ };
9
+ export declare type VercelRequestBody = any;
10
+ export declare type VercelRequest = IncomingMessage & {
11
+ query: VercelRequestQuery;
12
+ cookies: VercelRequestCookies;
13
+ body: VercelRequestBody;
14
+ };
15
+ export declare type VercelResponse = ServerResponse & {
16
+ send: (body: any) => VercelResponse;
17
+ json: (jsonBody: any) => VercelResponse;
18
+ status: (statusCode: number) => VercelResponse;
19
+ redirect: (statusOrUrl: string | number, url?: string) => VercelResponse;
20
+ };
21
+ export declare type VercelApiHandler = (req: VercelRequest, res: VercelResponse) => void;
22
+ /** @deprecated Use VercelRequestCookies instead. */
23
+ export declare type NowRequestCookies = VercelRequestCookies;
24
+ /** @deprecated Use VercelRequestQuery instead. */
25
+ export declare type NowRequestQuery = VercelRequestQuery;
26
+ /** @deprecated Use VercelRequestBody instead. */
27
+ export declare type NowRequestBody = any;
28
+ /** @deprecated Use VercelRequest instead. */
29
+ export declare type NowRequest = VercelRequest;
30
+ /** @deprecated Use VercelResponse instead. */
31
+ export declare type NowResponse = VercelResponse;
32
+ /** @deprecated Use VercelApiHandler instead. */
33
+ export declare type NowApiHandler = VercelApiHandler;
@@ -0,0 +1,34 @@
1
+ import _ts from 'typescript';
2
+ /**
3
+ * Registration options.
4
+ */
5
+ interface Options {
6
+ basePath?: string;
7
+ pretty?: boolean | null;
8
+ logError?: boolean | null;
9
+ files?: boolean | null;
10
+ compiler?: string;
11
+ ignore?: string[];
12
+ project?: string;
13
+ compilerOptions?: any;
14
+ ignoreDiagnostics?: Array<number | string>;
15
+ readFile?: (path: string) => string | undefined;
16
+ fileExists?: (path: string) => boolean;
17
+ transformers?: _ts.CustomTransformers;
18
+ }
19
+ /**
20
+ * Return type for registering `ts-node`.
21
+ */
22
+ export declare type Register = (code: string, fileName: string, skipTypeCheck?: boolean) => SourceOutput;
23
+ /**
24
+ * Register TypeScript compiler.
25
+ */
26
+ export declare function register(opts?: Options): Register;
27
+ /**
28
+ * Internal source output.
29
+ */
30
+ declare type SourceOutput = {
31
+ code: string;
32
+ map: string;
33
+ };
34
+ export {};
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.register = void 0;
4
+ const build_utils_1 = require("@vercel/build-utils");
7
5
  const path_1 = require("path");
8
- const build_utils_1 = __importDefault(require("./build-utils"));
9
- const { NowBuildError } = build_utils_1.default;
10
6
  /*
11
7
  * Fork of TS-Node - https://github.com/TypeStrong/ts-node
12
8
  * Copyright Blake Embrey
@@ -96,16 +92,17 @@ function register(opts = {}) {
96
92
  const cwd = options.basePath || process.cwd();
97
93
  const nowNodeBase = path_1.resolve(__dirname, '..', '..', '..');
98
94
  let compiler;
95
+ const require_ = eval('require');
99
96
  try {
100
- compiler = require.resolve(options.compiler || 'typescript', {
97
+ compiler = require_.resolve(options.compiler || 'typescript', {
101
98
  paths: [options.project || cwd, nowNodeBase],
102
99
  });
103
100
  }
104
101
  catch (e) {
105
- compiler = require.resolve(eval('"typescript"'));
102
+ compiler = 'typescript';
106
103
  }
107
104
  //eslint-disable-next-line @typescript-eslint/no-var-requires
108
- const ts = require(compiler);
105
+ const ts = require_(compiler);
109
106
  if (compiler.startsWith(nowNodeBase)) {
110
107
  console.log('Using TypeScript ' + ts.version + ' (no local tsconfig.json)');
111
108
  }
@@ -125,7 +122,7 @@ function register(opts = {}) {
125
122
  };
126
123
  function createTSError(diagnostics) {
127
124
  const message = formatDiagnostics(diagnostics, diagnosticHost);
128
- return new NowBuildError({ code: 'NODE_TYPESCRIPT_ERROR', message });
125
+ return new build_utils_1.NowBuildError({ code: 'NODE_TYPESCRIPT_ERROR', message });
129
126
  }
130
127
  function reportTSError(diagnostics, shouldExit) {
131
128
  if (!diagnostics || diagnostics.length === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/node",
3
- "version": "1.12.1",
3
+ "version": "1.12.2-canary.11",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index",
6
6
  "homepage": "https://vercel.com/docs/runtimes#official-runtimes/node-js",
@@ -32,9 +32,10 @@
32
32
  "@types/cookie": "0.3.3",
33
33
  "@types/etag": "1.8.0",
34
34
  "@types/test-listen": "1.1.0",
35
+ "@vercel/build-utils": "2.13.1-canary.2",
35
36
  "@vercel/ncc": "0.24.0",
36
- "@vercel/nft": "0.13.1",
37
- "@vercel/node-bridge": "2.1.0",
37
+ "@vercel/nft": "0.17.5",
38
+ "@vercel/node-bridge": "2.1.1-canary.2",
38
39
  "content-type": "1.0.4",
39
40
  "cookie": "0.4.0",
40
41
  "etag": "1.8.1",
@@ -43,5 +44,5 @@
43
44
  "source-map-support": "0.5.12",
44
45
  "test-listen": "1.1.0"
45
46
  },
46
- "gitHead": "5b61b16bd169b05bb386f5562a233e463fac0949"
47
+ "gitHead": "59e4572e7698656676561ad60cc358272697f64c"
47
48
  }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- let buildUtils;
4
- try {
5
- buildUtils = require('@vercel/build-utils');
6
- }
7
- catch (e) {
8
- // Fallback for older CLI versions
9
- buildUtils = require('@now/build-utils');
10
- }
11
- exports.default = buildUtils;