{"_id":"nestjs-supabase-js","_rev":"3-c8f82d2063e61c26621cfe142a5db608","name":"nestjs-supabase-js","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"nestjs-supabase-js","version":"1.0.0","keywords":["nestjs","supabase","supabase-js","module","supabase-auth","supabase-db","database","auth","authentication","postgres","supabase-storage","supabase-realtime","storage"],"author":{"name":"Adrián Martínez Jiménez","email":"adrianmjim199434@gmail.com"},"license":"ISC","_id":"nestjs-supabase-js@1.0.0","maintainers":[{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"}],"homepage":"https://github.com/adrianmjim/nestjs-supabase-js#readme","bugs":{"url":"https://github.com/adrianmjim/nestjs-supabase-js/issues"},"dist":{"shasum":"bba085c45c73c3cce75eaac032786f278d1f6a45","tarball":"https://registry.npmjs.org/nestjs-supabase-js/-/nestjs-supabase-js-1.0.0.tgz","fileCount":98,"integrity":"sha512-48OnEXexlA9aRwMZfqneeNSlOVZifN9sezjv3OXP29Q8HdC+nIazH2rSU39JtmiBs0zWCpKPi25ozpyF+Y3d0Q==","signatures":[{"sig":"MEQCIFrUMdicnK0swZmxg+Cyszy4hYRvIvGXduTlttWq8g8TAiB9S8woPrNOMGLn7NzfKYkohPYGfD505eHVnt7US6o0hQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56643},"main":"lib/index.js","_from":"file:nestjs-supabase-js-1.0.0.tgz","types":"./lib/index.d.ts","scripts":{"lint":"eslint --ext ts --ignore-path .gitignore ./src","test":"jest --config=jest.config.js","build":"tsc --build tsconfig.json","format":"prettier --write ./src/**/*.ts","test:js":"jest --config=jest.js.config.js","prebuild":"pnpm run build:clean","build:clean":"rimraf lib","format:check":"prettier --check ./src/**/*.ts","test:unit:js":"pnpm run test:js --selectProjects Unit","publish:package":"pnpm publish","test:js:coverage":"pnpm run test:js --coverage","test:uncommitted":"pnpm run test --changedSince=HEAD","test:integration:js":"pnpm run test:js --selectProjects Integration"},"_npmUser":{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"},"_resolved":"/tmp/d404f8acc5b104f36ffaa04af651b1c6/nestjs-supabase-js-1.0.0.tgz","_integrity":"sha512-48OnEXexlA9aRwMZfqneeNSlOVZifN9sezjv3OXP29Q8HdC+nIazH2rSU39JtmiBs0zWCpKPi25ozpyF+Y3d0Q==","repository":{"url":"git+https://github.com/adrianmjim/nestjs-supabase-js.git","type":"git"},"_npmVersion":"10.2.4","description":"NestJS Supabase integration","directories":{},"_nodeVersion":"20.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","eslint":"8.56.0","rimraf":"5.0.5","ts-jest":"29.1.2","ts-node":"10.9.2","prettier":"3.2.5","typescript":"5.3.3","@types/node":"20.11.19","@jest/globals":"29.7.0","eslint-plugin-jest":"27.9.0","eslint-plugin-import":"2.29.1","eslint-plugin-prettier":"5.1.3","@typescript-eslint/parser":"7.0.1","@typescript-eslint/eslint-plugin":"7.0.1","eslint-import-resolver-typescript":"3.6.1"},"peerDependencies":{"@nestjs/common":"^10.2.7 || ^9.4.0","@supabase/supabase-js":"^2.39.6"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-supabase-js_1.0.0_1708272737275_0.7787523576038402","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"nestjs-supabase-js","version":"1.0.1","keywords":["nestjs","supabase","supabase-js","module","supabase-auth","supabase-db","database","auth","authentication","postgres","supabase-storage","supabase-realtime","storage"],"author":{"name":"Adrián Martínez Jiménez","email":"adrianmjim199434@gmail.com"},"license":"ISC","_id":"nestjs-supabase-js@1.0.1","maintainers":[{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"}],"homepage":"https://github.com/adrianmjim/nestjs-supabase-js#readme","bugs":{"url":"https://github.com/adrianmjim/nestjs-supabase-js/issues"},"dist":{"shasum":"46e96140ecc351800e62d7718031c1fd1a8d68fe","tarball":"https://registry.npmjs.org/nestjs-supabase-js/-/nestjs-supabase-js-1.0.1.tgz","fileCount":99,"integrity":"sha512-fYxUWxg1CEGw7NGJSLYDbAgzncdRQkw8eFn4k/cpSXToJ+GthBihtfTJeIL+w5SLafx1ZIUiy2c5mpuLO+waUw==","signatures":[{"sig":"MEYCIQDYy7B9fQVVllnqB502JlzLzOiFyfY9Oo9ERaPS4UXmQAIhAPNWLlr5YlED5/ImKfNqKz5Zvcmf5d8dDaq8MtzlEtYN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57703},"main":"lib/index.js","_from":"file:nestjs-supabase-js-1.0.1.tgz","types":"./lib/index.d.ts","scripts":{"lint":"eslint --ext ts --ignore-path .gitignore ./src","test":"jest --config=jest.config.js","build":"tsc --build tsconfig.json","format":"prettier --write ./src/**/*.ts","test:js":"jest --config=jest.js.config.js","prebuild":"pnpm run build:clean","build:clean":"rimraf lib","format:check":"prettier --check ./src/**/*.ts","test:unit:js":"pnpm run test:js --selectProjects Unit","publish:package":"pnpm publish","test:js:coverage":"pnpm run test:js --coverage","test:uncommitted":"pnpm run test --changedSince=HEAD","test:integration:js":"pnpm run test:js --selectProjects Integration"},"_npmUser":{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"},"_resolved":"/tmp/7e288c9255fd96dc39f20d7cd29c8378/nestjs-supabase-js-1.0.1.tgz","_integrity":"sha512-fYxUWxg1CEGw7NGJSLYDbAgzncdRQkw8eFn4k/cpSXToJ+GthBihtfTJeIL+w5SLafx1ZIUiy2c5mpuLO+waUw==","repository":{"url":"git+https://github.com/adrianmjim/nestjs-supabase-js.git","type":"git"},"_npmVersion":"10.2.4","description":"NestJS Supabase integration","directories":{},"_nodeVersion":"20.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"29.7.0","eslint":"8.56.0","rimraf":"5.0.5","ts-jest":"29.1.2","ts-node":"10.9.2","prettier":"3.2.5","typescript":"5.3.3","@types/node":"20.11.19","@jest/globals":"29.7.0","eslint-plugin-jest":"27.9.0","eslint-plugin-import":"2.29.1","eslint-plugin-prettier":"5.1.3","@typescript-eslint/parser":"7.0.1","@typescript-eslint/eslint-plugin":"7.0.1","eslint-import-resolver-typescript":"3.6.1"},"peerDependencies":{"@nestjs/common":"^10.2.7 || ^9.4.0","@supabase/supabase-js":"^2.39.6"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-supabase-js_1.0.1_1708336446959_0.06573138419348123","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"nestjs-supabase-js","version":"1.1.0","keywords":["nestjs","supabase","supabase-js","module","supabase-auth","supabase-db","database","auth","authentication","postgres","supabase-storage","supabase-realtime","storage"],"author":{"name":"Adrián Martínez Jiménez","email":"adrianmjim199434@gmail.com"},"license":"ISC","_id":"nestjs-supabase-js@1.1.0","maintainers":[{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"}],"homepage":"https://github.com/adrianmjim/nestjs-supabase-js#readme","bugs":{"url":"https://github.com/adrianmjim/nestjs-supabase-js/issues"},"dist":{"shasum":"34ad20ff08fd8532efe815eab152e7fbc3e1d6bc","tarball":"https://registry.npmjs.org/nestjs-supabase-js/-/nestjs-supabase-js-1.1.0.tgz","fileCount":100,"integrity":"sha512-ocBhvChNJJcinrUKDF9wJQg8WuHN7Thg5ASZKGzu3LQjkjkSjtDG/hCATazv5QzRejqYVC9WxUzwTslFz9ldzg==","signatures":[{"sig":"MEUCIE0XRGsxex62HRO8NYiDobxbdyz480InNeS0wj/Q5rYbAiEAiSkqRBSPbNXc5GKaObPVbYofYoTl9/xAPWbwMB1d1ac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67471},"main":"lib/index.js","_from":"file:nestjs-supabase-js-1.1.0.tgz","types":"./lib/index.d.ts","scripts":{"lint":"eslint ./src","test":"TZ=$npm_package_config_TZ vitest run","build":"tsc --build tsconfig.json","format":"prettier --write ./src/**/*.ts","prebuild":"pnpm run build:clean","build:clean":"rimraf lib","format:check":"prettier --check ./src/**/*.ts","test:coverage":"pnpm run test --coverage","publish:package":"pnpm publish","test:uncommitted":"pnpm run test --changed HEAD"},"_npmUser":{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"},"_resolved":"/tmp/16d0409023f4c9bbc7812fa5223d0bba/nestjs-supabase-js-1.1.0.tgz","_integrity":"sha512-ocBhvChNJJcinrUKDF9wJQg8WuHN7Thg5ASZKGzu3LQjkjkSjtDG/hCATazv5QzRejqYVC9WxUzwTslFz9ldzg==","repository":{"url":"git+https://github.com/adrianmjim/nestjs-supabase-js.git","type":"git"},"_npmVersion":"10.8.2","description":"NestJS Supabase integration","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.13.0","rimraf":"6.0.1","vitest":"2.1.3","prettier":"3.3.3","@eslint/js":"9.13.0","typescript":"5.6.3","@types/node":"20.17.0","@eslint/compat":"1.2.1","typescript-eslint":"8.11.0","@vitest/coverage-v8":"2.1.3","eslint-plugin-import":"2.31.0","@vitest/eslint-plugin":"1.1.7","eslint-plugin-prettier":"5.2.1","@typescript-eslint/parser":"8.11.0","@typescript-eslint/eslint-plugin":"8.11.0","eslint-import-resolver-typescript":"3.6.3"},"peerDependencies":{"@nestjs/common":"^10.2.7 || ^9.4.0","@supabase/supabase-js":"^2.39.6"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-supabase-js_1.1.0_1729758027545_0.6990433403224507","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"nestjs-supabase-js","version":"1.1.1","description":"NestJS Supabase integration","keywords":["nestjs","supabase","supabase-js","module","supabase-auth","supabase-db","database","auth","authentication","postgres","supabase-storage","supabase-realtime","storage"],"author":{"name":"Adrián Martínez Jiménez","email":"adrianmjim199434@gmail.com"},"homepage":"https://github.com/adrianmjim/nestjs-supabase-js#readme","license":"ISC","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/adrianmjim/nestjs-supabase-js.git"},"bugs":{"url":"https://github.com/adrianmjim/nestjs-supabase-js/issues"},"devDependencies":{"@eslint/compat":"1.2.5","@eslint/js":"9.18.0","@types/node":"22.10.7","@typescript-eslint/eslint-plugin":"8.21.0","@typescript-eslint/parser":"8.21.0","@vitest/coverage-v8":"3.0.2","eslint":"9.18.0","eslint-import-resolver-typescript":"3.7.0","eslint-plugin-import":"2.31.0","eslint-plugin-prettier":"5.2.3","@vitest/eslint-plugin":"1.1.25","prettier":"3.4.2","rimraf":"6.0.1","typescript":"5.7.3","typescript-eslint":"8.21.0","vitest":"3.0.2"},"peerDependencies":{"@nestjs/common":"^11.0.0 || ^10.2.7 || ^9.4.0","@supabase/supabase-js":"^2.39.6"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc --build tsconfig.json","build:clean":"rimraf lib","format":"prettier --write ./src/**/*.ts","format:check":"prettier --check ./src/**/*.ts","lint":"eslint ./src","prebuild":"pnpm run build:clean","publish:package":"pnpm publish","test":"TZ=$npm_package_config_TZ vitest run","test:coverage":"pnpm run test --coverage","test:uncommitted":"pnpm run test --changed HEAD"},"_id":"nestjs-supabase-js@1.1.1","types":"./lib/index.d.ts","_integrity":"sha512-fSGMIDig8a1cjwQqf+CRehHtYpxGWbLDf5R3WWu88iEBdg14FfeCQMeqnP9UdfwDcZrddvrMhvzRn8vgVMj7vg==","_resolved":"/tmp/786aa5e36c497b58fa94d9daaeeda862/nestjs-supabase-js-1.1.1.tgz","_from":"file:nestjs-supabase-js-1.1.1.tgz","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-fSGMIDig8a1cjwQqf+CRehHtYpxGWbLDf5R3WWu88iEBdg14FfeCQMeqnP9UdfwDcZrddvrMhvzRn8vgVMj7vg==","shasum":"61c6f4dee6e56e6d98bb8268b9a5faa438a07543","tarball":"https://registry.npmjs.org/nestjs-supabase-js/-/nestjs-supabase-js-1.1.1.tgz","fileCount":100,"unpackedSize":67490,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCeE+hHZC/dVAu1Iq+Pa9LOz/pf+IlkufeZTXstV2y4ywIgI3ZEYClIxrIl2vhQhm3FYR69/k48fCmsIjJg9p1j1Sg="}]},"_npmUser":{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"},"directories":{},"maintainers":[{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-supabase-js_1.1.1_1737461538628_0.4788721764475279"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-18T16:12:17.179Z","modified":"2025-01-21T12:12:19.025Z","1.0.0":"2024-02-18T16:12:17.473Z","1.0.1":"2024-02-19T09:54:07.115Z","1.1.0":"2024-10-24T08:20:27.744Z","1.1.1":"2025-01-21T12:12:18.842Z"},"bugs":{"url":"https://github.com/adrianmjim/nestjs-supabase-js/issues"},"author":{"name":"Adrián Martínez Jiménez","email":"adrianmjim199434@gmail.com"},"license":"ISC","homepage":"https://github.com/adrianmjim/nestjs-supabase-js#readme","keywords":["nestjs","supabase","supabase-js","module","supabase-auth","supabase-db","database","auth","authentication","postgres","supabase-storage","supabase-realtime","storage"],"repository":{"type":"git","url":"git+https://github.com/adrianmjim/nestjs-supabase-js.git"},"description":"NestJS Supabase integration","maintainers":[{"name":"adrianmjim","email":"adrianmjim199434@gmail.com"}],"readme":"<p align=\"center\" style=\"vertical-align:middle\">\n  <a href=\"https://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"200\" alt=\"Nest Logo\" /></a><br /><a href=\"https://supabase.com/\" target=\"blank\"><img src=\"https://user-images.githubusercontent.com/8291514/213727225-56186826-bee8-43b5-9b15-86e839d89393.png#gh-dark-mode-only\" width=\"500\" alt=\"Supabase\"></a>\n</p>\n\n![Test](https://github.com/adrianmjim/nestjs-supabase-js/actions/workflows/codecov_test.yml/badge.svg)\n[![codecov](https://codecov.io/gh/Adrianmjim/nestjs-supabase-js/graph/badge.svg?token=jNHEDepqm7)](https://codecov.io/gh/Adrianmjim/nestjs-supabase-js)\n[![NPM Version](https://badge.fury.io/js/nestjs-supabase-js.svg?style=flat)](https://npmjs.org/package/nestjs-supabase-js)\n[![NPM Download Stats](https://nodei.co/npm/nestjs-supabase-js.png?downloads=true)](https://www.npmjs.com/package/nestjs-supabase-js)\n\n## Description\n\nThe [Supabase](https://github.com/supabase/supabase-js) module for [NestJS](https://github.com/nestjs/nest).\n\n## Installation\n\nInstall the dependencies via `npm`, `pnpm` or `yarn`:\n\nnpm:\n```bash\n$ npm i -s @nestjs/common @supabase/supabase-js nestjs-supabase-js\n```\n\npnpm:\n```bash\n$ pnpm add @nestjs/common @supabase/supabase-js nestjs-supabase-js\n```\n\nyarn:\n```bash\n$ yarn add @nestjs/common @supabase/supabase-js nestjs-supabase-js\n```\n\n## Configuration\n\nFirst, import the module into your NestJS application and configure it using the configuration key provided by Supabase.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.forRoot({\n      supabaseKey: 'YOUR_SUPABASE_KEY',\n      supabaseUrl: 'YOUR_SUPABASE_URL',\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nOr, You can configure it asynchronously as follows:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.forRootAsync({\n      imports: [],\n      inject: [],\n      useFactory: () => ({\n        supabaseKey: 'YOUR_SUPABASE_KEY',\n        supabaseUrl: 'YOUR_SUPABASE_URL',\n      }),\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n## Multiple connections\n\nIn certain situations, we will need to connect to different Supabase projects, with this module this is possible:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.forRoot([\n      {\n        name: 'connection1',\n        supabaseConfig: {\n          supabaseKey: 'YOUR_SUPABASE_KEY',\n          supabaseUrl: 'YOUR_SUPABASE_URL',\n        },\n      },\n      {\n        name: 'connection2',\n        supabaseConfig: {\n          supabaseKey: 'YOUR_SUPABASE_KEY',\n          supabaseUrl: 'YOUR_SUPABASE_URL',\n        },\n      },\n    ]),\n  ],\n})\nexport class AppModule {}\n```\n\nOr asynchronously:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.forRootAsync({\n      imports: [],\n      inject: [],\n      useFactory: () => ([\n        {\n          name: 'connection1',\n          supabaseConfig: {\n            supabaseKey: 'YOUR_SUPABASE_KEY',\n            supabaseUrl: 'YOUR_SUPABASE_URL',\n          },\n        },\n        {\n          name: 'connection2',\n          supabaseConfig: {\n            supabaseKey: 'YOUR_SUPABASE_KEY',\n            supabaseUrl: 'YOUR_SUPABASE_URL',\n          },\n        },\n      ]),\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n## Usage\n\nFirst, inject the client into the module where you want to use it:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.injectClient(),\n  ],\n})\nexport class CatModule {}\n```\n\nOr, for a specific connection:\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { SupabaseModule } from 'nestjs-supabase-js';\n\n@Module({\n  imports: [\n    SupabaseModule.injectClient('connection1', 'connection2'),\n  ],\n})\nexport class CatModule {}\n```\n\nNow you can use the Supabase client in any provider of your module:\n\n```typescript\nimport { SupabaseClient } from '@supabase/supabase-js';\n\nexport class CatService {\n  constructor(private readonly supabaseClient: SupabaseClient) {}\n\n  public doSomething(): void {\n\n  }\n}\n```\n\nOr, for a specific connection:\n\n```typescript\nimport { SupabaseClient } from '@supabase/supabase-js';\nimport { InjectSupabaseClient } from 'nestjs-supabase-js';\n\nexport class CatService {\n  constructor(\n    @InjectSupabaseClient('connection1') private readonly supabaseClient1: SupabaseClient,\n    @InjectSupabaseClient('connection2') private readonly supabaseClient2: SupabaseClient,\n  ) {}\n\n  public doSomething(): void {\n\n  }\n}\n```\n\nIt's also possible to use the InjectSupabaseClient decorator to inject the Supabase client when you don't want to explicitly type it with the client:\n\n```typescript\nimport { SupabaseClient } from '@supabase/supabase-js';\nimport { InjectSupabaseClient } from 'nestjs-supabase-js';\n\nexport class CatService {\n  constructor(\n    @InjectSupabaseClient() private readonly supabaseClient: unknown,\n  ) {}\n\n  public doSomething(): void {\n\n  }\n}\n```\n\n## Authentication\n\nThis library provides a base guard to authenticate requests using the Supabase auth client.\n\n### Usage\n\nTo create your own guard that authenticates against Supabase, you just need to create a new guard that extends `BaseSupabaseAuthGuard` and implements the method `extractTokenFromRequest`. This implementation should define how to extract the token from the request, which might be in the headers, cookies, or query parameters.\n\n```typescript\nimport { Injectable, ExecutionContext } from '@nestjs/common';\nimport { SupabaseClient } from '@supabase/supabase-js';\nimport { BaseSupabaseAuthGuard } from 'nestjs-supabase-js';\n\n@Injectable()\nexport class MyAuthGuard extends BaseSupabaseAuthGuard {\n  public constructor(supabaseClient: SupabaseClient) {\n    super(supabaseClient);\n  }\n\n  protected extractTokenFromRequest(request: Request): string | undefined {\n    return request.headers.authorization;\n  }\n}\n```\n\nThen, you can bind the guard as described in the [NestJS documentation](https://docs.nestjs.com/guards#binding-guards).\n\n## 🤝 Contributing [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/adrianmjim/nestjs-supabase-js/issues)\n\nContributions, issues and feature requests are welcome.\n\n## Authors\n\n👤 **Adrián Martínez Jiménez**\n\n- Github: [@adrianmjim](https://github.com/adrianmjim)\n\nSee also the list of contributors who [participated](https://github.com/adrianmjim/nestjs-supabase-js/contributors) in this project.\n\n## Show Your Support\n\nPlease ⭐️ this repository if this project helped you!\n\n## 📝 License\n\nCopyright © 2024 [Adrián Martínez Jiménez](https://github.com/adrianmjim).\n\nThis project is licensed under the MIT License - see the [LICENSE file](LICENSE) for details.\n","readmeFilename":"README.md"}