inngest 0.4.16-cfp.8 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,7 +50,6 @@ npm install inngest # or yarn install inngest
50
50
  **Writing functions**: Write serverless functions and background jobs right in your own code:
51
51
 
52
52
  ```ts
53
-
54
53
  import { createFunction } from "inngest";
55
54
 
56
55
  export default createFunction(
@@ -62,13 +61,12 @@ export default createFunction(
62
61
  );
63
62
  ```
64
63
 
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.
64
+ 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
65
 
67
66
  <br />
68
67
 
69
68
  **Triggering functions by events:**
70
69
 
71
-
72
70
  ```ts
73
71
  // Send events
74
72
  import { Inngest } from "inngest";
@@ -78,20 +76,19 @@ const inngest = new Inngest({ name: "My App" });
78
76
  inngest.send("app/user.created", { data: { id: 123 } });
79
77
  ```
80
78
 
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
-
79
+ 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
80
 
84
81
  <br />
85
82
 
86
83
  ## Features
87
84
 
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
85
+ - **Fully serverless:** Run background jobs, scheduled functions, and build event-driven systems without any servers, state, or setup
86
+ - **Deploy anywhere**: works with NextJS, Netlify, Vercel, Redwood, Express, Cloudflare, and Lambda
87
+ - **Use your existing code:** write functions within your current project, zero learning required
88
+ - **A complete platform**: complex functionality built in, such as **event replay**, **canary deploys**, **version management** and **git integration**
89
+ - **Fully typed**: Event schemas, versioning, and governance out of the box
90
+ - **Observable**: A full UI for managing and inspecting your functions
91
+ - **Any language:** Use our CLI to write functions using any language
95
92
 
96
93
  <br />
