Skip to content

Commit 47454c3

Browse files
committed
fix: uiw/react-md-editor 라이브러리로 인해 빌드가 꺠지는 문제 해소
1 parent 3ecda4a commit 47454c3

File tree

5 files changed

+55
-34
lines changed

5 files changed

+55
-34
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
"iamport-typings": "^1.4.0",
6868
"prettier": "^3.5.3",
6969
"rollup": "^4.40.2",
70+
"rollup-plugin-import-css": "^3.5.8",
7071
"rollup-plugin-typescript2": "^0.36.0",
7172
"typescript": "~5.7.3",
7273
"typescript-eslint": "^8.32.1",

packages/common/rollup.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import commonjs from "@rollup/plugin-commonjs";
22
import json from "@rollup/plugin-json";
33
import resolve, { nodeResolve } from "@rollup/plugin-node-resolve";
4+
import css from "rollup-plugin-import-css";
45
import typescript from "rollup-plugin-typescript2";
56

67
export default {
@@ -39,8 +40,10 @@ export default {
3940
"@mui/material",
4041
"@suspensive/react",
4142
"@tanstack/react-query",
43+
"@uiw/react-md-editor",
4244
],
4345
plugins: [
46+
css(),
4447
json(),
4548
typescript({ tsconfig: "./tsconfig.json" }),
4649
resolve(),

packages/common/src/components/mdx_editor.tsx

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import * as React from "react";
33
import { Apps, Save } from "@mui/icons-material";
44
import { Button, ButtonProps, MenuItem, Select, Stack, Typography } from "@mui/material";
55
import MDEditor, { GroupOptions, RefMDEditor, commands } from '@uiw/react-md-editor';
6-
import * as CryptoJS from "crypto-js";
6+
// import * as CryptoJS from "crypto-js";
77
import type { MDXComponents } from "mdx/types";
88

99
import Hooks from "../hooks";
@@ -40,38 +40,38 @@ const TextEditorStyle: React.CSSProperties = {
4040

4141
const getDefaultValueFromLocalStorage = (sectionId?: string): string => localStorage.getItem(LOCAL_STORAGE_KEY + (sectionId || "unknown")) ?? "";
4242

43-
const calculateMD5FromFileBase64 = (fileBase64: string): string => CryptoJS.MD5(CryptoJS.enc.Base64.parse(fileBase64)).toString();
44-
45-
const onFileInEvent: React.DragEventHandler<HTMLDivElement> = (event) => {
46-
event.preventDefault();
47-
event.stopPropagation();
48-
49-
if (!event.dataTransfer) { // Might be a drag event
50-
alert('이 브라우저는 해당 동작을 지원하지 않습니다.');
51-
return;
52-
}
53-
54-
const images = Array.from(event.dataTransfer.files).filter(f => f.type.startsWith("image/"))
55-
if (images.length === 0) {
56-
alert('이미지 파일만 첨부할 수 있어요.');
57-
return;
58-
}
59-
60-
images.forEach(
61-
(item) => {
62-
let reader = new FileReader();
63-
reader.onload = (e) => {
64-
if (!e.target || typeof e.target.result !== "string") return;
65-
console.log(`이미지 MD5 해시: ${calculateMD5FromFileBase64(e.target.result.split(',')[1])}`);
66-
}
67-
reader.onerror = (e) => {
68-
console.error('Error reading file:', e);
69-
alert('파일을 읽는 중 오류가 발생했습니다.');
70-
};
71-
reader.readAsDataURL(item);
72-
}
73-
);
74-
}
43+
// const calculateMD5FromFileBase64 = (fileBase64: string): string => CryptoJS.MD5(CryptoJS.enc.Base64.parse(fileBase64)).toString();
44+
45+
// const onFileInEvent: React.DragEventHandler<HTMLDivElement> = (event) => {
46+
// event.preventDefault();
47+
// event.stopPropagation();
48+
49+
// if (!event.dataTransfer) { // Might be a drag event
50+
// alert('이 브라우저는 해당 동작을 지원하지 않습니다.');
51+
// return;
52+
// }
53+
54+
// const images = Array.from(event.dataTransfer.files).filter(f => f.type.startsWith("image/"))
55+
// if (images.length === 0) {
56+
// alert('이미지 파일만 첨부할 수 있어요.');
57+
// return;
58+
// }
59+
60+
// images.forEach(
61+
// (item) => {
62+
// let reader = new FileReader();
63+
// reader.onload = (e) => {
64+
// if (!e.target || typeof e.target.result !== "string") return;
65+
// console.log(`이미지 MD5 해시: ${calculateMD5FromFileBase64(e.target.result.split(',')[1])}`);
66+
// }
67+
// reader.onerror = (e) => {
68+
// console.error('Error reading file:', e);
69+
// alert('파일을 읽는 중 오류가 발생했습니다.');
70+
// };
71+
// reader.readAsDataURL(item);
72+
// }
73+
// );
74+
// }
7575

7676
const getCustomComponentSelector: (registeredComponentList: CustomComponentInfoType[]) => GroupOptions["children"] = (registeredComponentList) => ({ close, getState, textApi }) => {
7777
const componentSelectorRef = React.useRef<HTMLSelectElement>(null);
@@ -163,7 +163,7 @@ export const MDXEditor: React.FC<MDXEditorProps> = ({ sectionId, defaultValue, i
163163
highlightEnable={true}
164164
ref={setRef}
165165
value={value}
166-
onChange={(v, e, s) => setValue(v || "")}
166+
onChange={(v) => setValue(v || "")}
167167
commands={[
168168
commands.group(
169169
[

packages/shop/rollup.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import commonjs from "@rollup/plugin-commonjs";
22
import json from "@rollup/plugin-json";
33
import resolve, { nodeResolve } from "@rollup/plugin-node-resolve";
4+
import css from "rollup-plugin-import-css";
45
import typescript from "rollup-plugin-typescript2";
56

67
export default {
@@ -39,9 +40,11 @@ export default {
3940
"@mui/material",
4041
"@suspensive/react",
4142
"@tanstack/react-query",
43+
"@uiw/react-md-editor",
4244
"@frontend/common",
4345
],
4446
plugins: [
47+
css(),
4548
json(),
4649
typescript({ tsconfig: "./tsconfig.json" }),
4750
resolve(),

pnpm-lock.yaml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)