inngest 0.4.16-cfp.9 → 0.5.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.
package/README.md CHANGED
@@ -21,7 +21,15 @@
21
21
 
22
22
  <hr />
23
23
 
24
- Build, test, and deploy code that runs in response to events or on a schedule right in your own codebase.<br />
24
+ Inngest allows you to:
25
+
26
+ - 👉 Write <b>background jobs</b> in any framework, on any platform <br />
27
+ - 👉 Create <b>scheduled & cron jobs</b> for any serverless platform <br />
28
+ - 👉 Build <b>serverless queues</b> without configuring infra <br />
29
+ - 👉 Write complex <b>step functions</b> anywhere <br />
30
+ - 👉 Build <b>serverless event-driven systems</b> <br />
31
+ - 👉 Reliably respond to webhooks, with retries & payloads stored for history <br />
32
+
25
33
  👋 _Have a question or feature request? [Join our Discord](https://www.inngest.com/discord)!_
26
34
 
27
35
  <br />
@@ -35,6 +43,8 @@ Build, test, and deploy code that runs in response to events or on a schedule ri
35
43
 
36
44
  <br />
37
45
 
46
+ <img width="1489" alt="Screen Shot 2022-10-05 at 17 06 32" src="https://user-images.githubusercontent.com/306177/194185480-a942a175-0adb-42cb-9cfd-355aa03332d5.png">
47
+
38
48
  ## Getting started
39
49
 
40
50
  <br />
@@ -50,7 +60,6 @@ npm install inngest # or yarn install inngest
50
60
  **Writing functions**: Write serverless functions and background jobs right in your own code:
51
61
 
52
62
  ```ts
53
-
54
63
  import { createFunction } from "inngest";
55
64
 
56
65
  export default createFunction(
@@ -62,13 +71,12 @@ export default createFunction(
62
71
  );
63
72
  ```
64
73
 
65
- Functions listen to events which can be triggered by API calls, webhooks, integrations, or external services. When a matching event is received, the serverless function runs automatically, with built in retries.
74
+ Functions listen to events which can be triggered by API calls, webhooks, integrations, or external services. When a matching event is received, the serverless function runs automatically, with built in retries.
66
75
 
67
76
  <br />
68
77
 
69
78
  **Triggering functions by events:**
70
79
 
71
-
72
80
  ```ts
73
81
  // Send events
74
82
  import { Inngest } from "inngest";
@@ -78,20 +86,19 @@ const inngest = new Inngest({ name: "My App" });
78
86
  inngest.send("app/user.created", { data: { id: 123 } });
79
87
  ```
80
88
 
81
- Events trigger any number of functions automatically, in parallel, in the background. Inngest also stores a history of all events for observability, testing, and replay.
82
-
89
+ Events trigger any number of functions automatically, in parallel, in the background. Inngest also stores a history of all events for observability, testing, and replay.
83
90
 
84
91
  <br />
85
92
 
86
93
  ## Features
87
94
 
88
- - **Fully serverless:** Run background jobs, scheduled functions, and build event-driven systems without any servers, state, or setup
89
- - **Deploy anywhere**: works with NextJS, Netlify, Vercel, Redwood, Express, Cloudflare, and Lambda
90
- - **Use your existing code:** write functions within your current project, zero learning required
91
- - **A complete platform**: complex functionality built in, such as **event replay**, **canary deploys**, **version management** and **git integration**
92
- - **Fully typed**: Event schemas, versioning, and governance out of the box
93
- - **Observable**: A full UI for managing and inspecting your functions
94
- - **Any language:** Use our CLI to write functions using any language
95
+ - **Fully serverless:** Run background jobs, scheduled functions, and build event-driven systems without any servers, state, or setup
96
+ - **Deploy anywhere**: works with NextJS, Netlify, Vercel, Redwood, Express, Cloudflare, and Lambda
97
+ - **Use your existing code:** write functions within your current project, zero learning required
98
+ - **A complete platform**: complex functionality built in, such as **event replay**, **canary deploys**, **version management** and **git integration**
99
+ - **Fully typed**: Event schemas, versioning, and governance out of the box
100
+ - **Observable**: A full UI for managing and inspecting your functions
101
+ - **Any language:** Use our CLI to write functions using any language
95
102
 
96
103
  <br />
97
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACb,MAAM,WAAW,CAAC;AA6FnB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YAYnB,CAAC"}
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACb,MAAM,WAAW,CAAC;AAkHnB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YAOnB,CAAC"}
package/cloudflare.js CHANGED
@@ -4,14 +4,16 @@ exports.serve = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const express_1 = require("./express");
6
6
  const consts_1 = require("./helpers/consts");
7
+ const devserver_1 = require("./helpers/devserver");
7
8
  const landing_1 = require("./landing");
8
9
  class CloudflareCommHandler extends express_1.InngestCommHandler {
9
10
  constructor() {
10
11
  super(...arguments);
11
- this.frameworkName = "remix";
12
+ this.frameworkName = "cloudflare-pages";
12
13
  }
13
14
  createHandler() {
14
15
  return async ({ request: req, env, }) => {
16
+ const headers = { "x-inngest-sdk": this.sdkHeader.join("") };
15
17
  let reqUrl;
16
18
  let isIntrospection;
17
19
  try {
@@ -22,33 +24,35 @@ class CloudflareCommHandler extends express_1.InngestCommHandler {
22
24
  catch (err) {
23
25
  return new Response(JSON.stringify(err), {
24
26
  status: 500,
27
+ headers,
25
28
  });
26
29
  }
27
30
  if (!this.signingKey && env[consts_1.envKeys.SigningKey]) {
28
31
  this.signingKey = env[consts_1.envKeys.SigningKey];
29
32
  }
33
+ this._isProd = env.CF_PAGES === "1" || env.ENVIRONMENT === "production";
30
34
  switch (req.method) {
31
35
  case "GET": {
32
36
  const showLandingPage = this.shouldShowLandingPage(env[consts_1.envKeys.LandingPage]);
33
37
  if (!showLandingPage)
34
38
  break;
35
39
  if (isIntrospection) {
36
- return new Response(JSON.stringify(this.registerBody(reqUrl)), {
40
+ const introspection = Object.assign(Object.assign({}, this.registerBody(reqUrl)), { devServerURL: (0, devserver_1.devServerUrl)(env[consts_1.envKeys.DevServerUrl]).href, hasSigningKey: Boolean(this.signingKey) });
41
+ return new Response(JSON.stringify(introspection), {
37
42
  status: 200,
43
+ headers,
38
44
  });
39
45
  }
40
46
  // Grab landing page and serve
41
47
  return new Response(landing_1.landing, {
42
48
  status: 200,
43
- headers: {
44
- "content-type": "text/html;charset=UTF-8",
45
- },
49
+ headers: Object.assign(Object.assign({}, headers), { "content-type": "text/html; charset=utf-8" }),
46
50
  });
47
51
  }
48
52
  case "PUT": {
49
53
  // Push config to Inngest.
50
- const { status, message } = await this.register(reqUrl);
51
- return new Response(JSON.stringify({ message }), { status });
54
+ const { status, message } = await this.register(reqUrl, env[consts_1.envKeys.DevServerUrl]);
55
+ return new Response(JSON.stringify({ message }), { status, headers });
52
56
  }
53
57
  case "POST": {
54
58
  // Inngest is trying to run a step; confirm signed and run.
@@ -65,14 +69,16 @@ class CloudflareCommHandler extends express_1.InngestCommHandler {
65
69
  if (stepRes.status === 500) {
66
70
  return new Response(JSON.stringify(stepRes.error), {
67
71
  status: stepRes.status,
72
+ headers,
68
73
  });
69
74
  }
70
75
  return new Response(JSON.stringify(stepRes.body), {
71
76
  status: stepRes.status,
77
+ headers,
72
78
  });
73
79
  }
74
80
  }
75
- return new Response(null, { status: 405 });
81
+ return new Response(null, { status: 405, headers });
76
82
  };
77
83
  }
78
84
  }
@@ -82,8 +88,8 @@ class CloudflareCommHandler extends express_1.InngestCommHandler {
82
88
  *
83
89
  * @public
84
90
  */
85
- const serve = (nameOrInngest, signingKey, fns, opts) => {
86
- return (0, express_1.serve)(new CloudflareCommHandler(nameOrInngest, signingKey, fns, Object.assign({ fetch: fetch.bind(globalThis) }, opts)));
91
+ const serve = (nameOrInngest, fns, opts) => {
92
+ return (0, express_1.serve)(new CloudflareCommHandler(nameOrInngest, fns, Object.assign({ fetch: fetch.bind(globalThis) }, opts)));
87
93
  };
88
94
  exports.serve = serve;
89
95
  //# sourceMappingURL=cloudflare.js.map
package/cloudflare.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
package/express.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Inngest } from "./components/Inngest";
2
2
  import { InngestFunction } from "./components/InngestFunction";
3
- import { EventPayload, FunctionConfig, RegisterOptions, RegisterRequest, StepRunResponse } from "./types";
3
+ import type { FunctionConfig, RegisterOptions, RegisterRequest, StepRunResponse } from "./types";
4
4
  /**
5
5
  * A handler for serving Inngest functions. This type should be used
6
6
  * whenever a handler for a new framework is being added to enforce that the
@@ -15,12 +15,14 @@ export declare type ServeHandler = (
15
15
  */
16
16
  nameOrInngest: string | Inngest<any>,
17
17
  /**
18
- * A key used to sign requests to and from Inngest in order to prove that the
19
- * source is legitimate.
20
- *
21
- * @link TODO
18
+ * An array of the functions to serve and register with Inngest.
19
+ */
20
+ functions: InngestFunction<any>[],
21
+ /**
22
+ * A set of options to further configure the registration of Inngest
23
+ * functions.
22
24
  */
23
- signingKey: string, functions: InngestFunction<any>[], opts?: RegisterOptions) => any;
25
+ opts?: RegisterOptions) => any;
24
26
  /**
25
27
  * Serve and register any declared functions with Inngest, making them available
26
28
  * to be triggered by events.
@@ -30,7 +32,7 @@ signingKey: string, functions: InngestFunction<any>[], opts?: RegisterOptions) =
30
32
  *
31
33
  * @public
32
34
  */
33
- export declare const serve: <Events extends Record<string, EventPayload>>(...args: [nameOrInngest: string | Inngest<Events>, signingKey: string, functions: InngestFunction<Events>[], opts?: RegisterOptions | undefined] | [commHandler: InngestCommHandler]) => any;
35
+ export declare const serve: (...args: Parameters<ServeHandler> | [commHandler: InngestCommHandler]) => any;
34
36
  /**
35
37
  * TODO Instead of `createHandler`, expose `createRequest` and `handleResponse`
36
38
  *
@@ -58,6 +60,13 @@ export declare class InngestCommHandler {
58
60
  private readonly inngestRegisterUrl;
59
61
  protected readonly frameworkName: string;
60
62
  protected signingKey: string | undefined;
63
+ /**
64
+ * A property that can be set to indicate whether or not we believe we are in
65
+ * production mode.
66
+ *
67
+ * Should be set every time a request is received.
68
+ */
69
+ protected _isProd: boolean;
61
70
  private readonly headers;
62
71
  private readonly fetch;
63
72
  /**
@@ -72,16 +81,28 @@ export declare class InngestCommHandler {
72
81
  * to find and register functions when interacting with Inngest Cloud.
73
82
  */
74
83
  private readonly fns;
75
- constructor(nameOrInngest: string | Inngest<any>, signingKey: string, functions: InngestFunction<any>[], { inngestRegisterUrl, fetch, landingPage }?: RegisterOptions);
84
+ constructor(nameOrInngest: string | Inngest<any>, functions: InngestFunction<any>[], { inngestRegisterUrl, fetch, landingPage, signingKey }?: RegisterOptions);
76
85
  private get hashedSigningKey();
77
86
  createHandler(): any;
78
87
  protected runStep(functionId: string, stepId: string, data: any): Promise<StepRunResponse>;
79
88
  protected configs(url: URL): FunctionConfig[];
89
+ /**
90
+ * Returns an SDK header split in to three parts so that they can be used for
91
+ * different purposes.
92
+ *
93
+ * To use the entire string, run `this.sdkHeader.join("")`.
94
+ */
95
+ protected get sdkHeader(): [
96
+ prefix: string,
97
+ version: RegisterRequest["sdk"],
98
+ suffix: string
99
+ ];
80
100
  protected registerBody(url: URL): RegisterRequest;
81
- protected register(url: URL): Promise<{
101
+ protected register(url: URL, devServerHost: string | undefined): Promise<{
82
102
  status: number;
83
103
  message: string;
84
104
  }>;
105
+ private get isProd();
85
106
  protected shouldShowLandingPage(strEnvVar: string | undefined): boolean;
86
107
  protected validateSignature(): boolean;
87
108
  protected signResponse(): string;
package/express.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAUjB;;;;;;GAMG;AACH,oBAAY,YAAY,GAAG;AACzB;;;GAGG;AACH,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EACjC,IAAI,CAAC,EAAE,eAAe,KACnB,GAAG,CAAC;AAET;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,4OAoBjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAkB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAa;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4C;gBAG9D,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EACpC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EACjC,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,GAAE,eAAoB;IAyClE,OAAO,KAAK,gBAAgB,GAW3B;IAEM,aAAa,IAAI,GAAG;cAiEX,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,eAAe,CAAC;IA4B3B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,EAAE;IAI7C,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe;cAYjC,QAAQ,CACtB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAyC/C,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAIvE,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,YAAY,IAAI,MAAM;CAGjC"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EACf,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAgBjB;;;;;;GAMG;AACH,oBAAY,YAAY,GAAG;AACzB;;;GAGG;AACH,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;AAEpC;;GAEG;AACH,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE;AAEjC;;;GAGG;AACH,IAAI,CAAC,EAAE,eAAe,KACnB,GAAG,CAAC;AAET;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,YACP,WAAW,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,QAYtE,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAkB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAa;IACrD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4C;gBAG9D,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EACpC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EACjC,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAE,eAAoB;IAyC9E,OAAO,KAAK,gBAAgB,GAW3B;IAEM,aAAa,IAAI,GAAG;cAqFX,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,eAAe,CAAC;IA4B3B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,EAAE;IAI7C;;;;;OAKG;IACH,SAAS,KAAK,SAAS,IAAI;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC;QAC/B,MAAM,EAAE,MAAM;KACf,CAEA;IAED,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe;cAYjC,QAAQ,CACtB,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA0D/C,OAAO,KAAK,MAAM,GAEjB;IAED,SAAS,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAIvE,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,YAAY,IAAI,MAAM;CAGjC"}
package/express.js CHANGED
@@ -7,9 +7,13 @@ exports.InngestCommHandler = exports.serve = void 0;
7
7
  const sha_js_1 = __importDefault(require("sha.js"));
8
8
  const zod_1 = require("zod");
9
9
  const consts_1 = require("./helpers/consts");
10
+ const devserver_1 = require("./helpers/devserver");
10
11
  const scalar_1 = require("./helpers/scalar");
11
12
  const landing_1 = require("./landing");
12
13
  const version_1 = require("./version");
14
+ /**
15
+ * A schema for the response from Inngest when registering.
16
+ */
13
17
  const registerResSchema = zod_1.z.object({
14
18
  status: zod_1.z.number().default(200),
15
19
  error: zod_1.z.string().default("Successfully registered"),
@@ -28,8 +32,8 @@ const serve = (...args) => {
28
32
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
29
33
  return args[0].createHandler();
30
34
  }
31
- const [nameOrInngest, signingKey, fns, opts] = args;
32
- const handler = new InngestCommHandler(nameOrInngest, signingKey, fns, opts);
35
+ const [nameOrInngest, fns, opts] = args;
36
+ const handler = new InngestCommHandler(nameOrInngest, fns, opts);
33
37
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
34
38
  return handler.createHandler();
35
39
  };
@@ -54,8 +58,15 @@ exports.serve = serve;
54
58
  * @public
55
59
  */
56
60
  class InngestCommHandler {
57
- constructor(nameOrInngest, signingKey, functions, { inngestRegisterUrl, fetch, landingPage } = {}) {
58
- this.frameworkName = "default";
61
+ constructor(nameOrInngest, functions, { inngestRegisterUrl, fetch, landingPage, signingKey } = {}) {
62
+ this.frameworkName = "express";
63
+ /**
64
+ * A property that can be set to indicate whether or not we believe we are in
65
+ * production mode.
66
+ *
67
+ * Should be set every time a request is received.
68
+ */
69
+ this._isProd = false;
59
70
  /**
60
71
  * A private collection of functions that are being served. This map is used
61
72
  * to find and register functions when interacting with Inngest Cloud.
@@ -75,7 +86,7 @@ class InngestCommHandler {
75
86
  this.showLandingPage = landingPage;
76
87
  this.headers = {
77
88
  "Content-Type": "application/json",
78
- "User-Agent": `InngestJS v${version_1.version} (${this.frameworkName})`,
89
+ "User-Agent": `inngest-js:v${version_1.version} (${this.frameworkName})`,
79
90
  };
80
91
  // eslint-disable-next-line @typescript-eslint/no-var-requires
81
92
  this.fetch = fetch || require("cross-fetch");
@@ -94,6 +105,7 @@ class InngestCommHandler {
94
105
  }
95
106
  createHandler() {
96
107
  return async (req, res) => {
108
+ res.setHeader("x-inngest-sdk", this.sdkHeader.join(""));
97
109
  const hostname = req.hostname || req.headers["host"];
98
110
  const protocol = (hostname === null || hostname === void 0 ? void 0 : hostname.includes("://")) ? "" : `${req.protocol}://`;
99
111
  let reqUrl;
@@ -106,20 +118,27 @@ class InngestCommHandler {
106
118
  console.error(message);
107
119
  return res.status(500).json({ message });
108
120
  }
121
+ if (!this.signingKey && process.env[consts_1.envKeys.SigningKey]) {
122
+ this.signingKey = process.env[consts_1.envKeys.SigningKey];
123
+ }
124
+ this._isProd = process.env.ENVIRONMENT === "production";
109
125
  switch (req.method) {
110
126
  case "GET": {
111
127
  const showLandingPage = this.shouldShowLandingPage(process.env[consts_1.envKeys.LandingPage]);
112
128
  if (!showLandingPage)
113
129
  break;
114
130
  if (Object.hasOwnProperty.call(req.query, consts_1.queryKeys.Introspect)) {
115
- return void res.status(200).json(this.registerBody(reqUrl));
131
+ const introspection = Object.assign(Object.assign({}, this.registerBody(reqUrl)), { devServerURL: (0, devserver_1.devServerUrl)(process.env[consts_1.envKeys.DevServerUrl])
132
+ .href, hasSigningKey: Boolean(this.signingKey) });
133
+ return void res.status(200).json(introspection);
116
134
  }
117
135
  // Grab landing page and serve
136
+ res.header("content-type", "text/html; charset=utf-8");
118
137
  return void res.status(200).send(landing_1.landing);
119
138
  }
120
139
  case "PUT": {
121
140
  // Push config to Inngest.
122
- const { status, message } = await this.register(reqUrl);
141
+ const { status, message } = await this.register(reqUrl, process.env[consts_1.envKeys.DevServerUrl]);
123
142
  return void res.status(status).json({ message });
124
143
  }
125
144
  case "POST": {
@@ -171,6 +190,15 @@ class InngestCommHandler {
171
190
  configs(url) {
172
191
  return Object.values(this.fns).map((fn) => fn["getConfig"](url, this.name));
173
192
  }
193
+ /**
194
+ * Returns an SDK header split in to three parts so that they can be used for
195
+ * different purposes.
196
+ *
197
+ * To use the entire string, run `this.sdkHeader.join("")`.
198
+ */
199
+ get sdkHeader() {
200
+ return ["inngest-", `js:v${version_1.version}`, ` (${this.frameworkName})`];
201
+ }
174
202
  registerBody(url) {
175
203
  return {
176
204
  url: url.href,
@@ -178,15 +206,24 @@ class InngestCommHandler {
178
206
  framework: this.frameworkName,
179
207
  appName: this.name,
180
208
  functions: this.configs(url),
181
- sdk: `js:v${version_1.version}`,
209
+ sdk: this.sdkHeader[1],
182
210
  v: "0.1",
183
211
  };
184
212
  }
185
- async register(url) {
213
+ async register(url, devServerHost) {
186
214
  const body = this.registerBody(url);
187
215
  let res;
216
+ // Whenever we register, we check to see if the dev server is up. This
217
+ // is a noop and returns false in production.
218
+ let registerURL = this.inngestRegisterUrl;
219
+ if (!this.isProd) {
220
+ const hasDevServer = await (0, devserver_1.devServerAvailable)(devServerHost, this.fetch);
221
+ if (hasDevServer) {
222
+ registerURL = (0, devserver_1.devServerUrl)(devServerHost, "/fn/register");
223
+ }
224
+ }
188
225
  try {
189
- res = await this.fetch(this.inngestRegisterUrl.href, {
226
+ res = await this.fetch(registerURL.href, {
190
227
  method: "POST",
191
228
  body: JSON.stringify(body),
192
229
  headers: Object.assign(Object.assign({}, this.headers), { Authorization: `Bearer ${this.hashedSigningKey}` }),
@@ -210,9 +247,12 @@ class InngestCommHandler {
210
247
  console.warn("Couldn't unpack register response:", err);
211
248
  }
212
249
  const { status, error } = registerResSchema.parse(data);
213
- console.log("Registered:", res.status, res.statusText, data);
250
+ console.log("Registered Inngest functions:", res.status, res.statusText, data);
214
251
  return { status, message: error };
215
252
  }
253
+ get isProd() {
254
+ return this._isProd;
255
+ }
216
256
  shouldShowLandingPage(strEnvVar) {
217
257
  var _a, _b;
218
258
  return (_b = (_a = this.showLandingPage) !== null && _a !== void 0 ? _a : (0, scalar_1.strBoolean)(strEnvVar)) !== null && _b !== void 0 ? _b : true;
package/express.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../src/express.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@ export declare enum queryKeys {
6
6
  export declare enum envKeys {
7
7
  SigningKey = "INNGEST_SIGNING_KEY",
8
8
  EventKey = "INNGEST_EVENT_KEY",
9
- LandingPage = "INNGEST_LANDING_PAGE"
9
+ LandingPage = "INNGEST_LANDING_PAGE",
10
+ DevServerUrl = "INNGEST_DEVSERVER_URL"
10
11
  }
12
+ export declare enum prodEnvKeys {
13
+ NodeEnvKey = "NODE_ENV",
14
+ VercelEnvKey = "VERCEL_ENV",
15
+ NetlifyEnvKey = "CONTEXT"
16
+ }
17
+ export declare const defaultDevServerHost = "http://127.0.0.1:8288/";
11
18
  //# sourceMappingURL=consts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/helpers/consts.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,OAAO;IACjB,UAAU,wBAAwB;IAClC,QAAQ,sBAAsB;IAC9B,WAAW,yBAAyB;CACrC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/helpers/consts.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,UAAU,eAAe;CAC1B;AAED,oBAAY,OAAO;IACjB,UAAU,wBAAwB;IAClC,QAAQ,sBAAsB;IAC9B,WAAW,yBAAyB;IACpC,YAAY,0BAA0B;CACvC;AAED,oBAAY,WAAW;IACrB,UAAU,aAAa;IACvB,YAAY,eAAe;IAC3B,aAAa,YAAY;CAC1B;AAED,eAAO,MAAM,oBAAoB,2BAA2B,CAAC"}
package/helpers/consts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.envKeys = exports.queryKeys = void 0;
3
+ exports.defaultDevServerHost = exports.prodEnvKeys = exports.envKeys = exports.queryKeys = void 0;
4
4
  var queryKeys;
5
5
  (function (queryKeys) {
6
6
  queryKeys["FnId"] = "fnId";
@@ -12,5 +12,13 @@ var envKeys;
12
12
  envKeys["SigningKey"] = "INNGEST_SIGNING_KEY";
13
13
  envKeys["EventKey"] = "INNGEST_EVENT_KEY";
14
14
  envKeys["LandingPage"] = "INNGEST_LANDING_PAGE";
15
+ envKeys["DevServerUrl"] = "INNGEST_DEVSERVER_URL";
15
16
  })(envKeys = exports.envKeys || (exports.envKeys = {}));
17
+ var prodEnvKeys;
18
+ (function (prodEnvKeys) {
19
+ prodEnvKeys["NodeEnvKey"] = "NODE_ENV";
20
+ prodEnvKeys["VercelEnvKey"] = "VERCEL_ENV";
21
+ prodEnvKeys["NetlifyEnvKey"] = "CONTEXT";
22
+ })(prodEnvKeys = exports.prodEnvKeys || (exports.prodEnvKeys = {}));
23
+ exports.defaultDevServerHost = "http://127.0.0.1:8288/";
16
24
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/helpers/consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;AAC3B,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,6CAAkC,CAAA;IAClC,yCAA8B,CAAA;IAC9B,+CAAoC,CAAA;AACtC,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/helpers/consts.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;AAC3B,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,6CAAkC,CAAA;IAClC,yCAA8B,CAAA;IAC9B,+CAAoC,CAAA;IACpC,iDAAsC,CAAA;AACxC,CAAC,EALW,OAAO,GAAP,eAAO,KAAP,eAAO,QAKlB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,sCAAuB,CAAA;IACvB,0CAA2B,CAAA;IAC3B,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAEY,QAAA,oBAAoB,GAAG,wBAAwB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { FunctionConfig } from "../types";
2
+ /**
3
+ * A simple type map that we can transparently use `fetch` later without having
4
+ * to fall in to the self-referencing `const fetch: typeof fetch = ...` which
5
+ * fails.
6
+ */
7
+ declare type FetchT = typeof fetch;
8
+ /**
9
+ * Attempts to contact the dev server, returning a boolean indicating whether or
10
+ * not it was successful.
11
+ */
12
+ export declare const devServerAvailable: (host: string | undefined, fetch: FetchT) => Promise<boolean>;
13
+ export declare const devServerUrl: (host?: string, pathname?: string) => URL;
14
+ export declare type InfoResponse = {
15
+ version: string;
16
+ startOpts: {
17
+ sdkURLs: string[];
18
+ };
19
+ authed: boolean;
20
+ workspaces: {
21
+ prod: WorkspaceResponse;
22
+ test: WorkspaceResponse;
23
+ };
24
+ functions: FunctionConfig[];
25
+ handlers: SDKHandler[];
26
+ };
27
+ declare type WorkspaceResponse = {
28
+ signingKey: string;
29
+ eventKeys: Array<{
30
+ name: string;
31
+ key: string;
32
+ }>;
33
+ };
34
+ declare type SDKHandler = {
35
+ functionIDs: Array<string>;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ errors: Array<string>;
39
+ sdk: {
40
+ url: string;
41
+ language: string;
42
+ version: string;
43
+ framework?: string;
44
+ app: string;
45
+ };
46
+ };
47
+ export {};
48
+ //# sourceMappingURL=devserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devserver.d.ts","sourceRoot":"","sources":["../../src/helpers/devserver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C;;;;GAIG;AACH,aAAK,MAAM,GAAG,OAAO,KAAK,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,kBAAkB,oCAUtB,MAAM,KACZ,QAAQ,OAAO,CAUjB,CAAC;AAEF,eAAO,MAAM,YAAY,wCAGtB,GAEF,CAAC;AAGF,oBAAY,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE;QACV,IAAI,EAAE,iBAAiB,CAAC;QACxB,IAAI,EAAE,iBAAiB,CAAC;KACzB,CAAC;IAEF,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC;AAEF,aAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ,CAAC;AAEF,aAAK,UAAU,GAAG;IAChB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE;QACH,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.devServerUrl = exports.devServerAvailable = void 0;
4
+ const consts_1 = require("./consts");
5
+ /**
6
+ * Attempts to contact the dev server, returning a boolean indicating whether or
7
+ * not it was successful.
8
+ */
9
+ const devServerAvailable = async (
10
+ /**
11
+ * The host of the dev server. You should pass in an environment variable as
12
+ * this parameter.
13
+ */
14
+ host = consts_1.defaultDevServerHost,
15
+ /**
16
+ * The fetch implementation to use to communicate with the dev server.
17
+ */
18
+ fetch) => {
19
+ try {
20
+ const url = (0, exports.devServerUrl)(host, "/dev");
21
+ const result = await fetch(url.toString());
22
+ await result.json();
23
+ return true;
24
+ }
25
+ catch (e) {
26
+ return false;
27
+ }
28
+ };
29
+ exports.devServerAvailable = devServerAvailable;
30
+ const devServerUrl = (host = consts_1.defaultDevServerHost, pathname = "") => {
31
+ return new URL(pathname, host.includes("://") ? host : `http://${host}`);
32
+ };
33
+ exports.devServerUrl = devServerUrl;
34
+ //# sourceMappingURL=devserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devserver.js","sourceRoot":"","sources":["../../src/helpers/devserver.ts"],"names":[],"mappings":";;;AACA,qCAAgD;AAShD;;;GAGG;AACI,MAAM,kBAAkB,GAAG,KAAK;AACrC;;;GAGG;AACH,IAAI,GAAG,6BAAoB;AAE3B;;GAEG;AACH,KAAa,EACK,EAAE;IACpB,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B;AAEK,MAAM,YAAY,GAAG,CAC1B,IAAI,GAAG,6BAAoB,EAC3B,QAAQ,GAAG,EAAE,EACR,EAAE;IACP,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}