* Add vitest test suite for runInIsolate in node-runner Adds 9 tests covering AutomationEventInput data flow, PlaneClient injection, Functions library, execution timeout, domain-restricted fetch, ENV exposure, and missing-main error handling. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Add TypeScript parsing support and replace console with structured logger - Use acorn-typescript plugin for AST-based code validation and function detection so user scripts can include TypeScript syntax - Build user code as index.ts instead of index.js via esbuild - Replace all console.log/error/warn calls with @plane/logger - Add logger middleware to Express server - Add dd-trace initialization via tracer module Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: split tsconfig into build and base configs for test compatibility Move rootDir/outDir into tsconfig.build.json so the base tsconfig.json can include tests/**/* for ESLint and IDE support without breaking tsc. Co-Authored-By: Claude Opus 4.6 <[email protected]> * remove environment variables from scripts * update tsconfig for tests * fix bug in scripts UI to render code properly * add 6 system functions and inject Plane/workspaceSlug into function factory Expand buildFunctionsLibrary to pass Plane client and workspaceSlug into the function factory so system functions can call the Plane SDK. Populate the system_functions fixture with httpRequest, postToSlack, getChildren, getSiblings, addComment, and addLabel. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add created_at/updated_at to system functions fixture Django's auto_now_add/auto_now fields are not auto-populated when loading fixtures via loaddata, causing a NOT NULL constraint violation. Co-Authored-By: Claude Opus 4.6 <[email protected]> * add parent_id filter and use advancedSearch in system functions Add parent_id filter to ExtendedIssueFilterSet so work items can be queried by parent. Update getChildren and getSiblings system functions to use Plane.workItems.advancedSearch with parent_id filter instead of the list endpoint which does not support parent filtering. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Revert "feat: add pagination support to WorkItemAdvancedSearchEndpoint" This reverts commit 9820a1d16e571c14539c7a7139aa269df9baece4. * add system script: mark parent as done if all children are done Populates system_scripts fixture with a script that triggers when a work item enters a completed state group, checks all siblings, and updates the parent to completed if every child is done. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Add script - Create linked work item in another project on state change * fix: form data + title width * fix: implemented full screen editor + handled is_system * fix: handled is_system * disable error highlighting in code editor * feat: add redirect url support for runner - add is_internal to all the internal plane apps * invalidate app credentials in cache when app got updated * fix: pass workspace context for system script execution in automations System scripts have workspace=None, so accessing script.workspace.id would fail. Now the automation passes its own workspace_id/workspace_slug and script_executor falls back to caller-provided values. Co-Authored-By: Claude Opus 4.6 <[email protected]> * refactor: extract shared TypeScript parser into ts-parser module Move duplicated acorn + tsPlugin initialization from code-validator.ts and server.ts into a single shared ts-parser.ts module. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: type errors for acorn node --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: gakshita <[email protected]>
33 lines
883 B
JSON
33 lines
883 B
JSON
{
|
|
"name": "plane-runner-host",
|
|
"version": "2.3.0",
|
|
"description": "Plane Runner Host for executing isolated JS/TS scripts",
|
|
"main": "dist/index.mjs",
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.build.json",
|
|
"start": "node dist/index.mjs",
|
|
"dev": "PORT=3300 tsdown --watch --onSuccess \"node --env-file=.env .\"",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"dependencies": {
|
|
"@makeplane/plane-node-sdk": "0.2.8",
|
|
"@plane/logger": "workspace:*",
|
|
"@sveltejs/acorn-typescript": "^1.0.5",
|
|
"acorn": "^8.15.0",
|
|
"acorn-walk": "^8.3.4",
|
|
"axios": "catalog:",
|
|
"dd-trace": "^5.45.0",
|
|
"dotenv": "^16.3.1",
|
|
"express": "4.22.0",
|
|
"zod": "^3.22.4"
|
|
},
|
|
"devDependencies": {
|
|
"@types/express": "catalog:",
|
|
"@types/node": "catalog:",
|
|
"tsdown": "catalog:",
|
|
"typescript": "catalog:",
|
|
"vitest": "^4.0.8"
|
|
}
|
|
}
|