4102 Commits

Author SHA1 Message Date
Fanis Tharropoulos
fbf19161ee
fix(utils): update package directory resolution
- Export `dirName` constant using `fileURLToPath` for ESM compatibility
- Replace hardcoded `__dirname` with `dirName` in `install.ts` command
- Fix imports ordering in `install.ts` for better readability
2025-01-07 13:13:26 +02:00
Fanis Tharropoulos
1e179b7c36
feat(process): add typesense process management
- Add process controller with cleanup and event handling
- Add process manager with process lifecycle methods
- Add port mapping for multiple nodes
- Add executable validation and process spawning
2025-01-03 19:26:12 +02:00
Fanis Tharropoulos
cfe03123cd
feat(fs): add directory management utilities
- Add createDirectory method with option to empty existing dir
- Add yesToAll flag to skip prompts
- Extract directory validation logic into reusable methods
- Add readdir check for empty directories
- Improve error handling and feedback
2025-01-03 19:25:56 +02:00
Fanis Tharropoulos
66b621a435
feat(fs): add mode parameter to exists method
- Add mode parameter for access permission checking
- Remove unneeded spinner message on exists check
2025-01-03 19:24:22 +02:00
Fanis Tharropoulos
2d9f4e40ec
refactor(services): rename typesense to typesense-dir
- rename `typesense.ts` to `typesense-dir.ts` to better reflect its purpose
- update imports in `container.ts` and `git.ts`
2025-01-03 19:22:37 +02:00
Fanis Tharropoulos
fd149fd7af
feat(utils): add isStringifiable type guard function
- Add type guard to check if value has `toString` method
- Add tests for strings, numbers, booleans and objects
- Add type narrowing validation test
2025-01-03 18:31:30 +02:00
Fanis Tharropoulos
0b9850d75d
fix(logger): fix tests for logger after adding blank line 2025-01-03 18:30:20 +02:00
Fanis Tharropoulos
e7b59437f9
feat(cli): add install command for typesense builds
- Add `install` command to handle typesense installation flow
- Add command-line options parsing with zod schema validation
- Add service orchestration for build process
- Add error handling and progress reporting
- Add verbose logging support and yes-to-all flag
2025-01-03 15:26:18 +02:00
Fanis Tharropoulos
c4f45b7255
feat(container): add service container for dependency management
- Add `ServiceContainer` class to manage service dependencies
- Add initialization logic for filesystem, docker, and git services
- Add support for both host and container git operations
- Add typesense manager integration
- Add service retrieval with type safety
2025-01-03 15:25:55 +02:00
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
Krunal Gandhi
a8b7e93990
add param for text_match based sorting (#2120)
Some checks failed
tests / test (push) Has been cancelled
2024-12-27 18:19:12 +05:30
Harpreet Sangar
cd92c727ff
Support not left join like, !$User_Views(user_id: user_a). (#2119)
Some checks failed
tests / test (push) Has been cancelled
* Support not left join like, `!$User_Views(user_id: user_a)`.

* Fix `CollectionInfixSearchTest, InfixWithFiltering`.

* Add comment.

* Refactor `negate_left_join`.
2024-12-25 21:15:17 +05:30
Kishore Nallan
0399aba2ae Start on-demand snapshot copying only after internal snapshot closure fully returns.
Some checks failed
tests / test (push) Has been cancelled
2024-12-23 17:10:15 +05:30
Krunal Gandhi
c5cab62d0e
Field token_separators and symbols_to_index (#2118)
Some checks failed
tests / test (push) Has been cancelled
* initial commit for fieldwise_token_separators

* add basic field test

* add further test

* support fieldwise locale tokenization for query inference

* Revert "support fieldwise locale tokenization for query inference"

This reverts commit 00ce97c16b58a7cb964228ad84bf5f08aab34876.

* add reload test and multi-char string validation

* update error message
2024-12-20 12:03:21 +05:30
Harpreet Sangar
49d746deba
geopoint[] field inside an object[] should be treated as geopoint. (#2116)
Some checks are pending
tests / test (push) Waiting to run
2024-12-19 21:17:06 +05:30
Harpreet Sangar
2b1c4f7c24
Add more return parameters. (#2113)
Some checks failed
tests / test (push) Has been cancelled
2024-12-18 11:59:40 +05:30
Harpreet Sangar
0855aeff24
Union (#2051)
Some checks failed
tests / test (push) Has been cancelled
* Add `collection_search_args`.

* Remove `collection_name` argument. Use `Index::get_collection_name()` instead.

* Add `collection_search_args_t`, `Union_KV` and `Union_Topster`.

* Allow multiple sub-searches to the same collection in union.

* Fix union tests.

* Union pagination.

* Union sorting.

* Update test.

* Totals documents count of a particular collection should only be added once in `out_of`.

* Update error message.

* Make `Topster` generic.

* Refactor template declaration.

* Fix `CollectionFacetingTest, FacetCountsBool`.

* Rename parameter.

* Rename return parameters.

* Add `search_time_ms` and `page` return parameters.
2024-12-16 21:31:49 +05:30
Harpreet Sangar
ec19052db1
Fix unindexed fields of joined collection not being included with wildcard include. (#2107)
Some checks are pending
tests / test (push) Waiting to run
2024-12-16 11:56:55 +05:30
Kishore Nallan
a282aafe65 Remove ARM lg page size for jemalloc.
Some checks failed
tests / test (push) Has been cancelled
2024-12-11 21:07:23 +05:30
Kishore Nallan
57e1548acb Fix error: add flag for jemalloc for cache oblivious. 2024-12-11 20:49:07 +05:30
Kishore Nallan
61ebe244aa Add flag for jemalloc for cache oblivious. 2024-12-11 20:31:42 +05:30