jac-client 0.2.8__py3-none-any.whl → 0.2.9__py3-none-any.whl

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 (52) hide show
  1. jac_client/examples/all-in-one/{app.jac → main.jac} +5 -5
  2. jac_client/examples/all-in-one/pages/BudgetPlanner.jac +8 -1
  3. jac_client/examples/all-in-one/pages/FeaturesTest.jac +16 -1
  4. jac_client/examples/all-in-one/pages/{FeaturesTest.cl.jac → features_test_ui.cl.jac} +11 -0
  5. jac_client/examples/all-in-one/pages/nestedDemo.jac +1 -1
  6. jac_client/examples/all-in-one/pages/notFound.jac +2 -7
  7. jac_client/plugin/cli.jac +162 -435
  8. jac_client/plugin/client.jac +25 -0
  9. jac_client/plugin/client_runtime.cl.jac +5 -1
  10. jac_client/plugin/impl/client.impl.jac +96 -55
  11. jac_client/plugin/impl/client_runtime.impl.jac +154 -0
  12. jac_client/plugin/plugin_config.jac +243 -15
  13. jac_client/plugin/src/config_loader.jac +1 -0
  14. jac_client/plugin/src/impl/compiler.impl.jac +1 -1
  15. jac_client/plugin/src/impl/config_loader.impl.jac +8 -0
  16. jac_client/plugin/src/impl/vite_bundler.impl.jac +97 -16
  17. jac_client/plugin/src/vite_bundler.jac +6 -0
  18. jac_client/plugin/utils/__init__.jac +1 -0
  19. jac_client/plugin/utils/impl/node_installer.impl.jac +249 -0
  20. jac_client/plugin/utils/node_installer.jac +41 -0
  21. jac_client/templates/client.jacpack +72 -0
  22. jac_client/templates/fullstack.jacpack +61 -0
  23. jac_client/tests/conftest.py +48 -7
  24. jac_client/tests/test_cli.py +184 -70
  25. jac_client/tests/test_e2e.py +232 -0
  26. jac_client/tests/test_helpers.py +65 -0
  27. jac_client/tests/test_it.py +91 -135
  28. {jac_client-0.2.8.dist-info → jac_client-0.2.9.dist-info}/METADATA +4 -4
  29. {jac_client-0.2.8.dist-info → jac_client-0.2.9.dist-info}/RECORD +52 -45
  30. {jac_client-0.2.8.dist-info → jac_client-0.2.9.dist-info}/WHEEL +1 -1
  31. /jac_client/examples/all-in-one/pages/{BudgetPlanner.cl.jac → budget_planner_ui.cl.jac} +0 -0
  32. /jac_client/examples/asset-serving/css-with-image/{src/app.jac → main.jac} +0 -0
  33. /jac_client/examples/asset-serving/image-asset/{src/app.jac → main.jac} +0 -0
  34. /jac_client/examples/asset-serving/import-alias/{src/app.jac → main.jac} +0 -0
  35. /jac_client/examples/basic/{src/app.jac → main.jac} +0 -0
  36. /jac_client/examples/basic-auth/{src/app.jac → main.jac} +0 -0
  37. /jac_client/examples/basic-auth-with-router/{src/app.jac → main.jac} +0 -0
  38. /jac_client/examples/basic-full-stack/{src/app.jac → main.jac} +0 -0
  39. /jac_client/examples/css-styling/js-styling/{src/app.jac → main.jac} +0 -0
  40. /jac_client/examples/css-styling/material-ui/{src/app.jac → main.jac} +0 -0
  41. /jac_client/examples/css-styling/pure-css/{src/app.jac → main.jac} +0 -0
  42. /jac_client/examples/css-styling/sass-example/{src/app.jac → main.jac} +0 -0
  43. /jac_client/examples/css-styling/styled-components/{src/app.jac → main.jac} +0 -0
  44. /jac_client/examples/css-styling/tailwind-example/{src/app.jac → main.jac} +0 -0
  45. /jac_client/examples/full-stack-with-auth/{src/app.jac → main.jac} +0 -0
  46. /jac_client/examples/little-x/{src/app.jac → main.jac} +0 -0
  47. /jac_client/examples/nested-folders/nested-advance/{src/app.jac → main.jac} +0 -0
  48. /jac_client/examples/nested-folders/nested-basic/{src/app.jac → main.jac} +0 -0
  49. /jac_client/examples/ts-support/{src/app.jac → main.jac} +0 -0
  50. /jac_client/examples/with-router/{src/app.jac → main.jac} +0 -0
  51. {jac_client-0.2.8.dist-info → jac_client-0.2.9.dist-info}/entry_points.txt +0 -0
  52. {jac_client-0.2.8.dist-info → jac_client-0.2.9.dist-info}/top_level.txt +0 -0
@@ -8,7 +8,7 @@ node Todo {
8
8
  done: bool = False;
9
9
  }
10
10
 
