From dc6be17fd557f0ca4c508e78a7f7123f04969a50 Mon Sep 17 00:00:00 2001 From: Will Harney Date: Mon, 10 Feb 2025 10:39:39 -0500 Subject: [PATCH 1/5] chore: bump nx last time dependabot tried, nx caused issues --- package.json | 4 +- yarn.lock | 206 +++++++++++++++++++++++++-------------------------- 2 files changed, 102 insertions(+), 108 deletions(-) diff --git a/package.json b/package.json index 730d3e3d66..250c572db4 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@eslint/js": "9.19.0", "@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin", "@lwc/test-utils-lwc-internals": "link:./scripts/test-utils", - "@nx/js": "20.3.3", + "@nx/js": "^20.4.2", "@rollup/plugin-commonjs": "^28.0.2", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-node-resolve": "^16.0.0", @@ -65,7 +65,7 @@ "jsdom": "^26.0.0", "lint-staged": "^15.4.3", "magic-string": "^0.30.17", - "nx": "20.3.3", + "nx": "^20.4.2", "prettier": "^3.5.0", "rollup": "^4.34.1", "terser": "^5.37.0", diff --git a/yarn.lock b/yarn.lock index 4dd7ac2b59..fe39d56518 100644 --- a/yarn.lock +++ b/yarn.lock @@ -838,7 +838,7 @@ "@babel/plugin-transform-modules-commonjs" "^7.25.9" "@babel/plugin-transform-typescript" "^7.25.9" -"@babel/runtime@^7.22.6", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.12.5", "@babel/runtime@^7.22.6", "@babel/runtime@^7.8.4": version "7.26.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.7.tgz#f4e7fe527cd710f8dc0618610b61b4b060c3c341" integrity sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ== @@ -1930,9 +1930,11 @@ "@lwc/eslint-plugin-lwc-internal@link:./scripts/eslint-plugin": version "0.0.0" + uid "" "@lwc/test-utils-lwc-internals@link:./scripts/test-utils": version "0.0.0" + uid "" "@napi-rs/wasm-runtime@0.2.4": version "0.2.4" @@ -1989,10 +1991,10 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@nx/devkit@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.3.3.tgz#fe499feb617bc4b69ced629fec4bd94d4f14dae3" - integrity sha512-YwVQQpyeMpQeXzu4/Yv6Ng3ZZxJ45RGbGqbb+VWQfDKkZIHcyR7iLLQDaLpyl34HkrLYdZez9BB8wnyn3IaxqA== +"@nx/devkit@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.4.2.tgz#729239d051d79d8723628e3a4369d68993965928" + integrity sha512-JD/7E/e49P7V9ESQK8b7uEzxgp1TP9Op163QmsJ6In0fpv3RytZSmAUx7lBdwOuOS6yybz8UWSLC/tyADUfDcg== dependencies: ejs "^3.1.7" enquirer "~2.3.6" @@ -2003,10 +2005,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.3.3.tgz#ffc00ddc27cd4bebd2aee1b2af674a6cc85f5086" - integrity sha512-IVECDcjUv3mzM4uIR/BhWs1IbmvGAw2EkGoISsaiXqffFlQpQBOqypZmKORTjQr7Qyn4kHzEJ7EyuQM9w/MYpA== +"@nx/js@^20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.4.2.tgz#8b73e5e0b61eb4ee23f1d523606d6fac24a2da39" + integrity sha512-pBX7thNWbslW6Mve8Kwb+wUtKg+xE48keckF6VVE7sGQVNZcKzXHXScL1tT/19r0OnRJQCtC4ZZPC2HzSoo1CA== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -2015,11 +2017,11 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nx/devkit" "20.3.3" - "@nx/workspace" "20.3.3" + "@nx/devkit" "20.4.2" + "@nx/workspace" "20.4.2" "@zkochan/js-yaml" "0.0.7" babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" + babel-plugin-macros "^3.1.0" babel-plugin-transform-typescript-metadata "^0.3.1" chalk "^4.1.0" columnify "^1.6.0" @@ -2039,65 +2041,65 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/nx-darwin-arm64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.3.3.tgz#ca71ec90a7f4c87053cd8d0a1c440942fecb2233" - integrity sha512-4C7ShMrqp1vbH1ZgvSlkt0f35hJcqKtRcf8n/tCck46rnMkj4egXi3K1dE6uQcOorwiD1ttAr0DHcI1TTqcNXw== - -"@nx/nx-darwin-x64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.3.3.tgz#d2ec9855359a14cb6dd6904eafde57c4e3fcabf4" - integrity sha512-OUtJ7gA09pJC+a+RcZf1bGbMM4T7a/IcPb97z1xOoxr5Wm2s8BGBQUW2CKJ5gCp5iI1pGo44F12u0G9gbYClow== - -"@nx/nx-freebsd-x64@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.3.3.tgz#7b812c484d4a5be2c188414a57063d32a9bbb42c" - integrity sha512-q4SABgKYWPGOcdfRZne6n8HF4CzltRL5nJ3q093jQAUO93yPXtWzhQBaKZIZr6aPoqq0/NuH6xY4gNo4w9F8Bg== - -"@nx/nx-linux-arm-gnueabihf@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.3.3.tgz#847455666dd40ada56849061109d6f4b6ba42b99" - integrity sha512-e07PJcVsBT/Aelo/Vj6hLplDZamGCZ3zOJpW3XVBhdG4DC4sn+jodsdrIASoEpmF70VB89lzQsm9GrAgQPaWOA== - -"@nx/nx-linux-arm64-gnu@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.3.3.tgz#17fe1e0df21cfbbe859eef0a449397666be4749a" - integrity sha512-1Z9chlN0/hWzliMer7TvdLT8cb6BKpGjZ15a+rQuUbO/CyLhY21Ct+lXtnaBERnNPYJpNOJlrbBDuF/9wpZ4CQ== - -"@nx/nx-linux-arm64-musl@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.3.3.tgz#4cf4927c2039df48b2d718e3bd61f3891384e3b5" - integrity sha512-RrLgujPU5NfDrsDRa7Y2isxGb8XkoQeJkTMUl1xmBK2Qnf4jAUn0PH0ULWrRMNgChi4nYUTn/Sf+2m6Uyoqcfw== - -"@nx/nx-linux-x64-gnu@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.3.3.tgz#82df37eaaca1af8b6949ca0babddc5b9f28dfd94" - integrity sha512-/WmCnPxv1eR8tyYiFp4XoMbcXrJ8a/OIw1rpZZ5ceMKgH8lPaF2/KFf04JZZygrCKletEdqqIojBXz4AHoaueQ== - -"@nx/nx-linux-x64-musl@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.3.3.tgz#109f5fb546ae4f191f214b4cf06620d480222f1c" - integrity sha512-y4BJsR0fgJrXY3P7GkWfUZAeQEHMTXvaRHvzJfBSBPmnVcVZDYNTfEQYnslp8m8ahKdlJwtflxzykJ4Bwf55fw== - -"@nx/nx-win32-arm64-msvc@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.3.3.tgz#8397db80440dbe5150c01f73c93e59393a7c37d2" - integrity sha512-BHqZitBaGT9ybv386B5QKxP5N66+xpTiYlKClzQ44o6Ca8QxnkugI64exBdcQyj+DRiL6HJhN14kaPJ1KrsKRA== - -"@nx/nx-win32-x64-msvc@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.3.3.tgz#82d2a1df984d8220882d9df38c92a8e1060bbebc" - integrity sha512-6HcbAKghEypt4aMAoDjPn2sa6FG0MyiDabpV/cVLKokK09ngyy6qQDa5vSCUSDwI542XBxqtcv0AcZi7Ez+XUQ== - -"@nx/workspace@20.3.3": - version "20.3.3" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.3.3.tgz#62e8c74f77e2b8d8322c70d28f949c8abfcad931" - integrity sha512-eN7W9H2yLDZ4ZWegdS+pChdFETMUgjsLgvGijRpZONIguo6wR+aU2LhSfj2ww8JKNJ4rcSnOw4soaaHg2W3dTQ== - dependencies: - "@nx/devkit" "20.3.3" +"@nx/nx-darwin-arm64@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.2.tgz#0cabfb7f92f5821a7b0f0b1fc34b8d8525f87a5a" + integrity sha512-djXV3rZcDdps2TUo7bMNiB6IkxFlLIZfub5cxPhxSbnrKiMGqmISZNn9n0AmchpNNL6auRWZPAPtDfowtR5GqA== + +"@nx/nx-darwin-x64@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.2.tgz#765ed21b54db3b02d2d2802293f7709af6c38e16" + integrity sha512-3PsiO4zEGgco/pSkYnHIB2j/IEnxsaoME+WdRYa8nRfewASAqCqf7e8DyOCftR7CBsXRosiUQWDcICu3cIfBgw== + +"@nx/nx-freebsd-x64@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.2.tgz#f04e34501cfc685e2026f572094835723e6cd57a" + integrity sha512-FXaQqn67KDGF6b735GCjFVyWVFWYrVxftvmaM/V4pCmJXjhO3K9NV3jhPVj2MNmrpdYwUtfTP1JMpr/iUBYCQA== + +"@nx/nx-linux-arm-gnueabihf@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.2.tgz#bcf62832330ab873c045c29c3fc2a2c5c24c18d9" + integrity sha512-RcVr6VN7lWJybr0bjs2zaK9mQ0OMFmuILx/8IDniLjAQK8JB+1qQhHLgunAAUJtWv+o0sVb6WXlN/F7PTegmEA== + +"@nx/nx-linux-arm64-gnu@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.2.tgz#c415f280acd7ad7c9f0a83ed5c9dacabb95e74d9" + integrity sha512-Gt38hdU615g+pUAUHe5Z9ingLgpDKNumbJfqe6Y65N9XDHMGvi3YpUwFio2t/8DNZDYY7FH46CBYydDCJjDNyw== + +"@nx/nx-linux-arm64-musl@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.2.tgz#af866c6ab1b58eecc5b73f26f0112d9f00f0b357" + integrity sha512-Kp658KNoRfhi4a/1eoXrxxBiw2kkXqR745iuytVn1f/BL3L2tUHCp6+OyFF7sLx8TnlU9yZAxO62k4DPqS+Ffw== + +"@nx/nx-linux-x64-gnu@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.2.tgz#e222cbdc197830521f16e0bb463952a172df5d2d" + integrity sha512-v+qOF2tmFFPX3fYYCqcdLIgATqlaQcBSHDs8EbwZjdncWk6RQAI/hq6+06+oZQc71RnyhBq5zBE12P0Bj1qTbw== + +"@nx/nx-linux-x64-musl@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.2.tgz#70636ab1f6aa2c74a3cffe0d805ef661913c960d" + integrity sha512-MxlAqNItkSyiVcB91pOpYWX2Mj6PL9+GzPa63TA0v4PcpZTsFmToYlbKno/1e2T6AKI/0R1ZkAo1XxurUc++nw== + +"@nx/nx-win32-arm64-msvc@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.2.tgz#e8d7de30011ae9f925406cb3bc492fce4512a4b1" + integrity sha512-0FkvctI4lXFK0BEhQjM5If9RC0ja16oVjSacyLY893gBhbSI56Ud/XSA75uF6aplA4AvBe97NPQg5l5btJSxYw== + +"@nx/nx-win32-x64-msvc@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.2.tgz#8891711c63d36db0f586e1d10bcce7b593d02118" + integrity sha512-J7Nh/3hfdlbEXvvIYJI+tAnvupYaeDwSU8ZRlDV7VU5Ee9VLT3hDLhmtXcDjEZnFHNPyaIYgFZXXDppU3a04Xg== + +"@nx/workspace@20.4.2": + version "20.4.2" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.4.2.tgz#cbab5854fb3ecfa900fce7f1d237c75f810a4e91" + integrity sha512-Og/+ImdP4hbUbnTwk7Lu2Nd6F4JxUqSUq04PLm3yBOjh5kU6IFGqCKAgFMBEz/wz/kMDWs7Ifqed/MUqQWRG9w== + dependencies: + "@nx/devkit" "20.4.2" chalk "^4.1.0" enquirer "~2.3.6" - nx "20.3.3" + nx "20.4.2" tslib "^2.3.0" yargs-parser "21.1.1" @@ -3868,14 +3870,14 @@ babel-plugin-const-enum@^1.0.1: "@babel/plugin-syntax-typescript" "^7.3.3" "@babel/traverse" "^7.16.0" -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.12" @@ -4875,16 +4877,16 @@ cosmiconfig-typescript-loader@^6.1.0: dependencies: jiti "^2.4.1" -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" + import-fresh "^3.2.1" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.7.2" + yaml "^1.10.0" cosmiconfig@^9.0.0: version "9.0.0" @@ -7335,14 +7337,6 @@ immer@^10.1.1: resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc" integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw== -import-fresh@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -9398,10 +9392,10 @@ nwsapi@^2.2.16: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== -nx@20.3.3: - version "20.3.3" - resolved "https://registry.yarnpkg.com/nx/-/nx-20.3.3.tgz#fd1bc64a88c77a1c1a1059db9b9fb939461a31bc" - integrity sha512-IUu2D8/bVa7aSr3ViRcrmpTGO2FKqzJoio6gjeq/YbyUHyjrrq5HUmHFx30Wm2vmC1BGm0MeyakTNUJzQvfAog== +nx@20.4.2, nx@^20.4.2: + version "20.4.2" + resolved "https://registry.yarnpkg.com/nx/-/nx-20.4.2.tgz#93deac4b7cd827f28a575161b86c32f3aa9fae9e" + integrity sha512-WXbKqk8looDo9zAISfmWtGyGm5RlOvr0G/THAa1WGSU4qHAZDsUtMAtwnxXje9s+R5rrwMmhbXCVvZELyeJP9Q== dependencies: "@napi-rs/wasm-runtime" "0.2.4" "@yarnpkg/lockfile" "^1.1.0" @@ -9438,16 +9432,16 @@ nx@20.3.3: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "20.3.3" - "@nx/nx-darwin-x64" "20.3.3" - "@nx/nx-freebsd-x64" "20.3.3" - "@nx/nx-linux-arm-gnueabihf" "20.3.3" - "@nx/nx-linux-arm64-gnu" "20.3.3" - "@nx/nx-linux-arm64-musl" "20.3.3" - "@nx/nx-linux-x64-gnu" "20.3.3" - "@nx/nx-linux-x64-musl" "20.3.3" - "@nx/nx-win32-arm64-msvc" "20.3.3" - "@nx/nx-win32-x64-msvc" "20.3.3" + "@nx/nx-darwin-arm64" "20.4.2" + "@nx/nx-darwin-x64" "20.4.2" + "@nx/nx-freebsd-x64" "20.4.2" + "@nx/nx-linux-arm-gnueabihf" "20.4.2" + "@nx/nx-linux-arm64-gnu" "20.4.2" + "@nx/nx-linux-arm64-musl" "20.4.2" + "@nx/nx-linux-x64-gnu" "20.4.2" + "@nx/nx-linux-x64-musl" "20.4.2" + "@nx/nx-win32-arm64-msvc" "20.4.2" + "@nx/nx-win32-x64-msvc" "20.4.2" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" @@ -10639,7 +10633,7 @@ resolve.exports@2.0.3: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== -resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.4, resolve@~1.22.10: +resolve@^1.11.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4, resolve@~1.22.10: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -12885,7 +12879,7 @@ yallist@^5.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== -yaml@^1.7.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From 8434b88e45e8f044f6252580363561ecdb3c6383 Mon Sep 17 00:00:00 2001 From: Will Harney Date: Mon, 10 Feb 2025 11:45:40 -0500 Subject: [PATCH 2/5] chore(nx): downgrade to 20.4.0 --- package.json | 4 +- yarn.lock | 162 +++++++++++++++++++++++++-------------------------- 2 files changed, 83 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index 250c572db4..a46dfcce33 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@eslint/js": "9.19.0", "@lwc/eslint-plugin-lwc-internal": "link:./scripts/eslint-plugin", "@lwc/test-utils-lwc-internals": "link:./scripts/test-utils", - "@nx/js": "^20.4.2", + "@nx/js": "20.4.0", "@rollup/plugin-commonjs": "^28.0.2", "@rollup/plugin-inject": "^5.0.5", "@rollup/plugin-node-resolve": "^16.0.0", @@ -65,7 +65,7 @@ "jsdom": "^26.0.0", "lint-staged": "^15.4.3", "magic-string": "^0.30.17", - "nx": "^20.4.2", + "nx": "20.4.0", "prettier": "^3.5.0", "rollup": "^4.34.1", "terser": "^5.37.0", diff --git a/yarn.lock b/yarn.lock index fe39d56518..6f6fcd6998 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1991,10 +1991,10 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@nx/devkit@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.4.2.tgz#729239d051d79d8723628e3a4369d68993965928" - integrity sha512-JD/7E/e49P7V9ESQK8b7uEzxgp1TP9Op163QmsJ6In0fpv3RytZSmAUx7lBdwOuOS6yybz8UWSLC/tyADUfDcg== +"@nx/devkit@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-20.4.0.tgz#0f3a7659b8d92074f0f2fee74f18f72e2f08e9ac" + integrity sha512-qog9oGbuz7DDoXH5k+19tTI3WtaR1p9G5NobiDPfcWmsr1BTK2WH2V2/vVYFAfAcM/DEFgK3ITC5L3PSaJvMmw== dependencies: ejs "^3.1.7" enquirer "~2.3.6" @@ -2005,10 +2005,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@^20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.4.2.tgz#8b73e5e0b61eb4ee23f1d523606d6fac24a2da39" - integrity sha512-pBX7thNWbslW6Mve8Kwb+wUtKg+xE48keckF6VVE7sGQVNZcKzXHXScL1tT/19r0OnRJQCtC4ZZPC2HzSoo1CA== +"@nx/js@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-20.4.0.tgz#698c4e99920dca1e11371724c02fe4a70770787e" + integrity sha512-7ly4gdJlP+yLA2FSANv86qrdiQSf64zTLVZj7Xu9KrSsrHr3OCX1DfzzcLgUVisumRkLxqvUrz7pzspooWdS/Q== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -2017,8 +2017,8 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nx/devkit" "20.4.2" - "@nx/workspace" "20.4.2" + "@nx/devkit" "20.4.0" + "@nx/workspace" "20.4.0" "@zkochan/js-yaml" "0.0.7" babel-plugin-const-enum "^1.0.1" babel-plugin-macros "^3.1.0" @@ -2041,65 +2041,65 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/nx-darwin-arm64@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.2.tgz#0cabfb7f92f5821a7b0f0b1fc34b8d8525f87a5a" - integrity sha512-djXV3rZcDdps2TUo7bMNiB6IkxFlLIZfub5cxPhxSbnrKiMGqmISZNn9n0AmchpNNL6auRWZPAPtDfowtR5GqA== - -"@nx/nx-darwin-x64@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.2.tgz#765ed21b54db3b02d2d2802293f7709af6c38e16" - integrity sha512-3PsiO4zEGgco/pSkYnHIB2j/IEnxsaoME+WdRYa8nRfewASAqCqf7e8DyOCftR7CBsXRosiUQWDcICu3cIfBgw== - -"@nx/nx-freebsd-x64@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.2.tgz#f04e34501cfc685e2026f572094835723e6cd57a" - integrity sha512-FXaQqn67KDGF6b735GCjFVyWVFWYrVxftvmaM/V4pCmJXjhO3K9NV3jhPVj2MNmrpdYwUtfTP1JMpr/iUBYCQA== - -"@nx/nx-linux-arm-gnueabihf@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.2.tgz#bcf62832330ab873c045c29c3fc2a2c5c24c18d9" - integrity sha512-RcVr6VN7lWJybr0bjs2zaK9mQ0OMFmuILx/8IDniLjAQK8JB+1qQhHLgunAAUJtWv+o0sVb6WXlN/F7PTegmEA== - -"@nx/nx-linux-arm64-gnu@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.2.tgz#c415f280acd7ad7c9f0a83ed5c9dacabb95e74d9" - integrity sha512-Gt38hdU615g+pUAUHe5Z9ingLgpDKNumbJfqe6Y65N9XDHMGvi3YpUwFio2t/8DNZDYY7FH46CBYydDCJjDNyw== - -"@nx/nx-linux-arm64-musl@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.2.tgz#af866c6ab1b58eecc5b73f26f0112d9f00f0b357" - integrity sha512-Kp658KNoRfhi4a/1eoXrxxBiw2kkXqR745iuytVn1f/BL3L2tUHCp6+OyFF7sLx8TnlU9yZAxO62k4DPqS+Ffw== - -"@nx/nx-linux-x64-gnu@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.2.tgz#e222cbdc197830521f16e0bb463952a172df5d2d" - integrity sha512-v+qOF2tmFFPX3fYYCqcdLIgATqlaQcBSHDs8EbwZjdncWk6RQAI/hq6+06+oZQc71RnyhBq5zBE12P0Bj1qTbw== - -"@nx/nx-linux-x64-musl@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.2.tgz#70636ab1f6aa2c74a3cffe0d805ef661913c960d" - integrity sha512-MxlAqNItkSyiVcB91pOpYWX2Mj6PL9+GzPa63TA0v4PcpZTsFmToYlbKno/1e2T6AKI/0R1ZkAo1XxurUc++nw== - -"@nx/nx-win32-arm64-msvc@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.2.tgz#e8d7de30011ae9f925406cb3bc492fce4512a4b1" - integrity sha512-0FkvctI4lXFK0BEhQjM5If9RC0ja16oVjSacyLY893gBhbSI56Ud/XSA75uF6aplA4AvBe97NPQg5l5btJSxYw== - -"@nx/nx-win32-x64-msvc@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.2.tgz#8891711c63d36db0f586e1d10bcce7b593d02118" - integrity sha512-J7Nh/3hfdlbEXvvIYJI+tAnvupYaeDwSU8ZRlDV7VU5Ee9VLT3hDLhmtXcDjEZnFHNPyaIYgFZXXDppU3a04Xg== - -"@nx/workspace@20.4.2": - version "20.4.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.4.2.tgz#cbab5854fb3ecfa900fce7f1d237c75f810a4e91" - integrity sha512-Og/+ImdP4hbUbnTwk7Lu2Nd6F4JxUqSUq04PLm3yBOjh5kU6IFGqCKAgFMBEz/wz/kMDWs7Ifqed/MUqQWRG9w== - dependencies: - "@nx/devkit" "20.4.2" +"@nx/nx-darwin-arm64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.0.tgz#64da294c402a73376171c5b467fcd7ac7c13f619" + integrity sha512-w07StYKNUIiH1koqBZY9Ew57d0wACyNdKpX96og4oiuSFYTTb+QhL4+vX2GOIYyEDfX7A97mA4lXcYUvN6R4zQ== + +"@nx/nx-darwin-x64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.0.tgz#45ba804963673f772bf945fd4ea00bab74778d9b" + integrity sha512-HS9SfQs9BKZm3mXnOggmDrsVPTdJOr4RYa0k8zhXd0GKOdAOmgvWYsCAFxHB1BV4FGq7wfc4YskXRYHra4Ornw== + +"@nx/nx-freebsd-x64@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.0.tgz#ca8fe61fdac028441d556945a60f3d54a0bdd5db" + integrity sha512-5Ex4dV9YKbmO+4ZNI7qXOPvVD7A0t/guPUMcye/Rk/vJVx3Ixr/PZlc2SpBDXDLXye4quiTqICV92VrOrVBj8Q== + +"@nx/nx-linux-arm-gnueabihf@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.0.tgz#60421d69123eac34f4b725db754dbc445eae22fe" + integrity sha512-mWu0QPZ4WQS39NuFOhbKy6Dwiytgn4SCzadZs/raXs/Sl9A1JtXIojMe5vy49rZocjhbpDuXCuKzHeFOi24TpA== + +"@nx/nx-linux-arm64-gnu@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.0.tgz#1b2b5aa2adfbd829f36d5e2adb96ec5208f1dab2" + integrity sha512-5ZOMKtEPoAQfSXgWYgQvMt+8JreWfnHC1rHBhQznb/66DyimKlPFv5TprzKCTqg2ElrYMe5NT5usU5fO94NDnA== + +"@nx/nx-linux-arm64-musl@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.0.tgz#f7f58667bea3d5122198414e864481a0e55fc1bd" + integrity sha512-RBF3KoBYEs0q9YZ1yBidKhcszI8x4znAfcZI+RQ1zWa/kT/GlnQKamdxinri4ov8/bEo9E4YTx4ITLg4RuVHLg== + +"@nx/nx-linux-x64-gnu@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.0.tgz#f87bed0925745b3e040c0d998d8180abae910f93" + integrity sha512-RSYAfAmulCatDIKXXbWDhLU/fm03YrAMTD5FtS5IeEvMGEHkQ3scmXEXTxkOF4q5LuqSrutjdb3s8wHkbFRVqw== + +"@nx/nx-linux-x64-musl@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.0.tgz#7c1e795d856bffb4f951fc42f3cc086f6a5de6ec" + integrity sha512-0eup79jxSzHoYEGl6OU3wb02wWQbEt4ZfOA58fiZ7c5mvCpKXQV9kg7Tu38zIA8nkcEXGb8JaR1R9TgMiAIZsw== + +"@nx/nx-win32-arm64-msvc@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.0.tgz#b88c830fa9ae5ea98700a65ac8105554712c0f10" + integrity sha512-EeHJL9YPVqi3ad9hXVCr1xDM2/PNgZIJvOlJ/ND6r9dVZ+UWw2Kk7G2r13zz4j4QAhrhQJ+kzrvXYkQlhiSH6g== + +"@nx/nx-win32-x64-msvc@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.0.tgz#8abfb3cc062aea2d8525a13614dc7d8a9c449e4a" + integrity sha512-IUeCeLdehVocLML6Wub7OZVM96Sk97AshiWmeNnozI6/OYdS34hQ2+thH7ETUZas9nkC2nNkJ5jLwuAHm+5/vw== + +"@nx/workspace@20.4.0": + version "20.4.0" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-20.4.0.tgz#a42d2ca3ae7d91f2af0e99d6fde681e73bf04561" + integrity sha512-UFSCl2ZXGW96er+VC8xpytzxmZ4mBHASIeQwk1RpIgB3h/Iif2T7OnnIFFg32Ag667TfXZhAPZ4P0pBNGdBeSA== + dependencies: + "@nx/devkit" "20.4.0" chalk "^4.1.0" enquirer "~2.3.6" - nx "20.4.2" + nx "20.4.0" tslib "^2.3.0" yargs-parser "21.1.1" @@ -9392,10 +9392,10 @@ nwsapi@^2.2.16: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== -nx@20.4.2, nx@^20.4.2: - version "20.4.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-20.4.2.tgz#93deac4b7cd827f28a575161b86c32f3aa9fae9e" - integrity sha512-WXbKqk8looDo9zAISfmWtGyGm5RlOvr0G/THAa1WGSU4qHAZDsUtMAtwnxXje9s+R5rrwMmhbXCVvZELyeJP9Q== +nx@20.4.0: + version "20.4.0" + resolved "https://registry.yarnpkg.com/nx/-/nx-20.4.0.tgz#eb2f41f147859ff4828792ce0657a56803d5ba70" + integrity sha512-barpwhq8noc30U0d5j2bSp9x/HDL33TCYsP2fl6FvpssbL64PwLOSBqIdZ9ATxVxAE/xAc/s+z72cYDkaYouPA== dependencies: "@napi-rs/wasm-runtime" "0.2.4" "@yarnpkg/lockfile" "^1.1.0" @@ -9432,16 +9432,16 @@ nx@20.4.2, nx@^20.4.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "20.4.2" - "@nx/nx-darwin-x64" "20.4.2" - "@nx/nx-freebsd-x64" "20.4.2" - "@nx/nx-linux-arm-gnueabihf" "20.4.2" - "@nx/nx-linux-arm64-gnu" "20.4.2" - "@nx/nx-linux-arm64-musl" "20.4.2" - "@nx/nx-linux-x64-gnu" "20.4.2" - "@nx/nx-linux-x64-musl" "20.4.2" - "@nx/nx-win32-arm64-msvc" "20.4.2" - "@nx/nx-win32-x64-msvc" "20.4.2" + "@nx/nx-darwin-arm64" "20.4.0" + "@nx/nx-darwin-x64" "20.4.0" + "@nx/nx-freebsd-x64" "20.4.0" + "@nx/nx-linux-arm-gnueabihf" "20.4.0" + "@nx/nx-linux-arm64-gnu" "20.4.0" + "@nx/nx-linux-arm64-musl" "20.4.0" + "@nx/nx-linux-x64-gnu" "20.4.0" + "@nx/nx-linux-x64-musl" "20.4.0" + "@nx/nx-win32-arm64-msvc" "20.4.0" + "@nx/nx-win32-x64-msvc" "20.4.0" object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" From abcdea15365e42a49716a6d7a4585b5458b7616b Mon Sep 17 00:00:00 2001 From: Will Harney Date: Mon, 10 Feb 2025 12:14:26 -0500 Subject: [PATCH 3/5] chore: add logging to see why tree shaking is weird on CI --- scripts/tasks/verify-treeshakable.js | 49 +++++++++++++++------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/scripts/tasks/verify-treeshakable.js b/scripts/tasks/verify-treeshakable.js index 4bba8b41f7..95e17b3de0 100644 --- a/scripts/tasks/verify-treeshakable.js +++ b/scripts/tasks/verify-treeshakable.js @@ -7,12 +7,28 @@ // Inspired from: https://github.com/Rich-Harris/agadoo +const { readdirSync, existsSync } = require('fs'); const path = require('path'); const { rollup } = require('rollup'); async function check(input) { + const dirs = input.split(path.sep); + dirs.pop(); // remove filename from input + let cwd = process.cwd(); + while (dirs.length) { + console.log(`== ${cwd}`); + console.log(readdirSync(cwd)); + cwd = path.join(cwd, dirs.shift()); + } + const resolved = path.resolve(input); + if (existsSync(resolved)) { + console.log(`${resolved} exists`); + } else { + throw new Error(`${resolved} does not exist`); + } + // Tell rollup to bundle a fake file whose content is just `import "path from CLI arg"` // If the imported file is tree-shakeable (pure imports/exports, no side effects), // then the bundled code will be an empty file @@ -33,28 +49,17 @@ async function check(input) { }, }); - const res = await bundle.generate({ - format: 'esm', - }); + const res = await bundle.generate({ format: 'esm' }); - const [chunk] = res.output; - - return { - code: chunk.code, - isTreeShakable: chunk.code.trim().length === 0, - }; + const [{ code }] = res.output; + const isTreeShakable = code.trim() === ''; + if (!isTreeShakable) { + console.error(`${code}\n❗️ Failed to fully treeshake ${input}`); + process.exitCode = 1; + } } -const input = process.argv[2]; -check(input) - .then((res) => { - if (res.isTreeShakable === false) { - console.error(`${res.code}\n❗️ Failed to fully treeshake ${input}`); - } - - process.exit(res.isTreeShakable ? 0 : 1); - }) - .catch((err) => { - console.error(err); - process.exit(1); - }); +check(process.argv[2]).catch((err) => { + console.error(err); + process.exitCode = process.exitCode || 1; +}); From 5779e5f0dddcde12ae9816842717c39c27537048 Mon Sep 17 00:00:00 2001 From: Will Harney Date: Mon, 10 Feb 2025 14:26:51 -0500 Subject: [PATCH 4/5] chore: un-exclude LWC it doesn't have build/dev scripts, so won't get picked up and recent bug in NX causes --exclude=lwc to exclude all packages --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a46dfcce33..41d2e7c29a 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,12 @@ "lint": "eslint . --cache", "format": "prettier --write .", "bundlesize": "node scripts/bundlesize/bundlesize.mjs", - "build": "nx run-many --target=build --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests,lwc", + "build": "nx run-many --target=build --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests", "build:performance": "yarn build:performance:components && yarn build:performance:benchmarks", "build:performance:components": "nx build @lwc/perf-benchmarks-components", "build:performance:benchmarks": "nx build @lwc/perf-benchmarks", "copy-fork": "./scripts/tasks/unsafe-external-contributor-ci-workaround.sh", - "dev": "nx run-many --target=dev --all --parallel=999 --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests,lwc", + "dev": "nx run-many --target=dev --all --parallel=999 --exclude=@lwc/perf-benchmarks,@lwc/perf-benchmarks-components,@lwc/integration-tests", "test": "vitest --workspace vitest.workspace.mjs", "test:bespoke": "nx run-many --target=test", "test:debug": "vitest --workspace vitest.workspace.mjs --inspect-brk --no-file-parallelism", From 6dc90af1239888c5243fac50002725693a0d9a26 Mon Sep 17 00:00:00 2001 From: Will Harney Date: Mon, 10 Feb 2025 14:27:31 -0500 Subject: [PATCH 5/5] chore: revert test change to scripts --- scripts/tasks/verify-treeshakable.js | 49 +++++++++++++--------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/scripts/tasks/verify-treeshakable.js b/scripts/tasks/verify-treeshakable.js index 95e17b3de0..4bba8b41f7 100644 --- a/scripts/tasks/verify-treeshakable.js +++ b/scripts/tasks/verify-treeshakable.js @@ -7,28 +7,12 @@ // Inspired from: https://github.com/Rich-Harris/agadoo -const { readdirSync, existsSync } = require('fs'); const path = require('path'); const { rollup } = require('rollup'); async function check(input) { - const dirs = input.split(path.sep); - dirs.pop(); // remove filename from input - let cwd = process.cwd(); - while (dirs.length) { - console.log(`== ${cwd}`); - console.log(readdirSync(cwd)); - cwd = path.join(cwd, dirs.shift()); - } - const resolved = path.resolve(input); - if (existsSync(resolved)) { - console.log(`${resolved} exists`); - } else { - throw new Error(`${resolved} does not exist`); - } - // Tell rollup to bundle a fake file whose content is just `import "path from CLI arg"` // If the imported file is tree-shakeable (pure imports/exports, no side effects), // then the bundled code will be an empty file @@ -49,17 +33,28 @@ async function check(input) { }, }); - const res = await bundle.generate({ format: 'esm' }); + const res = await bundle.generate({ + format: 'esm', + }); - const [{ code }] = res.output; - const isTreeShakable = code.trim() === ''; - if (!isTreeShakable) { - console.error(`${code}\n❗️ Failed to fully treeshake ${input}`); - process.exitCode = 1; - } + const [chunk] = res.output; + + return { + code: chunk.code, + isTreeShakable: chunk.code.trim().length === 0, + }; } -check(process.argv[2]).catch((err) => { - console.error(err); - process.exitCode = process.exitCode || 1; -}); +const input = process.argv[2]; +check(input) + .then((res) => { + if (res.isTreeShakable === false) { + console.error(`${res.code}\n❗️ Failed to fully treeshake ${input}`); + } + + process.exit(res.isTreeShakable ? 0 : 1); + }) + .catch((err) => { + console.error(err); + process.exit(1); + });