{"id":13452551,"url":"https://github.com/typed-typings/npm-ramda","last_synced_at":"2025-03-23T19:34:33.049Z","repository":{"id":37687541,"uuid":"23838510","full_name":"typed-typings/npm-ramda","owner":"typed-typings","description":"TypeScript's type definitions for Ramda","archived":false,"fork":false,"pushed_at":"2023-05-14T16:21:43.000Z","size":3438,"stargazers_count":382,"open_issues_count":70,"forks_count":64,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-18T03:58:41.787Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/typed-typings.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2014-09-09T15:11:49.000Z","updated_at":"2025-03-08T01:26:10.000Z","dependencies_parsed_at":"2024-01-16T03:46:25.714Z","dependency_job_id":"a0b6fbfe-beaa-47aa-ace9-a9fc79aca2df","html_url":"https://github.com/typed-typings/npm-ramda","commit_stats":null,"previous_names":["types/npm-ramda"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typed-typings%2Fnpm-ramda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typed-typings%2Fnpm-ramda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typed-typings%2Fnpm-ramda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/typed-typings%2Fnpm-ramda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/typed-typings","download_url":"https://codeload.github.com/typed-typings/npm-ramda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245159497,"owners_count":20570394,"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":[],"created_at":"2024-07-31T07:01:27.321Z","updated_at":"2025-03-23T19:34:31.780Z","avatar_url":"https://github.com/typed-typings.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# types/npm-ramda\n\n[![Travis](https://travis-ci.org/types/npm-ramda.svg?branch=master)](https://travis-ci.org/types/npm-ramda)\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/donnut/typescript-ramda)\n[![Greenkeeper](https://badges.greenkeeper.io/types/npm-ramda.svg)](https://greenkeeper.io/)\n\nTypeScript's type definitions for [Ramda](https://github.com/ramda/ramda)\n\n## Status\n\nTyping compatible with `ramda@0.25.0` and `typescript@~2.9.2` (strictFunctionTypes: false)\n\n***Note***: many of the functions in Ramda are still hard to properly type in TypeScript, with issues mainly centered around partial application, currying, and composition, especially so in the presence of generics. And yes, those are probably why you'd be using Ramda in the first place, making these issues particularly problematic to type Ramda for TypeScript.\n\n## Features\n\n- support placeholder ( `R.__` )\n- support partial import ( `import map = require(\"ramda/src/map\")` )\n- support selectable overloads ( use 0-param: `R.map\u003c\"11\", \"list\"\u003e()` )\n\n## Usage\n\nThe following command install the types from the `dist` branch, which is the newest version and contains `selectable` and `placeholder` types.\n\n```sh\n# using npm\nnpm install --save-dev types/npm-ramda#dist\n\n# using yarn\nyarn add --dev types/npm-ramda#dist\n\n# using jspm\njspm install --dev github:types/npm-ramda@dist\n\n# you can also choose which version to install using #\u003cbranch/commit/tag\u003e\nyarn add --dev types/npm-ramda#dist-simple # contains basic features\nyarn add --dev types/npm-ramda#dist-selectable # contains selectable-overloads\nyarn add --dev types/npm-ramda#dist-placeholder # contains placeholder\n```\n\nIf you load Ramda via a script tag, install with the `--global` flag instead.\n\nIf not using npm/yarn, you may need to add these typings to `paths` in `tsconfig.json`:\n\nFor the full package:\n```json\n{\n  \"compilerOptions\": {\n    \"baseUrl\": \"./\",\n    \"paths\" : {\n       \"ramda\": [\n         \"location-of-types/npm-ramda-package/index\"\n       ]\n     }\n  }\n}\n```\n\nIf using partial imports:\n```json\n{\n  \"compilerOptions\": {\n    \"baseUrl\": \"./\",\n    \"paths\" : {\n       \"ramda/src/*\": [\n         \"location-of-types/npm-ramda-package/src/*\"\n       ]\n     }\n  }\n}\n```\n\n## Testing\n\nThis project uses [dts-jest](https://github.com/ikatyang/dts-jest) to test types and values simultaneously, so as to ensure our types are always up to date.\n\n```sh\n# test\nyarn run test\n\n# test with watching mode\nyarn run test -- --watch\n```\n\nAfter you changed some tests/types, you have to run `yarn run remap` to update the diff-friendly snapshots, and you can see their diff clearly in generated files (`./snapshots/*.ts`).\n\n(You can also run `yarn run remap-watch` to use it in watching mode.)\n\ntest files:\n\n- unit tests: `./tests/*.ts` (test types)\n- integration tests: `./tests/ramda-tests.ts` (test types and values)\n\n## Building types\n\n```sh\n# build types (./templates/*.ts -\u003e ./ramda/dist/**/*.d.ts)\nyarn run build\n\n# build types with watching mode\nyarn run build-watch\n```\n\n## FAQ\n\n\u003e Why are the typings here not carbon copies of the ones in the Ramda docs?\n- There are some differences, among which TypeScript's syntax, though the goal differs here as well: while the Ramda docs aim to explain the functions, the goal here is to accurately infer types within TypeScript. Longer version [here](https://github.com/types/npm-ramda/pull/147).\n\n\u003e Why does `compose` not infer well?\n- TypeScript cannot do backward inference as needed for `compose` ([ref](https://github.com/Microsoft/TypeScript/issues/15680#issuecomment-307571917)). The `pipe` variants work a bit better than the `compose` versions.\n\n## Contributing\n\nPull requests are welcome!\nIf you'd like to help out, two good places to start are the [issues](https://github.com/types/npm-ramda/issues)\nas well as the [tests](https://github.com/types/npm-ramda/blob/master/tests/ramda-tests.ts).\n\nDo note that all of the typings are now being generated (automatically) using the\n[templates](https://github.com/types/npm-ramda/tree/master/templates#readme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyped-typings%2Fnpm-ramda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyped-typings%2Fnpm-ramda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyped-typings%2Fnpm-ramda/lists"}