From 7caba3a02fe0aa900f33f21d9536cb7615a309a1 Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Tue, 6 Aug 2024 13:19:25 +0100 Subject: [PATCH] move core-apps to core/v3/apps, remove core-apps, start converting cli-v3 --- .vscode/settings.json | 6 +- apps/coordinator/package.json | 1 - apps/coordinator/src/checkpointer.ts | 6 +- apps/coordinator/src/index.ts | 4 +- apps/coordinator/tsconfig.json | 4 +- apps/docker-provider/package.json | 1 - apps/docker-provider/src/index.ts | 6 +- apps/docker-provider/tsconfig.json | 4 +- apps/kubernetes-provider/package.json | 1 - apps/kubernetes-provider/src/index.ts | 4 +- apps/kubernetes-provider/src/podCleaner.ts | 2 +- apps/kubernetes-provider/src/taskMonitor.ts | 4 +- .../src/uptimeHeartbeat.ts | 2 +- apps/kubernetes-provider/tsconfig.json | 4 +- packages/cli-v3/package.json | 44 +-- packages/cli-v3/src/cli/common.ts | 6 +- packages/cli-v3/src/commands/deploy.ts | 4 +- packages/cli-v3/src/commands/dev.tsx | 12 +- .../src/workers/prod/backgroundWorker.ts | 2 +- .../cli-v3/src/workers/prod/entry-point.ts | 17 +- packages/cli-v3/tsconfig.build.json | 8 + packages/cli-v3/tsconfig.check.json | 10 - packages/cli-v3/tsconfig.json | 35 +- packages/cli-v3/tsup.config.ts | 30 -- packages/cli-v3/tsup.workers.config.ts | 22 -- packages/core-apps/CHANGELOG.md | 175 --------- packages/core-apps/package.json | 39 -- packages/core-apps/tsconfig.json | 18 - packages/core/package.json | 18 +- .../src => core/src/v3/apps}/backoff.ts | 0 .../src => core/src/v3/apps}/checkpoints.ts | 10 +- .../src => core/src/v3/apps}/http.ts | 2 +- packages/core/src/v3/apps/index.ts | 7 + .../core/src/v3/apps/isExecaChildProcess.ts | 6 + .../src => core/src/v3/apps}/logger.ts | 0 .../src => core/src/v3/apps}/process.ts | 0 .../src => core/src/v3/apps}/provider.ts | 31 +- pnpm-lock.yaml | 361 +----------------- 38 files changed, 140 insertions(+), 766 deletions(-) create mode 100644 packages/cli-v3/tsconfig.build.json delete mode 100644 packages/cli-v3/tsconfig.check.json delete mode 100644 packages/cli-v3/tsup.config.ts delete mode 100644 packages/cli-v3/tsup.workers.config.ts delete mode 100644 packages/core-apps/CHANGELOG.md delete mode 100644 packages/core-apps/package.json delete mode 100644 packages/core-apps/tsconfig.json rename packages/{core-apps/src => core/src/v3/apps}/backoff.ts (100%) rename packages/{core-apps/src => core/src/v3/apps}/checkpoints.ts (82%) rename packages/{core-apps/src => core/src/v3/apps}/http.ts (94%) create mode 100644 packages/core/src/v3/apps/index.ts create mode 100644 packages/core/src/v3/apps/isExecaChildProcess.ts rename packages/{core-apps/src => core/src/v3/apps}/logger.ts (100%) rename packages/{core-apps/src => core/src/v3/apps}/process.ts (100%) rename packages/{core-apps/src => core/src/v3/apps}/provider.ts (96%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9086fe044..346c45890 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,9 @@ { "deno.enablePaths": ["references/deno-reference", "runtime_tests/tests/deno"], "debug.toolBarLocation": "commandCenter", - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "search.exclude": { + "**/node_modules/**": true, + "packages/cli-v3/e2e": true + } } diff --git a/apps/coordinator/package.json b/apps/coordinator/package.json index 1c1584223..1268a1c62 100644 --- a/apps/coordinator/package.json +++ b/apps/coordinator/package.json @@ -17,7 +17,6 @@ "license": "MIT", "dependencies": { "@trigger.dev/core": "workspace:*", - "@trigger.dev/core-apps": "workspace:*", "execa": "^8.0.1", "nanoid": "^5.0.6", "prom-client": "^15.1.0", diff --git a/apps/coordinator/src/checkpointer.ts b/apps/coordinator/src/checkpointer.ts index d469541d7..d191f488f 100644 --- a/apps/coordinator/src/checkpointer.ts +++ b/apps/coordinator/src/checkpointer.ts @@ -1,6 +1,6 @@ -import { ExponentialBackoff } from "@trigger.dev/core-apps/backoff"; -import { isExecaChildProcess, testDockerCheckpoint } from "@trigger.dev/core-apps/checkpoints"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; +import { ExponentialBackoff } from "@trigger.dev/core/v3/apps"; +import { testDockerCheckpoint, isExecaChildProcess } from "@trigger.dev/core/v3/apps"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; import { $ } from "execa"; import { nanoid } from "nanoid"; import fs from "node:fs/promises"; diff --git a/apps/coordinator/src/index.ts b/apps/coordinator/src/index.ts index 52f08d779..0d922174f 100644 --- a/apps/coordinator/src/index.ts +++ b/apps/coordinator/src/index.ts @@ -10,8 +10,8 @@ import { } from "@trigger.dev/core/v3"; import { ZodNamespace } from "@trigger.dev/core/v3/zodNamespace"; import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket"; -import { HttpReply, getTextBody } from "@trigger.dev/core-apps/http"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; +import { HttpReply, getTextBody } from "@trigger.dev/core/v3/apps"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; import { ChaosMonkey } from "./chaosMonkey"; import { Checkpointer } from "./checkpointer"; diff --git a/apps/coordinator/tsconfig.json b/apps/coordinator/tsconfig.json index 2e1257735..3c0376085 100644 --- a/apps/coordinator/tsconfig.json +++ b/apps/coordinator/tsconfig.json @@ -11,9 +11,7 @@ "skipLibCheck": true, "paths": { "@trigger.dev/core/v3": ["../../packages/core/src/v3"], - "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"], - "@trigger.dev/core-apps": ["../../packages/core-apps/src"], - "@trigger.dev/core-apps/*": ["../../packages/core-apps/src/*"] + "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"] } } } diff --git a/apps/docker-provider/package.json b/apps/docker-provider/package.json index 0c9e4e9a4..56d8f89b7 100644 --- a/apps/docker-provider/package.json +++ b/apps/docker-provider/package.json @@ -17,7 +17,6 @@ "license": "MIT", "dependencies": { "@trigger.dev/core": "workspace:*", - "@trigger.dev/core-apps": "workspace:*", "execa": "^8.0.1" }, "devDependencies": { diff --git a/apps/docker-provider/src/index.ts b/apps/docker-provider/src/index.ts index 7e891c354..dfa55d9fd 100644 --- a/apps/docker-provider/src/index.ts +++ b/apps/docker-provider/src/index.ts @@ -5,9 +5,9 @@ import { TaskOperationsCreateOptions, TaskOperationsIndexOptions, TaskOperationsRestoreOptions, -} from "@trigger.dev/core-apps/provider"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; -import { isExecaChildProcess, testDockerCheckpoint } from "@trigger.dev/core-apps/checkpoints"; +} from "@trigger.dev/core/v3/apps"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; +import { isExecaChildProcess, testDockerCheckpoint } from "@trigger.dev/core/v3/apps"; import { setTimeout } from "node:timers/promises"; import { PostStartCauses, PreStopCauses } from "@trigger.dev/core/v3"; diff --git a/apps/docker-provider/tsconfig.json b/apps/docker-provider/tsconfig.json index ff1edf980..3a866dd2b 100644 --- a/apps/docker-provider/tsconfig.json +++ b/apps/docker-provider/tsconfig.json @@ -9,9 +9,7 @@ "skipLibCheck": true, "paths": { "@trigger.dev/core/v3": ["../../packages/core/src/v3"], - "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"], - "@trigger.dev/core-apps": ["../../packages/core-apps/src"], - "@trigger.dev/core-apps/*": ["../../packages/core-apps/src/*"] + "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"] } } } diff --git a/apps/kubernetes-provider/package.json b/apps/kubernetes-provider/package.json index a34123bca..3b62f6544 100644 --- a/apps/kubernetes-provider/package.json +++ b/apps/kubernetes-provider/package.json @@ -18,7 +18,6 @@ "dependencies": { "@kubernetes/client-node": "^0.20.0", "@trigger.dev/core": "workspace:*", - "@trigger.dev/core-apps": "workspace:*", "p-queue": "^8.0.1" }, "devDependencies": { diff --git a/apps/kubernetes-provider/src/index.ts b/apps/kubernetes-provider/src/index.ts index d94d5f43c..437fcdd31 100644 --- a/apps/kubernetes-provider/src/index.ts +++ b/apps/kubernetes-provider/src/index.ts @@ -6,8 +6,8 @@ import { TaskOperationsIndexOptions, TaskOperationsPrePullDeploymentOptions, TaskOperationsRestoreOptions, -} from "@trigger.dev/core-apps/provider"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; +} from "@trigger.dev/core/v3/apps"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; import { MachinePreset, PostStartCauses, diff --git a/apps/kubernetes-provider/src/podCleaner.ts b/apps/kubernetes-provider/src/podCleaner.ts index ba9f40503..2cd23d1b6 100644 --- a/apps/kubernetes-provider/src/podCleaner.ts +++ b/apps/kubernetes-provider/src/podCleaner.ts @@ -1,5 +1,5 @@ import * as k8s from "@kubernetes/client-node"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; type PodCleanerOptions = { runtimeEnv: "local" | "kubernetes"; diff --git a/apps/kubernetes-provider/src/taskMonitor.ts b/apps/kubernetes-provider/src/taskMonitor.ts index 61fd7a63e..fc142efbd 100644 --- a/apps/kubernetes-provider/src/taskMonitor.ts +++ b/apps/kubernetes-provider/src/taskMonitor.ts @@ -1,6 +1,6 @@ import * as k8s from "@kubernetes/client-node"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; -import { EXIT_CODE_ALREADY_HANDLED, EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core-apps/process"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; +import { EXIT_CODE_ALREADY_HANDLED, EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core/v3/apps"; import { setTimeout } from "timers/promises"; import PQueue from "p-queue"; import type { Prettify } from "@trigger.dev/core/v3"; diff --git a/apps/kubernetes-provider/src/uptimeHeartbeat.ts b/apps/kubernetes-provider/src/uptimeHeartbeat.ts index a73c0d39a..9ff63032f 100644 --- a/apps/kubernetes-provider/src/uptimeHeartbeat.ts +++ b/apps/kubernetes-provider/src/uptimeHeartbeat.ts @@ -1,5 +1,5 @@ import * as k8s from "@kubernetes/client-node"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; +import { SimpleLogger } from "@trigger.dev/core/v3/apps"; type UptimeHeartbeatOptions = { runtimeEnv: "local" | "kubernetes"; diff --git a/apps/kubernetes-provider/tsconfig.json b/apps/kubernetes-provider/tsconfig.json index 8e6c54f74..661823ef7 100644 --- a/apps/kubernetes-provider/tsconfig.json +++ b/apps/kubernetes-provider/tsconfig.json @@ -9,9 +9,7 @@ "skipLibCheck": true, "paths": { "@trigger.dev/core/v3": ["../../packages/core/src/v3"], - "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"], - "@trigger.dev/core-apps": ["../../packages/core-apps/src"], - "@trigger.dev/core-apps/*": ["../../packages/core-apps/src/*"] + "@trigger.dev/core/v3/*": ["../../packages/core/src/v3/*"] } } } diff --git a/packages/cli-v3/package.json b/packages/cli-v3/package.json index aa7cb3e2d..a8d664022 100644 --- a/packages/cli-v3/package.json +++ b/packages/cli-v3/package.json @@ -2,8 +2,7 @@ "name": "trigger.dev", "version": "3.0.0-beta.52", "description": "A Command-Line Interface for Trigger.dev (v3) projects", - "main": "./dist/index.js", - "types": "./dist/index.d.ts", + "type": "module", "license": "MIT", "repository": { "type": "git", @@ -29,17 +28,26 @@ "files": [ "dist" ], - "type": "module", - "exports": "./dist/index.js", "bin": { "triggerdev": "./dist/index.js" }, + "tshy": { + "selfLink": false, + "main": false, + "module": false, + "dialects": [ + "esm" + ], + "project": "./tsconfig.build.json", + "exports": { + "./package.json": "./package.json", + ".": "./src/index.ts" + } + }, "devDependencies": { - "@trigger.dev/core-apps": "workspace:*", - "@trigger.dev/tsconfig": "workspace:*", "@types/gradient-string": "^1.1.2", "@types/mock-fs": "^4.13.1", - "@types/node": "18", + "@types/node": "20.14.14", "@types/object-hash": "^3.0.6", "@types/react": "^18.2.48", "@types/semver": "^7.3.13", @@ -50,24 +58,16 @@ "open": "^10.0.3", "p-retry": "^6.1.0", "rimraf": "^5.0.7", - "tsup": "^8.0.1", "type-fest": "^3.6.0", - "typescript": "^5.3.3", + "typescript": "^5.5.4", "vitest": "^1.6.0", - "xdg-app-paths": "^8.3.0" + "xdg-app-paths": "^8.3.0", + "tshy": "^3.0.2" }, "scripts": { - "typecheck": "tsc -p tsconfig.check.json", - "build": "npm run clean && run-p build:**", - "build:main": "tsup", - "build:workers": "tsup --config tsup.workers.config.ts", - "build:prod-containerfile": "cpy --flat src/Containerfile.prod dist/", - "dev": "npm run clean && run-p dev:**", - "dev:main": "tsup --watch", - "dev:workers": "tsup --config tsup.workers.config.ts --watch", - "dev:test": "nodemon -w src/Containerfile.prod -x npm run build:prod-containerfile", - "clean": "rimraf dist", - "start": "node dist/index.js", + "typecheck": "tsc", + "build": "tshy", + "dev": "tshy --watch", "test": "vitest", "test:e2e": "vitest --run -c e2e/vite.config.js" }, @@ -129,6 +129,6 @@ "zod-validation-error": "^1.5.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=18.20.0" } } \ No newline at end of file diff --git a/packages/cli-v3/src/cli/common.ts b/packages/cli-v3/src/cli/common.ts index 454875126..a4081178a 100644 --- a/packages/cli-v3/src/cli/common.ts +++ b/packages/cli-v3/src/cli/common.ts @@ -2,11 +2,11 @@ import { flattenAttributes } from "@trigger.dev/core/v3"; import { recordSpanException } from "@trigger.dev/core/v3/workers"; import { Command } from "commander"; import { z } from "zod"; -import { getTracer, provider } from "../telemetry/tracing"; +import { getTracer, provider } from "../telemetry/tracing.js"; import { fromZodError } from "zod-validation-error"; -import { logger } from "../utilities/logger"; +import { logger } from "../utilities/logger.js"; import { outro } from "@clack/prompts"; -import { chalkError } from "../utilities/cliOutput"; +import { chalkError } from "../utilities/cliOutput.js"; export const CommonCommandOptions = z.object({ apiUrl: z.string().optional(), diff --git a/packages/cli-v3/src/commands/deploy.ts b/packages/cli-v3/src/commands/deploy.ts index a1a21bbaa..e99732afb 100644 --- a/packages/cli-v3/src/commands/deploy.ts +++ b/packages/cli-v3/src/commands/deploy.ts @@ -19,7 +19,7 @@ import { setTimeout } from "node:timers/promises"; import invariant from "tiny-invariant"; import { z } from "zod"; import * as packageJson from "../../package.json"; -import { CliApiClient } from "../apiClient"; +import { CliApiClient } from "../apiClient.js"; import { CommonCommandOptions, SkipCommandError, @@ -30,7 +30,7 @@ import { wrapCommandAction, } from "../cli/common.js"; import { ReadConfigResult, readConfig } from "../utilities/configFiles.js"; -import { createTempDir, writeJSONFile } from "../utilities/fileSystem"; +import { createTempDir, writeJSONFile } from "../utilities/fileSystem.js"; import { printStandloneInitialBanner } from "../utilities/initialBanner.js"; import { detectPackageNameFromImportPath, diff --git a/packages/cli-v3/src/commands/dev.tsx b/packages/cli-v3/src/commands/dev.tsx index 11188c8dd..a6146dbb3 100644 --- a/packages/cli-v3/src/commands/dev.tsx +++ b/packages/cli-v3/src/commands/dev.tsx @@ -21,14 +21,14 @@ import React, { Suspense, useEffect } from "react"; import { ClientOptions, WebSocket as wsWebSocket } from "ws"; import { z } from "zod"; import * as packageJson from "../../package.json"; -import { CliApiClient } from "../apiClient"; +import { CliApiClient } from "../apiClient.js"; import { CommonCommandOptions, commonOptions, wrapCommandAction } from "../cli/common.js"; import { bundleDependenciesPlugin, bundleTriggerDevCore, mockServerOnlyPlugin, workerSetupImportConfigPlugin, -} from "../utilities/build"; +} from "../utilities/build.js"; import { chalkError, chalkGrey, @@ -37,15 +37,15 @@ import { chalkTask, chalkWorker, cliLink, -} from "../utilities/cliOutput"; -import { readConfig } from "../utilities/configFiles"; -import { readJSONFile } from "../utilities/fileSystem"; +} from "../utilities/cliOutput.js"; +import { readConfig } from "../utilities/configFiles.js"; +import { readJSONFile } from "../utilities/fileSystem.js"; import { printDevBanner, printStandloneInitialBanner } from "../utilities/initialBanner.js"; import { detectPackageNameFromImportPath, parsePackageName, stripWorkspaceFromVersion, -} from "../utilities/installPackages"; +} from "../utilities/installPackages.js"; import { logger } from "../utilities/logger.js"; import { isLoggedIn } from "../utilities/session.js"; import { createTaskFileImports, gatherTaskFiles } from "../utilities/taskFiles"; diff --git a/packages/cli-v3/src/workers/prod/backgroundWorker.ts b/packages/cli-v3/src/workers/prod/backgroundWorker.ts index 76b0ad0a5..e9513b97c 100644 --- a/packages/cli-v3/src/workers/prod/backgroundWorker.ts +++ b/packages/cli-v3/src/workers/prod/backgroundWorker.ts @@ -29,7 +29,7 @@ import { UncaughtExceptionError, UnexpectedExitError, getFriendlyErrorMessage, -} from "../common/errors"; +} from "../common/errors.js"; type BackgroundWorkerParams = { env: Record; diff --git a/packages/cli-v3/src/workers/prod/entry-point.ts b/packages/cli-v3/src/workers/prod/entry-point.ts index 062e7c44b..878b2ddde 100644 --- a/packages/cli-v3/src/workers/prod/entry-point.ts +++ b/packages/cli-v3/src/workers/prod/entry-point.ts @@ -12,16 +12,20 @@ import { WaitReason, } from "@trigger.dev/core/v3"; import { InferSocketMessageSchema, ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket"; -import { HttpReply, getRandomPortNumber } from "@trigger.dev/core-apps/http"; -import { SimpleLogger } from "@trigger.dev/core-apps/logger"; -import { EXIT_CODE_ALREADY_HANDLED, EXIT_CODE_CHILD_NONZERO } from "@trigger.dev/core-apps/process"; -import { ExponentialBackoff } from "@trigger.dev/core-apps/backoff"; +import { + HttpReply, + getRandomPortNumber, + SimpleLogger, + EXIT_CODE_ALREADY_HANDLED, + EXIT_CODE_CHILD_NONZERO, + ExponentialBackoff, +} from "@trigger.dev/core/v3/apps"; import { OnWaitForBatchMessage, OnWaitForTaskMessage, ProdBackgroundWorker, -} from "./backgroundWorker"; -import { TaskMetadataParseError, UncaughtExceptionError } from "../common/errors"; +} from "./backgroundWorker.js"; +import { TaskMetadataParseError, UncaughtExceptionError } from "../common/errors.js"; import { checkpointSafeTimeout, unboundedTimeout } from "@trigger.dev/core/v3/utils/timers"; import { randomUUID } from "node:crypto"; import { readFile } from "node:fs/promises"; @@ -1346,6 +1350,7 @@ class ProdWorker { } catch (error) { logger.error("HTTP server error", { error }); reply.empty(500); + return; } }); diff --git a/packages/cli-v3/tsconfig.build.json b/packages/cli-v3/tsconfig.build.json new file mode 100644 index 000000000..7c84a38fd --- /dev/null +++ b/packages/cli-v3/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "../../.configs/tsconfig.base.json", + "compilerOptions": { + "isolatedDeclarations": false, + "composite": true, + "sourceMap": true + } +} diff --git a/packages/cli-v3/tsconfig.check.json b/packages/cli-v3/tsconfig.check.json deleted file mode 100644 index 8280e639b..000000000 --- a/packages/cli-v3/tsconfig.check.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "noEmit": true, - "paths": { - "@trigger.dev/core-apps": ["../core-apps/src"], - "@trigger.dev/core-apps/*": ["../core-apps/src/*"] - } - } -} diff --git a/packages/cli-v3/tsconfig.json b/packages/cli-v3/tsconfig.json index b349942a7..ea0b74abd 100644 --- a/packages/cli-v3/tsconfig.json +++ b/packages/cli-v3/tsconfig.json @@ -1,34 +1,9 @@ -// See: https://www.totaltypescript.com/tsconfig-cheat-sheet { - "include": ["./src/**/*.ts", "./src/**/*.tsx", "./e2e/**/*.ts", "./types.d.ts"], + "extends": "../../.configs/tsconfig.base.json", "compilerOptions": { - "esModuleInterop": true, - "skipLibCheck": true, - "target": "es2022", - "allowJs": true, - "resolveJsonModule": true, - "moduleDetection": "force", - "isolatedModules": true, - "strict": true, - "noUncheckedIndexedAccess": true, - /* Building for a monorepo */ - "declaration": true, - "composite": false, - "sourceMap": true, - "declarationMap": true, - /* We're building with tsup */ - "moduleResolution": "Bundler", - "module": "ESNext", - "noEmit": true, - "lib": ["es2022", "DOM"], - "types": ["node", "vitest/globals"], - "jsx": "react", - "paths": { - "@trigger.dev/core/v3": ["../core/src/v3"], - "@trigger.dev/core/v3/*": ["../core/src/v3/*"], - "@trigger.dev/core-apps": ["../core-apps/src"], - "@trigger.dev/core-apps/*": ["../core-apps/src/*"] - } + "isolatedDeclarations": false, + "composite": true, + "sourceMap": true }, - "exclude": ["node_modules", "./e2e/fixtures"] + "include": ["./src/**/*.ts", "./src/**/*.tsx"] } diff --git a/packages/cli-v3/tsup.config.ts b/packages/cli-v3/tsup.config.ts deleted file mode 100644 index 9c40907ff..000000000 --- a/packages/cli-v3/tsup.config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { cp } from "fs/promises"; -import { join } from "path"; -import { defineConfig } from "tsup"; - -const isDev = process.env.npm_lifecycle_event === "dev:main"; // This must match the npm script name - -export default defineConfig({ - clean: false, - tsconfig: "tsconfig.json", - dts: true, - splitting: false, - entry: ["src/index.ts"], - format: ["esm"], - minify: false, - metafile: false, - sourcemap: true, - target: "esnext", - outDir: "dist", - async onSuccess() { - if (isDev) { - console.debug("Running onSuccess() in dev"); - // exec: node dist/index.js - } - - await cp(join("src", "templates"), "dist/templates", { recursive: true }); - }, - banner: { - js: "import { createRequire as createRequireFromMetaUrl } from 'node:module';const require = createRequireFromMetaUrl(import.meta.url);", - }, -}); diff --git a/packages/cli-v3/tsup.workers.config.ts b/packages/cli-v3/tsup.workers.config.ts deleted file mode 100644 index 6ecc248f6..000000000 --- a/packages/cli-v3/tsup.workers.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig } from "tsup"; - -export default defineConfig({ - clean: false, - dts: false, - tsconfig: "tsconfig.json", - splitting: false, - entry: [ - "src/workers/dev/worker-setup.ts", - "src/workers/dev/worker-facade.ts", - "src/workers/prod/worker-setup.ts", - "src/workers/prod/worker-facade.ts", - "src/workers/prod/entry-point.ts", - ], - format: ["esm"], - minify: false, - metafile: false, - sourcemap: false, - target: "esnext", - outDir: "dist/workers", - noExternal: ["@trigger.dev/core-apps"], -}); diff --git a/packages/core-apps/CHANGELOG.md b/packages/core-apps/CHANGELOG.md deleted file mode 100644 index db29964e3..000000000 --- a/packages/core-apps/CHANGELOG.md +++ /dev/null @@ -1,175 +0,0 @@ -# @trigger.dev/core-apps - -## 3.0.0-beta.55 - -## 3.0.0-beta.54 - -## 3.0.0-beta.53 - -### Patch Changes - -- 5cf90da72: Fix issues that could result in unreezable state run crashes. Details: - - Never checkpoint between attempts - - Some messages and socket data now include attempt numbers - - Remove attempt completion replays - - Additional prod entry point logging - - Fail runs that receive deprecated (pre-lazy attempt) execute messages - -## 3.0.0-beta.52 - -### Patch Changes - -- 9882d66f8: Pre-pull deployment images for faster startups - -## 3.0.0-beta.51 - -## 3.0.0-beta.50 - -## 3.0.0-beta.49 - -## 3.0.0-beta.48 - -## 3.0.0-beta.47 - -## 3.0.0-beta.46 - -### Patch Changes - -- 14c2bdf89: Tasks should now be much more robust and resilient to reconnects during crucial operations and other failure scenarios. - - Task runs now have to signal checkpointable state prior to ALL checkpoints. This ensures flushing always happens. - - All important socket.io RPCs will now be retried with backoff. Actions relying on checkpoints will be replayed if we haven't been checkpointed and restored as expected, e.g. after reconnect. - - Other changes: - - - Fix retry check in shared queue - - Fix env var sync spinner - - Heartbeat between retries - - Fix retry prep - - Fix prod worker no tasks detection - - Fail runs above `MAX_TASK_RUN_ATTEMPTS` - - Additional debug logs in all places - - Prevent crashes due to failed socket schema parsing - - Remove core-apps barrel - - Upgrade socket.io-client to fix an ACK memleak - - Additional index failure logs - - Prevent message loss during reconnect - - Prevent burst of heartbeats on reconnect - - Prevent crash on failed cleanup - - Handle at-least-once lazy execute message delivery - - Handle uncaught entry point exceptions - -## 3.0.0-beta.45 - -### Patch Changes - -- 5ae3da6b4: - Fix artifact detection logs - - Fix OOM detection and error messages - - Add test link to cli deployment completion - -## 3.0.0-beta.44 - -## 3.0.0-beta.43 - -## 3.0.0-beta.42 - -## 3.0.0-beta.41 - -## 3.0.0-beta.40 - -## 3.0.0-beta.39 - -## 3.0.0-beta.38 - -## 3.0.0-beta.37 - -### Patch Changes - -- 68d32429b: Capture and display stderr on index failures -- 68d32429b: - Fix uncaught provider exception - - Remove unused provider messages -- 35dbaedf6: - Fix init command SDK pinning - - Show --api-url / -a flag where needed - - CLI now also respects `TRIGGER_TELEMETRY_DISABLED` - - Dedicated docker checkpoint test function - -## 3.0.0-beta.36 - -## 3.0.0-beta.35 - -## 3.0.0-beta.34 - -## 3.0.0-beta.33 - -## 3.0.0-beta.32 - -## 3.0.0-beta.31 - -## 3.0.0-beta.30 - -## 3.0.0-beta.29 - -## 3.0.0-beta.28 - -## 3.0.0-beta.27 - -## 3.0.0-beta.26 - -## 3.0.0-beta.25 - -## 3.0.0-beta.24 - -## 3.0.0-beta.23 - -## 3.0.0-beta.22 - -## 3.0.0-beta.21 - -## 3.0.0-beta.20 - -## 3.0.0-beta.19 - -## 3.0.0-beta.18 - -### Patch Changes - -- b68012f81: Extracting out all the non-SDK related features from the main @trigger.dev/core/v3 export - -## 3.0.0-beta.17 - -## 3.0.0-beta.16 - -## 3.0.0-beta.15 - -## 3.0.0-beta.14 - -## 3.0.0-beta.13 - -## 3.0.0-beta.12 - -## 3.0.0-beta.11 - -## 3.0.0-beta.7 - -## 3.0.0-beta.6 - -### Patch Changes - -- 7ea8532cc: Display errors for runs and deployments - -## 3.0.0-beta.5 - -## 3.0.0-beta.4 - -## 3.0.0-beta.3 - -## 3.0.0-beta.2 - -## 3.0.0-beta.1 - -### Patch Changes - -- b66d5525e: add machine config and secure zod connection - -## 3.0.0-beta.0 diff --git a/packages/core-apps/package.json b/packages/core-apps/package.json deleted file mode 100644 index 00ea1cdcd..000000000 --- a/packages/core-apps/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@trigger.dev/core-apps", - "description": "Backend core code used across apps", - "version": "3.0.0-beta.55", - "private": true, - "license": "MIT", - "main": "./dist/index.js", - "types": "./dist/index.d.ts", - "module": "./dist/index.mjs", - "files": [ - "dist" - ], - "exports": { - ".": { - "import": { - "types": "./dist/index.d.mts", - "default": "./dist/index.mjs" - }, - "require": "./dist/index.js", - "types": "./dist/index.d.ts" - }, - "./package.json": "./package.json" - }, - "scripts": { - "typecheck": "tsc --noEmit" - }, - "devDependencies": { - "@trigger.dev/core": "workspace:*", - "@trigger.dev/tsconfig": "workspace:*", - "@types/node": "18", - "typescript": "^5.3.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "dependencies": { - "execa": "^8.0.1" - } -} \ No newline at end of file diff --git a/packages/core-apps/tsconfig.json b/packages/core-apps/tsconfig.json deleted file mode 100644 index ceb26c729..000000000 --- a/packages/core-apps/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "@trigger.dev/tsconfig/node18.json", - "include": ["src/globals.d.ts", "./src/**/*.ts", "tsup.config.ts", "./test/**/*.ts"], - "compilerOptions": { - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "declaration": false, - "declarationMap": false, - "lib": ["DOM", "DOM.Iterable"], - "paths": { - "@trigger.dev/core/v3": ["../core/src/v3"], - "@trigger.dev/core/v3/*": ["../core/src/v3/*"], - "@trigger.dev/tsup/*": ["../../config-packages/tsup/src/*"], - "@trigger.dev/tsup": ["../../config-packages/tsup/src/index"] - } - }, - "exclude": ["node_modules"] -} diff --git a/packages/core/package.json b/packages/core/package.json index 4a5cd8afd..9f2258965 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -28,6 +28,7 @@ "./types": "./src/types.ts", "./versions": "./src/versions.ts", "./v3": "./src/v3/index.ts", + "./v3/apps": "./src/v3/apps/index.ts", "./v3/errors": "./src/v3/errors.ts", "./v3/logger-api": "./src/v3/logger-api.ts", "./v3/otel": "./src/v3/otel/index.ts", @@ -80,7 +81,8 @@ "superjson": "^2.2.1", "zod": "3.22.3", "zod-error": "1.5.0", - "zod-validation-error": "^1.5.0" + "zod-validation-error": "^1.5.0", + "execa": "^8.0.1" }, "devDependencies": { "@types/humanize-duration": "^3.27.1", @@ -89,7 +91,6 @@ "vitest": "^1.6.0", "rimraf": "^3.0.2", "socket.io": "4.7.4", - "ts-jest": "^29.1.1", "tshy": "^3.0.2", "typescript": "^5.5.4" }, @@ -230,6 +231,17 @@ "default": "./dist/commonjs/v3/index.js" } }, + "./v3/apps": { + "import": { + "triggerdotdev-source": "./src/v3/apps/index.ts", + "types": "./dist/esm/v3/apps/index.d.ts", + "default": "./dist/esm/v3/apps/index.js" + }, + "require": { + "types": "./dist/commonjs/v3/apps/index.d.ts", + "default": "./dist/commonjs/v3/apps/index.js" + } + }, "./v3/errors": { "import": { "triggerdotdev-source": "./src/v3/errors.ts", @@ -452,4 +464,4 @@ } }, "type": "module" -} +} \ No newline at end of file diff --git a/packages/core-apps/src/backoff.ts b/packages/core/src/v3/apps/backoff.ts similarity index 100% rename from packages/core-apps/src/backoff.ts rename to packages/core/src/v3/apps/backoff.ts diff --git a/packages/core-apps/src/checkpoints.ts b/packages/core/src/v3/apps/checkpoints.ts similarity index 82% rename from packages/core-apps/src/checkpoints.ts rename to packages/core/src/v3/apps/checkpoints.ts index 039a0bd16..293cfc478 100644 --- a/packages/core-apps/src/checkpoints.ts +++ b/packages/core/src/v3/apps/checkpoints.ts @@ -1,9 +1,5 @@ -import { randomUUID } from "crypto"; -import { $, type ExecaChildProcess } from "execa"; - -export function isExecaChildProcess(maybeExeca: unknown): maybeExeca is Awaited { - return typeof maybeExeca === "object" && maybeExeca !== null && "escapedCommand" in maybeExeca; -} +import { randomUUID } from "node:crypto"; +import { isExecaChildProcess } from "./isExecaChildProcess.js"; export type CheckpointTestResult = | { @@ -16,6 +12,8 @@ export type CheckpointTestResult = }; export async function testDockerCheckpoint(): Promise { + const { $ } = await import("execa"); + try { // Create a dummy container const container = diff --git a/packages/core-apps/src/http.ts b/packages/core/src/v3/apps/http.ts similarity index 94% rename from packages/core-apps/src/http.ts rename to packages/core/src/v3/apps/http.ts index 0a7a8560d..70de522c0 100644 --- a/packages/core-apps/src/http.ts +++ b/packages/core/src/v3/apps/http.ts @@ -1,4 +1,4 @@ -import { IncomingMessage, RequestListener } from "http"; +import { IncomingMessage, RequestListener } from "node:http"; export const getTextBody = (req: IncomingMessage) => new Promise((resolve) => { diff --git a/packages/core/src/v3/apps/index.ts b/packages/core/src/v3/apps/index.ts new file mode 100644 index 000000000..9c9b429ed --- /dev/null +++ b/packages/core/src/v3/apps/index.ts @@ -0,0 +1,7 @@ +export * from "./backoff.js"; +export * from "./logger.js"; +export * from "./process.js"; +export * from "./checkpoints.js"; +export * from "./http.js"; +export * from "./provider.js"; +export * from "./isExecaChildProcess.js"; diff --git a/packages/core/src/v3/apps/isExecaChildProcess.ts b/packages/core/src/v3/apps/isExecaChildProcess.ts new file mode 100644 index 000000000..559705f5d --- /dev/null +++ b/packages/core/src/v3/apps/isExecaChildProcess.ts @@ -0,0 +1,6 @@ +// @ts-ignore +import type { ExecaChildProcess } from "execa"; + +export function isExecaChildProcess(maybeExeca: unknown): maybeExeca is Awaited { + return typeof maybeExeca === "object" && maybeExeca !== null && "escapedCommand" in maybeExeca; +} diff --git a/packages/core-apps/src/logger.ts b/packages/core/src/v3/apps/logger.ts similarity index 100% rename from packages/core-apps/src/logger.ts rename to packages/core/src/v3/apps/logger.ts diff --git a/packages/core-apps/src/process.ts b/packages/core/src/v3/apps/process.ts similarity index 100% rename from packages/core-apps/src/process.ts rename to packages/core/src/v3/apps/process.ts diff --git a/packages/core-apps/src/provider.ts b/packages/core/src/v3/apps/provider.ts similarity index 96% rename from packages/core-apps/src/provider.ts rename to packages/core/src/v3/apps/provider.ts index 74c7b2c7f..863177509 100644 --- a/packages/core-apps/src/provider.ts +++ b/packages/core/src/v3/apps/provider.ts @@ -1,20 +1,20 @@ import { createServer } from "node:http"; -import { - ClientToSharedQueueMessages, - clientWebsocketMessages, - EnvironmentType, - MachinePreset, - PlatformToProviderMessages, - ProviderToPlatformMessages, - SharedQueueToClientMessages, -} from "@trigger.dev/core/v3"; -import { ZodMessageSender } from "@trigger.dev/core/v3/zodMessageHandler"; -import { ZodSocketConnection } from "@trigger.dev/core/v3/zodSocket"; -import { getRandomPortNumber, HttpReply, getTextBody } from "./http"; -import { SimpleLogger } from "./logger"; -import { isExecaChildProcess } from "./checkpoints"; +import { getRandomPortNumber, HttpReply, getTextBody } from "./http.js"; +import { SimpleLogger } from "./logger.js"; +import { isExecaChildProcess } from "./isExecaChildProcess.js"; import { setTimeout } from "node:timers/promises"; -import { EXIT_CODE_ALREADY_HANDLED } from "./process"; +import { EXIT_CODE_ALREADY_HANDLED } from "./process.js"; +import { EnvironmentType } from "../schemas/schemas.js"; +import { MachinePreset } from "../schemas/common.js"; +import { + ProviderToPlatformMessages, + PlatformToProviderMessages, + ClientToSharedQueueMessages, + SharedQueueToClientMessages, + clientWebsocketMessages, +} from "../schemas/messages.js"; +import { ZodMessageSender } from "../zodMessageHandler.js"; +import { ZodSocketConnection } from "../zodSocket.js"; const HTTP_SERVER_PORT = Number(process.env.HTTP_SERVER_PORT || getRandomPortNumber()); const MACHINE_NAME = process.env.MACHINE_NAME || "local"; @@ -358,6 +358,7 @@ export class ProviderShell implements Provider { } catch (error) { logger.error("HTTP server error", { error }); reply.empty(500); + return; } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e7dbfadc..f638bd8d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -80,9 +80,6 @@ importers: '@trigger.dev/core': specifier: workspace:* version: link:../../packages/core - '@trigger.dev/core-apps': - specifier: workspace:* - version: link:../../packages/core-apps execa: specifier: ^8.0.1 version: 8.0.1 @@ -117,9 +114,6 @@ importers: '@trigger.dev/core': specifier: workspace:* version: link:../../packages/core - '@trigger.dev/core-apps': - specifier: workspace:* - version: link:../../packages/core-apps execa: specifier: ^8.0.1 version: 8.0.1 @@ -148,9 +142,6 @@ importers: '@trigger.dev/core': specifier: workspace:* version: link:../../packages/core - '@trigger.dev/core-apps': - specifier: workspace:* - version: link:../../packages/core-apps p-queue: specifier: ^8.0.1 version: 8.0.1 @@ -1024,12 +1015,6 @@ importers: specifier: ^1.5.0 version: 1.5.0(zod@3.22.3) devDependencies: - '@trigger.dev/core-apps': - specifier: workspace:* - version: link:../core-apps - '@trigger.dev/tsconfig': - specifier: workspace:* - version: link:../../config-packages/tsconfig '@types/gradient-string': specifier: ^1.1.2 version: 1.1.2 @@ -1037,8 +1022,8 @@ importers: specifier: ^4.13.1 version: 4.13.1 '@types/node': - specifier: '18' - version: 18.17.1 + specifier: 20.14.14 + version: 20.14.14 '@types/object-hash': specifier: ^3.0.6 version: 3.0.6 @@ -1069,15 +1054,15 @@ importers: rimraf: specifier: ^5.0.7 version: 5.0.7 - tsup: - specifier: ^8.0.1 - version: 8.0.1(patch_hash=a5ztaafw5l4qfghy2hjjuynb34)(postcss@8.4.38)(typescript@5.4.5) + tshy: + specifier: ^3.0.2 + version: 3.0.2 type-fest: specifier: ^3.6.0 version: 3.13.0 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.17.1) + version: 1.6.0(@types/node@20.14.14) xdg-app-paths: specifier: ^8.3.0 version: 8.3.0 @@ -1120,6 +1105,9 @@ importers: '@opentelemetry/semantic-conventions': specifier: 1.25.1 version: 1.25.1 + execa: + specifier: ^8.0.1 + version: 8.0.1 humanize-duration: specifier: ^3.27.3 version: 3.27.3 @@ -1154,9 +1142,6 @@ importers: socket.io: specifier: 4.7.4 version: 4.7.4 - ts-jest: - specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.22.17)(jest@29.6.2)(typescript@5.5.4) tshy: specifier: ^3.0.2 version: 3.0.2 @@ -1167,25 +1152,6 @@ importers: specifier: ^1.6.0 version: 1.6.0(@types/node@20.14.14) - packages/core-apps: - dependencies: - execa: - specifier: ^8.0.1 - version: 8.0.1 - devDependencies: - '@trigger.dev/core': - specifier: workspace:* - version: link:../core - '@trigger.dev/tsconfig': - specifier: workspace:* - version: link:../../config-packages/tsconfig - '@types/node': - specifier: '18' - version: 18.17.1 - typescript: - specifier: ^5.3.0 - version: 5.3.3 - packages/database: dependencies: '@prisma/client': @@ -1236,30 +1202,6 @@ importers: specifier: ^4.9.4 version: 4.9.5 - packages/hono: - devDependencies: - '@trigger.dev/sdk': - specifier: workspace:* - version: link:../trigger-sdk - '@trigger.dev/tsconfig': - specifier: workspace:* - version: link:../../config-packages/tsconfig - '@trigger.dev/tsup': - specifier: workspace:* - version: link:../../config-packages/tsup - hono: - specifier: 3.10.3 - version: 3.10.3 - rimraf: - specifier: ^3.0.2 - version: 3.0.2 - tsup: - specifier: ^8.0.1 - version: 8.0.1(patch_hash=a5ztaafw5l4qfghy2hjjuynb34)(postcss@8.4.38)(typescript@5.3.2) - typescript: - specifier: ^5.3.0 - version: 5.3.2 - packages/otlp-importer: dependencies: long: @@ -18555,11 +18497,6 @@ packages: resolution: {integrity: sha512-Rgx+gy0tb2tH4hNzxYi/VK5pL/msaAtaQBIy8XsPHLujdSgo5OPWO6vOdjjB7ufM1l/CI2RLmlQ+L2QZOuHBjw==} dev: false - /hono@3.10.3: - resolution: {integrity: sha512-44YzAp+rydwGWqW+VRivuOWpGWug8zCSy1Gd6gBLAlclIVlPjZAYXfSNqlhSIvd6ZyseM4aP9SDDNmwXceIy+A==} - engines: {node: '>=16.0.0'} - dev: true - /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -19574,35 +19511,6 @@ packages: - ts-node dev: true - /jest-cli@29.6.2(@types/node@20.14.14): - resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.6.2 - '@jest/test-result': 29.6.2 - '@jest/types': 29.6.1 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.10 - import-local: 3.1.0 - jest-config: 29.6.2(@types/node@20.14.14) - jest-util: 29.6.2 - jest-validate: 29.6.2 - prompts: 2.4.2 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /jest-config@29.6.2(@types/node@18.17.1): resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -19683,46 +19591,6 @@ packages: - supports-color dev: true - /jest-config@29.6.2(@types/node@20.14.14): - resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.22.17 - '@jest/test-sequencer': 29.6.2 - '@jest/types': 29.6.1 - '@types/node': 20.14.14 - babel-jest: 29.6.2(@babel/core@7.22.17) - chalk: 4.1.2 - ci-info: 3.8.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.10 - jest-circus: 29.6.2 - jest-environment-node: 29.6.2 - jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.6.2 - jest-runner: 29.6.2 - jest-util: 29.6.2 - jest-validate: 29.6.2 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - /jest-diff@29.6.2: resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -20035,27 +19903,6 @@ packages: - ts-node dev: true - /jest@29.6.2(@types/node@20.14.14): - resolution: {integrity: sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.6.2 - '@jest/types': 29.6.1 - import-local: 3.1.0 - jest-cli: 29.6.2(@types/node@20.14.14) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -26307,40 +26154,6 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.1(@babel/core@7.22.17)(jest@29.6.2)(typescript@5.5.4): - resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.22.17 - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 29.6.2(@types/node@20.14.14) - jest-util: 29.6.2 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.5.4 - typescript: 5.5.4 - yargs-parser: 21.1.1 - dev: true - /ts-node@10.9.1(@swc/core@1.3.26)(@types/node@18.11.18)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -26578,47 +26391,7 @@ packages: transitivePeerDependencies: - supports-color - ts-node - patched: true - - /tsup@8.0.1(patch_hash=a5ztaafw5l4qfghy2hjjuynb34)(postcss@8.4.38)(typescript@5.4.5): - resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 4.0.1(esbuild@0.19.11) - cac: 6.7.14 - chokidar: 3.5.3 - debug: 4.3.4 - esbuild: 0.19.11 - execa: 5.1.1 - globby: 11.1.0 - joycon: 3.1.1 - postcss: 8.4.38 - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.2) - resolve-from: 5.0.0 - rollup: 4.13.2 - source-map: 0.8.0-beta.0 - sucrase: 3.32.0 - tree-kill: 1.2.2 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - ts-node - dev: true + dev: false patched: true /tsutils@3.21.0(typescript@5.2.2): @@ -26980,6 +26753,7 @@ packages: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true + dev: false /typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} @@ -27528,27 +27302,6 @@ packages: - terser dev: true - /vite-node@1.6.0(@types/node@18.17.1): - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 5.2.7(@types/node@18.17.1) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node@1.6.0(@types/node@20.14.14): resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -27757,42 +27510,6 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.2.7(@types/node@18.17.1): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.17.1 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.13.2 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@5.2.7(@types/node@20.14.14): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -27941,62 +27658,6 @@ packages: - terser dev: true - /vitest@1.6.0(@types/node@18.17.1): - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 18.17.1 - '@vitest/expect': 1.6.0 - '@vitest/runner': 1.6.0 - '@vitest/snapshot': 1.6.0 - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.6.0 - tinypool: 0.8.3 - vite: 5.2.7(@types/node@18.17.1) - vite-node: 1.6.0(@types/node@18.17.1) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest@1.6.0(@types/node@20.14.14): resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0}