@mandujs/core 0.7.0 → 0.7.1
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 +1 -1
- package/src/bundler/build.ts +120 -13
package/package.json
CHANGED
package/src/bundler/build.ts
CHANGED
|
@@ -208,6 +208,7 @@ export { islandRegistry, hydratedRoots };
|
|
|
208
208
|
|
|
209
209
|
/**
|
|
210
210
|
* React shim 소스 생성 (import map용)
|
|
211
|
+
* 주의: export *는 Bun bundler에서 제대로 작동하지 않으므로 명시적 export 필요
|
|
211
212
|
*/
|
|
212
213
|
function generateReactShimSource(): string {
|
|
213
214
|
return `
|
|
@@ -215,42 +216,139 @@ function generateReactShimSource(): string {
|
|
|
215
216
|
* Mandu React Shim (Generated)
|
|
216
217
|
* import map을 통해 bare specifier 해결
|
|
217
218
|
*/
|
|
218
|
-
import
|
|
219
|
-
|
|
219
|
+
import React, {
|
|
220
|
+
// Core
|
|
221
|
+
createElement,
|
|
222
|
+
cloneElement,
|
|
223
|
+
createContext,
|
|
224
|
+
createRef,
|
|
225
|
+
forwardRef,
|
|
226
|
+
isValidElement,
|
|
227
|
+
memo,
|
|
228
|
+
lazy,
|
|
229
|
+
// Hooks
|
|
230
|
+
useState,
|
|
231
|
+
useEffect,
|
|
232
|
+
useContext,
|
|
233
|
+
useReducer,
|
|
234
|
+
useCallback,
|
|
235
|
+
useMemo,
|
|
236
|
+
useRef,
|
|
237
|
+
useLayoutEffect,
|
|
238
|
+
useImperativeHandle,
|
|
239
|
+
useDebugValue,
|
|
240
|
+
useDeferredValue,
|
|
241
|
+
useTransition,
|
|
242
|
+
useId,
|
|
243
|
+
useSyncExternalStore,
|
|
244
|
+
useInsertionEffect,
|
|
245
|
+
// Components
|
|
246
|
+
Fragment,
|
|
247
|
+
Suspense,
|
|
248
|
+
StrictMode,
|
|
249
|
+
Profiler,
|
|
250
|
+
// Types
|
|
251
|
+
Component,
|
|
252
|
+
PureComponent,
|
|
253
|
+
Children,
|
|
254
|
+
} from 'react';
|
|
255
|
+
|
|
256
|
+
// Named exports
|
|
257
|
+
export {
|
|
258
|
+
createElement,
|
|
259
|
+
cloneElement,
|
|
260
|
+
createContext,
|
|
261
|
+
createRef,
|
|
262
|
+
forwardRef,
|
|
263
|
+
isValidElement,
|
|
264
|
+
memo,
|
|
265
|
+
lazy,
|
|
266
|
+
useState,
|
|
267
|
+
useEffect,
|
|
268
|
+
useContext,
|
|
269
|
+
useReducer,
|
|
270
|
+
useCallback,
|
|
271
|
+
useMemo,
|
|
272
|
+
useRef,
|
|
273
|
+
useLayoutEffect,
|
|
274
|
+
useImperativeHandle,
|
|
275
|
+
useDebugValue,
|
|
276
|
+
useDeferredValue,
|
|
277
|
+
useTransition,
|
|
278
|
+
useId,
|
|
279
|
+
useSyncExternalStore,
|
|
280
|
+
useInsertionEffect,
|
|
281
|
+
Fragment,
|
|
282
|
+
Suspense,
|
|
283
|
+
StrictMode,
|
|
284
|
+
Profiler,
|
|
285
|
+
Component,
|
|
286
|
+
PureComponent,
|
|
287
|
+
Children,
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
// Default export
|
|
220
291
|
export default React;
|
|
221
292
|
`;
|
|
222
293
|
}
|
|
223
294
|
|
|
224
295
|
/**
|
|
225
296
|
* React DOM shim 소스 생성
|
|
297
|
+
* 주의: export *는 Bun bundler에서 제대로 작동하지 않으므로 명시적 export 필요
|
|
226
298
|
*/
|
|
227
299
|
function generateReactDOMShimSource(): string {
|
|
228
300
|
return `
|
|
229
301
|
/**
|
|
230
302
|
* Mandu React DOM Shim (Generated)
|
|
231
303
|
*/
|
|
232
|
-
import
|
|
233
|
-
|
|
304
|
+
import ReactDOM, {
|
|
305
|
+
createPortal,
|
|
306
|
+
flushSync,
|
|
307
|
+
render,
|
|
308
|
+
unmountComponentAtNode,
|
|
309
|
+
findDOMNode,
|
|
310
|
+
hydrate,
|
|
311
|
+
version,
|
|
312
|
+
} from 'react-dom';
|
|
313
|
+
|
|
314
|
+
// Named exports
|
|
315
|
+
export {
|
|
316
|
+
createPortal,
|
|
317
|
+
flushSync,
|
|
318
|
+
render,
|
|
319
|
+
unmountComponentAtNode,
|
|
320
|
+
findDOMNode,
|
|
321
|
+
hydrate,
|
|
322
|
+
version,
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
// Default export
|
|
234
326
|
export default ReactDOM;
|
|
235
327
|
`;
|
|
236
328
|
}
|
|
237
329
|
|
|
238
330
|
/**
|
|
239
331
|
* React DOM Client shim 소스 생성
|
|
332
|
+
* 주의: export *는 Bun bundler에서 제대로 작동하지 않으므로 명시적 export 필요
|
|
240
333
|
*/
|
|
241
334
|
function generateReactDOMClientShimSource(): string {
|
|
242
335
|
return `
|
|
243
336
|
/**
|
|
244
337
|
* Mandu React DOM Client Shim (Generated)
|
|
245
338
|
*/
|
|
246
|
-
import
|
|
247
|
-
|
|
248
|
-
|
|
339
|
+
import { createRoot, hydrateRoot } from 'react-dom/client';
|
|
340
|
+
|
|
341
|
+
// Named exports (명시적으로 re-export)
|
|
342
|
+
export { createRoot, hydrateRoot };
|
|
343
|
+
|
|
344
|
+
// Default export
|
|
345
|
+
export default { createRoot, hydrateRoot };
|
|
249
346
|
`;
|
|
250
347
|
}
|
|
251
348
|
|
|
252
349
|
/**
|
|
253
350
|
* JSX Runtime shim 소스 생성
|
|
351
|
+
* 주의: export *는 Bun bundler에서 제대로 작동하지 않으므로 명시적 export 필요
|
|
254
352
|
*/
|
|
255
353
|
function generateJsxRuntimeShimSource(): string {
|
|
256
354
|
return `
|
|
@@ -258,14 +356,19 @@ function generateJsxRuntimeShimSource(): string {
|
|
|
258
356
|
* Mandu JSX Runtime Shim (Generated)
|
|
259
357
|
* Production JSX 변환용
|
|
260
358
|
*/
|
|
261
|
-
import
|
|
262
|
-
|
|
263
|
-
|
|
359
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
360
|
+
|
|
361
|
+
// Named exports
|
|
362
|
+
export { jsx, jsxs, Fragment };
|
|
363
|
+
|
|
364
|
+
// Default export
|
|
365
|
+
export default { jsx, jsxs, Fragment };
|
|
264
366
|
`;
|
|
265
367
|
}
|
|
266
368
|
|
|
267
369
|
/**
|
|
268
370
|
* JSX Dev Runtime shim 소스 생성
|
|
371
|
+
* 주의: export *는 Bun bundler에서 제대로 작동하지 않으므로 명시적 export 필요
|
|
269
372
|
*/
|
|
270
373
|
function generateJsxDevRuntimeShimSource(): string {
|
|
271
374
|
return `
|
|
@@ -273,9 +376,13 @@ function generateJsxDevRuntimeShimSource(): string {
|
|
|
273
376
|
* Mandu JSX Dev Runtime Shim (Generated)
|
|
274
377
|
* Development JSX 변환용
|
|
275
378
|
*/
|
|
276
|
-
import
|
|
277
|
-
|
|
278
|
-
|
|
379
|
+
import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
|
|
380
|
+
|
|
381
|
+
// Named exports
|
|
382
|
+
export { jsxDEV, Fragment };
|
|
383
|
+
|
|
384
|
+
// Default export
|
|
385
|
+
export default { jsxDEV, Fragment };
|
|
279
386
|
`;
|
|
280
387
|
}
|
|
281
388
|
|