Adrian
1ac5592452
feat: add astro support ( #347 )
2025-12-02 09:11:46 -08:00
Pranay Prakash
6e8e828252
Add stream benchmarks and slightly improve the benchmarking code ( #470 )
...
* Add stream benchmarks and cnealup for benchmark code
* 10m delay for local world race
* potential fix for first bute"
* Improve sticky comment stuff
* local world: ignore controller close errors
* show missing data in benchmark comment
* nitrpicks
* Improve leaderboard
* Add benchmark comparisons against main
* changeset
2025-11-30 23:49:37 -08:00
Pranay Prakash
a8f48c5a08
add benchmarking ( #460 )
2025-11-29 21:21:49 -08:00
Adrian
edb69c3c0d
fix: port detection, postgres nitro apps and nitro app testing ( #363 )
...
* add debug logs
* add polling for port test
* nuxt may be hmring on ignored files/folders
* Revert "nuxt may be hmring on ignored files/folders"
This reverts commit c57c3f0dd9e1b757825c777e12b63e050ca44227.
* Update packages/utils/src/get-port.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* Update packages/world-local/src/config.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* Update packages/utils/src/get-port.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* revert getPort
* test new pid to port cmd
* extend sleep time on tests
* fix
* fix race condition in tests
* add logs
* add fallback from pid-port
* remove pid-port fallback
* revert config ts
* test: add getPort test
* update tests for concurrent calls
* temp
* trigger rebuild
* feat: add windows get port support
* fix port sorting
* fix parsing logic and filtering
* fformat
* update ports logi
* revert
* windows port hack
* refactor: optional chaining on windows
* test: change ordering of config tests
* remove wrong test
* simplify windows getPort impl
* use execFileSync instead of execFile
* use execa
* disable test cache
* Update packages/utils/src/get-port.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* update
* debug
* windows cmd
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* lockfile
* fix: windows port detection
* simplify stuff
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* test: revert gh copilot
* fix
* increase sleep
* revert logs
* revert turbo
* revert
* revert
* changeset
* Update packages/utils/src/get-port.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* format
* init postgres world for express and hono
* add posgres world to nitro config
* add postgres world start to sveltekit
* add postgres world plugin to nitro apps
* Update workbench/sveltekit/src/hooks.server.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* Update workbench/vite/vite.config.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* fix nuxt plugin
* revert vercel compiled hook on nitro
* .
* revert
* update
* CI WILL BE GREEN
* remove log in nitro
---------
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-24 09:30:41 -08:00
Adrian
00066be07b
feat: add express support ( #138 )
...
* refactor: migrate to latest nitro v3
Signed-off-by: Pooya Parsa <pooya@pi0.io >
* update workaround
* fix(nitro): nitro builder using deprecated srcDir
* fix: testing matrix dirs
* fix(hono): externalize nitro workflow output dir
* chore: format
* fix(nitro): externalize .nitro/workflow folder
* docs(hono): update getting started
* update docs and workbench
* improve plugin patch
* docs: preserve code style
* update `getWorkflowDirs`
* test: fix hono dev config
* fix: wrong api file path in hono dev config
* fix(nitro): check all dirs for builder
* chore: add comments
* add express workbench testing app
* docs: add express wip page
* add workflows symlink for express workbench
* add hook and trigger routes for express workbench
* update server entrypoint to use hook and trigger router
* remove h3 and add express types
* docs: add express getting started guide
* test: wire up express workbench
* Update workbench/express/routes/hook.routes.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* Update workbench/express/routes/trigger.routes.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* build: missing deps in workbench express
* build: remove express as dev dep
* lockfile
* build: remove test command from express workbench
* fix: url query parsing
* chore: add README
* remove app hook and trigger routers
* .
* fix: json body not getting parsed in workbench express
* fix: writing streams in workbench
* fix: wrong stream piping express workbench
* update
* fix: json parsing body workbench express
* update
* fix: add js file extension for relative import on workflow express workbench
* test
* refactor: route naming conventions for nitro
* refactore: convert to catch all api on express
* Update workbench/express/package.json
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* refactor: api file convention
* testing presets
* refactor: use simple `index.ts`
* update
* switch entry format to node
* add generate workflow script to express
* fix: express nitro config
* docs(express): update express getting started
* test: add express
* fix(express): workbench api routes
* fix(express): add workflowsDir to testing matrix
* format
* update gitignore
* fix
* .
* trigger ci
* update workflows dir
* fix: streaming in express
* fix: not json parsing body express
* fix: missing dev test in express
* fix: test matrix for express
* docs(express): update getting started and add rollup dep
* .
* docs: add express card to home page and getting started
* Update docs/content/docs/getting-started/express.mdx
Co-authored-by: Pooya Parsa <pooya@pi0.io >
* docs: fix express
* remove h1 on express
---------
Signed-off-by: Pooya Parsa <pooya@pi0.io >
Co-authored-by: Pooya Parsa <pooya@pi0.io >
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-19 17:12:53 -08:00
Hayden Bleasel
c0991b4ff7
Update docs ( #349 )
...
* Initial migration
* Remove ExperimentalPackageCallout
* Remove Callout imports
* Add missing dep
* Update postgres-world.mdx
* Add missing deps, remove unused files
* Restore homepage css
* Update logo, fix homepage
* Update run-anywhere.tsx
* Remove duplicate h1 tags
* Fix package install commands
* Update global.css
* Update code-block.tsx
* Fix framework descriptions
* Remove unused files
* Fix steps
* Update sidebar.tsx
* Remove excess horizontal rules
* Remove unused components
* Cleanup home code-block component
* Update route.ts
* Add missing feed dep
* Rename middleware to proxy
* Update next config
* Update route.tsx
* Move generateDefinition call into tsx
* Update page.tsx
* Update sidebar.tsx
* Update layout.tsx
* Remove unused files
* Fix nav
* Update route.ts
* Remove deprecated lint:links
* Load fonts locally
* Update layout.tsx
* Update route.ts
* Update Geistdocs
* Update hero.tsx
* Update search.tsx
* Update search.tsx
* docs: update url structure in chat tools example
* chore: replace gpt-5 reasoning with gpt-5.1
* docs: update instructions for llm to be more workflow-centric
* Revert "docs: update instructions for llm to be more workflow-centric"
This reverts commit 3852820988 .
* Update pnpm-lock.yaml
* Update home-layout.tsx
* Update layout.tsx
* Update pnpm-workspace.yaml
---------
Co-authored-by: Adrian Lam <me@adriandlam.com >
2025-11-19 16:17:21 -08:00
Pranay Prakash
5afc66eaaa
Add e2e tests for postgres world ( #356 )
...
* Add e2e tests for postgres world
* Add e2e tests for postgres world
- Add new e2e-local-postgres job to test all workbenches against postgres world
- Configure PostgreSQL service container in GitHub Actions
- Update world-postgres build script to chmod +x the setup.js bin
- Use direct path to setup script in CI for reliability
- Tests run in production mode similar to e2e-local-prod tests
2025-11-17 18:28:00 -08:00
Pranay Prakash
945a946812
Normalize Workbenches ( #283 )
...
* Normalize Workbenches
Normalize trigger scripts across workbenches
fix: include hono in local build test
test: include src dir for test
test: add workflow dir config in test to fix sveltekit dev tests
add temp 7_full in example wokrflow
format
fix(sveltekit): detecting workflow folders and customizable dir
Remove 7_full and 1_simple error
replace API symlink in webpack workbench
Fix sveltekit and vite tests
Fix sveltekit symlinks
Test fixes
Fix sveltekit workflows path
Dont symlink routes in vite
Include e2e tests for hono and vite
fix error tests post normalization
wip - attempted fixes
* Add claude demo command
* fix: normalize workbench tests (#292 )
* Proper stacktrace propogation in world
Proper stacktrace propogation in world
* Standardize the error type in the world spec
* Normalize Workbenches
Normalize trigger scripts across workbenches
fix: include hono in local build test
test: include src dir for test
test: add workflow dir config in test to fix sveltekit dev tests
add temp 7_full in example wokrflow
format
fix(sveltekit): detecting workflow folders and customizable dir
Remove 7_full and 1_simple error
replace API symlink in webpack workbench
Fix sveltekit and vite tests
Fix sveltekit symlinks
Test fixes
Fix sveltekit workflows path
Dont symlink routes in vite
Include e2e tests for hono and vite
* fix error tests post normalization
* fix(sveltekit): reading file on hmr delete
* changeset
* fix(vite): add resolve symlink script
* fix(vite): missing building on hmr
* test local builder in vite
* test: increase timeout on hookWorkflow
* test: ignore vite based apps in crossFileWorkflow
* test: fix nitro based apps status codes
* fix: intercept default vite spa handler on 404 workflow routes
* fix: vite hook route returning 422
* test: use 422 for hookWorkflow expected
* test: fix hono returning 404
* chore: add comment to middleware to clarify
* make api route for duplicate case
* revert
* revert: nitro builder
* add back nitro unhandled rejection logic
* test: add hono
* changeset
* fix: unused method
* fix: remove duplicate import
* remove
* chore: add comments to clarify
* test remove vite symlink script
---------
Co-authored-by: Pranay Prakash <pranay.gp@gmail.com >
* refactor: add top level resolve symlinks script
* fix: cleanup builder directories (#319 )
* fix: add sveltekit server routes to builder
* fix: remove root workflow dir check
* fix missing root level workflow route
* Fix: The constructor now hardcodes `dirs: ['src/routes', 'src/lib']` which silently ignores any user\-provided `dirs` option passed to the plugin\, breaking the documented API and removing support for custom workflow directories\.
* Fix: The test expectations don\'t match the new implementation of `getWorkflowDirs()`\. The mock provides `scanDirs` which the new code no longer uses\, and the new implementation adds scanning of `routesDir` and `apiDir` instead\.
* fix(nitro): use src dir
---------
Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* refactor(nitro): use suppressUndefinedRejections
* revert: sveltekit builder
---------
Co-authored-by: Adrian <me@adriandlam.com >
Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-14 10:13:06 -08:00
Adrian
9e179a8c23
ci: move linting links to separate job ( #339 )
...
* ci: move linting links to separate job
* ci: add lint workflow
* ci: update job name
* ci: remove bun setup
2025-11-13 19:57:20 -08:00
Sébastien Chopin
fb8153bec4
feat: add Nuxt module and documentation ( #187 )
...
* feat: add Nuxt module and documentation
* fix: add the prepare in the build command
* Apply suggestion from @vercel[bot]
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* chore: simplify usage without /nuxt
* wip
* Update nuxt.mdx
Co-Authored-By: Daniel Roe <daniel@roe.dev >
* add clean command and ignore prepare
* use @workflow/nitro
* Changeset
Added a Nuxt module and updated documentation accordingly.
* feat: enable typescript plugin in tsconfig
* chore: revert accordion value
* chore: use symlink
* fix: json parsing in trigger route for nitro-v2
* ci: add e2e tests for nuxt
* ci: add nuxt to test matrix
* chore: make sure to add /nuxt to avoid conflicts when importing entry-points
* chore: move typescriptPlugin option to Nitro
* chore: body is already parsed
* fix: use readRawBody
* fix: use rawBody in hook.post too
* chore: add missing import (but not required)
* chore: update pm
* Create resolve-symlinks.sh
* chore: add also node-rs/xxhash
* Update create-test-matrix.mjs
* update matrix
* Update create-test-matrix.mjs
* remove symlink to nitro-v2
---------
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev >
Co-authored-by: Pranay Prakash <pranay.gp@gmail.com >
Co-authored-by: Adrian Lam <me@adriandlam.com >
2025-11-08 01:10:59 +01:00
Adrian
adf0cfeb91
feat: add getPort for detecting pid port ( #233 )
...
* feat: add getPort method for detecting pid port
* lockfile
* update tests and fix getPort usage
* changeset
* docs: update sveltekit getting started
* fix: use pid-port
* fix: not using config port env
* fix: remove unused getPort from world core
* remove unused stuff
* fix: world local config returning port 3000 as fallback
* changeset
* fix: rebase conflicts
* fix: util test missing http import
* changeset
* fix: wrong import for getPort in core runtime
* fix: getPort in @workflow/utils being imported into workflow runtime
* test: simplify sveltekit test
* fix missing import in test
* fix: async await stuff with getPort
* refactor: move getPort to @workflow/utils/get-port
* test: simplfiy getPort tests
* test: fix sveltekit ports
2025-11-07 14:36:36 -08:00
Adrian
98c36f1eb0
feat: add hmr and fix dev tests ( #199 )
...
* add hmr and dev tests for nitro and sveltekit
* changeset
* revert: e2e testing code
* add streams.ts to workbench apps
* fix: test confnigs
* fix: hmr failing on new files for sveltekit plugin
* lockfile
* switch testing to use 3_stream.ts
* fix: sveltekit hmr test file import
* fix: nextjs testing file
* remove stuff
* changeset
* refactor(tests): expose config through matrix config
* fix: add symlink for nextjs turbopack
* add resolve symlinks script
* fix: nextjs-webpack resolve symlinks script
2025-11-07 12:30:39 -08:00
Copilot
4a821fce7c
Fix Windows support by normalizing path separators in workflow IDs ( #150 )
...
---------
Signed-off-by: Nathan Rajlich <n@n8.io >
Co-authored-by: Nathan Rajlich <n@n8.io >
2025-11-04 12:13:45 -08:00
Adrian
05714f7924
feat: add sveltekit support ( #131 )
...
* add workbench sveltekit
* add sveltekit package
* fix: use js for generated server routes in svelte
* add test routes for sveltekit workbench
* updates from debugging
* feat: add sveltekit build target
* update user sign up workflow workbench sveltekit
* fix: base builder missing GET route handler for sveltekit
* feat: add vercel builder and check for vercel env
* refactor: workflowPlugin for sveltekit
* ci: add tests to workbench sveltekit
* fix: no start command and vercel builder outputs
* fix: base builder conditions
* .
* add auto adapter sveltekit
* fix: disable checking origin for cross site ci stuff
* allow all trusted origins in svelte config
* fix: add catch for error thrown when waiting for ops
* fix: sveltekit workbench adapter
* test
* test
* refactor: move vercel builder on config resolved
* update package json
* add demo workflow trigger
* test letting sveltekit handle route generation
* fix: exclude git ignore for local builder outputs
* update config
* add debug logs
* update debug
* update turbo.json
* fix env check
* another output
* use top-level await
* ensure vercel functions are patched
* change hook
* update
* fix spread
* debug
* update
* chore: remove vercel builder
* chore: update comments in sveltekit workflow package
* chore: remove console comment
* refactor: workflow svelte plugin
* refactor: simplify local builder config
* chore: remove unused deps
* chore: add comment for workbench svelte app
* chore: add sveltekit export to workflow
* export sveltekit from workflow
* lockfile
* chore: remove unused deps svelte workbench
* update styling
* add sveltekit getting started docs
* update sveltekit docs getting started
* changeset
* Apply suggestion from @vercel[bot]
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* use proper env var
* Update packages/sveltekit/src/index.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* Update docs/content/docs/getting-started/sveltekit.mdx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Document CSRF protection bypass in SvelteKit workbench config (#157 )
* Initial plan
* docs: add CSRF security warning to svelte.config.js
Co-authored-by: adriandlam <93681064+adriandlam@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: adriandlam <93681064+adriandlam@users.noreply.github.com >
* refactor: deduplicate SvelteKit request conversion logic (#156 )
* Initial plan
* refactor: extract duplicated SvelteKit request conversion to helper
Co-authored-by: adriandlam <93681064+adriandlam@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: adriandlam <93681064+adriandlam@users.noreply.github.com >
* docs: fix getting staretd sveltekit missing folder
* chore: cleanup sveltekit builder after rebase
* lockfile
* fix: sveltekit building logic in base builder
* refactor: move sveltekit builder logic to its own package
* fix: console log base builder
* changeset
* test
* feat: create hmr plugin
* fix: add initial build on load
* fix: check all files for workflows and steps
* add comments for plugin todo
* remove catching error
* fix: missing context for nodejs envs causing waitUntil to fail
* fix: setting global request conext in vercel environments
---------
Co-authored-by: JJ Kasper <jj@jjsweb.site >
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-03 21:15:33 -08:00
Pooya Parsa
e814dba6f2
feat: workflow/vite plugin ( #172 )
...
* feat: nitro+vite support and workbench
* update package.json files
* test: add local-build test for vite
* update to vite plugin
* fix imports
* dedup nitro
* update
* update nitro
* allow passing options via plugin
* Update packages/nitro/src/vite.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* test: add vite tests
* trigger ci
* fix: missing js extension from builder and rollup
* refactor: move debug => unenv under vite plugin
* alternative workaround
* Update packages/nitro/src/vite.ts
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* rename plugin
* Update packages/cli/package.json
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
* lockfile
---------
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Adrian Lam <me@adriandlam.com >
2025-11-03 13:24:03 -08:00
JJ Kasper
7909babb3e
Remove env pulling for local tests ( #128 )
2025-10-28 15:33:01 -07:00
Gal Schlezinger
4ca9a3edbd
Introducing Workflow DevKit
...
build durable, resilient, and observable workflows.
Co-authored-by: Nathan Rajlich <n@n8.io >
Co-authored-by: Pranay Prakash <pranay.gp@gmail.com >
Co-authored-by: Adrian <me@adriandlam.com >
Co-authored-by: JJ Kasper <jj@jjsweb.site >
Co-authored-by: Vercel Release Bot <88769842+vercel-release-bot@users.noreply.github.com >
Co-authored-by: Peter Wielander <mittgfu@gmail.com >
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com >
Co-authored-by: Gal Schlezinger <gal@spitfire.co.il >
Co-authored-by: Manuel Muñoz Solera <mamuso@mamuso.net >
Co-authored-by: Garrett <garrett.tolbert@vercel.com >
Co-authored-by: Lars Grammel <lars.grammel@gmail.com >
Co-authored-by: Pooya Parsa <pyapar@gmail.com >
Co-authored-by: Tom Dale <tom@tomdale.net >
Co-authored-by: Vishal Yathish <135551666+visyat@users.noreply.github.com >
Co-authored-by: josh <144584931+dancer@users.noreply.github.com >
2025-10-23 12:07:52 +03:00