jac-client 0.2.13__py3-none-any.whl → 0.2.15__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 (42) hide show
  1. jac_client/examples/all-in-one/components/Header.jac +1 -1
  2. jac_client/examples/all-in-one/components/ProfitOverview.jac +1 -1
  3. jac_client/examples/all-in-one/components/Summary.jac +1 -1
  4. jac_client/examples/all-in-one/components/TransactionList.jac +2 -2
  5. jac_client/examples/all-in-one/components/navigation.jac +3 -9
  6. jac_client/examples/all-in-one/context/BudgetContext.jac +1 -1
  7. jac_client/examples/all-in-one/main.jac +5 -386
  8. jac_client/examples/all-in-one/pages/(auth)/index.jac +299 -0
  9. jac_client/examples/all-in-one/pages/{nestedDemo.jac → (auth)/nested.jac} +3 -13
  10. jac_client/examples/all-in-one/pages/{loginPage.jac → (public)/login.jac} +1 -1
  11. jac_client/examples/all-in-one/pages/{signupPage.jac → (public)/signup.jac} +1 -1
  12. jac_client/examples/all-in-one/pages/{notFound.jac → [...notFound].jac} +2 -1
  13. jac_client/examples/all-in-one/pages/budget.jac +11 -0
  14. jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac +1 -1
  15. jac_client/examples/all-in-one/pages/features.jac +8 -0
  16. jac_client/examples/all-in-one/pages/features_test_ui.cl.jac +7 -7
  17. jac_client/examples/all-in-one/pages/{LandingPage.jac → landing.jac} +4 -9
  18. jac_client/examples/all-in-one/pages/layout.jac +20 -0
  19. jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac +1 -1
  20. jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac +1 -1
  21. jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac +1 -1
  22. jac_client/plugin/client_runtime.cl.jac +4 -2
  23. jac_client/plugin/impl/client_runtime.impl.jac +12 -1
  24. jac_client/plugin/plugin_config.jac +4 -11
  25. jac_client/plugin/src/compiler.jac +15 -1
  26. jac_client/plugin/src/impl/compiler.impl.jac +216 -23
  27. jac_client/plugin/src/impl/package_installer.impl.jac +3 -2
  28. jac_client/plugin/src/impl/route_scanner.impl.jac +201 -0
  29. jac_client/plugin/src/impl/vite_bundler.impl.jac +15 -11
  30. jac_client/plugin/src/route_scanner.jac +44 -0
  31. jac_client/plugin/utils/impl/bun_installer.impl.jac +16 -19
  32. jac_client/plugin/utils/impl/client_deps.impl.jac +12 -16
  33. jac_client/templates/fullstack.jacpack +3 -2
  34. jac_client/tests/test_e2e.py +19 -28
  35. jac_client/tests/test_it.py +247 -0
  36. {jac_client-0.2.13.dist-info → jac_client-0.2.15.dist-info}/METADATA +2 -2
  37. {jac_client-0.2.13.dist-info → jac_client-0.2.15.dist-info}/RECORD +40 -36
  38. jac_client/examples/all-in-one/pages/BudgetPlanner.jac +0 -140
  39. jac_client/examples/all-in-one/pages/FeaturesTest.jac +0 -157
  40. {jac_client-0.2.13.dist-info → jac_client-0.2.15.dist-info}/WHEEL +0 -0
  41. {jac_client-0.2.13.dist-info → jac_client-0.2.15.dist-info}/entry_points.txt +0 -0
  42. {jac_client-0.2.13.dist-info → jac_client-0.2.15.dist-info}/top_level.txt +0 -0
@@ -1,29 +1,31 @@
1
1
  jac_client/examples/all-in-one/button.jac,sha256=KzMM8B8kjPMZmNXImmi8QwNSKhNLBP38kLmX_NQyz20,142
2
- jac_client/examples/all-in-one/main.jac,sha256=y-LmSXHDqhzVlRbjD_MIS5RkKoKUB1EPQHtY08PT3UE,17829
2
+ jac_client/examples/all-in-one/main.jac,sha256=FlpzztN1J7dOMdBvwBZuPlvnDTuzrrZFg584wVAp7t8,3853
3
3
  jac_client/examples/all-in-one/assets/workers/worker.py,sha256=erXICb1WvDKYlReUIzgZf9v0Pey6pmWDbvAm9vtGQmg,131
4
4
  jac_client/examples/all-in-one/components/CategoryFilter.jac,sha256=YQh1OqqZf89lZxKOKum-fK8ep5h8itNcQC0rbaAlMl4,1838
