{"id":17651764,"url":"https://github.com/diegovictor/regrex","last_synced_at":"2026-04-04T16:31:47.391Z","repository":{"id":43817824,"uuid":"509593617","full_name":"DiegoVictor/regrex","owner":"DiegoVictor","description":"Running binary files inside AWS Lambda using AWS Layers","archived":false,"fork":false,"pushed_at":"2025-02-13T12:32:41.000Z","size":2993,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T08:42:01.810Z","etag":null,"topics":["aws","aws-lambda","aws-layers","binary","javascript","jest","js","node","nodejs","regrex","serverless-framework","tests","ts","typescript"],"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/DiegoVictor.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-01T21:32:03.000Z","updated_at":"2025-02-13T12:32:45.000Z","dependencies_parsed_at":"2024-11-22T22:28:20.844Z","dependency_job_id":"cb74a29c-a568-4cc2-9098-919d1cb3d932","html_url":"https://github.com/DiegoVictor/regrex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DiegoVictor/regrex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoVictor%2Fregrex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoVictor%2Fregrex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoVictor%2Fregrex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoVictor%2Fregrex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DiegoVictor","download_url":"https://codeload.github.com/DiegoVictor/regrex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DiegoVictor%2Fregrex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31405703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aws","aws-lambda","aws-layers","binary","javascript","jest","js","node","nodejs","regrex","serverless-framework","tests","ts","typescript"],"created_at":"2024-10-23T11:43:31.603Z","updated_at":"2026-04-04T16:31:47.369Z","avatar_url":"https://github.com/DiegoVictor.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Regrex\n[![AppVeyor](https://img.shields.io/appveyor/build/diegovictor/regrex?logo=appveyor\u0026style=flat-square)](https://ci.appveyor.com/project/DiegoVictor/regrex)\n[![serverless](https://img.shields.io/badge/serverless-3.38.0-FD5750?style=flat-square\u0026logo=serverless)](https://www.serverless.com/)\n[![eslint](https://img.shields.io/badge/eslint-8.57.0-4b32c3?style=flat-square\u0026logo=eslint)](https://eslint.org/)\n[![airbnb-style](https://flat.badgen.net/badge/style-guide/airbnb/ff5a5f?icon=airbnb)](https://github.com/airbnb/javascript)\n[![jest](https://img.shields.io/badge/jest-29.7.0-brightgreen?style=flat-square\u0026logo=jest)](https://jestjs.io/)\n[![typescript](https://img.shields.io/badge/typescript-5.4.5-3178c6?style=flat-square\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![coverage](https://img.shields.io/codecov/c/gh/DiegoVictor/regrex?logo=codecov\u0026style=flat-square)](https://codecov.io/gh/DiegoVictor/regrex)\n[![MIT License](https://img.shields.io/badge/license-MIT-green?style=flat-square)](https://raw.githubusercontent.com/DiegoVictor/regrex/main/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\u003cbr\u003e\n[![Run in Insomnia](https://insomnia.rest/images/run.svg)](https://insomnia.rest/run/?label=Regrex\u0026uri=https%3A%2F%2Fraw.githubusercontent.com%2FDiegoVictor%2Fregrex%2Fmain%2FInsomnia_2024-11-22.json)\n\nRegrex is a API that executes [grex](https://github.com/pemistahl/grex) (binary file) inside a lambda through an AWS Layer.\n\n![Infrastructure Diagram](https://raw.githubusercontent.com/DiegoVictor/regrex/main/regrex.drawio.png)\n\n#### Demo\n![Demo](https://raw.githubusercontent.com/DiegoVictor/regrex/main/screenshots/demo.gif)\n\n## Table of Contents\n* [Requirements](#requirements)\n* [Installing](#installing)\n* [Configure](#configure)\n* [Usage](#usage)\n* [Running the tests](#running-the-tests)\n  * [Coverage report](#coverage-report)\n\n# Requirements\n* Node.js ^14.15.0\n* Serveless Framework\n* AWS Account\n  * [API Gateway](https://aws.amazon.com/api-gateway/)\n  * [Lambda](https://aws.amazon.com/lambda)\n\n# Install\n```\nnpm install\n```\nOr simply:\n```\nyarn\n```\n\u003e Was installed and configured the [`eslint`](https://eslint.org/) and [`prettier`](https://prettier.io/) to keep the code clean and patterned.\n\n# Configure\nAccess [Grex](https://github.com/pemistahl/grex) repository page and download the linux distribution into `dependencies/bin`. Then zip the `dependencies` folder:\n```sh\ncd dependencies\nzip -yr ../dependencies.zip .\ncd ..\n```\nOr using 7zip:\n```sh\ncd dependencies\n7z a ../dependencies.zip *\ncd ..\n```\n\u003e For those that for any reason are not able to download the binary or compact your own package this repository is shipped with one package ready for use.\n\nThen, deploy the API:\n```\n$ sls deploy\n```\n\n# Usage\nRefer to the [Grex](https://github.com/pemistahl/grex#51-the-command-line-tool) documentation, send the parameters and flags in the `body` of the request:\n```json\n{\n  \"terms\": [\n    \"sample\",\n    \"example\",\n    \"simple\"\n  ],\n  \"flags\": [\"x\"]\n}\n```\nOutput:\n```\n(?x)\n^\n  (?:\n    exa\n    |\n    s[ai]\n  )\n  mple\n$\n```\n\nThere are only a few flags not available:\n\n* -c, --colorize\n* -h, --help\n* -v, --version\n\n# Running the tests\n[Jest](https://jestjs.io/) was the choice to test the app, to run:\n```\n$ yarn test\n```\nOr:\n```\n$ npm run test\n```\n\u003e Run the command in the root folder\n\n## Coverage report\nYou can see the coverage report inside `tests/coverage`. They are automatically created after the tests run.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegovictor%2Fregrex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiegovictor%2Fregrex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiegovictor%2Fregrex/lists"}