jac-client 0.2.10__py3-none-any.whl → 0.2.12__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 (85) hide show
  1. jac_client/examples/all-in-one/button.jac +4 -3
  2. jac_client/examples/all-in-one/components/CategoryFilter.jac +36 -24
  3. jac_client/examples/all-in-one/components/Header.jac +12 -8
  4. jac_client/examples/all-in-one/components/ProfitOverview.jac +49 -35
  5. jac_client/examples/all-in-one/components/Summary.jac +59 -36
  6. jac_client/examples/all-in-one/components/TransactionForm.jac +142 -112
  7. jac_client/examples/all-in-one/components/TransactionItem.jac +37 -30
  8. jac_client/examples/all-in-one/components/TransactionList.jac +33 -26
  9. jac_client/examples/all-in-one/components/button.jac +4 -3
  10. jac_client/examples/all-in-one/components/navigation.jac +111 -117
  11. jac_client/examples/all-in-one/constants/categories.jac +23 -24
  12. jac_client/examples/all-in-one/constants/clients.jac +7 -8
  13. jac_client/examples/all-in-one/context/BudgetContext.jac +9 -6
  14. jac_client/examples/all-in-one/hooks/useBudget.jac +18 -12
  15. jac_client/examples/all-in-one/hooks/useLocalStorage.jac +14 -13
  16. jac_client/examples/all-in-one/main.jac +340 -371
  17. jac_client/examples/all-in-one/pages/BudgetPlanner.jac +19 -12
  18. jac_client/examples/all-in-one/pages/FeaturesTest.jac +31 -15
  19. jac_client/examples/all-in-one/pages/LandingPage.jac +113 -90
  20. jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac +34 -39
  21. jac_client/examples/all-in-one/pages/features_test_ui.cl.jac +464 -352
  22. jac_client/examples/all-in-one/pages/loginPage.jac +114 -119
  23. jac_client/examples/all-in-one/pages/nestedDemo.jac +43 -50
  24. jac_client/examples/all-in-one/pages/notFound.jac +14 -15
  25. jac_client/examples/all-in-one/pages/signupPage.jac +113 -119
  26. jac_client/examples/all-in-one/utils/formatters.jac +5 -8
  27. jac_client/examples/asset-serving/css-with-image/main.jac +77 -73
  28. jac_client/examples/asset-serving/image-asset/main.jac +47 -46
  29. jac_client/examples/asset-serving/import-alias/main.jac +93 -95
  30. jac_client/examples/basic/main.jac +17 -15
  31. jac_client/examples/basic-auth/main.jac +246 -254
  32. jac_client/examples/basic-auth-with-router/main.jac +272 -285
  33. jac_client/examples/basic-full-stack/main.jac +245 -242
  34. jac_client/examples/css-styling/js-styling/main.jac +41 -62
  35. jac_client/examples/css-styling/material-ui/main.jac +90 -90
  36. jac_client/examples/css-styling/pure-css/main.jac +35 -44
  37. jac_client/examples/css-styling/sass-example/main.jac +35 -44
  38. jac_client/examples/css-styling/styled-components/main.jac +38 -47
  39. jac_client/examples/css-styling/tailwind-example/main.jac +54 -43
  40. jac_client/examples/full-stack-with-auth/main.jac +407 -433
  41. jac_client/examples/little-x/main.jac +306 -344
  42. jac_client/examples/little-x/src/submit-button.jac +15 -14
  43. jac_client/examples/nested-folders/nested-advance/main.jac +18 -27
  44. jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac +4 -6
  45. jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac +9 -13
  46. jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac +29 -32
  47. jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac +12 -18
  48. jac_client/examples/nested-folders/nested-basic/main.jac +7 -5
  49. jac_client/examples/nested-folders/nested-basic/src/button.jac +4 -3
  50. jac_client/examples/nested-folders/nested-basic/src/components/button.jac +4 -3
  51. jac_client/examples/ts-support/main.jac +26 -26
  52. jac_client/examples/with-router/main.jac +186 -223
  53. jac_client/plugin/client_runtime.cl.jac +5 -3
  54. jac_client/plugin/impl/client_runtime.impl.jac +1 -1
  55. jac_client/plugin/plugin_config.jac +53 -99
  56. jac_client/plugin/src/__init__.jac +0 -2
  57. jac_client/plugin/src/compiler.jac +0 -1
  58. jac_client/plugin/src/impl/compiler.impl.jac +49 -17
  59. jac_client/plugin/src/impl/jac_to_js.impl.jac +5 -1
  60. jac_client/plugin/src/impl/package_installer.impl.jac +20 -20
  61. jac_client/plugin/src/impl/vite_bundler.impl.jac +146 -84
  62. jac_client/plugin/src/targets/impl/desktop_target.impl.jac +54 -41
  63. jac_client/plugin/utils/__init__.jac +3 -0
  64. jac_client/plugin/utils/bun_installer.jac +16 -0
  65. jac_client/plugin/utils/client_deps.jac +14 -0
  66. jac_client/plugin/utils/impl/bun_installer.impl.jac +99 -0
  67. jac_client/plugin/utils/impl/client_deps.impl.jac +73 -0
  68. jac_client/templates/client.jacpack +0 -4
  69. jac_client/templates/fullstack.jacpack +1 -5
  70. jac_client/tests/conftest.py +56 -41
  71. jac_client/tests/fixtures/spawn_test/app.jac +49 -52
  72. jac_client/tests/fixtures/with-ts/app.jac +27 -27
  73. jac_client/tests/test_cli.py +71 -6
  74. jac_client/tests/test_helpers.py +11 -18
  75. jac_client/tests/test_it.py +1 -1
  76. {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/METADATA +5 -5
  77. jac_client-0.2.12.dist-info/RECORD +115 -0
  78. {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/WHEEL +1 -1
  79. jac_client/plugin/src/babel_processor.jac +0 -18
  80. jac_client/plugin/src/impl/babel_processor.impl.jac +0 -89
  81. jac_client/plugin/utils/impl/node_installer.impl.jac +0 -249
  82. jac_client/plugin/utils/node_installer.jac +0 -41
  83. jac_client-0.2.10.dist-info/RECORD +0 -115
  84. {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/entry_points.txt +0 -0
  85. {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/top_level.txt +0 -0
@@ -1,249 +0,0 @@
1
- """Implementation of Node.js installer methods."""
2
-
3
- """Check if Node.js is installed and accessible."""
4
- impl NodeInstaller.is_node_installed -> bool {
5
- try {
6
- result = subprocess.run(
7
- ['node', '--version'], capture_output=True, text=True, timeout=5
8
- );
9
- return result.returncode == 0;
10
- } except (FileNotFoundError, subprocess.TimeoutExpired) {
11
- return False;
12
- }
13
- }
14
-
15
- """Check if npm is installed and accessible."""
16
- impl NodeInstaller.is_npm_installed -> bool {
17
- try {
18
- result = subprocess.run(
19
- ['npm', '--version'], capture_output=True, text=True, timeout=5
20
- );
21
- return result.returncode == 0;
22
- } except (FileNotFoundError, subprocess.TimeoutExpired) {
23
- return False;
24
- }
25
- }
26
-
27
- """Check if NVM is installed."""
28
- impl NodeInstaller.is_nvm_installed -> bool {
29
- nvm_dir = Path.home() / '.nvm';
30
- return nvm_dir.exists() and (nvm_dir / 'nvm.sh').exists();
31
- }
32
-
33
- """Get the currently installed Node.js version."""
34
- impl NodeInstaller.get_node_version -> (str | None) {
35
- try {
36
- result = subprocess.run(
37
- ['node', '--version'], capture_output=True, text=True, timeout=5
38
- );
39
- if result.returncode == 0 {
40
- return result.stdout.strip();
41
- }
42
- } except (FileNotFoundError, subprocess.TimeoutExpired) { }
43
- return None;
44
- }
45
-
46
- """Install NVM (Node Version Manager)."""
47
- impl NodeInstaller.install_nvm -> tuple[bool, str] {
48
- system = platform.system();
49
- if system == 'Windows' {
50
- return (
51
- False,
52
- 'Windows detected. Please install Node.js manually:\n' + ' 1. Download from: https://nodejs.org/\n' + ' 2. Or use nvm-windows: https://github.com/coreybutler/nvm-windows\n' + ' After installation, run "jac add --cl" again.'
53
- );
54
- }
55
- print('Installing NVM (Node Version Manager)...');
56
- try {
57
- # Download and run NVM installation script
58
- install_script = subprocess.run(
59
- ['curl', '-o-', NodeInstaller.NVM_INSTALL_URL],
60
- capture_output=True,
61
- text=True,
62
- timeout=30
63
- );
64
-
65
- if install_script.returncode != 0 {
66
- return (
67
- False,
68
- f'Failed to download NVM installer: {install_script.stderr}'
69
- );
70
- }
71
-
72
- # Execute the installation script
73
- result = subprocess.run(
74
- ['bash', '-c', install_script.stdout],
75
- capture_output=True,
76
- text=True,
77
- timeout=60
78
- );
79
-
80
- if result.returncode != 0 {
81
- return (False, f'NVM installation failed: {result.stderr}');
82
- }
83
-
84
- print('NVM installed successfully!');
85
- return (True, 'NVM installed successfully');
86
- } except subprocess.TimeoutExpired {
87
- return (
88
- False,
89
- 'NVM installation timed out. Please check your internet connection.'
90
- );
91
- } except FileNotFoundError as e {
92
- if 'curl' in str(e) {
93
- return (
94
- False,
95
- 'curl command not found. Please install curl first:\n' + ' Ubuntu/Debian: sudo apt-get install curl\n' + ' macOS: curl is pre-installed\n' + ' Fedora/RHEL: sudo dnf install curl'
96
- );
97
- }
98
- return (False, f'Required command not found: {e}');
99
- } except Exception as e {
100
- return (False, f'Unexpected error during NVM installation: {e}');
101
- }
102
- }
103
-
104
- """Install Node.js using NVM."""
105
- impl NodeInstaller.install_node_via_nvm(version: str = "20") -> tuple[bool, str] {
106
- print(f'Installing Node.js v{version} via NVM...');
107
- nvm_dir = Path.home() / '.nvm';
108
- nvm_script = nvm_dir / 'nvm.sh';
109
- if not nvm_script.exists() {
110
- return (False, 'NVM is not installed or nvm.sh not found');
111
- }
112
- try {
113
- # Source NVM and install Node.js
114
- command = (
115
- 'export NVM_DIR="$HOME/.nvm"\n' + '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"\n' + f'nvm install {version}\n' + f'nvm use {version}\n' + f'nvm alias default {version}\n'
116
- );
117
-
118
- result = subprocess.run(
119
- ['bash', '-c', command], capture_output=True, text=True, timeout=300
120
- );
121
-
122
- if result.returncode != 0 {
123
- return (False, f'Node.js installation failed: {result.stderr}');
124
- }
125
-
126
- print(f'Node.js v{version} installed successfully!');
127
- return (True, f'Node.js v{version} installed successfully');
128
- } except subprocess.TimeoutExpired {
129
- return (False, 'Node.js installation timed out. Please try again.');
130
- } except Exception as e {
131
- return (False, f'Unexpected error during Node.js installation: {e}');
132
- }
133
- }
134
-
135
- """Ensure Node.js is installed, installing automatically if needed.
136
-
137
- Returns tuple of (success: bool, message: str, was_just_installed: bool)
138
- """
139
- impl NodeInstaller.ensure_node_installed(
140
- interactive: bool = True
141
- ) -> tuple[bool, str, bool] {
142
- # Common fallback message for manual installation
143
- manual_install_msg = (
144
- 'Please install Node.js manually:\n' + ' • Download from: https://nodejs.org/\n' + ' • Or install NVM: https://github.com/nvm-sh/nvm\n' + ' After installation, run "jac add --cl" again.'
145
- );
146
- # Check if Node.js is already available
147
- if NodeInstaller.is_node_installed() and NodeInstaller.is_npm_installed() {
148
- version = NodeInstaller.get_node_version();
149
- return (True, f'Node.js {version} is already installed', False);
150
- }
151
- print('\nNode.js is not installed or not found in PATH.');
152
- # Check for interactive mode
153
- if interactive {
154
- print(
155
- '\nJac client requires Node.js to build and run client-side applications.'
156
- );
157
- print(
158
- f'Would you like to automatically install Node.js v{NodeInstaller.DEFAULT_NODE_VERSION} using NVM?'
159
- );
160
- response = input('Install Node.js? [Y/n]: ').strip().lower();
161
- if response and response not in ('y', 'yes') {
162
- return (
163
- False,
164
- f'Node.js installation cancelled. {manual_install_msg}',
165
- False
166
- );
167
- }
168
- }
169
- # Wrap entire installation process in error handling
170
- try {
171
- # Check if NVM is installed
172
- if not NodeInstaller.is_nvm_installed() {
173
- success_nvm = NodeInstaller.install_nvm();
174
- if not success_nvm[0] {
175
- return (
176
- False,
177
- f'Unable to automatically install Node.js.\n\nError: {success_nvm[
178
- 1
179
- ]}\n\n{manual_install_msg}',
180
- False
181
- );
182
- }
183
- }
184
-
185
- # Install Node.js via NVM
186
- success_node = NodeInstaller.install_node_via_nvm();
187
- if not success_node[0] {
188
- return (
189
- False,
190
- f'Unable to automatically install Node.js.\n\nError: {success_node[1]}\n\n{manual_install_msg}',
191
- False
192
- );
193
- }
194
-
195
- # Node.js is now available via NVM sourcing in subprocesses
196
- print('\n' + '=' * 70);
197
- print('Node.js has been installed successfully!');
198
- print('Continuing with package installation...');
199
- print('=' * 70 + '\n');
200
-
201
- return (
202
- True,
203
- f'Node.js {NodeInstaller.DEFAULT_NODE_VERSION} installed successfully',
204
- True
205
- );
206
- } except Exception as e {
207
- # Catch any unexpected errors during installation
208
- return (
209
- False,
210
- f'Unable to automatically install Node.js.\n\nUnexpected error: {str(e)}\n\n{manual_install_msg}',
211
- False
212
- );
213
- }
214
- }
215
-
216
- """Run npm command with NVM environment properly sourced.
217
-
218
- This method automatically sources NVM in a subprocess, so npm commands work
219
- immediately after NVM installation without requiring the user to reload their shell.
220
- """
221
- impl NodeInstaller.run_npm_with_nvm(
222
- args: list, cwd: Path, timeout: int = 300
223
- ) -> object {
224
- # First, try running npm directly (in case it's already in PATH)
225
- try {
226
- return subprocess.run(
227
- ['npm'] + args,
228
- cwd=cwd,
229
- capture_output=True,
230
- text=True,
231
- timeout=timeout,
232
- check=True
233
- );
234
- } except FileNotFoundError { }
235
- # If npm is not in PATH, source NVM and run npm in a subprocess
236
- # This allows npm to work immediately after installation without shell reload
237
- args_str = ' '.join(args);
238
- command = (
239
- 'export NVM_DIR="$HOME/.nvm"\n' + '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"\n' + f'npm {args_str}\n'
240
- );
241
- return subprocess.run(
242
- ['bash', '-c', command],
243
- cwd=cwd,
244
- capture_output=True,
245
- text=True,
246
- timeout=timeout,
247
- check=True
248
- );
249
- }
@@ -1,41 +0,0 @@
1
- """Automatic Node.js installation utility using NVM."""
2
-
3
- import os;
4
- import platform;
5
- import subprocess;
6
- import from pathlib { Path }
7
-
8
- """Handles Node.js installation and detection."""
9
- obj NodeInstaller {
10
- static has DEFAULT_NODE_VERSION: str = "20",
11
- NVM_INSTALL_URL: str = "https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh";
12
-
13
- """Check if Node.js is installed and accessible."""
14
- static def is_node_installed -> bool;
15
-
16
- """Check if npm is installed and accessible."""
17
- static def is_npm_installed -> bool;
18
-
19
- """Check if NVM is installed."""
20
- static def is_nvm_installed -> bool;
21
-
22
- """Get the currently installed Node.js version."""
23
- static def get_node_version -> (str | None);
24
-
25
- """Install NVM (Node Version Manager)."""
26
- static def install_nvm -> tuple[bool, str];
27
-
28
- """Install Node.js using NVM."""
29
- static def install_node_via_nvm(version: str = "20") -> tuple[bool, str];
30
-
31
- """Ensure Node.js is installed, installing automatically if needed.
32
-
33
- Returns tuple of (success: bool, message: str, was_just_installed: bool)
34
- """
35
- static def ensure_node_installed(
36
- interactive: bool = True
37
- ) -> tuple[bool, str, bool];
38
-
39
- """Run npm command with NVM environment properly sourced."""
40
- static def run_npm_with_nvm(args: list, cwd: Path, timeout: int = 300) -> object;
41
- }
@@ -1,115 +0,0 @@
1
- jac_client/examples/all-in-one/button.jac,sha256=YS_Ae3dyNAvnGh8iP_uUg1VyuzaxleEkLFEx4u959tw,126
2
- jac_client/examples/all-in-one/main.jac,sha256=VIQU5iZLKDzD4rnicv_h2t2XNy8ra1UI-k496hPV994,16042
3
- jac_client/examples/all-in-one/assets/workers/worker.py,sha256=erXICb1WvDKYlReUIzgZf9v0Pey6pmWDbvAm9vtGQmg,131
4
- jac_client/examples/all-in-one/components/CategoryFilter.jac,sha256=nuyBpUmG29FHEm73eTVHOtPBJBiqjy_rF-unl5NIMno,1434
5
- jac_client/examples/all-in-one/components/Header.jac,sha256=qN3yiq-jQvSRyeaEhsKI8oDb1MdloRNunScx0t_Exus,382
6
- jac_client/examples/all-in-one/components/ProfitOverview.jac,sha256=YaG0XFIcaLelZ49jLc2CBAA0SS7js0asPSTuOow7tow,1986
7
- jac_client/examples/all-in-one/components/Summary.jac,sha256=Jh956an_BDqvGp0gwZYihv7Ftqs0B_b1nMit9alctx0,2316
8
- jac_client/examples/all-in-one/components/TransactionForm.jac,sha256=1W3r9s43FqQrUeNncX9nQZZSdizIbPufIasodrfhqTA,6152
9
- jac_client/examples/all-in-one/components/TransactionItem.jac,sha256=we8QplGm_k-z3KAAGcpqh4xjSvSJmanRKAYU6bvNg14,1863
10
- jac_client/examples/all-in-one/components/TransactionList.jac,sha256=CnQCqCudcwYHZGjQkca1YI6gahY_4f9TihvKHUZ0QPI,1283
11
- jac_client/examples/all-in-one/components/button.jac,sha256=AoWR2fUXS2UEAUk1CLoRgI-u9ecA0D_SUPKvQGEORIg,124
12
- jac_client/examples/all-in-one/components/navigation.jac,sha256=MDzdorVvymnIbE6T3MTk9w6_LB5oCkX_Qhtn5NxFy78,3738
13
- jac_client/examples/all-in-one/constants/categories.jac,sha256=3R2xi2PSUo46_fdiGi57H2ccjN4EPh9v_GX_Ix5QfCc,986
14
- jac_client/examples/all-in-one/constants/clients.jac,sha256=NjUOOw1iQ-4WfPC2UkEjmbJX4VcwS3TmnrKIZzCwtGE,282
15
- jac_client/examples/all-in-one/context/BudgetContext.jac,sha256=MYeVLYijJJRRz095Q0J8Gg4bFGLCMj32NjOuh5eJKpE,865
16
- jac_client/examples/all-in-one/hooks/useBudget.jac,sha256=FjZP6D8surhkaF5jYRV7UzZRovMU3m6LO92awN2OndA,3996
17
- jac_client/examples/all-in-one/hooks/useLocalStorage.jac,sha256=Cj4EDiRfzOJkTBGPhUCncCo4Wvo37LIWAWcSUwmrync,1179
18
- jac_client/examples/all-in-one/pages/BudgetPlanner.jac,sha256=b50GHNG2O7dozv2JJIzx9szVdF3eVpXFZZmGdbkg_9o,3661
19
- jac_client/examples/all-in-one/pages/FeaturesTest.jac,sha256=mlwJ3GjKcJygn3zlBf7TelIcEJlu4yFHfnssK5jx2bI,4180
20
- jac_client/examples/all-in-one/pages/LandingPage.jac,sha256=szbtJMwfgMSNi-p4emu9apUk_7wI-ARPV9w0lcLZ6Zw,3859
21
- jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac,sha256=2KTdxH3IelVSEi_pKzvIse7dfY5_j7661nDWt5aVYWg,2493
22
- jac_client/examples/all-in-one/pages/features_test_ui.cl.jac,sha256=OKNndwDox7ZnDbNmDNUupMR7NYw60NBKVbVBOV2nTnI,23316
23
- jac_client/examples/all-in-one/pages/loginPage.jac,sha256=2IuVVZ7nizRJrNGlZdYQP3nzmJQh2uv0m7Gu1q02arA,3776
24
- jac_client/examples/all-in-one/pages/nestedDemo.jac,sha256=wCZAM-5ZUZ28X6SnLQs8mS6Z2jC3rkSP7j5MlzOzDEk,1415
25
- jac_client/examples/all-in-one/pages/notFound.jac,sha256=QdmqvCDBw6bmqTYIvtS7KjJhBHzGEsIwRa6vuIQIOrc,415
26
- jac_client/examples/all-in-one/pages/signupPage.jac,sha256=a79OPuW9g3-OcKiHwrE1kCa9AiIKdfcYPyBn0hnZ3u4,3826
27
- jac_client/examples/all-in-one/utils/formatters.jac,sha256=YN-87e4HUkHukhYzKP6g0L7K0n4do8el6cCr7Gzxf9c,1573
28
- jac_client/examples/asset-serving/css-with-image/main.jac,sha256=2L71jgzrciLt3fdcw0FCqJ-zrdHEFeC9YGZqczk2xWQ,2805
29
- jac_client/examples/asset-serving/image-asset/main.jac,sha256=Hi3YXI9aCTdnaIad4LZ1PSJ6guZF0saBHRCJRp-1ED0,1640
30
- jac_client/examples/asset-serving/import-alias/main.jac,sha256=7jxIKwsUyfjs5jMFyyDxVyVsXOV6hc_16EW_vxv_jgw,3499
31
- jac_client/examples/basic/main.jac,sha256=0Rw2xaWKvYmvf3Cq6n1cjd9n2_tbvd1dQmTgutv5r8A,509
32
- jac_client/examples/basic-auth/main.jac,sha256=p7jWmkLrRvBb548XlxXgR-cG7L9c3CLhPsBFDZu1O3E,13972
33
- jac_client/examples/basic-auth-with-router/main.jac,sha256=Koa_swLvoHADKHGGbSVdRiTUWYqqVnMHPqq914h8Z3I,14907
34
- jac_client/examples/basic-full-stack/main.jac,sha256=M-v1KUtZUe553ctREe2iabirfDckemQnsAU964CL_EY,13038
35
- jac_client/examples/css-styling/js-styling/main.jac,sha256=C9pEnt3dxD9c0nb2Hj5bx3eZYy_vxrli92W8nvud7cw,2461
36
- jac_client/examples/css-styling/material-ui/main.jac,sha256=PAeTSRr95_ask89pE_kJ5uNLp8t6BQ_834TqAdvKLVQ,4741
37
- jac_client/examples/css-styling/pure-css/main.jac,sha256=Xm1sXdlPN_HVIQJo8tX9bP60LLO0DDKFDMy-Zv0lUrA,2045
38
- jac_client/examples/css-styling/sass-example/main.jac,sha256=25qlPTh-4k0dxBrXt9JZ1gYmB1v6mNvz_UCiXoLlr5c,2046
39
- jac_client/examples/css-styling/styled-components/main.jac,sha256=yy-8Ajm6Hr1c_npXChc73SBm_KRcAl43DTYQcHCUJCk,1930
40
- jac_client/examples/css-styling/tailwind-example/main.jac,sha256=Mis1_zCLTZLZFe9XmpIbZGjvu7xU99lx8HgdaRm03Hg,2976
41
- jac_client/examples/full-stack-with-auth/main.jac,sha256=IccVn9iJD0Dia7BaRQo0BCA4fO9UN0lEj5y7heN7oBU,21958
42
- jac_client/examples/little-x/main.jac,sha256=_hvNGuDjmIW3ddyNB7xOpA90sowz5XcBeLgMDVMiPq0,19151
43
- jac_client/examples/little-x/src/submit-button.jac,sha256=zxaD7xRdpH8iDU-8lrNQaoMU_cYr-rC_ZxaVhZqTsmc,370
44
- jac_client/examples/nested-folders/nested-advance/main.jac,sha256=XO8_sjUv4KHQ4sXBiLFUPIrgMhrbj0t7SLkAnpmERMM,800
45
- jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac,sha256=cflz34exdyamxZaoK4zZOpOCZIIGkhOQw3P6iZ9myi4,195
46
- jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac,sha256=smbct7iMQ_3W17v_5juphv0iw7kojFErgJxXekm7KAE,425
47
- jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac,sha256=4Ky5cxs8M0pBz7Ju2wTAI3H0z9qaw4LLDk4oYCKimVg,994
48
- jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac,sha256=Y0PwJDrzp8x64Ks9IhXcsRBgjUnko-Ch10ZmRqIO4CI,603
49
- jac_client/examples/nested-folders/nested-basic/main.jac,sha256=moz3YDZ3S9MFftcBrJHmFKYe6mpj_Hdb2kxcoX2R7GM,270
50
- jac_client/examples/nested-folders/nested-basic/src/button.jac,sha256=WlV2pcssnGGsO-25hrcyA4PRw5o4Y5UpsUmCfBF-LrE,123
51
- jac_client/examples/nested-folders/nested-basic/src/components/button.jac,sha256=_ErhjGJud5G32XiFL7p3N8wca-NSknvz2eNUt1fHKkE,119
52
- jac_client/examples/ts-support/main.jac,sha256=FaI5S2cztmQ6Az836Zr008LCK1irs_UaE_2tuvdXFQk,978
53
- jac_client/examples/with-router/main.jac,sha256=5He-ssFYXal1Q6Ihv6WhcpeWjcMJCT4UqJfMJF-8Xxw,8624
54
- jac_client/plugin/cli.jac,sha256=JTk5G9aAXLgFsCv_DSLFWrWfV90Rba5XF53gQuATKl0,20114
55
- jac_client/plugin/client.jac,sha256=WVn8IwQO2Kgr8XLDI8D4FSVj9kdewBXB3Mgi9ifCVTI,2095
56
- jac_client/plugin/client_runtime.cl.jac,sha256=1TJww4MS4WTzP_uCTjrshGBZdReQ7e7TYHJ4geYUsdw,1868
57
- jac_client/plugin/plugin_config.jac,sha256=PexvStd6MwJQEJaEl5gB6cNO5LbsWk_sT78sqbjxk_o,15111
58
- jac_client/plugin/vite_client_bundle.jac,sha256=l8EY8O2sdsqhtO8I32Of01dgShRQBfMBNWXyl-y-vtY,1016
59
- jac_client/plugin/impl/client.impl.jac,sha256=UOmY3Pzi00Cvqdze_BnoIX1QS5_QWEPDQATNp5VDh4k,8956
60
- jac_client/plugin/impl/client_runtime.impl.jac,sha256=VGQnJOZh7dnxuPKjN-slZCCufHxmyfa0J8FkzoW3Syk,10691
61
- jac_client/plugin/impl/vite_client_bundle.impl.jac,sha256=KXFqXSZaa08Z6CrEqebfdjo7TvdakTNJHVnGOhj4e0s,2620
62
- jac_client/plugin/src/__init__.jac,sha256=ZyA9pRNofbdVMKKzKwMgWpqNHVF4gCq4fxVykEnU_6c,823
63
- jac_client/plugin/src/asset_processor.jac,sha256=Qpm1a174PPJl32nH_eDZYR-6vx59V2NEWfj0knUMwXY,961
64
- jac_client/plugin/src/babel_processor.jac,sha256=e6wgeGA4Wd1vu4di9PRik7M_Hbt6nhwq5pZaHCs5OMQ,612
65
- jac_client/plugin/src/compiler.jac,sha256=roy_Pf8zRtb4AJnCSglWFXIfgGQUVe24WI2nB_e_eaQ,2367
66
- jac_client/plugin/src/config_loader.jac,sha256=-UJsqmaddZZ2dOJuvqjOXBreAU-DdQccqWodGvcLzRE,1302
67
- jac_client/plugin/src/desktop_config.jac,sha256=bFGW5lnLeUZgjbjd1BMHvf38Qbsb8VZ0YcbUf78LZ1Q,1249
68
- jac_client/plugin/src/import_processor.jac,sha256=wYg8bD5qHxpvFyXkQxNpqUIV3ei5aMoevA2bWyq9VG8,589
69
- jac_client/plugin/src/jac_to_js.jac,sha256=U2_v95tdsbw1oMPGPY0HOhDcAsHg3uQIcGWzLmFdWyc,1115
70
- jac_client/plugin/src/package_installer.jac,sha256=5maePqEe3xIys9Ufn54m423tAr54z-urtXc84Ki3bIY,850
71
- jac_client/plugin/src/vite_bundler.jac,sha256=7Sx7Mmyg6VAwdzcQ9y7lGWqb_4mI82b5mEK9bff4idM,1969
72
- jac_client/plugin/src/impl/asset_processor.impl.jac,sha256=-ljWYzKLKyAdfJybr8sjJlYSK57KzueeNvTo_WjAFAY,4256
73
- jac_client/plugin/src/impl/babel_processor.impl.jac,sha256=Sl6YiDa6F0LkJ5YxFYAEqXsuKoNEG89CMeAEQTanR2o,3733
74
- jac_client/plugin/src/impl/compiler.impl.jac,sha256=pq0X9XfA7KP6HqhvUp_S90mRCsKFBFggctKRhzkqQj8,11710
75
- jac_client/plugin/src/impl/config_loader.impl.jac,sha256=pTGfdh3g-nQmUiEr6N_mVLqTKpT9-seGv7BpWFtNSxQ,4459
76
- jac_client/plugin/src/impl/desktop_config.impl.jac,sha256=mitiS3RfHjMstUqPJs2OnB6lFk27GGSrKXCrJK5Sceg,6758
77
- jac_client/plugin/src/impl/import_processor.impl.jac,sha256=BMkkZXlF-6jbC-r3tuFj8PDFvDZrbfzuhnaw8qraWIQ,1214
78
- jac_client/plugin/src/impl/jac_to_js.impl.jac,sha256=YWu5U4Vx1fUnopln8wNPvAd17PcQTTfCUYALZerlZfo,1547
79
- jac_client/plugin/src/impl/package_installer.impl.jac,sha256=Jb3sq9zK8HBm_GINz-9ohhhgMgD-omVjCso40UdnCo8,3887
80
- jac_client/plugin/src/impl/vite_bundler.impl.jac,sha256=Zbkk5N2YXy-CRydIEnIHUHsjrbzmJ785i-DVCN9x378,27345
81
- jac_client/plugin/src/targets/desktop_target.jac,sha256=TxDdpActsLAvrOZ_QpeQ1F22PehctAraz3zuo4CZ0Lk,1286
82
- jac_client/plugin/src/targets/register.jac,sha256=tiHmOKEgOWlYdY5DYko6M0Ktp2kZr7TZFWKq18Tmp24,835
83
- jac_client/plugin/src/targets/registry.jac,sha256=wl1QJEWAyI7KAfTSjIw3PdxpYgtUCpaj7D0c09jZxFM,2664
84
- jac_client/plugin/src/targets/web_target.jac,sha256=jstJZEHE0YERW_e5LiHeVZurB9WsuPnm5HMWWdQP3f0,1135
85
- jac_client/plugin/src/targets/desktop/sidecar/main.py,sha256=PVmHvXg2Gta2UzD1O3H6EzFTWzkYQo3n_08rzCKCWHg,4499
86
- jac_client/plugin/src/targets/impl/desktop_target.impl.jac,sha256=e92l2JUrOq4P47MDG_2GLVWeLjDiS6Wb8C8NPwnm1mk,82273
87
- jac_client/plugin/src/targets/impl/registry.impl.jac,sha256=2PUw_cZ9Us6PJRxO9o4aSOwYW_5_VEi6WXbIVS_6fN8,1691
88
- jac_client/plugin/src/targets/impl/web_target.impl.jac,sha256=fQQ1zahAnvsD4BFr8JrbF52xZxSJL_K3yE0litbJdBg,5110
89
- jac_client/plugin/utils/__init__.jac,sha256=LG_G_15uD8IAAwP20Koz86jpzn8MYlkL0ZottcoEGnA,45
90
- jac_client/plugin/utils/node_installer.jac,sha256=monZ5mVhWSLi5rbxyV3250LjfwY2j4c8fxiB_uc5WIM,1356
91
- jac_client/plugin/utils/impl/node_installer.impl.jac,sha256=gvYIFpWcLIZAMzzTHH-nAK_WZvCKsMYTN8JAiu2OumM,8775
92
- jac_client/templates/client.jacpack,sha256=7Atks2Swszn-0Amcl7LfQWXuCw4sOoGOSArMKlKzGmI,4279
93
- jac_client/templates/fullstack.jacpack,sha256=4__i_lIcmXjhJfVHTHd34tW78OWGdmOn9odS_SQV-9E,23206
94
- jac_client/tests/__init__.py,sha256=HSr78dvKyvNmP7bLmAssfYItAn4puFwAe1oWnV8l7pA,36
95
- jac_client/tests/conftest.py,sha256=T7J4MHylKuZAP-Up_xIL6_jFtRaVyiFl_2zs5c2mugU,10559
96
- jac_client/tests/test_cli.py,sha256=N854aqp60LXv56YbLcrMTX5xlOlLjZ3qP3dVk9hhM0c,32502
97
- jac_client/tests/test_e2e.py,sha256=MqMXiUnLl8qwsW-OQFN1GK-5hbCKKzxT2SewmVWEsow,8197
98
- jac_client/tests/test_helpers.py,sha256=KrxarU4G-QLwN_5mxTG8VoCrIOkszSqs0xUur6o-E0w,2084
99
- jac_client/tests/test_it.py,sha256=9lt5CpoRG5JukQAVgpgcJAEliSQocIEE8fH61dAch3M,37800
100
- jac_client/tests/test_it_desktop.py,sha256=mzaDfFFhmN762FrFH1WEXQh99cq5bS-eZqwmI-ousvM,32143
101
- jac_client/tests/fixtures/basic-app/app.jac,sha256=sDup4PmtUm93oVOxIz874SSZfMimPv4Qn683iXm43TI,489
102
- jac_client/tests/fixtures/cl_file/app.cl.jac,sha256=fHJvjKWLhX5uVdZl12mPwcNRgMVFrCz8oY3oMoCWeuM,1157
103
- jac_client/tests/fixtures/cl_file/app.jac,sha256=GmuOisnyOGfDnQ_-6juBumliLDUt1t9HQtfRpJ8xuqk,277
104
- jac_client/tests/fixtures/client_app_with_antd/app.jac,sha256=a8cNThrEuaBq6Lv7aa-K8hAzBIDHkiBHwqON1_Gq4D8,575
105
- jac_client/tests/fixtures/js_import/app.jac,sha256=CAmAJ299KsbJ6BIdGYykBrTDAh-Df_fhOENwNxxAEbw,796
106
- jac_client/tests/fixtures/relative_import/app.jac,sha256=Su4UVwZeXV32wnKWvrESaLPR30C-kqyKDUrZPyaw5gQ,188
107
- jac_client/tests/fixtures/relative_import/button.jac,sha256=kCDNaHEcxMEFdezfnecyVc56cnZU_ZnqdBDOB4kCFeE,118
108
- jac_client/tests/fixtures/spawn_test/app.jac,sha256=nhWwzuzKGQ7La4BvvHRD6hb2Nmay-hcv1osMVRJjpWU,3785
109
- jac_client/tests/fixtures/test_fragments_spread/app.jac,sha256=CMzAz4Ydx_5eAV82-io8sJdy8_xy-mR7YOVc7FcozlU,1277
110
- jac_client/tests/fixtures/with-ts/app.jac,sha256=jTHQX6OysUESeoHYFFqvXk4SOlcg_g5kiN460BYCNHI,977
111
- jac_client-0.2.10.dist-info/METADATA,sha256=75DXV0kkuD2uGe_mkUKrXGJoZk7Sm_pS-yqSuw_xgj4,5507
112
- jac_client-0.2.10.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
113
- jac_client-0.2.10.dist-info/entry_points.txt,sha256=fVrlaJKcSa2DK2hcfR6bNaQDB9mszMpZeEa6pitMdt4,154
114
- jac_client-0.2.10.dist-info/top_level.txt,sha256=u1VEBfiqwRrZEopKraIh-Ym55qSnDZR3Q5xdw2HinhU,11
115
- jac_client-0.2.10.dist-info/RECORD,,