@jetstart/cli 2.3.0 → 2.3.2

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 (55) hide show
  1. package/README.md +1 -3
  2. package/dist/cli.js +2 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/clean.d.ts +1 -1
  5. package/dist/commands/clean.d.ts.map +1 -1
  6. package/dist/commands/clean.js +4 -2
  7. package/dist/commands/clean.js.map +1 -1
  8. package/dist/commands/create.d.ts.map +1 -1
  9. package/dist/commands/create.js +98 -43
  10. package/dist/commands/create.js.map +1 -1
  11. package/dist/types/index.d.ts +0 -1
  12. package/dist/types/index.d.ts.map +1 -1
  13. package/dist/types/index.js.map +1 -1
  14. package/dist/utils/android-sdk.d.ts +15 -1
  15. package/dist/utils/android-sdk.d.ts.map +1 -1
  16. package/dist/utils/android-sdk.js +100 -11
  17. package/dist/utils/android-sdk.js.map +1 -1
  18. package/dist/utils/java.d.ts +0 -15
  19. package/dist/utils/java.d.ts.map +1 -1
  20. package/dist/utils/java.js +211 -201
  21. package/dist/utils/java.js.map +1 -1
  22. package/dist/utils/system-tools.d.ts.map +1 -1
  23. package/dist/utils/system-tools.js +112 -31
  24. package/dist/utils/system-tools.js.map +1 -1
  25. package/dist/utils/template.d.ts.map +1 -1
  26. package/dist/utils/template.js +5 -2
  27. package/dist/utils/template.js.map +1 -1
  28. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml +1 -1
  29. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.md5 +1 -1
  30. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha1 +1 -1
  31. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha256 +1 -1
  32. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha512 +1 -1
  33. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml +1 -1
  34. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.md5 +1 -1
  35. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha1 +1 -1
  36. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha256 +1 -1
  37. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha512 +1 -1
  38. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar +0 -0
  39. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.md5 +1 -1
  40. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha1 +1 -1
  41. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha256 +1 -1
  42. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha512 +1 -1
  43. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module +8 -8
  44. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.md5 +1 -1
  45. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha1 +1 -1
  46. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha256 +1 -1
  47. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha512 +1 -1
  48. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml +1 -1
  49. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.md5 +1 -1
  50. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha1 +1 -1
  51. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha256 +1 -1
  52. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha512 +1 -1
  53. package/package.json +3 -3
  54. package/scripts/build-java.js +53 -2
  55. package/template/base/.env.example +12 -0
@@ -35,6 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  return result;
36
36
  };
37
37
  })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
42
  exports.detectJava = detectJava;
40
43
  exports.isJavaCompatible = isJavaCompatible;
@@ -47,6 +50,7 @@ const util_1 = require("util");
47
50
  const fs = __importStar(require("fs-extra"));
48
51
  const path = __importStar(require("path"));
49
52
  const os = __importStar(require("os"));
53
+ const axios_1 = __importDefault(require("axios"));
50
54
  const downloader_1 = require("./downloader");
51
55
  const spinner_1 = require("./spinner");
52
56
  const logger_1 = require("./logger");
@@ -55,126 +59,106 @@ const execAsync = (0, util_1.promisify)(child_process_1.exec);
55
59
  * Parse Java version from command output
56
60
  */
