From bec6cbab80e9e902836befb1da40cde3b2954419 Mon Sep 17 00:00:00 2001 From: James Watkins-Harvey Date: Wed, 16 Sep 2026 16:23:28 -0400 Subject: [PATCH] Remove retired VS Code debugger sample --- .scripts/list-of-samples.json | 1 - README.md | 1 - pnpm-lock.yaml | 60 --------------------------- vscode-debugger/.eslintignore | 3 -- vscode-debugger/.eslintrc.js | 48 --------------------- vscode-debugger/.gitignore | 2 - vscode-debugger/.npmrc | 1 - vscode-debugger/.nvmrc | 1 - vscode-debugger/.post-create | 18 -------- vscode-debugger/.prettierignore | 1 - vscode-debugger/.prettierrc | 2 - vscode-debugger/README.md | 12 ------ vscode-debugger/package.json | 45 -------------------- vscode-debugger/src/activities.ts | 9 ---- vscode-debugger/src/client.ts | 26 ------------ vscode-debugger/src/debug-replayer.ts | 5 --- vscode-debugger/src/worker.ts | 17 -------- vscode-debugger/src/workflows.ts | 21 ---------- vscode-debugger/tsconfig.json | 13 ------ 19 files changed, 286 deletions(-) delete mode 100644 vscode-debugger/.eslintignore delete mode 100644 vscode-debugger/.eslintrc.js delete mode 100644 vscode-debugger/.gitignore delete mode 100644 vscode-debugger/.npmrc delete mode 100644 vscode-debugger/.nvmrc delete mode 100644 vscode-debugger/.post-create delete mode 100644 vscode-debugger/.prettierignore delete mode 100644 vscode-debugger/.prettierrc delete mode 100644 vscode-debugger/README.md delete mode 100644 vscode-debugger/package.json delete mode 100644 vscode-debugger/src/activities.ts delete mode 100644 vscode-debugger/src/client.ts delete mode 100644 vscode-debugger/src/debug-replayer.ts delete mode 100644 vscode-debugger/src/worker.ts delete mode 100644 vscode-debugger/src/workflows.ts delete mode 100644 vscode-debugger/tsconfig.json diff --git a/.scripts/list-of-samples.json b/.scripts/list-of-samples.json index c738e0c90..4e635dba3 100644 --- a/.scripts/list-of-samples.json +++ b/.scripts/list-of-samples.json @@ -54,7 +54,6 @@ "strands-agents", "timer-examples", "timer-progress", - "vscode-debugger", "worker-specific-task-queues", "worker-versioning", "workflow-streams", diff --git a/README.md b/README.md index a208b855f..adf0bf73f 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,6 @@ and you'll be given the list of sample options. - [**Production Build**](./production): Build code in advance for faster Worker startup times. - [**Environment Configuration**](./env-config): Configure Temporal Client connections using TOML configuration files with support for multiple environment profiles and programmatic overrides. -- [**Debugging**](https://docs.temporal.io/dev-guide/typescript/debugging): The [vscode-debugger](./vscode-debugger) sample shows how to use the Temporal VS Code plugin to debug a running or completed Workflow Execution. - [**Patching**](https://docs.temporal.io/workflows/#workflow-versioning): Patch in new Workflow code when making updates to Workflows that have executions in progress in production. - [**Custom Logger**](./custom-logger): Use a [winston](https://github.com/winstonjs/winston) logger to get logs out of all SDK components. - [**Sinks**](./sinks): Use Sinks to extract data out of Workflows for alerting/logging/metrics/tracing purposes. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4b4037b8..e0e526546 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4221,61 +4221,6 @@ importers: specifier: ^5.6.3 version: 5.7.3 - vscode-debugger: - dependencies: - '@temporalio/activity': - specifier: ^1.24.0 - version: 1.24.0 - '@temporalio/client': - specifier: ^1.24.0 - version: 1.24.0 - '@temporalio/envconfig': - specifier: ^1.24.0 - version: 1.24.0 - '@temporalio/worker': - specifier: ^1.24.0 - version: 1.24.0(@swc/helpers@0.5.15) - '@temporalio/workflow': - specifier: ^1.24.0 - version: 1.24.0 - waait: - specifier: ^1.0.5 - version: 1.0.5 - devDependencies: - '@tsconfig/node22': - specifier: ^22.0.0 - version: 22.0.5 - '@types/node': - specifier: ^22.9.1 - version: 22.12.0 - '@typescript-eslint/eslint-plugin': - specifier: ^8.18.0 - version: 8.22.0(@typescript-eslint/parser@8.22.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3) - '@typescript-eslint/parser': - specifier: ^8.18.0 - version: 8.22.0(eslint@8.57.1)(typescript@5.7.3) - eslint: - specifier: ^8.57.1 - version: 8.57.1 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.1) - eslint-plugin-deprecation: - specifier: ^3.0.0 - version: 3.0.0(eslint@8.57.1)(typescript@5.7.3) - nodemon: - specifier: ^3.1.7 - version: 3.1.9 - prettier: - specifier: ^3.4.2 - version: 3.4.2 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.10.11(@swc/helpers@0.5.15))(@types/node@22.12.0)(typescript@5.7.3) - typescript: - specifier: ^5.6.3 - version: 5.7.3 - worker-specific-task-queues: dependencies: '@temporalio/activity': @@ -17602,9 +17547,6 @@ packages: resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} engines: {node: '>=10'} - waait@1.0.5: - resolution: {integrity: sha512-wp+unA4CpqxvBUKHHv8D86fK4jWByHAWyhEXXVHfVUZfK+16ylpj7hjQ58Z8j9ntu8XNukRQT8Fi5qbyJ8rkyw==} - walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -35253,8 +35195,6 @@ snapshots: dependencies: xml-name-validator: 3.0.0 - waait@1.0.5: {} - walker@1.0.8: dependencies: makeerror: 1.0.12 diff --git a/vscode-debugger/.eslintignore b/vscode-debugger/.eslintignore deleted file mode 100644 index 7bd99a41b..000000000 --- a/vscode-debugger/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -lib -.eslintrc.js \ No newline at end of file diff --git a/vscode-debugger/.eslintrc.js b/vscode-debugger/.eslintrc.js deleted file mode 100644 index 9f199cd97..000000000 --- a/vscode-debugger/.eslintrc.js +++ /dev/null @@ -1,48 +0,0 @@ -const { builtinModules } = require('module'); - -const ALLOWED_NODE_BUILTINS = new Set(['assert']); - -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - parserOptions: { - project: './tsconfig.json', - tsconfigRootDir: __dirname, - }, - plugins: ['@typescript-eslint', 'deprecation'], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier', - ], - rules: { - // recommended for safety - '@typescript-eslint/no-floating-promises': 'error', // forgetting to await Activities and Workflow APIs is bad - 'deprecation/deprecation': 'warn', - - // code style preference - 'object-shorthand': ['error', 'always'], - - // relaxed rules, for convenience - '@typescript-eslint/no-unused-vars': [ - 'warn', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - }, - ], - '@typescript-eslint/no-explicit-any': 'off', - }, - overrides: [ - { - files: ['src/**/workflows.ts', 'src/**/workflows-*.ts', 'src/**/workflows/*.ts'], - rules: { - 'no-restricted-imports': [ - 'error', - ...builtinModules.filter((m) => !ALLOWED_NODE_BUILTINS.has(m)).flatMap((m) => [m, `node:${m}`]), - ], - }, - }, - ], -}; diff --git a/vscode-debugger/.gitignore b/vscode-debugger/.gitignore deleted file mode 100644 index a9f4ed545..000000000 --- a/vscode-debugger/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -lib -node_modules \ No newline at end of file diff --git a/vscode-debugger/.npmrc b/vscode-debugger/.npmrc deleted file mode 100644 index 9cf949503..000000000 --- a/vscode-debugger/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=false \ No newline at end of file diff --git a/vscode-debugger/.nvmrc b/vscode-debugger/.nvmrc deleted file mode 100644 index 2bd5a0a98..000000000 --- a/vscode-debugger/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -22 diff --git a/vscode-debugger/.post-create b/vscode-debugger/.post-create deleted file mode 100644 index 055c11e9e..000000000 --- a/vscode-debugger/.post-create +++ /dev/null @@ -1,18 +0,0 @@ -To begin development, install the Temporal CLI: - -Mac: {cyan brew install temporal} -Other: Download and extract the latest release from https://github.com/temporalio/cli/releases/latest - -Start Temporal Server: - -{cyan temporal server start-dev} - -Use Node version 18+ (v22.x is recommended): - -Mac: {cyan brew install node@22} -Other: https://nodejs.org/en/download/ - -Then, in the project directory, using two other shells, run these commands: - -{cyan npm run start.watch} -{cyan npm run workflow} diff --git a/vscode-debugger/.prettierignore b/vscode-debugger/.prettierignore deleted file mode 100644 index 7951405f8..000000000 --- a/vscode-debugger/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -lib \ No newline at end of file diff --git a/vscode-debugger/.prettierrc b/vscode-debugger/.prettierrc deleted file mode 100644 index 965d50bff..000000000 --- a/vscode-debugger/.prettierrc +++ /dev/null @@ -1,2 +0,0 @@ -printWidth: 120 -singleQuote: true diff --git a/vscode-debugger/README.md b/vscode-debugger/README.md deleted file mode 100644 index 9336fe8cb..000000000 --- a/vscode-debugger/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# VS Code Debugger - -Use our [VS Code plugin](https://marketplace.visualstudio.com/items?itemName=temporal-technologies.temporalio) to debug a running or completed Workflow Execution. See this blog post for a walkthrough: - -[temporal.io/blog/temporal-for-vs-code](https://temporal.io/blog/temporal-for-vs-code) - -### Running this sample - -1. `temporal server start-dev` to start [Temporal Server](https://github.com/temporalio/cli/#installation). -1. `npm install` to install dependencies. -1. `npm run start.watch` to start the Worker. -1. In another shell, `npm run workflow` to start the Workflow. diff --git a/vscode-debugger/package.json b/vscode-debugger/package.json deleted file mode 100644 index b8f2fbff5..000000000 --- a/vscode-debugger/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "temporal-vscode-debugger-demo", - "version": "0.1.0", - "private": true, - "scripts": { - "build": "tsc --build", - "build.watch": "tsc --build --watch", - "format": "prettier --write .", - "format:check": "prettier --check .", - "lint": "eslint .", - "start": "ts-node src/worker.ts", - "start.watch": "nodemon src/worker.ts", - "workflow": "ts-node src/client.ts" - }, - "nodemonConfig": { - "execMap": { - "ts": "ts-node" - }, - "ext": "ts", - "watch": [ - "src" - ] - }, - "dependencies": { - "@temporalio/activity": "^1.24.0", - "@temporalio/client": "^1.24.0", - "@temporalio/envconfig": "^1.24.0", - "@temporalio/worker": "^1.24.0", - "@temporalio/workflow": "^1.24.0", - "waait": "^1.0.5" - }, - "devDependencies": { - "@tsconfig/node22": "^22.0.0", - "@types/node": "^22.9.1", - "@typescript-eslint/eslint-plugin": "^8.18.0", - "@typescript-eslint/parser": "^8.18.0", - "eslint": "^8.57.1", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-deprecation": "^3.0.0", - "nodemon": "^3.1.7", - "prettier": "^3.4.2", - "ts-node": "^10.9.2", - "typescript": "^5.6.3" - } -} diff --git a/vscode-debugger/src/activities.ts b/vscode-debugger/src/activities.ts deleted file mode 100644 index 935f86e7d..000000000 --- a/vscode-debugger/src/activities.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { log } from '@temporalio/activity'; - -export async function notifyHumanForVerification(task: string): Promise { - log.info(`🤖 Dear human, please verify that this is correct: ${task}`); -} - -export async function collectFeedback(): Promise { - log.info('🤖 Dear human, how was your experience with this verification workflow?'); -} diff --git a/vscode-debugger/src/client.ts b/vscode-debugger/src/client.ts deleted file mode 100644 index 45ba5958a..000000000 --- a/vscode-debugger/src/client.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { Client, Connection } from '@temporalio/client'; -import { loadClientConnectConfig } from '@temporalio/envconfig'; -import crypto from 'node:crypto'; -import wait from 'waait'; -import { humanVerificationWorkflow, verifySignal } from './workflows'; - -async function run() { - const config = loadClientConnectConfig(); - const connection = await Connection.connect(config.connectionOptions); - const client = new Client({ connection }); - - const handle = await client.workflow.start(humanVerificationWorkflow, { - args: ['4 + 20 = 420'], - taskQueue: 'replay-demo', - workflowId: 'workflow-' + crypto.randomUUID(), - }); - console.log(`Started workflow ${handle.workflowId}`); - - await wait(1000); - await handle.signal(verifySignal); -} - -run().catch((err) => { - console.error(err); - process.exit(1); -}); diff --git a/vscode-debugger/src/debug-replayer.ts b/vscode-debugger/src/debug-replayer.ts deleted file mode 100644 index 54d092ffb..000000000 --- a/vscode-debugger/src/debug-replayer.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { startDebugReplayer } from '@temporalio/worker'; - -startDebugReplayer({ - workflowsPath: require.resolve('./workflows'), -}); diff --git a/vscode-debugger/src/worker.ts b/vscode-debugger/src/worker.ts deleted file mode 100644 index 263291a18..000000000 --- a/vscode-debugger/src/worker.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Worker } from '@temporalio/worker'; -import * as activities from './activities'; - -async function run() { - const worker = await Worker.create({ - workflowsPath: require.resolve('./workflows'), - activities, - taskQueue: 'replay-demo', - }); - - await worker.run(); -} - -run().catch((err) => { - console.error(err); - process.exit(1); -}); diff --git a/vscode-debugger/src/workflows.ts b/vscode-debugger/src/workflows.ts deleted file mode 100644 index 294d6a7bd..000000000 --- a/vscode-debugger/src/workflows.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { condition, defineSignal, proxyActivities, setHandler, sleep } from '@temporalio/workflow'; -import type * as activities from './activities'; - -export const verifySignal = defineSignal<[]>('verify'); - -const { notifyHumanForVerification, collectFeedback } = proxyActivities({ - startToCloseTimeout: '1 minute', -}); - -export async function humanVerificationWorkflow(task: string) { - let verified = false; - - await notifyHumanForVerification(task); - setHandler(verifySignal, () => { - verified = true; - }); - - await condition(() => verified); - await sleep('1 day'); - await collectFeedback(); -} diff --git a/vscode-debugger/tsconfig.json b/vscode-debugger/tsconfig.json deleted file mode 100644 index 488f2c62a..000000000 --- a/vscode-debugger/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "@tsconfig/node22/tsconfig.json", - "version": "5.6.3", - "compilerOptions": { - "lib": ["es2021"], - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "rootDir": "./src", - "outDir": "./lib" - }, - "include": ["src/**/*.ts"] -}