5
- jac_client/examples/all-in-one/components/Header.jac,sha256=NYRnyQKo8NyVFNfAjpEQkBe-Qc9nwHZy9cXGV24nKUI,503
6
- jac_client/examples/all-in-one/components/ProfitOverview.jac,sha256=zF-chUWBK_6pjTuVpzgv76-1Y3cBE7L9tSx8HyIbtGI,2532
7
- jac_client/examples/all-in-one/components/Summary.jac,sha256=ZKH9JzSpShgjVyyWeCnQDVLrSYYkqo0h3fsGBpothFA,3015
5
+ jac_client/examples/all-in-one/components/Header.jac,sha256=TCgz6XBEB9rAkzFSurTOIiFB3NV_I2nmuS7Zdy2PXV8,510
6
+ jac_client/examples/all-in-one/components/ProfitOverview.jac,sha256=MItkmvvaXi8-fcCUen1Pz0tFYwOjmL4_yGamBYeVD14,2539
7
+ jac_client/examples/all-in-one/components/Summary.jac,sha256=C0cxF-aXnp6PEFveik4Oqmv7Jrv20YCqfZ7Cv7vv44c,3022
8
8
  jac_client/examples/all-in-one/components/TransactionForm.jac,sha256=g7tbmUSX5gw2hobhTvMhCAshC4YbIyJ6yTs937iuPsc,7553
9
9
  jac_client/examples/all-in-one/components/TransactionItem.jac,sha256=OJmdWgYTOa8SsBIfUEEdUWkFRWQT_Cfczdm8O8f-vDY,2133
10
- jac_client/examples/all-in-one/components/TransactionList.jac,sha256=rBm0o3zn7VYfPmRwZVdluwkQCfikBlTYGzEd-qBg9-M,1560
10
+ jac_client/examples/all-in-one/components/TransactionList.jac,sha256=__H-RDBtyYDrMDVMT8dxgQYsRb43IsiKqQhg-pcTnsM,1574
11
11
  jac_client/examples/all-in-one/components/button.jac,sha256=uev3QkRyZSe1iBIc0RC-8evbMrStAbTJHP0_4h4R1Mg,140
12
- jac_client/examples/all-in-one/components/navigation.jac,sha256=jLRToiqtiQXuDxGm9FlBT6O1bJQCts0orypcTFfiaVA,4256
12
+ jac_client/examples/all-in-one/components/navigation.jac,sha256=k9dwIGLiNWA5Scep9dFPIKfIYfyO7gu3t8A1fbd-v24,4027
13
13
  jac_client/examples/all-in-one/constants/categories.jac,sha256=5HrX2JN4OhcQpoJg6ylcE1lzuWaSIaJAn8Ebo9DeYzo,1092
14
14
  jac_client/examples/all-in-one/constants/clients.jac,sha256=8M4AhooSTsxEeC2QTn6UwrNHkLitXUWczCaOwQxrbtw,316
15
- jac_client/examples/all-in-one/context/BudgetContext.jac,sha256=YnAGc60OcKxPYZ2WdKz_0VVf_Lf6z_x3XYql5xFSLYk,890
15
+ jac_client/examples/all-in-one/context/BudgetContext.jac,sha256=pva1ZSKD4EPbZXICld-g771NMu4-dLjqZnsnVMlBqD4,897
16
16
  jac_client/examples/all-in-one/hooks/useBudget.jac,sha256=TmidLwmJUhX_mqD0gKSAXfikwkCKXOfhm9P96LpHbqM,4026
17
17
  jac_client/examples/all-in-one/hooks/useLocalStorage.jac,sha256=3DElBqJvpQhbZNyAfScuZGOXhZM73YPqqF5NzPrvNWo,1196
