@reliverse/dler 2.2.5 → 2.2.10

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 (56) hide show
  1. package/README.md +14 -14
  2. package/dist/cli.js +1 -1
  3. package/dist/cmds/biome/cmd.js +58 -0
  4. package/dist/cmds/biome/impl.d.ts +26 -0
  5. package/dist/cmds/biome/impl.js +272 -0
  6. package/dist/cmds/build/cmd.js +18 -10
  7. package/dist/cmds/clean/cmd.js +6 -6
  8. package/dist/cmds/clean/impl.js +16 -12
  9. package/dist/cmds/clean/presets.js +2 -2
  10. package/dist/cmds/publish/cmd.js +7 -7
  11. package/dist/cmds/senv/cmd.js +13 -15
  12. package/dist/cmds/tsc/cache.js +1 -1
  13. package/dist/cmds/tsc/cmd.js +11 -8
  14. package/dist/cmds/tsc/impl.js +132 -17
  15. package/dist/cmds/update/cmd.js +11 -10
  16. package/dist/cmds/update/impl.d.ts +4 -4
  17. package/dist/cmds/update/impl.js +10 -11
  18. package/dist/cmds/update/utils.d.ts +23 -4
  19. package/dist/cmds/update/utils.js +22 -16
  20. package/package.json +16 -13
  21. package/dist/cmds/perf/analysis/bundle.d.ts +0 -20
  22. package/dist/cmds/perf/analysis/bundle.js +0 -225
  23. package/dist/cmds/perf/analysis/filesystem.d.ts +0 -27
  24. package/dist/cmds/perf/analysis/filesystem.js +0 -245
  25. package/dist/cmds/perf/analysis/monorepo.d.ts +0 -30
  26. package/dist/cmds/perf/analysis/monorepo.js +0 -345
  27. package/dist/cmds/perf/benchmarks/command.d.ts +0 -21
  28. package/dist/cmds/perf/benchmarks/command.js +0 -162
  29. package/dist/cmds/perf/benchmarks/memory.d.ts +0 -41
  30. package/dist/cmds/perf/benchmarks/memory.js +0 -169
  31. package/dist/cmds/perf/benchmarks/runner.d.ts +0 -22
  32. package/dist/cmds/perf/benchmarks/runner.js +0 -157
  33. package/dist/cmds/perf/cmd.js +0 -240
  34. package/dist/cmds/perf/impl.d.ts +0 -24
  35. package/dist/cmds/perf/impl.js +0 -297
  36. package/dist/cmds/perf/reporters/console.d.ts +0 -12
  37. package/dist/cmds/perf/reporters/console.js +0 -257
  38. package/dist/cmds/perf/reporters/html.d.ts +0 -27
  39. package/dist/cmds/perf/reporters/html.js +0 -881
  40. package/dist/cmds/perf/reporters/json.d.ts +0 -9
  41. package/dist/cmds/perf/reporters/json.js +0 -32
  42. package/dist/cmds/perf/types.d.ts +0 -184
  43. package/dist/cmds/perf/types.js +0 -0
  44. package/dist/cmds/perf/utils/cache.d.ts +0 -23
  45. package/dist/cmds/perf/utils/cache.js +0 -172
  46. package/dist/cmds/perf/utils/formatter.d.ts +0 -17
  47. package/dist/cmds/perf/utils/formatter.js +0 -134
  48. package/dist/cmds/perf/utils/stats.d.ts +0 -15
  49. package/dist/cmds/perf/utils/stats.js +0 -101
  50. package/dist/cmds/port/cmd.d.ts +0 -2
  51. package/dist/cmds/port/cmd.js +0 -58
  52. package/dist/cmds/port/impl.d.ts +0 -5
  53. package/dist/cmds/port/impl.js +0 -280
  54. package/dist/cmds/shell/cmd.d.ts +0 -2
  55. package/dist/cmds/shell/cmd.js +0 -46
  56. /package/dist/cmds/{perf → biome}/cmd.d.ts +0 -0
package/README.md CHANGED
@@ -27,31 +27,31 @@ dler [command] [options]
27
27
  Both CLI and framework packages work independently, you're not required to install both.
28
28
 
29
29
  ```bash
30
- bun add @reliverse/dler-logger
30
+ bun add @reliverse/relinka
31
31
  ```
32
32
 
33
33
  ## Framework Usage
34
34
 
