Skip to content

Commit 7026bc8

Browse files
authored
Remove build dependency on jq and apk (#193)
1 parent 037f913 commit 7026bc8

File tree

4 files changed

+18
-11
lines changed

4 files changed

+18
-11
lines changed

Dockerfile

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ ARG image
22
FROM $image
33

44
# Create the directory structure required for AWS Lambda Layer
5-
RUN apk update
6-
RUN apk add jq
75
RUN mkdir -p /nodejs/node_modules/
86

97
# Install dev dependencies
@@ -16,13 +14,12 @@ RUN yarn build
1614
RUN cp -r dist /nodejs/node_modules/datadog-lambda-js
1715
RUN rm -rf node_modules
1816

19-
# Move dd-trace devDependency to dependencies
20-
# This adds dd-trace to our layer, while keeping it an optional dependency for npm.
21-
RUN jq '. +{"dependencies": (.dependencies + {"dd-trace": .devDependencies."dd-trace"})}' package.json > package.json-temp && \
22-
mv package.json-temp package.json
23-
24-
# Copy the production dependencies to the modules folder
17+
# Move dd-trace from devDependencies to production dependencies
18+
# That way it is included in our layer, while keeping it an optional dependency for npm
19+
RUN node ./scripts/move_ddtrace_dependency.js "$(cat package.json)" > package.json
20+
# Install dependencies
2521
RUN yarn install --production=true
22+
# Copy the dependencies to the modules folder
2623
RUN cp -rf node_modules/* /nodejs/node_modules
2724

2825
# Remove the AWS SDK, which is installed in the lambda by default

scripts/move_ddtrace_dependency.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Moves the dd-trace dependency from devDependencies to dependencies within package.json.
2+
// This is used when building the Layer
3+
4+
// USAGE: ./move_dd_trace_dependency.js "$(cat package.json)" > package.json
5+
6+
const file = JSON.parse(process.argv[2]);
7+
const ddTraceVersion = file.devDependencies["dd-trace"];
8+
delete file.devDependencies["dd-trace"];
9+
file.dependencies["dd-trace"] = ddTraceVersion;
10+
console.log(JSON.stringify(file, null, 2));

scripts/publish_prod.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ else
3131
NEW_VERSION=$1
3232
fi
3333

34-
echo "Ensure you have access to the dataodg NPM service account"
34+
echo "Ensure you have access to the datadog NPM service account"
3535
yarn login
3636

3737
echo "Ensure you have access to the AWS GovCloud account"

scripts/update_dist_version.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/bin/sh
22
set -e
33
echo "Updating version constants"
4-
DATADOG_LAMBDA_VERSION=$(cat package.json | jq -r ".version")
5-
DD_TRACE_VERSION=$(sed -n -E "s/dd-trace@([0-9]*.[0-9]*.[0-9]*):/\1/p" yarn.lock)
4+
DATADOG_LAMBDA_VERSION=$(node -pe "require('./package.json').version")
5+
DD_TRACE_VERSION=$(sed -n -E "s/dd-trace@([0-9]*\.[0-9]*\.[0-9]*):/\1/p" yarn.lock)
66
echo "Datadog Lambda Library Version ${DATADOG_LAMBDA_VERSION}"
77
echo "Datadog Trace Library Version ${DD_TRACE_VERSION}"
88

0 commit comments

Comments
 (0)