From 5c889c4f0cc1c20d5b0f0d92a0044c0a421debf9 Mon Sep 17 00:00:00 2001 From: celiac Date: Tue, 1 Sep 2026 09:53:46 +0200 Subject: [PATCH] Bump immutable from 3.8.3 to 4.3.9 Bump the root immutable resolution to 4.3.9. immutable v4 changed Map#toArray() to return [key, value] entry pairs instead of values, which silently breaks relay-compiler v12 codegen. Patch both relay-compiler@12 and @ardatan/relay-compiler@12 to use valueSeq().toArray() in CompilerContext.documents() and CodegenRunner, matching microsoft/graphitation PR #720. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- ...relay-compiler-npm-12.0.0-03a59496e5.patch | 26 +++++++ ...relay-compiler-npm-12.0.0-a1e0c422ef.patch | 26 +++++++ package.json | 4 +- yarn.lock | 68 +++++++++++++++++-- 4 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 .yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch create mode 100644 .yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch diff --git a/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch b/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch new file mode 100644 index 0000000..b823b52 --- /dev/null +++ b/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch @@ -0,0 +1,26 @@ +diff --git a/lib/codegen/CodegenRunner.js b/lib/codegen/CodegenRunner.js +index 2433448dbeea724e86965942129cd3b2bc6dd1fd..cae724dca7f8c4f26bfba82c7ea89cefa2ee585b 100644 +--- a/lib/codegen/CodegenRunner.js ++++ b/lib/codegen/CodegenRunner.js +@@ -280,7 +280,7 @@ var CodegenRunner = /*#__PURE__*/function () { + var documents = _this5.parsers[_parser2].documents(); + + var schema = Profiler.run('getSchema', function () { +- return createSchema(_this5.parserConfigs[_parser2].getSchemaSource(), baseDocuments.toArray(), _this5.parserConfigs[_parser2].schemaExtensions); ++ return createSchema(_this5.parserConfigs[_parser2].getSchemaSource(), baseDocuments.valueSeq().toArray(), _this5.parserConfigs[_parser2].schemaExtensions); + }); + var outputDirectories = yield writeFiles({ + onlyValidate: _this5.onlyValidate, +diff --git a/lib/core/CompilerContext.js b/lib/core/CompilerContext.js +index a066fda1f5f54526e8fe407fce08befbcbeaa92b..09c6c266448d9743df5105a87e11cedf9ba8c965 100644 +--- a/lib/core/CompilerContext.js ++++ b/lib/core/CompilerContext.js +@@ -41,7 +41,7 @@ var CompilerContext = /*#__PURE__*/function () { + var _proto = CompilerContext.prototype; + + _proto.documents = function documents() { +- return this._documents.toArray(); ++ return this._documents.valueSeq().toArray(); + }; + + _proto.forEachDocument = function forEachDocument(fn) { diff --git a/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch b/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch new file mode 100644 index 0000000..b823b52 --- /dev/null +++ b/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch @@ -0,0 +1,26 @@ +diff --git a/lib/codegen/CodegenRunner.js b/lib/codegen/CodegenRunner.js +index 2433448dbeea724e86965942129cd3b2bc6dd1fd..cae724dca7f8c4f26bfba82c7ea89cefa2ee585b 100644 +--- a/lib/codegen/CodegenRunner.js ++++ b/lib/codegen/CodegenRunner.js +@@ -280,7 +280,7 @@ var CodegenRunner = /*#__PURE__*/function () { + var documents = _this5.parsers[_parser2].documents(); + + var schema = Profiler.run('getSchema', function () { +- return createSchema(_this5.parserConfigs[_parser2].getSchemaSource(), baseDocuments.toArray(), _this5.parserConfigs[_parser2].schemaExtensions); ++ return createSchema(_this5.parserConfigs[_parser2].getSchemaSource(), baseDocuments.valueSeq().toArray(), _this5.parserConfigs[_parser2].schemaExtensions); + }); + var outputDirectories = yield writeFiles({ + onlyValidate: _this5.onlyValidate, +diff --git a/lib/core/CompilerContext.js b/lib/core/CompilerContext.js +index a066fda1f5f54526e8fe407fce08befbcbeaa92b..09c6c266448d9743df5105a87e11cedf9ba8c965 100644 +--- a/lib/core/CompilerContext.js ++++ b/lib/core/CompilerContext.js +@@ -41,7 +41,7 @@ var CompilerContext = /*#__PURE__*/function () { + var _proto = CompilerContext.prototype; + + _proto.documents = function documents() { +- return this._documents.toArray(); ++ return this._documents.valueSeq().toArray(); + }; + + _proto.forEachDocument = function forEachDocument(fn) { diff --git a/package.json b/package.json index edfa33f..9da71f5 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,9 @@ "types": "lage types" }, "resolutions": { - "immutable": "^3.8.3" + "immutable": "^4.3.9", + "relay-compiler@npm:^12.0.0": "patch:relay-compiler@npm%3A12.0.0#~/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch", + "@ardatan/relay-compiler@npm:12.0.0": "patch:@ardatan/relay-compiler@npm%3A12.0.0#~/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch" }, "devDependencies": { "beachball": "3.0.0-alpha.4", diff --git a/yarn.lock b/yarn.lock index 9e3a0f1..271fcca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -87,6 +87,35 @@ __metadata: languageName: node linkType: hard +"@ardatan/relay-compiler@patch:@ardatan/relay-compiler@npm%3A12.0.0#~/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch": + version: 12.0.0 + resolution: "@ardatan/relay-compiler@patch:@ardatan/relay-compiler@npm%3A12.0.0#~/.yarn/patches/@ardatan-relay-compiler-npm-12.0.0-03a59496e5.patch::version=12.0.0&hash=d0d9c2" + dependencies: + "@babel/core": "npm:^7.14.0" + "@babel/generator": "npm:^7.14.0" + "@babel/parser": "npm:^7.14.0" + "@babel/runtime": "npm:^7.0.0" + "@babel/traverse": "npm:^7.14.0" + "@babel/types": "npm:^7.0.0" + babel-preset-fbjs: "npm:^3.4.0" + chalk: "npm:^4.0.0" + fb-watchman: "npm:^2.0.0" + fbjs: "npm:^3.0.0" + glob: "npm:^7.1.1" + immutable: "npm:~3.7.6" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + relay-runtime: "npm:12.0.0" + signedsource: "npm:^1.0.0" + yargs: "npm:^15.3.1" + peerDependencies: + graphql: "*" + bin: + relay-compiler: bin/relay-compiler + checksum: 10c0/46c8564fadbb25d27c683135212c70544c8c704c721a737f91148806961930352c57e06f995e63a04cd44e6ad0226c3f28cf7f7057f2ec9fb58c6c7df1e0e29f + languageName: node + linkType: hard + "@ardatan/sync-fetch@npm:^0.0.1": version: 0.0.1 resolution: "@ardatan/sync-fetch@npm:0.0.1" @@ -5615,10 +5644,10 @@ __metadata: languageName: node linkType: hard -"immutable@npm:^3.8.3": - version: 3.8.3 - resolution: "immutable@npm:3.8.3" - checksum: 10c0/bafa7b8371b7622bc3d128cd9e6bba3a654b968f09a237929629f43ac26f7e974a5879cd38baad0c26f6f0628753968611bf832add7bf0c44d647bf4306a2988 +"immutable@npm:^4.3.9": + version: 4.3.9 + resolution: "immutable@npm:4.3.9" + checksum: 10c0/394faa90ac8f2f62824e6c639705efdb8313787d6bc7864e28a48ee36aa2ba4b724eaf54a701ad991c278967a412b09143dd24fd19e3e2b0204eb481a5afa6ef languageName: node linkType: hard @@ -7538,7 +7567,7 @@ __metadata: languageName: node linkType: hard -"relay-compiler@npm:^12.0.0": +"relay-compiler@npm:12.0.0": version: 12.0.0 resolution: "relay-compiler@npm:12.0.0" dependencies: @@ -7576,6 +7605,35 @@ __metadata: languageName: node linkType: hard +"relay-compiler@patch:relay-compiler@npm%3A12.0.0#~/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch": + version: 12.0.0 + resolution: "relay-compiler@patch:relay-compiler@npm%3A12.0.0#~/.yarn/patches/relay-compiler-npm-12.0.0-a1e0c422ef.patch::version=12.0.0&hash=d0d9c2" + dependencies: + "@babel/core": "npm:^7.14.0" + "@babel/generator": "npm:^7.14.0" + "@babel/parser": "npm:^7.14.0" + "@babel/runtime": "npm:^7.0.0" + "@babel/traverse": "npm:^7.14.0" + "@babel/types": "npm:^7.0.0" + babel-preset-fbjs: "npm:^3.4.0" + chalk: "npm:^4.0.0" + fb-watchman: "npm:^2.0.0" + fbjs: "npm:^3.0.0" + glob: "npm:^7.1.1" + immutable: "npm:~3.7.6" + invariant: "npm:^2.2.4" + nullthrows: "npm:^1.1.1" + relay-runtime: "npm:12.0.0" + signedsource: "npm:^1.0.0" + yargs: "npm:^15.3.1" + peerDependencies: + graphql: ^15.0.0 + bin: + relay-compiler: bin/relay-compiler + checksum: 10c0/53e03bdbc1820a83b082d105cf5f5adba34203b3cc475e8af59babf7504a832caf825c0ed64a6b0118f82f0770c739adbdff130f558e5d3e10d4da09c3a4552a + languageName: node + linkType: hard + "relay-hooks@npm:^9.4.0": version: 9.4.0 resolution: "relay-hooks@npm:9.4.0"