@@ -60,35 +60,60 @@ jobs:
60
60
working-directory : test_apps/encore-app
61
61
dependency-versions : highest
62
62
63
+ - name : Manually replacing "workspace:*" references
64
+ run : |
65
+ for PACKAGE_DATA in $(cd ../..; pnpm ls -r --json --depth -1 | jq 'map(select(.private != true))' | jq -c '.[]'); do
66
+ PACKAGE=$(echo $PACKAGE_DATA | jq -r '.name')
67
+ PACKAGE_PATH=$(echo $PACKAGE_DATA | jq -r '.path')
68
+
69
+ echo "Searching for \"workspace:*\" references in $PACKAGE_PATH/package.json"
70
+
71
+ # Manually replace "workspace:" constraints with the actual package version, it ensure packages can be installed with npm
72
+ jq -rc '[(.dependencies // {}) + (.devDependencies // {}) | to_entries[] | select(.value == "workspace:*") | .key][]' "$PACKAGE_PATH/package.json" | while read -r PACKAGE_FROM_WORKSPACE ; do
73
+ # Extract the resolved version of the package from the workspace, e.g.: "link:../../../../assets"
74
+ echo "Found \"$PACKAGE_FROM_WORKSPACE\" with \"workspace:*\"
75
+
76
+ echo '---'
77
+ pnpm ls --filter $PACKAGE_FROM_WORKSPACE --json --depth -1
78
+ echo '---'
79
+
80
+ PACKAGE_FROM_WORKSPACE_PATH=$(cd ../..; pnpm ls --filter $PACKAGE_FROM_WORKSPACE --json --depth -1 | jq -r '.[].path')
81
+ echo "The package \"$PACKAGE_FROM_WORKSPACE\" is located in \"$PACKAGE_FROM_WORKSPACE_PATH\" directory"
82
+
83
+ echo "Replacing \"$PACKAGE_FROM_WORKSPACE\" with \"file:$PACKAGE_FROM_WORKSPACE_PATH\" in $PACKAGE_PATH/package.json"
84
+ sed -i "s|\"$PACKAGE_FROM_WORKSPACE\": \"workspace:\*\"|\"$PACKAGE_FROM_WORKSPACE\": \"file:$PACKAGE_FROM_WORKSPACE_PATH\"|g" "$PACKAGE_PATH/package.json"
85
+ done;
86
+ done
87
+
63
88
- working-directory : test_apps/encore-app
64
- run : pnpm install --ignore-workspace
89
+ run : npm install
65
90
66
91
- if : matrix.ux-packages-source == 'js-packages'
67
92
name : Install UX JS packages with a JS package manager
68
93
working-directory : test_apps/encore-app
69
94
run : |
70
95
PACKAGES_TO_INSTALL=''
71
- for PACKAGE in $(cd ../..; pnpm ls -r --json --depth -1 | jq 'map(select(.private != true))' | jq -c '.[]'); do
72
- PACKAGE_ABSOLUTE_PATH=$(echo $PACKAGE | jq -r '.path')
73
- PACKAGE_RELATIVE_PATH=$(realpath --relative-to=. "$PACKAGE_ABSOLUTE_PATH")
74
- PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL file:$PACKAGE_RELATIVE_PATH"
96
+ for PACKAGE_DATA in $(cd ../..; pnpm ls -r --json --depth -1 | jq 'map(select(.private != true))' | jq -c '.[]'); do
97
+ PACKAGE_PATH=$(echo $PACKAGE_DATA | jq -r '.path')
98
+ PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL file:$(realpath --relative-to=. "$PACKAGE_PATH")"
75
99
done
100
+
76
101
echo "Installing packages: $PACKAGES_TO_INSTALL"
77
- pnpm add --save-dev $PACKAGES_TO_INSTALL
102
+ npm add --save-dev $PACKAGES_TO_INSTALL
78
103
79
104
- name : Ensure UX packages are installed from "${{ env.EXPECTED_PATTERN }}"
80
105
working-directory : test_apps/encore-app
81
106
run : |
82
107
for PACKAGE in $(cat package.json | jq -c '(.dependencies // {}) + (.devDependencies // {}) | to_entries[] | select(.key | startswith("@symfony/ux-")) | {name: .key, version: .value}'); do
83
- PACKAGE_NAME =$(echo $PACKAGE | jq -r '.name')
108
+ PACKAGE =$(echo $PACKAGE | jq -r '.name')
84
109
PACKAGE_VERSION=$(echo $PACKAGE | jq -r '.version')
85
110
86
- echo -n "Checking $PACKAGE_NAME @$PACKAGE_VERSION..."
111
+ echo -n "Checking $PACKAGE @$PACKAGE_VERSION..."
87
112
if [[ $PACKAGE_VERSION == $EXPECTED_PATTERN* ]]; then
88
113
echo " OK"
89
114
else
90
115
echo " KO"
91
- echo "The package version of $PACKAGE_NAME must starts with the pattern (e.g.: $EXPECTED_PATTERN), got $PACKAGE_VERSION instead."
116
+ echo "The package version of $PACKAGE must starts with the pattern (e.g.: $EXPECTED_PATTERN), got $PACKAGE_VERSION instead."
92
117
exit 1
93
118
fi
94
119
done;
97
122
98
123
- name : Ensure project can be built in dev mode
99
124
working-directory : test_apps/encore-app
100
- run : pnpm run dev
125
+ run : npm run dev
101
126
102
127
- name : Ensure project can be built in prod mode
103
128
working-directory : test_apps/encore-app
104
- run : pnpm run build
129
+ run : npm run build
0 commit comments