@granite-js/mpack 0.0.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.
Files changed (397) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/LICENSE +202 -0
  3. package/README.md +24 -0
  4. package/dist/bundler/Bundler.d.ts +24 -0
  5. package/dist/bundler/Bundler.js +175 -0
  6. package/dist/bundler/PluginDriver.d.ts +9 -0
  7. package/dist/bundler/PluginDriver.js +47 -0
  8. package/dist/bundler/index.d.ts +1 -0
  9. package/dist/bundler/index.js +22 -0
  10. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.d.ts +12 -0
  11. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.js +75 -0
  12. package/dist/bundler/plugins/buildStatusPlugin/index.d.ts +1 -0
  13. package/dist/bundler/plugins/buildStatusPlugin/index.js +28 -0
  14. package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.d.ts +3 -0
  15. package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.js +89 -0
  16. package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.d.ts +3 -0
  17. package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.js +43 -0
  18. package/dist/bundler/plugins/dependencyAliasPlugin/index.d.ts +1 -0
  19. package/dist/bundler/plugins/dependencyAliasPlugin/index.js +28 -0
  20. package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.d.ts +3 -0
  21. package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.js +53 -0
  22. package/dist/bundler/plugins/index.d.ts +4 -0
  23. package/dist/bundler/plugins/index.js +28 -0
  24. package/dist/bundler/plugins/requireContextPlugin/index.d.ts +1 -0
  25. package/dist/bundler/plugins/requireContextPlugin/index.js +28 -0
  26. package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.d.ts +6 -0
  27. package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.js +101 -0
  28. package/dist/bundler/plugins/requireContextPlugin/scripts.d.ts +56 -0
  29. package/dist/bundler/plugins/requireContextPlugin/scripts.js +65 -0
  30. package/dist/bundler/plugins/shared/swc.d.ts +11 -0
  31. package/dist/bundler/plugins/shared/swc.js +70 -0
  32. package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.d.ts +23 -0
  33. package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.js +79 -0
  34. package/dist/bundler/plugins/transformPlugin/index.d.ts +1 -0
  35. package/dist/bundler/plugins/transformPlugin/index.js +28 -0
  36. package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.d.ts +10 -0
  37. package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.js +56 -0
  38. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.d.ts +8 -0
  39. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.js +120 -0
  40. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.d.ts +6 -0
  41. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.js +91 -0
  42. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +8 -0
  43. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.js +100 -0
  44. package/dist/bundler/plugins/transformPlugin/transformPlugin.d.ts +8 -0
  45. package/dist/bundler/plugins/transformPlugin/transformPlugin.js +88 -0
  46. package/dist/bundler/plugins/types.d.ts +7 -0
  47. package/dist/bundler/plugins/types.js +16 -0
  48. package/dist/bundler/types.d.ts +17 -0
  49. package/dist/bundler/types.js +16 -0
  50. package/dist/cache/Cache.d.ts +25 -0
  51. package/dist/cache/Cache.js +87 -0
  52. package/dist/cache/index.d.ts +1 -0
  53. package/dist/cache/index.js +22 -0
  54. package/dist/constants/index.d.ts +20 -0
  55. package/dist/constants/index.js +91 -0
  56. package/dist/index.d.ts +11 -0
  57. package/dist/index.js +60 -0
  58. package/dist/logger/Logger.d.ts +17 -0
  59. package/dist/logger/Logger.js +115 -0
  60. package/dist/logger/clientLogger.d.ts +2 -0
  61. package/dist/logger/clientLogger.js +49 -0
  62. package/dist/logger/index.d.ts +3 -0
  63. package/dist/logger/index.js +31 -0
  64. package/dist/metro/assetRegistry.d.ts +12 -0
  65. package/dist/metro/assetRegistry.js +57 -0
  66. package/dist/metro/enhancedResolver.d.ts +7 -0
  67. package/dist/metro/enhancedResolver.js +127 -0
  68. package/dist/metro/getMetroConfig.d.ts +12 -0
  69. package/dist/metro/getMetroConfig.js +138 -0
  70. package/dist/metro/getMonorepoRoot.d.ts +4 -0
  71. package/dist/metro/getMonorepoRoot.js +80 -0
  72. package/dist/metro/index.d.ts +3 -0
  73. package/dist/metro/index.js +24 -0
  74. package/dist/metro/pnpapi.d.ts +6 -0
  75. package/dist/metro/pnpapi.js +32 -0
  76. package/dist/metro/runBuild.d.ts +12 -0
  77. package/dist/metro/runBuild.js +66 -0
  78. package/dist/metro/runtime.d.ts +3 -0
  79. package/dist/metro/runtime.js +56 -0
  80. package/dist/metro/types.d.ts +88 -0
  81. package/dist/metro/types.js +16 -0
  82. package/dist/operations/constants.d.ts +3 -0
  83. package/dist/operations/constants.js +34 -0
  84. package/dist/operations/createDebuggerMiddleware.d.ts +11 -0
  85. package/dist/operations/createDebuggerMiddleware.js +128 -0
  86. package/dist/operations/experimental/StartMenuHandler.d.ts +13 -0
  87. package/dist/operations/experimental/StartMenuHandler.js +86 -0
  88. package/dist/operations/experimental/runServer.d.ts +16 -0
  89. package/dist/operations/experimental/runServer.js +137 -0
  90. package/dist/operations/index.d.ts +3 -0
  91. package/dist/operations/index.js +26 -0
  92. package/dist/operations/openDebugger.d.ts +1 -0
  93. package/dist/operations/openDebugger.js +73 -0
  94. package/dist/operations/runBundle.d.ts +12 -0
  95. package/dist/operations/runBundle.js +97 -0
  96. package/dist/operations/runServer.d.ts +15 -0
  97. package/dist/operations/runServer.js +134 -0
  98. package/dist/performance/Performance.d.ts +23 -0
  99. package/dist/performance/Performance.js +121 -0
  100. package/dist/performance/index.d.ts +2 -0
  101. package/dist/performance/index.js +31 -0
  102. package/dist/performance/printSummary.d.ts +5 -0
  103. package/dist/performance/printSummary.js +58 -0
  104. package/dist/plugins/index.d.ts +1 -0
  105. package/dist/plugins/index.js +22 -0
  106. package/dist/plugins/statusPlugin.d.ts +2 -0
  107. package/dist/plugins/statusPlugin.js +64 -0
  108. package/dist/server/DevServer.d.ts +23 -0
  109. package/dist/server/DevServer.js +216 -0
  110. package/dist/server/constants.d.ts +1 -0
  111. package/dist/server/constants.js +28 -0
  112. package/dist/server/debugger/DebuggerEventHandler.d.ts +41 -0
  113. package/dist/server/debugger/DebuggerEventHandler.js +169 -0
  114. package/dist/server/debugger/parseDomain.d.ts +1 -0
  115. package/dist/server/debugger/parseDomain.js +30 -0
  116. package/dist/server/helpers/createBundlerForDevServer.d.ts +10 -0
  117. package/dist/server/helpers/createBundlerForDevServer.js +75 -0
  118. package/dist/server/helpers/mergeBundles.d.ts +7 -0
  119. package/dist/server/helpers/mergeBundles.js +129 -0
  120. package/dist/server/index.d.ts +1 -0
  121. package/dist/server/index.js +22 -0
  122. package/dist/server/middlewares/createLiveReloadMiddleware.d.ts +10 -0
  123. package/dist/server/middlewares/createLiveReloadMiddleware.js +129 -0
  124. package/dist/server/middlewares/index.d.ts +1 -0
  125. package/dist/server/middlewares/index.js +22 -0
  126. package/dist/server/plugins/debuggerPlugin.d.ts +7 -0
  127. package/dist/server/plugins/debuggerPlugin.js +68 -0
  128. package/dist/server/plugins/index.d.ts +5 -0
  129. package/dist/server/plugins/index.js +30 -0
  130. package/dist/server/plugins/indexPagePlugin.d.ts +4 -0
  131. package/dist/server/plugins/indexPagePlugin.js +52 -0
  132. package/dist/server/plugins/reply.d.ts +3 -0
  133. package/dist/server/plugins/reply.js +38 -0
  134. package/dist/server/plugins/serveBundlePlugin.d.ts +8 -0
  135. package/dist/server/plugins/serveBundlePlugin.js +118 -0
  136. package/dist/server/plugins/statusPlugin.d.ts +7 -0
  137. package/dist/server/plugins/statusPlugin.js +50 -0
  138. package/dist/server/plugins/symbolicatePlugin/index.d.ts +1 -0
  139. package/dist/server/plugins/symbolicatePlugin/index.js +28 -0
  140. package/dist/server/plugins/symbolicatePlugin/parseStackFrame.d.ts +25 -0
  141. package/dist/server/plugins/symbolicatePlugin/parseStackFrame.js +51 -0
  142. package/dist/server/plugins/symbolicatePlugin/symbolicate.d.ts +25 -0
  143. package/dist/server/plugins/symbolicatePlugin/symbolicate.js +84 -0
  144. package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +8 -0
  145. package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.js +77 -0
  146. package/dist/server/types.d.ts +97 -0
  147. package/dist/server/types.js +16 -0
  148. package/dist/server/wss/WebSocketServerDelegate.d.ts +23 -0
  149. package/dist/server/wss/WebSocketServerDelegate.js +50 -0
  150. package/dist/server/wss/WebSocketServerRouter.d.ts +8 -0
  151. package/dist/server/wss/WebSocketServerRouter.js +66 -0
  152. package/dist/server/wss/index.d.ts +2 -0
  153. package/dist/server/wss/index.js +24 -0
  154. package/dist/shared/PersistentStorage.d.ts +21 -0
  155. package/dist/shared/PersistentStorage.js +68 -0
  156. package/dist/transformer/AsyncTransformPipeline.d.ts +4 -0
  157. package/dist/transformer/AsyncTransformPipeline.js +58 -0
  158. package/dist/transformer/TransformPipeline.d.ts +37 -0
  159. package/dist/transformer/TransformPipeline.js +64 -0
  160. package/dist/transformer/index.d.ts +1 -0
  161. package/dist/transformer/index.js +28 -0
  162. package/dist/types/BuildConfig.d.ts +183 -0
  163. package/dist/types/BuildConfig.js +16 -0
  164. package/dist/types/BundlerConfig.d.ts +56 -0
  165. package/dist/types/BundlerConfig.js +16 -0
  166. package/dist/types/Config.d.ts +12 -0
  167. package/dist/types/Config.js +16 -0
  168. package/dist/types/DevServerConfig.d.ts +9 -0
  169. package/dist/types/DevServerConfig.js +16 -0
  170. package/dist/types/Plugin.d.ts +28 -0
  171. package/dist/types/Plugin.js +16 -0
  172. package/dist/types/Preset.d.ts +3 -0
  173. package/dist/types/Preset.js +16 -0
  174. package/dist/types/PresetContext.d.ts +2 -0
  175. package/dist/types/PresetContext.js +16 -0
  176. package/dist/types/ServicesConfig.d.ts +2 -0
  177. package/dist/types/ServicesConfig.js +16 -0
  178. package/dist/types/TaskConfig.d.ts +16 -0
  179. package/dist/types/TaskConfig.js +16 -0
  180. package/dist/types/index.d.ts +9 -0
  181. package/dist/types/index.js +38 -0
  182. package/dist/types/schemas/buildConfigSchema.d.ts +235 -0
  183. package/dist/types/schemas/buildConfigSchema.js +79 -0
  184. package/dist/types/schemas/bundlerConfigSchema.d.ts +3 -0
  185. package/dist/types/schemas/bundlerConfigSchema.js +51 -0
  186. package/dist/types/schemas/configSchema.d.ts +3 -0
  187. package/dist/types/schemas/configSchema.js +50 -0
  188. package/dist/types/schemas/devServerConfigSchema.d.ts +3 -0
  189. package/dist/types/schemas/devServerConfigSchema.js +43 -0
  190. package/dist/types/schemas/index.d.ts +6 -0
  191. package/dist/types/schemas/index.js +32 -0
  192. package/dist/types/schemas/servicesConfigSchema.d.ts +3 -0
  193. package/dist/types/schemas/servicesConfigSchema.js +48 -0
  194. package/dist/types/schemas/taskConfigSchema.d.ts +3 -0
  195. package/dist/types/schemas/taskConfigSchema.js +45 -0
  196. package/dist/utils/cleanupOutputDirectory.d.ts +1 -0
  197. package/dist/utils/cleanupOutputDirectory.js +53 -0
  198. package/dist/utils/defineStepName.d.ts +2 -0
  199. package/dist/utils/defineStepName.js +30 -0
  200. package/dist/utils/esbuildUtils.d.ts +1 -0
  201. package/dist/utils/esbuildUtils.js +45 -0
  202. package/dist/utils/getBundleName.d.ts +1 -0
  203. package/dist/utils/getBundleName.js +30 -0
  204. package/dist/utils/getBundleOutputs.d.ts +5 -0
  205. package/dist/utils/getBundleOutputs.js +49 -0
  206. package/dist/utils/getId.d.ts +2 -0
  207. package/dist/utils/getId.js +41 -0
  208. package/dist/utils/getSourcemapName.d.ts +1 -0
  209. package/dist/utils/getSourcemapName.js +30 -0
  210. package/dist/utils/isDebugMode.d.ts +1 -0
  211. package/dist/utils/isDebugMode.js +30 -0
  212. package/dist/utils/loadConfig.d.ts +2 -0
  213. package/dist/utils/loadConfig.js +37 -0
  214. package/dist/utils/loadPresets.d.ts +2 -0
  215. package/dist/utils/loadPresets.js +40 -0
  216. package/dist/utils/md5.d.ts +1 -0
  217. package/dist/utils/md5.js +41 -0
  218. package/dist/utils/mergeBanners.d.ts +6 -0
  219. package/dist/utils/mergeBanners.js +35 -0
  220. package/dist/utils/mergeBuildConfigs.d.ts +2 -0
  221. package/dist/utils/mergeBuildConfigs.js +59 -0
  222. package/dist/utils/mergeInject.d.ts +3 -0
  223. package/dist/utils/mergeInject.js +30 -0
  224. package/dist/utils/printLogo.d.ts +1 -0
  225. package/dist/utils/printLogo.js +56 -0
  226. package/dist/utils/printSummary.d.ts +7 -0
  227. package/dist/utils/printSummary.js +55 -0
  228. package/dist/utils/progressBar.d.ts +9 -0
  229. package/dist/utils/progressBar.js +97 -0
  230. package/dist/utils/promiseHandler.d.ts +12 -0
  231. package/dist/utils/promiseHandler.js +54 -0
  232. package/dist/utils/replaceModulePath.d.ts +1 -0
  233. package/dist/utils/replaceModulePath.js +31 -0
  234. package/dist/utils/replacePlaceholders.d.ts +1 -0
  235. package/dist/utils/replacePlaceholders.js +33 -0
  236. package/dist/utils/stripExtension.d.ts +1 -0
  237. package/dist/utils/stripExtension.js +41 -0
  238. package/dist/utils/writeBundle.d.ts +2 -0
  239. package/dist/utils/writeBundle.js +52 -0
  240. package/dist/vendors/@react-native/dev-middleware/Device.d.ts +5 -0
  241. package/dist/vendors/@react-native/dev-middleware/Device.js +33 -0
  242. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.d.ts +31 -0
  243. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.js +169 -0
  244. package/dist/vendors/@react-native/dev-middleware/index.d.ts +3 -0
  245. package/dist/vendors/@react-native/dev-middleware/index.js +26 -0
  246. package/dist/vendors/@react-native/dev-middleware/types.d.ts +54 -0
  247. package/dist/vendors/@react-native/dev-middleware/types.js +16 -0
  248. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.d.ts +23 -0
  249. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.js +47 -0
  250. package/dist/vendors/@react-native-community/cli-server-api/index.d.ts +1 -0
  251. package/dist/vendors/@react-native-community/cli-server-api/index.js +22 -0
  252. package/dist/vendors/index.d.ts +27 -0
  253. package/dist/vendors/index.js +63 -0
  254. package/dist/vendors/metro/src/Assets.js +159 -0
  255. package/dist/vendors/metro/src/Bundler/util.js +131 -0
  256. package/dist/vendors/metro/src/Bundler.js +43 -0
  257. package/dist/vendors/metro/src/DeltaBundler/DeltaCalculator.js +176 -0
  258. package/dist/vendors/metro/src/DeltaBundler/Serializers/baseBytecodeBundle.js +61 -0
  259. package/dist/vendors/metro/src/DeltaBundler/Serializers/baseJSBundle.js +45 -0
  260. package/dist/vendors/metro/src/DeltaBundler/Serializers/getAllFiles.js +30 -0
  261. package/dist/vendors/metro/src/DeltaBundler/Serializers/getAssets.js +23 -0
  262. package/dist/vendors/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js +17 -0
  263. package/dist/vendors/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js +87 -0
  264. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/bytecode.js +51 -0
  265. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +6 -0
  266. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +16 -0
  267. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +21 -0
  268. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/js.js +43 -0
  269. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +13 -0
  270. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processModules.js +13 -0
  271. package/dist/vendors/metro/src/DeltaBundler/Serializers/hmrJSBundle.js +66 -0
  272. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +63 -0
  273. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapObject.js +18 -0
  274. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapString.js +8 -0
  275. package/dist/vendors/metro/src/DeltaBundler/Transformer.js +133 -0
  276. package/dist/vendors/metro/src/DeltaBundler/Worker.flow.js +64 -0
  277. package/dist/vendors/metro/src/DeltaBundler/Worker.js +6 -0
  278. package/dist/vendors/metro/src/DeltaBundler/WorkerFarm.js +128 -0
  279. package/dist/vendors/metro/src/DeltaBundler/getTransformCacheKey.js +20 -0
  280. package/dist/vendors/metro/src/DeltaBundler/graphOperations.js +420 -0
  281. package/dist/vendors/metro/src/DeltaBundler/mergeDeltas.js +52 -0
  282. package/dist/vendors/metro/src/DeltaBundler/types.flow.js +24 -0
  283. package/dist/vendors/metro/src/DeltaBundler.js +56 -0
  284. package/dist/vendors/metro/src/HmrServer.js +224 -0
  285. package/dist/vendors/metro/src/IncrementalBundler/GraphNotFoundError.js +9 -0
  286. package/dist/vendors/metro/src/IncrementalBundler/ResourceNotFoundError.js +9 -0
  287. package/dist/vendors/metro/src/IncrementalBundler/RevisionNotFoundError.js +9 -0
  288. package/dist/vendors/metro/src/IncrementalBundler.js +213 -0
  289. package/dist/vendors/metro/src/ModuleGraph/module.js +14 -0
  290. package/dist/vendors/metro/src/ModuleGraph/node-haste/HasteFS.js +66 -0
  291. package/dist/vendors/metro/src/ModuleGraph/node-haste/Module.js +22 -0
  292. package/dist/vendors/metro/src/ModuleGraph/node-haste/ModuleCache.js +43 -0
  293. package/dist/vendors/metro/src/ModuleGraph/node-haste/Package.js +81 -0
  294. package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.flow.js +1 -0
  295. package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.js +127 -0
  296. package/dist/vendors/metro/src/ModuleGraph/output/indexed-ram-bundle.js +71 -0
  297. package/dist/vendors/metro/src/ModuleGraph/output/multiple-files-ram-bundle.js +53 -0
  298. package/dist/vendors/metro/src/ModuleGraph/output/plain-bundle.js +36 -0
  299. package/dist/vendors/metro/src/ModuleGraph/output/reverse-dependency-map-references.js +53 -0
  300. package/dist/vendors/metro/src/ModuleGraph/output/util.js +168 -0
  301. package/dist/vendors/metro/src/ModuleGraph/silent-console.js +5 -0
  302. package/dist/vendors/metro/src/ModuleGraph/types.flow.js +1 -0
  303. package/dist/vendors/metro/src/ModuleGraph/worker/JsFileWrapping.js +87 -0
  304. package/dist/vendors/metro/src/ModuleGraph/worker/Platforms.js +3 -0
  305. package/dist/vendors/metro/src/ModuleGraph/worker/collectDependencies.js +440 -0
  306. package/dist/vendors/metro/src/ModuleGraph/worker/generate.js +21 -0
  307. package/dist/vendors/metro/src/ModuleGraph/worker/generateImportNames.js +19 -0
  308. package/dist/vendors/metro/src/ModuleGraph/worker/mergeSourceMaps.js +29 -0
  309. package/dist/vendors/metro/src/Server/MultipartResponse.js +57 -0
  310. package/dist/vendors/metro/src/Server/symbolicate.js +109 -0
  311. package/dist/vendors/metro/src/Server.js +855 -0
  312. package/dist/vendors/metro/src/cli-utils.js +14 -0
  313. package/dist/vendors/metro/src/cli.js +9 -0
  314. package/dist/vendors/metro/src/commands/build.js +67 -0
  315. package/dist/vendors/metro/src/commands/dependencies.js +75 -0
  316. package/dist/vendors/metro/src/commands/serve.js +56 -0
  317. package/dist/vendors/metro/src/index.d.ts +8 -0
  318. package/dist/vendors/metro/src/index.flow.js +279 -0
  319. package/dist/vendors/metro/src/index.js +6 -0
  320. package/dist/vendors/metro/src/isPnP.js +13 -0
  321. package/dist/vendors/metro/src/lib/BatchProcessor.js +69 -0
  322. package/dist/vendors/metro/src/lib/CountingSet.js +98 -0
  323. package/dist/vendors/metro/src/lib/JsonReporter.js +21 -0
  324. package/dist/vendors/metro/src/lib/RamBundleParser.js +36 -0
  325. package/dist/vendors/metro/src/lib/TerminalReporter.d.ts +18 -0
  326. package/dist/vendors/metro/src/lib/TerminalReporter.js +258 -0
  327. package/dist/vendors/metro/src/lib/bundleToBytecode.js +40 -0
  328. package/dist/vendors/metro/src/lib/bundleToString.js +22 -0
  329. package/dist/vendors/metro/src/lib/contextModule.js +73 -0
  330. package/dist/vendors/metro/src/lib/contextModuleTemplates.js +116 -0
  331. package/dist/vendors/metro/src/lib/countLines.js +4 -0
  332. package/dist/vendors/metro/src/lib/createModuleIdFactory.js +14 -0
  333. package/dist/vendors/metro/src/lib/createWebsocketServer.js +54 -0
  334. package/dist/vendors/metro/src/lib/debounceAsyncQueue.js +33 -0
  335. package/dist/vendors/metro/src/lib/formatBundlingError.js +76 -0
  336. package/dist/vendors/metro/src/lib/getAppendScripts.js +131 -0
  337. package/dist/vendors/metro/src/lib/getGraphId.js +27 -0
  338. package/dist/vendors/metro/src/lib/getMaxWorkers.js +6 -0
  339. package/dist/vendors/metro/src/lib/getPreludeCode.js +32 -0
  340. package/dist/vendors/metro/src/lib/getPrependedScripts.js +93 -0
  341. package/dist/vendors/metro/src/lib/logToConsole.js +46 -0
  342. package/dist/vendors/metro/src/lib/parseCustomResolverOptions.js +13 -0
  343. package/dist/vendors/metro/src/lib/parseCustomTransformOptions.js +13 -0
  344. package/dist/vendors/metro/src/lib/parseOptionsFromUrl.js +50 -0
  345. package/dist/vendors/metro/src/lib/relativizeSourceMap.js +14 -0
  346. package/dist/vendors/metro/src/lib/reporting.js +26 -0
  347. package/dist/vendors/metro/src/lib/splitBundleOptions.js +32 -0
  348. package/dist/vendors/metro/src/lib/transformHelpers.js +112 -0
  349. package/dist/vendors/metro/src/node-haste/DependencyGraph/ModuleResolution.js +221 -0
  350. package/dist/vendors/metro/src/node-haste/DependencyGraph/createHasteMap.js +71 -0
  351. package/dist/vendors/metro/src/node-haste/DependencyGraph.js +223 -0
  352. package/dist/vendors/metro/src/node-haste/Module.js +21 -0
  353. package/dist/vendors/metro/src/node-haste/ModuleCache.js +81 -0
  354. package/dist/vendors/metro/src/node-haste/Package.js +98 -0
  355. package/dist/vendors/metro/src/node-haste/lib/AssetPaths.js +41 -0
  356. package/dist/vendors/metro/src/node-haste/lib/parsePlatformFilePath.js +19 -0
  357. package/dist/vendors/metro/src/shared/output/RamBundle/as-assets.js +61 -0
  358. package/dist/vendors/metro/src/shared/output/RamBundle/as-indexed-file.js +115 -0
  359. package/dist/vendors/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +23 -0
  360. package/dist/vendors/metro/src/shared/output/RamBundle/magic-number.js +2 -0
  361. package/dist/vendors/metro/src/shared/output/RamBundle/util.js +94 -0
  362. package/dist/vendors/metro/src/shared/output/RamBundle/write-sourcemap.js +12 -0
  363. package/dist/vendors/metro/src/shared/output/RamBundle.js +18 -0
  364. package/dist/vendors/metro/src/shared/output/bundle.flow.js +42 -0
  365. package/dist/vendors/metro/src/shared/output/bundle.js +6 -0
  366. package/dist/vendors/metro/src/shared/output/meta.js +31 -0
  367. package/dist/vendors/metro/src/shared/output/unbundle.js +2 -0
  368. package/dist/vendors/metro/src/shared/output/writeFile.js +6 -0
  369. package/dist/vendors/metro/src/shared/types.flow.js +1 -0
  370. package/dist/vendors/metro-config/src/configTypes.flow.js +1 -0
  371. package/dist/vendors/metro-config/src/defaults/defaults.js +66 -0
  372. package/dist/vendors/metro-config/src/defaults/exclusionList.d.ts +3 -0
  373. package/dist/vendors/metro-config/src/defaults/exclusionList.js +17 -0
  374. package/dist/vendors/metro-config/src/defaults/index.d.ts +5 -0
  375. package/dist/vendors/metro-config/src/defaults/index.js +161 -0
  376. package/dist/vendors/metro-config/src/defaults/validConfig.js +28 -0
  377. package/dist/vendors/metro-config/src/index.js +9 -0
  378. package/dist/vendors/metro-config/src/loadConfig.d.ts +4 -0
  379. package/dist/vendors/metro-config/src/loadConfig.js +188 -0
  380. package/dist/vendors/metro-core/src/Logger.js +62 -0
  381. package/dist/vendors/metro-core/src/Terminal.d.ts +30 -0
  382. package/dist/vendors/metro-core/src/Terminal.js +100 -0
  383. package/dist/vendors/metro-core/src/canonicalize.js +17 -0
  384. package/dist/vendors/metro-core/src/errors/AmbiguousModuleResolutionError.js +11 -0
  385. package/dist/vendors/metro-core/src/errors/PackageResolutionError.js +18 -0
  386. package/dist/vendors/metro-core/src/errors.js +7 -0
  387. package/dist/vendors/metro-core/src/index.js +11 -0
  388. package/dist/vendors/metro-inspector-proxy/src/Device.js +398 -0
  389. package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.d.ts +21 -0
  390. package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.js +153 -0
  391. package/dist/vendors/metro-inspector-proxy/src/cli.js +15 -0
  392. package/dist/vendors/metro-inspector-proxy/src/index.js +23 -0
  393. package/dist/vendors/metro-inspector-proxy/src/types.js +1 -0
  394. package/dist/vendors/metro-transform-worker/src/index.js +430 -0
  395. package/dist/vendors/metro-transform-worker/src/utils/assetTransformer.js +20 -0
  396. package/dist/vendors/metro-transform-worker/src/utils/getMinifier.js +11 -0
  397. package/package.json +162 -0
