{"id":28456224,"url":"https://github.com/beekeeper-studio/queryleaf","last_synced_at":"2026-03-10T05:02:05.958Z","repository":{"id":282746683,"uuid":"949221769","full_name":"beekeeper-studio/queryleaf","owner":"beekeeper-studio","description":"SQL for Mongo (in Node JS)","archived":false,"fork":false,"pushed_at":"2026-02-25T21:06:47.000Z","size":3081,"stargazers_count":42,"open_issues_count":7,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-25T22:45:13.322Z","etag":null,"topics":["compiler","mongodb","nodejs","sql","typescript"],"latest_commit_sha":null,"homepage":"https://queryleaf.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beekeeper-studio.png","metadata":{"files":{"readme":"README-monorepo.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"docs/support/license-faq.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-16T00:12:37.000Z","updated_at":"2026-01-09T08:07:53.000Z","dependencies_parsed_at":"2025-03-16T18:42:23.594Z","dependency_job_id":"b82a9054-9af8-4906-bdc2-f68eef08c15e","html_url":"https://github.com/beekeeper-studio/queryleaf","commit_stats":null,"previous_names":["beekeeper-studio/squango","beekeeper-studio/queryleaf"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/beekeeper-studio/queryleaf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beekeeper-studio%2Fqueryleaf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beekeeper-studio%2Fqueryleaf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beekeeper-studio%2Fqueryleaf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beekeeper-studio%2Fqueryleaf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beekeeper-studio","download_url":"https://codeload.github.com/beekeeper-studio/queryleaf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beekeeper-studio%2Fqueryleaf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30325598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","mongodb","nodejs","sql","typescript"],"created_at":"2025-06-06T22:43:44.595Z","updated_at":"2026-03-10T05:02:05.949Z","avatar_url":"https://github.com/beekeeper-studio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QueryLeaf Monorepo Guidelines\n\nThis repository uses a monorepo structure with Yarn workspaces to manage multiple packages.\n\n## Repository Structure\n\n- `packages/lib`: Core library for SQL to MongoDB translation\n- `packages/cli`: Command-line interface\n- `packages/server`: REST API server\n\n## Development Workflow\n\n### Installation\n\n```bash\nyarn install\n```\n\n### Building\n\n```bash\n# Build all packages\nyarn build\n\n# Build individual packages\nyarn build:lib\nyarn build:cli\nyarn build:server\n```\n\n### Testing\n\n```bash\n# Run all tests\nyarn test\n\n# Run tests for individual packages\nyarn test:lib\nyarn test:cli\nyarn test:server\n\n# Run specific test types for the lib package\nyarn test:lib:unit\nyarn test:lib:integration\n```\n\n### Code Quality\n\n```bash\n# Run TypeScript type checking\nyarn typecheck\n\n# Run linting\nyarn lint\nyarn lint:fix\n\n# Run code formatting\nyarn format\nyarn format:check\n\n# Run all validations (types, linting, tests, formatting)\nyarn validate\n```\n\n## Adding new features\n\n1. Determine which package(s) need to be modified\n2. Make changes in the appropriate package(s)\n3. Add tests in the package's `tests` directory\n4. Run `yarn validate` to ensure everything passes\n5. Submit a pull request\n\n## Dependency Management\n\n- Shared dev dependencies (TypeScript, ESLint, etc.) are in the root `package.json`\n- Package-specific dependencies are in each package's `package.json`\n- Use `yarn add \u003cpackage\u003e -W` to add a dependency to the root\n- Use `yarn workspace @queryleaf/[package] add \u003cdependency\u003e` to add a dependency to a specific package\n\n## Release Process\n\nEach package is versioned independently but released together.\n\n1. Update versions in each package's `package.json`\n2. Build all packages: `yarn build`\n3. Publish packages: \n   ```\n   cd packages/lib \u0026\u0026 npm publish\n   cd ../cli \u0026\u0026 npm publish\n   cd ../server \u0026\u0026 npm publish\n   ```\n\n## Best Practices\n\n1. Keep packages focused on a single responsibility\n2. Share code through dependencies, not copy-paste\n3. Ensure all code is properly tested\n4. Maintain consistent coding style across packages using ESLint and Prettier\n5. Document all public APIs","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeekeeper-studio%2Fqueryleaf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeekeeper-studio%2Fqueryleaf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeekeeper-studio%2Fqueryleaf/lists"}