Socket
Socket
Sign inDemoInstall

@architect/hydrate

Package Overview
Dependencies
Maintainers
6
Versions
171
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@architect/hydrate - npm Package Compare versions

Comparing version 3.1.6-RC.0 to 3.1.6

4

package.json
{
"name": "@architect/hydrate",
"version": "3.1.6-RC.0",
"version": "3.1.6",
"description": "Architect dependency hydrator and shared file manager",

@@ -36,3 +36,3 @@ "main": "src/index.js",

"dependencies": {
"@architect/inventory": "~3.3.4-RC.0",
"@architect/inventory": "~3.3.4",
"@architect/utils": "~3.1.2",

@@ -39,0 +39,0 @@ "acorn-loose": "~8.3.0",

@@ -19,2 +19,3 @@ let { readFileSync } = require('fs')

let isESM = !!(hasImport)
let statement = isESM ? 'imports' : 'requires'

@@ -33,3 +34,3 @@ let called = []

if (r.init?.value) called.push(r.init.value)
else update.warn(`Dynamic ${isESM ? 'imports' : 'requires'} are not supported, dependency may not be installed: ${dir} imports '${id}'`)
else update.warn(`Lambda treeshaking does not support dynamic ${statement}, dependency may not be installed: ${dir} ${statement} '${id}'`)
})

@@ -36,0 +37,0 @@ }

@@ -6,2 +6,6 @@ let { existsSync, renameSync, writeFileSync } = require('fs')

let getLambdaDeps = require('./get-lambda-deps')
let sdkInfo = 'Architect does not manage AWS SDK, thus this code may be broken when deployed. See more at: https://arc.codes/aws-sdk-versions'
let sdkV2 = `'aws-sdk' (v2)`
let sdkV3short = `'@aws-sdk/*' (v3)`
let sdkV3long = `one or more ${sdkV3short} modules`

@@ -32,4 +36,4 @@ module.exports = function autoinstaller (params) {

let {
sharedDeps, sharedFiles, /* sharedAwsSdkV2, sharedAwsSdkV3, */
viewsDeps, viewsFiles, /* viewsAwsSdkV2, viewsAwsSdkV3, */
sharedDeps, sharedFiles, sharedAwsSdkV2, sharedAwsSdkV3,
viewsDeps, viewsFiles, viewsAwsSdkV2, viewsAwsSdkV3,
} = shared

@@ -39,7 +43,30 @@ projectDirs += shared.projectDirs

// TODO warn for shared/views
// Complain about possible shared code / AWS SDK issues
let foundSharedIssueWithAwsSdkV2 = 0, foundSharedIssueWithAwsSdkV3 = 0, foundViewsIssueWithAwsSdkV2 = 0, foundViewsIssueWithAwsSdkV3 = 0
Object.values(inventory.inv.lambdasBySrcDir).forEach(lambda => {
// Multi-tenant Lambda check
if (Array.isArray(lambda)) lambda = lambda[0]
let { runtime, shared, views } = lambda.config
if (!runtime.startsWith('nodejs')) return
let hasSdkV3 = runtime >= 'nodejs18.x'
let hasSdkV2 = runtime < 'nodejs18.x'
if (!foundSharedIssueWithAwsSdkV2 && shared && sharedAwsSdkV2 && hasSdkV3) foundSharedIssueWithAwsSdkV2++
if (!foundSharedIssueWithAwsSdkV3 && shared && sharedAwsSdkV3 && hasSdkV2) foundSharedIssueWithAwsSdkV3++
if (!foundViewsIssueWithAwsSdkV2 && views && viewsAwsSdkV2 && hasSdkV3) foundViewsIssueWithAwsSdkV2++
if (!foundViewsIssueWithAwsSdkV3 && views && viewsAwsSdkV3 && hasSdkV2) foundViewsIssueWithAwsSdkV3++
})
let sharedWarnings = []
if (foundSharedIssueWithAwsSdkV2) sharedWarnings.push(`- Found shared code that imports or requires ${sdkV2}; ${foundSharedIssueWithAwsSdkV2} Lambda(s) only have ${sdkV3short} built in`)
if (foundSharedIssueWithAwsSdkV3) sharedWarnings.push(`- Found shared code that imports or requires ${sdkV3long}; ${foundSharedIssueWithAwsSdkV3} Lambda(s) only have ${sdkV2} built in`)
if (foundViewsIssueWithAwsSdkV2) sharedWarnings.push(`- Found views code that imports or requires ${sdkV2}; ${foundViewsIssueWithAwsSdkV2} Lambda(s) only have ${sdkV3short} built in`)
if (foundViewsIssueWithAwsSdkV3) sharedWarnings.push(`- Found views code that imports or requires ${sdkV3long}; ${foundViewsIssueWithAwsSdkV3} Lambda(s) only have ${sdkV2} built in`)
if (sharedWarnings.length) {
sharedWarnings.unshift('Found possible AWS SDK version mismatches in Architect shared code')
sharedWarnings.push(sdkInfo)
update.warn(sharedWarnings.join('\n'))
}
let v2Warnings = []
let v3Warnings = []
dirs.forEach(dir => {

@@ -117,3 +144,3 @@ projectDirs++

depWarnings.push(
msg(plural(v2Warnings), `'aws-sdk'`),
msg(plural(v2Warnings), sdkV2),
...v2Warnings,

@@ -124,9 +151,9 @@ )

depWarnings.push(
msg(plural(v3Warnings), `one or more '@aws-sdk/*' (V3) modules`),
msg(plural(v3Warnings), sdkV3long),
...v3Warnings,
)
}
if (depWarnings) {
depWarnings.unshift('Found following possible AWS SDK version mismatches!')
depWarnings.push('Architect does not manage AWS SDK, thus this code may be broken when deployed. See more at: https://arc.codes/aws-sdk-versions')
if (depWarnings.length) {
depWarnings.unshift('Found possible AWS SDK version mismatches in Lambda handler code')
depWarnings.push(sdkInfo)
update.warn(depWarnings.join('\n'))

@@ -133,0 +160,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc