Announcing Pylon 2.0 with Multiple Runtime Support
Welcome to @getcronit/[email protected]
release (September 2024)!
Pylon v2 introduces the support for different runtimes, a new create command, and an improved development server.
The official supported runtimes by the npm create pylon
command are Bun, Node.js and Cloudflare Workers. Other runtimes are also supported but require manual setup.
We’ve tried to make migration smooth. Please refer to the migration guide and let us know (opens in a new tab) if you encounter any issues when migrating.
Key highlights of this release:
- New Runtimes: Pylon now supports multiple runtimes, including Bun, Node.js and Cloudflare Workers.
- Unified Create Command: The new
npm create pylon
command provides a consistent way to create new Pylon projects. - Improved Development Server: The new
pylon dev
command provides a unified development experience across different runtimes. - Drop of
pylon-cli
andpylon-server
: The@getcronit/pylon-cli
and@getcronit/pylon-server
packages are no longer required and replaced by the@getcronit/pylon-dev
package.
Breaking Changes
If you’re looking for an overview of all breaking changes and how to migrate, please see the migrating from v1 to v2 guide.
If you have any questions or need help, please don’t hesitate to reach out to us on Discord (opens in a new tab). We’re happy to assist you with the migration process.
Overview Video
Watch how we use the new npm create pylon
command to create a new Pylon project and deploy it to Cloudflare Workers in less than 1 minute:
New Runtimes
Pylon now supports multiple runtimes, including Bun, Node.js and Cloudflare Workers. You can choose the runtime that best fits your use case and deploy your service with ease.
To create a new Pylon project with a specific runtime, use the npm create pylon
command:
npm create pylon --runtime cf-workers
This command creates a new Pylon project with the Cloudflare Workers runtime. You can also specify other runtimes, such as Node.js or Cloudflare Workers, by passing the --runtime
flag.
Pylon also supports various other runtimes:
Be aware that those runtimes require manual setup and configuration.
- Cloudflare Pages
- Deno
- Fastly Compute
- Vercel
- Netlify
- AWS Lambda
- Lambda@Edge
- Azure Functions
- Supabase Functions
- Ali Function Compute
- Service Worker
Unified Create Command
The new npm create pylon
command provides a consistent way to create new Pylon projects with different runtimes, templates, client generation and more.
This command streamlines the project creation process and ensures that you have everything you need to get started with Pylon.
To create a new Pylon project, run the following command:
npm create pylon
This command will prompt you to select the runtime, template, and other options for your project. Once you’ve made your selections, the command will create a new Pylon project in the specified directory.
Improved Development Server
Pylon v2 introduces a new pylon dev
command that provides a unified development experience across different runtimes.
The pylon dev
command starts the development server and automatically reloads your service when you make changes to your code. This command is designed to streamline the development process and make it easier to build and test your services.
To support different runtimes, you can specify the runtime-specific start command using the -c
flag:
pylon dev -c 'bun run .pylon/index.js'
This command starts the development server with the specified start command for the Bun runtime. You can replace the command with the appropriate start command for your chosen runtime.
For example, if you’re using Cloudflare Workers, you can start the development server with the following command:
pylon dev -c 'wrangler dev'
This command starts the development server with the wrangler dev
command, which is the recommended way to run Cloudflare Workers locally.
Drop of pylon-cli
and pylon-server
The @getcronit/pylon-cli
and @getcronit/pylon-server
packages are no longer required and have been replaced by the @getcronit/pylon-dev
package.
Why was the pylon-cli
dropped?
The pylon-cli
package was used to create new Pylon projects and manage the development server. With the introduction of the npm create pylon
command and the pylon dev
command, the functionality provided by the pylon-cli
package is now handled by the create-pylon
package and the pylon-dev
package.
Why was the pylon-server
dropped?
The pylon-server
had only one purpose: to start the server using Bun. With the introduction of multiple runtimes, the pylon-server
package became obsolete. The pylon-dev
package now handles the development server for all runtimes.
For production, you can now directly execute .pylon/index.js
with your runtime-specific command (e.g. bun run .pylon/index.js
or node .pylon/index.js
). This flexible approach allows you to choose the best deployment strategy for your use case.
Acknowledgements
A big thank you to all who helped with this release 💛
- @kleberbaum (opens in a new tab) for his dream that we’ll support Cloudflare Workers, and now we do!
- @dave-calleja (opens in a new tab) for the initial request for multiple runtime support, that led us realise that this is crucial for the future of Pylon.
- @schettn (opens in a new tab) for coding all of this ;)