35
35
  ```ts
36
- import { logger } from "@reliverse/dler-logger";
36
+ import { logger } from "@reliverse/relinka";
37
37
  logger.success("Hello, Reliverse!"); // > ✓ Hello, Reliverse!
38
38
  ```
39
39
 
40
40
  ## Available Packages
41
41
 
42
- 1. `@reliverse/dler-bump`
43
- 2. `@reliverse/dler-build`
44
- 3. `@reliverse/dler-config`
45
- 4. `@reliverse/dler-helpers`
46
- 5. `@reliverse/dler-colors`
47
- 6. `@reliverse/dler-mapper`
48
- 7. `@reliverse/dler-launcher`
49
- 8. `@reliverse/dler-logger`
50
- 9. `@reliverse/dler-matcher`
51
- 10. `@reliverse/dler-pkg-tsc`
52
- 11. `@reliverse/dler-prompt`
42
+ 1. `@reliverse/bump`
43
+ 2. `@reliverse/build`
44
+ 3. `@reliverse/config`
45
+ 4. `@reliverse/helpers`
46
+ 5. `@reliverse/relico`
47
+ 6. `@reliverse/mapkit`
48
+ 7. `@reliverse/rempts`
49
+ 8. `@reliverse/relinka`
50
+ 9. `@reliverse/matcha`
51
+ 10. `@reliverse/typerso`
52
+ 11. `@reliverse/rempts`
53
53
  12. `@reliverse/dler-spinner`
54
- 13. `@reliverse/dler-publish`
54
+ 13. `@reliverse/publish`
55
55
 
56
56
  ## Available CLI Commands
57
57
 
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
- import { runLauncher } from "@reliverse/dler-launcher";
1
+ import { runLauncher } from "@reliverse/rempts";
2
2
  await runLauncher(import.meta.url, { verbose: false });
