diff --git a/config-overrides.js b/config-overrides.js new file mode 100644 index 00000000..0cc66159 --- /dev/null +++ b/config-overrides.js @@ -0,0 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const { useBabelRc, override } = require("customize-cra"); + +module.exports = override(useBabelRc()); diff --git a/package.json b/package.json index a8a3c291..faca8e98 100644 --- a/package.json +++ b/package.json @@ -52,9 +52,9 @@ "workbox-streams": "^6.4.2" }, "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", + "start": "react-app-rewired start", + "build": "react-app-rewired build", + "test": "react-app-rewired test", "eject": "react-scripts eject", "generate-messages": "extract-messages -l=en,es,zh,ja,fr -o src/translations -d en --flat true **/messages.js", "format": "prettier --write .", @@ -79,7 +79,9 @@ }, "devDependencies": { "babel-plugin-react-intl-auto": "^3.3.0", + "customize-cra": "^1.0.0", "extract-react-intl-messages": "^4.1.1", - "prettier": "2.8.3" + "prettier": "2.8.3", + "react-app-rewired": "^2.2.1" } } diff --git a/src/Element/messages.js b/src/Element/messages.js index a551f826..0eba7f41 100644 --- a/src/Element/messages.js +++ b/src/Element/messages.js @@ -1,7 +1,6 @@ import { defineMessages } from "react-intl"; -import { addIdAndDefaultMessageToMessages } from "Util"; -const messages = defineMessages({ +export default defineMessages({ Cancel: "Cancel", Reply: "Reply", Send: "Send", @@ -91,5 +90,3 @@ const messages = defineMessages({ FindMore: "Find out more info about {service} at {link}", SavePassword: "Please make sure to save the following password in order to manage your handle in the future", }); - -export default addIdAndDefaultMessageToMessages(messages, "Element"); diff --git a/src/Pages/messages.js b/src/Pages/messages.js index b79bfc98..7b59c337 100644 --- a/src/Pages/messages.js +++ b/src/Pages/messages.js @@ -1,7 +1,6 @@ import { defineMessages } from "react-intl"; -import { addIdAndDefaultMessageToMessages } from "Util"; -const messages = defineMessages({ +export default defineMessages({ Login: "Login", Posts: "Posts", Conversations: "Conversations", @@ -31,5 +30,3 @@ const messages = defineMessages({ SnortSocialNip: `Our very own NIP-05 verification service, help support the development of this site and get a shiny special badge on our site!`, NostrPlebsNip: `Nostr Plebs is one of the first NIP-05 providers in the space and offers a good collection of domains at reasonable prices`, }); - -export default addIdAndDefaultMessageToMessages(messages, "Pages"); diff --git a/src/Pages/settings/messages.js b/src/Pages/settings/messages.js index 59d51107..7a194caf 100644 --- a/src/Pages/settings/messages.js +++ b/src/Pages/settings/messages.js @@ -1,7 +1,6 @@ import { defineMessages } from "react-intl"; -import { addIdAndDefaultMessageToMessages } from "Util"; -const messages = defineMessages({ +export default defineMessages({ Profile: "Profile", Relays: "Relays", Owner: "Owner", @@ -54,5 +53,3 @@ const messages = defineMessages({ Buy: "Buy", Nip05: "NIP-05", }); - -export default addIdAndDefaultMessageToMessages(messages, "Pages.settings"); diff --git a/src/Util.ts b/src/Util.ts index 03806d45..2e14ec2b 100644 --- a/src/Util.ts +++ b/src/Util.ts @@ -3,7 +3,6 @@ import { sha256 as hash } from "@noble/hashes/sha256"; import { bech32 } from "bech32"; import { HexKey, TaggedRawEvent, u256 } from "Nostr"; import EventKind from "Nostr/EventKind"; -import { MessageDescriptor } from "react-intl"; export const sha256 = (str: string) => { return secp.utils.bytesToHex(hash(str)); @@ -163,19 +162,6 @@ export function debounce(timeout: number, fn: () => void) { return () => clearTimeout(t); } -export function addIdAndDefaultMessageToMessages(messages: Record, messageIdPrefix: string) { - const result: Record = {}; - - for (const key in messages) { - result[key] = { - id: `${messageIdPrefix}.${key}`, - defaultMessage: messages[key], - }; - } - - return result; -} - export function dedupeByPubkey(events: TaggedRawEvent[]) { const deduped = events.reduce( ({ list, seen }: { list: TaggedRawEvent[]; seen: Set }, ev) => { diff --git a/yarn.lock b/yarn.lock index 04114872..d89a931d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3781,6 +3781,13 @@ custom-event@^1.0.1: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== +customize-cra@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/customize-cra/-/customize-cra-1.0.0.tgz#73286563631aa08127ad4d30a2e3c89cf4e93c8d" + integrity sha512-DbtaLuy59224U+xCiukkxSq8clq++MOtJ1Et7LED1fLszWe88EoblEYFBJ895sB1mC6B4uu3xPT/IjClELhMbA== + dependencies: + lodash.flow "^3.5.0" + damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -6578,6 +6585,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.flow@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -8291,6 +8303,13 @@ react-app-polyfill@^3.0.0: regenerator-runtime "^0.13.9" whatwg-fetch "^3.6.2" +react-app-rewired@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-app-rewired/-/react-app-rewired-2.2.1.tgz#84901ee1e3f26add0377ebec0b41bcdfce9fc211" + integrity sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA== + dependencies: + semver "^5.6.0" + react-dev-utils@^12.0.1: version "12.0.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" @@ -8941,7 +8960,7 @@ selfsigned@^2.1.1: dependencies: node-forge "^1" -"semver@2 || 3 || 4 || 5": +"semver@2 || 3 || 4 || 5", semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==