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.
- jac_client/examples/all-in-one/button.jac +4 -3
- jac_client/examples/all-in-one/components/CategoryFilter.jac +36 -24
- jac_client/examples/all-in-one/components/Header.jac +12 -8
- jac_client/examples/all-in-one/components/ProfitOverview.jac +49 -35
- jac_client/examples/all-in-one/components/Summary.jac +59 -36
- jac_client/examples/all-in-one/components/TransactionForm.jac +142 -112
- jac_client/examples/all-in-one/components/TransactionItem.jac +37 -30
- jac_client/examples/all-in-one/components/TransactionList.jac +33 -26
- jac_client/examples/all-in-one/components/button.jac +4 -3
- jac_client/examples/all-in-one/components/navigation.jac +111 -117
- jac_client/examples/all-in-one/constants/categories.jac +23 -24
- jac_client/examples/all-in-one/constants/clients.jac +7 -8
- jac_client/examples/all-in-one/context/BudgetContext.jac +9 -6
- jac_client/examples/all-in-one/hooks/useBudget.jac +18 -12
- jac_client/examples/all-in-one/hooks/useLocalStorage.jac +14 -13
- jac_client/examples/all-in-one/main.jac +340 -371
- jac_client/examples/all-in-one/pages/BudgetPlanner.jac +19 -12
- jac_client/examples/all-in-one/pages/FeaturesTest.jac +31 -15
- jac_client/examples/all-in-one/pages/LandingPage.jac +113 -90
- jac_client/examples/all-in-one/pages/budget_planner_ui.cl.jac +34 -39
- jac_client/examples/all-in-one/pages/features_test_ui.cl.jac +464 -352
- jac_client/examples/all-in-one/pages/loginPage.jac +114 -119
- jac_client/examples/all-in-one/pages/nestedDemo.jac +43 -50
- jac_client/examples/all-in-one/pages/notFound.jac +14 -15
- jac_client/examples/all-in-one/pages/signupPage.jac +113 -119
- jac_client/examples/all-in-one/utils/formatters.jac +5 -8
- jac_client/examples/asset-serving/css-with-image/main.jac +77 -73
- jac_client/examples/asset-serving/image-asset/main.jac +47 -46
- jac_client/examples/asset-serving/import-alias/main.jac +93 -95
- jac_client/examples/basic/main.jac +17 -15
- jac_client/examples/basic-auth/main.jac +246 -254
- jac_client/examples/basic-auth-with-router/main.jac +272 -285
- jac_client/examples/basic-full-stack/main.jac +245 -242
- jac_client/examples/css-styling/js-styling/main.jac +41 -62
- jac_client/examples/css-styling/material-ui/main.jac +90 -90
- jac_client/examples/css-styling/pure-css/main.jac +35 -44
- jac_client/examples/css-styling/sass-example/main.jac +35 -44
- jac_client/examples/css-styling/styled-components/main.jac +38 -47
- jac_client/examples/css-styling/tailwind-example/main.jac +54 -43
- jac_client/examples/full-stack-with-auth/main.jac +407 -433
- jac_client/examples/little-x/main.jac +306 -344
- jac_client/examples/little-x/src/submit-button.jac +15 -14
- jac_client/examples/nested-folders/nested-advance/main.jac +18 -27
- jac_client/examples/nested-folders/nested-advance/src/ButtonRoot.jac +4 -6
- jac_client/examples/nested-folders/nested-advance/src/level1/ButtonSecondL.jac +9 -13
- jac_client/examples/nested-folders/nested-advance/src/level1/Card.jac +29 -32
- jac_client/examples/nested-folders/nested-advance/src/level1/level2/ButtonThirdL.jac +12 -18
- jac_client/examples/nested-folders/nested-basic/main.jac +7 -5
- jac_client/examples/nested-folders/nested-basic/src/button.jac +4 -3
- jac_client/examples/nested-folders/nested-basic/src/components/button.jac +4 -3
- jac_client/examples/ts-support/main.jac +26 -26
- jac_client/examples/with-router/main.jac +186 -223
- jac_client/plugin/client_runtime.cl.jac +5 -3
- jac_client/plugin/impl/client_runtime.impl.jac +1 -1
- jac_client/plugin/plugin_config.jac +53 -99
- jac_client/plugin/src/__init__.jac +0 -2
- jac_client/plugin/src/compiler.jac +0 -1
- jac_client/plugin/src/impl/compiler.impl.jac +49 -17
- jac_client/plugin/src/impl/jac_to_js.impl.jac +5 -1
- jac_client/plugin/src/impl/package_installer.impl.jac +20 -20
- jac_client/plugin/src/impl/vite_bundler.impl.jac +146 -84
- jac_client/plugin/src/targets/impl/desktop_target.impl.jac +54 -41
- jac_client/plugin/utils/__init__.jac +3 -0
- jac_client/plugin/utils/bun_installer.jac +16 -0
- jac_client/plugin/utils/client_deps.jac +14 -0
- jac_client/plugin/utils/impl/bun_installer.impl.jac +99 -0
- jac_client/plugin/utils/impl/client_deps.impl.jac +73 -0
- jac_client/templates/client.jacpack +0 -4
- jac_client/templates/fullstack.jacpack +1 -5
- jac_client/tests/conftest.py +56 -41
- jac_client/tests/fixtures/spawn_test/app.jac +49 -52
- jac_client/tests/fixtures/with-ts/app.jac +27 -27
- jac_client/tests/test_cli.py +71 -6
- jac_client/tests/test_helpers.py +11 -18
- jac_client/tests/test_it.py +1 -1
- {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/METADATA +5 -5
- jac_client-0.2.12.dist-info/RECORD +115 -0
- {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/WHEEL +1 -1
- jac_client/plugin/src/babel_processor.jac +0 -18
- jac_client/plugin/src/impl/babel_processor.impl.jac +0 -89
- jac_client/plugin/utils/impl/node_installer.impl.jac +0 -249
- jac_client/plugin/utils/node_installer.jac +0 -41
- jac_client-0.2.10.dist-info/RECORD +0 -115
- {jac_client-0.2.10.dist-info → jac_client-0.2.12.dist-info}/entry_points.txt +0 -0
- {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,,
|
|
File without changes
|
|
File without changes
|