{"_id":"@civic/serverless-offline-sqs","_rev":"21-a96fd985d66859e9de0b2b799af2ebdb","name":"@civic/serverless-offline-sqs","dist-tags":{"latest":"7.3.2-civic-fixes-v3"},"versions":{"7.3.2-civic-fixes-v1":{"name":"@civic/serverless-offline-sqs","version":"7.3.2-civic-fixes-v1","keywords":["sqs","elasticmq","serverless","serverless-offline","lambda"],"author":{"name":"Arthur Weber @godu"},"license":"MIT","_id":"@civic/serverless-offline-sqs@7.3.2-civic-fixes-v1","maintainers":[{"name":"ndrabins","email":"noah.drabinsky1@gmail.com"},{"name":"dmelosantos","email":"danielmelos@gmail.com"},{"name":"jp-civic","email":"jp@civic.com"},{"name":"chriteixeira","email":"chriteixeira@gmail.com"},{"name":"daneel","email":"daneel@civic.com"},{"name":"mitchcivic","email":"mitch@civic.com"},{"name":"dankelleher","email":"dankelleher@yahoo.com"},{"name":"jonthepilot","email":"jonathan@civic.com"},{"name":"rado0x54","email":"web@riedel-it.de"},{"name":"araptarchis","email":"alexis.raptarchis@googlemail.com"},{"name":"civicfinance","email":"camille@civic.com"},{"name":"kevinhcolgan","email":"kevin@civic.com"},{"name":"flippiescholtz","email":"flippie@civic.com"},{"name":"tyronemichael","email":"tyronemichael@gmail.com"},{"name":"lucmir","email":"luccmir@gmail.com"},{"name":"william-identity","email":"william@identity.org"}],"homepage":"https://github.com/CoorpAcademy/serverless-plugins/tree/master/packages/serverless-offline-sqs#readme","bugs":{"url":"https://github.com/CoorpAcademy/serverless-plugins/issues"},"dist":{"shasum":"2e832dbf275acb45f8a1b1b323d54d24e07e1a2a","tarball":"https://registry.npmjs.org/@civic/serverless-offline-sqs/-/serverless-offline-sqs-7.3.2-civic-fixes-v1.tgz","fileCount":6,"integrity":"sha512-EzT49kLTruFWZznMH+wpCrhkq74SSuKhM27+ed8UTQ9ZgaE69IhlaJ81A9SFfYWo3EaQqpiSRjlc4nxuV2BLHQ==","signatures":[{"sig":"MEUCIDFcuXc5LNA+k1yfS+D7o3EGW64ppxg3CRcsTx80iHBMAiEAsiTjIcdDD+lqNG9wKEywL80tRHxEo3UfxGu5TdcBBgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17027},"main":"src","engines":{"node":">=16"},"gitHead":"860ac87cd0c9c8d76f8410fbe5a46ef4d6d89c12","_npmUser":{"name":"flippiescholtz","email":"flippie@civic.com"},"repository":{"url":"git+ssh://git@github.com/CoorpAcademy/serverless-plugins.git","type":"git"},"_npmVersion":"8.19.2","description":"Emulate AWS λ and SQS locally when developing your Serverless project","directories":{},"_nodeVersion":"16.18.0","dependencies":{"lodash":"^4.17.21","aws-sdk":"^2.1234.0","p-queue":"^6.6.2"},"_hasShrinkwrap":false,"devDependencies":{"serverless-offline":"^12"},"peerDependencies":{"serverless-offline":"^10.0.2 || ^11 || ^12"},"_npmOperationalInternal":{"tmp":"tmp/serverless-offline-sqs_7.3.2-civic-fixes-v1_1692874510730_0.046613800071671374","host":"s3://npm-registry-packages"}},"7.3.2-civic-fixes-v2":{"name":"@civic/serverless-offline-sqs","version":"7.3.2-civic-fixes-v2","keywords":["sqs","elasticmq","serverless","serverless-offline","lambda"],"author":{"name":"Arthur Weber @godu"},"license":"MIT","_id":"@civic/serverless-offline-sqs@7.3.2-civic-fixes-v2","maintainers":[{"name":"ndrabins","email":"noah.drabinsky1@gmail.com"},{"name":"dmelosantos","email":"danielmelos@gmail.com"},{"name":"jp-civic","email":"jp@civic.com"},{"name":"chriteixeira","email":"chriteixeira@gmail.com"},{"name":"daneel","email":"daneel@civic.com"},{"name":"mitchcivic","email":"mitch@civic.com"},{"name":"dankelleher","email":"dankelleher@yahoo.com"},{"name":"jonthepilot","email":"jonathan@civic.com"},{"name":"rado0x54","email":"web@riedel-it.de"},{"name":"araptarchis","email":"alexis.raptarchis@googlemail.com"},{"name":"civicfinance","email":"camille@civic.com"},{"name":"kevinhcolgan","email":"kevin@civic.com"},{"name":"flippiescholtz","email":"flippie@civic.com"},{"name":"tyronemichael","email":"tyronemichael@gmail.com"},{"name":"lucmir","email":"luccmir@gmail.com"},{"name":"william-identity","email":"william@identity.org"}],"homepage":"https://github.com/CoorpAcademy/serverless-plugins/tree/master/packages/serverless-offline-sqs#readme","bugs":{"url":"https://github.com/CoorpAcademy/serverless-plugins/issues"},"dist":{"shasum":"7aa62fb8dff47340770538a8e3ae1942d1aa8c04","tarball":"https://registry.npmjs.org/@civic/serverless-offline-sqs/-/serverless-offline-sqs-7.3.2-civic-fixes-v2.tgz","fileCount":6,"integrity":"sha512-B13upjkXxzKyoJc2fTdO6xErso6VYmwT9nVQ3dbV3lKIgA3tK7rGZRsz3ayz3iWEcQ8DymYPkgUCX1cydrspoQ==","signatures":[{"sig":"MEUCIQCrNQiFjqyf5HCVBdDOZlwVP4qfJkAlGougl68CghhFJQIgERYDVYyml9YvxHYGqIwZnUqtTEOuVqgOMQLeOtdCvK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17204},"main":"src","engines":{"node":">=16"},"gitHead":"1909716c46eccfd6ae039ee852dff34a39df658a","_npmUser":{"name":"flippiescholtz","email":"flippie@civic.com"},"repository":{"url":"git+ssh://git@github.com/CoorpAcademy/serverless-plugins.git","type":"git"},"_npmVersion":"8.19.2","description":"Emulate AWS λ and SQS locally when developing your Serverless project","directories":{},"_nodeVersion":"16.18.0","dependencies":{"uuid":"^9.0.0","lodash":"^4.17.21","aws-sdk":"^2.1234.0","p-queue":"^6.6.2"},"_hasShrinkwrap":false,"devDependencies":{"serverless-offline":"^12"},"peerDependencies":{"serverless-offline":"^10.0.2 || ^11 || ^12"},"_npmOperationalInternal":{"tmp":"tmp/serverless-offline-sqs_7.3.2-civic-fixes-v2_1692984714207_0.19632074533118726","host":"s3://npm-registry-packages"}},"7.3.2-civic-fixes-v3":{"name":"@civic/serverless-offline-sqs","version":"7.3.2-civic-fixes-v3","keywords":["sqs","elasticmq","serverless","serverless-offline","lambda"],"author":{"name":"Arthur Weber @godu"},"license":"MIT","_id":"@civic/serverless-offline-sqs@7.3.2-civic-fixes-v3","maintainers":[{"name":"ndrabins","email":"noah.drabinsky1@gmail.com"},{"name":"dmelosantos","email":"danielmelos@gmail.com"},{"name":"jp-civic","email":"jp@civic.com"},{"name":"chriteixeira","email":"chriteixeira@gmail.com"},{"name":"daneel","email":"daneel@civic.com"},{"name":"mitchcivic","email":"mitch@civic.com"},{"name":"dankelleher","email":"dankelleher@yahoo.com"},{"name":"jonthepilot","email":"jonathan@civic.com"},{"name":"rado0x54","email":"web@riedel-it.de"},{"name":"araptarchis","email":"alexis.raptarchis@googlemail.com"},{"name":"civicfinance","email":"camille@civic.com"},{"name":"kevinhcolgan","email":"kevin@civic.com"},{"name":"flippiescholtz","email":"flippie@civic.com"},{"name":"tyronemichael","email":"tyronemichael@gmail.com"},{"name":"lucmir","email":"luccmir@gmail.com"},{"name":"william-identity","email":"william@identity.org"}],"homepage":"https://github.com/CoorpAcademy/serverless-plugins/tree/master/packages/serverless-offline-sqs#readme","bugs":{"url":"https://github.com/CoorpAcademy/serverless-plugins/issues"},"dist":{"shasum":"9f811001abca347d819f36c78027028c6e53ac64","tarball":"https://registry.npmjs.org/@civic/serverless-offline-sqs/-/serverless-offline-sqs-7.3.2-civic-fixes-v3.tgz","fileCount":6,"integrity":"sha512-T8EaBdSGPwPSCAWDoE/Lhmi4QjGuLj9+AVioINRPAUcO4MDZGc0eSSyz1ruu3Zwd7JScUdu46KK4LMwtivbXow==","signatures":[{"sig":"MEUCIA4Yt/ak3UMkniQ/Gh/I08eiGBjrZWrSQ9iQ1rz3IMoaAiEA0Gb+IyE5bxMCH/SjxHrPWyf8J5fPHCdWLtVagD/ip6Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17100},"main":"src","engines":{"node":">=16"},"gitHead":"67a4dfe02468d647a3fa8417936cda21676398f7","_npmUser":{"name":"flippiescholtz","email":"flippie@civic.com"},"repository":{"url":"git+ssh://git@github.com/CoorpAcademy/serverless-plugins.git","type":"git"},"_npmVersion":"8.19.2","description":"Emulate AWS λ and SQS locally when developing your Serverless project","directories":{},"_nodeVersion":"16.18.0","dependencies":{"uuid":"^9.0.0","lodash":"^4.17.21","aws-sdk":"^2.1234.0","p-queue":"^6.6.2"},"_hasShrinkwrap":false,"devDependencies":{"serverless-offline":"^12"},"peerDependencies":{"serverless-offline":"^10.0.2 || ^11 || ^12"},"_npmOperationalInternal":{"tmp":"tmp/serverless-offline-sqs_7.3.2-civic-fixes-v3_1692984913773_0.1788376483823424","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-08-24T10:55:10.729Z","modified":"2026-05-10T06:05:29.842Z","7.3.2-civic-fixes":"2023-08-24T10:20:31.685Z","7.3.2-civic-fixes-v1":"2023-08-24T10:55:10.893Z","7.3.2-civic-fixes-v2":"2023-08-25T17:31:54.402Z","7.3.2-civic-fixes-v3":"2023-08-25T17:35:13.987Z"},"bugs":{"url":"https://github.com/CoorpAcademy/serverless-plugins/issues"},"author":{"name":"Arthur Weber @godu"},"license":"MIT","homepage":"https://github.com/CoorpAcademy/serverless-plugins/tree/master/packages/serverless-offline-sqs#readme","keywords":["sqs","elasticmq","serverless","serverless-offline","lambda"],"repository":{"url":"git+ssh://git@github.com/CoorpAcademy/serverless-plugins.git","type":"git"},"description":"Emulate AWS λ and SQS locally when developing your Serverless project","maintainers":[{"email":"dankelleher@yahoo.com","name":"dankelleher"},{"email":"jonathan@civic.com","name":"jonthepilot"},{"email":"camille@civic.com","name":"civicfinance"},{"email":"kevin@civic.com","name":"kevinhcolgan"},{"email":"flippie@civic.com","name":"flippiescholtz"},{"email":"luccmir@gmail.com","name":"lucmir"},{"email":"chriteixeira@gmail.com","name":"chriteixeira"},{"email":"web@riedel-it.de","name":"rado0x54"}],"readme":"# serverless-offline-sqs\n\nThis Serverless-offline plugin emulates AWS λ and SQS queue on your local machine. To do so, it listens SQS queue and invokes your handlers.\n\n_Features_:\n\n- [Serverless Webpack](https://github.com/serverless-heaven/serverless-webpack/) support.\n- SQS configurations: batchsize.\n\n## Installation\n\nFirst, add `serverless-offline-sqs` to your project:\n\n```sh\nnpm install serverless-offline-sqs\n```\n\nThen inside your project's `serverless.yml` file, add following entry to the plugins section before `serverless-offline` (and after `serverless-webpack` if present): `serverless-offline-sqs`.\n\n```yml\nplugins:\n  - serverless-webpack\n  - serverless-offline-sqs\n  - serverless-offline\n```\n\n[See example](../../tests/serverless-plugins-integration/README.md#sqs)\n\n## How it works?\n\nTo be able to emulate AWS SQS queue on local machine there should be some queue system actually running. One of the existing implementations suitable for the task is [ElasticMQ](https://github.com/adamw/elasticmq).\n\n[ElasticMQ](https://github.com/adamw/elasticmq) is a standalone in-memory queue system, which implements AWS SQS compatible interface. It can be run either stand-alone or inside Docker container. See [example](../../tests/serverless-plugins-integration/serverless.sqs.yml) `sqs` service setup.\n\nWe also need to setup actual queue in ElasticMQ server, we can use [AWS cli](https://aws.amazon.com/cli/) tools for that. In example, we spawn-up another container with `aws-cli` pre-installed and run initialization script, against ElasticMQ server in separate container.\n\nOnce ElasticMQ is running and initialized, we can proceed with the configuration of the plugin.\n\nNote that starting from version v3.1 of the plugin, it supports autocreation of SQS fifo queues that are specified in the cloudformation `Resources`.\n\n## Configure\n\n### Functions\n\nThe configuration of function of the plugin follows the [serverless documentation](https://serverless.com/framework/docs/providers/aws/events/sqs/).\n\n```yml\nfunctions:\n  mySQSHandler:\n    handler: handler.compute\n    events:\n      - sqs: arn:aws:sqs:region:XXXXXX:MyFirstQueue\n      - sqs:\n          arn: arn:aws:sqs:region:XXXXXX:MySecondQueue\n      - sqs:\n          queueName: MyThirdQueue\n          arn:\n            Fn::GetAtt:\n              - MyThirdQueue\n              - Arn\n      - sqs:\n          arn:\n            Fn::GetAtt:\n              - MyFourthQueue\n              - Arn\n      - sqs:\n          arn:\n            Fn::GetAtt:\n              - MyFifthQueue\n              - Arn\nresources:\n  Resources:\n    MyFourthQueue:\n      Type: AWS::SQS::Queue\n      Properties:\n        QueueName: MyFourthQueue\n\n    MyFifthQueue: # Support for Fifo queue creation starts from 3.1 only\n      Type: AWS::SQS::Queue\n      Properties:\n        QueueName: MyFifthQueue.fifo\n        FifoQueue: true\n        ContentBasedDeduplication: true\n```\n\n### SQS\n\nThe configuration of [`aws.SQS`'s client](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#constructor-property) of the plugin is done by defining a `custom: serverless-offline-sqs` object in your `serverless.yml` with your specific configuration.\n\nYou could use [ElasticMQ](https://github.com/adamw/elasticmq) with the following configuration:\n\n```yml\ncustom:\n  serverless-offline-sqs:\n    autoCreate: true                 # create queue if not exists\n    apiVersion: '2012-11-05'\n    endpoint: http://0.0.0.0:9324\n    region: eu-west-1\n    accessKeyId: root\n    secretAccessKey: root\n    skipCacheInvalidation: false\n```\n","readmeFilename":"README.md"}