pylon icon indicating copy to clipboard operation
pylon copied to clipboard

Pylon-dev-rework

Open schettn opened this issue 9 months ago • 5 comments

This pull request includes several changes to enhance the functionality and maintainability of the @getcronit/pylon and @getcronit/pylon-dev packages. The most notable changes include the addition of a new plugin build hook, the extension of the plugin system, and the replacement of treekill with ps-tree. Additionally, there are updates to the build process to use esbuild watch mode and improvements to the handling of fallback pages and unhandled routes.

Enhancements and New Features:

  • Added a new plugin build hook to allow custom esbuild builds, which is called before the main build process. This hook does not re-run during watch mode.
  • Extended the plugin system to support middleware and app setup, integrating the viewer via a built-in useViewer plugin. Custom plugins can now access the app instance and register middleware and setup functions.

Build Process Improvements:

  • Integrated the builder in the development server to simplify maintenance and future development.
  • Updated the build process to use esbuild watch mode instead of rebuilding from scratch.

Dependency and Configuration Updates:

  • Replaced treekill with ps-tree in the @getcronit/pylon-dev package.
  • Added a fallback page for the landing page and unhandled routes (404s), which can be disabled via the pylon config.

schettn avatar Feb 06 '25 02:02 schettn

🦋 Changeset detected

Latest commit: 5fd3a977d589c14cc224729b00d712f57339cb3d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@getcronit/pylon-dev Major
@getcronit/pylon Major
create-pylon Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

changeset-bot[bot] avatar Feb 06 '25 02:02 changeset-bot[bot]

🚀 Snapshot Release (canary)

The latest changes of this PR are available as canary on npm (based on the declared changesets):

Package Version Info
create-pylon 1.2.0-canary-20250218210337.5fd3a977d589c14cc224729b00d712f57339cb3d npm ↗︎ unpkg ↗︎
@getcronit/pylon 3.0.0-canary-20250218210337.5fd3a977d589c14cc224729b00d712f57339cb3d npm ↗︎ unpkg ↗︎
@getcronit/pylon-dev 2.0.0-canary-20250218210337.5fd3a977d589c14cc224729b00d712f57339cb3d npm ↗︎ unpkg ↗︎

github-actions[bot] avatar Feb 06 '25 02:02 github-actions[bot]

Hi @schettn - Do you estimate the time you can finish this PR? Thanks for great package

harrytran998 avatar Feb 14 '25 00:02 harrytran998

Hi @harrytran998, what feature from this PR do you need?

schettn avatar Feb 14 '25 10:02 schettn

This PR will result in a major release which includes:

  • A better process / build management for the dev server
  • Improve the plugin system to add custom build time / runtime plugins
  • useAuth plugin that works with all OIDC providers and adds builtin routes for authentication with tokens stored in the cookies.
  • usePages plugin for developing full stack applications https://github.com/getcronit/pylon/issues/69
  • Removing the GQty integration from the dev server in favor of using the GQty CLI with --watch mode.

schettn avatar Feb 14 '25 11:02 schettn