18
- jac_client/examples/all-in-one/pages/BudgetPlanner.jac,sha256=uHil0s-7otuj7Sn7cobwhWMOMRrMCssbFVD-PPQew2E,3742
19
- jac_client/examples/all-in-one/pages/FeaturesTest.jac,sha256=E2jIt5ivBJSDbhEUzw2_JVywLyWx0bnNO5SB5qyW4n8,4333
20
- jac_client/examples/all-in-one/pages/LandingPage.jac,sha256=KUvow59dbolydimTkX9Ibr6lWPMyE27IbH-zJIUO93o,5428
21
- jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac,sha256=M-h2IkjhP357WpYUWRgrvRSHK5tjZe4RYeogw3LKK-o,2250
22
- jac_client/examples/all-in-one/pages/features_test_ui.cl.jac,sha256=RM7Re1XPpS5fjlmU5aXL-AFaBr77_CcJ1K-C1oFmv7s,26109
23
- jac_client/examples/all-in-one/pages/loginPage.jac,sha256=PBrMTbt3e379nduOEfXGaIpYibXRAivDrxZXubtkaXE,4499
24
- jac_client/examples/all-in-one/pages/nestedDemo.jac,sha256=NJoBLDajJFLSH7h8KQeaWEq66ARgl7Xnj6dCsWIsRGM,1686
25
- jac_client/examples/all-in-one/pages/notFound.jac,sha256=urlwejdhGu4Gf8JyBNyeS7io-htduvEKdJSZjmKVg58,506
26
- jac_client/examples/all-in-one/pages/signupPage.jac,sha256=8gLRXQo1gW_RjPAsydimTrQ9vB8VpqzXP-i_wUrEcqY,4548
18
+ jac_client/examples/all-in-one/pages/[...notFound].jac,sha256=7Em5HP2UVCUncwjKDXDTIGjEV10wmoQGWaLdzietsf0,510
19
+ jac_client/examples/all-in-one/pages/budget.jac,sha256=e1f7zehStW4RYpQue5pCQ0Ltn1_3kdhcVBL50gVJ-Sk,289
20
+ jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac,sha256=kgi4LyUkJmvSO14TuRKDIejzg0nq84isUBPEzVR_D1g,2257
21
+ jac_client/examples/all-in-one/pages/features.jac,sha256=pthjFEgI-vgA4SfvKlExgOYRfAiDMc_4ZYrge3Wm7L0,163
22
+ jac_client/examples/all-in-one/pages/features_test_ui.cl.jac,sha256=DlPS5vvcvffA2GvjU-KBRJQk8i03l1rDzQbTEr0V3vQ,26144
23
+ jac_client/examples/all-in-one/pages/landing.jac,sha256=jxnH_keYDrSVTDUBjo14cOst8-8Ty120DQnTDYrlR14,5259
24
+ jac_client/examples/all-in-one/pages/layout.jac,sha256=z6OAulH9O1cnBNJUrJrs3n0U390QIJHhQlVDpnNx0tA,510
25
+ jac_client/examples/all-in-one/pages/(auth)/index.jac,sha256=eUMqTonmLKOtXLWmp71lcgWhi3aZ9zUsvBRetBU6d8w,11132
26
+ jac_client/examples/all-in-one/pages/(auth)/nested.jac,sha256=0DYTalcZ71T2inB3LhVPVvMnJ08oIK4Sj_dBivwheg8,1405
27
+ jac_client/examples/all-in-one/pages/(public)/login.jac,sha256=YIyXhBu-TgrDMits6JJMXsTl1PExb-zAOdiOC11v4Dc,4501
28
+ jac_client/examples/all-in-one/pages/(public)/signup.jac,sha256=s155Arbc0iLVyIQukflGn_rjUy96RtBuKcGzu8qod8Q,4549
27
29
  jac_client/examples/all-in-one/utils/formatters.jac,sha256=QfOdGgFf2PWcg6ALbHKk5bAO0P4zqBLoM_2nJltCXGY,1544
28
30
  jac_client/examples/asset-serving/css-with-image/main.jac,sha256=eSYYyyY7S5BcioeVtEoGKTOAINAck2oycOEKD3kq_3E,3140
29
31
  jac_client/examples/asset-serving/image-asset/main.jac,sha256=r4FgBiO_Tg4MRxvXVbbpmrY8x_tqr9YUtYcPgNJmQI4,1764
@@ -42,10 +44,10 @@ jac_client/examples/full-stack-with-auth/main.jac,sha256=16n-w20Uf3R2RsD5WLPxjKP
42
44
  jac_client/examples/little-x/main.jac,sha256=XQiFsuzMYPIr3nky0pDtesylDzMjoA7gokVLI1eDZEA,19704
43
45
  jac_client/examples/little-x/src/submit-button.jac,sha256=2FUBiTkZwvZpPQA1YFcjtso4bpvLniit35vliT5rrXY,430
44
46
  jac_client/examples/nested-folders/nested-advance/main.jac,sha256=EvkJeEkCX2lGTSC_VlD6I7He5IwZe4aoyCa6opb5P_M,775
45
- jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac,sha256=MhNU_hQgksEdz6QMPf9T58KmG2H2Hiy4U8bIbWFc7vo,190
46
- jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac,sha256=W85gvda3tysc6O-tZuDv_TeQczAnNSa1FVuOVJ6dAqQ,407
47
+ jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac,sha256=OljvOh5mXxeYtv8cw2E2EzYp78DIEgyVKdLpmKi4vEI,197
48
+ jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac,sha256=5o9czFZ245wKLN_ts0RavF_np1K3LwbYaJ6qOqQ59pE,414
47
49
  jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac,sha256=GWsVPHPpF5gxlkhB4rSPOxaLRT-usEjs0ELoHVvKL9g,1076