57
61
  function parseJavaVersion(output) {
58
- // Example outputs:
59
- // openjdk version "17.0.9" 2023-10-17
60
- // java version "1.8.0_291"
61
- // openjdk 11.0.12 2021-07-20
62
62
  const versionMatch = output.match(/version\s+"?(\d+)\.(\d+)\.(\d+)/i) ||
63
63
  output.match(/openjdk\s+(\d+)\.(\d+)\.(\d+)/i);
64
- if (!versionMatch) {
64
+ if (!versionMatch)
65
65
  return null;
66
- }
67
- // Handle old Java versioning (1.8 = Java 8)
68
66
  let major = versionMatch[1];
69
- if (major === '1') {
70
- major = versionMatch[2]; // Use 8 from 1.8
71
- }
67
+ if (major === '1')
68
+ major = versionMatch[2]; // 1.8 8
72
69
  const version = `${major}.${versionMatch[2]}.${versionMatch[3]}`;
73
- // Detect vendor
74
70
  let vendor = 'Unknown';
75
- if (output.includes('OpenJDK') || output.includes('openjdk')) {
71
+ if (output.includes('OpenJDK') || output.includes('openjdk'))
76
72
  vendor = 'OpenJDK';
77
- }
78
- else if (output.includes('Oracle')) {
73
+ else if (output.includes('Oracle'))
79
74
  vendor = 'Oracle';
80
- }
81
- else if (output.includes('Eclipse Adoptium') || output.includes('Temurin')) {
75
+ else if (output.includes('Eclipse Adoptium') || output.includes('Temurin'))
82
76
  vendor = 'Eclipse Adoptium';
83
- }
84
77
  return { version, vendor };
85
78
  }
86
79
  /**
87
80
  * Detect Java/JDK installation
88
81
  */
89
82
  async function detectJava() {
83
+ // Try java in PATH first
90
84
  try {
91
85
  const { stdout } = await execAsync('java -version 2>&1');
92
86
  const parsed = parseJavaVersion(stdout);
93
- if (!parsed) {
94
- return null;
87
+ if (parsed) {
88
+ return { version: parsed.version, path: process.env.JAVA_HOME || '', vendor: parsed.vendor };
95
89
  }
96
- const javaPath = process.env.JAVA_HOME || '';
97
- return {
98
- version: parsed.version,
99
- path: javaPath,
100
- vendor: parsed.vendor,
101
- };
102
90
  }
103
- catch (error) {
104
- return null;
91
+ catch { /* not in PATH */ }
92
+ // Try known install locations (Windows)
93
+ if (os.platform() === 'win32') {
94
+ const javaFromPath = await findJavaOnWindows();
95
+ if (javaFromPath) {
96
+ try {
97
+ const { stdout } = await execAsync(`"${javaFromPath}" -version 2>&1`);
98
+ const parsed = parseJavaVersion(stdout);
99
+ if (parsed) {
100
+ const javaHome = path.dirname(path.dirname(javaFromPath));
101
+ return { version: parsed.version, path: javaHome, vendor: parsed.vendor };
102
+ }
103
+ }
104
+ catch { /* ignore */ }
105
+ }
105
106
  }
107
+ return null;
106
108
  }
107
- /**
108
- * Check if Java version is compatible (>= 17)
109
- */
110
- async function isJavaCompatible(version) {
111
- const major = parseInt(version.split('.')[0], 10);
112
- return major >= 17;
113
- }
114
- /**
115
- * Download URLs for Eclipse Adoptium Temurin JDK 17
116
- */
117
- const JDK_DOWNLOAD_URLS = {
118
- win32: {
119
- x64: 'https://api.adoptium.net/v3/binary/latest/17/ga/windows/x64/jdk/hotspot/normal/eclipse',
120
- },
121
- darwin: {
122
- x64: 'https://api.adoptium.net/v3/binary/latest/17/ga/mac/x64/jdk/hotspot/normal/eclipse',
123
- arm64: 'https://api.adoptium.net/v3/binary/latest/17/ga/mac/aarch64/jdk/hotspot/normal/eclipse',
124
- },
125
- linux: {
126
- x64: 'https://api.adoptium.net/v3/binary/latest/17/ga/linux/x64/jdk/hotspot/normal/eclipse',
127
- arm64: 'https://api.adoptium.net/v3/binary/latest/17/ga/linux/aarch64/jdk/hotspot/normal/eclipse',
128
- },
129
- };
130
- /**
131
- * Get JDK download URL for current platform
132
- */
133
- function getJDKDownloadURL() {
134
- const platform = os.platform();
135
- const arch = os.arch();
136
- if (platform === 'win32') {
137
- return JDK_DOWNLOAD_URLS.win32.x64;
138
- }
139
- if (platform === 'darwin') {
140
- return arch === 'arm64' ? JDK_DOWNLOAD_URLS.darwin.arm64 : JDK_DOWNLOAD_URLS.darwin.x64;
141
- }
142
- if (platform === 'linux') {
143
- return arch === 'arm64' ? JDK_DOWNLOAD_URLS.linux.arm64 : JDK_DOWNLOAD_URLS.linux.x64;
109
+ /** Scan Eclipse Adoptium and standard Windows JDK locations for java.exe */
110
+ async function findJavaOnWindows() {
111
+ const searchRoots = [
112
+ process.env.JAVA_HOME,
113
+ 'C:\\Program Files\\Eclipse Adoptium',
114
+ 'C:\\Program Files\\Java',
115
+ 'C:\\Program Files\\Microsoft',
116
+ path.join(os.homedir(), 'AppData', 'Local', 'Programs', 'Eclipse Adoptium'),
117
+ path.join(os.homedir(), '.jdks'),
118
+ ].filter(Boolean);
119
+ for (const root of searchRoots) {
120
+ if (!(await fs.pathExists(root)))
121
+ continue;
122
+ try {
123
+ const entries = await fs.readdir(root);
124
+ for (const entry of entries) {
125
+ const candidate = path.join(root, entry, 'bin', 'java.exe');
126
+ if (await fs.pathExists(candidate))
127
+ return candidate;
128
+ // Handle path like JAVA_HOME pointing directly to the JDK root
129
+ const directCandidate = path.join(root, 'bin', 'java.exe');
130
+ if (await fs.pathExists(directCandidate))
131
+ return directCandidate;
132
+ }
133
+ }
134
+ catch { /* ignore permission errors */ }
144
135
  }
145
136
  return null;
146
137
  }
147
- /**
148
- * Get default JDK installation path
149
- */
138
+ async function isJavaCompatible(version) {
139
+ return parseInt(version.split('.')[0], 10) >= 17;
140
+ }
150
141
  function getDefaultJDKPath() {
151
142
  const homeDir = os.homedir();
152
143
  const platform = os.platform();
153
- if (platform === 'win32') {
154
- return path.join(homeDir, 'AppData', 'Local', 'Programs', 'Eclipse Adoptium');
155
- }
156
- if (platform === 'darwin') {
144
+ if (platform === 'win32')
145
+ return path.join(homeDir, '.jdks', 'temurin-17');
146
+ if (platform === 'darwin')
157
147
  return '/Library/Java/JavaVirtualMachines';
158
- }
159
- // Linux
160
148
  return path.join(homeDir, '.jdks');
161
149
  }
162
- /**
163
- * Set JAVA_HOME environment variable (Windows only, via registry)
164
- */
150
+ // Environment variable helpers
165
151
  async function setJavaHomeWindows(javaPath) {
166
152
  try {
167
- const command = `setx JAVA_HOME "${javaPath}" /M`;
168
- await execAsync(command);
153
+ // Set for future sessions (system-wide where possible, else user-level)
154
+ await execAsync(`setx JAVA_HOME "${javaPath}"`).catch(() => execAsync(`setx JAVA_HOME "${javaPath}" /M`));
169
155
  (0, logger_1.info)('JAVA_HOME environment variable set');
170
156
  }
171
- catch (error) {
172
- (0, logger_1.error)('Failed to set JAVA_HOME. You may need to set it manually.');
157
+ catch {
158
+ (0, logger_1.error)('Could not set JAVA_HOME automatically. Set it manually: JAVA_HOME=' + javaPath);
173
159
  }
174
160
  }
175
- /**
176
- * Install Java/JDK
177
- */
161
+ // Main install entry point
178
162
  async function installJava() {
179
163
  const platform = os.platform();
180
164
  (0, logger_1.info)('Installing Java/JDK 17...');
@@ -197,46 +181,120 @@ async function installJava() {
197
181
  else {
198
182
  throw new Error(`Unsupported platform: ${platform}`);
199
183
  }
200
- (0, logger_1.success)('Java/JDK 17 installed successfully');
184
+ // Verify the installation actually worked
185
+ const after = await detectJava();
186
+ if (!after || !(await isJavaCompatible(after.version))) {
187
+ throw new Error('Java installation completed but java binary not detected afterwards.\n' +
188
+ 'Please install JDK 17 manually from https://adoptium.net/temurin/releases/?version=17\n' +
189
+ 'then restart your terminal.');
190
+ }
191
+ (0, logger_1.success)(`Java ${after.version} installed successfully`);
201
192
  }
202
- /**
203
- * Install Java on Windows
204
- */
193
+ // Windows — ZIP extraction (no MSI wizard, no admin required)
205
194
  async function installJavaWindows() {
206
- const url = getJDKDownloadURL();
207
- if (!url) {
208
- throw new Error('Could not determine JDK download URL');
195
+ (0, logger_1.info)('Fetching JDK 17 download info from Adoptium...');
196
+ const arch = os.arch() === 'ia32' ? 'x32' : 'x64';
197
+ // Use the Adoptium assets API to find the latest ZIP for Windows
198
+ let zipUrl = null;
199
+ let zipName = null;
200
+ try {
201
+ const response = await axios_1.default.get('https://api.adoptium.net/v3/assets/latest/17/hotspot', {
202
+ params: { os: 'windows', architecture: arch, image_type: 'jdk' },
203
+ timeout: 15000,
204
+ headers: { 'User-Agent': 'JetStart-CLI' },
205
+ });
206
+ const assets = response.data;
207
+ if (assets && assets.length > 0) {
208
+ const pkg = assets[0]?.binary?.package;
209
+ if (pkg?.link && pkg.name.endsWith('.zip')) {
210
+ zipUrl = pkg.link;
211
+ zipName = pkg.name;
212
+ }
213
+ // Some responses nest installer vs package; check installer too if package is an MSI
214
+ if (!zipUrl) {
215
+ const installer = assets[0]?.binary?.installer;
216
+ if (installer?.link && installer.name.endsWith('.zip')) {
217
+ zipUrl = installer.link;
218
+ zipName = installer.name;
219
+ }
220
+ }
221
+ }
222
+ }
223
+ catch (err) {
224
+ (0, logger_1.info)(`Could not query Adoptium API (${err.message}), using fallback URL`);
225
+ }
226
+ // Hardcoded fallback — a known-good Temurin 17 ZIP
227
+ if (!zipUrl) {
228
+ zipUrl = arch === 'x64'
229
+ ? 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x64_windows_hotspot_17.0.10_7.zip'
230
+ : 'https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x86-32_windows_hotspot_17.0.10_7.zip';
231
+ zipName = arch === 'x64'
232
+ ? 'OpenJDK17U-jdk_x64_windows_hotspot_17.0.10_7.zip'
233
+ : 'OpenJDK17U-jdk_x86-32_windows_hotspot_17.0.10_7.zip';
209
234
  }
210
- (0, logger_1.info)('Downloading Eclipse Adoptium Temurin JDK 17...');
211
- (0, logger_1.info)('Note: On Windows, you may need to install manually from:');
212
- (0, logger_1.info)('https://adoptium.net/temurin/releases/?version=17');
235
+ (0, logger_1.info)(`Downloading JDK 17 (${zipName})...`);
236
+ (0, logger_1.info)('This is ~175 MB may take a few minutes on a slow connection.');
213
237
  console.log();
214
238
  const tempDir = os.tmpdir();
215
- const installerPath = path.join(tempDir, 'temurin-17-installer.msi');
216
- // Download installer
217
- await (0, downloader_1.downloadWithRetry)({
218
- url,
219
- destination: installerPath,
220
- progressLabel: 'Downloading JDK installer',
221
- });
222
- // Run installer
223
- (0, logger_1.info)('Please complete the Java installation wizard...');
239
+ const zipPath = path.join(tempDir, 'temurin-17.zip');
240
+ const extractDir = path.join(tempDir, 'temurin-17-extract');
241
+ const installDir = path.join(os.homedir(), '.jdks');
242
+ const jdkDest = path.join(installDir, 'temurin-17');
243
+ // Download
244
+ await (0, downloader_1.downloadWithRetry)({ url: zipUrl, destination: zipPath, progressLabel: 'Downloading JDK 17' });
245
+ // Clean up any previous extraction
246
+ await fs.remove(extractDir);
247
+ await fs.ensureDir(extractDir);
248
+ // Extract
249
+ const extractSpinner = (0, spinner_1.startSpinner)('Extracting JDK 17...');
224
250
  try {
225
- await execAsync(`msiexec /i "${installerPath}" /passive`);
251
+ const extractZip = await Promise.resolve().then(() => __importStar(require('extract-zip')));
252
+ await extractZip.default(zipPath, { dir: path.resolve(extractDir) });
253
+ (0, spinner_1.stopSpinner)(extractSpinner, true, 'JDK extracted');
226
254
  }
227
- catch (error) {
228
- (0, logger_1.error)('Automated installation failed. Please install manually.');
229
- (0, logger_1.info)(`Installer saved to: ${installerPath}`);
230
- throw error;
255
+ catch (err) {
256
+ (0, spinner_1.stopSpinner)(extractSpinner, false, 'Extraction failed');
257
+ throw new Error(`Failed to extract JDK zip: ${err.message}`);
258
+ }
259
+ // The zip contains a single top-level folder like jdk-17.0.x+y
260
+ let jdkRoot = null;
261
+ try {
262
+ const entries = await fs.readdir(extractDir);
263
+ for (const entry of entries) {
264
+ const candidate = path.join(extractDir, entry, 'bin', 'java.exe');
265
+ if (await fs.pathExists(candidate)) {
266
+ jdkRoot = path.join(extractDir, entry);
267
+ break;
268
+ }
269
+ }
231
270
  }
232
- // Clean up
233
- await fs.remove(installerPath);
271
+ catch { /* ignore */ }
272
+ if (!jdkRoot) {
273
+ throw new Error('Could not locate java.exe in extracted JDK archive');
274
+ }
275
+ // Move to permanent location
276
+ await fs.ensureDir(installDir);
277
+ if (await fs.pathExists(jdkDest))
278
+ await fs.remove(jdkDest);
279
+ await fs.move(jdkRoot, jdkDest);
280
+ // Clean up temp files
281
+ await fs.remove(zipPath).catch(() => { });
282
+ await fs.remove(extractDir).catch(() => { });
283
+ // Set JAVA_HOME
284
+ const javaExe = path.join(jdkDest, 'bin', 'java.exe');
285
+ if (!(await fs.pathExists(javaExe))) {
286
+ throw new Error(`Installation moved but java.exe not found at ${javaExe}`);
287
+ }
288
+ // Update current process environment so subsequent code can run java
289
+ process.env.JAVA_HOME = jdkDest;
290
+ process.env.PATH = `${path.join(jdkDest, 'bin')}${path.delimiter}${process.env.PATH || ''}`;
291
+ // Persist for future terminal sessions
292
+ await setJavaHomeWindows(jdkDest);
293
+ (0, logger_1.info)(`JDK 17 installed to: ${jdkDest}`);
294
+ (0, logger_1.info)(`JAVA_HOME=${jdkDest}`);
234
295
  }
235
- /**
236
- * Install Java on macOS
237
- */
296
+ // macOS installation
238
297
  async function installJavaMacOS() {
239
- // Check if Homebrew is available
240
298
  try {
241
299
  await execAsync('which brew');
242
300
  (0, logger_1.info)('Installing Java via Homebrew...');
@@ -244,122 +302,74 @@ async function installJavaMacOS() {
244
302
  try {
245
303
  await execAsync('brew install openjdk@17');
246
304
  (0, spinner_1.stopSpinner)(spinner, true, 'Java installed via Homebrew');
247
- // Link Java
248
- (0, logger_1.info)('Linking Java...');
249
- await execAsync('sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk');
250
- (0, logger_1.info)('Add to your shell profile:');
251
- (0, logger_1.info)('export JAVA_HOME=$(/usr/libexec/java_home -v 17)');
305
+ try {
306
+ await execAsync('sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk');
307
+ }
308
+ catch { /* link may already exist */ }
309
+ (0, logger_1.info)('Add to your shell profile: export JAVA_HOME=$(/usr/libexec/java_home -v 17)');
252
310
  }
253
- catch (error) {
311
+ catch (err) {
254
312
  (0, spinner_1.stopSpinner)(spinner, false, 'Failed to install via Homebrew');
255
- throw error;
313
+ throw err;
256
314
  }
257
315
  }
258
316
  catch {
259
- // Homebrew not available, download manually
260
- (0, logger_1.info)('Homebrew not found. Downloading JDK manually...');
261
- (0, logger_1.info)('Alternatively, install with: brew install openjdk@17');
262
- console.log();
263
- const url = getJDKDownloadURL();
264
- if (!url) {
265
- throw new Error('Could not determine JDK download URL');
266
- }
267
- const tempDir = os.tmpdir();
268
- const pkgPath = path.join(tempDir, 'temurin-17.pkg');
269
- await (0, downloader_1.downloadWithRetry)({
270
- url,
271
- destination: pkgPath,
272
- progressLabel: 'Downloading JDK package',
273
- });
317
+ // Homebrew not available download pkg
318
+ const url = 'https://api.adoptium.net/v3/binary/latest/17/ga/mac/x64/jdk/hotspot/normal/eclipse';
319
+ const tempPkg = path.join(os.tmpdir(), 'temurin-17.pkg');
320
+ await (0, downloader_1.downloadWithRetry)({ url, destination: tempPkg, progressLabel: 'Downloading JDK package' });
274
321
  (0, logger_1.info)('Please install the downloaded package:');
275
- (0, logger_1.info)(`open "${pkgPath}"`);
276
- // Try to open installer
322
+ (0, logger_1.info)(`open "${tempPkg}"`);
277
323
  try {
278
- await execAsync(`open "${pkgPath}"`);
279
- }
280
- catch {
281
- (0, logger_1.error)('Could not open installer automatically');
324
+ await execAsync(`open "${tempPkg}"`);
282
325
  }
326
+ catch { /* ignore */ }
283
327
  }
284
328
  }
285
- /**
286
- * Install Java on Linux
287
- */
329
+ // Linux installation
288
330
  async function installJavaLinux() {
289
- // Detect package manager
290
- let packageManager = null;
291
- try {
292
- await execAsync('which apt');
293
- packageManager = 'apt';
294
- }
295
- catch {
331
+ let pkgManager = null;
332
+ for (const pm of ['apt', 'dnf', 'yum', 'pacman']) {
296
333
  try {
297
- await execAsync('which dnf');
298
- packageManager = 'dnf';
299
- }
300
- catch {
301
- try {
302
- await execAsync('which yum');
303
- packageManager = 'yum';
304
- }
305
- catch {
306
- try {
307
- await execAsync('which pacman');
308
- packageManager = 'pacman';
309
- }
310
- catch {
311
- // No package manager found
312
- }
313
- }
334
+ await execAsync(`which ${pm}`);
335
+ pkgManager = pm;
336
+ break;
314
337
  }
338
+ catch { /* next */ }
315
339
  }
316
- if (!packageManager) {
317
- (0, logger_1.info)('Could not detect package manager. Please install Java 17+ manually:');
340
+ if (!pkgManager) {
341
+ (0, logger_1.info)('Package manager not detected. Install Java 17 manually:');
318
342
  (0, logger_1.info)('https://adoptium.net/temurin/releases/?version=17');
319
343
  return;
320
344
  }
321
- (0, logger_1.info)(`Installing Java via ${packageManager}...`);
345
+ (0, logger_1.info)(`Installing Java via ${pkgManager}...`);
322
346
  const spinner = (0, spinner_1.startSpinner)('Installing openjdk-17-jdk...');
323
347
  try {
324
- switch (packageManager) {
325
- case 'apt':
326
- await execAsync('sudo apt update && sudo apt install -y openjdk-17-jdk');
327
- break;
328
- case 'dnf':
329
- await execAsync('sudo dnf install -y java-17-openjdk-devel');
330
- break;
331
- case 'yum':
332
- await execAsync('sudo yum install -y java-17-openjdk-devel');
333
- break;
334
- case 'pacman':
335
- await execAsync('sudo pacman -S --noconfirm jdk17-openjdk');
336
- break;
337
- }
338
- (0, spinner_1.stopSpinner)(spinner, true, 'Java installed successfully');
339
- // Try to set JAVA_HOME
340
- (0, logger_1.info)('Add to your shell profile (~/.bashrc or ~/.zshrc):');
348
+ const cmds = {
349
+ apt: 'sudo apt update && sudo apt install -y openjdk-17-jdk',
350
+ dnf: 'sudo dnf install -y java-17-openjdk-devel',
351
+ yum: 'sudo yum install -y java-17-openjdk-devel',
352
+ pacman: 'sudo pacman -S --noconfirm jdk17-openjdk',
353
+ };
354
+ await execAsync(cmds[pkgManager], { timeout: 300000 });
355
+ (0, spinner_1.stopSpinner)(spinner, true, 'Java installed');
356
+ (0, logger_1.info)('Add to ~/.bashrc or ~/.zshrc:');
341
357
  (0, logger_1.info)('export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64');
342
358
  (0, logger_1.info)('export PATH=$JAVA_HOME/bin:$PATH');
343
359
  }
344
- catch (error) {
360
+ catch (err) {
345
361
  (0, spinner_1.stopSpinner)(spinner, false, 'Installation failed');
346
- (0, logger_1.error)('You may need to run the install command manually with sudo');
347
- throw error;
362
+ throw err;
348
363
  }
349
364
  }
350
- /**
351
- * Verify Java installation
352
- */
365
+ // Verify
353
366
  async function verifyJavaInstallation() {
354
367
  const java = await detectJava();
355
- if (!java) {
368
+ if (!java)
356
369
  return false;
357
- }
358
370
  const compatible = await isJavaCompatible(java.version);
359
- if (!compatible) {
360
- (0, logger_1.error)(`Java ${java.version} is installed but version 17+ is required`);
361
- return false;
362
- }
363
- return true;
371
+ if (!compatible)
372
+ (0, logger_1.error)(`Java ${java.version} found but version 17+ is required`);
373
+ return compatible;
364
374
  }
365
375
  //# sourceMappingURL=java.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"java.js","sourceRoot":"","sources":["../../src/utils/java.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DH,gCAmBC;AAKD,4CAGC;AA4CD,8CAcC;AAKD,gDAQC;AAKD,kCAwBC;AAsKD,wDAcC;AA5WD,iDAAqC;AACrC,+BAAiC;AACjC,6CAA+B;AAC/B,2CAA6B;AAC7B,uCAAyB;AACzB,6CAAiD;AACjD,uCAAsD;AACtD,qCAA2D;AAE3D,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAQlC;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,mBAAmB;IACnB,sCAAsC;IACtC,2BAA2B;IAC3B,6BAA6B;IAE7B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAErE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IAC5C,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,gBAAgB;IAChB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,MAAM,GAAG,kBAAkB,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,OAAe;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,KAAK,EAAE;QACL,GAAG,EAAE,wFAAwF;KAC9F;IACD,MAAM,EAAE;QACN,GAAG,EAAE,oFAAoF;QACzF,KAAK,EAAE,wFAAwF;KAChG;IACD,KAAK,EAAE;QACL,GAAG,EAAE,sFAAsF;QAC3F,KAAK,EAAE,0FAA0F;KAClG;CACF,CAAC;AAEF;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC;IAC1F,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,QAAQ;IACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAmB,QAAQ,MAAM,CAAC;QAClD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,IAAA,aAAI,EAAC,oCAAoC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,cAAO,EAAC,2DAA2D,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW;IAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,IAAA,aAAI,EAAC,2BAA2B,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;IACpC,IAAI,QAAQ,IAAI,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,IAAA,gBAAO,EAAC,QAAQ,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,kBAAkB,EAAE,CAAC;IAC7B,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,IAAA,gBAAO,EAAC,oCAAoC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAA,aAAI,EAAC,gDAAgD,CAAC,CAAC;IACvD,IAAA,aAAI,EAAC,0DAA0D,CAAC,CAAC;IACjE,IAAA,aAAI,EAAC,mDAAmD,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAErE,qBAAqB;IACrB,MAAM,IAAA,8BAAiB,EAAC;QACtB,GAAG;QACH,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,2BAA2B;KAC3C,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAA,aAAI,EAAC,iDAAiD,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,eAAe,aAAa,YAAY,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,cAAO,EAAC,yDAAyD,CAAC,CAAC;QACnE,IAAA,aAAI,EAAC,uBAAuB,aAAa,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;IAED,WAAW;IACX,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,iCAAiC;IACjC,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAA,aAAI,EAAC,iCAAiC,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,0BAA0B,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAC3C,IAAA,qBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;YAE1D,YAAY;YACZ,IAAA,aAAI,EAAC,iBAAiB,CAAC,CAAC;YACxB,MAAM,SAAS,CAAC,mHAAmH,CAAC,CAAC;YAErI,IAAA,aAAI,EAAC,4BAA4B,CAAC,CAAC;YACnC,IAAA,aAAI,EAAC,kDAAkD,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,qBAAW,EAAC,OAAO,EAAE,KAAK,EAAE,gCAAgC,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;QAC5C,IAAA,aAAI,EAAC,iDAAiD,CAAC,CAAC;QACxD,IAAA,aAAI,EAAC,sDAAsD,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,IAAA,8BAAiB,EAAC;YACtB,GAAG;YACH,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAC;QAEH,IAAA,aAAI,EAAC,wCAAwC,CAAC,CAAC;QAC/C,IAAA,aAAI,EAAC,SAAS,OAAO,GAAG,CAAC,CAAC;QAE1B,wBAAwB;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,IAAA,cAAO,EAAC,wCAAwC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,yBAAyB;IACzB,IAAI,cAAc,GAA4C,IAAI,CAAC;IAEnE,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7B,cAAc,GAAG,KAAK,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;YAC7B,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC7B,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;oBAChC,cAAc,GAAG,QAAQ,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAA,aAAI,EAAC,qEAAqE,CAAC,CAAC;QAC5E,IAAA,aAAI,EAAC,mDAAmD,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,IAAA,aAAI,EAAC,uBAAuB,cAAc,KAAK,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,8BAA8B,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,KAAK;gBACR,MAAM,SAAS,CAAC,uDAAuD,CAAC,CAAC;gBACzE,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,SAAS,CAAC,2CAA2C,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,SAAS,CAAC,2CAA2C,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,SAAS,CAAC,0CAA0C,CAAC,CAAC;gBAC5D,MAAM;QACV,CAAC;QAED,IAAA,qBAAW,EAAC,OAAO,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAE1D,uBAAuB;QACvB,IAAA,aAAI,EAAC,oDAAoD,CAAC,CAAC;QAC3D,IAAA,aAAI,EAAC,qDAAqD,CAAC,CAAC;QAC5D,IAAA,aAAI,EAAC,kCAAkC,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,qBAAW,EAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACnD,IAAA,cAAO,EAAC,4DAA4D,CAAC,CAAC;QACtE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB;IAC1C,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;IAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAA,cAAO,EAAC,QAAQ,IAAI,CAAC,OAAO,2CAA2C,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"java.js","sourceRoot":"","sources":["../../src/utils/java.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../../src/utils/system-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAC;AA6BF;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwBpD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwBnD;AAwBD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiCpD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkCtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkD7D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkC1D;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiDnE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwDjE;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiDpE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiD/D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsB/E;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CA8BvD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CA8B1D"}
1
+ {"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../../src/utils/system-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAC;AA6BF;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwBpD;AAED;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwBnD;AAwBD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkFpD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkCtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAY1C;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkD7D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkC1D;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,CA6DnE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAwDjE;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiDpE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiD/D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsB/E;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CA8BvD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAkD1D"}