@@ -30,53 +30,56 @@ echo "CWD=$CWD"
3030npm cache clean --force
3131
3232pushd " $OPENTELEMETRY_JS_CONTRIB_PATH " > /dev/null
33- # Generate version files in opentelemetry-js-contrib
34- npx lerna@6.6.2 run version:update # Newer versions have trouble with our lerna.json which contains `useWorkspaces`
3533# Prepare opentelemetry-js-contrib
3634npm install
35+ # Generate version files in opentelemetry-js-contrib
36+ # Lerna 9 no longer requires useWorkspaces configuration - it uses npm workspaces by default
37+ npm run version:update
3738popd > /dev/null
3839
39- # Build opentelemetry -test-utils
40- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/opentelemetry -test-utils" > /dev/null
40+ # Build contrib -test-utils
41+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/contrib -test-utils" > /dev/null
4142npm install && npm run compile
4243popd > /dev/null
4344
4445# Build opentelemetry-propagator-aws-xray
45- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /propagators /propagator-aws-xray" > /dev/null
46+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages /propagator-aws-xray" > /dev/null
4647npm install --ignore-scripts && npm run compile
4748popd > /dev/null
4849
4950# Build opentelemetry-propagator-aws-xray-lambda
50- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /propagators /propagator-aws-xray-lambda" > /dev/null
51+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages /propagator-aws-xray-lambda" > /dev/null
5152npm install && npm run compile
5253popd > /dev/null
5354
54- # Build opentelemetry- propagation-utils
55- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/opentelemetry- propagation-utils" > /dev/null
55+ # Build propagation-utils
56+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/propagation-utils" > /dev/null
5657npm install && npm run compile
5758popd > /dev/null
5859
5960# Build opentelemetry-instrumentation-aws-lambda
60- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /plugins/node/opentelemetry- instrumentation-aws-lambda" > /dev/null
61+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/ instrumentation-aws-lambda" > /dev/null
6162rm -f opentelemetry-instrumentation-aws-lambda-* .tgz
6263npm install --ignore-scripts && npm run compile && npm pack --ignore-scripts
6364popd > /dev/null
6465
6566# Build opentelemetry-instrumentation-mongodb
66- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /plugins/node/opentelemetry- instrumentation-mongodb" > /dev/null
67+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/ instrumentation-mongodb" > /dev/null
6768rm -f opentelemetry-instrumentation-mongodb-* .tgz
6869npm install --ignore-scripts && npm run compile && npm pack --ignore-scripts
6970popd > /dev/null
7071
7172# Build opentelemetry-instrumentation-aws-sdk
72- pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /plugins/node/opentelemetry- instrumentation-aws-sdk" > /dev/null
73+ pushd " $OPENTELEMETRY_JS_CONTRIB_PATH /packages/ instrumentation-aws-sdk" > /dev/null
7374rm -f opentelemetry-instrumentation-aws-sdk-* .tgz
7475npm install --ignore-scripts && npm run compile && npm pack --ignore-scripts
7576popd > /dev/null
7677
7778# Prepare opentelemetry-js
7879pushd " $OPENTELEMETRY_JS_PATH " > /dev/null
7980npm install
81+ # Generate version files in opentelemetry-js (required for TypeScript compilation)
82+ npx nx run-many -t version
8083popd > /dev/null
8184
8285# Build sdk-logs
@@ -106,9 +109,9 @@ popd > /dev/null
106109# Install forked libraries in cx-wrapper
107110pushd " ./nodejs/packages/cx-wrapper" > /dev/null
108111npm install \
109- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-aws-lambda/opentelemetry-instrumentation-aws-lambda-* .tgz \
110- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-mongodb/opentelemetry-instrumentation-mongodb-* .tgz \
111- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-aws-sdk/opentelemetry-instrumentation-aws-sdk-* .tgz \
112+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-aws-lambda/opentelemetry-instrumentation-aws-lambda-* .tgz \
113+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-mongodb/opentelemetry-instrumentation-mongodb-* .tgz \
114+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-aws-sdk/opentelemetry-instrumentation-aws-sdk-* .tgz \
112115 " ${OPENTELEMETRY_JS_PATH} " /experimental/packages/opentelemetry-instrumentation/opentelemetry-instrumentation-* .tgz \
113116 " ${IITM_PATH} " /import-in-the-middle-* .tgz
114117popd > /dev/null
@@ -122,9 +125,9 @@ popd > /dev/null
122125# Install libraries in layer
123126pushd " ./nodejs/packages/layer" > /dev/null
124127npm install \
125- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-aws-lambda/opentelemetry-instrumentation-aws-lambda-* .tgz \
126- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-mongodb/opentelemetry-instrumentation-mongodb-* .tgz \
127- " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /plugins/node/opentelemetry- instrumentation-aws-sdk/opentelemetry-instrumentation-aws-sdk-* .tgz \
128+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-aws-lambda/opentelemetry-instrumentation-aws-lambda-* .tgz \
129+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-mongodb/opentelemetry-instrumentation-mongodb-* .tgz \
130+ " ${OPENTELEMETRY_JS_CONTRIB_PATH} " /packages/ instrumentation-aws-sdk/opentelemetry-instrumentation-aws-sdk-* .tgz \
128131 " ${OPENTELEMETRY_JS_PATH} " /experimental/packages/opentelemetry-instrumentation/opentelemetry-instrumentation-* .tgz \
129132 " ${IITM_PATH} " /import-in-the-middle-* .tgz \
130133 " ${CWD} " /nodejs/packages/cx-wrapper/cx-wrapper-* .tgz
@@ -135,6 +138,13 @@ npm install -g copyfiles bestzip rimraf
135138
136139# Build layer
137140pushd " ./nodejs/packages/layer" > /dev/null
138- npm run clean && npm install
141+ npm run clean && npm install --production
142+ # Dedupe dependencies to remove duplicates and reduce size
143+ npm dedupe
144+ # Remove unnecessary files to reduce layer size
145+ find node_modules -name " *.map" -delete
146+ find node_modules -type d \( -name " test" -o -name " tests" -o -name " docs" -o -name " doc" \) -exec rm -rf {} + 2> /dev/null || true
147+ # Rebuild layer with optimized dependencies
148+ npm run clean && npm run compile
139149ls -lah build/layer.zip
140- popd > /dev/null
150+ popd > /dev/null
0 commit comments