48
- jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac,sha256=SRTEvSY5N5bbK_wlk0xawNzdF1XCmokvitUdkKEJuNY,576
50
+ jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac,sha256=bAnL52jkE87U7zxGTrYhpn3JhWett2FBI_4iPoelNc8,583
49
51
  jac_client/examples/nested-folders/nested-basic/main.jac,sha256=fV3UymEAORR_1RsU5z2JeNZ4yFr7B9MmlolQ2MhpIgw,298
50
52
  jac_client/examples/nested-folders/nested-basic/src/button.jac,sha256=BUaKr2Pm6RsgQCRVTZXojMfY8HoIB4S3YiItEpjoxCs,139
51
53
  jac_client/examples/nested-folders/nested-basic/src/components/button.jac,sha256=mvAbsu5Q6DQY4Jfo375k3dBm0rMmKAk6E-o3m5-YmNc,135
@@ -53,29 +55,31 @@ jac_client/examples/ts-support/main.jac,sha256=KcNOi0fZj7tBhWJvusbZ_q3z0cHjlYYfD
53
55
  jac_client/examples/with-router/main.jac,sha256=Aanl3a880KQ-ki8SfskRu8QJRvvm-_pQIvxcfOHB52k,8460
54
56
  jac_client/plugin/cli.jac,sha256=54qGU_7WOKIlE9ltY-0V33Yfu1LkBFs4SSJwCsgQstg,20161
55
57
  jac_client/plugin/client.jac,sha256=WVn8IwQO2Kgr8XLDI8D4FSVj9kdewBXB3Mgi9ifCVTI,2095
56
- jac_client/plugin/client_runtime.cl.jac,sha256=K8u-XwGr998XO2o-dm0OkistqH_odY5GGzcua0VZUW0,2010
57
- jac_client/plugin/plugin_config.jac,sha256=sijvX5C7-5c2T8VWgbGW6G6IYi1k6AP_bdbagfd9jNc,13308
58
+ jac_client/plugin/client_runtime.cl.jac,sha256=njf4m86QGS1uZNFuHGg1Carj7cumzt2Ex57_fS5HGXs,2109
59
+ jac_client/plugin/plugin_config.jac,sha256=el5h0z2cTfqg0WUhTuyZw0BHJncvUPa2rNXrW2iQ4HM,13185
58
60
  jac_client/plugin/vite_client_bundle.jac,sha256=l8EY8O2sdsqhtO8I32Of01dgShRQBfMBNWXyl-y-vtY,1016
59
61
  jac_client/plugin/impl/client.impl.jac,sha256=UOmY3Pzi00Cvqdze_BnoIX1QS5_QWEPDQATNp5VDh4k,8956
60
- jac_client/plugin/impl/client_runtime.impl.jac,sha256=FhBo_GrnjVBLmFw2-DFz4UwBiHDmQLbIWAHQ_qHbxww,11181
62
+ jac_client/plugin/impl/client_runtime.impl.jac,sha256=_YlTwJd3cd4sqHwkYgn_ujFWEDg4N7TPYpKODj46n1Y,11524
61
63
  jac_client/plugin/impl/vite_client_bundle.impl.jac,sha256=KXFqXSZaa08Z6CrEqebfdjo7TvdakTNJHVnGOhj4e0s,2620
62
64
  jac_client/plugin/src/__init__.jac,sha256=pdkHciVYLG1UnE-Pez1X4SULUG2ACMYrUYwWq-CZ3Sw,727
63
65
  jac_client/plugin/src/asset_processor.jac,sha256=Qpm1a174PPJl32nH_eDZYR-6vx59V2NEWfj0knUMwXY,961
64
- jac_client/plugin/src/compiler.jac,sha256=vTkxjjFwykhWMvfGF9jY6XC5KHXJ-LjHUc6EsRqSjjs,2441
66
+ jac_client/plugin/src/compiler.jac,sha256=cH6rd8DCbHSeHc8iNwRAkBvwDBL3YZTyeC1mJthVJUA,3059
65
67
  jac_client/plugin/src/config_loader.jac,sha256=kgVpeiQdEzMs5vgdHyfAR08N55AJjOobJonaotRaJdU,1367
66
68
  jac_client/plugin/src/desktop_config.jac,sha256=bFGW5lnLeUZgjbjd1BMHvf38Qbsb8VZ0YcbUf78LZ1Q,1249
67
69
  jac_client/plugin/src/import_processor.jac,sha256=wYg8bD5qHxpvFyXkQxNpqUIV3ei5aMoevA2bWyq9VG8,589
