pulse-framework 0.1.38a4__tar.gz → 0.1.38a5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/PKG-INFO +1 -1
  2. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/pyproject.toml +1 -1
  3. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/cmd.py +9 -2
  4. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/README.md +0 -0
  5. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/__init__.py +0 -0
  6. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/app.py +0 -0
  7. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/channel.py +0 -0
  8. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/__init__.py +0 -0
  9. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/dependencies.py +0 -0
  10. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/folder_lock.py +0 -0
  11. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/helpers.py +0 -0
  12. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/models.py +0 -0
  13. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/packages.py +0 -0
  14. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/processes.py +0 -0
  15. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/secrets.py +0 -0
  16. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cli/uvicorn_log_config.py +0 -0
  17. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/__init__.py +0 -0
  18. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/codegen.py +0 -0
  19. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/imports.py +0 -0
  20. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/js.py +0 -0
  21. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/templates/__init__.py +0 -0
  22. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/templates/layout.py +0 -0
  23. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/templates/route.py +0 -0
  24. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/templates/routes_ts.py +0 -0
  25. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/codegen/utils.py +0 -0
  26. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/components/__init__.py +0 -0
  27. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/components/for_.py +0 -0
  28. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/components/if_.py +0 -0
  29. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/components/react_router.py +0 -0
  30. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/context.py +0 -0
  31. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/cookies.py +0 -0
  32. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/css.py +0 -0
  33. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/decorators.py +0 -0
  34. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/env.py +0 -0
  35. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/form.py +0 -0
  36. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/helpers.py +0 -0
  37. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/__init__.py +0 -0
  38. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/core.py +0 -0
  39. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/effects.py +0 -0
  40. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/runtime.py +0 -0
  41. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/setup.py +0 -0
  42. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/stable.py +0 -0
  43. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/hooks/states.py +0 -0
  44. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/__init__.py +0 -0
  45. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/elements.py +0 -0
  46. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/events.py +0 -0
  47. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/props.py +0 -0
  48. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/svg.py +0 -0
  49. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/tags.py +0 -0
  50. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/html/tags.pyi +0 -0
  51. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/messages.py +0 -0
  52. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/middleware.py +0 -0
  53. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/plugin.py +0 -0
  54. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/proxy.py +0 -0
  55. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/py.typed +0 -0
  56. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/query.py +0 -0
  57. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/react_component.py +0 -0
  58. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/reactive.py +0 -0
  59. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/reactive_extensions.py +0 -0
  60. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/render_session.py +0 -0
  61. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/renderer.py +0 -0
  62. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/request.py +0 -0
  63. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/routing.py +0 -0
  64. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/serializer.py +0 -0
  65. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/state.py +0 -0
  66. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/types/__init__.py +0 -0
  67. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/types/event_handler.py +0 -0
  68. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/user_session.py +0 -0
  69. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/vdom.py +0 -0
  70. {pulse_framework-0.1.38a4 → pulse_framework-0.1.38a5}/src/pulse/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pulse-framework
3
- Version: 0.1.38a4
3
+ Version: 0.1.38a5
4
4
  Summary: Pulse - Full-stack framework for building real-time React applications in Python
5
5
  Requires-Dist: websockets>=12.0
6
6
  Requires-Dist: fastapi>=0.104.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pulse-framework"
3
- version = "0.1.38a4"
3
+ version = "0.1.38a5"
4
4
  description = "Pulse - Full-stack framework for building real-time React applications in Python"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -416,18 +416,25 @@ def build_web_command(
416
416
  port: int | None = None,
417
417
  mode: PulseEnv = "dev",
418
418
  ) -> CommandSpec:
419
+ command_env = os.environ.copy()
419
420
  if mode == "prod":
420
421
  # Production: use built server
421
422
  args = ["bun", "run", "start"]
422
423
  else:
423
424
  # Development: use dev server
424
425
  args = ["bun", "run", "dev"]
426
+
425
427
  if port is not None:
426
- args.extend(["--port", str(port)])
428
+ if mode == "prod":
429
+ # react-router-serve uses PORT environment variable
430
+ # Don't add --port flag for production
431
+ command_env["PORT"] = str(port)
432
+ else:
433
+ # react-router dev accepts --port flag
434
+ args.extend(["--port", str(port)])
427
435
  if extra_args:
428
436
  args.extend(extra_args)
429
437
 
430
- command_env = os.environ.copy()
431
438
  command_env.update(
432
439
  {
433
440
  "FORCE_COLOR": "1",