From 08d99c37ea73518563260ad5b4289705bafba597 Mon Sep 17 00:00:00 2001 From: Andrew Ghostuhin Date: Wed, 7 Oct 2026 22:02:51 +0300 Subject: [PATCH 1/4] chore(reactjs): remove obsolete tooling and disabled tests --- .pnp.cjs | 218 +----------------- .yarn/versions/cf38ca6f.yml | 3 + package.json | 12 +- .../src/identity-link.component.test.tsx | 37 --- .../src/use-identity-url.hook.test.ts | 61 ----- packages/react-kratos/package.json | 2 +- yarn.lock | 199 +--------------- 7 files changed, 17 insertions(+), 515 deletions(-) create mode 100644 .yarn/versions/cf38ca6f.yml delete mode 100644 packages/identity-links/src/identity-link.component.test.tsx delete mode 100644 packages/identity-links/src/use-identity-url.hook.test.ts diff --git a/.pnp.cjs b/.pnp.cjs index f210051..1690ebd 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -76,11 +76,8 @@ const RAW_RUNTIME_STATE = ["@atls/raijin", "npm:1.1.1"],\ ["@emotion/react", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:11.9.3"],\ ["@types/node", "npm:22.10.1"],\ - ["@types/testing-library__jest-dom", "npm:5.14.2"],\ ["csstype", "npm:3.1.2"],\ - ["eslint", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:9.16.0"],\ - ["reactjs", "workspace:."],\ - ["typescript", "patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07"]\ + ["reactjs", "workspace:."]\ ],\ "linkType": "SOFT"\ }]\ @@ -507,13 +504,13 @@ const RAW_RUNTIME_STATE = ["@ory/kratos-client-fetch", "npm:26.2.0"],\ ["@testing-library/react", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:16.1.0"],\ ["@types/node", "npm:22.10.7"],\ - ["@types/react", "npm:18.3.18"],\ + ["@types/react", "npm:18.3.6"],\ ["@types/react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.5"],\ ["events", "npm:3.3.0"],\ ["global-jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.0"],\ ["jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1"],\ ["react", "npm:18.3.1"],\ - ["react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.1"]\ + ["react-dom", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:18.3.1"]\ ],\ "linkType": "SOFT"\ }]\ @@ -1386,20 +1383,6 @@ const RAW_RUNTIME_STATE = "eslint"\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:c400298b97ec65f2d54d498f7ab1e45522bf187638b0f2009e49668e40cd1e4b780b8096d7a6947c429dc3420a911b0f4ffdca1806fb7d60af43889a233401bc#npm:4.4.1", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-5af9cbd1e1/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-10.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:c400298b97ec65f2d54d498f7ab1e45522bf187638b0f2009e49668e40cd1e4b780b8096d7a6947c429dc3420a911b0f4ffdca1806fb7d60af43889a233401bc#npm:4.4.1"],\ - ["@types/eslint", null],\ - ["eslint", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:9.16.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@eslint-community/regexpp", [\ @@ -1419,16 +1402,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@eslint/config-array", [\ - ["npm:0.19.1", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-config-array-npm-0.19.1-2985276432-10.zip/node_modules/@eslint/config-array/",\ - "packageDependencies": [\ - ["@eslint/config-array", "npm:0.19.1"],\ - ["@eslint/object-schema", "npm:2.1.5"],\ - ["debug", "virtual:58d4eddcdc0ee4d794e83431bdb8379b5cdb1cb447327371fa6788426546f859224b451f3786f45cf7d5e32704eff5b143722c948eb1c4c79c95d68fed8731a4#npm:4.4.0"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:0.21.2", {\ "packageLocation": "../.yarn/berry/cache/@eslint-config-array-npm-0.21.2-a0cc6c6855-10.zip/node_modules/@eslint/config-array/",\ "packageDependencies": [\ @@ -1458,33 +1431,9 @@ const RAW_RUNTIME_STATE = ["@types/json-schema", "npm:7.0.15"]\ ],\ "linkType": "HARD"\ - }],\ - ["npm:0.9.1", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-core-npm-0.9.1-e156c07571-10.zip/node_modules/@eslint/core/",\ - "packageDependencies": [\ - ["@eslint/core", "npm:0.9.1"],\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["@eslint/eslintrc", [\ - ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-10.zip/node_modules/@eslint/eslintrc/",\ - "packageDependencies": [\ - ["@eslint/eslintrc", "npm:3.2.0"],\ - ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:58d4eddcdc0ee4d794e83431bdb8379b5cdb1cb447327371fa6788426546f859224b451f3786f45cf7d5e32704eff5b143722c948eb1c4c79c95d68fed8731a4#npm:4.4.0"],\ - ["espree", "npm:10.3.0"],\ - ["globals", "npm:14.0.0"],\ - ["ignore", "npm:5.3.2"],\ - ["import-fresh", "npm:3.3.0"],\ - ["js-yaml", "npm:4.1.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:3.3.7", {\ "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-3.3.7-53b0368519-10.zip/node_modules/@eslint/eslintrc/",\ "packageDependencies": [\ @@ -1503,13 +1452,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@eslint/js", [\ - ["npm:9.16.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-9.16.0-6c9e3348c0-10.zip/node_modules/@eslint/js/",\ - "packageDependencies": [\ - ["@eslint/js", "npm:9.16.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:9.39.5", {\ "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-9.39.5-266fab7d5a-10.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ @@ -1519,13 +1461,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@eslint/object-schema", [\ - ["npm:2.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-object-schema-npm-2.1.5-9f81710c7d-10.zip/node_modules/@eslint/object-schema/",\ - "packageDependencies": [\ - ["@eslint/object-schema", "npm:2.1.5"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.1.7", {\ "packageLocation": "../.yarn/berry/cache/@eslint-object-schema-npm-2.1.7-cb962a5b9b-10.zip/node_modules/@eslint/object-schema/",\ "packageDependencies": [\ @@ -1535,14 +1470,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@eslint/plugin-kit", [\ - ["npm:0.2.4", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-plugin-kit-npm-0.2.4-53d91df46d-10.zip/node_modules/@eslint/plugin-kit/",\ - "packageDependencies": [\ - ["@eslint/plugin-kit", "npm:0.2.4"],\ - ["levn", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:0.4.1", {\ "packageLocation": "../.yarn/berry/cache/@eslint-plugin-kit-npm-0.4.1-3df70dd079-10.zip/node_modules/@eslint/plugin-kit/",\ "packageDependencies": [\ @@ -1697,13 +1624,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-10.zip/node_modules/@humanwhocodes/retry/",\ - "packageDependencies": [\ - ["@humanwhocodes/retry", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:0.4.3", {\ "packageLocation": "../.yarn/berry/cache/@humanwhocodes-retry-npm-0.4.3-a8d7ca1663-10.zip/node_modules/@humanwhocodes/retry/",\ "packageDependencies": [\ @@ -2207,11 +2127,11 @@ const RAW_RUNTIME_STATE = ["@babel/runtime", "npm:7.25.6"],\ ["@testing-library/dom", "npm:10.4.0"],\ ["@testing-library/react", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:16.1.0"],\ - ["@types/react", "npm:18.3.18"],\ + ["@types/react", "npm:18.3.6"],\ ["@types/react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.5"],\ ["@types/testing-library__dom", null],\ ["react", "npm:18.3.1"],\ - ["react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.1"]\ + ["react-dom", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:18.3.1"]\ ],\ "packagePeers": [\ "@types/react-dom",\ @@ -2475,15 +2395,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["npm:18.3.18", {\ - "packageLocation": "../.yarn/berry/cache/@types-react-npm-18.3.18-2cfc7440b2-10.zip/node_modules/@types/react/",\ - "packageDependencies": [\ - ["@types/prop-types", "npm:15.7.12"],\ - ["@types/react", "npm:18.3.18"],\ - ["csstype", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:18.3.6", {\ "packageLocation": "../.yarn/berry/cache/@types-react-npm-18.3.6-d67dc556d4-10.zip/node_modules/@types/react/",\ "packageDependencies": [\ @@ -2529,7 +2440,7 @@ const RAW_RUNTIME_STATE = ["virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.5", {\ "packageLocation": "./.yarn/__virtual__/@types-react-dom-virtual-d4cad70a15/2/.yarn/berry/cache/@types-react-dom-npm-18.3.5-b1c4b786e6-10.zip/node_modules/@types/react-dom/",\ "packageDependencies": [\ - ["@types/react", "npm:18.3.18"],\ + ["@types/react", "npm:18.3.6"],\ ["@types/react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.5"]\ ],\ "packagePeers": [\ @@ -2604,14 +2515,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@types/testing-library__jest-dom", [\ - ["npm:5.14.2", {\ - "packageLocation": "../.yarn/berry/cache/@types-testing-library__jest-dom-npm-5.14.2-639cce59b8-10.zip/node_modules/@types/testing-library__jest-dom/",\ - "packageDependencies": [\ - ["@types/jest", "npm:29.5.13"],\ - ["@types/testing-library__jest-dom", "npm:5.14.2"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:5.14.9", {\ "packageLocation": "../.yarn/berry/cache/@types-testing-library__jest-dom-npm-5.14.9-319d22d764-10.zip/node_modules/@types/testing-library__jest-dom/",\ "packageDependencies": [\ @@ -3382,17 +3285,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["ajv", [\ - ["npm:6.12.6", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:6.12.6"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["json-schema-traverse", "npm:0.4.1"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:6.15.0", {\ "packageLocation": "../.yarn/berry/cache/ajv-npm-6.15.0-0a6bf8fa72-10.zip/node_modules/ajv/",\ "packageDependencies": [\ @@ -4995,13 +4887,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["eslint", [\ - ["npm:9.16.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-npm-9.16.0-62663df612-10.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["eslint", "npm:9.16.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ ["npm:9.39.5", {\ "packageLocation": "../.yarn/berry/cache/eslint-npm-9.39.5-afc737ac74-10.zip/node_modules/eslint/",\ "packageDependencies": [\ @@ -5055,53 +4940,6 @@ const RAW_RUNTIME_STATE = "jiti"\ ],\ "linkType": "HARD"\ - }],\ - ["virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:9.16.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-virtual-c400298b97/2/.yarn/berry/cache/eslint-npm-9.16.0-62663df612-10.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:c400298b97ec65f2d54d498f7ab1e45522bf187638b0f2009e49668e40cd1e4b780b8096d7a6947c429dc3420a911b0f4ffdca1806fb7d60af43889a233401bc#npm:4.4.1"],\ - ["@eslint-community/regexpp", "npm:4.12.1"],\ - ["@eslint/config-array", "npm:0.19.1"],\ - ["@eslint/core", "npm:0.9.1"],\ - ["@eslint/eslintrc", "npm:3.2.0"],\ - ["@eslint/js", "npm:9.16.0"],\ - ["@eslint/plugin-kit", "npm:0.2.4"],\ - ["@humanfs/node", "npm:0.16.6"],\ - ["@humanwhocodes/module-importer", "npm:1.0.1"],\ - ["@humanwhocodes/retry", "npm:0.4.1"],\ - ["@types/estree", "npm:1.0.6"],\ - ["@types/jiti", null],\ - ["@types/json-schema", "npm:7.0.15"],\ - ["ajv", "npm:6.12.6"],\ - ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.6"],\ - ["debug", "virtual:58d4eddcdc0ee4d794e83431bdb8379b5cdb1cb447327371fa6788426546f859224b451f3786f45cf7d5e32704eff5b143722c948eb1c4c79c95d68fed8731a4#npm:4.4.0"],\ - ["escape-string-regexp", "npm:4.0.0"],\ - ["eslint", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:9.16.0"],\ - ["eslint-scope", "npm:8.2.0"],\ - ["eslint-visitor-keys", "npm:4.2.0"],\ - ["espree", "npm:10.3.0"],\ - ["esquery", "npm:1.6.0"],\ - ["esutils", "npm:2.0.3"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["file-entry-cache", "npm:8.0.0"],\ - ["find-up", "npm:5.0.0"],\ - ["glob-parent", "npm:6.0.2"],\ - ["ignore", "npm:5.3.2"],\ - ["imurmurhash", "npm:0.1.4"],\ - ["is-glob", "npm:4.0.3"],\ - ["jiti", null],\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["minimatch", "npm:3.1.2"],\ - ["natural-compare", "npm:1.4.0"],\ - ["optionator", "npm:0.9.4"]\ - ],\ - "packagePeers": [\ - "@types/jiti",\ - "jiti"\ - ],\ - "linkType": "HARD"\ }]\ ]],\ ["eslint-compat-utils", [\ @@ -5358,15 +5196,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["eslint-scope", [\ - ["npm:8.2.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-8.2.0-d74e314c9e-10.zip/node_modules/eslint-scope/",\ - "packageDependencies": [\ - ["eslint-scope", "npm:8.2.0"],\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:8.4.0", {\ "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-8.4.0-8ed12feb40-10.zip/node_modules/eslint-scope/",\ "packageDependencies": [\ @@ -6982,14 +6811,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["js-yaml", [\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10.zip/node_modules/js-yaml/",\ - "packageDependencies": [\ - ["argparse", "npm:2.0.1"],\ - ["js-yaml", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:4.3.2", {\ "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.3.2-d3b0efff68-10.zip/node_modules/js-yaml/",\ "packageDependencies": [\ @@ -8175,21 +7996,6 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.1", {\ - "packageLocation": "./.yarn/__virtual__/react-dom-virtual-92fc6d5f4c/2/.yarn/berry/cache/react-dom-npm-18.3.1-a805663f38-10.zip/node_modules/react-dom/",\ - "packageDependencies": [\ - ["@types/react", "npm:18.3.18"],\ - ["loose-envify", "npm:1.4.0"],\ - ["react", "npm:18.3.1"],\ - ["react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.1"],\ - ["scheduler", "npm:0.23.2"]\ - ],\ - "packagePeers": [\ - "@types/react",\ - "react"\ - ],\ - "linkType": "HARD"\ - }],\ ["virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:18.2.0", {\ "packageLocation": "./.yarn/__virtual__/react-dom-virtual-eb9a547ed4/2/.yarn/berry/cache/react-dom-npm-18.2.0-dd675bca1c-10.zip/node_modules/react-dom/",\ "packageDependencies": [\ @@ -8334,11 +8140,8 @@ const RAW_RUNTIME_STATE = ["@atls/raijin", "npm:1.1.1"],\ ["@emotion/react", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:11.9.3"],\ ["@types/node", "npm:22.10.1"],\ - ["@types/testing-library__jest-dom", "npm:5.14.2"],\ ["csstype", "npm:3.1.2"],\ - ["eslint", "virtual:d0462f4d45d190060ad2c218f496eba0b0e39b2c277fb32d8fbec802a5cf5dbeff970e85bef09ed059124f600357227a21741b182c62e69cfc4765edbedae80f#npm:9.16.0"],\ - ["reactjs", "workspace:."],\ - ["typescript", "patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07"]\ + ["reactjs", "workspace:."]\ ],\ "linkType": "SOFT"\ }]\ @@ -9542,13 +9345,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["typescript", [\ - ["patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07", {\ - "packageLocation": "../.yarn/berry/cache/typescript-patch-fe43cd9db9-10.zip/node_modules/typescript/",\ - "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07"]\ - ],\ - "linkType": "HARD"\ - }],\ ["patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5", {\ "packageLocation": "../.yarn/berry/cache/typescript-patch-6fda4d02cf-10.zip/node_modules/typescript/",\ "packageDependencies": [\ diff --git a/.yarn/versions/cf38ca6f.yml b/.yarn/versions/cf38ca6f.yml new file mode 100644 index 0000000..033d78a --- /dev/null +++ b/.yarn/versions/cf38ca6f.yml @@ -0,0 +1,3 @@ +releases: + "@atls/react-identity-links": patch + "@atls/react-kratos": patch diff --git a/package.json b/package.json index 0539470..f5014ec 100644 --- a/package.json +++ b/package.json @@ -24,15 +24,7 @@ }, "devDependencies": { "@atls/raijin": "1.1.1", - "@types/node": "22.10.1", - "@types/testing-library__jest-dom": "5.14.2", - "eslint": "9.16.0", - "typescript": "5.5.4" + "@types/node": "22.10.1" }, - "packageManager": "yarn@4.18.0", - "testIgnorePatterns": [ - "packages/identity-links/src/identity-link.component.test.tsx", - "packages/identity-links/src/use-identity-url.hook.test.ts" - ], - "typecheckSkipLibCheck": true + "packageManager": "yarn@4.18.0" } diff --git a/packages/identity-links/src/identity-link.component.test.tsx b/packages/identity-links/src/identity-link.component.test.tsx deleted file mode 100644 index a0a1198..0000000 --- a/packages/identity-links/src/identity-link.component.test.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// /** -// * @jest-environment jsdom -// */ - -// import '@testing-library/jest-dom/extend-expect' - -// import { render } from '@testing-library/react' -// import React from 'react' - -// import { IdentityLink } from './identity-link.component' - -// describe('identity-link.component', () => { -// const originalLocation = window.location - -// const mockWindowLocation = (newLocation: Location | URL | string): void => { -// // @ts-expect-error location can be optional -// delete window.location -// window.location = newLocation as Location | (Location & string) -// } - -// afterEach(() => { -// mockWindowLocation(originalLocation) -// }) - -// it('without params', async () => { -// mockWindowLocation(new URL('https://identity.monstrs.dev')) - -// const { getByText } = render( -// {(url) => Login} -// ) - -// expect(getByText('Login')).toHaveAttribute( -// 'href', -// 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' -// ) -// }) -// }) diff --git a/packages/identity-links/src/use-identity-url.hook.test.ts b/packages/identity-links/src/use-identity-url.hook.test.ts deleted file mode 100644 index 436c34b..0000000 --- a/packages/identity-links/src/use-identity-url.hook.test.ts +++ /dev/null @@ -1,61 +0,0 @@ -// /** -// * @jest-environment jsdom -// */ - -// import { renderHook } from '@testing-library/react-hooks' - -// import { useIdentityUrl } from './use-identity-url.hook' - -// describe('use-identity-url', () => { -// const originalLocation = window.location - -// const mockWindowLocation = (newLocation: Location | URL | string): void => { -// // @ts-expect-error location can be optional -// delete window.location -// window.location = newLocation as Location | (Location & string) -// } - -// afterEach(() => { -// mockWindowLocation(originalLocation) -// }) - -// it('without params', () => { -// mockWindowLocation(new URL('https://identity.monstrs.dev')) - -// const { result } = renderHook(() => useIdentityUrl({ returnTo: true })) - -// expect(result.current).toBe( -// 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' -// ) -// }) - -// it('custom type', () => { -// mockWindowLocation(new URL('https://identity.monstrs.dev')) - -// const { result } = renderHook(() => useIdentityUrl({ type: 'registration', returnTo: true })) - -// expect(result.current).toBe( -// 'https://accounts.monstrs.dev/auth/registration?return_to=https://identity.monstrs.dev/' -// ) -// }) - -// it('return to path', () => { -// mockWindowLocation(new URL('https://identity.monstrs.dev')) - -// const { result } = renderHook(() => useIdentityUrl({ returnTo: { pathname: '/custom' } })) - -// expect(result.current).toBe( -// 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/custom' -// ) -// }) - -// it('return to url', () => { -// mockWindowLocation(new URL('https://identity.monstrs.dev')) - -// const { result } = renderHook(() => useIdentityUrl({ returnTo: { subdomain: 'custom' } })) - -// expect(result.current).toBe( -// 'https://accounts.monstrs.dev/auth/login?return_to=https://custom.monstrs.dev/' -// ) -// }) -// }) diff --git a/packages/react-kratos/package.json b/packages/react-kratos/package.json index 0899c0c..29e1ec6 100644 --- a/packages/react-kratos/package.json +++ b/packages/react-kratos/package.json @@ -23,7 +23,7 @@ "@ory/kratos-client-fetch": "26.2.0", "@testing-library/react": "16.1.0", "@types/node": "^22.10.1", - "@types/react": "^18.2.45", + "@types/react": "18.3.6", "@types/react-dom": "^18.2.18", "global-jsdom": "25.0.0", "jsdom": "25.0.1", diff --git a/yarn.lock b/yarn.lock index 1274690..f586ba7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -278,7 +278,7 @@ __metadata: "@ory/kratos-client-fetch": "npm:26.2.0" "@testing-library/react": "npm:16.1.0" "@types/node": "npm:^22.10.1" - "@types/react": "npm:^18.2.45" + "@types/react": "npm:18.3.6" "@types/react-dom": "npm:^18.2.18" events: "npm:3.3.0" global-jsdom: "npm:25.0.0" @@ -934,7 +934,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.1.2": version: 4.4.1 resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: @@ -970,17 +970,6 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.19.0": - version: 0.19.1 - resolution: "@eslint/config-array@npm:0.19.1" - dependencies: - "@eslint/object-schema": "npm:^2.1.5" - debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201 - languageName: node - linkType: hard - "@eslint/config-array@npm:^0.21.2": version: 0.21.2 resolution: "@eslint/config-array@npm:0.21.2" @@ -1010,32 +999,6 @@ __metadata: languageName: node linkType: hard -"@eslint/core@npm:^0.9.0": - version: 0.9.1 - resolution: "@eslint/core@npm:0.9.1" - dependencies: - "@types/json-schema": "npm:^7.0.15" - checksum: 10/f2263f8f94fdf84fc34573e027de98f1fce6287120513ae672ddf0652c75b9fa77c314d565628fc58e0a6f959766acc34c8191f9b94f1757b910408ffa04adde - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^3.2.0": - version: 3.2.0 - resolution: "@eslint/eslintrc@npm:3.2.0" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^10.0.1" - globals: "npm:^14.0.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261 - languageName: node - linkType: hard - "@eslint/eslintrc@npm:^3.3.6": version: 3.3.7 resolution: "@eslint/eslintrc@npm:3.3.7" @@ -1053,13 +1016,6 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.16.0": - version: 9.16.0 - resolution: "@eslint/js@npm:9.16.0" - checksum: 10/122da09b6a2c6a92d68be26146af1da17d9d4e03cf9435a874d341f18519122eef9ed229e52a1b781dc5987239754954e80a0b11bbe8f65df96e9ef8f3b438ad - languageName: node - linkType: hard - "@eslint/js@npm:9.39.5": version: 9.39.5 resolution: "@eslint/js@npm:9.39.5" @@ -1067,13 +1023,6 @@ __metadata: languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.5": - version: 2.1.5 - resolution: "@eslint/object-schema@npm:2.1.5" - checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640 - languageName: node - linkType: hard - "@eslint/object-schema@npm:^2.1.7": version: 2.1.7 resolution: "@eslint/object-schema@npm:2.1.7" @@ -1081,15 +1030,6 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.3": - version: 0.2.4 - resolution: "@eslint/plugin-kit@npm:0.2.4" - dependencies: - levn: "npm:^0.4.1" - checksum: 10/e34d02ea1dccd716e51369620263a4b2167aff3c0510ed776e21336cc3ad7158087449a76931baf07cdc33810cb6919db375f2e9f409435d2c6e0dd5f4786b25 - languageName: node - linkType: hard - "@eslint/plugin-kit@npm:^0.4.1": version: 0.4.1 resolution: "@eslint/plugin-kit@npm:0.4.1" @@ -1222,13 +1162,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.4.1": - version: 0.4.1 - resolution: "@humanwhocodes/retry@npm:0.4.1" - checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04 - languageName: node - linkType: hard - "@humanwhocodes/retry@npm:^0.4.2": version: 0.4.3 resolution: "@humanwhocodes/retry@npm:0.4.3" @@ -1897,16 +1830,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.45": - version: 18.3.18 - resolution: "@types/react@npm:18.3.18" - dependencies: - "@types/prop-types": "npm:*" - csstype: "npm:^3.0.2" - checksum: 10/7fdd8b853e0d291d4138133f93f8d5c333da918e5804afcea61a923aab4bdfc9bb15eb21a5640959b452972b8715ddf10ffb12b3bd071898b9e37738636463f2 - languageName: node - linkType: hard - "@types/responselike@npm:^1.0.0": version: 1.0.3 resolution: "@types/responselike@npm:1.0.3" @@ -1955,15 +1878,6 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:5.14.2": - version: 5.14.2 - resolution: "@types/testing-library__jest-dom@npm:5.14.2" - dependencies: - "@types/jest": "npm:*" - checksum: 10/3a5f8c29342d6636a6a06128a1d134d063f342b1af151bd74e0d9b389e335b4a66534a8b4c606ac0edb1bdd9a7c50eadf3fbb3d57c93113747d4e20366356fd4 - languageName: node - linkType: hard - "@types/testing-library__jest-dom@npm:^5.14.1, @types/testing-library__jest-dom@npm:^5.14.2, @types/testing-library__jest-dom@npm:^5.9.1": version: 5.14.9 resolution: "@types/testing-library__jest-dom@npm:5.14.9" @@ -2541,18 +2455,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c - languageName: node - linkType: hard - "ajv@npm:^6.14.0": version: 6.15.0 resolution: "ajv@npm:6.15.0" @@ -3231,7 +3133,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -4117,16 +4019,6 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.2.0": - version: 8.2.0 - resolution: "eslint-scope@npm:8.2.0" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6 - languageName: node - linkType: hard - "eslint-scope@npm:^8.4.0": version: 8.4.0 resolution: "eslint-scope@npm:8.4.0" @@ -4165,55 +4057,6 @@ __metadata: languageName: node linkType: hard -"eslint@npm:9.16.0": - version: 9.16.0 - resolution: "eslint@npm:9.16.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.19.0" - "@eslint/core": "npm:^0.9.0" - "@eslint/eslintrc": "npm:^3.2.0" - "@eslint/js": "npm:9.16.0" - "@eslint/plugin-kit": "npm:^0.2.3" - "@humanfs/node": "npm:^0.16.6" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.1" - "@types/estree": "npm:^1.0.6" - "@types/json-schema": "npm:^7.0.15" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.5" - debug: "npm:^4.3.2" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.2.0" - eslint-visitor-keys: "npm:^4.2.0" - espree: "npm:^10.3.0" - esquery: "npm:^1.5.0" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^8.0.0" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true - bin: - eslint: bin/eslint.js - checksum: 10/b47a34392a55bc08594ee2fed2777d7aff96f38b584791ccded44d88b72795acfe15b18643fd4046f680734a1f16244d554f34a485f660fa723e25d609fb12ba - languageName: node - linkType: hard - "eslint@npm:9.39.5": version: 9.39.5 resolution: "eslint@npm:9.39.5" @@ -4263,7 +4106,7 @@ __metadata: languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.3.0": +"espree@npm:^10.0.1": version: 10.3.0 resolution: "espree@npm:10.3.0" dependencies: @@ -5649,17 +5492,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140 - languageName: node - linkType: hard - "js-yaml@npm:^4.3.0, js-yaml@npm:^4.3.2": version: 4.3.2 resolution: "js-yaml@npm:4.3.2" @@ -6716,10 +6548,7 @@ __metadata: "@atls/raijin": "npm:1.1.1" "@emotion/react": "npm:11.9.3" "@types/node": "npm:22.10.1" - "@types/testing-library__jest-dom": "npm:5.14.2" csstype: "npm:3.1.2" - eslint: "npm:9.16.0" - typescript: "npm:5.5.4" languageName: unknown linkType: soft @@ -7829,16 +7658,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/1689ccafef894825481fc3d856b4834ba3cc185a9c2878f3c76a9a1ef81af04194849840f3c69e7961e2312771471bb3b460ca92561e1d87599b26c37d0ffb6f - languageName: node - linkType: hard - "typescript@npm:5.9.3": version: 5.9.3 resolution: "typescript@npm:5.9.3" @@ -7849,16 +7668,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/746fdd0865c5ce4f15e494c57ede03a9e12ede59cfdb40da3a281807853fe63b00ef1c912d7222143499aa82f18b8b472baa1830df8804746d09b55f6cf5b1cc - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A5.9.3#optional!builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" From dd7654ace2d93a40640998186b18ae4e4687928c Mon Sep 17 00:00:00 2001 From: Andrew Ghostuhin Date: Thu, 8 Oct 2026 03:45:05 +0300 Subject: [PATCH 2/4] build(identity-links)!: restore URL tests with ESM output Run the historical identity URL scenarios with Raijin's Node test runner. Publish ESM with explicit JavaScript imports and exclude test output from the package archive. BREAKING CHANGE: @atls/react-identity-links now publishes ESM instead of CommonJS. --- .pnp.cjs | 59 +++++++++++------ .yarn/versions/cf38ca6f.yml | 2 +- README.md | 3 + packages/identity-links/package.json | 12 ++-- .../src/identity-link.component.test.tsx | 34 ++++++++++ .../src/identity-link.component.tsx | 4 +- packages/identity-links/src/index.ts | 6 +- .../src/use-identity-url.hook.test.ts | 65 +++++++++++++++++++ .../src/use-identity-url.hook.ts | 8 +-- yarn.lock | 14 ++-- 10 files changed, 166 insertions(+), 41 deletions(-) create mode 100644 packages/identity-links/src/identity-link.component.test.tsx create mode 100644 packages/identity-links/src/use-identity-url.hook.test.ts diff --git a/.pnp.cjs b/.pnp.cjs index 1690ebd..e9462c9 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -467,13 +467,13 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/identity-links/",\ "packageDependencies": [\ ["@atls/react-identity-links", "workspace:packages/identity-links"],\ - ["@testing-library/jest-dom", "npm:5.17.0"],\ - ["@testing-library/react", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:12.1.5"],\ - ["@testing-library/react-hooks", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:7.0.2"],\ + ["@testing-library/react", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:16.1.0"],\ + ["@types/node", "npm:22.10.1"],\ ["@types/react", "npm:18.3.6"],\ ["@types/react-dom", "npm:18.3.0"],\ - ["@types/testing-library__jest-dom", "npm:5.14.9"],\ ["@types/tldjs", "npm:2.3.4"],\ + ["global-jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.0"],\ + ["jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1"],\ ["react", "npm:18.3.1"],\ ["react-dom", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:18.3.1"],\ ["tldjs", "npm:2.3.1"]\ @@ -507,8 +507,8 @@ const RAW_RUNTIME_STATE = ["@types/react", "npm:18.3.6"],\ ["@types/react-dom", "virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:18.3.5"],\ ["events", "npm:3.3.0"],\ - ["global-jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.0"],\ - ["jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1"],\ + ["global-jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.0"],\ + ["jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1"],\ ["react", "npm:18.3.1"],\ ["react-dom", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:18.3.1"]\ ],\ @@ -601,8 +601,8 @@ const RAW_RUNTIME_STATE = ["@types/react-dom", "npm:18.3.0"],\ ["@types/styled-system", "npm:5.1.16"],\ ["csstype", "npm:3.1.2"],\ - ["global-jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.0"],\ - ["jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1"],\ + ["global-jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.0"],\ + ["jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1"],\ ["react", "npm:18.2.0"],\ ["react-dom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:18.2.0"],\ ["react-intl", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:6.4.4"],\ @@ -2121,6 +2121,27 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ + ["virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:16.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@testing-library-react-virtual-2eeccae561/2/.yarn/berry/cache/@testing-library-react-npm-16.1.0-be1dcab76e-10.zip/node_modules/@testing-library/react/",\ + "packageDependencies": [\ + ["@babel/runtime", "npm:7.25.6"],\ + ["@testing-library/dom", "npm:10.4.0"],\ + ["@testing-library/react", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:16.1.0"],\ + ["@types/react", "npm:18.3.6"],\ + ["@types/react-dom", "npm:18.3.0"],\ + ["@types/testing-library__dom", null],\ + ["react", "npm:18.3.1"],\ + ["react-dom", "virtual:0f253325d64667267f8a5c1074e4aa2f59120ad20372d39bddcfd3951915b9b89e0bfaf1fa90999b4185ff651ab603643a0d5aca289d2a340e670217b32db551#npm:18.3.1"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "@types/testing-library__dom",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ ["virtual:5ae7006ccced940e0e3491e89bed1b1b138f41689e69aeb4689d23c1668ac1f0cce665adfcc35eb03e7b2b737bff1515a32584a33181bb4e5d038906eb3cbf6f#npm:16.1.0", {\ "packageLocation": "./.yarn/__virtual__/@testing-library-react-virtual-685840d20d/2/.yarn/berry/cache/@testing-library-react-npm-16.1.0-be1dcab76e-10.zip/node_modules/@testing-library/react/",\ "packageDependencies": [\ @@ -5834,12 +5855,12 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.0", {\ - "packageLocation": "./.yarn/__virtual__/global-jsdom-virtual-cf449eadb6/2/.yarn/berry/cache/global-jsdom-npm-25.0.0-da0647b8e8-10.zip/node_modules/global-jsdom/",\ + ["virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.0", {\ + "packageLocation": "./.yarn/__virtual__/global-jsdom-virtual-1dd75bacb4/2/.yarn/berry/cache/global-jsdom-npm-25.0.0-da0647b8e8-10.zip/node_modules/global-jsdom/",\ "packageDependencies": [\ ["@types/jsdom", null],\ - ["global-jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.0"],\ - ["jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1"]\ + ["global-jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.0"],\ + ["jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1"]\ ],\ "packagePeers": [\ "@types/jsdom",\ @@ -6828,8 +6849,8 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1", {\ - "packageLocation": "./.yarn/__virtual__/jsdom-virtual-e7c44089b3/2/.yarn/berry/cache/jsdom-npm-25.0.1-ccbb1f9cda-10.zip/node_modules/jsdom/",\ + ["virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1", {\ + "packageLocation": "./.yarn/__virtual__/jsdom-virtual-cfcc9de132/2/.yarn/berry/cache/jsdom-npm-25.0.1-ccbb1f9cda-10.zip/node_modules/jsdom/",\ "packageDependencies": [\ ["@types/canvas", null],\ ["canvas", null],\ @@ -6841,7 +6862,7 @@ const RAW_RUNTIME_STATE = ["http-proxy-agent", "npm:7.0.2"],\ ["https-proxy-agent", "npm:7.0.6"],\ ["is-potential-custom-element-name", "npm:1.0.1"],\ - ["jsdom", "virtual:5df5417e007cf624295c3dfc9c18b541c8f15fbbead2fcd958b8514a53e86ee6c640495d53e378a3d48c5ae0b86482593ca5c241f44dea6b3f5eb1e38d547d43#npm:25.0.1"],\ + ["jsdom", "virtual:3c6684a2a71ebfee624a1a07e386044939c871ad84e4f3de0a9680f3e06cb110c72bd84362a38fe0ae70f01c0f8564a8682422c054b9abc39706979b46282127#npm:25.0.1"],\ ["nwsapi", "npm:2.2.16"],\ ["parse5", "npm:7.2.1"],\ ["rrweb-cssom", "npm:0.7.1"],\ @@ -6853,7 +6874,7 @@ const RAW_RUNTIME_STATE = ["whatwg-encoding", "npm:3.1.1"],\ ["whatwg-mimetype", "npm:4.0.0"],\ ["whatwg-url", "npm:14.1.0"],\ - ["ws", "virtual:e7c44089b373c4b1f09bccea484795cd07b7ea54f580ece66bb39125f99fed34235b244f180ec6774d9b22ee5fde4edec2883c0077d1f38668a77d0bf28abbda#npm:8.18.0"],\ + ["ws", "virtual:cfcc9de13246eea5a4132214c0883ad83af991cb66c8578212ff1bc01e7e2a416a4d8750844f803d6cea9e895d069c7b86fcf1a28d48488986243375c3871e8a#npm:8.18.0"],\ ["xml-name-validator", "npm:5.0.0"]\ ],\ "packagePeers": [\ @@ -9721,14 +9742,14 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "SOFT"\ }],\ - ["virtual:e7c44089b373c4b1f09bccea484795cd07b7ea54f580ece66bb39125f99fed34235b244f180ec6774d9b22ee5fde4edec2883c0077d1f38668a77d0bf28abbda#npm:8.18.0", {\ - "packageLocation": "./.yarn/__virtual__/ws-virtual-da4707e1ad/2/.yarn/berry/cache/ws-npm-8.18.0-56f68bc4d6-10.zip/node_modules/ws/",\ + ["virtual:cfcc9de13246eea5a4132214c0883ad83af991cb66c8578212ff1bc01e7e2a416a4d8750844f803d6cea9e895d069c7b86fcf1a28d48488986243375c3871e8a#npm:8.18.0", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-5f6be63344/2/.yarn/berry/cache/ws-npm-8.18.0-56f68bc4d6-10.zip/node_modules/ws/",\ "packageDependencies": [\ ["@types/bufferutil", null],\ ["@types/utf-8-validate", null],\ ["bufferutil", null],\ ["utf-8-validate", null],\ - ["ws", "virtual:e7c44089b373c4b1f09bccea484795cd07b7ea54f580ece66bb39125f99fed34235b244f180ec6774d9b22ee5fde4edec2883c0077d1f38668a77d0bf28abbda#npm:8.18.0"]\ + ["ws", "virtual:cfcc9de13246eea5a4132214c0883ad83af991cb66c8578212ff1bc01e7e2a416a4d8750844f803d6cea9e895d069c7b86fcf1a28d48488986243375c3871e8a#npm:8.18.0"]\ ],\ "packagePeers": [\ "@types/bufferutil",\ diff --git a/.yarn/versions/cf38ca6f.yml b/.yarn/versions/cf38ca6f.yml index 033d78a..baef6cb 100644 --- a/.yarn/versions/cf38ca6f.yml +++ b/.yarn/versions/cf38ca6f.yml @@ -1,3 +1,3 @@ releases: - "@atls/react-identity-links": patch + "@atls/react-identity-links": major "@atls/react-kratos": patch diff --git a/README.md b/README.md index fcc28bb..c87794f 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ Компоненты и хуки для работы с ссылками, связанными с идентификацией пользователей. +Начиная с версии 1.0.0 пакет публикуется как ESM. Потребителям CommonJS нужно +перейти на `import` при обновлении с ветки 0.x. + ### 👤  `identity-user-provider` Провайдер для управления данными пользователя и их идентификацией. Включает функционал для работы с сессиями пользователя и получением информации о текущем пользователе. diff --git a/packages/identity-links/package.json b/packages/identity-links/package.json index d29e7c0..c45ff05 100644 --- a/packages/identity-links/package.json +++ b/packages/identity-links/package.json @@ -2,9 +2,11 @@ "name": "@atls/react-identity-links", "version": "0.1.1", "license": "MIT", + "type": "module", "main": "src/index.ts", "files": [ - "dist" + "dist", + "!dist/*.test.*" ], "scripts": { "build": "yarn library build", @@ -15,13 +17,13 @@ "tldjs": "^2.3.1" }, "devDependencies": { - "@testing-library/jest-dom": "^5.16.2", - "@testing-library/react": "^12.1.3", - "@testing-library/react-hooks": "^7.0.2", + "@testing-library/react": "16.1.0", + "@types/node": "22.10.1", "@types/react": "18.3.6", "@types/react-dom": "^18.2.7", - "@types/testing-library__jest-dom": "^5.14.1", "@types/tldjs": "2.3.4", + "global-jsdom": "25.0.0", + "jsdom": "25.0.1", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/identity-links/src/identity-link.component.test.tsx b/packages/identity-links/src/identity-link.component.test.tsx new file mode 100644 index 0000000..db7a993 --- /dev/null +++ b/packages/identity-links/src/identity-link.component.test.tsx @@ -0,0 +1,34 @@ +import 'global-jsdom/register' + +import assert from 'node:assert/strict' +import { afterEach } from 'node:test' +import { test } from 'node:test' + +import { cleanup } from '@testing-library/react' +import { render } from '@testing-library/react' +import React from 'react' + +import { IdentityLink } from './identity-link.component.js' + +const dom = globalThis as typeof globalThis & { + $jsdom: { reconfigure: (options: { url: string }) => void } +} + +dom.$jsdom.reconfigure({ url: 'https://identity.monstrs.dev/' }) + +afterEach(() => { + cleanup() +}) + +test('renders a login link with the current URL as return target', async () => { + const { findByRole } = render( + {(url) => Login} + ) + + const link = await findByRole('link', { name: 'Login' }) + + assert.equal( + link.getAttribute('href'), + 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' + ) +}) diff --git a/packages/identity-links/src/identity-link.component.tsx b/packages/identity-links/src/identity-link.component.tsx index e903458..9d50212 100644 --- a/packages/identity-links/src/identity-link.component.tsx +++ b/packages/identity-links/src/identity-link.component.tsx @@ -1,8 +1,8 @@ import type { FC } from 'react' -import type { IdentityLinkProps } from './identity-url.interfaces' +import type { IdentityLinkProps } from './identity-url.interfaces.js' -import { useIdentityUrl } from './use-identity-url.hook' +import { useIdentityUrl } from './use-identity-url.hook.js' export const IdentityLink: FC = ({ children, type, returnTo }) => { const url = useIdentityUrl({ type, returnTo }) diff --git a/packages/identity-links/src/index.ts b/packages/identity-links/src/index.ts index 3139297..080ec13 100644 --- a/packages/identity-links/src/index.ts +++ b/packages/identity-links/src/index.ts @@ -1,3 +1,3 @@ -export * from './identity-link.component' -export type * from './identity-url.interfaces' -export * from './use-identity-url.hook' +export * from './identity-link.component.js' +export type * from './identity-url.interfaces.js' +export * from './use-identity-url.hook.js' diff --git a/packages/identity-links/src/use-identity-url.hook.test.ts b/packages/identity-links/src/use-identity-url.hook.test.ts new file mode 100644 index 0000000..774c20f --- /dev/null +++ b/packages/identity-links/src/use-identity-url.hook.test.ts @@ -0,0 +1,65 @@ +import 'global-jsdom/register' + +import assert from 'node:assert/strict' +import { afterEach } from 'node:test' +import { test } from 'node:test' + +import { cleanup } from '@testing-library/react' +import { renderHook } from '@testing-library/react' +import { waitFor } from '@testing-library/react' + +import { useIdentityUrl } from './use-identity-url.hook.js' + +const dom = globalThis as typeof globalThis & { + $jsdom: { reconfigure: (options: { url: string }) => void } +} + +dom.$jsdom.reconfigure({ url: 'https://identity.monstrs.dev/' }) + +afterEach(() => { + cleanup() +}) + +test('uses the current URL as the default return target', async () => { + const { result } = renderHook(() => useIdentityUrl({ returnTo: true })) + + await waitFor(() => { + assert.equal( + result.current, + 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' + ) + }) +}) + +test('uses the requested identity action', async () => { + const { result } = renderHook(() => useIdentityUrl({ type: 'registration', returnTo: true })) + + await waitFor(() => { + assert.equal( + result.current, + 'https://accounts.monstrs.dev/auth/registration?return_to=https://identity.monstrs.dev/' + ) + }) +}) + +test('uses a custom return path', async () => { + const { result } = renderHook(() => useIdentityUrl({ returnTo: { pathname: '/custom' } })) + + await waitFor(() => { + assert.equal( + result.current, + 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/custom' + ) + }) +}) + +test('uses a custom return subdomain', async () => { + const { result } = renderHook(() => useIdentityUrl({ returnTo: { subdomain: 'custom' } })) + + await waitFor(() => { + assert.equal( + result.current, + 'https://accounts.monstrs.dev/auth/login?return_to=https://custom.monstrs.dev/' + ) + }) +}) diff --git a/packages/identity-links/src/use-identity-url.hook.ts b/packages/identity-links/src/use-identity-url.hook.ts index e2df65a..60aa03d 100644 --- a/packages/identity-links/src/use-identity-url.hook.ts +++ b/packages/identity-links/src/use-identity-url.hook.ts @@ -1,9 +1,9 @@ -import type { UseIdentityUrlProps } from './identity-url.interfaces' +import type { UseIdentityUrlProps } from './identity-url.interfaces.js' import { useState } from 'react' -import { getDomain } from 'tldjs' +import tldjs from 'tldjs' -import { useBrowserEffect } from './use-browser-effect.hook' +import { useBrowserEffect } from './use-browser-effect.hook.js' export const identityUrlTypes = { login: '/auth/login', @@ -25,7 +25,7 @@ export const useIdentityUrl = ({ type = 'login', returnTo = false }: UseIdentity if (hostname === 'localhost') { setUrl(`${protocol}//localhost:3000${path}`) } else { - const domain = getDomain(hostname) + const domain = tldjs.getDomain(hostname) if (returnTo === false) { setUrl(`${protocol}//accounts.${domain}${path}`) diff --git a/yarn.lock b/yarn.lock index f586ba7..5d93e8a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -223,13 +223,13 @@ __metadata: version: 0.0.0-use.local resolution: "@atls/react-identity-links@workspace:packages/identity-links" dependencies: - "@testing-library/jest-dom": "npm:^5.16.2" - "@testing-library/react": "npm:^12.1.3" - "@testing-library/react-hooks": "npm:^7.0.2" + "@testing-library/react": "npm:16.1.0" + "@types/node": "npm:22.10.1" "@types/react": "npm:18.3.6" "@types/react-dom": "npm:^18.2.7" - "@types/testing-library__jest-dom": "npm:^5.14.1" "@types/tldjs": "npm:2.3.4" + global-jsdom: "npm:25.0.0" + jsdom: "npm:25.0.1" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" tldjs: "npm:^2.3.1" @@ -1544,7 +1544,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^5.16.1, @testing-library/jest-dom@npm:^5.16.2": +"@testing-library/jest-dom@npm:^5.16.1": version: 5.17.0 resolution: "@testing-library/jest-dom@npm:5.17.0" dependencies: @@ -1603,7 +1603,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/react@npm:^12.1.2, @testing-library/react@npm:^12.1.3": +"@testing-library/react@npm:^12.1.2": version: 12.1.5 resolution: "@testing-library/react@npm:12.1.5" dependencies: @@ -1878,7 +1878,7 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:^5.14.1, @types/testing-library__jest-dom@npm:^5.14.2, @types/testing-library__jest-dom@npm:^5.9.1": +"@types/testing-library__jest-dom@npm:^5.14.2, @types/testing-library__jest-dom@npm:^5.9.1": version: 5.14.9 resolution: "@types/testing-library__jest-dom@npm:5.14.9" dependencies: From ea8b92b8dbcb40e4b396d99ac4e94724088635aa Mon Sep 17 00:00:00 2001 From: Andrew Ghostuhin Date: Thu, 8 Oct 2026 03:52:54 +0300 Subject: [PATCH 3/4] test(identity-links): use atls.tech in URL fixtures --- .../src/identity-link.component.test.tsx | 4 ++-- .../identity-links/src/use-identity-url.hook.test.ts | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/identity-links/src/identity-link.component.test.tsx b/packages/identity-links/src/identity-link.component.test.tsx index db7a993..8b9bf7b 100644 --- a/packages/identity-links/src/identity-link.component.test.tsx +++ b/packages/identity-links/src/identity-link.component.test.tsx @@ -14,7 +14,7 @@ const dom = globalThis as typeof globalThis & { $jsdom: { reconfigure: (options: { url: string }) => void } } -dom.$jsdom.reconfigure({ url: 'https://identity.monstrs.dev/' }) +dom.$jsdom.reconfigure({ url: 'https://identity.atls.tech/' }) afterEach(() => { cleanup() @@ -29,6 +29,6 @@ test('renders a login link with the current URL as return target', async () => { assert.equal( link.getAttribute('href'), - 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' + 'https://accounts.atls.tech/auth/login?return_to=https://identity.atls.tech/' ) }) diff --git a/packages/identity-links/src/use-identity-url.hook.test.ts b/packages/identity-links/src/use-identity-url.hook.test.ts index 774c20f..09363f9 100644 --- a/packages/identity-links/src/use-identity-url.hook.test.ts +++ b/packages/identity-links/src/use-identity-url.hook.test.ts @@ -14,7 +14,7 @@ const dom = globalThis as typeof globalThis & { $jsdom: { reconfigure: (options: { url: string }) => void } } -dom.$jsdom.reconfigure({ url: 'https://identity.monstrs.dev/' }) +dom.$jsdom.reconfigure({ url: 'https://identity.atls.tech/' }) afterEach(() => { cleanup() @@ -26,7 +26,7 @@ test('uses the current URL as the default return target', async () => { await waitFor(() => { assert.equal( result.current, - 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/' + 'https://accounts.atls.tech/auth/login?return_to=https://identity.atls.tech/' ) }) }) @@ -37,7 +37,7 @@ test('uses the requested identity action', async () => { await waitFor(() => { assert.equal( result.current, - 'https://accounts.monstrs.dev/auth/registration?return_to=https://identity.monstrs.dev/' + 'https://accounts.atls.tech/auth/registration?return_to=https://identity.atls.tech/' ) }) }) @@ -48,7 +48,7 @@ test('uses a custom return path', async () => { await waitFor(() => { assert.equal( result.current, - 'https://accounts.monstrs.dev/auth/login?return_to=https://identity.monstrs.dev/custom' + 'https://accounts.atls.tech/auth/login?return_to=https://identity.atls.tech/custom' ) }) }) @@ -59,7 +59,7 @@ test('uses a custom return subdomain', async () => { await waitFor(() => { assert.equal( result.current, - 'https://accounts.monstrs.dev/auth/login?return_to=https://custom.monstrs.dev/' + 'https://accounts.atls.tech/auth/login?return_to=https://custom.atls.tech/' ) }) }) From 69cb2d0d76913c4ed3853eda891a02a3d168144e Mon Sep 17 00:00:00 2001 From: Andrew Ghostuhin Date: Thu, 8 Oct 2026 03:54:12 +0300 Subject: [PATCH 4/4] docs(reactjs): remove ESM README note --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index c87794f..fcc28bb 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,6 @@ Компоненты и хуки для работы с ссылками, связанными с идентификацией пользователей. -Начиная с версии 1.0.0 пакет публикуется как ESM. Потребителям CommonJS нужно -перейти на `import` при обновлении с ветки 0.x. - ### 👤  `identity-user-provider` Провайдер для управления данными пользователя и их идентификацией. Включает функционал для работы с сессиями пользователя и получением информации о текущем пользователе.