68
70
  jac_client/plugin/src/jac_to_js.jac,sha256=U2_v95tdsbw1oMPGPY0HOhDcAsHg3uQIcGWzLmFdWyc,1115
69
71
  jac_client/plugin/src/package_installer.jac,sha256=5maePqEe3xIys9Ufn54m423tAr54z-urtXc84Ki3bIY,850
72
+ jac_client/plugin/src/route_scanner.jac,sha256=UtMYbXzR7YF-DMQEGnzdinsZn_cHox22QccqOP1YAiI,1472
70
73
  jac_client/plugin/src/vite_bundler.jac,sha256=3Xk6mesoOp76d31qG_xQJfB_a8wI6xydM-rBsSIzdqU,2390
71
74
  jac_client/plugin/src/impl/asset_processor.impl.jac,sha256=-ljWYzKLKyAdfJybr8sjJlYSK57KzueeNvTo_WjAFAY,4256
72
- jac_client/plugin/src/impl/compiler.impl.jac,sha256=QPKV5UoBcScC6oSOceFM7Y9gsiID-pw_vkKeJXLs080,12054
75
+ jac_client/plugin/src/impl/compiler.impl.jac,sha256=gLd2VeLgHhDIDiRq081DYlRU-3Y2tW43MvFRU5S1wIg,19458
73
76
  jac_client/plugin/src/impl/config_loader.impl.jac,sha256=F-blKeVWtuh382cazxrMdmpA8lpDFjVawkZBhKRtMhI,4731
74
77
  jac_client/plugin/src/impl/desktop_config.impl.jac,sha256=mitiS3RfHjMstUqPJs2OnB6lFk27GGSrKXCrJK5Sceg,6758
75
78
  jac_client/plugin/src/impl/import_processor.impl.jac,sha256=BMkkZXlF-6jbC-r3tuFj8PDFvDZrbfzuhnaw8qraWIQ,1214
76
79
  jac_client/plugin/src/impl/jac_to_js.impl.jac,sha256=KHblc0PloMJqsX2DRdp3tyJ0k5d39ArPxBLKXsw7mjA,1692
77
- jac_client/plugin/src/impl/package_installer.impl.jac,sha256=YbXlzqmrzNtNSyfDcVY3-975Pqbc9H9wxQ1LQxO6ypE,4020
78
- jac_client/plugin/src/impl/vite_bundler.impl.jac,sha256=ANywKi6hQWYcFyXbEKovy05gaHCjEtzaf4VXRdUP8D4,30700
80
+ jac_client/plugin/src/impl/package_installer.impl.jac,sha256=rnY4uCzLTMMJ1LvCwGEZyyin4eJOeHDFM-aCqFggWjw,4060
81
+ jac_client/plugin/src/impl/route_scanner.impl.jac,sha256=iRKp819wq303Bnawc_9DW37Xyj7YCMlFJ0w51AgwWSs,7088
82
+ jac_client/plugin/src/impl/vite_bundler.impl.jac,sha256=ivmt1Cs-LLsUsCcWKSSdbY2lc4Xa5VXUqWt8hK4ejpU,30888
79
83
  jac_client/plugin/src/targets/desktop_target.jac,sha256=dtfVf6ZirIi4ghTON3Touv_0LGcH2-6-IJP1xzTb_ug,1344
80
84
  jac_client/plugin/src/targets/register.jac,sha256=tiHmOKEgOWlYdY5DYko6M0Ktp2kZr7TZFWKq18Tmp24,835
81
85
  jac_client/plugin/src/targets/registry.jac,sha256=wl1QJEWAyI7KAfTSjIw3PdxpYgtUCpaj7D0c09jZxFM,2664
@@ -87,17 +91,17 @@ jac_client/plugin/src/targets/impl/web_target.impl.jac,sha256=fQQ1zahAnvsD4BFr8J
87
91
  jac_client/plugin/utils/__init__.jac,sha256=u_rH9sxR8EgLUsbaNpv0tgYmt5sLlrb41LhPRk0w0g4,166
88
92
  jac_client/plugin/utils/bun_installer.jac,sha256=irvOnt2WF6sB_aOH5v6L9Jde-NoP39JDjysXB2V0nv0,473
89
93
  jac_client/plugin/utils/client_deps.jac,sha256=BLJ7UaBi2aC-V-Vl4IsfGYfnRI75QtaO1JNYo_ut0UI,569
