30 Commits

Author SHA1 Message Date
Fanis Tharropoulos
0539b95ecb
feat(dir-manager): add directory manager for build automation
- Add `TypesenseDirectoryManager` class for build environment setup
- Add methods for directory validation and repository management
- Add build orchestration with bazel integration
- Add interactive prompts for directory handling
- Add build artifact extraction and cleanup
2025-01-03 15:25:18 +02:00
Fanis Tharropoulos
60bace16fd
feat(git): add git service with repository management
- Add `GitService` class to handle repository operations
- Add methods for cloning, checkout, and commit handling
- Add support for container-based git operations
- Add safe directory configuration management
- Add detailed logging and progress indicators
2025-01-03 15:24:59 +02:00
Fanis Tharropoulos
491186fa88
feat(docker): add docker service for container management
- Add `DockerService` class to handle container lifecycle operations
- Add methods for container validation, execution, and file copying
- Add support for building images with platform-specific configuration
- Add container start/stop operations with parallel processing
- Add logging and progress indicators using `ora` spinners
2025-01-03 15:24:31 +02:00
Fanis Tharropoulos
39b75968ee
feat(fs): add filesystem service for directory management
- Add `FilesystemService` class to handle directory operations
- Implement methods for existence checks, path resolution and cleanup
- Add platform detection utility for cross-platform support
- Add interactive prompt for directory creation using `inquirer`
2025-01-03 15:24:08 +02:00
Fanis Tharropoulos
3a5bcac56b
chore(bench): add inquirer 2025-01-03 15:13:17 +02:00
Fanis Tharropoulos
03cb41f38a
feat(bench): add a blank line before logger statements 2025-01-03 15:12:58 +02:00
Fanis Tharropoulos
b55c3d287f
feat(bench): add stdout type for execa 2025-01-03 15:12:39 +02:00
Fanis Tharropoulos
9d990cab8d
fix(bench): remove unused eslint ignore comments 2024-12-30 17:10:25 +02:00
Fanis Tharropoulos
bc1f26b4e7
feat(utils): add parseOptions utility for option validation
- add `parseOptions` function that validates options against zod schema
- return validated data using `neverthrow` result type
- handle validation errors with detailed messages
2024-12-30 13:27:15 +02:00
Fanis Tharropoulos
603e2f12c0
chore(bench): add ora 2024-12-30 12:47:12 +02:00
Fanis Tharropoulos
33a5e05428
feat(utils): add utility for wrapping execa with result type 2024-12-30 12:39:48 +02:00
Fanis Tharropoulos
ef023c6069
chore(bench): add neverthrow 2024-12-30 12:24:30 +02:00
Fanis Tharropoulos
2075c3bac9
chore(bench): add execa 2024-12-30 12:21:47 +02:00
Fanis Tharropoulos
62004f0ea0
feat(utils): implement error handling utilities
- add `error.ts` with type-safe error handling functions
- add `handleError` for general and `zod` validation errors
- add tests covering various error scenarios and edge cases
2024-12-30 12:19:27 +02:00
Fanis Tharropoulos
ec84e066cd
chore(bench): add zod 2024-12-30 12:17:48 +02:00
Fanis Tharropoulos
c26b3cb8f2
feat(utils): add colored logger with log levels
- implement singleton logger with multiple log levels (ERROR, WARN, INFO, DEBUG)
- support colored output using chalk for different log types
- add message formatting for errors and objects
- include tests for logger behavior, levels and color output
- implement break method for line spacing
2024-12-30 11:59:36 +02:00
Fanis Tharropoulos
8edd829bb4
chore(bench): add chalk 2024-12-30 11:37:47 +02:00
Fanis Tharropoulos
9601565bd5
feat(bench): add cli entrypoint with basic commands
- add cli entrypoint with version and help commands
- set up command structure using commander.js
- add signal handlers for SIGINT and SIGTERM
- add integration tests for command behavior
- use package version from package.json
2024-12-30 11:30:13 +02:00
Fanis Tharropoulos
eb11a5a9c3
feat(bench): add package-info utility functions
- Add `findRoot` function to locate nearest package.json in directory tree
- Add `getPackageInfo` function to parse package.json contents
- Add tests for successful path traversal and error handling
2024-12-30 11:30:10 +02:00
Fanis Tharropoulos
0e1bcd65b5
chore(bench): add vitest 2024-12-30 11:14:34 +02:00
Fanis Tharropoulos
9446a65eb8
chore(bench): add fs-extra and type-fest 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
5cd38d7525
chore(bench): add types for node 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
2556763159
chore(bench): add commander 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
74b7e4cdda
chore(bench): add nvmrc 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
9ebf24f69f
chore(bench): config tsup 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
3593157c83
chore(bench): config prettier 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
5b177511c6
chore(bench): config typescript 2024-12-30 11:06:35 +02:00
Fanis Tharropoulos
035805d015
chore(bench): config eslint 2024-12-30 10:44:40 +02:00
Fanis Tharropoulos
4718e940ae
chore(bench): add gitignore 2024-12-30 10:39:19 +02:00
Fanis Tharropoulos
f2df252b1b
chore(bench): init benchmark repo 2024-12-30 10:37:15 +02:00