97
94
 
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,EACb,MAAM,WAAW,CAAC;AA0FnB;;;;;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;AAgHnB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,YAOnB,CAAC"}
package/cloudflare.js CHANGED
@@ -8,45 +8,50 @@ const landing_1 = require("./landing");
8
8
  class CloudflareCommHandler extends express_1.InngestCommHandler {
9
9
  constructor() {
10
10
  super(...arguments);
11
- this.frameworkName = "remix";
11
+ this.frameworkName = "cloudflare-pages";
12
12
  }
13
13
  createHandler() {
14
14
  return async ({ request: req, env, }) => {
15
+ const headers = { "x-inngest-sdk": this.sdkHeader.join("") };
15
16
  let reqUrl;
17
+ let isIntrospection;
16
18
  try {
17
19
  reqUrl = new URL(req.url, `https://${req.headers.get("host") || ""}`);
20
+ isIntrospection = reqUrl.searchParams.has(consts_1.queryKeys.Introspect);
18
21
  reqUrl.searchParams.delete(consts_1.queryKeys.Introspect);
19
22
  }
20
23
  catch (err) {
21
24
  return new Response(JSON.stringify(err), {
22
25
  status: 500,
26
+ headers,
23
27
  });
24
28
  }
25
29
  if (!this.signingKey && env[consts_1.envKeys.SigningKey]) {
26
30
  this.signingKey = env[consts_1.envKeys.SigningKey];
27
31
  }
32
+ this._isProd = env.CF_PAGES === "1" || env.ENVIRONMENT === "production";
28
33
  switch (req.method) {
29
34
  case "GET": {
30
35
  const showLandingPage = this.shouldShowLandingPage(env[consts_1.envKeys.LandingPage]);
31
36
  if (!showLandingPage)
32
37
  break;
33
- if (reqUrl.searchParams.has(consts_1.queryKeys.Introspect)) {
34
- return new Response(JSON.stringify(this.registerBody(reqUrl)), {
38
+ if (isIntrospection) {
39
+ const introspection = Object.assign(Object.assign({}, this.registerBody(reqUrl)), { hasSigningKey: Boolean(this.signingKey) });
40
+ return new Response(JSON.stringify(introspection), {
35
41
  status: 200,
42
+ headers,
36
43
  });
37
44
  }
38
45
  // Grab landing page and serve
39
46
  return new Response(landing_1.landing, {
40
47
  status: 200,
41
- headers: {
42
- "content-type": "text/html;charset=UTF-8",
43
- },
48
+ headers: Object.assign(Object.assign({}, headers), { "content-type": "text/html;charset=UTF-8" }),
44
49
  });
45
50
  }
46
51
  case "PUT": {
47
52
  // Push config to Inngest.
48
- const { status, message } = await this.register(reqUrl);
49
- return new Response(JSON.stringify({ message }), { status });
53
+ const { status, message } = await this.register(reqUrl, env[consts_1.envKeys.DevServerUrl]);
54
+ return new Response(JSON.stringify({ message }), { status, headers });
50
55
  }
51
56
  case "POST": {
52
57
  // Inngest is trying to run a step; confirm signed and run.
@@ -63,14 +68,16 @@ class CloudflareCommHandler extends express_1.InngestCommHandler {
63
68
  if (stepRes.status === 500) {
64
69
  return new Response(JSON.stringify(stepRes.error), {
65
70
  status: stepRes.status,
71
+ headers,
66
72
  });
67
73
  }
68
74
  return new Response(JSON.stringify(stepRes.body), {
69
75
  status: stepRes.status,
76
+ headers,
70
77
  });
71
78
  }
72
79
  }
73
- return new Response(null, { status: 405 });
80
+ return new Response(null, { status: 405, headers });
74
81
  };
75
82
  }
76
83
  }
@@ -80,8 +87,8 @@ class CloudflareCommHandler extends express_1.InngestCommHandler {
80
87
  *
81
88
  * @public
82
89
  */
83
- const serve = (nameOrInngest, signingKey, fns, opts) => {
84
- return (0, express_1.serve)(new CloudflareCommHandler(nameOrInngest, signingKey, fns, Object.assign({ fetch: fetch.bind(globalThis) }, opts)));
90
+ const serve = (nameOrInngest, fns, opts) => {
91
+ return (0, express_1.serve)(new CloudflareCommHandler(nameOrInngest, fns, Object.assign({ fetch: fetch.bind(globalThis) }, opts)));
85
92
  };
86
93
  exports.serve = serve;
87
94
  //# 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;cAkFX,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,25 @@ 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)), { hasSigningKey: Boolean(this.signingKey) });
132
+ return void res.status(200).json(introspection);
116
133
  }
117
134
  // Grab landing page and serve
118
135
  return void res.status(200).send(landing_1.landing);
119
136
  }
120
137
  case "PUT": {
121
138
  // Push config to Inngest.
122
- const { status, message } = await this.register(reqUrl);
139
+ const { status, message } = await this.register(reqUrl, process.env[consts_1.envKeys.DevServerUrl]);
123
140
  return void res.status(status).json({ message });
124
141
  }
125
142
  case "POST": {
@@ -171,6 +188,15 @@ class InngestCommHandler {
171
188
  configs(url) {
172
189
  return Object.values(this.fns).map((fn) => fn["getConfig"](url, this.name));
173
190
  }
191
+ /**
192
+ * Returns an SDK header split in to three parts so that they can be used for
193
+ * different purposes.
194
+ *
195
+ * To use the entire string, run `this.sdkHeader.join("")`.
196
+ */
197
+ get sdkHeader() {
198
+ return ["inngest-", `js:v${version_1.version}`, ` (${this.frameworkName})`];
199
+ }
174
200
  registerBody(url) {
175
201
  return {
176
202
  url: url.href,
@@ -178,15 +204,24 @@ class InngestCommHandler {
178
204
  framework: this.frameworkName,
179
205
  appName: this.name,
180
206
  functions: this.configs(url),
181
- sdk: `js:v${version_1.version}`,
207
+ sdk: this.sdkHeader[1],
182
208
  v: "0.1",
183
209
  };
184
210
  }
185
- async register(url) {
211
+ async register(url, devServerHost) {
186
212
  const body = this.registerBody(url);
187
213
  let res;
214
+ // Whenever we register, we check to see if the dev server is up. This
215
+ // is a noop and returns false in production.
216
+ let registerURL = this.inngestRegisterUrl;
217
+ if (!this.isProd) {
218
+ const hasDevServer = await (0, devserver_1.devServerAvailable)(devServerHost, this.fetch);
219
+ if (hasDevServer) {
220
+ registerURL = (0, devserver_1.devServerUrl)(devServerHost, "/fn/register");
221
+ }
222
+ }
188
223
  try {
189
- res = await this.fetch(this.inngestRegisterUrl.href, {
224
+ res = await this.fetch(registerURL.href, {
190
225
  method: "POST",
191
226
  body: JSON.stringify(body),
192
227
  headers: Object.assign(Object.assign({}, this.headers), { Authorization: `Bearer ${this.hashedSigningKey}` }),
@@ -210,9 +245,12 @@ class InngestCommHandler {
210
245
  console.warn("Couldn't unpack register response:", err);
211
246
  }
212
247
  const { status, error } = registerResSchema.parse(data);
213
- console.log("Registered:", res.status, res.statusText, data);
248
+ console.log("Registered Inngest functions:", res.status, res.statusText, data);
214
249
  return { status, message: error };
215
250
  }
251
+ get isProd() {
252
+ return this._isProd;
253
+ }
216
254
  shouldShowLandingPage(strEnvVar) {
217
255
  var _a, _b;
218
256
  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"}