90
- jac_client/plugin/utils/impl/bun_installer.impl.jac,sha256=S6yqaxNvQ6HYgSfO7bRu8NiNsYvG8mvK8j4d1_Vf_FM,3483
91
- jac_client/plugin/utils/impl/client_deps.impl.jac,sha256=u2APi7hYTTCzDuiG2wTlsM4Dfi1QPY9FNO6xAIq_gPw,2774
94
+ jac_client/plugin/utils/impl/bun_installer.impl.jac,sha256=AdO65jsrdndbD5ru8xUG_IOQRtSG_N8mnq4Xu7fIPiY,3379
95
+ jac_client/plugin/utils/impl/client_deps.impl.jac,sha256=bcxnv6h8QO6hVdZaoIaTxB4LgaVSp0GwIlQgR_GV4g8,2697
92
96
  jac_client/templates/client.jacpack,sha256=o3aVPZTI1T52gvLHv5bGK0czX8cAx0GgWfMjQP5yA3w,4187
93
- jac_client/templates/fullstack.jacpack,sha256=qS5vlhHjpInxVFkAD8T0FftqWFVW6hAbexl9LufW0eE,23109
97
+ jac_client/templates/fullstack.jacpack,sha256=XjyEO5WJtgWSvZssD680SFrZORDR-Wy9FCRSAHLeoFs,23279
94
98
  jac_client/tests/__init__.py,sha256=HSr78dvKyvNmP7bLmAssfYItAn4puFwAe1oWnV8l7pA,36
95
99
  jac_client/tests/conftest.py,sha256=PU-eYPagFRXSKeXaGadES3s2LlNjzy5VSsXuUPse8_4,11136
96
100
  jac_client/tests/test_cli.py,sha256=YtpFzdQca264ZIXO9RBfvV6LVBGaeZ2B5iKFsvVMx4E,37995
97
101
  jac_client/tests/test_desktop_api_url.py,sha256=x81jMYxSnIFheU2dvDyqqfoKnm3i0LxY5BBY8lObxfU,32513
98
- jac_client/tests/test_e2e.py,sha256=QNVKkgwLY1WDmc6EKJ9Vznuu0Q2A64HZAfzDZe0dEaQ,8184
102
+ jac_client/tests/test_e2e.py,sha256=icRlO6LYBdsS7p7HqaPQj9n6C2TMviggdiv7wmvrmvw,7874
99
103
  jac_client/tests/test_helpers.py,sha256=UqXYIl0Vi_8IDJ1efsJh1BcaJPudINfpLojhwDxxtNg,1615
100
- jac_client/tests/test_it.py,sha256=p8840vOmvhzS56BQIiAvpcK6gkavENoI5pxhFwDd5Ns,46381
104
+ jac_client/tests/test_it.py,sha256=WFCspm2PBI8pAgd0WpeSujXry3OeufXiFf93guZmZ1w,55643
101
105
  jac_client/tests/test_it_desktop.py,sha256=mzaDfFFhmN762FrFH1WEXQh99cq5bS-eZqwmI-ousvM,32143
102
106
  jac_client/tests/fixtures/basic-app/app.jac,sha256=sDup4PmtUm93oVOxIz874SSZfMimPv4Qn683iXm43TI,489
103
107
  jac_client/tests/fixtures/cl_file/app.cl.jac,sha256=fHJvjKWLhX5uVdZl12mPwcNRgMVFrCz8oY3oMoCWeuM,1157
@@ -109,8 +113,8 @@ jac_client/tests/fixtures/relative_import/button.jac,sha256=kCDNaHEcxMEFdezfnecy
109
113
  jac_client/tests/fixtures/spawn_test/app.jac,sha256=cooYrB7xhHMk9xWOZ6MIiY4I6kmodW2v-nyVnd1RR74,3863
110
114
  jac_client/tests/fixtures/test_fragments_spread/app.jac,sha256=CMzAz4Ydx_5eAV82-io8sJdy8_xy-mR7YOVc7FcozlU,1277
111
115
  jac_client/tests/fixtures/with-ts/app.jac,sha256=1j1IH_4mfgLtgPq2Xc5PrGHBvmLQl6U0ddbb2L5KwuA,981
