Skip to content

Commit b17ec01

Browse files
committed
Ensure SNS/SQS are required only when needed
1 parent 77d1973 commit b17ec01

File tree

2 files changed

+36
-32
lines changed

2 files changed

+36
-32
lines changed

_changelog.md

+8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ Also see: [Architect changelog](https://github.com/architect/architect/blob/main
66

77
---
88

9+
## [5.3.1] 2022-11-30
10+
11+
### Fixed
12+
13+
- Fixed issue where users without the AWS-SDK installed locally or globally would error if `@architect/functions` is required or imported
14+
15+
---
16+
917
## [5.3.0] 2022-11-24
1018

1119
### Added

src/events/publish.js

+28-32
Original file line numberDiff line numberDiff line change
@@ -76,24 +76,22 @@ function _publishSandbox (type, params, callback) {
7676
}
7777

7878
function eventFactory (arc) {
79-
80-
let method
81-
if (isNode18) {
82-
let { SNS } = require('@aws-sdk/client-sns')
83-
let sns = new SNS
84-
method = (params, callback) => {
85-
return sns.publish(params, callback)
79+
return function live ({ name, payload }, callback) {
80+
let method
81+
if (isNode18) {
82+
let { SNS } = require('@aws-sdk/client-sns')
83+
let sns = new SNS
84+
method = (params, callback) => {
85+
return sns.publish(params, callback)
86+
}
8687
}
87-
}
88-
else {
89-
let SNS = require('aws-sdk/clients/sns')
90-
let sns = new SNS
91-
method = (params, callback) => {
92-
return sns.publish(params, callback)
88+
else {
89+
let SNS = require('aws-sdk/clients/sns')
90+
let sns = new SNS
91+
method = (params, callback) => {
92+
return sns.publish(params, callback)
93+
}
9394
}
94-
}
95-
96-
return function live ({ name, payload }, callback) {
9795

9896
function publish (arn, payload, callback) {
9997
method({
@@ -120,24 +118,22 @@ function eventFactory (arc) {
120118
}
121119

122120
function queueFactory (arc) {
123-
124-
let method
125-
if (isNode18) {
126-
let { SQS } = require('@aws-sdk/client-sqs')
127-
let sqs = new SQS
128-
method = (params, callback) => {
129-
return sqs.sendMessage(params, callback)
121+
return function live ({ name, payload, delaySeconds, groupID }, callback) {
122+
let method
123+
if (isNode18) {
124+
let { SQS } = require('@aws-sdk/client-sqs')
125+
let sqs = new SQS
126+
method = (params, callback) => {
127+
return sqs.sendMessage(params, callback)
128+
}
130129
}
131-
}
132-
else {
133-
let SQS = require('aws-sdk/clients/sqs')
134-
let sqs = new SQS
135-
method = (params, callback) => {
136-
return sqs.sendMessage(params, callback)
130+
else {
131+
let SQS = require('aws-sdk/clients/sqs')
132+
let sqs = new SQS
133+
method = (params, callback) => {
134+
return sqs.sendMessage(params, callback)
135+
}
137136
}
138-
}
139-
140-
return function live ({ name, payload, delaySeconds, groupID }, callback) {
141137

142138
function publish (arn, payload, callback) {
143139
let params = {

0 commit comments

Comments
 (0)