From d16264b84930943113075985c53e40922786a31b Mon Sep 17 00:00:00 2001 From: kdn0325 Date: Mon, 15 Dec 2025 00:35:45 +0900 Subject: [PATCH 1/3] chore: add @babel/preset-flow and update babel and eslint dependencies in package.json --- babel.config.js | 5 +- package.json | 18 ++- yarn.lock | 360 +++++++++++++++++++++++------------------------- 3 files changed, 194 insertions(+), 189 deletions(-) diff --git a/babel.config.js b/babel.config.js index 5d51f25..28ae112 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,3 +1,6 @@ module.exports = { - presets: ['module:react-native-builder-bob/babel-preset'], + presets: [ + 'module:react-native-builder-bob/babel-preset', + '@babel/preset-flow', + ], }; diff --git a/package.json b/package.json index 4226995..a3b0d9e 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,8 @@ "registry": "https://registry.npmjs.org/" }, "devDependencies": { + "@babel/core": "^7.28.5", + "@babel/preset-flow": "^7.27.1", "@commitlint/config-conventional": "^20.2.0", "@evilmartians/lefthook": "^2.0.11", "@react-native/eslint-config": "^0.81.5", @@ -72,16 +74,18 @@ "@types/react": "^19.1.0", "commitlint": "^20.2.0", "del-cli": "^7.0.0", - "eslint": "^9.39.2", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.4", + "eslint": "^8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-ft-flow": "^3.0.11", + "eslint-plugin-prettier": "^5.2.1", + "hermes-eslint": "^0.33.0", "jest": "^30.2.0", "prettier": "^3.7.4", "react": "19.1.0", "react-native": "0.81.5", "react-native-builder-bob": "^0.39.1", "release-it": "^19.1.0", - "typescript": "^5.9.3" + "typescript": "^5.5.4" }, "resolutions": { "@types/react": "^19.1.0" @@ -99,6 +103,9 @@ "modulePathIgnorePatterns": [ "/example/node_modules", "/lib/" + ], + "transformIgnorePatterns": [ + "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|react-native-svg)" ] }, "commitlint": { @@ -129,6 +136,9 @@ "@react-native", "prettier" ], + "plugins": [ + "prettier" + ], "rules": { "react/react-in-jsx-scope": "off", "prettier/prettier": [ diff --git a/yarn.lock b/yarn.lock index 4dc29df..49fc188 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1729,7 +1729,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-flow@npm:^7.24.7": +"@babel/preset-flow@npm:^7.24.7, @babel/preset-flow@npm:^7.27.1": version: 7.27.1 resolution: "@babel/preset-flow@npm:7.27.1" dependencies: @@ -2112,7 +2112,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.8.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.9.0 resolution: "@eslint-community/eslint-utils@npm:4.9.0" dependencies: @@ -2123,80 +2123,34 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 1770bc81f676a72f65c7200b5675ff7a349786521f30e66125faaf767fde1ba1c19c3790e16ba8508a62a3933afcfc806a893858b3b5906faf693d862b9e4120 languageName: node linkType: hard -"@eslint/config-array@npm:^0.21.1": - version: 0.21.1 - resolution: "@eslint/config-array@npm:0.21.1" - dependencies: - "@eslint/object-schema": ^2.1.7 - debug: ^4.3.1 - minimatch: ^3.1.2 - checksum: fc5b57803b059f7c1f62950ef83baf045a01887fc00551f9e87ac119246fcc6d71c854a7f678accc79cbf829ed010e8135c755a154b0f54b129c538950cd7e6a - languageName: node - linkType: hard - -"@eslint/config-helpers@npm:^0.4.2": - version: 0.4.2 - resolution: "@eslint/config-helpers@npm:0.4.2" - dependencies: - "@eslint/core": ^0.17.0 - checksum: 63ff6a0730c9fff2edb80c89b39b15b28d6a635a1c3f32cf0d7eb3e2625f2efbc373c5531ae84e420ae36d6e37016dd40c365b6e5dee6938478e9907aaadae0b - languageName: node - linkType: hard - -"@eslint/core@npm:^0.17.0": - version: 0.17.0 - resolution: "@eslint/core@npm:0.17.0" - dependencies: - "@types/json-schema": ^7.0.15 - checksum: ff9b5b4987f0bae4f2a4cfcdc7ae584ad3b0cb58526ca562fb281d6837700a04c7f3c86862e95126462318f33f60bf38e1cb07ed0e2449532d4b91cd5f4ab1f2 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^3.3.1": - version: 3.3.3 - resolution: "@eslint/eslintrc@npm:3.3.3" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^10.0.1 - globals: ^14.0.0 + espree: ^9.6.0 + globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 - js-yaml: ^4.1.1 + js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: d1e16e47f1bb29af32defa597eaf84ac0ff8c06760c0a5f4933c604cd9d931d48c89bed96252222f22abac231898a53bc41385a5e6129257f0060b5ec431bdb2 - languageName: node - linkType: hard - -"@eslint/js@npm:9.39.2": - version: 9.39.2 - resolution: "@eslint/js@npm:9.39.2" - checksum: 362aa447266fa5717e762b2b252f177345cb0d7b2954113db9773b3a28898f7cbbc807e07f8078995e6da3f62791f7c5fa2c03517b7170a8e76613cf7fd83c92 + checksum: 10957c7592b20ca0089262d8c2a8accbad14b4f6507e35416c32ee6b4dbf9cad67dfb77096bbd405405e9ada2b107f3797fe94362e1c55e0b09d6e90dd149127 languageName: node linkType: hard -"@eslint/object-schema@npm:^2.1.7": - version: 2.1.7 - resolution: "@eslint/object-schema@npm:2.1.7" - checksum: fc5708f192476956544def13455d60fd1bafbf8f062d1e05ec5c06dd470b02078eaf721e696a8b31c1c45d2056723a514b941ae5eea1398cc7e38eba6711a775 - languageName: node - linkType: hard - -"@eslint/plugin-kit@npm:^0.4.1": - version: 0.4.1 - resolution: "@eslint/plugin-kit@npm:0.4.1" - dependencies: - "@eslint/core": ^0.17.0 - levn: ^0.4.1 - checksum: 3f4492e02a3620e05d46126c5cfeff5f651ecf33466c8f88efb4812ae69db5f005e8c13373afabc070ecca7becd319b656d6670ad5093f05ca63c2a8841d99ba +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 2afb77454c06e8316793d2e8e79a0154854d35e6782a1217da274ca60b5044d2c69d6091155234ed0551a1e408f86f09dd4ece02752c59568fa403e60611e880 languageName: node linkType: hard @@ -2632,20 +2586,14 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 611e0545146f55ddfdd5c20239cfb7911f9d0e28258787c4fc1a1f6214250830c9367aaaeace0096ed90b6739bee1e9c52ad5ba8adaf74ab8b449119303babfe - languageName: node - linkType: hard - -"@humanfs/node@npm:^0.16.6": - version: 0.16.7 - resolution: "@humanfs/node@npm:0.16.7" +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" dependencies: - "@humanfs/core": ^0.19.1 - "@humanwhocodes/retry": ^0.4.0 - checksum: 7d2a396a94d80158ce320c0fd7df9aebb82edb8b667e5aaf8f87f4ca50518d0941ca494e0cd68e06b061e777ce5f7d26c45f93ac3fa9f7b11fd1ff26e3cd1440 + "@humanwhocodes/object-schema": ^2.0.3 + debug: ^4.3.1 + minimatch: ^3.0.5 + checksum: eae69ff9134025dd2924f0b430eb324981494be26f0fddd267a33c28711c4db643242cf9fddf7dadb9d16c96b54b2d2c073e60a56477df86e0173149313bd5d6 languageName: node linkType: hard @@ -2656,10 +2604,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": - version: 0.4.3 - resolution: "@humanwhocodes/retry@npm:0.4.3" - checksum: d423455b9d53cf01f778603404512a4246fb19b83e74fe3e28c70d9a80e9d4ae147d2411628907ca983e91a855a52535859a8bb218050bc3f6dbd7a553b7b442 +"@humanwhocodes/object-schema@npm:^2.0.3": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: d3b78f6c5831888c6ecc899df0d03bcc25d46f3ad26a11d7ea52944dc36a35ef543fad965322174238d677a43d5c694434f6607532cff7077062513ad7022631 languageName: node linkType: hard @@ -3449,7 +3397,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3": +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -4014,13 +3962,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.6": - version: 1.0.8 - resolution: "@types/estree@npm:1.0.8" - checksum: bd93e2e415b6f182ec4da1074e1f36c480f1d26add3e696d54fb30c09bc470897e41361c8fd957bf0985024f8fbf1e6e2aff977d79352ef7eb93a5c6dcff6c11 - languageName: node - linkType: hard - "@types/graceful-fs@npm:^4.1.3": version: 4.1.9 resolution: "@types/graceful-fs@npm:4.1.9" @@ -4065,7 +4006,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 @@ -4333,7 +4274,7 @@ __metadata: languageName: node linkType: hard -"@ungap/structured-clone@npm:^1.3.0": +"@ungap/structured-clone@npm:^1.2.0, @ungap/structured-clone@npm:^1.3.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" checksum: 64ed518f49c2b31f5b50f8570a1e37bde3b62f2460042c50f132430b2d869c4a6586f13aa33a58a4722715b8158c68cae2827389d6752ac54da2893c83e480fc @@ -4551,21 +4492,21 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.15.0": - version: 8.15.0 - resolution: "acorn@npm:8.15.0" +"acorn@npm:^8.8.2": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 309c6b49aedf1a2e34aaf266de06de04aab6eb097c02375c66fdeb0f64556a6a823540409914fb364d9a11bc30d79d485a2eba29af47992d3490e9886c4391c3 + checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 languageName: node linkType: hard -"acorn@npm:^8.8.2": - version: 8.14.0 - resolution: "acorn@npm:8.14.0" +"acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 + checksum: 309c6b49aedf1a2e34aaf266de06de04aab6eb097c02375c66fdeb0f64556a6a823540409914fb364d9a11bc30d79d485a2eba29af47992d3490e9886c4391c3 languageName: node linkType: hard @@ -6019,7 +5960,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -6397,6 +6338,15 @@ __metadata: languageName: node linkType: hard +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + "dom-serializer@npm:^2.0.0": version: 2.0.0 resolution: "dom-serializer@npm:2.0.0" @@ -6796,25 +6746,25 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^10.1.8": - version: 10.1.8 - resolution: "eslint-config-prettier@npm:10.1.8" +"eslint-config-prettier@npm:^8.5.0": + version: 8.10.0 + resolution: "eslint-config-prettier@npm:8.10.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 9140e19f78f0dbc888b160bb72b85f8043bada7b12a548faa56cea0ba74f8ef16653250ffd014d85d9a376a88c4941c96a3cdc9d39a07eb3def6967166635bd8 + checksum: 153266badd477e49b0759816246b2132f1dbdb6c7f313ca60a9af5822fd1071c2bc5684a3720d78b725452bbac04bb130878b2513aea5e72b1b792de5a69fec8 languageName: node linkType: hard -"eslint-config-prettier@npm:^8.5.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.2 + resolution: "eslint-config-prettier@npm:9.1.2" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 153266badd477e49b0759816246b2132f1dbdb6c7f313ca60a9af5822fd1071c2bc5684a3720d78b725452bbac04bb130878b2513aea5e72b1b792de5a69fec8 + checksum: e786b767331094fd024cb1b0899964a9da0602eaf4ebd617d6d9794752ccd04dbe997e3c14c17f256c97af20bee1c83c9273f69b74cb2081b6f514580d62408f languageName: node linkType: hard @@ -6843,6 +6793,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-ft-flow@npm:^3.0.11": + version: 3.0.11 + resolution: "eslint-plugin-ft-flow@npm:3.0.11" + dependencies: + lodash: ^4.17.21 + string-natural-compare: ^3.0.1 + peerDependencies: + eslint: ^8.56.0 || ^9.0.0 + hermes-eslint: ">=0.15.0" + checksum: eba55022633424b7c5e491d4939eeba5525f5b1345a9fa0846a47f508885b91a0ee2a008276e4031260d0f9c1d971903b7469d8915ebc668cce67a01cdb808d0 + languageName: node + linkType: hard + "eslint-plugin-jest@npm:^27.9.0": version: 27.9.0 resolution: "eslint-plugin-jest@npm:27.9.0" @@ -6861,7 +6824,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.5.4": +"eslint-plugin-prettier@npm:^5.2.1": version: 5.5.4 resolution: "eslint-plugin-prettier@npm:5.5.4" dependencies: @@ -6946,13 +6909,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.4.0": - version: 8.4.0 - resolution: "eslint-scope@npm:8.4.0" +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: cf88f42cd5e81490d549dc6d350fe01e6fe420f9d9ea34f134bb359b030e3c4ef888d36667632e448937fe52449f7181501df48c08200e3d3b0fee250d05364e + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e languageName: node linkType: hard @@ -6963,77 +6926,69 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-visitor-keys@npm:4.2.1" - checksum: 3a77e3f99a49109f6fb2c5b7784bc78f9743b834d238cdba4d66c602c6b52f19ed7bcd0a5c5dbbeae3a8689fd785e76c001799f53d2228b278282cf9f699fff5 - languageName: node - linkType: hard - -"eslint@npm:^9.39.2": - version: 9.39.2 - resolution: "eslint@npm:9.39.2" +"eslint@npm:^8.57.1": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" dependencies: - "@eslint-community/eslint-utils": ^4.8.0 - "@eslint-community/regexpp": ^4.12.1 - "@eslint/config-array": ^0.21.1 - "@eslint/config-helpers": ^0.4.2 - "@eslint/core": ^0.17.0 - "@eslint/eslintrc": ^3.3.1 - "@eslint/js": 9.39.2 - "@eslint/plugin-kit": ^0.4.1 - "@humanfs/node": ^0.16.6 + "@eslint-community/eslint-utils": ^4.2.0 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.4 + "@eslint/js": 8.57.1 + "@humanwhocodes/config-array": ^0.13.0 "@humanwhocodes/module-importer": ^1.0.1 - "@humanwhocodes/retry": ^0.4.2 - "@types/estree": ^1.0.6 + "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 ajv: ^6.12.4 chalk: ^4.0.0 - cross-spawn: ^7.0.6 + cross-spawn: ^7.0.2 debug: ^4.3.2 + doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^8.4.0 - eslint-visitor-keys: ^4.2.1 - espree: ^10.4.0 - esquery: ^1.5.0 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 + esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 - file-entry-cache: ^8.0.0 + file-entry-cache: ^6.0.1 find-up: ^5.0.0 glob-parent: ^6.0.2 + globals: ^13.19.0 + graphemer: ^1.4.0 ignore: ^5.2.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 + is-path-inside: ^3.0.3 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 optionator: ^0.9.3 - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true + strip-ansi: ^6.0.1 + text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: bfa288fe6b19b6e7f8868e1434d8e469603203d6259e4451b8be4e2172de3172f3b07ed8943ba3904f3545c7c546062c0d656774baa0a10a54483f3907c525e3 + checksum: e2489bb7f86dd2011967759a09164e65744ef7688c310bc990612fc26953f34cc391872807486b15c06833bdff737726a23e9b4cdba5de144c311377dc41d91b languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.4.0": - version: 10.4.0 - resolution: "espree@npm:10.4.0" +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^8.15.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^4.2.1 - checksum: 5f9d0d7c81c1bca4bfd29a55270067ff9d575adb8c729a5d7f779c2c7b910bfc68ccf8ec19b29844b707440fc159a83868f22c8e87bbf7cbcb225ed067df6c85 + eslint-visitor-keys: ^3.4.1 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 languageName: node linkType: hard @@ -7047,7 +7002,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.5.0": +"esquery@npm:^1.4.2": version: 1.6.0 resolution: "esquery@npm:1.6.0" dependencies: @@ -7468,12 +7423,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" dependencies: - flat-cache: ^4.0.0 - checksum: f67802d3334809048c69b3d458f672e1b6d26daefda701761c81f203b80149c35dea04d78ea4238969dd617678e530876722a0634c43031a0957f10cc3ed190f + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 languageName: node linkType: hard @@ -7550,13 +7505,14 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" dependencies: flatted: ^3.2.9 - keyv: ^4.5.4 - checksum: 899fc86bf6df093547d76e7bfaeb900824b869d7d457d02e9b8aae24836f0a99fbad79328cfd6415ee8908f180699bf259dc7614f793447cb14f707caf5996f6 + keyv: ^4.5.3 + rimraf: ^3.0.2 + checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec languageName: node linkType: hard @@ -7953,10 +7909,12 @@ __metadata: languageName: node linkType: hard -"globals@npm:^14.0.0": - version: 14.0.0 - resolution: "globals@npm:14.0.0" - checksum: 534b8216736a5425737f59f6e6a5c7f386254560c9f41d24a9227d60ee3ad4a9e82c5b85def0e212e9d92162f83a92544be4c7fd4c902cb913736c10e08237ac +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: ^0.20.2 + checksum: 56066ef058f6867c04ff203b8a44c15b038346a62efbc3060052a1016be9f56f4cf0b2cd45b74b22b81e521a889fc7786c73691b0549c2f3a6e825b3d394f43c languageName: node linkType: hard @@ -8101,6 +8059,17 @@ __metadata: languageName: node linkType: hard +"hermes-eslint@npm:^0.33.0": + version: 0.33.0 + resolution: "hermes-eslint@npm:0.33.0" + dependencies: + esrecurse: ^4.3.0 + hermes-estree: 0.33.0 + hermes-parser: 0.33.0 + checksum: 72a3d03ed2ca5cdb2131ac9032a8780498ac8548e6bc484a213f6db4e055eae170379255f0556ace337bf627c0516d564a2ccee1a4ae4b7f3fff477d7aa57c44 + languageName: node + linkType: hard + "hermes-estree@npm:0.23.1": version: 0.23.1 resolution: "hermes-estree@npm:0.23.1" @@ -8122,6 +8091,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.33.0": + version: 0.33.0 + resolution: "hermes-estree@npm:0.33.0" + checksum: 72d65e5212e12a3fdc251646a4fbf08e70b6cb9d56326a247aa9c76384a9f0badb1ed2f10fe3c2f759aafcca609225a2b02d78d321b3aa7bd4b7e4b2ab4a82db + languageName: node + linkType: hard + "hermes-parser@npm:0.23.1": version: 0.23.1 resolution: "hermes-parser@npm:0.23.1" @@ -8149,6 +8125,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.33.0": + version: 0.33.0 + resolution: "hermes-parser@npm:0.33.0" + dependencies: + hermes-estree: 0.33.0 + checksum: cd60b3b73be7d577eea5b2bca2ddcaae8e2618619fc85c739aa6add189c227e9ae4043a6a34f6b23b85e82aa051a0af9cb588d8a924e9262487229992ffd6f4f + languageName: node + linkType: hard + "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -8691,7 +8676,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2": +"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 @@ -9607,17 +9592,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.1": - version: 4.1.1 - resolution: "js-yaml@npm:4.1.1" - dependencies: - argparse: ^2.0.1 - bin: - js-yaml: bin/js-yaml.js - checksum: ea2339c6930fe048ec31b007b3c90be2714ab3e7defcc2c27ebf30c74fd940358f29070b4345af0019ef151875bf3bc3f8644bea1bab0372652b5044813ac02d - languageName: node - linkType: hard - "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -9733,7 +9707,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.4": +"keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -11019,7 +10993,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -12460,6 +12434,8 @@ __metadata: version: 0.0.0-use.local resolution: "react-native-simple-worldmap@workspace:." dependencies: + "@babel/core": ^7.28.5 + "@babel/preset-flow": ^7.27.1 "@commitlint/config-conventional": ^20.2.0 "@evilmartians/lefthook": ^2.0.11 "@react-native/eslint-config": ^0.81.5 @@ -12468,9 +12444,11 @@ __metadata: "@types/react": ^19.1.0 commitlint: ^20.2.0 del-cli: ^7.0.0 - eslint: ^9.39.2 - eslint-config-prettier: ^10.1.8 - eslint-plugin-prettier: ^5.5.4 + eslint: ^8.57.1 + eslint-config-prettier: ^9.1.0 + eslint-plugin-ft-flow: ^3.0.11 + eslint-plugin-prettier: ^5.2.1 + hermes-eslint: ^0.33.0 jest: ^30.2.0 prettier: ^3.7.4 react: 19.1.0 @@ -12478,7 +12456,7 @@ __metadata: react-native-builder-bob: ^0.39.1 react-native-svg: latest release-it: ^19.1.0 - typescript: ^5.9.3 + typescript: ^5.5.4 peerDependencies: react: "*" react-native: "*" @@ -13920,6 +13898,13 @@ __metadata: languageName: node linkType: hard +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a + languageName: node + linkType: hard + "thenify-all@npm:^1.0.0": version: 1.6.0 resolution: "thenify-all@npm:1.6.0" @@ -14066,6 +14051,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 + languageName: node + linkType: hard + "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -14147,7 +14139,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.9.3": +"typescript@npm:^5.5.4": version: 5.9.3 resolution: "typescript@npm:5.9.3" bin: @@ -14157,7 +14149,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@^5.9.3#~builtin": +"typescript@patch:typescript@^5.5.4#~builtin": version: 5.9.3 resolution: "typescript@patch:typescript@npm%3A5.9.3#~builtin::version=5.9.3&hash=14eedb" bin: From 37d4c8f5bd003d398add3f699e4a0c36d2d70e1f Mon Sep 17 00:00:00 2001 From: kdn0325 Date: Mon, 15 Dec 2025 00:35:53 +0900 Subject: [PATCH 2/3] refactor: extract svgContainerStyle for improved readability in WorldMap component --- src/index.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/index.tsx b/src/index.tsx index 280f775..0ebb33d 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2,6 +2,11 @@ import { useEffect, useState } from 'react'; import Svg from 'react-native-svg'; import CountryPath from './components/CountryPath'; +const svgContainerStyle = { + justifyContent: 'center', + alignItems: 'center', +} as const; + type WorldMapProps = { color?: string; isSelectable?: boolean; @@ -233,10 +238,7 @@ export function WorldMap({ height={'100%'} viewBox="0 0 1000 500" fill={'none'} - style={{ - justifyContent: 'center', - alignItems: 'center', - }} + style={svgContainerStyle} stroke={'#fff'} strokeWidth={1} {...props} From b24d9a0667aec4f48084049a90ccabebf7cb33d4 Mon Sep 17 00:00:00 2001 From: kdn0325 Date: Mon, 15 Dec 2025 00:50:22 +0900 Subject: [PATCH 3/3] chore: update babel configuration to support testing and add @react-native/babel-preset dependency --- babel.config.js | 17 ++++++++++++----- package.json | 22 ++++++++++++++++++++-- yarn.lock | 3 ++- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/babel.config.js b/babel.config.js index 28ae112..aa6a92a 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,6 +1,13 @@ -module.exports = { - presets: [ - 'module:react-native-builder-bob/babel-preset', - '@babel/preset-flow', - ], +module.exports = function (api) { + const isTest = api.env('test'); + api.cache(true); + + return { + presets: isTest + ? [['@react-native/babel-preset', { disableImportExportTransform: true }]] + : [ + ['@babel/preset-flow', { all: true }], + 'module:react-native-builder-bob/babel-preset', + ], + }; }; diff --git a/package.json b/package.json index a3b0d9e..ef98197 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "@babel/preset-flow": "^7.27.1", "@commitlint/config-conventional": "^20.2.0", "@evilmartians/lefthook": "^2.0.11", + "@react-native/babel-preset": "^0.81.5", "@react-native/eslint-config": "^0.81.5", "@release-it/conventional-changelog": "^10.0.3", "@types/jest": "^30.0.0", @@ -99,13 +100,30 @@ ], "packageManager": "yarn@3.6.1", "jest": { - "preset": "react-native", + "testEnvironment": "node", "modulePathIgnorePatterns": [ "/example/node_modules", "/lib/" ], "transformIgnorePatterns": [ - "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|react-native-svg)" + "node_modules/(?!(@?react-native|@react-native-community|@react-native/|react-native-svg)/)" + ], + "transform": { + "^.+\\.(js|jsx|ts|tsx)$": [ + "babel-jest", + { + "configFile": "./babel.config.js" + } + ] + }, + "setupFiles": [], + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json", + "node" ] }, "commitlint": { diff --git a/yarn.lock b/yarn.lock index 49fc188..4568c8e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3616,7 +3616,7 @@ __metadata: languageName: node linkType: hard -"@react-native/babel-preset@npm:0.81.5": +"@react-native/babel-preset@npm:0.81.5, @react-native/babel-preset@npm:^0.81.5": version: 0.81.5 resolution: "@react-native/babel-preset@npm:0.81.5" dependencies: @@ -12438,6 +12438,7 @@ __metadata: "@babel/preset-flow": ^7.27.1 "@commitlint/config-conventional": ^20.2.0 "@evilmartians/lefthook": ^2.0.11 + "@react-native/babel-preset": ^0.81.5 "@react-native/eslint-config": ^0.81.5 "@release-it/conventional-changelog": ^10.0.3 "@types/jest": ^30.0.0