@granite-js/mpack 0.0.0-dev-20250725013859

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 (385) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +24 -0
  3. package/dist/bundler/Bundler.d.ts +24 -0
  4. package/dist/bundler/Bundler.js +180 -0
  5. package/dist/bundler/PluginDriver.d.ts +9 -0
  6. package/dist/bundler/PluginDriver.js +47 -0
  7. package/dist/bundler/index.d.ts +1 -0
  8. package/dist/bundler/index.js +22 -0
  9. package/dist/bundler/internal/presets.d.ts +18 -0
  10. package/dist/bundler/internal/presets.js +103 -0
  11. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.d.ts +12 -0
  12. package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.js +74 -0
  13. package/dist/bundler/plugins/buildStatusPlugin/index.d.ts +1 -0
  14. package/dist/bundler/plugins/buildStatusPlugin/index.js +28 -0
  15. package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.d.ts +3 -0
  16. package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.js +89 -0
  17. package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.d.ts +3 -0
  18. package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.js +43 -0
  19. package/dist/bundler/plugins/dependencyAliasPlugin/index.d.ts +1 -0
  20. package/dist/bundler/plugins/dependencyAliasPlugin/index.js +28 -0
  21. package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.d.ts +3 -0
  22. package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.js +53 -0
  23. package/dist/bundler/plugins/index.d.ts +4 -0
  24. package/dist/bundler/plugins/index.js +28 -0
  25. package/dist/bundler/plugins/requireContextPlugin/index.d.ts +1 -0
  26. package/dist/bundler/plugins/requireContextPlugin/index.js +28 -0
  27. package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.d.ts +6 -0
  28. package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.js +101 -0
  29. package/dist/bundler/plugins/requireContextPlugin/scripts.d.ts +56 -0
  30. package/dist/bundler/plugins/requireContextPlugin/scripts.js +65 -0
  31. package/dist/bundler/plugins/shared/swc.d.ts +11 -0
  32. package/dist/bundler/plugins/shared/swc.js +70 -0
  33. package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.d.ts +23 -0
  34. package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.js +79 -0
  35. package/dist/bundler/plugins/transformPlugin/index.d.ts +1 -0
  36. package/dist/bundler/plugins/transformPlugin/index.js +28 -0
  37. package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.d.ts +10 -0
  38. package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.js +56 -0
  39. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.d.ts +8 -0
  40. package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.js +120 -0
  41. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.d.ts +6 -0
  42. package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.js +91 -0
  43. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +8 -0
  44. package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.js +100 -0
  45. package/dist/bundler/plugins/transformPlugin/transformPlugin.d.ts +8 -0
  46. package/dist/bundler/plugins/transformPlugin/transformPlugin.js +88 -0
  47. package/dist/bundler/plugins/types.d.ts +7 -0
  48. package/dist/bundler/plugins/types.js +16 -0
  49. package/dist/bundler/types.d.ts +16 -0
  50. package/dist/bundler/types.js +16 -0
  51. package/dist/cache/Cache.d.ts +25 -0
  52. package/dist/cache/Cache.js +87 -0
  53. package/dist/cache/index.d.ts +1 -0
  54. package/dist/cache/index.js +22 -0
  55. package/dist/constants/index.d.ts +20 -0
  56. package/dist/constants/index.js +91 -0
  57. package/dist/index.d.ts +10 -0
  58. package/dist/index.js +56 -0
  59. package/dist/logger/Logger.d.ts +17 -0
  60. package/dist/logger/Logger.js +115 -0
  61. package/dist/logger/clientLogger.d.ts +2 -0
  62. package/dist/logger/clientLogger.js +49 -0
  63. package/dist/logger/index.d.ts +3 -0
  64. package/dist/logger/index.js +31 -0
  65. package/dist/metro/assetRegistry.d.ts +12 -0
  66. package/dist/metro/assetRegistry.js +57 -0
  67. package/dist/metro/enhancedResolver.d.ts +7 -0
  68. package/dist/metro/enhancedResolver.js +127 -0
  69. package/dist/metro/getMetroConfig.d.ts +27 -0
  70. package/dist/metro/getMetroConfig.js +137 -0
  71. package/dist/metro/getMonorepoRoot.d.ts +4 -0
  72. package/dist/metro/getMonorepoRoot.js +80 -0
  73. package/dist/metro/index.d.ts +3 -0
  74. package/dist/metro/index.js +24 -0
  75. package/dist/metro/pnpapi.d.ts +6 -0
  76. package/dist/metro/pnpapi.js +32 -0
  77. package/dist/metro/runBuild.d.ts +10 -0
  78. package/dist/metro/runBuild.js +57 -0
  79. package/dist/metro/types.d.ts +92 -0
  80. package/dist/metro/types.js +16 -0
  81. package/dist/operations/constants.d.ts +3 -0
  82. package/dist/operations/constants.js +34 -0
  83. package/dist/operations/createDebuggerMiddleware.d.ts +11 -0
  84. package/dist/operations/createDebuggerMiddleware.js +128 -0
  85. package/dist/operations/experimental/StartMenuHandler.d.ts +13 -0
  86. package/dist/operations/experimental/StartMenuHandler.js +86 -0
  87. package/dist/operations/experimental/runServer.d.ts +13 -0
  88. package/dist/operations/experimental/runServer.js +130 -0
  89. package/dist/operations/index.d.ts +3 -0
  90. package/dist/operations/index.js +26 -0
  91. package/dist/operations/openDebugger.d.ts +1 -0
  92. package/dist/operations/openDebugger.js +73 -0
  93. package/dist/operations/runBundle.d.ts +6 -0
  94. package/dist/operations/runBundle.js +60 -0
  95. package/dist/operations/runServer.d.ts +13 -0
  96. package/dist/operations/runServer.js +131 -0
  97. package/dist/performance/Performance.d.ts +23 -0
  98. package/dist/performance/Performance.js +121 -0
  99. package/dist/performance/index.d.ts +2 -0
  100. package/dist/performance/index.js +31 -0
  101. package/dist/performance/printSummary.d.ts +5 -0
  102. package/dist/performance/printSummary.js +58 -0
  103. package/dist/plugins/index.d.ts +1 -0
  104. package/dist/plugins/index.js +22 -0
  105. package/dist/plugins/statusPlugin.d.ts +2 -0
  106. package/dist/plugins/statusPlugin.js +64 -0
  107. package/dist/server/DevServer.d.ts +26 -0
  108. package/dist/server/DevServer.js +215 -0
  109. package/dist/server/constants.d.ts +1 -0
  110. package/dist/server/constants.js +28 -0
  111. package/dist/server/debugger/DebuggerEventHandler.d.ts +41 -0
  112. package/dist/server/debugger/DebuggerEventHandler.js +169 -0
  113. package/dist/server/debugger/parseDomain.d.ts +1 -0
  114. package/dist/server/debugger/parseDomain.js +30 -0
  115. package/dist/server/helpers/createBundlerForDevServer.d.ts +8 -0
  116. package/dist/server/helpers/createBundlerForDevServer.js +48 -0
  117. package/dist/server/helpers/mergeBundles.d.ts +7 -0
  118. package/dist/server/helpers/mergeBundles.js +129 -0
  119. package/dist/server/index.d.ts +1 -0
  120. package/dist/server/index.js +22 -0
  121. package/dist/server/middlewares/createLiveReloadMiddleware.d.ts +10 -0
  122. package/dist/server/middlewares/createLiveReloadMiddleware.js +129 -0
  123. package/dist/server/middlewares/index.d.ts +1 -0
  124. package/dist/server/middlewares/index.js +22 -0
  125. package/dist/server/plugins/debuggerPlugin.d.ts +7 -0
  126. package/dist/server/plugins/debuggerPlugin.js +68 -0
  127. package/dist/server/plugins/index.d.ts +5 -0
  128. package/dist/server/plugins/index.js +30 -0
  129. package/dist/server/plugins/indexPagePlugin.d.ts +4 -0
  130. package/dist/server/plugins/indexPagePlugin.js +52 -0
  131. package/dist/server/plugins/reply.d.ts +3 -0
  132. package/dist/server/plugins/reply.js +38 -0
  133. package/dist/server/plugins/serveBundlePlugin.d.ts +8 -0
  134. package/dist/server/plugins/serveBundlePlugin.js +118 -0
  135. package/dist/server/plugins/statusPlugin.d.ts +7 -0
  136. package/dist/server/plugins/statusPlugin.js +50 -0
  137. package/dist/server/plugins/symbolicatePlugin/index.d.ts +1 -0
  138. package/dist/server/plugins/symbolicatePlugin/index.js +28 -0
  139. package/dist/server/plugins/symbolicatePlugin/parseStackFrame.d.ts +25 -0
  140. package/dist/server/plugins/symbolicatePlugin/parseStackFrame.js +51 -0
  141. package/dist/server/plugins/symbolicatePlugin/symbolicate.d.ts +25 -0
  142. package/dist/server/plugins/symbolicatePlugin/symbolicate.js +84 -0
  143. package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +8 -0
  144. package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.js +77 -0
  145. package/dist/server/types.d.ts +92 -0
  146. package/dist/server/types.js +16 -0
  147. package/dist/server/wss/WebSocketServerDelegate.d.ts +23 -0
  148. package/dist/server/wss/WebSocketServerDelegate.js +50 -0
  149. package/dist/server/wss/WebSocketServerRouter.d.ts +8 -0
  150. package/dist/server/wss/WebSocketServerRouter.js +66 -0
  151. package/dist/server/wss/index.d.ts +2 -0
  152. package/dist/server/wss/index.js +24 -0
  153. package/dist/shared/PersistentStorage.d.ts +21 -0
  154. package/dist/shared/PersistentStorage.js +68 -0
  155. package/dist/transformer/AsyncTransformPipeline.d.ts +4 -0
  156. package/dist/transformer/AsyncTransformPipeline.js +58 -0
  157. package/dist/transformer/TransformPipeline.d.ts +37 -0
  158. package/dist/transformer/TransformPipeline.js +64 -0
  159. package/dist/transformer/index.d.ts +1 -0
  160. package/dist/transformer/index.js +28 -0
  161. package/dist/types/BuildConfig.d.ts +187 -0
  162. package/dist/types/BuildConfig.js +16 -0
  163. package/dist/types/BundlerConfig.d.ts +23 -0
  164. package/dist/types/BundlerConfig.js +16 -0
  165. package/dist/types/DevServer.d.ts +10 -0
  166. package/dist/types/DevServer.js +16 -0
  167. package/dist/types/Id.d.ts +3 -0
  168. package/dist/types/Id.js +16 -0
  169. package/dist/types/Plugin.d.ts +28 -0
  170. package/dist/types/Plugin.js +16 -0
  171. package/dist/types/index.d.ts +5 -0
  172. package/dist/types/index.js +30 -0
  173. package/dist/types/schemas/buildConfigSchema.d.ts +131 -0
  174. package/dist/types/schemas/buildConfigSchema.js +70 -0
  175. package/dist/types/schemas/index.d.ts +1 -0
  176. package/dist/types/schemas/index.js +22 -0
  177. package/dist/utils/cleanupOutputDirectory.d.ts +1 -0
  178. package/dist/utils/cleanupOutputDirectory.js +53 -0
  179. package/dist/utils/defineStepName.d.ts +2 -0
  180. package/dist/utils/defineStepName.js +30 -0
  181. package/dist/utils/esbuildUtils.d.ts +1 -0
  182. package/dist/utils/esbuildUtils.js +45 -0
  183. package/dist/utils/getBundleName.d.ts +1 -0
  184. package/dist/utils/getBundleName.js +30 -0
  185. package/dist/utils/getBundleOutputs.d.ts +5 -0
  186. package/dist/utils/getBundleOutputs.js +49 -0
  187. package/dist/utils/getId.d.ts +2 -0
  188. package/dist/utils/getId.js +34 -0
  189. package/dist/utils/getSourcemapName.d.ts +1 -0
  190. package/dist/utils/getSourcemapName.js +30 -0
  191. package/dist/utils/index.d.ts +7 -0
  192. package/dist/utils/index.js +34 -0
  193. package/dist/utils/isDebugMode.d.ts +1 -0
  194. package/dist/utils/isDebugMode.js +30 -0
  195. package/dist/utils/md5.d.ts +1 -0
  196. package/dist/utils/md5.js +41 -0
  197. package/dist/utils/mergeBabel.d.ts +2 -0
  198. package/dist/utils/mergeBabel.js +45 -0
  199. package/dist/utils/mergeBuildConfigs.d.ts +2 -0
  200. package/dist/utils/mergeBuildConfigs.js +50 -0
  201. package/dist/utils/mergeEsbuild.d.ts +2 -0
  202. package/dist/utils/mergeEsbuild.js +54 -0
  203. package/dist/utils/mergeExtra.d.ts +1 -0
  204. package/dist/utils/mergeExtra.js +39 -0
  205. package/dist/utils/mergeResolver.d.ts +2 -0
  206. package/dist/utils/mergeResolver.js +45 -0
  207. package/dist/utils/mergeSwc.d.ts +2 -0
  208. package/dist/utils/mergeSwc.js +43 -0
  209. package/dist/utils/mergeTransformer.d.ts +2 -0
  210. package/dist/utils/mergeTransformer.js +69 -0
  211. package/dist/utils/printLogo.d.ts +1 -0
  212. package/dist/utils/printLogo.js +56 -0
  213. package/dist/utils/printSummary.d.ts +7 -0
  214. package/dist/utils/printSummary.js +55 -0
  215. package/dist/utils/progressBar.d.ts +9 -0
  216. package/dist/utils/progressBar.js +97 -0
  217. package/dist/utils/promiseHandler.d.ts +12 -0
  218. package/dist/utils/promiseHandler.js +54 -0
  219. package/dist/utils/replaceModulePath.d.ts +1 -0
  220. package/dist/utils/replaceModulePath.js +31 -0
  221. package/dist/utils/replacePlaceholders.d.ts +1 -0
  222. package/dist/utils/replacePlaceholders.js +33 -0
  223. package/dist/utils/stripExtension.d.ts +1 -0
  224. package/dist/utils/stripExtension.js +41 -0
  225. package/dist/utils/writeBundle.d.ts +2 -0
  226. package/dist/utils/writeBundle.js +52 -0
  227. package/dist/vendors/@react-native/dev-middleware/Device.d.ts +5 -0
  228. package/dist/vendors/@react-native/dev-middleware/Device.js +33 -0
  229. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.d.ts +31 -0
  230. package/dist/vendors/@react-native/dev-middleware/InspectorProxy.js +169 -0
  231. package/dist/vendors/@react-native/dev-middleware/index.d.ts +3 -0
  232. package/dist/vendors/@react-native/dev-middleware/index.js +26 -0
  233. package/dist/vendors/@react-native/dev-middleware/types.d.ts +54 -0
  234. package/dist/vendors/@react-native/dev-middleware/types.js +16 -0
  235. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.d.ts +23 -0
  236. package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.js +47 -0
  237. package/dist/vendors/@react-native-community/cli-server-api/index.d.ts +1 -0
  238. package/dist/vendors/@react-native-community/cli-server-api/index.js +22 -0
  239. package/dist/vendors/index.d.ts +27 -0
  240. package/dist/vendors/index.js +63 -0
  241. package/dist/vendors/metro/src/Assets.js +159 -0
  242. package/dist/vendors/metro/src/Bundler/util.js +131 -0
  243. package/dist/vendors/metro/src/Bundler.js +43 -0
  244. package/dist/vendors/metro/src/DeltaBundler/DeltaCalculator.js +176 -0
  245. package/dist/vendors/metro/src/DeltaBundler/Serializers/baseBytecodeBundle.js +61 -0
  246. package/dist/vendors/metro/src/DeltaBundler/Serializers/baseJSBundle.js +45 -0
  247. package/dist/vendors/metro/src/DeltaBundler/Serializers/getAllFiles.js +30 -0
  248. package/dist/vendors/metro/src/DeltaBundler/Serializers/getAssets.js +23 -0
  249. package/dist/vendors/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js +17 -0
  250. package/dist/vendors/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js +87 -0
  251. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/bytecode.js +51 -0
  252. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +6 -0
  253. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +16 -0
  254. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +21 -0
  255. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/js.js +43 -0
  256. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +13 -0
  257. package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processModules.js +13 -0
  258. package/dist/vendors/metro/src/DeltaBundler/Serializers/hmrJSBundle.js +66 -0
  259. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +63 -0
  260. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapObject.js +18 -0
  261. package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapString.js +8 -0
  262. package/dist/vendors/metro/src/DeltaBundler/Transformer.js +133 -0
  263. package/dist/vendors/metro/src/DeltaBundler/Worker.flow.js +64 -0
  264. package/dist/vendors/metro/src/DeltaBundler/Worker.js +6 -0
  265. package/dist/vendors/metro/src/DeltaBundler/WorkerFarm.js +128 -0
  266. package/dist/vendors/metro/src/DeltaBundler/getTransformCacheKey.js +20 -0
  267. package/dist/vendors/metro/src/DeltaBundler/graphOperations.js +420 -0
  268. package/dist/vendors/metro/src/DeltaBundler/mergeDeltas.js +52 -0
  269. package/dist/vendors/metro/src/DeltaBundler/types.flow.js +24 -0
  270. package/dist/vendors/metro/src/DeltaBundler.js +56 -0
  271. package/dist/vendors/metro/src/HmrServer.js +224 -0
  272. package/dist/vendors/metro/src/IncrementalBundler/GraphNotFoundError.js +9 -0
  273. package/dist/vendors/metro/src/IncrementalBundler/ResourceNotFoundError.js +9 -0
  274. package/dist/vendors/metro/src/IncrementalBundler/RevisionNotFoundError.js +9 -0
  275. package/dist/vendors/metro/src/IncrementalBundler.js +213 -0
  276. package/dist/vendors/metro/src/ModuleGraph/module.js +14 -0
  277. package/dist/vendors/metro/src/ModuleGraph/node-haste/HasteFS.js +66 -0
  278. package/dist/vendors/metro/src/ModuleGraph/node-haste/Module.js +22 -0
  279. package/dist/vendors/metro/src/ModuleGraph/node-haste/ModuleCache.js +43 -0
  280. package/dist/vendors/metro/src/ModuleGraph/node-haste/Package.js +81 -0
  281. package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.flow.js +1 -0
  282. package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.js +127 -0
  283. package/dist/vendors/metro/src/ModuleGraph/output/indexed-ram-bundle.js +71 -0
  284. package/dist/vendors/metro/src/ModuleGraph/output/multiple-files-ram-bundle.js +53 -0
  285. package/dist/vendors/metro/src/ModuleGraph/output/plain-bundle.js +36 -0
  286. package/dist/vendors/metro/src/ModuleGraph/output/reverse-dependency-map-references.js +53 -0
  287. package/dist/vendors/metro/src/ModuleGraph/output/util.js +168 -0
  288. package/dist/vendors/metro/src/ModuleGraph/silent-console.js +5 -0
  289. package/dist/vendors/metro/src/ModuleGraph/types.flow.js +1 -0
  290. package/dist/vendors/metro/src/ModuleGraph/worker/JsFileWrapping.js +87 -0
  291. package/dist/vendors/metro/src/ModuleGraph/worker/Platforms.js +3 -0
  292. package/dist/vendors/metro/src/ModuleGraph/worker/collectDependencies.js +440 -0
  293. package/dist/vendors/metro/src/ModuleGraph/worker/generate.js +21 -0
  294. package/dist/vendors/metro/src/ModuleGraph/worker/generateImportNames.js +19 -0
  295. package/dist/vendors/metro/src/ModuleGraph/worker/mergeSourceMaps.js +29 -0
  296. package/dist/vendors/metro/src/Server/MultipartResponse.js +57 -0
  297. package/dist/vendors/metro/src/Server/symbolicate.js +109 -0
  298. package/dist/vendors/metro/src/Server.js +855 -0
  299. package/dist/vendors/metro/src/cli-utils.js +14 -0
  300. package/dist/vendors/metro/src/cli.js +9 -0
  301. package/dist/vendors/metro/src/commands/build.js +67 -0
  302. package/dist/vendors/metro/src/commands/dependencies.js +75 -0
  303. package/dist/vendors/metro/src/commands/serve.js +56 -0
  304. package/dist/vendors/metro/src/index.d.ts +8 -0
  305. package/dist/vendors/metro/src/index.flow.js +279 -0
  306. package/dist/vendors/metro/src/index.js +6 -0
  307. package/dist/vendors/metro/src/isPnP.js +13 -0
  308. package/dist/vendors/metro/src/lib/BatchProcessor.js +69 -0
  309. package/dist/vendors/metro/src/lib/CountingSet.js +98 -0
  310. package/dist/vendors/metro/src/lib/JsonReporter.js +21 -0
  311. package/dist/vendors/metro/src/lib/RamBundleParser.js +36 -0
  312. package/dist/vendors/metro/src/lib/ReportableEvent.d.ts +152 -0
  313. package/dist/vendors/metro/src/lib/TerminalReporter.d.ts +18 -0
  314. package/dist/vendors/metro/src/lib/TerminalReporter.js +258 -0
  315. package/dist/vendors/metro/src/lib/bundleToBytecode.js +40 -0
  316. package/dist/vendors/metro/src/lib/bundleToString.js +22 -0
  317. package/dist/vendors/metro/src/lib/contextModule.js +73 -0
  318. package/dist/vendors/metro/src/lib/contextModuleTemplates.js +116 -0
  319. package/dist/vendors/metro/src/lib/countLines.js +4 -0
  320. package/dist/vendors/metro/src/lib/createModuleIdFactory.js +14 -0
  321. package/dist/vendors/metro/src/lib/createWebsocketServer.js +54 -0
  322. package/dist/vendors/metro/src/lib/debounceAsyncQueue.js +33 -0
  323. package/dist/vendors/metro/src/lib/formatBundlingError.js +76 -0
  324. package/dist/vendors/metro/src/lib/getAppendScripts.js +131 -0
  325. package/dist/vendors/metro/src/lib/getGraphId.js +27 -0
  326. package/dist/vendors/metro/src/lib/getMaxWorkers.js +6 -0
  327. package/dist/vendors/metro/src/lib/getPreludeCode.js +32 -0
  328. package/dist/vendors/metro/src/lib/getPrependedScripts.js +93 -0
  329. package/dist/vendors/metro/src/lib/logToConsole.js +46 -0
  330. package/dist/vendors/metro/src/lib/parseCustomResolverOptions.js +13 -0
  331. package/dist/vendors/metro/src/lib/parseCustomTransformOptions.js +13 -0
  332. package/dist/vendors/metro/src/lib/parseOptionsFromUrl.js +50 -0
  333. package/dist/vendors/metro/src/lib/relativizeSourceMap.js +14 -0
  334. package/dist/vendors/metro/src/lib/reporting.js +26 -0
  335. package/dist/vendors/metro/src/lib/splitBundleOptions.js +32 -0
  336. package/dist/vendors/metro/src/lib/transformHelpers.js +112 -0
  337. package/dist/vendors/metro/src/node-haste/DependencyGraph/ModuleResolution.js +221 -0
  338. package/dist/vendors/metro/src/node-haste/DependencyGraph/createHasteMap.js +71 -0
  339. package/dist/vendors/metro/src/node-haste/DependencyGraph.js +223 -0
  340. package/dist/vendors/metro/src/node-haste/Module.js +21 -0
  341. package/dist/vendors/metro/src/node-haste/ModuleCache.js +81 -0
  342. package/dist/vendors/metro/src/node-haste/Package.js +98 -0
  343. package/dist/vendors/metro/src/node-haste/lib/AssetPaths.js +41 -0
  344. package/dist/vendors/metro/src/node-haste/lib/parsePlatformFilePath.js +19 -0
  345. package/dist/vendors/metro/src/shared/output/RamBundle/as-assets.js +61 -0
  346. package/dist/vendors/metro/src/shared/output/RamBundle/as-indexed-file.js +115 -0
  347. package/dist/vendors/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +23 -0
  348. package/dist/vendors/metro/src/shared/output/RamBundle/magic-number.js +2 -0
  349. package/dist/vendors/metro/src/shared/output/RamBundle/util.js +94 -0
  350. package/dist/vendors/metro/src/shared/output/RamBundle/write-sourcemap.js +12 -0
  351. package/dist/vendors/metro/src/shared/output/RamBundle.js +18 -0
  352. package/dist/vendors/metro/src/shared/output/bundle.flow.js +42 -0
  353. package/dist/vendors/metro/src/shared/output/bundle.js +6 -0
  354. package/dist/vendors/metro/src/shared/output/meta.js +31 -0
  355. package/dist/vendors/metro/src/shared/output/unbundle.js +2 -0
  356. package/dist/vendors/metro/src/shared/output/writeFile.js +6 -0
  357. package/dist/vendors/metro/src/shared/types.flow.js +1 -0
  358. package/dist/vendors/metro-config/src/configTypes.flow.js +1 -0
  359. package/dist/vendors/metro-config/src/defaults/defaults.js +66 -0
  360. package/dist/vendors/metro-config/src/defaults/exclusionList.d.ts +3 -0
  361. package/dist/vendors/metro-config/src/defaults/exclusionList.js +17 -0
  362. package/dist/vendors/metro-config/src/defaults/index.d.ts +5 -0
  363. package/dist/vendors/metro-config/src/defaults/index.js +161 -0
  364. package/dist/vendors/metro-config/src/defaults/validConfig.js +28 -0
  365. package/dist/vendors/metro-config/src/index.js +9 -0
  366. package/dist/vendors/metro-config/src/loadConfig.d.ts +4 -0
  367. package/dist/vendors/metro-config/src/loadConfig.js +188 -0
  368. package/dist/vendors/metro-core/src/Logger.js +62 -0
  369. package/dist/vendors/metro-core/src/Terminal.d.ts +30 -0
  370. package/dist/vendors/metro-core/src/Terminal.js +100 -0
  371. package/dist/vendors/metro-core/src/canonicalize.js +17 -0
  372. package/dist/vendors/metro-core/src/errors/AmbiguousModuleResolutionError.js +11 -0
  373. package/dist/vendors/metro-core/src/errors/PackageResolutionError.js +18 -0
  374. package/dist/vendors/metro-core/src/errors.js +7 -0
  375. package/dist/vendors/metro-core/src/index.js +11 -0
  376. package/dist/vendors/metro-inspector-proxy/src/Device.js +398 -0
  377. package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.d.ts +21 -0
  378. package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.js +153 -0
  379. package/dist/vendors/metro-inspector-proxy/src/cli.js +15 -0
  380. package/dist/vendors/metro-inspector-proxy/src/index.js +23 -0
  381. package/dist/vendors/metro-inspector-proxy/src/types.js +1 -0
  382. package/dist/vendors/metro-transform-worker/src/index.js +429 -0
  383. package/dist/vendors/metro-transform-worker/src/utils/assetTransformer.js +20 -0
  384. package/dist/vendors/metro-transform-worker/src/utils/getMinifier.js +11 -0
  385. package/package.json +163 -0
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ const getAppendScripts = require("../../lib/getAppendScripts");
3
+ const processModules = require("./helpers/processModules");
4
+ function baseJSBundle(entryPoint, preModules, graph, options) {
5
+ for (const module2 of graph.dependencies.values()) {
6
+ options.createModuleId(module2.path);
7
+ }
8
+ const processModulesOptions = {
9
+ filter: options.processModuleFilter,
10
+ createModuleId: options.createModuleId,
11
+ dev: options.dev,
12
+ projectRoot: options.projectRoot
13
+ };
14
+ if (options.modulesOnly) {
15
+ preModules = [];
16
+ }
17
+ const preCode = processModules(preModules, processModulesOptions).map(([_, code]) => code).join("\n");
18
+ const modules = [...graph.dependencies.values()].sort(
19
+ (a, b) => options.createModuleId(a.path) - options.createModuleId(b.path)
20
+ );
21
+ const postCode = processModules(
22
+ getAppendScripts(entryPoint, [...preModules, ...modules], graph.importBundleNames, {
23
+ asyncRequireModulePath: options.asyncRequireModulePath,
24
+ createModuleId: options.createModuleId,
25
+ getRunModuleStatement: options.getRunModuleStatement,
26
+ inlineSourceMap: options.inlineSourceMap,
27
+ projectRoot: options.projectRoot,
28
+ runBeforeMainModule: options.runBeforeMainModule,
29
+ runModule: options.runModule,
30
+ serverRoot: options.serverRoot,
31
+ sourceMapUrl: options.sourceMapUrl,
32
+ sourceUrl: options.sourceUrl
33
+ }),
34
+ processModulesOptions
35
+ ).map(([_, code]) => code).join("\n");
36
+ return {
37
+ pre: preCode,
38
+ post: postCode,
39
+ modules: processModules([...graph.dependencies.values()], processModulesOptions).map(([module2, code]) => [
40
+ options.createModuleId(module2.path),
41
+ code
42
+ ])
43
+ };
44
+ }
45
+ module.exports = baseJSBundle;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ const { getAssetFiles } = require("../../Assets");
3
+ const { getJsOutput, isJsModule } = require("./helpers/js");
4
+ async function getAllFiles(pre, graph, options) {
5
+ const modules = graph.dependencies;
6
+ const { processModuleFilter } = options;
7
+ const promises = [];
8
+ for (const module2 of pre) {
9
+ if (processModuleFilter(module2)) {
10
+ promises.push([module2.path]);
11
+ }
12
+ }
13
+ for (const module2 of modules.values()) {
14
+ if (!isJsModule(module2) || !processModuleFilter(module2)) {
15
+ continue;
16
+ }
17
+ if (getJsOutput(module2).type === "js/module/asset") {
18
+ promises.push(getAssetFiles(module2.path, options.platform));
19
+ } else {
20
+ promises.push([module2.path]);
21
+ }
22
+ }
23
+ const dependencies = await Promise.all(promises);
24
+ const output = [];
25
+ for (const dependencyArray of dependencies) {
26
+ output.push(...dependencyArray);
27
+ }
28
+ return output;
29
+ }
30
+ module.exports = getAllFiles;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ const { getAssetData } = require("../../Assets");
3
+ const { getJsOutput, isJsModule } = require("./helpers/js");
4
+ const path = require("path");
5
+ async function getAssets(dependencies, options) {
6
+ const promises = [];
7
+ const { processModuleFilter } = options;
8
+ for (const module2 of dependencies.values()) {
9
+ if (isJsModule(module2) && processModuleFilter(module2) && getJsOutput(module2).type === "js/module/asset" && path.relative(options.projectRoot, module2.path) !== "package.json") {
10
+ promises.push(
11
+ getAssetData(
12
+ module2.path,
13
+ path.relative(options.projectRoot, module2.path),
14
+ options.assetPlugins,
15
+ options.platform,
16
+ options.publicPath
17
+ )
18
+ );
19
+ }
20
+ }
21
+ return await Promise.all(promises);
22
+ }
23
+ module.exports = getAssets;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ const { getJsOutput, isJsModule } = require("./helpers/js");
3
+ function getExplodedSourceMap(modules, options) {
4
+ const modulesToProcess = modules.filter(isJsModule).filter(options.processModuleFilter);
5
+ const result = [];
6
+ let firstLine1Based = 1;
7
+ for (const module2 of modulesToProcess) {
8
+ const { path } = module2;
9
+ const { lineCount, functionMap, map } = getJsOutput(module2).data;
10
+ result.push({ firstLine1Based, functionMap, path, map });
11
+ firstLine1Based += lineCount;
12
+ }
13
+ return result;
14
+ }
15
+ module.exports = {
16
+ getExplodedSourceMap
17
+ };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ const { createRamBundleGroups } = require("../../Bundler/util");
3
+ const getAppendScripts = require("../../lib/getAppendScripts");
4
+ const getTransitiveDependencies = require("./helpers/getTransitiveDependencies");
5
+ const { isJsModule, wrapModule } = require("./helpers/js");
6
+ const { sourceMapObject } = require("./sourceMapObject");
7
+ const nullthrows = require("nullthrows");
8
+ const path = require("path");
9
+ async function getRamBundleInfo(entryPoint, pre, graph, options) {
10
+ let modules = [...pre, ...graph.dependencies.values()];
11
+ modules = modules.concat(getAppendScripts(entryPoint, modules, graph.importBundleNames, options));
12
+ modules.forEach((module2) => options.createModuleId(module2.path));
13
+ const ramModules = modules.filter(isJsModule).filter(options.processModuleFilter).map((module2) => ({
14
+ id: options.createModuleId(module2.path),
15
+ code: wrapModule(module2, options),
16
+ map: sourceMapObject([module2], {
17
+ excludeSource: options.excludeSource,
18
+ processModuleFilter: options.processModuleFilter
19
+ }),
20
+ name: path.basename(module2.path),
21
+ sourcePath: module2.path,
22
+ source: module2.getSource().toString(),
23
+ type: nullthrows(module2.output.find(({ type }) => type.startsWith("js"))).type
24
+ }));
25
+ const { preloadedModules, ramGroups } = await _getRamOptions(
26
+ entryPoint,
27
+ {
28
+ dev: options.dev,
29
+ platform: options.platform
30
+ },
31
+ (filePath) => getTransitiveDependencies(filePath, graph),
32
+ options.getTransformOptions
33
+ );
34
+ const startupModules = [];
35
+ const lazyModules = [];
36
+ ramModules.forEach((module2) => {
37
+ if (preloadedModules.hasOwnProperty(module2.sourcePath)) {
38
+ startupModules.push(module2);
39
+ return;
40
+ }
41
+ if (module2.type.startsWith("js/script")) {
42
+ startupModules.push(module2);
43
+ return;
44
+ }
45
+ if (module2.type.startsWith("js/module")) {
46
+ lazyModules.push(module2);
47
+ }
48
+ });
49
+ const groups = createRamBundleGroups(ramGroups, lazyModules, (module2, dependenciesByPath) => {
50
+ const deps = getTransitiveDependencies(module2.sourcePath, graph);
51
+ const output = /* @__PURE__ */ new Set();
52
+ for (const dependency of deps) {
53
+ const module3 = dependenciesByPath.get(dependency);
54
+ if (module3) {
55
+ output.add(module3.id);
56
+ }
57
+ }
58
+ return output;
59
+ });
60
+ return {
61
+ getDependencies: (filePath) => getTransitiveDependencies(filePath, graph),
62
+ groups,
63
+ lazyModules,
64
+ startupModules
65
+ };
66
+ }
67
+ async function _getRamOptions(entryFile, options, getDependencies, getTransformOptions) {
68
+ if (getTransformOptions == null) {
69
+ return {
70
+ preloadedModules: {},
71
+ ramGroups: []
72
+ };
73
+ }
74
+ const { preloadedModules, ramGroups } = await getTransformOptions(
75
+ [entryFile],
76
+ { dev: options.dev, hot: true, platform: options.platform },
77
+ /* $FlowFixMe(>=0.99.0 site=react_native_fb) This comment suppresses an
78
+ * error found when Flow v0.99 was deployed. To see the error, delete this
79
+ * comment and run Flow. */
80
+ async (x) => Array.from(getDependencies)
81
+ );
82
+ return {
83
+ preloadedModules: preloadedModules || {},
84
+ ramGroups: ramGroups || []
85
+ };
86
+ }
87
+ module.exports = getRamBundleInfo;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ const invariant = require("invariant");
3
+ const path = require("path");
4
+ function wrapModule(module2, options) {
5
+ const output = getBytecodeOutput(module2);
6
+ if (output.type.startsWith("bytecode/script")) {
7
+ return [output.data.bytecode];
8
+ }
9
+ const params = [
10
+ options.createModuleId(module2.path),
11
+ "[" + Array.from(module2.dependencies.values()).map((dependency) => options.createModuleId(dependency.absolutePath)).join(",") + "]"
12
+ ];
13
+ if (options.dev) {
14
+ params.push(JSON.stringify(path.relative(options.projectRoot, module2.path)));
15
+ }
16
+ const { compile } = require("metro-hermes-compiler");
17
+ const headerCode = `globalThis.$$METRO_D=[${params.join(",")}];`;
18
+ return [
19
+ compile(headerCode, {
20
+ sourceURL: module2.path + "-virtual.js"
21
+ }).bytecode,
22
+ output.data.bytecode
23
+ ];
24
+ }
25
+ function getBytecodeOutput(module2) {
26
+ const output = module2.output.filter(({ type }) => type.startsWith("bytecode/")).map(
27
+ (output2) => output2.data.bytecode instanceof Buffer ? output2 : (
28
+ // Re-create buffers after losing the Buffer instance when sending data over workers.
29
+ {
30
+ ...output2,
31
+ data: {
32
+ ...output2.data,
33
+ bytecode: Buffer.from(output2.data.bytecode.data)
34
+ }
35
+ }
36
+ )
37
+ );
38
+ invariant(
39
+ output.length === 1,
40
+ `Modules must have exactly one bytecode output, but ${module2.path} has ${output.length} bytecode outputs.`
41
+ );
42
+ return output[0];
43
+ }
44
+ function isBytecodeModule(module2) {
45
+ return module2.output.filter(({ type }) => type.startsWith("bytecode/")).length > 0;
46
+ }
47
+ module.exports = {
48
+ getBytecodeOutput,
49
+ isBytecodeModule,
50
+ wrapModule
51
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ function getInlineSourceMappingURL(sourceMap) {
3
+ const base64 = Buffer.from(sourceMap).toString("base64");
4
+ return `data:application/json;charset=utf-8;base64,${base64}`;
5
+ }
6
+ module.exports = getInlineSourceMappingURL;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ const { getJsOutput } = require("./js");
3
+ function getSourceMapInfo(module2, options) {
4
+ return {
5
+ ...getJsOutput(module2).data,
6
+ path: module2.path,
7
+ source: options.excludeSource ? "" : getModuleSource(module2)
8
+ };
9
+ }
10
+ function getModuleSource(module2) {
11
+ if (getJsOutput(module2).type === "js/module/asset") {
12
+ return "";
13
+ }
14
+ return module2.getSource().toString();
15
+ }
16
+ module.exports = getSourceMapInfo;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ function getTransitiveDependencies(path, graph) {
3
+ const dependencies = _getDeps(path, graph, /* @__PURE__ */ new Set());
4
+ dependencies.delete(path);
5
+ return dependencies;
6
+ }
7
+ function _getDeps(path, graph, deps) {
8
+ if (deps.has(path)) {
9
+ return deps;
10
+ }
11
+ const module2 = graph.dependencies.get(path);
12
+ if (!module2) {
13
+ return deps;
14
+ }
15
+ deps.add(path);
16
+ for (const dependency of module2.dependencies.values()) {
17
+ _getDeps(dependency.absolutePath, graph, deps);
18
+ }
19
+ return deps;
20
+ }
21
+ module.exports = getTransitiveDependencies;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ const invariant = require("invariant");
3
+ const { addParamsToDefineCall } = require("metro-transform-plugins");
4
+ const path = require("path");
5
+ function wrapModule(module2, options) {
6
+ const output = getJsOutput(module2);
7
+ if (output.type.startsWith("js/script")) {
8
+ return output.data.code;
9
+ }
10
+ const moduleId = options.createModuleId(module2.path);
11
+ const params = [
12
+ moduleId,
13
+ Array.from(module2.dependencies.values()).map((dependency) => options.createModuleId(dependency.absolutePath))
14
+ ];
15
+ if (options.dev) {
16
+ params.push(path.relative(options.projectRoot, module2.path));
17
+ }
18
+ return addParamsToDefineCall(output.data.code, ...params);
19
+ }
20
+ function getJsOutput(module2) {
21
+ const jsModules = module2.output.filter(({ type }) => type.startsWith("js/"));
22
+ invariant(
23
+ jsModules.length === 1,
24
+ `Modules must have exactly one JS output, but ${module2.path ?? "unknown module"} has ${jsModules.length} JS outputs.`
25
+ );
26
+ const jsOutput = jsModules[0];
27
+ invariant(
28
+ Number.isFinite(jsOutput.data.lineCount),
29
+ `JS output must populate lineCount, but ${module2.path ?? "unknown module"} has ${jsOutput.type} output with lineCount '${jsOutput.data.lineCount}'`
30
+ );
31
+ return jsOutput;
32
+ }
33
+ function isJsModule(module2) {
34
+ return module2.output.filter(isJsOutput).length > 0;
35
+ }
36
+ function isJsOutput(output) {
37
+ return output.type.startsWith("js/");
38
+ }
39
+ module.exports = {
40
+ getJsOutput,
41
+ isJsModule,
42
+ wrapModule
43
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ const { isBytecodeModule, wrapModule } = require("./bytecode");
3
+ function processBytecodeModules(modules, { filter = () => true, createModuleId, dev, projectRoot }) {
4
+ return [...modules].filter(isBytecodeModule).filter(filter).map((module2) => [
5
+ module2,
6
+ wrapModule(module2, {
7
+ createModuleId,
8
+ dev,
9
+ projectRoot
10
+ })
11
+ ]);
12
+ }
13
+ module.exports = processBytecodeModules;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ const { isJsModule, wrapModule } = require("./js");
3
+ function processModules(modules, { filter = () => true, createModuleId, dev, projectRoot }) {
4
+ return [...modules].filter(isJsModule).filter(filter).map((module2) => [
5
+ module2,
6
+ wrapModule(module2, {
7
+ createModuleId,
8
+ dev,
9
+ projectRoot
10
+ })
11
+ ]);
12
+ }
13
+ module.exports = processModules;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ const { isJsModule, wrapModule } = require("./helpers/js");
3
+ const { addParamsToDefineCall } = require("metro-transform-plugins");
4
+ const path = require("path");
5
+ const url = require("url");
6
+ function generateModules(sourceModules, graph, options) {
7
+ const modules = [];
8
+ for (const module2 of sourceModules) {
9
+ if (isJsModule(module2)) {
10
+ const getURL = (extension) => {
11
+ options.clientUrl.pathname = path.relative(
12
+ options.projectRoot,
13
+ path.join(path.dirname(module2.path), path.basename(module2.path, path.extname(module2.path)) + "." + extension)
14
+ );
15
+ return url.format(options.clientUrl);
16
+ };
17
+ const sourceMappingURL = getURL("map");
18
+ const sourceURL = getURL("bundle");
19
+ const code = prepareModule(module2, graph, options) + `
20
+ //# sourceMappingURL=${sourceMappingURL}
21
+ //# sourceURL=${sourceURL}
22
+ `;
23
+ modules.push({
24
+ module: [options.createModuleId(module2.path), code],
25
+ sourceMappingURL,
26
+ sourceURL
27
+ });
28
+ }
29
+ }
30
+ return modules;
31
+ }
32
+ function prepareModule(module2, graph, options) {
33
+ const code = wrapModule(module2, {
34
+ ...options,
35
+ dev: true
36
+ });
37
+ const inverseDependencies = getInverseDependencies(module2.path, graph);
38
+ const inverseDependenciesById = /* @__PURE__ */ Object.create(null);
39
+ Object.keys(inverseDependencies).forEach((path2) => {
40
+ inverseDependenciesById[options.createModuleId(path2)] = inverseDependencies[path2].map(options.createModuleId);
41
+ });
42
+ return addParamsToDefineCall(code, inverseDependenciesById);
43
+ }
44
+ function getInverseDependencies(path2, graph, inverseDependencies = {}) {
45
+ if (path2 in inverseDependencies) {
46
+ return inverseDependencies;
47
+ }
48
+ const module2 = graph.dependencies.get(path2);
49
+ if (!module2) {
50
+ return inverseDependencies;
51
+ }
52
+ inverseDependencies[path2] = [];
53
+ for (const inverse of module2.inverseDependencies) {
54
+ inverseDependencies[path2].push(inverse);
55
+ getInverseDependencies(inverse, graph, inverseDependencies);
56
+ }
57
+ return inverseDependencies;
58
+ }
59
+ function hmrJSBundle(delta, graph, options) {
60
+ return {
61
+ added: generateModules(delta.added.values(), graph, options),
62
+ modified: generateModules(delta.modified.values(), graph, options),
63
+ deleted: [...delta.deleted].map((path2) => options.createModuleId(path2))
64
+ };
65
+ }
66
+ module.exports = hmrJSBundle;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ const getSourceMapInfo = require("./helpers/getSourceMapInfo");
3
+ const { isJsModule } = require("./helpers/js");
4
+ const { fromRawMappings, fromRawMappingsNonBlocking } = require("metro-source-map");
5
+ function getSourceMapInfosImpl(isBlocking, onDone, modules, options) {
6
+ const sourceMapInfos = [];
7
+ const modulesToProcess = modules.filter(isJsModule).filter(options.processModuleFilter);
8
+ function processNextModule() {
9
+ if (modulesToProcess.length === 0) {
10
+ return true;
11
+ }
12
+ const mod = modulesToProcess.shift();
13
+ const info = getSourceMapInfo(mod, {
14
+ excludeSource: options.excludeSource
15
+ });
16
+ sourceMapInfos.push(info);
17
+ return false;
18
+ }
19
+ function workLoop() {
20
+ const time = process.hrtime();
21
+ while (true) {
22
+ const isDone = processNextModule();
23
+ if (isDone) {
24
+ onDone(sourceMapInfos);
25
+ break;
26
+ }
27
+ if (!isBlocking) {
28
+ const diff = process.hrtime(time);
29
+ const NS_IN_MS = 1e6;
30
+ if (diff[1] > 50 * NS_IN_MS) {
31
+ setImmediate(workLoop);
32
+ break;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ workLoop();
38
+ }
39
+ function sourceMapGenerator(modules, options) {
40
+ let sourceMapInfos;
41
+ getSourceMapInfosImpl(
42
+ true,
43
+ (infos) => {
44
+ sourceMapInfos = infos;
45
+ },
46
+ modules,
47
+ options
48
+ );
49
+ if (sourceMapInfos == null) {
50
+ throw new Error("Expected getSourceMapInfosImpl() to finish synchronously.");
51
+ }
52
+ return fromRawMappings(sourceMapInfos);
53
+ }
54
+ async function sourceMapGeneratorNonBlocking(modules, options) {
55
+ const sourceMapInfos = await new Promise((resolve) => {
56
+ getSourceMapInfosImpl(false, resolve, modules, options);
57
+ });
58
+ return fromRawMappingsNonBlocking(sourceMapInfos);
59
+ }
60
+ module.exports = {
61
+ sourceMapGenerator,
62
+ sourceMapGeneratorNonBlocking
63
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ const { sourceMapGenerator, sourceMapGeneratorNonBlocking } = require("./sourceMapGenerator");
3
+ function sourceMapObject(modules, options) {
4
+ const generator = sourceMapGenerator(modules, options);
5
+ return generator.toMap(void 0, {
6
+ excludeSource: options.excludeSource
7
+ });
8
+ }
9
+ async function sourceMapObjectNonBlocking(modules, options) {
10
+ const generator = await sourceMapGeneratorNonBlocking(modules, options);
11
+ return generator.toMap(void 0, {
12
+ excludeSource: options.excludeSource
13
+ });
14
+ }
15
+ module.exports = {
16
+ sourceMapObject,
17
+ sourceMapObjectNonBlocking
18
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ const { sourceMapGenerator } = require("./sourceMapGenerator");
3
+ function sourceMapString(modules, options) {
4
+ return sourceMapGenerator(modules, options).toString(void 0, {
5
+ excludeSource: options.excludeSource
6
+ });
7
+ }
8
+ module.exports = sourceMapString;
@@ -0,0 +1,133 @@
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 __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var import_crypto = __toESM(require("crypto"));
25
+ const getTransformCacheKey = require("./getTransformCacheKey");
26
+ const WorkerFarm = require("./WorkerFarm");
27
+ const assert = require("assert");
28
+ const fs = require("fs");
29
+ const { Cache, stableHash } = require("metro-cache");
30
+ const path = require("path");
31
+ class Transformer {
32
+ _config;
33
+ _cache;
34
+ _baseHash;
35
+ _getSha1;
36
+ _workerFarm;
37
+ constructor(config, getSha1Fn) {
38
+ this._config = config;
39
+ this._config.watchFolders.forEach(verifyRootExists);
40
+ this._cache = new Cache(config.cacheStores);
41
+ this._getSha1 = getSha1Fn;
42
+ const {
43
+ getTransformOptions: _getTransformOptions,
44
+ transformVariants: _transformVariants,
45
+ workerPath: _workerPath,
46
+ ...transformerConfig
47
+ } = this._config.transformer;
48
+ const transformerOptions = {
49
+ transformerPath: this._config.transformerPath,
50
+ transformerConfig
51
+ };
52
+ this._workerFarm = new WorkerFarm(config, transformerOptions);
53
+ const globalCacheKey = this._cache.isDisabled ? "" : getTransformCacheKey({
54
+ cacheVersion: this._config.cacheVersion,
55
+ projectRoot: this._config.projectRoot,
56
+ transformerConfig: transformerOptions
57
+ });
58
+ this._baseHash = stableHash([globalCacheKey]).toString("binary");
59
+ }
60
+ async transformFile(filePath, transformerOptions, fileBuffer) {
61
+ const cache = this._cache;
62
+ const {
63
+ customTransformOptions,
64
+ dev,
65
+ experimentalImportSupport,
66
+ hot,
67
+ inlinePlatform,
68
+ inlineRequires,
69
+ minify,
70
+ nonInlinedRequires,
71
+ platform,
72
+ runtimeBytecodeVersion,
73
+ type,
74
+ unstable_disableES6Transforms,
75
+ unstable_transformProfile,
76
+ ...extra
77
+ } = transformerOptions;
78
+ for (const key in extra) {
79
+ if (hasOwnProperty.call(extra, key)) {
80
+ throw new Error("Extra keys detected: " + Object.keys(extra).join(", "));
81
+ }
82
+ }
83
+ const localPath = path.relative(this._config.projectRoot, filePath);
84
+ const partialKey = stableHash([
85
+ // This is the hash related to the global Bundler config.
86
+ this._baseHash,
87
+ // Path.
88
+ localPath,
89
+ customTransformOptions,
90
+ dev,
91
+ experimentalImportSupport,
92
+ hot,
93
+ inlinePlatform,
94
+ inlineRequires,
95
+ minify,
96
+ nonInlinedRequires,
97
+ platform,
98
+ runtimeBytecodeVersion,
99
+ type,
100
+ unstable_disableES6Transforms,
101
+ unstable_transformProfile
102
+ ]);
103
+ let sha1;
104
+ if (fileBuffer) {
105
+ sha1 = import_crypto.default.createHash("sha1").update(fileBuffer).digest("hex");
106
+ } else {
107
+ sha1 = this._getSha1(filePath);
108
+ }
109
+ let fullKey = Buffer.concat([partialKey, Buffer.from(sha1, "hex")]);
110
+ const result = await cache.get(fullKey);
111
+ const data = result ? { result, sha1 } : await this._workerFarm.transform(localPath, transformerOptions, fileBuffer);
112
+ if (sha1 !== data.sha1) {
113
+ fullKey = Buffer.concat([partialKey, Buffer.from(data.sha1, "hex")]);
114
+ }
115
+ cache.set(fullKey, data.result);
116
+ return {
117
+ ...data.result,
118
+ getSource() {
119
+ if (fileBuffer) {
120
+ return fileBuffer;
121
+ }
122
+ return fs.readFileSync(filePath);
123
+ }
124
+ };
125
+ }
126
+ end() {
127
+ this._workerFarm.kill();
128
+ }
129
+ }
130
+ function verifyRootExists(root) {
131
+ assert(fs.statSync(root).isDirectory(), "Root has to be a valid directory");
132
+ }
133
+ module.exports = Transformer;