@@ -0,0 +1,58 @@
1
+ import { logger } from "@reliverse/relinka";
2
+ import { defineArgs, defineCommand } from "@reliverse/rempts";
3
+ import { runBiomeCheck } from "./impl.js";
4
+ export default defineCommand({
5
+ meta: {
6
+ name: "biome",
7
+ description: "Run Biome linting and formatting check on workspace",
8
+ examples: [
9
+ "dler biome",
10
+ "dler biome --cwd /path/to/project",
11
+ "dler biome --verbose",
12
+ "dler biome --copy-logs",
13
+ "dler biome --verbose --copy-logs"
14
+ ]
15
+ },
16
+ args: defineArgs({
17
+ cwd: {
18
+ type: "string",
19
+ description: "Working directory to run biome from (default: current directory)"
20
+ },
21
+ verbose: {
22
+ type: "boolean",
23
+ description: "Verbose mode (default: false)"
24
+ },
25
+ copyLogs: {
26
+ type: "boolean",
27
+ description: "Copy diagnostics to clipboard (default: true, skipped in CI)",
28
+ default: true
29
+ }
30
+ }),
31
+ run: async ({ args }) => {
32
+ try {
33
+ if (typeof process.versions.bun === "undefined") {
34
+ logger.error("\u274C This command requires Bun runtime. Sorry.");
35
+ process.exit(1);
36
+ }
37
+ const isCI = process.env.CI === "true" || !process.stdout.isTTY;
38
+ const shouldCopyLogs = args.copyLogs !== false && !isCI;
39
+ const result = await runBiomeCheck({
40
+ cwd: args.cwd,
41
+ verbose: args.verbose,
42
+ copyLogs: shouldCopyLogs
43
+ });
44
+ if (!result.success) {
45
+ process.exit(1);
46
+ }
47
+ logger.success("\n\u2705 Biome check passed!");
48
+ } catch (error) {
49
+ logger.error("\n\u274C Biome check failed:");
50
+ if (error instanceof Error) {
51
+ logger.error(error.message);
52
+ } else {
53
+ logger.error(String(error));
54
+ }
55
+ process.exit(1);
56
+ }
57
+ }
58
+ });
@@ -0,0 +1,26 @@
1
+ interface BiomeDiagnostic {
2
+ file: string;
3
+ line: number;
4
+ column: number;
5
+ rule: string;
6
+ severity: "error" | "warning" | "info";
7
+ message: string;
8
+ suggestion?: string;
9
+ }
10
+ interface BiomeResult {
11
+ success: boolean;
12
+ errors: number;
13
+ warnings: number;
14
+ infos: number;
15
+ diagnostics: BiomeDiagnostic[];
16
+ rawOutput: string;
17
+ filteredOutput: string;
18
+ executionTime: number;
19
+ }
20
+ interface BiomeOptions {
21
+ verbose?: boolean;
22
+ copyLogs?: boolean;
23
+ cwd?: string;
24
+ }
25
+ export declare const runBiomeCheck: (options?: BiomeOptions) => Promise<BiomeResult>;
26
+ export {};
@@ -0,0 +1,272 @@
1
+ import { resolve } from "node:path";
2
+ import { logger } from "@reliverse/relinka";
3
+ import clipboard from "clipboardy";
4
+ const runBiomeCommand = async (cwd) => {
5
+ try {
6
+ const proc = Bun.spawn(["bun", "biome", "check", "--write", "--unsafe"], {
7
+ cwd,
8
+ stdout: "pipe",
9
+ stderr: "pipe"
10
+ });
11
+ const [stdout, stderr] = await Promise.all([
12
+ new Response(proc.stdout).text(),
13
+ new Response(proc.stderr).text()
14
+ ]);
15
+ const exitCode = await proc.exited;
16
+ return { stdout, stderr, exitCode };
17
+ } catch (error) {
18
+ throw new Error(
19
+ `Failed to spawn biome: ${error instanceof Error ? error.message : String(error)}`
20
+ );
21
+ }
22
+ };
23
+ const parseBiomeOutput = (output, cwd) => {
24
+ const lines = output.split("\n");
25
+ const diagnostics = [];
26
+ let currentDiagnostic = null;
27
+ let inDiagnostic = false;
28
+ let errors = 0;
29
+ let warnings = 0;
30
+ let infos = 0;
31
+ const fileLinePattern = /^(.+?):(\d+):(\d+)\s+(.+?)\s+━+$/;
32
+ const errorPattern = /^\s+×\s+(.+)$/;
33
+ const infoPattern = /^\s+i\s+(.+)$/;
34
+ for (let i = 0; i < lines.length; i++) {
35
+ const line = lines[i];
36
+ if (!line) continue;
37
+ const fileMatch = line.match(fileLinePattern);
38
+ if (fileMatch) {
39
+ if (currentDiagnostic?.file) {
40
+ diagnostics.push(currentDiagnostic);
41
+ if (currentDiagnostic.severity === "error") errors++;
42
+ else if (currentDiagnostic.severity === "warning") warnings++;
43
+ else if (currentDiagnostic.severity === "info") infos++;
44
+ }
45
+ const file = fileMatch[1];
46
+ const lineNum = fileMatch[2];
47
+ const col = fileMatch[3];
48
+ const rule = fileMatch[4];
49
+ if (file && lineNum && col && rule) {
50
+ const normalizedFile = file.replace(/\\/g, "/");
51
+ currentDiagnostic = {
52
+ file: resolve(cwd, normalizedFile),
53
+ line: Number.parseInt(lineNum, 10),
54
+ column: Number.parseInt(col, 10),
55
+ rule: rule.trim(),
56
+ severity: "error",
57
+ // Default, will be updated if we see warning/info
58
+ message: ""
59
+ };
60
+ inDiagnostic = true;
61
+ }
62
+ continue;
63
+ }
64
+ if (!inDiagnostic || !currentDiagnostic) continue;
65
+ const errorMatch = line.match(errorPattern);
66
+ if (errorMatch) {
67
+ currentDiagnostic.message = errorMatch[1]?.trim();
68
+ currentDiagnostic.severity = "error";
69
+ continue;
70
+ }
71
+ const infoMatch = line.match(infoPattern);
72
+ if (infoMatch) {
73
+ currentDiagnostic.suggestion = infoMatch[1]?.trim();
74
+ if (!currentDiagnostic.message) {
75
+ currentDiagnostic.severity = "info";
76
+ }
77
+ continue;
78
+ }
79
+ if (line.trim() === "" && currentDiagnostic.message) {
80
+ inDiagnostic = false;
81
+ }
82
+ }
83
+ if (currentDiagnostic?.file) {
84
+ diagnostics.push(currentDiagnostic);
85
+ if (currentDiagnostic.severity === "error") errors++;
86
+ else if (currentDiagnostic.severity === "warning") warnings++;
87
+ else if (currentDiagnostic.severity === "info") infos++;
88
+ }
89
+ const summaryMatch = output.match(/Found (\d+) errors?/i);
90
+ const errorCount = summaryMatch?.[1];
91
+ if (errorCount) {
92
+ const totalErrors = Number.parseInt(errorCount, 10);
93
+ if (totalErrors > errors) {
94
+ errors = totalErrors;
95
+ }
96
+ }
97
+ return { diagnostics, errors, warnings, infos };
98
+ };
99
+ const formatDiagnostic = (diag, cwd) => {
100
+ const normalizedCwd = cwd.replace(/\\/g, "/");
101
+ const normalizedFile = diag.file.replace(/\\/g, "/");
102
+ const relativePath = normalizedFile.replace(`${normalizedCwd}/`, "");
103
+ const rulePart = diag.rule ? ` [${diag.rule}]` : "";
104
+ const suggestionPart = diag.suggestion ? `
105
+ i ${diag.suggestion}` : "";
106
+ return `${relativePath}:${diag.line}:${diag.column}${rulePart}
107
+ \xD7 ${diag.message}${suggestionPart}`;
108
+ };
109
+ const formatFilteredOutput = (diagnostics, cwd) => {
110
+ const lines = [];
111
+ const byRule = /* @__PURE__ */ new Map();
112
+ for (const diag of diagnostics) {
113
+ const rule = diag.rule || "unknown";
114
+ const existing = byRule.get(rule) ?? [];
115
+ existing.push(diag);
116
+ byRule.set(rule, existing);
117
+ }
118
+ for (const ruleDiags of byRule.values()) {
119
+ for (const diag of ruleDiags) {
120
+ lines.push(formatDiagnostic(diag, cwd));
121
+ lines.push("");
122
+ }
123
+ }
124
+ return lines.join("\n");
125
+ };
126
+ const collectBiomeLogs = (result, cwd) => {
127
+ if (result.diagnostics.length === 0) {
128
+ return "";
129
+ }
130
+ const logs = [];
131
+ logs.push(
132
+ "I received the following Biome errors/warnings (please analyse the related code for each and correct them):"
133
+ );
134
+ logs.push("```");
135
+ logs.push("Biome Check (bun dler biome)");
136
+ logs.push("");
137
+ const byRule = /* @__PURE__ */ new Map();
138
+ const normalizedCwd = cwd.replace(/\\/g, "/");
139
+ for (const diag of result.diagnostics) {
140
+ const rule = diag.rule || "unknown";
141
+ const existing = byRule.get(rule) ?? [];
142
+ existing.push(diag);
143
+ byRule.set(rule, existing);
144
+ }
145
+ for (const [rule, ruleDiags] of byRule) {
146
+ logs.push(
147
+ `\u{1F50D} ${rule} (${ruleDiags.length} occurrence${ruleDiags.length > 1 ? "s" : ""})`
148
+ );
149
+ logs.push(` ${"\u2500".repeat(30)}`);
150
+ const firstDiag = ruleDiags[0];
151
+ if (firstDiag) {
152
+ logs.push(` \xD7 ${firstDiag.message}`);
153
+ if (firstDiag.suggestion) {
154
+ logs.push(` i ${firstDiag.suggestion}`);
155
+ }
156
+ logs.push("");
157
+ }
158
+ for (const diag of ruleDiags) {
159
+ const normalizedFile = diag.file.replace(/\\/g, "/");
160
+ const relativePath = normalizedFile.replace(`${normalizedCwd}/`, "");
161
+ logs.push(` ${relativePath}:${diag.line}:${diag.column}`);
162
+ }
163
+ logs.push("");
164
+ }
165
+ logs.push("```");
166
+ return logs.join("\n");
167
+ };
168
+ const copyLogsToClipboard = async (result, cwd) => {
169
+ try {
170
+ const logs = collectBiomeLogs(result, cwd);
171
+ if (!logs) {
172
+ logger.info("\u2139\uFE0F No diagnostics to copy to clipboard");
173
+ return;
174
+ }
175
+ await clipboard.write(logs);
176
+ logger.success("\u{1F4CB} Biome diagnostics copied to clipboard!");
177
+ } catch (error) {
178
+ logger.error("\u274C Failed to copy logs to clipboard:");
179
+ if (error instanceof Error) {
180
+ logger.error(error.message);
181
+ } else {
182
+ logger.error(String(error));
183
+ }
184
+ }
185
+ };
186
+ const formatOutput = (result, cwd) => {
187
+ logger.log("\u2501".repeat(60));
188
+ logger.log(`\u{1F4CA} Biome Check Summary:`);
189
+ logger.log(` \u{1F41B} Total errors: ${result.errors}`);
190
+ logger.log(` \u26A0\uFE0F Total warnings: ${result.warnings}`);
191
+ logger.log(` \u2139\uFE0F Total infos: ${result.infos}`);
192
+ logger.log(` \u23F1\uFE0F Execution time: ${result.executionTime}ms`);
193
+ logger.log("\u2501".repeat(60));
194
+ if (result.diagnostics.length > 0) {
195
+ logger.error("\n\u274C Diagnostics:\n");
196
+ const byRule = /* @__PURE__ */ new Map();
197
+ const normalizedCwd = cwd.replace(/\\/g, "/");
198
+ for (const diag of result.diagnostics) {
199
+ const rule = diag.rule || "unknown";
200
+ const existing = byRule.get(rule) ?? [];
201
+ existing.push(diag);
202
+ byRule.set(rule, existing);
203
+ }
204
+ for (const [rule, ruleDiags] of byRule) {
205
+ logger.error(
206
+ `\u{1F50D} ${rule} (${ruleDiags.length} occurrence${ruleDiags.length > 1 ? "s" : ""})`
207
+ );
208
+ logger.error(` ${"\u2500".repeat(30)}`);
209
+ const firstDiag = ruleDiags[0];
210
+ if (firstDiag) {
211
+ const severityIcon = firstDiag.severity === "error" ? "\xD7" : firstDiag.severity === "warning" ? "\u26A0" : "\u2139";
212
+ logger.error(` ${severityIcon} ${firstDiag.message}`);
213
+ if (firstDiag.suggestion) {
214
+ logger.info(` i ${firstDiag.suggestion}`);
215
+ }
216
+ logger.error("");
217
+ }
218
+ for (const diag of ruleDiags) {
219
+ const normalizedFile = diag.file.replace(/\\/g, "/");
220
+ const relativePath = normalizedFile.replace(`${normalizedCwd}/`, "");
221
+ logger.error(` ${relativePath}:${diag.line}:${diag.column}`);
222
+ }
223
+ logger.error("");
224
+ }
225
+ }
226
+ };
227
+ export const runBiomeCheck = async (options = {}) => {
228
+ const { verbose = false, copyLogs = false, cwd = process.cwd() } = options;
229
+ const startTime = Date.now();
230
+ const resolvedCwd = resolve(cwd);
231
+ if (verbose) {
232
+ logger.info(`\u{1F50D} Running biome check in: ${resolvedCwd}`);
233
+ }
234
+ try {
235
+ const { stdout, stderr } = await runBiomeCommand(resolvedCwd);
236
+ const output = stdout + stderr;
237
+ const { diagnostics, errors, warnings, infos } = parseBiomeOutput(
238
+ output,
239
+ resolvedCwd
240
+ );
241
+ const filteredOutput = formatFilteredOutput(diagnostics, resolvedCwd);
242
+ const result = {
243
+ success: errors === 0,
244
+ errors,
245
+ warnings,
246
+ infos,
247
+ diagnostics,
248
+ rawOutput: output,
249
+ filteredOutput,
250
+ executionTime: Date.now() - startTime
251
+ };
252
+ formatOutput(result, resolvedCwd);
253
+ if (copyLogs && result.diagnostics.length > 0) {
254
+ await copyLogsToClipboard(result, resolvedCwd);
255
+ }
256
+ return result;
257
+ } catch (error) {
258
+ logger.error(
259
+ `\u274C Failed to run biome: ${error instanceof Error ? error.message : String(error)}`
260
+ );
261
+ return {
262
+ success: false,
263
+ errors: 1,
264
+ warnings: 0,
265
+ infos: 0,
266
+ diagnostics: [],
267
+ rawOutput: error instanceof Error ? error.message : String(error),
268
+ filteredOutput: error instanceof Error ? error.message : String(error),
269
+ executionTime: Date.now() - startTime
270
+ };
271
+ }
272
+ };
@@ -2,24 +2,24 @@ import {
2
2
  applyPresets,
3
3
  runBuildOnAllPackages,
4
4
  validateAndExit
5
- } from "@reliverse/dler-build";
5
+ } from "@reliverse/build";
6
6
  import {
7
7
  clearLoggerInternalsInPackages,
8
8
  replaceExportsInPackages
9
- } from "@reliverse/dler-helpers";
10
- import { defineArgs, defineCommand } from "@reliverse/dler-launcher";
11
- import { logger } from "@reliverse/dler-logger";
9
+ } from "@reliverse/helpers";
10
+ import { logger } from "@reliverse/relinka";
11
+ import { defineArgs, defineCommand } from "@reliverse/rempts";
12
12
  export default defineCommand({
13
13
  meta: {
14
14
  name: "build",
15
15
  description: "Build all workspace packages using configurable bundler (mkdist for libraries, bun for apps) with dler.ts configuration. Auto-detects frontend apps and libraries. Supports presets: --production, --dev, --library, --react, --node, --monorepo.",
16
16
  examples: [
17
17
  "dler build",
18
- 'dler build --filter "@reliverse/dler-prompt,@reliverse/dler-build"',
18
+ 'dler build --filter "@reliverse/rempts,@reliverse/build"',
19
19
  'dler build --filter "@reliverse/dler-*"',
20
20
  'dler build --ignore "@reliverse/*"',
21
- 'dler build --ignore "@reliverse/dler-colors" --ignore "@reliverse/dler-v1"',
22
- 'dler build --ignore "@reliverse/dler-colors @reliverse/dler-v1"',
21
+ 'dler build --ignore "@reliverse/relico" --ignore "@reliverse/dler-v1"',
22
+ 'dler build --ignore "@reliverse/relico @reliverse/dler-v1"',
23
23
  "dler build --cwd /path/to/monorepo",
24
24
  "dler build --cwd /path/to/monorepo --ignore @reliverse/*",
25
25
  "dler build --concurrency 8",
@@ -181,7 +181,7 @@ export default defineCommand({
181
181
  },
182
182
  filter: {
183
183
  type: "string",
184
- description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/dler-prompt,@reliverse/dler-build'). Takes precedence over --ignore when both are provided."
184
+ description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/rempts,@reliverse/build'). Takes precedence over --ignore when both are provided."
185
185
  },
186
186
  cwd: {
187
187
  type: "string",
@@ -572,13 +572,21 @@ export default defineCommand({
572
572
  process.exit(1);
573
573
  }
574
574
  const goOptions = {};
575
- if (args.goProvider) goOptions.provider = args.goProvider;
575
+ if (args.goProvider) {
576
+ if (args.goProvider === "xgo" || args.goProvider === "native") {
577
+ goOptions.provider = args.goProvider;
578
+ }
579
+ }
576
580
  if (args.goTargets) {
577
581
  goOptions.targets = args.goTargets;
578
582
  }
579
583
  if (args.goOutputDir) goOptions.outputDir = args.goOutputDir;
580
584
  if (args.goOutputName) goOptions.outputName = args.goOutputName;
581
- if (args.goBuildMode) goOptions.buildMode = args.goBuildMode;
585
+ if (args.goBuildMode) {
586
+ if (args.goBuildMode === "c-shared" || args.goBuildMode === "c-archive" || args.goBuildMode === "exe") {
587
+ goOptions.buildMode = args.goBuildMode;
588
+ }
589
+ }
582
590
  if (args.goLdflags) goOptions.ldflags = args.goLdflags;
583
591
  if (args.goMainFile) goOptions.mainFile = args.goMainFile;
584
592
  if (args.goVersion) goOptions.goVersion = args.goVersion;
@@ -1,6 +1,6 @@
1
- import { replaceExportsInPackages } from "@reliverse/dler-helpers";
2
- import { defineArgs, defineCommand } from "@reliverse/dler-launcher";
3
- import { logger } from "@reliverse/dler-logger";
1
+ import { replaceExportsInPackages } from "@reliverse/helpers";
2
+ import { logger } from "@reliverse/relinka";
3
+ import { defineArgs, defineCommand } from "@reliverse/rempts";
4
4
  import { runCleanOnAllPackages } from "./impl.js";
5
5
  export default defineCommand({
6
6
  meta: {
@@ -14,7 +14,7 @@ export default defineCommand({
14
14
  "dler clean --presets db,frontend --dry-run",
15
15
  "dler clean --presets deps --deleteLockFiles",
16
16
  "dler clean --subdirs --presets build-tools",
17
- 'dler clean --filter "@reliverse/dler-prompt,@reliverse/dler-build"',
17
+ 'dler clean --filter "@reliverse/rempts,@reliverse/build"',
18
18
  'dler clean --filter "@reliverse/dler-*"',
19
19
  "dler clean --filter cli,packages/build",
20
20
  "dler clean --ignore '@reliverse/*'",
@@ -41,7 +41,7 @@ export default defineCommand({
41
41
  "# Filter Examples:",
42
42
  'dler clean --filter "@reliverse/dler-*" --presets build # Clean build artifacts in matching packages',
43
43
  "dler clean --filter cli,packages/build --presets all # Clean all artifacts in specific packages",
44
- 'dler clean --filter "@reliverse/dler-prompt" --custom "*.log" # Clean log files in specific package',
44
+ 'dler clean --filter "@reliverse/rempts" --custom "*.log" # Clean log files in specific package',
45
45
  "",
46
46
  "# Monorepo Examples:",
47
47
  "dler clean # Clean dist/ in all packages",
@@ -67,7 +67,7 @@ export default defineCommand({
67
67
  args: defineArgs({
68
68
  filter: {
69
69
  type: "string",
70
- description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/dler-prompt,@reliverse/dler-build'). Takes precedence over --ignore when both are provided."
70
+ description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/rempts,@reliverse/build'). Takes precedence over --ignore when both are provided."
71
71
  },
72
72
  ignore: {
73
73
  type: "string",
@@ -1,13 +1,13 @@
1
1
  import { existsSync, rmSync, statSync } from "node:fs";
2
2
  import { join, resolve } from "node:path";
3
- import { logger } from "@reliverse/dler-logger";
4
- import pMap from "@reliverse/dler-mapper";
5
- import { createIgnoreFilter, normalizePatterns } from "@reliverse/dler-matcher";
3
+ import pMap from "@reliverse/mapkit";
4
+ import { createIgnoreFilter, normalizePatterns } from "@reliverse/matcha";
5
+ import { logger } from "@reliverse/relinka";
6
6
  import {
7
7
  getWorkspacePatterns,
8
8
  hasWorkspaces,
9
9
  readPackageJSON
10
- } from "@reliverse/dler-pkg-tsc";
10
+ } from "@reliverse/typerso";
11
11
  import {
12
12
  LOCK_FILE_PATTERNS,
13
13
  mergePatterns,
@@ -189,7 +189,7 @@ const findMatchingFiles = (targetDir, patterns, subdirs = false) => {
189
189
  }
190
190
  } catch (error) {
191
191
  if (process.env.DEBUG) {
192
- console.warn(`Glob error for pattern ${pattern}:`, error);
192
+ logger.warn(`Glob error for pattern ${pattern}:`, error);
193
193
  }
194
194
  }
195
195
  }
@@ -309,7 +309,7 @@ const formatBytes = (bytes) => {
309
309
  const k = 1024;
310
310
  const sizes = ["B", "KB", "MB", "GB"];
311
311
  const i = Math.floor(Math.log(bytes) / Math.log(k));
312
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(1))} ${sizes[i]}`;
312
+ return `${parseFloat((bytes / k ** i).toFixed(1))} ${sizes[i]}`;
313
313
  };
314
314
  const displayPreview = (results, lockFilesResult) => {
315
315
  logger.log("\u2501".repeat(60));
@@ -326,7 +326,7 @@ const displayPreview = (results, lockFilesResult) => {
326
326
  const byCategory = result.files.reduce(
327
327
  (acc, file) => {
328
328
  if (!acc[file.category]) acc[file.category] = [];
329
- acc[file.category].push(file);
329
+ acc[file.category]?.push(file);
330
330
  return acc;
331
331
  },
332
332
  {}
@@ -338,7 +338,7 @@ const displayPreview = (results, lockFilesResult) => {
338
338
  );
339
339
  if (files.length <= 5) {
340
340
  for (const file of files) {
341
- const relativePath = file.path.replace(result.package.path + "/", "");
341
+ const relativePath = file.path.replace(`${result.package.path}/`, "");
342
342
  logger.log(` \u2022 ${relativePath}`);
343
343
  }
344
344
  } else {
@@ -441,7 +441,8 @@ export const runCleanOnAllPackages = async (ignore, cwd, options = {}) => {
441
441
  }
442
442
  ]
443
443
  };
444
- logger.log("\n" + "\u2501".repeat(60));
444
+ logger.log(`
445
+ ${"\u2501".repeat(60)}`);
445
446
  logger.log("\u{1F4CA} Clean Summary:");
446
447
  logger.log(
447
448
  ` Files ${dryRun ? "would be" : ""} deleted: ${summary2.deletedFiles}`
@@ -479,7 +480,8 @@ export const runCleanOnAllPackages = async (ignore, cwd, options = {}) => {
479
480
  }
480
481
  ]
481
482
  };
482
- logger.log("\n" + "\u2501".repeat(60));
483
+ logger.log(`
484
+ ${"\u2501".repeat(60)}`);
483
485
  logger.log("\u{1F4CA} Clean Summary:");
484
486
  logger.log(` Files would be deleted: ${summary2.deletedFiles}`);
485
487
  logger.log(
@@ -563,7 +565,8 @@ export const runCleanOnAllPackages = async (ignore, cwd, options = {}) => {
563
565
  hasErrors: allErrors2.length > 0,
564
566
  results: cleanedResults
565
567
  };
566
- logger.log("\n" + "\u2501".repeat(60));
568
+ logger.log(`
569
+ ${"\u2501".repeat(60)}`);
567
570
  logger.log("\u{1F4CA} Clean Summary:");
568
571
  logger.log(` Packages processed: ${summary2.processedPackages}`);
569
572
  logger.log(
@@ -601,7 +604,8 @@ export const runCleanOnAllPackages = async (ignore, cwd, options = {}) => {
601
604
  hasErrors: allErrors.length > 0,
602
605
  results
603
606
  };
604
- logger.log("\n" + "\u2501".repeat(60));
607
+ logger.log(`
608
+ ${"\u2501".repeat(60)}`);
605
609
  logger.log("\u{1F4CA} Clean Summary:");
606
610
  logger.log(` Packages processed: ${summary.processedPackages}`);
607
611
  logger.log(` Files would be deleted: ${summary.deletedFiles}`);
@@ -94,9 +94,9 @@ export const getPresetDescription = (presets) => {
94
94
  return "No valid presets selected";
95
95
  }
96
96
  if (categories.length === 1) {
97
- return categories[0].description;
97
+ return categories[0]?.description ?? "No description available";
98
98
  }
99
- return categories.map((cat) => cat.name).join(", ");
99
+ return categories.map((cat) => cat?.name).join(", ");
100
100
  };
101
101
  export const mergePatterns = (presets, customPatterns) => {
102
102
  const presetPatterns = getPresetPatterns(presets);
@@ -1,19 +1,19 @@
1
- import { defineArgs, defineCommand } from "@reliverse/dler-launcher";
2
- import { logger } from "@reliverse/dler-logger";
3
1
  import {
4
2
  publishAllPackages
5
- } from "@reliverse/dler-publish";
3
+ } from "@reliverse/publish";
4
+ import { logger } from "@reliverse/relinka";
5
+ import { defineArgs, defineCommand } from "@reliverse/rempts";
6
6
  export default defineCommand({
7
7
  meta: {
8
8
  name: "publish",
9
9
  description: "Publish packages to npm, JSR, Vercel, or multiple registries. Supports version bumping, dist-tags, access control, and concurrent publishing. Works with dler.ts configuration for per-package settings.",
10
10
  examples: [
11
11
  "dler publish",
12
- 'dler publish --filter "@reliverse/dler-prompt,@reliverse/dler-build"',
12
+ 'dler publish --filter "@reliverse/rempts,@reliverse/build"',
13
13
  'dler publish --filter "@reliverse/dler-*"',
14
14
  'dler publish --ignore "@reliverse/*"',
15
- 'dler publish --ignore "@reliverse/dler-colors" --ignore "@reliverse/dler-v1"',
16
- 'dler publish --ignore "@reliverse/dler-colors @reliverse/dler-v1"',
15
+ 'dler publish --ignore "@reliverse/relico" --ignore "@reliverse/dler-v1"',
16
+ 'dler publish --ignore "@reliverse/relico @reliverse/dler-v1"',
17
17
  "dler publish --cwd /path/to/monorepo",
18
18
  "dler publish --cwd /path/to/monorepo --ignore @reliverse/*",
19
19
  "dler publish --bump minor",
@@ -67,7 +67,7 @@ export default defineCommand({
67
67
  },
68
68
  filter: {
69
69
  type: "string",
70
- description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/dler-prompt,@reliverse/dler-build'). Takes precedence over --ignore when both are provided."
70
+ description: "Package(s) to include (supports wildcards and comma-separated values like '@reliverse/rempts,@reliverse/build'). Takes precedence over --ignore when both are provided."
71
71
  },
72
72
  cwd: {
73
73
  type: "string",