Skip to content

Commit f99ccd7

Browse files
committed
chore: only clean up affected packages
1 parent 657daeb commit f99ccd7

2 files changed

Lines changed: 45 additions & 12 deletions

File tree

.github/workflows/deploy-npm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ jobs:
164164
NPM_CONFIG_PROVENANCE: true
165165
run: |
166166
# Remove unnecessary fields from package.json before publishing
167-
./scripts/make-package-json-publish-ready.sh
167+
./scripts/make-package-json-publish-ready.sh ${{ env.last_monorepo_version }} ${{ env.current_monorepo_version }}
168168
169169
TAG_OPTION=""
170170
if [[ "${{ inputs.environment }}" == "beta" ]]; then
Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,61 @@
11
#!/bin/sh
22

3+
# Accept base and head as parameters (default to develop and HEAD)
4+
BASE_REF=${1:-develop}
5+
HEAD_REF=${2:-HEAD}
6+
37
# Define the base directory of your monorepo
48
BASE_DIR=$(pwd)
59
# Define the directory containing your packages
610
PACKAGES_DIR="$BASE_DIR/packages"
711

8-
# Iterate over each package directory
9-
for package in "$PACKAGES_DIR"/*; do
12+
# Get affected projects using Nx
13+
echo "Getting affected packages (base: $BASE_REF, head: $HEAD_REF)..."
14+
AFFECTED_PROJECTS=$(npx nx show projects --affected --base="$BASE_REF" --head="$HEAD_REF" 2>/dev/null)
15+
16+
if [ -z "$AFFECTED_PROJECTS" ]; then
17+
echo "No affected packages found."
18+
exit 0
19+
fi
20+
21+
echo "Affected packages:"
22+
echo "$AFFECTED_PROJECTS"
23+
echo ""
24+
25+
# Convert project names to package directories
26+
for project in $AFFECTED_PROJECTS; do
27+
# Extract package name from @rudderstack/analytics-js format
28+
package_name=$(echo "$project" | sed 's/@rudderstack\///')
29+
30+
# Map project names to their directory names
31+
case "$package_name" in
32+
"analytics-js-loading-scripts") package_dir="loading-scripts" ;;
33+
"analytics-js-sanity-suite") package_dir="sanity-suite" ;;
34+
"rudder-sdk-js") package_dir="analytics-v1.1" ;;
35+
*) package_dir="$package_name" ;;
36+
esac
37+
38+
package="$PACKAGES_DIR/$package_dir"
39+
1040
if [ -d "$package" ]; then
1141
PACKAGE_JSON="$package/package.json"
1242
if [ -f "$PACKAGE_JSON" ]; then
1343
echo "Cleaning $PACKAGE_JSON..."
14-
jq 'del(.dependencies, .devDependencies, .peerDependencies, .optionalDependencies, .overrides, .scripts, .browserslist)' "$PACKAGE_JSON" > "$package/package_cleaned.json" && mv "$package/package_cleaned.json" "$PACKAGE_JSON"
44+
45+
# Special handling for legacy SDK (rudder-sdk-js)
46+
if [ "$package_name" = "rudder-sdk-js" ]; then
47+
# Clean and then add back the postinstall script
48+
jq 'del(.dependencies, .devDependencies, .peerDependencies, .optionalDependencies, .overrides, .scripts, .browserslist) | .scripts = {"postinstall": "echo '\''This package is deprecated and no longer maintained. While your events are still being tracked and delivered, we strongly recommend you to migrate to the latest @rudderstack/analytics-js (https://www.npmjs.com/package/@rudderstack/analytics-js) package for enhanced features, security updates, and ongoing support. For more details, visit the migration guide: https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/migration-guide/'\''" }' "$PACKAGE_JSON" > "$package/package_cleaned.json" && mv "$package/package_cleaned.json" "$PACKAGE_JSON"
49+
else
50+
# Standard cleaning for all other packages
51+
jq 'del(.dependencies, .devDependencies, .peerDependencies, .optionalDependencies, .overrides, .scripts, .browserslist)' "$PACKAGE_JSON" > "$package/package_cleaned.json" && mv "$package/package_cleaned.json" "$PACKAGE_JSON"
52+
fi
1553
else
1654
echo "No package.json found in $package"
1755
fi
56+
else
57+
echo "Package directory not found: $package"
1858
fi
1959
done
2060

21-
# Add postinstall script to the legacy SDK package.json
22-
legacy_sdk_package="$PACKAGES_DIR/analytics-v1.1"
23-
package_json="$legacy_sdk_package/package.json"
24-
25-
echo "Adding postinstall script to $package_json..."
26-
jq '.scripts = (.scripts // {}) | .scripts.postinstall = "echo '\''This package is deprecated and no longer maintained. While your events are still being tracked and delivered, we strongly recommend you to migrate to the latest @rudderstack/analytics-js (https://www.npmjs.com/package/@rudderstack/analytics-js) package for enhanced features, security updates, and ongoing support. For more details, visit the migration guide: https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/migration-guide/'\''"' "$package_json" > "$legacy_sdk_package/package_cleaned.json" && mv "$legacy_sdk_package/package_cleaned.json" "$package_json"
27-
28-
echo "Cleaning completed for all packages."
61+
echo "Cleaning completed for affected packages."

0 commit comments

Comments
 (0)