Skip to content

Commit 35ca513

Browse files
authored
πŸ‘· Other strategy to handle test app lockfiles with renovate (#4028)
* Revert "πŸ‘· Enable more renovate flags... (#4023)" This reverts commit 8946d69. * Revert "πŸ‘· Ensure that renovate do a full install (#4021)" This reverts commit c551034. * Revert "πŸ‘· Ensure to have tarballs built at install (#4019)" This reverts commit d20837f. * Make packages deps optional * πŸ’¬ add intent comment
1 parent 4726dad commit 35ca513

File tree

12 files changed

+86
-175
lines changed

12 files changed

+86
-175
lines changed

β€Ž.gitlab-ci.ymlβ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ typecheck:
153153
interruptible: true
154154
script:
155155
- yarn
156+
- yarn build
156157
- yarn typecheck
157158
- scripts/cli typecheck test/apps/vanilla
158159
- scripts/cli typecheck test/e2e
@@ -164,6 +165,7 @@ build-and-lint:
164165
interruptible: true
165166
script:
166167
- yarn
168+
- yarn build
167169
- yarn lint
168170
- node scripts/check-packages.ts
169171

@@ -611,6 +613,7 @@ check-expired-telemetry-scheduled:
611613
- $TARGET_TASK_NAME == "check-expired-telemetry"
612614
script:
613615
- yarn
616+
- yarn build
614617
- MONITOR_UNTIL_COMMENT_EXPIRED_LEVEL=error yarn lint
615618

616619
check-expired-telemetry-scheduled-failure:

β€Žpackage.jsonβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
],
1111
"type": "module",
1212
"scripts": {
13-
"postinstall": "scripts/cli init_submodule && scripts/cli ci_build_and_pack",
13+
"postinstall": "scripts/cli init_submodule",
1414
"build": "yarn workspaces foreach --all --parallel --topological run build",
1515
"build:bundle": "yarn workspaces foreach --all --parallel run build:bundle",
1616
"build:apps": "node scripts/build/build-test-apps.ts",

β€Žrenovate.jsonβ€Ž

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
"lockFileMaintenance": {
1515
"enabled": true
1616
},
17-
"skipInstalls": false,
18-
"allowScripts": true,
19-
"ignoreScripts": false,
2017
"packageRules": [
2118
{
2219
"groupName": "all non-major dependencies",

β€Žscripts/build/build-test-apps.tsβ€Ž

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,23 @@ runMain(async () => {
2727
function buildApp(appPath: string) {
2828
printLog(`Building app at ${appPath}...`)
2929
command`yarn install --no-immutable`.withCurrentWorkingDirectory(appPath).run()
30+
31+
// install peer dependencies if any
32+
// intent: renovate does not allow to generate local packages before install
33+
// so local packages are marked as optional peer dependencies and only installed when we build the test apps
34+
const packageJson = JSON.parse(fs.readFileSync(path.join(appPath, 'package.json'), 'utf-8'))
35+
if (packageJson.peerDependencies) {
36+
// For each peer dependency, install it
37+
for (const [name] of Object.entries(packageJson.peerDependencies)) {
38+
command`yarn add -D ${name}`.withCurrentWorkingDirectory(appPath).run()
39+
}
40+
// revert package.json & yarn.lock changes if they are versioned
41+
const areFilesVersioned = command`git ls-files package.json yarn.lock`.withCurrentWorkingDirectory(appPath).run()
42+
if (areFilesVersioned) {
43+
command`git checkout package.json yarn.lock`.withCurrentWorkingDirectory(appPath).run()
44+
}
45+
}
46+
3047
command`yarn build`.withCurrentWorkingDirectory(appPath).run()
3148
}
3249

β€Žscripts/cliβ€Ž

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,6 @@ cmd_check_server_side_rendering_compatibility () {
9191
yarn compat:ssr || fail 'server side rendering compatibility broken'
9292
}
9393

94-
# in CI, build and pack after install to allow renovate to install test apps
95-
cmd_ci_build_and_pack () {
96-
if [[ -z "${CI+x}" ]]; then
97-
exit 0
98-
else
99-
yarn build
100-
yarn run pack
101-
fi
102-
}
103-
10494
fail () {
10595
echo
10696
echo "❌ ${1}"

β€Žtest/apps/base-extension/package.jsonβ€Ž

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,22 @@
44
"scripts": {
55
"build": "webpack"
66
},
7-
"dependencies": {
8-
"@datadog/browser-logs": "file:../../../packages/logs/package.tgz",
9-
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz"
7+
"peerDependencies": {
8+
"@datadog/browser-logs": "*",
9+
"@datadog/browser-rum": "*"
10+
},
11+
"peerDependenciesMeta": {
12+
"@datadog/browser-logs": {
13+
"optional": true
14+
},
15+
"@datadog/browser-rum": {
16+
"optional": true
17+
}
1018
},
1119
"resolutions": {
1220
"@datadog/browser-rum-core": "file:../../../packages/rum-core/package.tgz",
21+
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz",
22+
"@datadog/browser-logs": "file:../../../packages/logs/package.tgz",
1323
"@datadog/browser-core": "file:../../../packages/core/package.tgz",
1424
"@datadog/browser-rum-slim": "file:../../../packages/rum-slim/package.tgz",
1525
"@datadog/browser-worker": "file:../../../packages/worker/package.tgz"

β€Žtest/apps/base-extension/yarn.lockβ€Ž

Lines changed: 8 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,6 @@ __metadata:
55
version: 8
66
cacheKey: 10c0
77

8-
"@datadog/browser-core@file:../../../packages/core/package.tgz::locator=rum-testing-extension%40workspace%3A.":
9-
version: 6.25.0
10-
resolution: "@datadog/browser-core@file:../../../packages/core/package.tgz#../../../packages/core/package.tgz::hash=5f6a44&locator=rum-testing-extension%40workspace%3A."
11-
checksum: 10c0/d20a19ba2e618847b466eab8363487b85fc487befd0b93e16410f54f8b32ea94c9e6b1a7c66e9541fd708d2eac6f3416cd214f5ad7e5104459d87a73687d506f
12-
languageName: node
13-
linkType: hard
14-
15-
"@datadog/browser-logs@file:../../../packages/logs/package.tgz::locator=rum-testing-extension%40workspace%3A.":
16-
version: 6.25.0
17-
resolution: "@datadog/browser-logs@file:../../../packages/logs/package.tgz#../../../packages/logs/package.tgz::hash=2789e6&locator=rum-testing-extension%40workspace%3A."
18-
dependencies:
19-
"@datadog/browser-core": "npm:6.25.0"
20-
peerDependencies:
21-
"@datadog/browser-rum": 6.25.0
22-
peerDependenciesMeta:
23-
"@datadog/browser-rum":
24-
optional: true
25-
checksum: 10c0/d04b7f0d59678cfe5447e3627166e81959e754b4366c0f88aef36d8a0fc3abd4e4f623113da0d983e4304661f5f9d4903a46c5873bb8e4c6686abf4bb940cd38
26-
languageName: node
27-
linkType: hard
28-
29-
"@datadog/browser-rum-core@file:../../../packages/rum-core/package.tgz::locator=rum-testing-extension%40workspace%3A.":
30-
version: 6.25.0
31-
resolution: "@datadog/browser-rum-core@file:../../../packages/rum-core/package.tgz#../../../packages/rum-core/package.tgz::hash=62f963&locator=rum-testing-extension%40workspace%3A."
32-
dependencies:
33-
"@datadog/browser-core": "npm:6.25.0"
34-
checksum: 10c0/e14f387c7591daea532ce34e62f906a9f39e19fe4749914b8db44a84a3de561bd75ac54fe48713220fb7e01feb187c158c984e3f7c6b3191b46bb15d2ffefefe
35-
languageName: node
36-
linkType: hard
37-
38-
"@datadog/browser-rum@file:../../../packages/rum/package.tgz::locator=rum-testing-extension%40workspace%3A.":
39-
version: 6.25.0
40-
resolution: "@datadog/browser-rum@file:../../../packages/rum/package.tgz#../../../packages/rum/package.tgz::hash=912b9a&locator=rum-testing-extension%40workspace%3A."
41-
dependencies:
42-
"@datadog/browser-core": "npm:6.25.0"
43-
"@datadog/browser-rum-core": "npm:6.25.0"
44-
peerDependencies:
45-
"@datadog/browser-logs": 6.25.0
46-
peerDependenciesMeta:
47-
"@datadog/browser-logs":
48-
optional: true
49-
checksum: 10c0/596e6c651000bcaaaac1ef11c7573c570d963d223d05d03ad07a3e1957a95cf2fdc50880b71b145690e6c735d44c150272bba0208b307cba5d361cf190883953
50-
languageName: node
51-
linkType: hard
52-
538
"@discoveryjs/json-ext@npm:^0.6.1":
549
version: 0.6.3
5510
resolution: "@discoveryjs/json-ext@npm:0.6.3"
@@ -928,10 +883,16 @@ __metadata:
928883
version: 0.0.0-use.local
929884
resolution: "rum-testing-extension@workspace:."
930885
dependencies:
931-
"@datadog/browser-logs": "file:../../../packages/logs/package.tgz"
932-
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz"
933886
webpack: "npm:5.103.0"
934887
webpack-cli: "npm:6.0.1"
888+
peerDependencies:
889+
"@datadog/browser-logs": "*"
890+
"@datadog/browser-rum": "*"
891+
peerDependenciesMeta:
892+
"@datadog/browser-logs":
893+
optional: true
894+
"@datadog/browser-rum":
895+
optional: true
935896
languageName: unknown
936897
linkType: soft
937898

β€Žtest/apps/react-router-v6-app/app.tsxβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,6 @@ document.body.appendChild(rootElement)
129129
const root = ReactDOM.createRoot(rootElement)
130130
root.render(
131131
<React.StrictMode>
132-
<RouterProvider router={router} />
132+
<RouterProvider router={router as any} />
133133
</React.StrictMode>
134134
)

β€Žtest/apps/react-router-v6-app/package.jsonβ€Ž

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,27 @@
55
"build": "webpack"
66
},
77
"dependencies": {
8-
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz",
9-
"@datadog/browser-rum-react": "file:../../../packages/rum-react/package.tgz",
108
"react": "19.2.0",
119
"react-dom": "19.2.0",
1210
"react-router-dom": "6.30.0"
1311
},
12+
"peerDependencies": {
13+
"@datadog/browser-rum": "*",
14+
"@datadog/browser-rum-react": "*"
15+
},
16+
"peerDependenciesMeta": {
17+
"@datadog/browser-rum": {
18+
"optional": true
19+
},
20+
"@datadog/browser-rum-react": {
21+
"optional": true
22+
}
23+
},
1424
"resolutions": {
1525
"@datadog/browser-rum-core": "file:../../../packages/rum-core/package.tgz",
1626
"@datadog/browser-core": "file:../../../packages/core/package.tgz",
27+
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz",
28+
"@datadog/browser-rum-react": "file:../../../packages/rum-react/package.tgz",
1729
"@datadog/browser-rum-slim": "file:../../../packages/rum-slim/package.tgz",
1830
"@datadog/browser-worker": "file:../../../packages/worker/package.tgz"
1931
},

β€Žtest/apps/react-router-v6-app/yarn.lockβ€Ž

Lines changed: 8 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -5,62 +5,6 @@ __metadata:
55
version: 8
66
cacheKey: 10c0
77

8-
"@datadog/browser-core@file:../../../packages/core/package.tgz::locator=react-router-v6-app%40workspace%3A.":
9-
version: 6.25.0
10-
resolution: "@datadog/browser-core@file:../../../packages/core/package.tgz#../../../packages/core/package.tgz::hash=5f6a44&locator=react-router-v6-app%40workspace%3A."
11-
checksum: 10c0/d20a19ba2e618847b466eab8363487b85fc487befd0b93e16410f54f8b32ea94c9e6b1a7c66e9541fd708d2eac6f3416cd214f5ad7e5104459d87a73687d506f
12-
languageName: node
13-
linkType: hard
14-
15-
"@datadog/browser-rum-core@file:../../../packages/rum-core/package.tgz::locator=react-router-v6-app%40workspace%3A.":
16-
version: 6.25.0
17-
resolution: "@datadog/browser-rum-core@file:../../../packages/rum-core/package.tgz#../../../packages/rum-core/package.tgz::hash=62f963&locator=react-router-v6-app%40workspace%3A."
18-
dependencies:
19-
"@datadog/browser-core": "npm:6.25.0"
20-
checksum: 10c0/e14f387c7591daea532ce34e62f906a9f39e19fe4749914b8db44a84a3de561bd75ac54fe48713220fb7e01feb187c158c984e3f7c6b3191b46bb15d2ffefefe
21-
languageName: node
22-
linkType: hard
23-
24-
"@datadog/browser-rum-react@file:../../../packages/rum-react/package.tgz::locator=react-router-v6-app%40workspace%3A.":
25-
version: 6.25.0
26-
resolution: "@datadog/browser-rum-react@file:../../../packages/rum-react/package.tgz#../../../packages/rum-react/package.tgz::hash=fb5234&locator=react-router-v6-app%40workspace%3A."
27-
dependencies:
28-
"@datadog/browser-core": "npm:6.25.0"
29-
"@datadog/browser-rum-core": "npm:6.25.0"
30-
peerDependencies:
31-
react: 18 || 19
32-
react-router: 6 || 7
33-
react-router-dom: 6 || 7
34-
peerDependenciesMeta:
35-
"@datadog/browser-rum":
36-
optional: true
37-
"@datadog/browser-rum-slim":
38-
optional: true
39-
react:
40-
optional: true
41-
react-router:
42-
optional: true
43-
react-router-dom:
44-
optional: true
45-
checksum: 10c0/27d1521afed6fd6a225a4be63633c57d206a09e082c218f91d658d4a6054f43ae11c4acb93b2cf3a781e01a4c847f95609414795a24f6a262aedb0cf8b102fa0
46-
languageName: node
47-
linkType: hard
48-
49-
"@datadog/browser-rum@file:../../../packages/rum/package.tgz::locator=react-router-v6-app%40workspace%3A.":
50-
version: 6.25.0
51-
resolution: "@datadog/browser-rum@file:../../../packages/rum/package.tgz#../../../packages/rum/package.tgz::hash=912b9a&locator=react-router-v6-app%40workspace%3A."
52-
dependencies:
53-
"@datadog/browser-core": "npm:6.25.0"
54-
"@datadog/browser-rum-core": "npm:6.25.0"
55-
peerDependencies:
56-
"@datadog/browser-logs": 6.25.0
57-
peerDependenciesMeta:
58-
"@datadog/browser-logs":
59-
optional: true
60-
checksum: 10c0/596e6c651000bcaaaac1ef11c7573c570d963d223d05d03ad07a3e1957a95cf2fdc50880b71b145690e6c735d44c150272bba0208b307cba5d361cf190883953
61-
languageName: node
62-
linkType: hard
63-
648
"@jridgewell/gen-mapping@npm:^0.3.5":
659
version: 0.3.12
6610
resolution: "@jridgewell/gen-mapping@npm:0.3.12"
@@ -733,14 +677,20 @@ __metadata:
733677
version: 0.0.0-use.local
734678
resolution: "react-router-v6-app@workspace:."
735679
dependencies:
736-
"@datadog/browser-rum": "file:../../../packages/rum/package.tgz"
737-
"@datadog/browser-rum-react": "file:../../../packages/rum-react/package.tgz"
738680
react: "npm:19.2.0"
739681
react-dom: "npm:19.2.0"
740682
react-router-dom: "npm:6.30.0"
741683
ts-loader: "npm:9.5.4"
742684
typescript: "npm:5.9.3"
743685
webpack: "npm:5.103.0"
686+
peerDependencies:
687+
"@datadog/browser-rum": "*"
688+
"@datadog/browser-rum-react": "*"
689+
peerDependenciesMeta:
690+
"@datadog/browser-rum":
691+
optional: true
692+
"@datadog/browser-rum-react":
693+
optional: true
744694
languageName: unknown
745695
linkType: soft
746696

0 commit comments

Comments
Β (0)