* feat: introducing plane runner - Add a new runnerctl app in API to orchestrate and manage runs. - Models to store and process RunnerTask and RunnerTaskExecutions - APIs for both web and inter service communication - Add a new app `node-runner` to run the node code in vm - Setup sandboxing using node vm to build and run the code - Talks to runnerctl through APIs to fetch and report the task run status * feat: settings page with editor * fix: typo * feat: add list, create and update script screens - update APIs to use Session Auth - fix issues in node runner * add test run modal * add delete button for task * fix: refactor * feat: use Script as main entity in Plane runner - all features would have to use Script's as their action use cases instead of Runner manager all of them * chore: implemented scripts in automations * add migrations * feat: add test endpoints to build and run the code - add /test endpoint in runnerctl service - add /execute-sync endpoint in node-runner to run code in sync * fix: refactor * fix: refactor + UI improvements * fix: refactor * feat: add RunScript node in automation actions * fix: cancel fn * refactor: use execute-sync endpoint for all executions - remove async code for executing code - remove runnerctl service related code from node-runner * fix: UI for automation script main layout + refactoring * chore: add execution stats in scripts listing endpoint * fix: route changed from /runners to /scripts * fix: added relative last run * fix: editor bg * fix: test payload * Merge branch 'preview' of github.com:makeplane/plane-ee into feat-plane-runner-ui * feat: setup runner app migration * feat: use oauth tokens to run scripts * fix: refactor * fix: types * chore: use workspaceSlug from execution context in runner - use cached oauth tokens instead of generating new tokens all the time * feat: only show scripts in sidebar and automations when installed - now we'll enable Scripts as feature only when the oauth app is installed * fix: refactor * fix: refactor * fix: refactor * fix: refactor * fix: formatting * fix: added direct import for types to handle self hosted and airgapped instances * add variables support * add support for variables in node-runner * Add fresh migrations for runnerctl * add copyright on all runner files * add variables UI for runner scripts and automations - Add TVariableDefinition type and variables field to RunnerScript type - Add TVariableFormData and variables to RunnerScriptFormData - Add execution_variables to TRunScriptActionConfig for automations - Create VariablesField component for script form (collapsible, save/remove) - Update scriptToFormData and formDataToScriptPayload to handle variables - Update TestScript component to show variable input fields and send execution_variables - Update AutomationActionRunScriptConfiguration to show variable inputs when script selected - Update runnerctl.service.ts to pass execution_variables in testScript - Update Python API serializers to include variables in script list/lite responses - Update script_test view to pass execution_variables to execute_sync Co-Authored-By: Claude Opus 4.5 <[email protected]> * add reusable functions feature for runner scripts - Add ScriptFunction model with system/workspace function support - Add API endpoints for functions CRUD operations - Add system function seeds (http, notifications, data, utils) - Add Functions namespace injection into node-runner VM context - Add functions dashboard with search, filter, and view modal - Add function browser modal for inserting functions into scripts - Add create/update function form with auto-generated code templates - Add function name mismatch warning in code editor Co-Authored-By: Claude Opus 4.5 <[email protected]> * build code and use build to run instead of building with every run * refactor: update build api to extract functions from code - only send used functions to runner for execution - test api will also now validate the code and functions used * add execution variables in automation and ui changes * add fixtures for scripts and functions for system defined ones * use threadpool to fetch token with new connection * ui style changes for functions * fix linter issues * add PLANE_RUNNER feature flag and rename settings tab * move ee components to core * add runner urls in settings and reset migrations * fix: refactoring + css fixes * add node-runner build in github workflow * replace node-runner Dockerfile with turbo-based Dockerfile.runner - Remove old Dockerfile and docker-compose.yml - Add Dockerfile.runner using turbo prune pattern (like silo) - Update build-branch-cloud.yml to use Dockerfile.runner Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix: refactor + route fixed * fix: changed folder name from scripts to runner-scripts * fix: monaco editor theme based color * fix: empty state and upgrade screen without img * chore: add code validators while executing code - reset fixtures for scripts and functions to empty * fix: empty state + upgrade * fix: empty state + upgrade * fix: empty state assets * fix: empty state assets * feat: add AutomationEventInput for better DX writing scripts * fix: types + formatting * fix: types + formatting * fix: formatting * fix: bumped @vitest/eslint-plugin * fix: api formatting changes --------- Co-authored-by: Surya Prashanth <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]>
113 lines
3.3 KiB
JSON
113 lines
3.3 KiB
JSON
{
|
|
"name": "plane",
|
|
"description": "Open-source project management that unlocks customer value",
|
|
"repository": "https://github.com/makeplane/plane.git",
|
|
"version": "1.2.0",
|
|
"license": "AGPL-3.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "turbo run build",
|
|
"dev": "turbo run dev --concurrency=18",
|
|
"start": "turbo run start",
|
|
"clean": "turbo run clean && rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist",
|
|
"fix": "turbo run fix",
|
|
"fix:format": "turbo run fix:format",
|
|
"fix:lint": "turbo run fix:lint",
|
|
"check": "turbo run check",
|
|
"check:lint": "turbo run check:lint",
|
|
"check:format": "turbo run check:format",
|
|
"check:types": "turbo run check:types",
|
|
"prepare": "husky"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "9.39.1",
|
|
"@prettier/plugin-oxc": "0.1.3",
|
|
"@vitest/eslint-plugin": "1.6.7",
|
|
"eslint": "9.39.1",
|
|
"eslint-config-prettier": "10.1.8",
|
|
"eslint-import-resolver-node": "0.3.9",
|
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
"eslint-plugin-import": "2.32.0",
|
|
"eslint-plugin-jsx-a11y": "6.10.2",
|
|
"eslint-plugin-n": "17.23.2",
|
|
"eslint-plugin-promise": "7.2.1",
|
|
"eslint-plugin-react": "7.37.5",
|
|
"eslint-plugin-react-hooks": "7.0.1",
|
|
"eslint-plugin-react-refresh": "0.5.0",
|
|
"eslint-plugin-storybook": "10.2.7",
|
|
"eslint-plugin-turbo": "2.8.3",
|
|
"globals": "16.5.0",
|
|
"husky": "9.1.7",
|
|
"lint-staged": "16.2.7",
|
|
"prettier": "3.8.1",
|
|
"turbo": "2.8.3",
|
|
"typescript-eslint": "8.54.0"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx,cjs,mjs,cts,mts,json,css,md}": [
|
|
"pnpm exec prettier --write --ignore-unknown"
|
|
],
|
|
"*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}": [
|
|
"pnpm exec eslint --fix --max-warnings=0 --no-warn-ignored"
|
|
]
|
|
},
|
|
"pnpm": {
|
|
"overrides": {
|
|
"express": "catalog:",
|
|
"mdast-util-to-hast": "13.2.1",
|
|
"body-parser": "2.2.1",
|
|
"valibot": "1.2.0",
|
|
"glob": "11.1.0",
|
|
"js-yaml": "4.1.1",
|
|
"brace-expansion": "2.0.2",
|
|
"amqplib": "0.10.5",
|
|
"@types/amqplib": "0.10.5",
|
|
"@types/react": "18.3.18",
|
|
"@types/react-dom": "18.3.5",
|
|
"nanoid": "3.3.8",
|
|
"esbuild": "0.25.0",
|
|
"@babel/helpers": "7.26.10",
|
|
"@babel/runtime": "7.26.10",
|
|
"chokidar": "3.6.0",
|
|
"happy-dom": "20.0.2",
|
|
"tar-fs": "3.0.9",
|
|
"prosemirror-view": "1.40.0",
|
|
"prosemirror-model": "1.25.3",
|
|
"@types/express": "4.17.23",
|
|
"typescript": "catalog:",
|
|
"vite": "catalog:",
|
|
"@octokit/types": "13.8.0",
|
|
"pbkdf2": "3.1.3",
|
|
"jws": "3.2.3",
|
|
"qs": "6.14.1",
|
|
"preact": "10.28.2",
|
|
"diff": "8.0.3",
|
|
"undici": "7.18.2",
|
|
"lodash": "4.17.23",
|
|
"lodash-es": "catalog:",
|
|
"@isaacs/brace-expansion": "5.0.1",
|
|
"fast-xml-parser": "5.3.4",
|
|
"webpack": "5.104.1"
|
|
},
|
|
"onlyBuiltDependencies": [
|
|
"@sentry/cli",
|
|
"turbo"
|
|
],
|
|
"ignoredBuiltDependencies": [
|
|
"@parcel/watcher",
|
|
"@sentry-internal/node-cpu-profiler",
|
|
"@swc/core",
|
|
"core-js",
|
|
"esbuild",
|
|
"msgpackr-extract",
|
|
"sharp",
|
|
"tldjs",
|
|
"unrs-resolver"
|
|
]
|
|
},
|
|
"packageManager": "[email protected]+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a",
|
|
"engines": {
|
|
"node": ">=22.18.0"
|
|
}
|
|
}
|