{"id":17984120,"url":"https://github.com/shadowmoose/sql-sieve","last_synced_at":"2026-05-15T20:31:10.149Z","repository":{"id":40751755,"uuid":"308775302","full_name":"shadowmoose/sql-sieve","owner":"shadowmoose","description":"Abstraction SQL layer to recursively select test DB staging data.","archived":false,"fork":false,"pushed_at":"2023-03-05T15:33:46.000Z","size":700,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-01T11:51:48.422Z","etag":null,"topics":["database","sql","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shadowmoose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"ShadowMoose","open_collective":null,"ko_fi":"TheShadowMoose","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-10-31T00:45:13.000Z","updated_at":"2021-09-24T03:49:36.000Z","dependencies_parsed_at":"2024-10-29T18:50:01.085Z","dependency_job_id":null,"html_url":"https://github.com/shadowmoose/sql-sieve","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":"0.44999999999999996","last_synced_commit":"bcfe379ff271ca93bbf71f1397132bd1817add8a"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/shadowmoose/sql-sieve","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowmoose%2Fsql-sieve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowmoose%2Fsql-sieve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowmoose%2Fsql-sieve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowmoose%2Fsql-sieve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shadowmoose","download_url":"https://codeload.github.com/shadowmoose/sql-sieve/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shadowmoose%2Fsql-sieve/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266267208,"owners_count":23902313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["database","sql","typescript"],"created_at":"2024-10-29T18:19:33.040Z","updated_at":"2026-05-15T20:31:05.129Z","avatar_url":"https://github.com/shadowmoose.png","language":"TypeScript","funding_links":["https://patreon.com/ShadowMoose","https://ko-fi.com/TheShadowMoose"],"categories":[],"sub_categories":[],"readme":"# SQL Sieve\n![Lines of Code](https://raw.githubusercontent.com/shadowmoose/sql-sieve/image-data/loc-badge.svg) [![npm](https://img.shields.io/npm/v/sql-sieve)](https://www.npmjs.com/package/sql-sieve)\n\nThis tool helps with Database access,\nas well as providing powerful tools to recursively pick specific row data for staging and testing.\n\nSee [tests](./tests) for more.\n\n```typescript\nlet db = new Database({\n    database: 'test_db',\n    password: 'password',\n    user: 'root'\n});\n\nawait db.loadAll();\n\nconst row = await db.tables['USERS'].select({ id: 1 });\nconst tree = await db.findTree(row, true);\n// \"tree\" now contains a map of all the rows required to migrate the selected data into a fresh DB.\n\nconsole.log(tree);\n/*\nOutputs something like:\n{ USERS: [ Row { table: [Table], id: '[1]', data: [TextRow] } ],\n      SECOND_TABLE: [ Row { table: [Table], id: '[2]', data: [TextRow] } ] }\n*/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowmoose%2Fsql-sieve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadowmoose%2Fsql-sieve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadowmoose%2Fsql-sieve/lists"}