diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 31202d64e..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,75 +0,0 @@ -version: 2 -updates: - - package-ecosystem: github-actions - directory: / - schedule: - interval: weekly - cooldown: - default-days: 5 - - - package-ecosystem: npm - directories: - - "/" - - "/cli" - - "/demo/frontend" - - "/demo/frontend-cdn" - - "/demo/frontend-sdk" - schedule: - interval: weekly - cooldown: - default-days: 5 - open-pull-requests-limit: 5 - - groups: - # Production dependencies - keep separate and prioritized - open-telemetry: - patterns: - - "@opentelemetry/*" - - production-deps: - patterns: - - "hoist-non-react-statics" - - "uuid" - - "web-vitals" - - # Build and dev tools - batch together - dev-tooling: - patterns: - - "@swc/*" - - "es-check" - - "esbuild" - - "globals" - - "publint" - - "sonda" - - "terser" - - "tsdown" - - "tsx" - - "typescript" - - "*vite*" - - # Type definitions - types: - patterns: - - "@types/*" - - # Commit and code quality tools - code-quality: - patterns: - - "@commitlint/*" - - "@biomejs/biome" - - # Testing - test-tools: - patterns: - - "*chai*" - - "*chrome*" - - "*jest*" - - "*mocha*" - - "*playwright*" - - "*sinon*" - - "*test-runner*" - - # React ecosystem - react: - patterns: - - "*react*" diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 000000000..0a0d19380 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,78 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:recommended"], + "schedule": ["before 3am on Monday"], + "prConcurrentLimit": 5, + "dependencyDashboard": true, + "rangeStrategy": "pin", + "lockFileMaintenance": { + "enabled": true, + "schedule": ["before 3am on the first day of the month"] + }, + "packageRules": [ + { + "description": "OpenTelemetry packages - group and wait for stability", + "matchPackagePatterns": ["^@opentelemetry/"], + "groupName": "OpenTelemetry", + "stabilityDays": 3 + }, + { + "description": "Production dependencies - manual review required", + "matchDepTypes": ["dependencies"], + "excludePackagePatterns": ["^@opentelemetry/"], + "groupName": "production-deps", + "stabilityDays": 3 + }, + { + "description": "Build tools - auto-merge minor and patch", + "matchPackageNames": [ + "@biomejs/biome", + "esbuild", + "globals", + "rimraf", + "sonda", + "terser", + "tsdown", + "tsx", + "typescript", + "vite" + ], + "groupName": "build-tools", + "automerge": true, + "automergeType": "pr", + "matchUpdateTypes": ["minor", "patch"] + }, + { + "description": "Testing tools - auto-merge minor and patch", + "matchPackagePatterns": [ + "chai", + "mocha", + "sinon", + "playwright", + "test-runner" + ], + "groupName": "test-tools", + "automerge": true, + "automergeType": "pr", + "matchUpdateTypes": ["minor", "patch"] + }, + { + "description": "GitHub Actions - auto-merge minor/patch", + "matchManagers": ["github-actions"], + "automerge": true, + "automergeType": "pr", + "matchUpdateTypes": ["minor", "patch"] + }, + { + "description": "npm, node, @types/node - pinned due to Node.js bug", + "matchPackageNames": ["npm", "node", "@types/node"], + "enabled": false + }, + { + "description": "react-router-dom - prevent major updates", + "matchPackagePatterns": ["^react-router-dom"], + "matchUpdateTypes": ["major"], + "enabled": false + } + ] +} diff --git a/demo/frontend/package.json b/demo/frontend/package.json index 0efcf16fe..5608d0bc1 100644 --- a/demo/frontend/package.json +++ b/demo/frontend/package.json @@ -24,11 +24,11 @@ "@opentelemetry/sdk-trace-web": "2.2.0", "react": "19.2.0", "react-dom": "19.2.0", - "react-router-domv4v5": "npm:react-router-dom@^5.3.3", - "react-router-domv6plus": "npm:react-router-dom@^7.6.1" + "react-router-domv4v5": "npm:react-router-dom@5.3.4", + "react-router-domv6plus": "npm:react-router-dom@7.9.5" }, "devDependencies": { "@embrace-io/web-cli": "../../cli", - "@types/react-router-domv4v5": "npm:@types/react-router-dom@^5.3.3" + "@types/react-router-domv4v5": "npm:@types/react-router-dom@5.3.3" } } diff --git a/package-lock.json b/package-lock.json index f61522dd3..cde9d0cef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,10 +35,9 @@ "@biomejs/biome": "2.3.3", "@commitlint/cli": "20.1.0", "@commitlint/config-conventional": "20.0.0", - "@mdn/browser-compat-data": "^7.1.18", + "@mdn/browser-compat-data": "7.1.20", "@playwright/test": "1.56.1", "@remcovaes/web-test-runner-vite-plugin": "1.4.0", - "@swc/core": "1.15.0", "@types/chai": "5.2.3", "@types/chrome-remote-interface": "0.31.14", "@types/hoist-non-react-statics": "3.3.7", @@ -59,12 +58,12 @@ "get-port": "7.1.0", "globals": "16.5.0", "jest-diff": "30.2.0", - "lefthook": "^2.0.2", + "lefthook": "2.0.3", "lighthouse": "13.0.1", "playwright": "1.56.1", "publint": "0.3.15", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "19.2.0", + "react-dom": "19.2.0", "react-router-domv4v5": "npm:react-router-dom@5.3.4", "react-router-domv6plus": "npm:react-router-dom@7.9.6", "rimraf": "6.1.0", @@ -123,12 +122,12 @@ "@opentelemetry/sdk-trace-web": "2.2.0", "react": "19.2.0", "react-dom": "19.2.0", - "react-router-domv4v5": "npm:react-router-dom@^5.3.3", - "react-router-domv6plus": "npm:react-router-dom@^7.6.1" + "react-router-domv4v5": "npm:react-router-dom@5.3.4", + "react-router-domv6plus": "npm:react-router-dom@7.9.5" }, "devDependencies": { "@embrace-io/web-cli": "../../cli", - "@types/react-router-domv4v5": "npm:@types/react-router-dom@^5.3.3" + "@types/react-router-domv4v5": "npm:@types/react-router-dom@5.3.3" } }, "demo/frontend-cdn": { @@ -150,6 +149,45 @@ "@opentelemetry/sdk-trace-web": "2.2.0" } }, + "demo/frontend/node_modules/react-router": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.5.tgz", + "integrity": "sha512-JmxqrnBZ6E9hWmf02jzNn9Jm3UqyeimyiwzD69NjxGySG6lIz/1LVPsoTCwN7NBX2XjCEa1LIX5EMz1j2b6u6A==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "demo/frontend/node_modules/react-router-domv6plus": { + "name": "react-router-dom", + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.5.tgz", + "integrity": "sha512-mkEmq/K8tKN63Ae2M7Xgz3c9l9YNbY+NHH6NNeUmLA3kDkhKXRsNb/ZpxaEunvGo2/3YXdk5EJU3Hxp3ocaBPw==", + "license": "MIT", + "dependencies": { + "react-router": "7.9.5" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -4966,232 +5004,6 @@ "text-hex": "1.0.x" } }, - "node_modules/@swc/core": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.0.tgz", - "integrity": "sha512-8SnJV+JV0rYbfSiEiUvYOmf62E7QwsEG+aZueqSlKoxFt0pw333+bgZSQXGUV6etXU88nxur0afVMaINujBMSw==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.25" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.15.0", - "@swc/core-darwin-x64": "1.15.0", - "@swc/core-linux-arm-gnueabihf": "1.15.0", - "@swc/core-linux-arm64-gnu": "1.15.0", - "@swc/core-linux-arm64-musl": "1.15.0", - "@swc/core-linux-x64-gnu": "1.15.0", - "@swc/core-linux-x64-musl": "1.15.0", - "@swc/core-win32-arm64-msvc": "1.15.0", - "@swc/core-win32-ia32-msvc": "1.15.0", - "@swc/core-win32-x64-msvc": "1.15.0" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.17" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.0.tgz", - "integrity": "sha512-TBKWkbnShnEjlIbO4/gfsrIgAqHBVqgPWLbWmPdZ80bF393yJcLgkrb7bZEnJs6FCbSSuGwZv2rx1jDR2zo6YA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.0.tgz", - "integrity": "sha512-f5JKL1v1H56CIZc1pVn4RGPOfnWqPwmuHdpf4wesvXunF1Bx85YgcspW5YxwqG5J9g3nPU610UFuExJXVUzOiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.0.tgz", - "integrity": "sha512-duK6nG+WyuunnfsfiTUQdzC9Fk8cyDLqT9zyXvY2i2YgDu5+BH5W6wM5O4mDNCU5MocyB/SuF5YDF7XySnowiQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.0.tgz", - "integrity": "sha512-ITe9iDtTRXM98B91rvyPP6qDVbhUBnmA/j4UxrHlMQ0RlwpqTjfZYZkD0uclOxSZ6qIrOj/X5CaoJlDUuQ0+Cw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.0.tgz", - "integrity": "sha512-Q5ldc2bzriuzYEoAuqJ9Vr3FyZhakk5hiwDbniZ8tlEXpbjBhbOleGf9/gkhLaouDnkNUEazFW9mtqwUTRdh7Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.0.tgz", - "integrity": "sha512-pY4is+jEpOxlYCSnI+7N8Oxbap9TmTz5YT84tUvRTlOlTBwFAUlWFCX0FRwWJlsfP0TxbqhIe8dNNzlsEmJbXQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.0.tgz", - "integrity": "sha512-zYEt5eT8y8RUpoe7t5pjpoOdGu+/gSTExj8PV86efhj6ugB3bPlj3Y85ogdW3WMVXr4NvwqvzdaYGCZfXzSyVg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.0.tgz", - "integrity": "sha512-zC1rmOgFH5v2BCbByOazEqs0aRNpTdLRchDExfcCfgKgeaD+IdpUOqp7i3VG1YzkcnbuZjMlXfM0ugpt+CddoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.0.tgz", - "integrity": "sha512-7t9U9KwMwQblkdJIH+zX1V4q1o3o41i0HNO+VlnAHT5o+5qHJ963PHKJ/pX3P2UlZnBCY465orJuflAN4rAP9A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.0.tgz", - "integrity": "sha512-VE0Zod5vcs8iMLT64m5QS1DlTMXJFI/qSgtMDRx8rtZrnjt6/9NW8XUaiPJuRu8GluEO1hmHoyf1qlbY19gGSQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@swc/types": { - "version": "0.1.25", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz", - "integrity": "sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", @@ -11005,6 +10817,7 @@ "version": "7.9.6", "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.6.tgz", "integrity": "sha512-2MkC2XSXq6HjGcihnx1s0DBWQETI4mlis4Ux7YTLvP67xnGxCvq+BcCQSO81qQHVUTM1V53tl4iVVaY5sReCOA==", + "dev": true, "license": "MIT", "dependencies": { "react-router": "7.9.6" @@ -11021,6 +10834,7 @@ "version": "7.9.6", "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.6.tgz", "integrity": "sha512-Y1tUp8clYRXpfPITyuifmSoE2vncSME18uVLgaqyxh9H35JWpIfzHo+9y3Fzh5odk/jxPW29IgLgzcdwxGqyNA==", + "dev": true, "license": "MIT", "dependencies": { "cookie": "^1.0.1", diff --git a/package.json b/package.json index 91a015f6c..efe7e0833 100644 --- a/package.json +++ b/package.json @@ -113,10 +113,9 @@ "@biomejs/biome": "2.3.3", "@commitlint/cli": "20.1.0", "@commitlint/config-conventional": "20.0.0", - "@mdn/browser-compat-data": "^7.1.18", + "@mdn/browser-compat-data": "7.1.20", "@playwright/test": "1.56.1", "@remcovaes/web-test-runner-vite-plugin": "1.4.0", - "@swc/core": "1.15.0", "@types/chai": "5.2.3", "@types/chrome-remote-interface": "0.31.14", "@types/hoist-non-react-statics": "3.3.7", @@ -137,12 +136,12 @@ "get-port": "7.1.0", "globals": "16.5.0", "jest-diff": "30.2.0", - "lefthook": "^2.0.2", + "lefthook": "2.0.3", "lighthouse": "13.0.1", "playwright": "1.56.1", "publint": "0.3.15", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "19.2.0", + "react-dom": "19.2.0", "react-router-domv4v5": "npm:react-router-dom@5.3.4", "react-router-domv6plus": "npm:react-router-dom@7.9.6", "rimraf": "6.1.0",