Squashed commit of the following:
commit c028db229cece2bf7d7acf04e7b1c08fea61798c Author: Matt Aitken <matt@mattaitken.com> Date: Fri Oct 13 16:04:54 2023 +0100 Some fixes for getting the endpoint id commit e31b7ac5f2d451f70e3d42a3fb3e5f718d93485b Author: Matt Aitken <matt@mattaitken.com> Date: Fri Oct 13 15:39:18 2023 +0100 Added a link in the instructions if Node isn’t detected commit 1a59cced775fbeac3e5b94e0c151b490c838d8f8 Author: Matt Aitken <matt@mattaitken.com> Date: Fri Oct 13 15:39:05 2023 +0100 Fixed some conflict issues commit 77263ed26bcf7025071ac0faf15fb867fff245d0 Author: Matt Aitken <matt@mattaitken.com> Date: Fri Oct 13 15:38:56 2023 +0100 Added a changeset commit 1a7df3f37f0c65d68cb9a9fe7ac50328bbb4d879 Author: GuyBorderless <100129659+guy-borderless@users.noreply.github.com> Date: Fri Oct 13 17:31:01 2023 +0300 feat: enable deno (#531) * adding deno reference project and JSRuntime file * accessing runtime specific functions through JsRuntime * adding support for both deno.json and deno.jsonc * no automatic setup for deno projects currently --------- Co-authored-by: Guy Kedem <guy@propertiz.net> Co-authored-by: Matt Aitken <matt@mattaitken.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@trigger.dev/cli": patch
|
||||
---
|
||||
|
||||
Detects JSRuntime (Node/Deno at the moment). Adds basic Deno support
|
||||
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"astro-build.astro-vscode",
|
||||
"denoland.vscode-deno"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
|
||||
]
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"deno.enablePaths": ["references/deno-reference"]
|
||||
}
|
||||
@@ -1,22 +1,18 @@
|
||||
import boxen from "boxen";
|
||||
import chalk from "chalk";
|
||||
import childProcess from "child_process";
|
||||
import chokidar from "chokidar";
|
||||
import fs from "fs/promises";
|
||||
import ngrok from "ngrok";
|
||||
import { run as ncuRun } from "npm-check-updates";
|
||||
import ora, { Ora } from "ora";
|
||||
import pRetry, { AbortError } from "p-retry";
|
||||
import pathModule from "path";
|
||||
import util from "util";
|
||||
import { z } from "zod";
|
||||
import { Framework, getFramework } from "../frameworks";
|
||||
import { Framework } from "../frameworks";
|
||||
import { standardWatchFilePaths, standardWatchIgnoreRegex } from "../frameworks/watchConfig";
|
||||
import { telemetryClient } from "../telemetry/telemetry";
|
||||
import { getEnvFilename } from "../utils/env";
|
||||
import fetch from "../utils/fetchUseProxy";
|
||||
import { getTriggerApiDetails } from "../utils/getTriggerApiDetails";
|
||||
import { getUserPackageManager } from "../utils/getUserPkgManager";
|
||||
import { JsRuntime, getJsRuntime } from "../utils/jsRuntime";
|
||||
import { logger } from "../utils/logger";
|
||||
import { resolvePath } from "../utils/parseNameAndPath";
|
||||
import { RequireKeys } from "../utils/requiredKeys";
|
||||
@@ -45,6 +41,8 @@ const formattedDate = new Intl.DateTimeFormat("en", {
|
||||
second: "numeric",
|
||||
});
|
||||
|
||||
let runtime: JsRuntime;
|
||||
|
||||
export async function devCommand(path: string, anyOptions: any) {
|
||||
telemetryClient.dev.started(path, anyOptions);
|
||||
|
||||
@@ -57,12 +55,12 @@ export async function devCommand(path: string, anyOptions: any) {
|
||||
const options = result.data;
|
||||
|
||||
const resolvedPath = resolvePath(path);
|
||||
|
||||
runtime = await getJsRuntime(resolvedPath, logger);
|
||||
//check for outdated packages, don't await this
|
||||
checkForOutdatedPackages(resolvedPath);
|
||||
runtime.checkForOutdatedPackages();
|
||||
|
||||
// Read from package.json to get the endpointId
|
||||
const endpointId = await getEndpointIdFromPackageJson(resolvedPath, options);
|
||||
const endpointId = await getEndpointId(runtime, options.clientId);
|
||||
if (!endpointId) {
|
||||
logger.error(
|
||||
"You must run the `init` command first to setup the project – you are missing \n'trigger.dev': { 'endpointId': 'your-client-id' } from your package.json file, or pass in the --client-id option to this command"
|
||||
@@ -73,8 +71,8 @@ export async function devCommand(path: string, anyOptions: any) {
|
||||
logger.success(`✔️ [trigger.dev] Detected TriggerClient id: ${endpointId}`);
|
||||
|
||||
//resolve the options using the detected framework (use default if there isn't a matching framework)
|
||||
const packageManager = await getUserPackageManager(resolvedPath);
|
||||
const framework = await getFramework(resolvedPath, packageManager);
|
||||
const packageManager = await runtime.getUserPackageManager();
|
||||
const framework = await runtime.getFramework();
|
||||
const resolvedOptions = await resolveOptions(framework, resolvedPath, options);
|
||||
|
||||
// Read from .env.local or .env to get the TRIGGER_API_KEY and TRIGGER_API_URL
|
||||
@@ -250,8 +248,7 @@ async function startIndexing({
|
||||
apiClient,
|
||||
}: RefreshOptions & { apiClient: TriggerApi }) {
|
||||
spinner.start();
|
||||
|
||||
const refreshedEndpointId = await getEndpointIdFromPackageJson(path, resolvedOptions);
|
||||
const refreshedEndpointId = await getEndpointId(runtime, resolvedOptions.clientId);
|
||||
|
||||
const authorizedKey = await apiClient.whoami();
|
||||
if (!authorizedKey) {
|
||||
@@ -396,43 +393,10 @@ async function verifyEndpoint(
|
||||
return;
|
||||
}
|
||||
|
||||
export async function checkForOutdatedPackages(path: string) {
|
||||
const updates = (await ncuRun({
|
||||
packageFile: `${path}/package.json`,
|
||||
filter: "/trigger.dev/.+$/",
|
||||
upgrade: false,
|
||||
})) as {
|
||||
[key: string]: string;
|
||||
};
|
||||
|
||||
if (typeof updates === "undefined" || Object.keys(updates).length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const packageFile = await fs.readFile(`${path}/package.json`);
|
||||
const data = JSON.parse(Buffer.from(packageFile).toString("utf8"));
|
||||
const dependencies = data.dependencies;
|
||||
console.log(chalk.bgYellow("Updates available for trigger.dev packages"));
|
||||
console.log(chalk.bgBlue("Run npx @trigger.dev/cli@latest update"));
|
||||
|
||||
for (let dep in updates) {
|
||||
console.log(`${dep} ${dependencies[dep]} → ${updates[dep]}`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function getEndpointIdFromPackageJson(path: string, options: DevCommandOptions) {
|
||||
if (options.clientId) {
|
||||
return options.clientId;
|
||||
}
|
||||
|
||||
const pkgJsonPath = pathModule.join(path, "package.json");
|
||||
const pkgBuffer = await fs.readFile(pkgJsonPath);
|
||||
const pkgJson = JSON.parse(pkgBuffer.toString());
|
||||
|
||||
const value = pkgJson["trigger.dev"]?.endpointId;
|
||||
if (!value || typeof value !== "string") return;
|
||||
|
||||
return value as string;
|
||||
export function getEndpointId(runtime: JsRuntime, clientId?: string) {
|
||||
if (clientId) {
|
||||
return clientId;
|
||||
} else return runtime.getEndpointId();
|
||||
}
|
||||
|
||||
async function resolveEndpointUrl(apiUrl: string, port: number, hostname: string) {
|
||||
|
||||
@@ -22,6 +22,7 @@ import { resolvePath } from "../utils/parseNameAndPath";
|
||||
import { readPackageJson } from "../utils/readPackageJson";
|
||||
import { renderTitle } from "../utils/renderTitle";
|
||||
import { TriggerApi, WhoamiResponse } from "../utils/triggerApi";
|
||||
import { getJsRuntime } from "../utils/jsRuntime";
|
||||
|
||||
export type InitCommandOptions = {
|
||||
projectPath: string;
|
||||
@@ -38,6 +39,19 @@ export const initCommand = async (options: InitCommandOptions) => {
|
||||
|
||||
const resolvedPath = resolvePath(options.projectPath);
|
||||
|
||||
// assuming nodejs by default
|
||||
let runtimeId: string = "nodejs";
|
||||
try {
|
||||
runtimeId = (await getJsRuntime(resolvedPath, logger)).id;
|
||||
} catch {}
|
||||
if (runtimeId !== "nodejs") {
|
||||
logger.error(
|
||||
`We currently only support automatic setup for NodeJS projects. This is a ${runtimeId} project. View our manual installation guides here: https://trigger.dev/docs/documentation/quickstarts/introduction`
|
||||
);
|
||||
telemetryClient.init.failed("not_supported_runtime", options);
|
||||
return;
|
||||
}
|
||||
|
||||
await renderTitle(resolvedPath);
|
||||
|
||||
if (options.triggerUrl === CLOUD_TRIGGER_URL) {
|
||||
|
||||
@@ -2,9 +2,10 @@ import { z } from "zod";
|
||||
import { logger } from "../utils/logger";
|
||||
import { resolvePath } from "../utils/parseNameAndPath";
|
||||
import { TriggerApi } from "../utils/triggerApi";
|
||||
import { DevCommandOptions, getEndpointIdFromPackageJson } from "./dev";
|
||||
import { DevCommandOptions, getEndpointId } from "./dev";
|
||||
import ora from "ora";
|
||||
import { getTriggerApiDetails } from "../utils/getTriggerApiDetails";
|
||||
import { getJsRuntime } from "../utils/jsRuntime";
|
||||
|
||||
export const WhoAmICommandOptionsSchema = z.object({
|
||||
envFile: z.string(),
|
||||
@@ -26,7 +27,8 @@ export async function whoamiCommand(path: string, anyOptions: any) {
|
||||
const resolvedPath = resolvePath(path);
|
||||
|
||||
// Read from package.json to get the endpointId
|
||||
const endpointId = await getEndpointIdFromPackageJson(resolvedPath, options as DevCommandOptions);
|
||||
const runtime = await getJsRuntime(resolvedPath, logger);
|
||||
const endpointId = await getEndpointId(runtime);
|
||||
if (!endpointId) {
|
||||
logger.error(
|
||||
"You must run the `init` command first to setup the project – you are missing \n'trigger.dev': { 'endpointId': 'your-client-id' } from your package.json file, or pass in the --client-id option to this command"
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
import { Framework, getFramework } from "../frameworks";
|
||||
import { PackageManager, getUserPackageManager } from "./getUserPkgManager";
|
||||
import { Logger } from "./logger";
|
||||
import { run as ncuRun } from "npm-check-updates";
|
||||
import chalk from "chalk";
|
||||
import fs from "fs/promises";
|
||||
import pathModule from "path";
|
||||
|
||||
export abstract class JsRuntime {
|
||||
logger: Logger;
|
||||
projectRootPath: string;
|
||||
constructor(projectRootPath: string, logger: Logger) {
|
||||
this.logger = logger;
|
||||
this.projectRootPath = projectRootPath;
|
||||
}
|
||||
abstract get id(): string;
|
||||
abstract checkForOutdatedPackages(): Promise<void>;
|
||||
abstract getUserPackageManager(): Promise<PackageManager | undefined>;
|
||||
abstract getFramework(): Promise<Framework | undefined>;
|
||||
abstract getEndpointId(): Promise<string | undefined>;
|
||||
}
|
||||
|
||||
export async function getJsRuntime(projectRootPath: string, logger: Logger): Promise<JsRuntime> {
|
||||
if (await NodeJsRuntime.isNodeJsRuntime(projectRootPath)) {
|
||||
return new NodeJsRuntime(projectRootPath, logger);
|
||||
} else if (await DenoRuntime.isDenoJsRuntime(projectRootPath)) {
|
||||
return new DenoRuntime(projectRootPath, logger);
|
||||
}
|
||||
throw new Error("Unsupported runtime");
|
||||
}
|
||||
|
||||
class NodeJsRuntime extends JsRuntime {
|
||||
static async isNodeJsRuntime(projectRootPath: string): Promise<boolean> {
|
||||
try {
|
||||
await fs.stat(pathModule.join(projectRootPath, "package.json"));
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
get id() {
|
||||
return "nodejs";
|
||||
}
|
||||
get packageJsonPath(): string {
|
||||
return pathModule.join(this.projectRootPath, "package.json");
|
||||
}
|
||||
|
||||
async checkForOutdatedPackages(): Promise<void> {
|
||||
const updates = (await ncuRun({
|
||||
packageFile: `${this.packageJsonPath}`,
|
||||
filter: "/trigger.dev/.+$/",
|
||||
upgrade: false,
|
||||
})) as {
|
||||
[key: string]: string;
|
||||
};
|
||||
|
||||
if (typeof updates === "undefined" || Object.keys(updates).length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const packageFile = await fs.readFile(this.packageJsonPath);
|
||||
const data = JSON.parse(Buffer.from(packageFile).toString("utf8"));
|
||||
const dependencies = data.dependencies;
|
||||
console.log(chalk.bgYellow("Updates available for trigger.dev packages"));
|
||||
console.log(chalk.bgBlue("Run npx @trigger.dev/cli@latest update"));
|
||||
|
||||
for (let dep in updates) {
|
||||
console.log(`${dep} ${dependencies[dep]} → ${updates[dep]}`);
|
||||
}
|
||||
}
|
||||
|
||||
async getUserPackageManager() {
|
||||
return getUserPackageManager(this.projectRootPath);
|
||||
}
|
||||
|
||||
async getFramework() {
|
||||
const userPackageManager = await this.getUserPackageManager();
|
||||
return getFramework(this.projectRootPath, userPackageManager);
|
||||
}
|
||||
async getEndpointId() {
|
||||
const pkgJsonPath = pathModule.join(this.projectRootPath, "package.json");
|
||||
const pkgBuffer = await fs.readFile(pkgJsonPath);
|
||||
const pkgJson = JSON.parse(pkgBuffer.toString());
|
||||
const value = pkgJson["trigger.dev"]?.endpointId;
|
||||
if (!value || typeof value !== "string") return undefined;
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
class DenoRuntime extends JsRuntime {
|
||||
getDenoJsonPath(): Promise<string> {
|
||||
try {
|
||||
return fs
|
||||
.stat(pathModule.join(this.projectRootPath, "deno.json"))
|
||||
.then(() => pathModule.join(this.projectRootPath, "deno.json"));
|
||||
} catch {
|
||||
return fs
|
||||
.stat(pathModule.join(this.projectRootPath, "deno.jsonc"))
|
||||
.then(() => pathModule.join(this.projectRootPath, "deno.jsonc"));
|
||||
}
|
||||
}
|
||||
|
||||
get id() {
|
||||
return "deno";
|
||||
}
|
||||
|
||||
static async isDenoJsRuntime(projectRootPath: string): Promise<boolean> {
|
||||
try {
|
||||
try {
|
||||
await fs.stat(pathModule.join(projectRootPath, "deno.json"));
|
||||
} catch (e) {
|
||||
await fs.stat(pathModule.join(projectRootPath, "deno.jsonc"));
|
||||
}
|
||||
return true;
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async checkForOutdatedPackages() {
|
||||
// not implemented currently
|
||||
}
|
||||
async getUserPackageManager() {
|
||||
return undefined;
|
||||
}
|
||||
async getFramework() {
|
||||
// not implemented currently
|
||||
return undefined;
|
||||
}
|
||||
async getEndpointId() {
|
||||
const pkgJsonPath = await this.getDenoJsonPath();
|
||||
const pkgBuffer = await fs.readFile(pkgJsonPath);
|
||||
const pkgJson = JSON.parse(pkgBuffer.toString());
|
||||
return pkgJson["trigger.dev"]?.endpointId;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
import chalk from "chalk";
|
||||
|
||||
export type Logger = typeof logger;
|
||||
export const logger = {
|
||||
error(...args: unknown[]) {
|
||||
console.log(chalk.red(...args));
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"deno.enable": true
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"trigger.dev": {
|
||||
"endpointId": "borderless"
|
||||
},
|
||||
"tasks": {
|
||||
"dev": "deno run --watch main.ts"
|
||||
}
|
||||
}
|
||||
Generated
+684
@@ -0,0 +1,684 @@
|
||||
{
|
||||
"version": "3",
|
||||
"packages": {
|
||||
"specifiers": {
|
||||
"npm:@trigger.dev/express": "npm:@trigger.dev/express@2.1.7_@trigger.dev+sdk@2.1.7",
|
||||
"npm:@trigger.dev/sdk": "npm:@trigger.dev/sdk@2.1.7"
|
||||
},
|
||||
"npm": {
|
||||
"@remix-run/web-blob@3.1.0": {
|
||||
"integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==",
|
||||
"dependencies": {
|
||||
"@remix-run/web-stream": "@remix-run/web-stream@1.1.0",
|
||||
"web-encoding": "web-encoding@1.1.5"
|
||||
}
|
||||
},
|
||||
"@remix-run/web-fetch@4.4.1": {
|
||||
"integrity": "sha512-xMceEGn2kvfeWS91nHSOhEQHPGgjFnmDVpWFZrbWPVdiTByMZIn421/tdSF6Kd1RsNsY+5Iwt3JFEKZHAcMQHw==",
|
||||
"dependencies": {
|
||||
"@remix-run/web-blob": "@remix-run/web-blob@3.1.0",
|
||||
"@remix-run/web-file": "@remix-run/web-file@3.1.0",
|
||||
"@remix-run/web-form-data": "@remix-run/web-form-data@3.1.0",
|
||||
"@remix-run/web-stream": "@remix-run/web-stream@1.1.0",
|
||||
"@web3-storage/multipart-parser": "@web3-storage/multipart-parser@1.0.0",
|
||||
"abort-controller": "abort-controller@3.0.0",
|
||||
"data-uri-to-buffer": "data-uri-to-buffer@3.0.1",
|
||||
"mrmime": "mrmime@1.0.1"
|
||||
}
|
||||
},
|
||||
"@remix-run/web-file@3.1.0": {
|
||||
"integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==",
|
||||
"dependencies": {
|
||||
"@remix-run/web-blob": "@remix-run/web-blob@3.1.0"
|
||||
}
|
||||
},
|
||||
"@remix-run/web-form-data@3.1.0": {
|
||||
"integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==",
|
||||
"dependencies": {
|
||||
"web-encoding": "web-encoding@1.1.5"
|
||||
}
|
||||
},
|
||||
"@remix-run/web-stream@1.1.0": {
|
||||
"integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==",
|
||||
"dependencies": {
|
||||
"web-streams-polyfill": "web-streams-polyfill@3.2.1"
|
||||
}
|
||||
},
|
||||
"@trigger.dev/core@2.1.7": {
|
||||
"integrity": "sha512-Ts0xMFiWi4ph4da6BIbuegz2mMSVYJxWEh5S2mhM5vc+S6cl+MEbTdh+neUVa/0N4qq3Io07e9yDTXnTfiifzg==",
|
||||
"dependencies": {
|
||||
"ulid": "ulid@2.3.0",
|
||||
"zod": "zod@3.21.4",
|
||||
"zod-error": "zod-error@1.5.0"
|
||||
}
|
||||
},
|
||||
"@trigger.dev/express@2.1.7_@trigger.dev+sdk@2.1.7": {
|
||||
"integrity": "sha512-uMoSDpOZJdYs+UXwEkhWYCYm8T6e+cu33LXmXhoF2tpm7m8PritFgR7LPX4H9UdIddRATdsmWgOqPMOQneEtDg==",
|
||||
"dependencies": {
|
||||
"@remix-run/web-fetch": "@remix-run/web-fetch@4.4.1",
|
||||
"@trigger.dev/sdk": "@trigger.dev/sdk@2.1.7",
|
||||
"debug": "debug@4.3.4",
|
||||
"express": "express@4.18.2"
|
||||
}
|
||||
},
|
||||
"@trigger.dev/sdk@2.1.7": {
|
||||
"integrity": "sha512-t3pbXj6+I38a5LNGJg9Ed09NCt0AWnw7hJtUCZyuEfBQulRnVSekNLsxCyGlgiTPiyRvbyefzPrX1GhXh0MY1w==",
|
||||
"dependencies": {
|
||||
"@trigger.dev/core": "@trigger.dev/core@2.1.7",
|
||||
"chalk": "chalk@5.3.0",
|
||||
"cronstrue": "cronstrue@2.32.0",
|
||||
"debug": "debug@4.3.4",
|
||||
"evt": "evt@2.5.3",
|
||||
"get-caller-file": "get-caller-file@2.0.5",
|
||||
"git-remote-origin-url": "git-remote-origin-url@4.0.0",
|
||||
"git-repo-info": "git-repo-info@2.1.1",
|
||||
"node-fetch": "node-fetch@2.6.13",
|
||||
"slug": "slug@6.1.0",
|
||||
"terminal-link": "terminal-link@3.0.0",
|
||||
"ulid": "ulid@2.3.0",
|
||||
"uuid": "uuid@9.0.1",
|
||||
"ws": "ws@8.13.0",
|
||||
"zod": "zod@3.21.4"
|
||||
}
|
||||
},
|
||||
"@web3-storage/multipart-parser@1.0.0": {
|
||||
"integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"@zxing/text-encoding@0.9.0": {
|
||||
"integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"abort-controller@3.0.0": {
|
||||
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||
"dependencies": {
|
||||
"event-target-shim": "event-target-shim@5.0.1"
|
||||
}
|
||||
},
|
||||
"accepts@1.3.8": {
|
||||
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
|
||||
"dependencies": {
|
||||
"mime-types": "mime-types@2.1.35",
|
||||
"negotiator": "negotiator@0.6.3"
|
||||
}
|
||||
},
|
||||
"ansi-escapes@5.0.0": {
|
||||
"integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==",
|
||||
"dependencies": {
|
||||
"type-fest": "type-fest@1.4.0"
|
||||
}
|
||||
},
|
||||
"array-flatten@1.1.1": {
|
||||
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"available-typed-arrays@1.0.5": {
|
||||
"integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"body-parser@1.20.1": {
|
||||
"integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
|
||||
"dependencies": {
|
||||
"bytes": "bytes@3.1.2",
|
||||
"content-type": "content-type@1.0.5",
|
||||
"debug": "debug@2.6.9",
|
||||
"depd": "depd@2.0.0",
|
||||
"destroy": "destroy@1.2.0",
|
||||
"http-errors": "http-errors@2.0.0",
|
||||
"iconv-lite": "iconv-lite@0.4.24",
|
||||
"on-finished": "on-finished@2.4.1",
|
||||
"qs": "qs@6.11.0",
|
||||
"raw-body": "raw-body@2.5.1",
|
||||
"type-is": "type-is@1.6.18",
|
||||
"unpipe": "unpipe@1.0.0"
|
||||
}
|
||||
},
|
||||
"bytes@3.1.2": {
|
||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"call-bind@1.0.2": {
|
||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||
"dependencies": {
|
||||
"function-bind": "function-bind@1.1.1",
|
||||
"get-intrinsic": "get-intrinsic@1.2.1"
|
||||
}
|
||||
},
|
||||
"chalk@5.3.0": {
|
||||
"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"content-disposition@0.5.4": {
|
||||
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
|
||||
"dependencies": {
|
||||
"safe-buffer": "safe-buffer@5.2.1"
|
||||
}
|
||||
},
|
||||
"content-type@1.0.5": {
|
||||
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"cookie-signature@1.0.6": {
|
||||
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"cookie@0.5.0": {
|
||||
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"cronstrue@2.32.0": {
|
||||
"integrity": "sha512-dmNflOCNJL6lZEj0dp2YhGIPY83VTjFue6d9feFhnNtrER6mAjBrUvSgK95j3IB/xNGpLjaZDIDG6ACKTZr9Yw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"data-uri-to-buffer@3.0.1": {
|
||||
"integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"debug@2.6.9": {
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"dependencies": {
|
||||
"ms": "ms@2.0.0"
|
||||
}
|
||||
},
|
||||
"debug@4.3.4": {
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"dependencies": {
|
||||
"ms": "ms@2.1.2"
|
||||
}
|
||||
},
|
||||
"depd@2.0.0": {
|
||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"destroy@1.2.0": {
|
||||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ee-first@1.1.1": {
|
||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"encodeurl@1.0.2": {
|
||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"escape-html@1.0.3": {
|
||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"etag@1.8.1": {
|
||||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"event-target-shim@5.0.1": {
|
||||
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"evt@2.5.3": {
|
||||
"integrity": "sha512-wZKx0JgXaTOVOXI2saNVxINU6VToOHDowMwb3NRcU6l+C59eW3w9dZgNxjokiM8rvMgc7/11yFG0cSDxn4qxgA==",
|
||||
"dependencies": {
|
||||
"minimal-polyfills": "minimal-polyfills@2.2.3",
|
||||
"run-exclusive": "run-exclusive@2.2.19",
|
||||
"tsafe": "tsafe@1.6.5"
|
||||
}
|
||||
},
|
||||
"express@4.18.2": {
|
||||
"integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
|
||||
"dependencies": {
|
||||
"accepts": "accepts@1.3.8",
|
||||
"array-flatten": "array-flatten@1.1.1",
|
||||
"body-parser": "body-parser@1.20.1",
|
||||
"content-disposition": "content-disposition@0.5.4",
|
||||
"content-type": "content-type@1.0.5",
|
||||
"cookie": "cookie@0.5.0",
|
||||
"cookie-signature": "cookie-signature@1.0.6",
|
||||
"debug": "debug@2.6.9",
|
||||
"depd": "depd@2.0.0",
|
||||
"encodeurl": "encodeurl@1.0.2",
|
||||
"escape-html": "escape-html@1.0.3",
|
||||
"etag": "etag@1.8.1",
|
||||
"finalhandler": "finalhandler@1.2.0",
|
||||
"fresh": "fresh@0.5.2",
|
||||
"http-errors": "http-errors@2.0.0",
|
||||
"merge-descriptors": "merge-descriptors@1.0.1",
|
||||
"methods": "methods@1.1.2",
|
||||
"on-finished": "on-finished@2.4.1",
|
||||
"parseurl": "parseurl@1.3.3",
|
||||
"path-to-regexp": "path-to-regexp@0.1.7",
|
||||
"proxy-addr": "proxy-addr@2.0.7",
|
||||
"qs": "qs@6.11.0",
|
||||
"range-parser": "range-parser@1.2.1",
|
||||
"safe-buffer": "safe-buffer@5.2.1",
|
||||
"send": "send@0.18.0",
|
||||
"serve-static": "serve-static@1.15.0",
|
||||
"setprototypeof": "setprototypeof@1.2.0",
|
||||
"statuses": "statuses@2.0.1",
|
||||
"type-is": "type-is@1.6.18",
|
||||
"utils-merge": "utils-merge@1.0.1",
|
||||
"vary": "vary@1.1.2"
|
||||
}
|
||||
},
|
||||
"finalhandler@1.2.0": {
|
||||
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
||||
"dependencies": {
|
||||
"debug": "debug@2.6.9",
|
||||
"encodeurl": "encodeurl@1.0.2",
|
||||
"escape-html": "escape-html@1.0.3",
|
||||
"on-finished": "on-finished@2.4.1",
|
||||
"parseurl": "parseurl@1.3.3",
|
||||
"statuses": "statuses@2.0.1",
|
||||
"unpipe": "unpipe@1.0.0"
|
||||
}
|
||||
},
|
||||
"for-each@0.3.3": {
|
||||
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
|
||||
"dependencies": {
|
||||
"is-callable": "is-callable@1.2.7"
|
||||
}
|
||||
},
|
||||
"forwarded@0.2.0": {
|
||||
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"fresh@0.5.2": {
|
||||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"function-bind@1.1.1": {
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"get-caller-file@2.0.5": {
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"get-intrinsic@1.2.1": {
|
||||
"integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
|
||||
"dependencies": {
|
||||
"function-bind": "function-bind@1.1.1",
|
||||
"has": "has@1.0.3",
|
||||
"has-proto": "has-proto@1.0.1",
|
||||
"has-symbols": "has-symbols@1.0.3"
|
||||
}
|
||||
},
|
||||
"git-remote-origin-url@4.0.0": {
|
||||
"integrity": "sha512-EAxDksNdjuWgmVW9pVvA9jQDi/dmTaiDONktIy7qiRRhBZUI4FQK1YvBvteuTSX24aNKg9lfgxNYJEeeSXe6DA==",
|
||||
"dependencies": {
|
||||
"gitconfiglocal": "gitconfiglocal@2.1.0"
|
||||
}
|
||||
},
|
||||
"git-repo-info@2.1.1": {
|
||||
"integrity": "sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"gitconfiglocal@2.1.0": {
|
||||
"integrity": "sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==",
|
||||
"dependencies": {
|
||||
"ini": "ini@1.3.8"
|
||||
}
|
||||
},
|
||||
"gopd@1.0.1": {
|
||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||
"dependencies": {
|
||||
"get-intrinsic": "get-intrinsic@1.2.1"
|
||||
}
|
||||
},
|
||||
"has-flag@4.0.0": {
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"has-proto@1.0.1": {
|
||||
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"has-symbols@1.0.3": {
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"has-tostringtag@1.0.0": {
|
||||
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
|
||||
"dependencies": {
|
||||
"has-symbols": "has-symbols@1.0.3"
|
||||
}
|
||||
},
|
||||
"has@1.0.3": {
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dependencies": {
|
||||
"function-bind": "function-bind@1.1.1"
|
||||
}
|
||||
},
|
||||
"http-errors@2.0.0": {
|
||||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
||||
"dependencies": {
|
||||
"depd": "depd@2.0.0",
|
||||
"inherits": "inherits@2.0.4",
|
||||
"setprototypeof": "setprototypeof@1.2.0",
|
||||
"statuses": "statuses@2.0.1",
|
||||
"toidentifier": "toidentifier@1.0.1"
|
||||
}
|
||||
},
|
||||
"iconv-lite@0.4.24": {
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"dependencies": {
|
||||
"safer-buffer": "safer-buffer@2.1.2"
|
||||
}
|
||||
},
|
||||
"inherits@2.0.4": {
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ini@1.3.8": {
|
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ipaddr.js@1.9.1": {
|
||||
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"is-arguments@1.1.1": {
|
||||
"integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
|
||||
"dependencies": {
|
||||
"call-bind": "call-bind@1.0.2",
|
||||
"has-tostringtag": "has-tostringtag@1.0.0"
|
||||
}
|
||||
},
|
||||
"is-callable@1.2.7": {
|
||||
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"is-generator-function@1.0.10": {
|
||||
"integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
|
||||
"dependencies": {
|
||||
"has-tostringtag": "has-tostringtag@1.0.0"
|
||||
}
|
||||
},
|
||||
"is-typed-array@1.1.12": {
|
||||
"integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
|
||||
"dependencies": {
|
||||
"which-typed-array": "which-typed-array@1.1.11"
|
||||
}
|
||||
},
|
||||
"media-typer@0.3.0": {
|
||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"merge-descriptors@1.0.1": {
|
||||
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"methods@1.1.2": {
|
||||
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"mime-db@1.52.0": {
|
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"mime-types@2.1.35": {
|
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||
"dependencies": {
|
||||
"mime-db": "mime-db@1.52.0"
|
||||
}
|
||||
},
|
||||
"mime@1.6.0": {
|
||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"minimal-polyfills@2.2.3": {
|
||||
"integrity": "sha512-oxdmJ9cL+xV72h0xYxp4tP2d5/fTBpP45H8DIOn9pASuF8a3IYTf+25fMGDYGiWW+MFsuog6KD6nfmhZJQ+uUw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"mrmime@1.0.1": {
|
||||
"integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ms@2.0.0": {
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ms@2.1.2": {
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"ms@2.1.3": {
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"negotiator@0.6.3": {
|
||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"node-fetch@2.6.13": {
|
||||
"integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==",
|
||||
"dependencies": {
|
||||
"whatwg-url": "whatwg-url@5.0.0"
|
||||
}
|
||||
},
|
||||
"object-inspect@1.12.3": {
|
||||
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"on-finished@2.4.1": {
|
||||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
||||
"dependencies": {
|
||||
"ee-first": "ee-first@1.1.1"
|
||||
}
|
||||
},
|
||||
"parseurl@1.3.3": {
|
||||
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"path-to-regexp@0.1.7": {
|
||||
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"proxy-addr@2.0.7": {
|
||||
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
|
||||
"dependencies": {
|
||||
"forwarded": "forwarded@0.2.0",
|
||||
"ipaddr.js": "ipaddr.js@1.9.1"
|
||||
}
|
||||
},
|
||||
"qs@6.11.0": {
|
||||
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||
"dependencies": {
|
||||
"side-channel": "side-channel@1.0.4"
|
||||
}
|
||||
},
|
||||
"range-parser@1.2.1": {
|
||||
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"raw-body@2.5.1": {
|
||||
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
|
||||
"dependencies": {
|
||||
"bytes": "bytes@3.1.2",
|
||||
"http-errors": "http-errors@2.0.0",
|
||||
"iconv-lite": "iconv-lite@0.4.24",
|
||||
"unpipe": "unpipe@1.0.0"
|
||||
}
|
||||
},
|
||||
"run-exclusive@2.2.19": {
|
||||
"integrity": "sha512-K3mdoAi7tjJ/qT7Flj90L7QyPozwUaAG+CVhkdDje4HLKXUYC3N/Jzkau3flHVDLQVhiHBtcimVodMjN9egYbA==",
|
||||
"dependencies": {
|
||||
"minimal-polyfills": "minimal-polyfills@2.2.3"
|
||||
}
|
||||
},
|
||||
"safe-buffer@5.2.1": {
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"safer-buffer@2.1.2": {
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"send@0.18.0": {
|
||||
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
|
||||
"dependencies": {
|
||||
"debug": "debug@2.6.9",
|
||||
"depd": "depd@2.0.0",
|
||||
"destroy": "destroy@1.2.0",
|
||||
"encodeurl": "encodeurl@1.0.2",
|
||||
"escape-html": "escape-html@1.0.3",
|
||||
"etag": "etag@1.8.1",
|
||||
"fresh": "fresh@0.5.2",
|
||||
"http-errors": "http-errors@2.0.0",
|
||||
"mime": "mime@1.6.0",
|
||||
"ms": "ms@2.1.3",
|
||||
"on-finished": "on-finished@2.4.1",
|
||||
"range-parser": "range-parser@1.2.1",
|
||||
"statuses": "statuses@2.0.1"
|
||||
}
|
||||
},
|
||||
"serve-static@1.15.0": {
|
||||
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
|
||||
"dependencies": {
|
||||
"encodeurl": "encodeurl@1.0.2",
|
||||
"escape-html": "escape-html@1.0.3",
|
||||
"parseurl": "parseurl@1.3.3",
|
||||
"send": "send@0.18.0"
|
||||
}
|
||||
},
|
||||
"setprototypeof@1.2.0": {
|
||||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"side-channel@1.0.4": {
|
||||
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||
"dependencies": {
|
||||
"call-bind": "call-bind@1.0.2",
|
||||
"get-intrinsic": "get-intrinsic@1.2.1",
|
||||
"object-inspect": "object-inspect@1.12.3"
|
||||
}
|
||||
},
|
||||
"slug@6.1.0": {
|
||||
"integrity": "sha512-x6vLHCMasg4DR2LPiyFGI0gJJhywY6DTiGhCrOMzb3SOk/0JVLIaL4UhyFSHu04SD3uAavrKY/K3zZ3i6iRcgA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"statuses@2.0.1": {
|
||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"supports-color@7.2.0": {
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dependencies": {
|
||||
"has-flag": "has-flag@4.0.0"
|
||||
}
|
||||
},
|
||||
"supports-hyperlinks@2.3.0": {
|
||||
"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
|
||||
"dependencies": {
|
||||
"has-flag": "has-flag@4.0.0",
|
||||
"supports-color": "supports-color@7.2.0"
|
||||
}
|
||||
},
|
||||
"terminal-link@3.0.0": {
|
||||
"integrity": "sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==",
|
||||
"dependencies": {
|
||||
"ansi-escapes": "ansi-escapes@5.0.0",
|
||||
"supports-hyperlinks": "supports-hyperlinks@2.3.0"
|
||||
}
|
||||
},
|
||||
"toidentifier@1.0.1": {
|
||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"tr46@0.0.3": {
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"tsafe@1.6.5": {
|
||||
"integrity": "sha512-895zss8xqqHKTc28sHGIfZKnt3C5jrstB1DyPr/h3/flK0zojsZUMQL1/W4ytdDW6KI4Oth62nb9rrxmA3s3Iw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"type-fest@1.4.0": {
|
||||
"integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"type-is@1.6.18": {
|
||||
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
||||
"dependencies": {
|
||||
"media-typer": "media-typer@0.3.0",
|
||||
"mime-types": "mime-types@2.1.35"
|
||||
}
|
||||
},
|
||||
"ulid@2.3.0": {
|
||||
"integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"unpipe@1.0.0": {
|
||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"util@0.12.5": {
|
||||
"integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
|
||||
"dependencies": {
|
||||
"inherits": "inherits@2.0.4",
|
||||
"is-arguments": "is-arguments@1.1.1",
|
||||
"is-generator-function": "is-generator-function@1.0.10",
|
||||
"is-typed-array": "is-typed-array@1.1.12",
|
||||
"which-typed-array": "which-typed-array@1.1.11"
|
||||
}
|
||||
},
|
||||
"utils-merge@1.0.1": {
|
||||
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"uuid@9.0.1": {
|
||||
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"vary@1.1.2": {
|
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"web-encoding@1.1.5": {
|
||||
"integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==",
|
||||
"dependencies": {
|
||||
"@zxing/text-encoding": "@zxing/text-encoding@0.9.0",
|
||||
"util": "util@0.12.5"
|
||||
}
|
||||
},
|
||||
"web-streams-polyfill@3.2.1": {
|
||||
"integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"webidl-conversions@3.0.1": {
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"whatwg-url@5.0.0": {
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"dependencies": {
|
||||
"tr46": "tr46@0.0.3",
|
||||
"webidl-conversions": "webidl-conversions@3.0.1"
|
||||
}
|
||||
},
|
||||
"which-typed-array@1.1.11": {
|
||||
"integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
|
||||
"dependencies": {
|
||||
"available-typed-arrays": "available-typed-arrays@1.0.5",
|
||||
"call-bind": "call-bind@1.0.2",
|
||||
"for-each": "for-each@0.3.3",
|
||||
"gopd": "gopd@1.0.1",
|
||||
"has-tostringtag": "has-tostringtag@1.0.0"
|
||||
}
|
||||
},
|
||||
"ws@8.13.0": {
|
||||
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
|
||||
"dependencies": {}
|
||||
},
|
||||
"zod-error@1.5.0": {
|
||||
"integrity": "sha512-zzopKZ/skI9iXpqCEPj+iLCKl9b88E43ehcU+sbRoHuwGd9F1IDVGQ70TyO6kmfiRL1g4IXkjsXK+g1gLYl4WQ==",
|
||||
"dependencies": {
|
||||
"zod": "zod@3.21.4"
|
||||
}
|
||||
},
|
||||
"zod@3.21.4": {
|
||||
"integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
|
||||
"dependencies": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"remote": {}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { TriggerClient } from "npm:@trigger.dev/sdk";
|
||||
import { eventTrigger } from "npm:@trigger.dev/sdk";
|
||||
|
||||
export const triggerClient = new TriggerClient({
|
||||
id: "borderless",
|
||||
apiKey: "...",
|
||||
});
|
||||
|
||||
// your first job
|
||||
triggerClient.defineJob({
|
||||
id: "example-job",
|
||||
name: "Example Job",
|
||||
version: "0.0.1",
|
||||
trigger: eventTrigger({
|
||||
name: "example.event",
|
||||
}),
|
||||
run: async (payload, io, ctx) => {
|
||||
await io.logger.info("Hello world!", { payload });
|
||||
|
||||
return {
|
||||
message: "Hello world!",
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
Deno.serve(async (req) => {
|
||||
const response = await triggerClient.handleRequest(req);
|
||||
if (!response) {
|
||||
return Response.json(
|
||||
{ error: "Not found" },
|
||||
{
|
||||
status: 404,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return Response.json(response.body, {
|
||||
status: response.status,
|
||||
headers: response.headers,
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user