@@ -0,0 +1,23 @@
1
+ import { OnLoadArgs, PluginBuild } from 'esbuild';
2
+ /**
3
+ * Entry Point 모듈을 찾아 마킹하기 위한 `onResolve` 콜백 등록
4
+ */
5
+ export declare function registerEntryPointMarker(build: PluginBuild): void;
6
+ /**
7
+ * 가상의 Prelude script 경로를 Tree Shaking 없이 직접 resolve 하기 위한 `onResolve` 콜백 등록
8
+ */
9
+ export declare function registerPreludeScriptResolver(build: PluginBuild): void;
10
+ export declare function isEntryPoint(args: OnLoadArgs): boolean;
11
+ /**
12
+ * 코드 최상단에 prelude 스크립트 추가
13
+ *
14
+ * ```ts
15
+ * import 'prelude:foo';
16
+ * import 'prelude:bar';
17
+ * import 'prelude:baz';
18
+ * // ...
19
+ * ```
20
+ */
21
+ export declare function injectPreludeScript(code: string, { preludeScriptPaths, }: {
22
+ preludeScriptPaths: string[];
23
+ }): string;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var preludeScript_exports = {};
30
+ __export(preludeScript_exports, {
31
+ injectPreludeScript: () => injectPreludeScript,
32
+ isEntryPoint: () => isEntryPoint,
33
+ registerEntryPointMarker: () => registerEntryPointMarker,
34
+ registerPreludeScriptResolver: () => registerPreludeScriptResolver
35
+ });
36
+ module.exports = __toCommonJS(preludeScript_exports);
37
+ var path = __toESM(require("path"));
38
+ var import_es_toolkit = require("es-toolkit");
39
+ var import_constants = require("../../../../constants");
40
+ var import_esbuildUtils = require("../../../../utils/esbuildUtils");
41
+ const skipResolve = Symbol.for("skipResolve");
42
+ const isEntry = Symbol.for("isEntry");
43
+ function registerEntryPointMarker(build) {
44
+ build.onResolve({ filter: /\.([mc]js|[tj]sx?)$/ }, async (args) => {
45
+ if (args.pluginData !== skipResolve && args.kind === "entry-point") {
46
+ const { path: path2, errors } = await build.resolve(args.path, {
47
+ importer: args.importer,
48
+ kind: args.kind,
49
+ resolveDir: args.resolveDir,
50
+ // 한 번만 resolve 하기 위한 플래그 값
51
+ pluginData: skipResolve
52
+ });
53
+ return errors.length === 0 ? { path: path2, pluginData: isEntry } : { errors };
54
+ }
55
+ return null;
56
+ });
57
+ }
58
+ function registerPreludeScriptResolver(build) {
59
+ build.onResolve({ filter: new RegExp(`^${import_constants.PRELUDE_PROTOCOL}.*`) }, (args) => {
60
+ const basePath = args.path.slice(import_constants.PRELUDE_PROTOCOL.length);
61
+ const resolvePath = path.resolve(args.resolveDir, basePath);
62
+ return { path: resolvePath, sideEffects: true };
63
+ });
64
+ }
65
+ function isEntryPoint(args) {
66
+ return args.pluginData === isEntry;
67
+ }
68
+ function injectPreludeScript(code, {
69
+ preludeScriptPaths
70
+ }) {
71
+ return [...preludeScriptPaths.map((path2) => `import '${import_constants.PRELUDE_PROTOCOL}${(0, import_esbuildUtils.normalizePath)(path2)}';`), code].filter(import_es_toolkit.isNotNil).join("\n");
72
+ }
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ injectPreludeScript,
76
+ isEntryPoint,
77
+ registerEntryPointMarker,
78
+ registerPreludeScriptResolver
79
+ });
@@ -0,0 +1 @@
1
+ export { transformPlugin } from './transformPlugin';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var transformPlugin_exports = {};
20
+ __export(transformPlugin_exports, {
21
+ transformPlugin: () => import_transformPlugin.transformPlugin
22
+ });
23
+ module.exports = __toCommonJS(transformPlugin_exports);
24
+ var import_transformPlugin = require("./transformPlugin");
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ transformPlugin
28
+ });
@@ -0,0 +1,10 @@
1
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
2
+ interface CacheStepConfig {
3
+ id: string;
4
+ enabled: boolean;
5
+ }
6
+ export declare function createCacheSteps(config: CacheStepConfig): {
7
+ beforeTransform: AsyncTransformStep;
8
+ afterTransform: AsyncTransformStep;
9
+ };
10
+ export {};
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createCacheSteps_exports = {};
20
+ __export(createCacheSteps_exports, {
21
+ createCacheSteps: () => createCacheSteps
22
+ });
23
+ module.exports = __toCommonJS(createCacheSteps_exports);
24
+ var import_cache = require("../../../../cache");
25
+ var import_performance = require("../../../../performance");
26
+ function createCacheSteps(config) {
27
+ const transformCache = new import_cache.Cache(`transformed-${config.id}`, {
28
+ parse: (data) => ({ transformed: data, mtimeMs: 0 }),
29
+ stringify: (value) => value.transformed
30
+ });
31
+ const readCodeFromCache = async (code, _args, context) => {
32
+ if (!config.enabled) {
33
+ return { code };
34
+ }
35
+ const cache = await import_performance.Performance.withTrace(() => transformCache.read(context.key), {
36
+ name: "read-cache"
37
+ });
38
+ return cache?.transformed ? { code: cache.transformed, done: true } : { code };
39
+ };
40
+ const writeCodeToCache = async (code, _args, context) => {
41
+ if (config.enabled) {
42
+ const trace = import_performance.Performance.trace("write-cache");
43
+ await transformCache.write(context.key, {
44
+ mtimeMs: context.mtimeMs,
45
+ transformed: code
46
+ });
47
+ trace.stop();
48
+ }
49
+ return { code };
50
+ };
51
+ return { beforeTransform: readCodeFromCache, afterTransform: writeCodeToCache };
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ createCacheSteps
56
+ });
@@ -0,0 +1,8 @@
1
+ import * as babel from '@babel/core';
2
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
3
+ interface FullyTransformStepConfig {
4
+ dev: boolean;
5
+ additionalBabelOptions?: babel.TransformOptions;
6
+ }
7
+ export declare function createFullyTransformStep({ dev, additionalBabelOptions, }: FullyTransformStepConfig): AsyncTransformStep;
8
+ export {};
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var createFullyTransformStep_exports = {};
30
+ __export(createFullyTransformStep_exports, {
31
+ createFullyTransformStep: () => createFullyTransformStep
32
+ });
33
+ module.exports = __toCommonJS(createFullyTransformStep_exports);
34
+ var path = __toESM(require("path"));
35
+ var babel = __toESM(require("@babel/core"));
36
+ var import_defineStepName = require("../../../../utils/defineStepName");
37
+ function createFullyTransformStep({
38
+ dev,
39
+ additionalBabelOptions
40
+ }) {
41
+ const baseOptions = {
42
+ configFile: additionalBabelOptions?.configFile || false,
43
+ presets: [
44
+ [
45
+ /**
46
+ * React Native Hermes 대응을 위해
47
+ * 최대한 낮은 버전의 JS 엔진을 지원하도록 IE 11로 설정
48
+ * 추후 정확한 target으로 설정 필요
49
+ */
50
+ require.resolve("@babel/preset-env"),
51
+ {
52
+ targets: {
53
+ ie: 11
54
+ },
55
+ /**
56
+ * supportsStaticESM 이 true 이면 modules 가 false 로 처리되어야 하는데,
57
+ * 기본값('auto')이 적용되어 안내 로그가 찍히고 있어 직접 값 지정
58
+ *
59
+ * @see source {@link https://github.com/babel/babel/blob/v7.23.10/packages/babel-preset-env/src/index.ts#L398-L403}
60
+ */
61
+ modules: false
62
+ }
63
+ ],
64
+ /**
65
+ * react-native-reanimated 등 TypeScript를 직접 export하는 라이브러리를 다루기 위해
66
+ * @babel/preset-typescript 포함 필요
67
+ */
68
+ require.resolve("@babel/preset-typescript"),
69
+ /**
70
+ * react-native-reanimated 등 .tsx 직접 export하는 라이브러리를 다루기 위해
71
+ * @babel/preset-react 포함 필요
72
+ */
73
+ [require.resolve("@babel/preset-react"), { runtime: "automatic" }],
74
+ ...additionalBabelOptions?.presets ?? []
75
+ ],
76
+ plugins: [
77
+ /**
78
+ * react-native에서 직접 export 하는 flow 파일 대응을 위해 strip types 추가 필요
79
+ */
80
+ require.resolve("@babel/plugin-transform-flow-strip-types"),
81
+ [require.resolve("@babel/plugin-proposal-class-properties"), { loose: true }],
82
+ [require.resolve("@babel/plugin-proposal-private-property-in-object"), { loose: true }],
83
+ [require.resolve("@babel/plugin-proposal-private-methods"), { loose: true }],
84
+ ...additionalBabelOptions?.plugins ?? []
85
+ ]
86
+ };
87
+ const fullyTransformStep = async function fullyTransform(code, args) {
88
+ const babelOptions = babel.loadOptions({
89
+ minified: false,
90
+ compact: false,
91
+ babelrc: false,
92
+ configFile: false,
93
+ envName: dev ? "development" : "production",
94
+ ...baseOptions,
95
+ sourceMaps: "inline",
96
+ filename: path.basename(args.path),
97
+ caller: {
98
+ name: "mpack-fully-transform-plugin",
99
+ supportsStaticESM: true
100
+ }
101
+ });
102
+ if (!babelOptions) {
103
+ return { code };
104
+ }
105
+ if (babelOptions.sourceMaps) {
106
+ babelOptions.sourceFileName = path.basename(args.path);
107
+ }
108
+ const result = await babel.transformAsync(code, babelOptions);
109
+ if (result?.code != null) {
110
+ return { code: result.code };
111
+ }
112
+ throw new Error("babel transform result is null");
113
+ };
114
+ (0, import_defineStepName.defineStepName)(fullyTransformStep, "fully-transform");
115
+ return fullyTransformStep;
116
+ }
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ createFullyTransformStep
120
+ });
@@ -0,0 +1,6 @@
1
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
2
+ interface StripFlowStepConfig {
3
+ dev: boolean;
4
+ }
5
+ export declare function createStripFlowStep(config: StripFlowStepConfig): AsyncTransformStep;
6
+ export {};
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var createStripFlowStep_exports = {};
30
+ __export(createStripFlowStep_exports, {
31
+ createStripFlowStep: () => createStripFlowStep
32
+ });
33
+ module.exports = __toCommonJS(createStripFlowStep_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var babel = __toESM(require("@babel/core"));
36
+ var sucrase = __toESM(require("sucrase"));
37
+ var import_defineStepName = require("../../../../utils/defineStepName");
38
+ function createStripFlowStep(config) {
39
+ const stripImportTypeofStatements = (code) => {
40
+ return code.split("\n").filter((line) => !line.startsWith("import typeof ")).join("\n");
41
+ };
42
+ const stripFlowStep = async function stripFlow(code, args) {
43
+ const shouldTransform = args.path.endsWith(".js");
44
+ if (!shouldTransform) {
45
+ return { code };
46
+ }
47
+ try {
48
+ const result = sucrase.transform(code, {
49
+ transforms: ["flow", "jsx"],
50
+ jsxRuntime: "preserve",
51
+ disableESTransforms: true
52
+ });
53
+ return { code: stripImportTypeofStatements(result.code) };
54
+ } catch {
55
+ const result = await babel.transformAsync(code, {
56
+ configFile: false,
57
+ minified: false,
58
+ compact: false,
59
+ babelrc: false,
60
+ envName: config.dev ? "development" : "production",
61
+ caller: {
62
+ name: "mpack-strip-flow-plugin",
63
+ supportsStaticESM: true
64
+ },
65
+ presets: [
66
+ /**
67
+ * flow 구문과 jsx 구문이 함께 존재하는 경우가 있기에 preset-react 사용
68
+ */
69
+ [require.resolve("@babel/preset-react"), { runtime: "automatic" }]
70
+ ],
71
+ plugins: [
72
+ /**
73
+ * flow 구문 변환을 위해 flow-strip-types 사용
74
+ */
75
+ require.resolve("@babel/plugin-transform-flow-strip-types")
76
+ ],
77
+ filename: import_path.default.basename(args.path)
78
+ });
79
+ if (result?.code != null) {
80
+ return { code: result.code };
81
+ }
82
+ throw new Error("babel transform result is null");
83
+ }
84
+ };
85
+ (0, import_defineStepName.defineStepName)(stripFlowStep, "strip-flow");
86
+ return stripFlowStep;
87
+ }
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
90
+ createStripFlowStep
91
+ });
@@ -0,0 +1,8 @@
1
+ import { AsyncTransformStep } from '../../../../transformer/TransformPipeline';
2
+ import { BuildConfig } from '../../../../types';
3
+ interface TransformToHermesSyntaxStepConfig {
4
+ dev: boolean;
5
+ additionalSwcOptions?: BuildConfig['swc'];
6
+ }
7
+ export declare function createTransformToHermesSyntaxStep({ dev, additionalSwcOptions, }: TransformToHermesSyntaxStepConfig): AsyncTransformStep;
8
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var createTransformToHermesSyntaxStep_exports = {};
30
+ __export(createTransformToHermesSyntaxStep_exports, {
31
+ createTransformToHermesSyntaxStep: () => createTransformToHermesSyntaxStep
32
+ });
33
+ module.exports = __toCommonJS(createTransformToHermesSyntaxStep_exports);
34
+ var import_path = __toESM(require("path"));
35
+ var swc = __toESM(require("@swc/core"));
36
+ var import_es_toolkit = require("es-toolkit");
37
+ var import_defineStepName = require("../../../../utils/defineStepName");
38
+ var import_swc = require("../../shared/swc");
39
+ function getParserConfig(filepath) {
40
+ return /\.tsx?$/.test(filepath) ? {
41
+ syntax: "typescript",
42
+ tsx: true,
43
+ dynamicImport: true
44
+ } : {
45
+ syntax: "ecmascript",
46
+ jsx: true,
47
+ exportDefaultFrom: true
48
+ };
49
+ }
50
+ function createTransformToHermesSyntaxStep({
51
+ dev,
52
+ additionalSwcOptions = {}
53
+ }) {
54
+ const plugins = (additionalSwcOptions.plugins ?? []).filter(import_es_toolkit.isNotNil);
55
+ const transformToHermesSyntaxStep = async function transformToHermesSyntax(code, args) {
56
+ const options = {
57
+ minify: false,
58
+ isModule: true,
59
+ jsc: {
60
+ ...import_swc.swcHelperOptimizationRules.jsc,
61
+ parser: getParserConfig(args.path),
62
+ target: "es5",
63
+ keepClassNames: true,
64
+ transform: {
65
+ react: {
66
+ runtime: "automatic",
67
+ development: dev
68
+ }
69
+ },
70
+ experimental: { plugins },
71
+ loose: false,
72
+ /**
73
+ * 타입정의가 없지만 실제로는 동작하는 것이 스펙
74
+ *
75
+ * @see {@link https://github.com/swc-project/swc/blob/v1.4.10/crates/swc_ecma_transforms_base/src/assumptions.rs#L11}
76
+ */
77
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
78
+ // @ts-ignore
79
+ assumptions: {
80
+ setPublicClassFields: true,
81
+ privateFieldsAsProperties: true
82
+ }
83
+ },
84
+ /**
85
+ * False error 로그가 찍히고 있어 비활성화
86
+ */
87
+ inputSourceMap: false,
88
+ sourceMaps: "inline",
89
+ filename: import_path.default.basename(args.path)
90
+ };
91
+ const result = await swc.transform(code, options);
92
+ return { code: result.code };
93
+ };
94
+ (0, import_defineStepName.defineStepName)(transformToHermesSyntaxStep, "hermes-syntax");
95
+ return transformToHermesSyntaxStep;
96
+ }
97
+ // Annotate the CommonJS export names for ESM import in node:
98
+ 0 && (module.exports = {
99
+ createTransformToHermesSyntaxStep
100
+ });
@@ -0,0 +1,8 @@
1
+ import { Plugin } from 'esbuild';
2
+ import { PluginOptions } from '../types';
3
+ interface TransformPluginOptions {
4
+ transformSync?: (id: string, code: string) => string;
5
+ transformAsync?: (id: string, code: string) => Promise<string>;
6
+ }
7
+ export declare function transformPlugin({ context, ...options }: PluginOptions<TransformPluginOptions>): Plugin;
8
+ export {};
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var transformPlugin_exports = {};
30
+ __export(transformPlugin_exports, {
31
+ transformPlugin: () => transformPlugin
32
+ });
33
+ module.exports = __toCommonJS(transformPlugin_exports);
34
+ var import_assert = __toESM(require("assert"));
35
+ var fs = __toESM(require("fs/promises"));
36
+ var preludeScript = __toESM(require("./helpers/preludeScript"));
37
+ var import_createCacheSteps = require("./steps/createCacheSteps");
38
+ var import_createFullyTransformStep = require("./steps/createFullyTransformStep");
39
+ var import_createStripFlowStep = require("./steps/createStripFlowStep");
40
+ var import_createTransformToHermesSyntaxStep = require("./steps/createTransformToHermesSyntaxStep");
41
+ var import_performance = require("../../../performance");
42
+ var import_transformer = require("../../../transformer");
43
+ const sourceRegExp = /\.([mc]js|[tj]sx?)$/;
44
+ function transformPlugin({ context, ...options }) {
45
+ return {
46
+ name: "transform-plugin",
47
+ setup(build) {
48
+ const { id, config } = context;
49
+ const { dev, cache, buildConfig } = config;
50
+ const { esbuild, swc, babel } = buildConfig;
51
+ (0, import_assert.default)(id, "id \uAC12\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4");
52
+ (0, import_assert.default)(typeof dev === "boolean", "dev \uAC12\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4");
53
+ (0, import_assert.default)(typeof cache === "boolean", "cache \uAC12\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4");
54
+ const cacheSteps = (0, import_createCacheSteps.createCacheSteps)({ id, enabled: cache });
55
+ const transformPipeline = new import_transformer.AsyncTransformPipeline().beforeStep(cacheSteps.beforeTransform).addStep(async (code, args) => {
56
+ if (options.transformSync) {
57
+ code = options.transformSync(args.path, code);
58
+ }
59
+ if (options.transformAsync) {
60
+ code = await options.transformAsync(args.path, code);
61
+ }
62
+ return { code };
63
+ }).addStep((0, import_createFullyTransformStep.createFullyTransformStep)({ dev, additionalBabelOptions: babel }), {
64
+ conditions: babel?.conditions,
65
+ skipOtherSteps: true
66
+ }).addStep((0, import_createStripFlowStep.createStripFlowStep)({ dev })).addStep((0, import_createTransformToHermesSyntaxStep.createTransformToHermesSyntaxStep)({ dev, additionalSwcOptions: swc })).afterStep(cacheSteps.afterTransform);
67
+ preludeScript.registerEntryPointMarker(build);
68
+ preludeScript.registerPreludeScriptResolver(build);
69
+ build.onLoad({ filter: sourceRegExp }, async (args) => {
70
+ let code = await fs.readFile(args.path, "utf-8");
71
+ if (preludeScript.isEntryPoint(args)) {
72
+ code = preludeScript.injectPreludeScript(code, {
73
+ preludeScriptPaths: esbuild?.prelude ?? []
74
+ });
75
+ }
76
+ const result = await import_performance.Performance.withTrace(() => transformPipeline.transform(code, args), {
77
+ name: "transform",
78
+ startOptions: { detail: { file: args.path } }
79
+ });
80
+ return { contents: result.code, loader: "js" };
81
+ });
82
+ }
83
+ };
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ transformPlugin
88
+ });
@@ -0,0 +1,7 @@
1
+ import type { BundlerConfig, INTERNAL__Id } from '../../types';
2
+ export type PluginOptions<T = object> = T & {
3
+ context: {
4
+ id: INTERNAL__Id;
5
+ config: BundlerConfig;
6
+ };
7
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);