@nine-lab/nine-mu 0.1.378 โ†’ 0.1.379

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nine-lab/nine-mu",
3
- "version": "0.1.378",
3
+ "version": "0.1.379",
4
4
  "description": "AI-Driven Full-Stack Code Fabrication Engine",
5
5
  "type": "module",
6
6
  "main": "./dist/nine-mu.umd.js",
@@ -23,12 +23,24 @@ const ScreenProvider = ({ children }) => {
23
23
  );
24
24
  };
25
25
 
26
- const createDynamicRoutes = (menuData, projectViews) => {
26
+ // ๐Ÿ’ก ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด์žฅ ๋””ํดํŠธ ํ„ฐ๋ฏธ๋„ ์Šคํƒ€์ผ 404 ์ปดํฌ๋„ŒํŠธ
27
+ const Default404 = () => {
28
+ return React.createElement(
29
+ 'div',
30
+ { style: { padding: '25px', background: '#121314', color: '#666', fontFamily: 'Consolas, Monaco, monospace', fontSize: '14px', minHeight: '100%', flexGrow: 1 } },
31
+ '[SYSTEM] 404 - COMMAND OR COMPONENT NOT FOUND'
32
+ );
33
+ };
34
+
35
+ const createDynamicRoutes = (menuData, projectViews, Custom404) => {
27
36
  // ๊ธฐ๋ณธ 404 ๋ฐ ํ™ˆ ์„ค์ •
28
37
  const lazyLoad = (viewPath) => {
29
38
  const importer = projectViews[viewPath];
30
- // 404 ํŒŒ์ผ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด๋ถ€์— ๋‘๊ฑฐ๋‚˜ ์ฃผ์ž…๋ฐ›์Œ
31
- //if (!importer) return lazy(() => import('./Error404.jsx').catch(() => ({ default: () => React.createElement('div', null, '404 Not Found') })));
39
+
40
+ // ๐ŸŽฏ [404 ํ•ด๊ฒฐ ํฌ์ธํŠธ] ์‚ฌ์šฉ์ž๊ฐ€ ๋“ฑ๋กํ•œ 404๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ๊ฑธ ์“ฐ๊ณ , ์—†์œผ๋ฉด ๊ธฐ๋ณธ ๋‚ด์žฅ 404๋ฅผ ๋„์›๋‹ˆ๋‹ค.
41
+ if (!importer) {
42
+ return Custom404 ? Custom404 : Default404;
43
+ }
32
44
  return lazy(() => importer());
33
45
  };
34
46
 
@@ -65,7 +77,8 @@ const createDynamicRoutes = (menuData, projectViews) => {
65
77
  });
66
78
  }
67
79
 
68
- //dynamicRoutes.push({ path: "*", Component: lazyLoad("./frame/Error404.jsx") });
80
+ // ๐ŸŽฏ [404 ํ•ด๊ฒฐ ํฌ์ธํŠธ] ์ •์˜๋˜์ง€ ์•Š์€ ๋ชจ๋“  ์ฃผ์†Œ(*)๋Š” ๋ผ์šฐํ„ฐ ๋ ˆ๋ฒจ์—์„œ 404 ๋งคํ•‘ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
81
+ dynamicRoutes.push({ path: "*", Component: Custom404 ? Custom404 : Default404 });
69
82
  return dynamicRoutes;
70
83
  };
71
84
 
@@ -189,9 +202,12 @@ class NineExceptionHook extends React.Component {
189
202
  }
190
203
  }
191
204
 
192
- export function NineHook({ menuData, views, onCatch, fallback, styles, containerStyle }) {
193
- // ๋‚ด๋ถ€์—์„œ ์ž๋™์œผ๋กœ ๋ผ์šฐํŠธ ๋ฐฐ์—ด ์ƒ์„ฑ
194
- const dynamicRoutes = createDynamicRoutes(menuData, views);
205
+ // ==========================================
206
+ // ๐ŸŽฏ 3. ํ•ต์‹ฌ: ์™ธ๋ถ€ ์ฃผ์ž…ํ˜• 404 ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ ํƒ‘์žฌ
207
+ // ==========================================
208
+ export function NineHook({ menuData, views, error404, onCatch, fallback, styles, containerStyle }) {
209
+ // ๋‚ด๋ถ€์—์„œ ์ž๋™์œผ๋กœ ๋ผ์šฐํŠธ ๋ฐฐ์—ด ์ƒ์„ฑ (error404 ์ปดํฌ๋„ŒํŠธ ์ „๋‹ฌ)
210
+ const dynamicRoutes = createDynamicRoutes(menuData, views, error404);
195
211
 
196
212
  return React.createElement(
197
213
  ScreenProvider,
@@ -199,7 +215,6 @@ export function NineHook({ menuData, views, onCatch, fallback, styles, container
199
215
  React.createElement(
200
216
  NineExceptionHook,
201
217
  { onCatch, fallback, styles, containerStyle },
202
- // ๐Ÿ’ก Suspense ๋กœ๋”ฉ๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ฑ…์ž„์ง€๊ณ  ํ„ฐ๋ฏธ๋„ ๊ฐ์„ฑ์œผ๋กœ ์ฒ˜๋ฆฌ
203
218
  React.createElement(
204
219
  Suspense,
205
220
  { fallback: React.createElement('div', { style: { padding: '25px', color: '#666', fontFamily: 'monospace' } }, '>> Loading component matrix...') },