@reliverse/rempts 2.2.9 → 2.3.1

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 (92) hide show
  1. package/README.md +213 -1431
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +51 -0
  4. package/dist/create-project.d.ts +14 -0
  5. package/dist/create-project.js +84 -0
  6. package/dist/create.d.ts +11 -0
  7. package/dist/create.js +62 -0
  8. package/dist/mod.d.ts +4 -6
  9. package/dist/mod.js +7 -6
  10. package/dist/template-engine.d.ts +27 -0
  11. package/dist/template-engine.js +145 -0
  12. package/dist/types.d.ts +45 -0
  13. package/package.json +41 -39
  14. package/src/cli.ts +64 -0
  15. package/templates/advanced/README.md +118 -0
  16. package/templates/advanced/dler.config.ts +41 -0
  17. package/templates/advanced/package.json +42 -0
  18. package/templates/advanced/src/commands/config.ts +157 -0
  19. package/templates/advanced/src/commands/init.ts +149 -0
  20. package/templates/advanced/src/commands/serve.ts +172 -0
  21. package/templates/advanced/src/commands/validate.ts +130 -0
  22. package/templates/advanced/src/mod.ts +44 -0
  23. package/templates/advanced/src/utils/config.ts +83 -0
  24. package/templates/advanced/src/utils/constants.ts +12 -0
  25. package/templates/advanced/src/utils/glob.ts +49 -0
  26. package/templates/advanced/src/utils/validator.ts +128 -0
  27. package/templates/advanced/template.json +40 -0
  28. package/templates/advanced/tsconfig.json +23 -0
  29. package/templates/basic/README.md +41 -0
  30. package/templates/basic/dler.config.ts +40 -0
  31. package/templates/basic/package.json +31 -0
  32. package/templates/basic/src/commands/hello.ts +26 -0
  33. package/templates/basic/src/mod.ts +13 -0
  34. package/templates/basic/template.json +27 -0
  35. package/templates/basic/tsconfig.json +19 -0
  36. package/templates/monorepo/README.md +74 -0
  37. package/templates/monorepo/dler.config.ts +45 -0
  38. package/templates/monorepo/package.json +30 -0
  39. package/templates/monorepo/packages/cli/package.json +40 -0
  40. package/templates/monorepo/packages/cli/src/mod.ts +22 -0
  41. package/templates/monorepo/packages/cli/tsconfig.json +13 -0
  42. package/templates/monorepo/packages/core/package.json +33 -0
  43. package/templates/monorepo/packages/core/scripts/build.ts +18 -0
  44. package/templates/monorepo/packages/core/src/commands/analyze.ts +87 -0
  45. package/templates/monorepo/packages/core/src/commands/process.ts +57 -0
  46. package/templates/monorepo/packages/core/src/mod.ts +3 -0
  47. package/templates/monorepo/packages/core/src/types.ts +21 -0
  48. package/templates/monorepo/packages/core/tsconfig.json +14 -0
  49. package/templates/monorepo/packages/utils/package.json +27 -0
  50. package/templates/monorepo/packages/utils/scripts/build.ts +17 -0
  51. package/templates/monorepo/packages/utils/src/format.ts +29 -0
  52. package/templates/monorepo/packages/utils/src/json.ts +11 -0
  53. package/templates/monorepo/packages/utils/src/logger.ts +19 -0
  54. package/templates/monorepo/packages/utils/src/mod.ts +3 -0
  55. package/templates/monorepo/packages/utils/tsconfig.json +13 -0
  56. package/templates/monorepo/template.json +27 -0
  57. package/templates/monorepo/tsconfig.json +14 -0
  58. package/templates/monorepo/turbo.json +28 -0
  59. package/LICENSE +0 -21
  60. package/cleanup.mjs +0 -33
  61. package/dist/cancel.d.ts +0 -31
  62. package/dist/cancel.js +0 -28
  63. package/dist/ffi.d.ts +0 -1
  64. package/dist/ffi.js +0 -165
  65. package/dist/group.d.ts +0 -16
  66. package/dist/group.js +0 -22
  67. package/dist/launcher/command.d.ts +0 -8
  68. package/dist/launcher/command.js +0 -10
  69. package/dist/launcher/discovery.d.ts +0 -3
  70. package/dist/launcher/discovery.js +0 -207
  71. package/dist/launcher/errors.d.ts +0 -15
  72. package/dist/launcher/errors.js +0 -31
  73. package/dist/launcher/help.d.ts +0 -3
  74. package/dist/launcher/help.js +0 -145
  75. package/dist/launcher/mod.d.ts +0 -12
  76. package/dist/launcher/mod.js +0 -222
  77. package/dist/launcher/parser.d.ts +0 -14
  78. package/dist/launcher/parser.js +0 -255
  79. package/dist/launcher/registry.d.ts +0 -10
  80. package/dist/launcher/registry.js +0 -42
  81. package/dist/launcher/types.d.ts +0 -78
  82. package/dist/launcher/validator.d.ts +0 -3
  83. package/dist/launcher/validator.js +0 -39
  84. package/dist/prompt.d.ts +0 -13
  85. package/dist/prompt.js +0 -53
  86. package/dist/selection.d.ts +0 -92
  87. package/dist/selection.js +0 -191
  88. package/dist/spinner.d.ts +0 -26
  89. package/dist/spinner.js +0 -141
  90. package/dist/utils.d.ts +0 -3
  91. package/dist/utils.js +0 -11
  92. /package/dist/{launcher/types.js → types.js} +0 -0
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "resolveJsonModule": true,
11
+ "declaration": true,
12
+ "declarationMap": true,
13
+ "outDir": "./dist",
14
+ "rootDir": "./src",
15
+ "types": ["bun"]
16
+ },
17
+ "include": ["src/**/*"],
18
+ "exclude": ["node_modules", "dist", "test/**/*"]
19
+ }
@@ -0,0 +1,74 @@
1
+ # {{name}}
2
+
3
+ {{description}}
4
+
5
+ ## Structure
6
+
7
+ This is a monorepo managed with Bun workspaces and Turborepo.
8
+
9
+ ```bash
10
+ .
11
+ ├── packages/
12
+ │ ├── cli/ # Main CLI package
13
+ │ ├── core/ # Core functionality
14
+ │ └── utils/ # Shared utilities
15
+ ├── package.json # Root package.json
16
+ └── turbo.json # Turborepo configuration
17
+ ```
18
+
19
+ ## Development
20
+
21
+ ```bash
22
+ # Install dependencies
23
+ bun install
24
+
25
+ # Run all packages in development mode
26
+ bun dev
27
+
28
+ # Build all packages
29
+ bun run build
30
+
31
+ # Run tests
32
+ bun test
33
+
34
+ # Type check
35
+ bun run typecheck
36
+ ```
37
+
38
+ ## Creating a New Package
39
+
40
+ 1. Create a new directory under `packages/`
41
+ 2. Add a `package.json` with the package name and dependencies
42
+ 3. Add the package to the workspace in root `package.json` if needed
43
+ 4. Run `bun install` to link the workspace
44
+
45
+ ## Publishing
46
+
47
+ This monorepo uses [Changesets](https://github.com/changesets/changesets) for version management.
48
+
49
+ ```bash
50
+ # Create a changeset
51
+ bun run changeset
52
+
53
+ # Version packages
54
+ bun run version
55
+
56
+ # Publish to npm
57
+ bun run release
58
+ ```
59
+
60
+ ## Scripts
61
+
62
+ - `dev` - Run all packages in development mode
63
+ - `build` - Build all packages
64
+ - `test` - Run all tests
65
+ - `typecheck` - Type check all packages
66
+ - `lint` - Lint all packages
67
+ - `clean` - Clean all build artifacts
68
+ - `changeset` - Create a new changeset
69
+ - `version` - Update versions based on changesets
70
+ - `release` - Build and publish packages
71
+
72
+ ## License
73
+
74
+ MIT
@@ -0,0 +1,45 @@
1
+ import { defineConfig } from "@reliverse/rempts-core";
2
+
3
+ export default defineConfig({
4
+ name: "{{name}}",
5
+ version: "{{version}}",
6
+ description: "{{description}}",
7
+
8
+ commands: {
9
+ directory: "./packages/core/src/cmds",
10
+ },
11
+
12
+ plugins: [],
13
+
14
+ build: {
15
+ entry: "./packages/core/src/mod.ts",
16
+ outdir: "./packages/core/dist",
17
+ targets: ["darwin-arm64", "darwin-x64", "linux-x64", "windows-x64"],
18
+ minify: true,
19
+ compress: true,
20
+ sourcemap: true,
21
+ },
22
+
23
+ dev: {
24
+ watch: true,
25
+ inspect: false,
26
+ },
27
+
28
+ test: {
29
+ pattern: ["**/*.test.ts", "**/*.spec.ts"],
30
+ coverage: true,
31
+ watch: false,
32
+ },
33
+
34
+ workspace: {
35
+ packages: ["./packages/*"],
36
+ versionStrategy: "fixed",
37
+ },
38
+
39
+ release: {
40
+ npm: true,
41
+ github: false,
42
+ tagFormat: "v{{version}}",
43
+ conventionalCommits: true,
44
+ },
45
+ });
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "{{name}}",
3
+ "version": "2.3.0",
4
+ "private": true,
5
+ "description": "{{description}}",
6
+ "author": "{{author}}",
7
+ "workspaces": [
8
+ "packages/*"
9
+ ],
10
+ "type": "module",
11
+ "scripts": {
12
+ "postinstall": "bun dler generate",
13
+ "dev": "turbo run dev",
14
+ "build": "turbo run build",
15
+ "test": "turbo run test",
16
+ "typecheck": "turbo run typecheck",
17
+ "lint": "turbo run lint",
18
+ "clean": "turbo run clean && rm -rf node_modules",
19
+ "changeset": "changeset",
20
+ "version": "changeset version",
21
+ "release": "turbo run build && changeset publish"
22
+ },
23
+ "devDependencies": {
24
+ "@changesets/cli": "^2.29.8",
25
+ "@reliverse/tsconfig": "workspace:*",
26
+ "@types/bun": "catalog:",
27
+ "turbo": "^2.7.3",
28
+ "typescript": "catalog:"
29
+ }
30
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@{{name}}/cli",
3
+ "version": "2.3.0",
4
+ "description": "CLI for {{name}}",
5
+ "license": "MIT",
6
+ "author": "{{author}}",
7
+ "bin": {
8
+ "{{name}}": "./src/mod.ts"
9
+ },
10
+ "type": "module",
11
+ "scripts": {
12
+ "postinstall": "bun dler generate",
13
+ "dev": "bun run src/mod.ts",
14
+ "build": "bun dler build",
15
+ "test": "bun test",
16
+ "typecheck": "tsc --noEmit",
17
+ "clean": "rm -rf dist"
18
+ },
19
+ "dependencies": {
20
+ "@reliverse/rempts-core": "workspace:*",
21
+ "@{{name}}/core": "workspace:*",
22
+ "@{{name}}/utils": "workspace:*"
23
+ },
24
+ "devDependencies": {
25
+ "@reliverse/rempts-test": "workspace:*",
26
+ "@reliverse/tsconfig": "workspace:*",
27
+ "@types/bun": "catalog:",
28
+ "rempts": "workspace:*",
29
+ "typescript": "catalog:"
30
+ },
31
+ "rempts": {
32
+ "entry": "./src/mod.ts",
33
+ "outDir": "./dist",
34
+ "external": [
35
+ "@reliverse/rempts-core",
36
+ "@{{name}}/core",
37
+ "@{{name}}/utils"
38
+ ]
39
+ }
40
+ }
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bun
2
+ import { analyzeCommand, processCommand } from "@{{name}}/core";
3
+ import { logger } from "@{{name}}/utils";
4
+ import { createCLI } from "@reliverse/rempts-core";
5
+
6
+ const cli = await createCLI({
7
+ name: "{{name}}",
8
+ version: "0.1.0",
9
+ description: "{{description}}",
10
+ });
11
+
12
+ // Add commands
13
+ cli.command(processCommand);
14
+ cli.command(analyzeCommand);
15
+
16
+ // Run CLI
17
+ try {
18
+ await cli.run();
19
+ } catch (error) {
20
+ logger.error("CLI failed:", error);
21
+ process.exit(1);
22
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "strictNullChecks": true
9
+ },
10
+ "include": ["src/**/*"],
11
+ "exclude": ["node_modules", "dist", "test/**/*"],
12
+ "references": [{ "path": "../core" }, { "path": "../utils" }]
13
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@{{name}}/core",
3
+ "version": "2.3.0",
4
+ "description": "Core functionality for {{name}}",
5
+ "license": "MIT",
6
+ "author": "{{author}}",
7
+ "type": "module",
8
+ "main": "./dist/mod.js",
9
+ "types": "./src/mod.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./src/mod.ts",
13
+ "import": "./src/mod.ts"
14
+ }
15
+ },
16
+ "scripts": {
17
+ "build": "bun scripts/build.ts && bun run tsc",
18
+ "test": "bun test",
19
+ "typecheck": "tsc --noEmit",
20
+ "clean": "rm -rf dist"
21
+ },
22
+ "dependencies": {
23
+ "@reliverse/rempts-core": "workspace:*",
24
+ "@{{name}}/utils": "workspace:*",
25
+ "arktype": "catalog:"
26
+ },
27
+ "devDependencies": {
28
+ "@reliverse/rempts-test": "workspace:*",
29
+ "@reliverse/tsconfig": "workspace:*",
30
+ "@types/bun": "catalog:",
31
+ "typescript": "catalog:"
32
+ }
33
+ }
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env bun
2
+ import { $ } from "bun";
3
+
4
+ // Clean dist directory
5
+ await $`rm -rf dist`;
6
+ await $`mkdir -p dist`;
7
+
8
+ // Build TypeScript files
9
+ await Bun.build({
10
+ entrypoints: ["./src/mod.ts"],
11
+ outdir: "./dist",
12
+ target: "bun",
13
+ format: "esm",
14
+ minify: false,
15
+ external: ["@reliverse/rempts-core", "@{{name}}/utils", "zod"],
16
+ });
17
+
18
+ console.log("✅ @{{name}}/core built successfully");
@@ -0,0 +1,87 @@
1
+ import { formatTable, logger } from "@{{name}}/utils";
2
+ import { relico } from "@reliverse/relico";
3
+ import { defineCommand, option } from "@reliverse/rempts-core";
4
+ import { type } from "arktype";
5
+ import type { AnalyzeResult } from "../types";
6
+
7
+ const analyzeCommand = defineCommand({
8
+ name: "analyze",
9
+ description: "Analyze files and generate reports",
10
+ args: type("string[]", { minLength: 1 }),
11
+ options: {
12
+ detailed: option(type("boolean", "=", false), {
13
+ short: "d",
14
+ description: "Show detailed analysis",
15
+ }),
16
+ },
17
+ handler: async ({ args, flags, colors }) => {
18
+ logger.info("Starting analysis...");
19
+
20
+ const results: AnalyzeResult[] = [];
21
+
22
+ for (const file of args) {
23
+ try {
24
+ const result = await analyzeFile(file);
25
+ results.push(result);
26
+ } catch (error) {
27
+ logger.error(`Failed to analyze ${file}:`, error);
28
+ }
29
+ }
30
+
31
+ // Display results
32
+ console.log();
33
+ console.log(relico.bold("Analysis Results:"));
34
+ console.log();
35
+
36
+ const tableData = results.map((r) => ({
37
+ File: r.file,
38
+ Lines: r.metrics.lines,
39
+ Words: r.metrics.words,
40
+ Issues: r.issues.length,
41
+ }));
42
+
43
+ console.log(formatTable(tableData));
44
+
45
+ if (flags.detailed) {
46
+ console.log();
47
+ console.log(relico.bold("Detailed Issues:"));
48
+
49
+ for (const result of results) {
50
+ if (result.issues.length > 0) {
51
+ console.log();
52
+ console.log(relico.underline(result.file));
53
+
54
+ for (const issue of result.issues) {
55
+ const icon = issue.type === "error" ? "✗" : issue.type === "warning" ? "⚠" : "ℹ";
56
+ const color =
57
+ issue.type === "error"
58
+ ? relico.red
59
+ : issue.type === "warning"
60
+ ? relico.yellow
61
+ : relico.blue;
62
+
63
+ console.log(color(` ${icon} ${issue.line}:${issue.column} ${issue.message}`));
64
+ }
65
+ }
66
+ }
67
+ }
68
+ },
69
+ });
70
+
71
+ async function analyzeFile(file: string): Promise<AnalyzeResult> {
72
+ const content = await Bun.file(file).text();
73
+ const lines = content.split("\n");
74
+ const words = content.split(/\\s+/).filter((w) => w.length > 0);
75
+
76
+ return {
77
+ file,
78
+ metrics: {
79
+ lines: lines.length,
80
+ characters: content.length,
81
+ words: words.length,
82
+ },
83
+ issues: [],
84
+ };
85
+ }
86
+
87
+ export default analyzeCommand;
@@ -0,0 +1,57 @@
1
+ import { logger } from "@{{name}}/utils";
2
+ import { defineCommand, option } from "@reliverse/rempts-core";
3
+ import { type } from "arktype";
4
+ import type { ProcessOptions } from "../types";
5
+
6
+ const processCommand = defineCommand({
7
+ name: "process",
8
+ description: "Process input files",
9
+ args: type("string[]", { minLength: 1 }),
10
+ options: {
11
+ output: option(type("string?"), {
12
+ short: "o",
13
+ description: "Output directory",
14
+ }),
15
+ format: option(type("'json'|'yaml'|'text'", "=", "json"), {
16
+ short: "f",
17
+ description: "Output format",
18
+ }),
19
+ verbose: option(type("boolean", "=", false), {
20
+ short: "v",
21
+ description: "Verbose output",
22
+ }),
23
+ },
24
+ handler: async ({ args, flags, spinner }) => {
25
+ const spin = spinner("Processing files...");
26
+ spin.start();
27
+
28
+ try {
29
+ for (const file of args) {
30
+ if (flags.verbose) {
31
+ logger.info(`Processing ${file}`);
32
+ }
33
+
34
+ // Process logic here
35
+ await processFile(file, {
36
+ input: file,
37
+ output: flags.output,
38
+ format: flags.format,
39
+ verbose: flags.verbose,
40
+ });
41
+ }
42
+
43
+ spin.succeed(`Processed ${args.length} files`);
44
+ } catch (error) {
45
+ spin.fail("Processing failed");
46
+ logger.error(error);
47
+ process.exit(1);
48
+ }
49
+ },
50
+ });
51
+
52
+ async function processFile(file: string, options: ProcessOptions): Promise<void> {
53
+ // Implementation here
54
+ logger.debug(`Processing ${file} with options:`, options);
55
+ }
56
+
57
+ export default processCommand;
@@ -0,0 +1,3 @@
1
+ export { default as analyzeCommand } from "./commands/analyze";
2
+ export { default as processCommand } from "./commands/process";
3
+ export type { AnalyzeResult, ProcessOptions } from "./types";
@@ -0,0 +1,21 @@
1
+ export interface ProcessOptions {
2
+ input: string;
3
+ output?: string;
4
+ format?: "json" | "yaml" | "text";
5
+ verbose?: boolean;
6
+ }
7
+
8
+ export interface AnalyzeResult {
9
+ file: string;
10
+ metrics: {
11
+ lines: number;
12
+ characters: number;
13
+ words: number;
14
+ };
15
+ issues: Array<{
16
+ type: "error" | "warning" | "info";
17
+ line: number;
18
+ column: number;
19
+ message: string;
20
+ }>;
21
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "composite": true,
9
+ "strictNullChecks": true
10
+ },
11
+ "include": ["src/**/*"],
12
+ "exclude": ["node_modules", "dist", "test/**/*"],
13
+ "references": [{ "path": "../utils" }]
14
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@{{name}}/utils",
3
+ "version": "2.3.0",
4
+ "description": "Shared utilities for {{name}}",
5
+ "license": "MIT",
6
+ "author": "{{author}}",
7
+ "type": "module",
8
+ "main": "./dist/mod.js",
9
+ "types": "./src/mod.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./src/mod.ts",
13
+ "import": "./src/mod.ts"
14
+ }
15
+ },
16
+ "scripts": {
17
+ "build": "bun scripts/build.ts && bun run tsc",
18
+ "test": "bun test",
19
+ "typecheck": "tsc --noEmit",
20
+ "clean": "rm -rf dist"
21
+ },
22
+ "devDependencies": {
23
+ "@reliverse/tsconfig": "workspace:*",
24
+ "@types/bun": "catalog:",
25
+ "typescript": "catalog:"
26
+ }
27
+ }
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bun
2
+ import { $ } from "bun";
3
+
4
+ // Clean dist directory
5
+ await $`rm -rf dist`;
6
+ await $`mkdir -p dist`;
7
+
8
+ // Build TypeScript files
9
+ await Bun.build({
10
+ entrypoints: ["./src/mod.ts"],
11
+ outdir: "./dist",
12
+ target: "bun",
13
+ format: "esm",
14
+ minify: false,
15
+ });
16
+
17
+ console.log("✅ @{{name}}/utils built successfully");
@@ -0,0 +1,29 @@
1
+ export function formatTable(data: Record<string, any>[]): string {
2
+ if (data.length === 0) {
3
+ return "";
4
+ }
5
+
6
+ const headers = Object.keys(data[0]);
7
+ const rows = data.map((item) => headers.map((h) => String(item[h] ?? "")));
8
+
9
+ // Calculate column widths
10
+ const widths = headers.map((h, i) => {
11
+ const headerWidth = h.length;
12
+ const maxDataWidth = Math.max(...rows.map((r) => r[i].length));
13
+ return Math.max(headerWidth, maxDataWidth);
14
+ });
15
+
16
+ // Build table
17
+ const lines: string[] = [];
18
+
19
+ // Header
20
+ lines.push(headers.map((h, i) => h.padEnd(widths[i])).join(" "));
21
+ lines.push(widths.map((w) => "-".repeat(w)).join(" "));
22
+
23
+ // Rows
24
+ for (const row of rows) {
25
+ lines.push(row.map((cell, i) => cell.padEnd(widths[i])).join(" "));
26
+ }
27
+
28
+ return lines.join("\\n");
29
+ }
@@ -0,0 +1,11 @@
1
+ export function parseJSON<T = any>(text: string): T {
2
+ try {
3
+ return JSON.parse(text);
4
+ } catch (error) {
5
+ throw new Error(`Invalid JSON: ${error}`);
6
+ }
7
+ }
8
+
9
+ export function stringifyJSON(data: any, pretty = false): string {
10
+ return JSON.stringify(data, null, pretty ? 2 : 0);
11
+ }
@@ -0,0 +1,19 @@
1
+ export const logger = {
2
+ debug: (...args: any[]) => {
3
+ if (process.env.DEBUG) {
4
+ console.log("[DEBUG]", ...args);
5
+ }
6
+ },
7
+
8
+ info: (...args: any[]) => {
9
+ console.log("[INFO]", ...args);
10
+ },
11
+
12
+ warn: (...args: any[]) => {
13
+ console.warn("[WARN]", ...args);
14
+ },
15
+
16
+ error: (...args: any[]) => {
17
+ console.error("[ERROR]", ...args);
18
+ },
19
+ };
@@ -0,0 +1,3 @@
1
+ export { formatTable } from "./format";
2
+ export { parseJSON, stringifyJSON } from "./json";
3
+ export { logger } from "./logger";
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "composite": true,
9
+ "strictNullChecks": true
10
+ },
11
+ "include": ["src/**/*"],
12
+ "exclude": ["node_modules", "dist", "test/**/*"]
13
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@reliverse/rempts-monorepo",
3
+ "description": "Monorepo template for multi-package Rempts projects",
4
+ "variables": [
5
+ {
6
+ "name": "name",
7
+ "message": "Project name",
8
+ "type": "string",
9
+ "default": "my-rempts-monorepo"
10
+ },
11
+ {
12
+ "name": "description",
13
+ "message": "Project description",
14
+ "type": "string",
15
+ "default": "A monorepo CLI project built with Rempts"
16
+ },
17
+ {
18
+ "name": "author",
19
+ "message": "Author name",
20
+ "type": "string",
21
+ "default": ""
22
+ }
23
+ ],
24
+ "files": {
25
+ "exclude": ["node_modules/**", ".git/**", "template.json"]
26
+ }
27
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "resolveJsonModule": true,
11
+ "types": ["bun"]
12
+ },
13
+ "exclude": ["node_modules", "dist", "build", ".turbo"]
14
+ }