112
- jac_client-0.2.13.dist-info/METADATA,sha256=husYWbw76gE444kA_UzCcenhK8FfAkFY0UeX_YFMpXs,5552
113
- jac_client-0.2.13.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
114
- jac_client-0.2.13.dist-info/entry_points.txt,sha256=fVrlaJKcSa2DK2hcfR6bNaQDB9mszMpZeEa6pitMdt4,154
115
- jac_client-0.2.13.dist-info/top_level.txt,sha256=u1VEBfiqwRrZEopKraIh-Ym55qSnDZR3Q5xdw2HinhU,11
116
- jac_client-0.2.13.dist-info/RECORD,,
116
+ jac_client-0.2.15.dist-info/METADATA,sha256=PIvbGUQRNGSQQIkOi8y8T301vAwLMShGR9AsmQpfhnA,5552
117
+ jac_client-0.2.15.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
118
+ jac_client-0.2.15.dist-info/entry_points.txt,sha256=fVrlaJKcSa2DK2hcfR6bNaQDB9mszMpZeEa6pitMdt4,154
119
+ jac_client-0.2.15.dist-info/top_level.txt,sha256=u1VEBfiqwRrZEopKraIh-Ym55qSnDZR3Q5xdw2HinhU,11
120
+ jac_client-0.2.15.dist-info/RECORD,,
@@ -1,140 +0,0 @@
1
- # Features Test Page - Backend Logic
2
- # This file is intentionally kept empty to demonstrate the separation of concerns
3
- # where UI logic resides in .cl.jac files and backend walker logic in app.jac
4
-
5
- # All walker implementations for this feature are in main.jac
6
- # This demonstrates that you can have separate .jac files for different purposes
7
- # Features Test - Backend Walkers
8
- # This file demonstrates walker functionality for testing various JAC features
9
- import from datetime {
10
- datetime,
11
- timedelta
12
- }
13
-
14
- # Node definition for storing test data
15
- node TestData {
16
- has message: str,
17
- count: int = 0,
18
- created_at: str = "";
19
- }
20
-
21
- # Walker: Create test data
22
- walker create_test_data {
23
- has message: str;
24
-
25
- can create with `root entry {
26
- new_data = here ++> TestData(
27
- message=self.message,
28
- count=1,
29
- created_at=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
30
- );
31
- report new_data;
32
- }
33
- }
34
-
35
- # Walker: Read all test data
36
- walker read_test_data {
37
- can read with `root entry {
38
- visit [-->(`?TestData)];
39
- }
40
-
41
- can report_data with exit {
42
- report here;
43
- }
44
- }
45
-
46
- # Walker: Update test data
47
- walker update_test_data {
48
- has new_message: str;
49
-
50
- can update with TestData entry {
51
- here.message = self.new_message;
52
- here.count = here.count + 1;
53
- report here;
54
- }
55
- }
56
-
57
- # Walker: Delete test data
58
- walker delete_test_data {
59
- can delete with TestData entry {
60
- del here;
61
- report {"status": "deleted"};
62
- }
63
- }
64
-
65
- # Walker: String manipulation test
66
- walker test_string_methods {
67
- has input_text: str;
68
-
69
- can process with `root entry {
70
- result = {
71
- "original": self.input_text,
72
- "uppercase": self.input_text.upper(),
73
- "lowercase": self.input_text.lower(),
74
- "capitalized": self.input_text.capitalize(),
75
- "reversed": self.input_text[::-1],
76
- "length": len(self.input_text),
77
- "words": self.input_text.split(),
78
- "trimmed": self.input_text.strip(),
79
- "replaced": self.input_text.replace("test", "demo")
80
- };
81
- report result;
82
- }
83
- }
84
-
85
- # Walker: Array/List operations test
86
- walker test_list_operations {
87
- has numbers: list;
88
-
89
- can process with `root entry {
90
- result = {
91
- "original": self.numbers,
92
- "sorted": sorted(self.numbers),
93
- "reversed": list(reversed(self.numbers)),
94
- "sum": sum(self.numbers),
95
- "max": max(self.numbers) if len(self.numbers) > 0 else 0,
96
- "min": min(self.numbers) if len(self.numbers) > 0 else 0,
97
- "length": len(self.numbers),
98
- "doubled": [x * 2 for x in self.numbers]
99
- };
100
- report result;
101
- }
102
- }
103
-
104
- # Walker: Complex data processing
105
- walker process_complex_data {
106
- has items: list;
107
-
108
- can process with `root entry {
109
- processed = [];
110
- for item in self.items {
111
- processed.append(
112
- {
113
- "id": item.get("id", 0),
114
- "name": item.get("name", "").upper(),
115
- "value": item.get("value", 0) * 2,
116
- "processed_at": datetime.now().strftime("%H:%M:%S")
117
- }
118
- );
119
- }
120
-
121
- result = {
122
- "original_count": len(self.items),
123
- "processed_count": len(processed),
124
- "items": processed,
125
- "total_value": sum([p["value"] for p in processed])
126
- };
127
-
128
- report result;
129
- }
130
- }
131
-
132
- # Re-export client components from the standalone client module
133
- cl {
134
- import from .budget_planner_ui { BudgetPlanner as BudgetPlannerUI }
135
-
136
- def:pub BudgetPlanner -> any {
137
- return
138
- <BudgetPlannerUI />;
139
- }
140
- }
@@ -1,157 +0,0 @@
1
- # Features Test Page - Backend Logic
2
- # This file is intentionally kept empty to demonstrate the separation of concerns
3
- # where UI logic resides in .cl.jac files and backend walker logic in app.jac
4
-
5
- # All walker implementations for this feature are in main.jac
6
- # This demonstrates that you can have separate .jac files for different purposes
7
- # Features Test - Backend Walkers
8
- # This file demonstrates walker functionality for testing various JAC features
9
- import from datetime {
10
- datetime,
11
- timedelta
12
- }
13
-
14
- # Node definition for storing test data
15
- node TestData {
16
- has message: str,
17
- count: int = 0,
18
- created_at: str = "";
19
- }
20
-
21
- # Walker: Create test data
22
- walker create_test_data {
23
- has message: str;
24
-
25
- can create with `root entry {
26
- new_data = here ++> TestData(
27
- message=self.message,
28
- count=1,
29
- created_at=datetime.now().strftime("%Y-%m-%d %H:%M:%S")
30
- );
31
- report new_data;
32
- }
33
- }
34
-
35
- # Walker: Read all test data
36
- walker read_test_data {
37
- can read with `root entry {
38
- visit [-->(`?TestData)];
39
- }
40
-
41
- can report_data with exit {
42
- report here;
43
- }
44
- }
45
-
46
- # Walker: Update test data
47
- walker update_test_data {
48
- has new_message: str;
49
-
50
- can update with TestData entry {
51
- here.message = self.new_message;
52
- here.count = here.count + 1;
53
- report here;
54
- }
55
- }
56
-
57
- # Walker: Delete test data
58
- walker delete_test_data {
59
- can delete with TestData entry {
60
- del here;
61
- report {"status": "deleted"};
62
- }
63
- }
64
-
65
- # Walker: String manipulation test
66
- walker test_string_methods {
67
- has input_text: str;
68
-
69
- can process with `root entry {
70
- result = {
71
- "original": self.input_text,
72
- "uppercase": self.input_text.upper(),
73
- "lowercase": self.input_text.lower(),
74
- "capitalized": self.input_text.capitalize(),
75
- "reversed": self.input_text[::-1],
76
- "length": len(self.input_text),
77
- "words": self.input_text.split(),
78
- "trimmed": self.input_text.strip(),
79
- "replaced": self.input_text.replace("test", "demo")
80
- };
81
- report result;
82
- }
83
- }
84
-
85
- # Walker: Array/List operations test
86
- walker test_list_operations {
87
- has numbers: list;
88
-
89
- can process with `root entry {
90
- result = {
91
- "original": self.numbers,
92
- "sorted": sorted(self.numbers),
93
- "reversed": list(reversed(self.numbers)),
94
- "sum": sum(self.numbers),
95
- "max": max(self.numbers) if len(self.numbers) > 0 else 0,
96
- "min": min(self.numbers) if len(self.numbers) > 0 else 0,
97
- "length": len(self.numbers),
98
- "doubled": [x * 2 for x in self.numbers]
99
- };
100
- report result;
101
- }
102
- }
103
-
104
- # Walker: Complex data processing
105
- walker process_complex_data {
106
- has items: list;
107
-
108
- can process with `root entry {
109
- processed = [];
110
- for item in self.items {
111
- processed.append(
112
- {
113
- "id": item.get("id", 0),
114
- "name": item.get("name", "").upper(),
115
- "value": item.get("value", 0) * 2,
116
- "processed_at": datetime.now().strftime("%H:%M:%S")
117
- }
118
- );
119
- }
120
-
121
- result = {
122
- "original_count": len(self.items),
123
- "processed_count": len(processed),
124
- "items": processed,
125
- "total_value": sum([p["value"] for p in processed])
126
- };
127
-
128
- report result;
129
- }
130
- }
131
-
132
- # Re-export client components from the standalone client module
133
- cl {
134
- import from .features_test_ui {
135
- FeaturesTest as FeaturesTestUI,
136
- TestButton as TestButtonUI,
137
- TestCard as TestCardUI,
138
- ResultDisplay as ResultDisplayUI
139
- }
140
-
141
- def:pub FeaturesTest -> any {
142
- return
143
- <FeaturesTestUI />;
144
- }
145
- def:pub TestButton(text: str, onClick: any, variant: str) -> any {
146
- return
147
- <TestButtonUI text={text} onClick={onClick} variant={variant} />;
148
- }
149
- def:pub TestCard(title: str, children: any, color: str) -> any {
150
- return
151
- <TestCardUI title={title} children={children} color={color} />;
152
- }
153
- def:pub ResultDisplay(data: any, label: str) -> any {
154
- return
155
- <ResultDisplayUI data={data} label={label} />;
156
- }
157
- }