From 6612a3be2d2dcadcbda81df7a4d306550535e53b Mon Sep 17 00:00:00 2001 From: rusconn Date: Thu, 15 Jun 2023 17:33:15 +0900 Subject: [PATCH] perf!: reduce the bundle size of /encoders-decoders/html BREAKING CHANGE: ' -> ' --- app/encoders-decoders/html/page.tsx | 8 ++++---- package.json | 3 ++- pnpm-lock.yaml | 17 ++++++++++++----- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/app/encoders-decoders/html/page.tsx b/app/encoders-decoders/html/page.tsx index 67865d5..cf4bc91 100644 --- a/app/encoders-decoders/html/page.tsx +++ b/app/encoders-decoders/html/page.tsx @@ -1,7 +1,7 @@ "use client"; import { useCallback, useMemo, useState } from "react"; -import { decode, encode } from "html-entities"; +import { escape, unescape } from "html-escaper"; import { toolGroups } from "@/config/tools"; import { Textarea, TextareaProps } from "@/components/ui/textarea"; @@ -16,20 +16,20 @@ import { PageSection } from "@/components/page-section"; export default function Page() { const [form, setForm] = useState({ decoded: '> It\'s "HTML escaping".', - encoded: "> It's "HTML escaping".", + encoded: "> It's "HTML escaping".", }); const setDecodedReactively = useCallback((text: string) => { setForm({ decoded: text, - encoded: encode(text), + encoded: escape(text), }); }, []); const setEncodedReactively = useCallback((text: string) => { setForm({ encoded: text, - decoded: decode(text), + decoded: unescape(text), }); }, []); diff --git a/package.json b/package.json index a4f790e..ecb7da6 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "fast-deep-equal": "^3.1.3", "fp-ts": "^2.16.0", "fuse.js": "^6.6.2", - "html-entities": "^2.3.3", + "html-escaper": "^3.0.3", "io-ts": "^2.2.20", "js-base64": "^3.7.5", "js-yaml": "^4.1.0", @@ -55,6 +55,7 @@ "@ianvs/prettier-plugin-sort-imports": "^4.0.1", "@next/bundle-analyzer": "13.4.4", "@types/create-hash": "^1.2.2", + "@types/html-escaper": "^3.0.0", "@types/js-yaml": "^4.0.5", "@types/node": "~18.16.16", "@types/react": "~18.2.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12383cc..9b4891c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,9 +43,9 @@ dependencies: fuse.js: specifier: ^6.6.2 version: 6.6.2 - html-entities: - specifier: ^2.3.3 - version: 2.3.3 + html-escaper: + specifier: ^3.0.3 + version: 3.0.3 io-ts: specifier: ^2.2.20 version: 2.2.20(fp-ts@2.16.0) @@ -99,6 +99,9 @@ devDependencies: '@types/create-hash': specifier: ^1.2.2 version: 1.2.2 + '@types/html-escaper': + specifier: ^3.0.0 + version: 3.0.0 '@types/js-yaml': specifier: ^4.0.5 version: 4.0.5 @@ -1446,6 +1449,10 @@ packages: '@types/node': 18.16.16 dev: true + /@types/html-escaper@3.0.0: + resolution: {integrity: sha512-OcJcvP3Yk8mjYwf/IdXZtTE1tb/u0WF0qa29ER07ZHCYUBZXSN29Z1mBS+/96+kNMGTFUAbSz9X+pHmHpZrTCw==} + dev: true + /@types/js-yaml@4.0.5: resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} dev: true @@ -2991,8 +2998,8 @@ packages: safe-buffer: 5.2.1 dev: false - /html-entities@2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + /html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} dev: false /human-signals@2.1.0: