{"_id":"@active-record-ts/arel","_rev":"2-4c1196c269972ade4e119407b2b783fc","name":"@active-record-ts/arel","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@active-record-ts/arel","version":"1.0.0","author":"Alexander Stathis <stathis.alexanderj@gmail.com> (github.com/stathis-alexander)","license":"MIT","_id":"@active-record-ts/arel@1.0.0","maintainers":[{"name":"astathis","email":"stathis.alexanderj@gmail.com"}],"homepage":"https://github.com/stathis-alexander/active-record-ts/tree/main/packages/arel#readme","bugs":"https://github.com/stathis-alexander/active-record-ts/issues","dist":{"shasum":"00b25c708b56dcd88e8b031e147be1709112e5b0","tarball":"https://registry.npmjs.org/@active-record-ts/arel/-/arel-1.0.0.tgz","fileCount":94,"integrity":"sha512-TS/x1F25JA2cxB85gmo66un2NXTkB19oQ0C9w3wpkwSfL45IkiOWzRv3whd6XisuejULqkv1Z35D3dO9ZB9uLA==","signatures":[{"sig":"MEUCIQCnqFmqnEba1ENklgIhnBYYQ9UE5X/KrbU1emVa8OaPzAIgG46egQ/fapgHDLwt86uCW+NxvRl1ZcaNTQ73D05vwmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205535},"type":"module","module":"src/index.ts","shasum":"00b25c708b56dcd88e8b031e147be1709112e5b0","exports":{".":{"types":"./src/index.ts","import":"./src/index.ts","default":"./src/index.ts"}},"scripts":{"test":"bun test","typecheck":"bun tsc --noEmit"},"_npmUser":{"name":"astathis","email":"stathis.alexanderj@gmail.com"},"_integrity":"sha512-TS/x1F25JA2cxB85gmo66un2NXTkB19oQ0C9w3wpkwSfL45IkiOWzRv3whd6XisuejULqkv1Z35D3dO9ZB9uLA==","repository":{"url":"git+https://github.com/stathis-alexander/active-record-ts.git","type":"git","directory":"packages/arel"},"_npmVersion":"10.8.3","description":"ArelTS is a TypeScript library for building SQL queries in a programmatic way. Heavily based on Rails's Arel library.","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/arel_1.0.0_1779230250983_0.8337520977403823","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@active-record-ts/arel","version":"1.1.0","description":"ArelTS is a TypeScript library for building SQL queries in a programmatic way. Heavily based on Rails's Arel library.","author":{"name":"Alexander Stathis","email":"stathis.alexanderj@gmail.com","url":"github.com/stathis-alexander"},"license":"MIT","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/stathis-alexander/active-record-ts.git","directory":"packages/arel"},"bugs":{"url":"https://github.com/stathis-alexander/active-record-ts/issues"},"homepage":"https://github.com/stathis-alexander/active-record-ts/tree/main/packages/arel#readme","publishConfig":{"access":"public","provenance":true},"exports":{".":{"bun":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"}},"peerDependencies":{"typescript":"^5"},"scripts":{"build":"tsup","prepack":"tsup","test":"bun test","typecheck":"bun tsc --noEmit"},"gitHead":"395b20f425235a16b0bf0319b77e45b31db1c1e1","_id":"@active-record-ts/arel@1.1.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-mu/vz+Wb8q3miJp8DpvBUOMDWnu+wqEWpBkh4Vi09oqU2/OfxlcESkc/iyWqZB5Snpxr+VsRxFsSwEaGRcDIQQ==","shasum":"ebb12221d0ab18ccd372db1b2f64ce1699dffbaf","tarball":"https://registry.npmjs.org/@active-record-ts/arel/-/arel-1.1.0.tgz","fileCount":6,"unpackedSize":570245,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@active-record-ts%2farel@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDFvzhtlzp4CmUFR/AaIHGEJiW2BtU64IKHBbIB49zefgIgWu1iA53Mf/9+W8V2H3TVtYlyiKh1pIY9Ly09nj0NBNE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bf4794d2-3e26-416d-9df5-7f7dcb9206bf"}},"directories":{},"maintainers":[{"name":"astathis","email":"stathis.alexanderj@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/arel_1.1.0_1779234788040_0.34992247424706324"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-19T22:37:30.829Z","modified":"2026-05-19T23:53:08.461Z","1.0.0":"2026-05-19T22:37:31.187Z","1.1.0":"2026-05-19T23:53:08.192Z"},"bugs":{"url":"https://github.com/stathis-alexander/active-record-ts/issues"},"author":{"name":"Alexander Stathis","email":"stathis.alexanderj@gmail.com","url":"github.com/stathis-alexander"},"license":"MIT","homepage":"https://github.com/stathis-alexander/active-record-ts/tree/main/packages/arel#readme","repository":{"type":"git","url":"git+https://github.com/stathis-alexander/active-record-ts.git","directory":"packages/arel"},"description":"ArelTS is a TypeScript library for building SQL queries in a programmatic way. Heavily based on Rails's Arel library.","maintainers":[{"name":"astathis","email":"stathis.alexanderj@gmail.com"}],"readme":"# `@active-record-ts/arel`\n\nRelational-algebra query builder for TypeScript. A port of Rails' [`Arel`](https://github.com/rails/rails/tree/main/activerecord/lib/arel).\n\nArel builds SQL ASTs and emits dialect-specific strings (Postgres, MySQL, SQLite). It does not connect to a database, validate column names, or care about schema — it produces _syntactically_ correct SQL, nothing more.\n\nYou usually don't use it directly — [`@active-record-ts/active-record`](../active-record) does. Reach for `arel` when you need to compose SQL that the high-level API doesn't cover.\n\n## Usage\n\n```ts\nimport { Arel } from '@active-record-ts/arel';\n\nconst users = new Arel.Table('users');\nconst mgr = users.project(users.column('id'), users.column('name'))\n                 .where(users.column('age').gt(18))\n                 .order(users.column('name'));\n\nmgr.toSql();\n// SELECT \"users\".\"id\", \"users\".\"name\" FROM \"users\"\n// WHERE \"users\".\"age\" > 18 ORDER BY \"users\".\"name\"\n```\n\nDialect-specific output:\n\n```ts\nimport { Arel, Visitors } from '@active-record-ts/arel';\n\nmgr.toSql(new Visitors.MySQL());      // backtick-quoted\nmgr.toSql(new Visitors.PostgreSQL()); // double-quote-quoted\nmgr.toSql(new Visitors.SQLite());\n```\n\n## Managers\n\n- `SelectManager` — `SELECT` queries (via `Table#project`, etc.)\n- `InsertManager` — `INSERT`\n- `UpdateManager` — `UPDATE`\n- `DeleteManager` — `DELETE`\n\n## Test\n\n```bash\nbun run test:arel\n```\n","readmeFilename":"README.md"}