11
- walker create_todo {
11
+ walker : pub create_todo {
12
12
  has text: str;
13
13
 
14
14
  can create with `root entry {
@@ -17,13 +17,13 @@ walker create_todo {
17
17
  }
18
18
  }
19
19
 
20
- walker ping_server {
20
+ walker : pub ping_server {
21
21
  can ping with `root entry {
22
22
  report "pong from backend!" ;
23
23
  }
24
24
  }
25
25
 
26
- walker get_server_message {
26
+ walker : pub get_server_message {
27
27
  can info with `root entry {
28
28
  report "hello from a basic walker!" ;
29
29
  }
@@ -35,7 +35,7 @@ walker get_server_message {
35
35
  # This file is intentionally kept empty to demonstrate the separation of concerns
36
36
  # where UI logic resides in .cl.jac files and backend walker logic in app.jac
37
37
 
38
- # All walker implementations for this feature are in src/app.jac
38
+ # All walker implementations for this feature are in main.jac
39
39
  # This demonstrates that you can have separate .jac files for different purposes
40
40
  # Features Test - Backend Walkers
41
41
  # This file demonstrates walker functionality for testing various JAC features
@@ -174,7 +174,7 @@ cl import from "@jac-client/utils" {
174
174
  }
175
175
 
176
176
  # Pure CSS + asset-in-CSS example
177
- cl import ".styles.css";
177
+ cl import ".styles/styles.css";
178
178
 
179
179
  # Login Page
180
180
  cl import from .pages.loginPage { LoginPage }
@@ -2,7 +2,7 @@
2
2
  # This file is intentionally kept empty to demonstrate the separation of concerns
3
3
  # where UI logic resides in .cl.jac files and backend walker logic in app.jac
4
4
 
5
- # All walker implementations for this feature are in src/app.jac
5
+ # All walker implementations for this feature are in main.jac
6
6
  # This demonstrates that you can have separate .jac files for different purposes
7
7
  # Features Test - Backend Walkers
8
8
  # This file demonstrates walker functionality for testing various JAC features
@@ -124,3 +124,10 @@ walker process_complex_data {
124
124
  report result;
125
125
  }
126
126
  }
127
+
128
+ # Re-export client components from the standalone client module
129
+ cl {
130
+ import from .budget_planner_ui { BudgetPlanner as BudgetPlannerUI }
131
+
132
+ def:pub BudgetPlanner -> any { return <BudgetPlannerUI />; }
133
+ }
@@ -2,7 +2,7 @@
2
2
  # This file is intentionally kept empty to demonstrate the separation of concerns
3
3
  # where UI logic resides in .cl.jac files and backend walker logic in app.jac
4
4
 
5
- # All walker implementations for this feature are in src/app.jac
5
+ # All walker implementations for this feature are in main.jac
6
6
  # This demonstrates that you can have separate .jac files for different purposes
7
7
  # Features Test - Backend Walkers
8
8
  # This file demonstrates walker functionality for testing various JAC features
@@ -124,3 +124,18 @@ walker process_complex_data {
124
124
  report result;
125
125
  }
126
126
  }
127
+
128
+ # Re-export client components from the standalone client module
129
+ cl {
130
+ import from .features_test_ui {
131
+ FeaturesTest as FeaturesTestUI,
132
+ TestButton as TestButtonUI,
133
+ TestCard as TestCardUI,
134
+ ResultDisplay as ResultDisplayUI
135
+ }
136
+
137
+ def:pub FeaturesTest -> any { return <FeaturesTestUI />; }
138
+ def:pub TestButton(text: str, onClick: any, variant: str) -> any { return <TestButtonUI text={text} onClick={onClick} variant={variant} />; }
139
+ def:pub TestCard(title: str, children: any, color: str) -> any { return <TestCardUI title={title} children={children} color={color} />; }
140
+ def:pub ResultDisplay(data: any, label: str) -> any { return <ResultDisplayUI data={data} label={label} />; }
141
+ }
@@ -14,6 +14,17 @@ import from ..utils.helpers { generateId, calculatePercentage, sumBy }
14
14
  # # Import from other JAC files
15
15
  import from ..utils.formatters { formatCurrency }
16
16
 
17
+ # Import walkers from server module
18
+ sv import from .FeaturesTest {
19
+ create_test_data,
20
+ read_test_data,
21
+ update_test_data,
22
+ delete_test_data,
23
+ test_string_methods,
24
+ test_list_operations,
25
+ process_complex_data
26
+ }
27
+
17
28
  # ============================================================================
18
29
  # REUSABLE COMPONENTS WITH PROPS
19
30
  # ============================================================================
@@ -1,5 +1,5 @@
1
1
  # Nested folder imports (same pattern as nested-basic/)
2
- cl import from ..components.button {
2
+ cl import from ..components.nestedDemo.CustomButton.tsx {
3
3
  CustomButton
4
4
  }
5
5
  cl import from ..button { CustomButtonRoot }
@@ -1,15 +1,10 @@
1
1
  cl import from "@jac-client/utils" {
2
2
  Link
3
3
  }
4
+ cl import "..styles/notFoundPage/NotFoundstyle.css";
4
5
  cl {
5
6
  def:pub NotFound -> any {
6
- return <div
7
- style={{
8
- "padding": "2rem",
9
- "textAlign": "center",
10
- "fontFamily": "system-ui, -apple-system, sans-serif"
11
- }}
12
- >
7
+ return <div className="not-found-container">
13
8
  <h1>
14
9
  🔍 404 - Page Not Found
15
10
  </h1>