@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.
- package/CHANGELOG.md +46 -0
- package/LICENSE +202 -0
- package/README.md +24 -0
- package/dist/bundler/Bundler.d.ts +24 -0
- package/dist/bundler/Bundler.js +175 -0
- package/dist/bundler/PluginDriver.d.ts +9 -0
- package/dist/bundler/PluginDriver.js +47 -0
- package/dist/bundler/index.d.ts +1 -0
- package/dist/bundler/index.js +22 -0
- package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.d.ts +12 -0
- package/dist/bundler/plugins/buildStatusPlugin/buildStatusPlugin.js +75 -0
- package/dist/bundler/plugins/buildStatusPlugin/index.d.ts +1 -0
- package/dist/bundler/plugins/buildStatusPlugin/index.js +28 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.d.ts +3 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/aliasResolver.js +89 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.d.ts +3 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/dependencyAliasPlugin.js +43 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/index.d.ts +1 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/index.js +28 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.d.ts +3 -0
- package/dist/bundler/plugins/dependencyAliasPlugin/protocolResolver.js +53 -0
- package/dist/bundler/plugins/index.d.ts +4 -0
- package/dist/bundler/plugins/index.js +28 -0
- package/dist/bundler/plugins/requireContextPlugin/index.d.ts +1 -0
- package/dist/bundler/plugins/requireContextPlugin/index.js +28 -0
- package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.d.ts +6 -0
- package/dist/bundler/plugins/requireContextPlugin/requireContextPlugin.js +101 -0
- package/dist/bundler/plugins/requireContextPlugin/scripts.d.ts +56 -0
- package/dist/bundler/plugins/requireContextPlugin/scripts.js +65 -0
- package/dist/bundler/plugins/shared/swc.d.ts +11 -0
- package/dist/bundler/plugins/shared/swc.js +70 -0
- package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.d.ts +23 -0
- package/dist/bundler/plugins/transformPlugin/helpers/preludeScript.js +79 -0
- package/dist/bundler/plugins/transformPlugin/index.d.ts +1 -0
- package/dist/bundler/plugins/transformPlugin/index.js +28 -0
- package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.d.ts +10 -0
- package/dist/bundler/plugins/transformPlugin/steps/createCacheSteps.js +56 -0
- package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.d.ts +8 -0
- package/dist/bundler/plugins/transformPlugin/steps/createFullyTransformStep.js +120 -0
- package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.d.ts +6 -0
- package/dist/bundler/plugins/transformPlugin/steps/createStripFlowStep.js +91 -0
- package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.d.ts +8 -0
- package/dist/bundler/plugins/transformPlugin/steps/createTransformToHermesSyntaxStep.js +100 -0
- package/dist/bundler/plugins/transformPlugin/transformPlugin.d.ts +8 -0
- package/dist/bundler/plugins/transformPlugin/transformPlugin.js +88 -0
- package/dist/bundler/plugins/types.d.ts +7 -0
- package/dist/bundler/plugins/types.js +16 -0
- package/dist/bundler/types.d.ts +17 -0
- package/dist/bundler/types.js +16 -0
- package/dist/cache/Cache.d.ts +25 -0
- package/dist/cache/Cache.js +87 -0
- package/dist/cache/index.d.ts +1 -0
- package/dist/cache/index.js +22 -0
- package/dist/constants/index.d.ts +20 -0
- package/dist/constants/index.js +91 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +60 -0
- package/dist/logger/Logger.d.ts +17 -0
- package/dist/logger/Logger.js +115 -0
- package/dist/logger/clientLogger.d.ts +2 -0
- package/dist/logger/clientLogger.js +49 -0
- package/dist/logger/index.d.ts +3 -0
- package/dist/logger/index.js +31 -0
- package/dist/metro/assetRegistry.d.ts +12 -0
- package/dist/metro/assetRegistry.js +57 -0
- package/dist/metro/enhancedResolver.d.ts +7 -0
- package/dist/metro/enhancedResolver.js +127 -0
- package/dist/metro/getMetroConfig.d.ts +12 -0
- package/dist/metro/getMetroConfig.js +138 -0
- package/dist/metro/getMonorepoRoot.d.ts +4 -0
- package/dist/metro/getMonorepoRoot.js +80 -0
- package/dist/metro/index.d.ts +3 -0
- package/dist/metro/index.js +24 -0
- package/dist/metro/pnpapi.d.ts +6 -0
- package/dist/metro/pnpapi.js +32 -0
- package/dist/metro/runBuild.d.ts +12 -0
- package/dist/metro/runBuild.js +66 -0
- package/dist/metro/runtime.d.ts +3 -0
- package/dist/metro/runtime.js +56 -0
- package/dist/metro/types.d.ts +88 -0
- package/dist/metro/types.js +16 -0
- package/dist/operations/constants.d.ts +3 -0
- package/dist/operations/constants.js +34 -0
- package/dist/operations/createDebuggerMiddleware.d.ts +11 -0
- package/dist/operations/createDebuggerMiddleware.js +128 -0
- package/dist/operations/experimental/StartMenuHandler.d.ts +13 -0
- package/dist/operations/experimental/StartMenuHandler.js +86 -0
- package/dist/operations/experimental/runServer.d.ts +16 -0
- package/dist/operations/experimental/runServer.js +137 -0
- package/dist/operations/index.d.ts +3 -0
- package/dist/operations/index.js +26 -0
- package/dist/operations/openDebugger.d.ts +1 -0
- package/dist/operations/openDebugger.js +73 -0
- package/dist/operations/runBundle.d.ts +12 -0
- package/dist/operations/runBundle.js +97 -0
- package/dist/operations/runServer.d.ts +15 -0
- package/dist/operations/runServer.js +134 -0
- package/dist/performance/Performance.d.ts +23 -0
- package/dist/performance/Performance.js +121 -0
- package/dist/performance/index.d.ts +2 -0
- package/dist/performance/index.js +31 -0
- package/dist/performance/printSummary.d.ts +5 -0
- package/dist/performance/printSummary.js +58 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +22 -0
- package/dist/plugins/statusPlugin.d.ts +2 -0
- package/dist/plugins/statusPlugin.js +64 -0
- package/dist/server/DevServer.d.ts +23 -0
- package/dist/server/DevServer.js +216 -0
- package/dist/server/constants.d.ts +1 -0
- package/dist/server/constants.js +28 -0
- package/dist/server/debugger/DebuggerEventHandler.d.ts +41 -0
- package/dist/server/debugger/DebuggerEventHandler.js +169 -0
- package/dist/server/debugger/parseDomain.d.ts +1 -0
- package/dist/server/debugger/parseDomain.js +30 -0
- package/dist/server/helpers/createBundlerForDevServer.d.ts +10 -0
- package/dist/server/helpers/createBundlerForDevServer.js +75 -0
- package/dist/server/helpers/mergeBundles.d.ts +7 -0
- package/dist/server/helpers/mergeBundles.js +129 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +22 -0
- package/dist/server/middlewares/createLiveReloadMiddleware.d.ts +10 -0
- package/dist/server/middlewares/createLiveReloadMiddleware.js +129 -0
- package/dist/server/middlewares/index.d.ts +1 -0
- package/dist/server/middlewares/index.js +22 -0
- package/dist/server/plugins/debuggerPlugin.d.ts +7 -0
- package/dist/server/plugins/debuggerPlugin.js +68 -0
- package/dist/server/plugins/index.d.ts +5 -0
- package/dist/server/plugins/index.js +30 -0
- package/dist/server/plugins/indexPagePlugin.d.ts +4 -0
- package/dist/server/plugins/indexPagePlugin.js +52 -0
- package/dist/server/plugins/reply.d.ts +3 -0
- package/dist/server/plugins/reply.js +38 -0
- package/dist/server/plugins/serveBundlePlugin.d.ts +8 -0
- package/dist/server/plugins/serveBundlePlugin.js +118 -0
- package/dist/server/plugins/statusPlugin.d.ts +7 -0
- package/dist/server/plugins/statusPlugin.js +50 -0
- package/dist/server/plugins/symbolicatePlugin/index.d.ts +1 -0
- package/dist/server/plugins/symbolicatePlugin/index.js +28 -0
- package/dist/server/plugins/symbolicatePlugin/parseStackFrame.d.ts +25 -0
- package/dist/server/plugins/symbolicatePlugin/parseStackFrame.js +51 -0
- package/dist/server/plugins/symbolicatePlugin/symbolicate.d.ts +25 -0
- package/dist/server/plugins/symbolicatePlugin/symbolicate.js +84 -0
- package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.d.ts +8 -0
- package/dist/server/plugins/symbolicatePlugin/symbolicatePlugin.js +77 -0
- package/dist/server/types.d.ts +97 -0
- package/dist/server/types.js +16 -0
- package/dist/server/wss/WebSocketServerDelegate.d.ts +23 -0
- package/dist/server/wss/WebSocketServerDelegate.js +50 -0
- package/dist/server/wss/WebSocketServerRouter.d.ts +8 -0
- package/dist/server/wss/WebSocketServerRouter.js +66 -0
- package/dist/server/wss/index.d.ts +2 -0
- package/dist/server/wss/index.js +24 -0
- package/dist/shared/PersistentStorage.d.ts +21 -0
- package/dist/shared/PersistentStorage.js +68 -0
- package/dist/transformer/AsyncTransformPipeline.d.ts +4 -0
- package/dist/transformer/AsyncTransformPipeline.js +58 -0
- package/dist/transformer/TransformPipeline.d.ts +37 -0
- package/dist/transformer/TransformPipeline.js +64 -0
- package/dist/transformer/index.d.ts +1 -0
- package/dist/transformer/index.js +28 -0
- package/dist/types/BuildConfig.d.ts +183 -0
- package/dist/types/BuildConfig.js +16 -0
- package/dist/types/BundlerConfig.d.ts +56 -0
- package/dist/types/BundlerConfig.js +16 -0
- package/dist/types/Config.d.ts +12 -0
- package/dist/types/Config.js +16 -0
- package/dist/types/DevServerConfig.d.ts +9 -0
- package/dist/types/DevServerConfig.js +16 -0
- package/dist/types/Plugin.d.ts +28 -0
- package/dist/types/Plugin.js +16 -0
- package/dist/types/Preset.d.ts +3 -0
- package/dist/types/Preset.js +16 -0
- package/dist/types/PresetContext.d.ts +2 -0
- package/dist/types/PresetContext.js +16 -0
- package/dist/types/ServicesConfig.d.ts +2 -0
- package/dist/types/ServicesConfig.js +16 -0
- package/dist/types/TaskConfig.d.ts +16 -0
- package/dist/types/TaskConfig.js +16 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.js +38 -0
- package/dist/types/schemas/buildConfigSchema.d.ts +235 -0
- package/dist/types/schemas/buildConfigSchema.js +79 -0
- package/dist/types/schemas/bundlerConfigSchema.d.ts +3 -0
- package/dist/types/schemas/bundlerConfigSchema.js +51 -0
- package/dist/types/schemas/configSchema.d.ts +3 -0
- package/dist/types/schemas/configSchema.js +50 -0
- package/dist/types/schemas/devServerConfigSchema.d.ts +3 -0
- package/dist/types/schemas/devServerConfigSchema.js +43 -0
- package/dist/types/schemas/index.d.ts +6 -0
- package/dist/types/schemas/index.js +32 -0
- package/dist/types/schemas/servicesConfigSchema.d.ts +3 -0
- package/dist/types/schemas/servicesConfigSchema.js +48 -0
- package/dist/types/schemas/taskConfigSchema.d.ts +3 -0
- package/dist/types/schemas/taskConfigSchema.js +45 -0
- package/dist/utils/cleanupOutputDirectory.d.ts +1 -0
- package/dist/utils/cleanupOutputDirectory.js +53 -0
- package/dist/utils/defineStepName.d.ts +2 -0
- package/dist/utils/defineStepName.js +30 -0
- package/dist/utils/esbuildUtils.d.ts +1 -0
- package/dist/utils/esbuildUtils.js +45 -0
- package/dist/utils/getBundleName.d.ts +1 -0
- package/dist/utils/getBundleName.js +30 -0
- package/dist/utils/getBundleOutputs.d.ts +5 -0
- package/dist/utils/getBundleOutputs.js +49 -0
- package/dist/utils/getId.d.ts +2 -0
- package/dist/utils/getId.js +41 -0
- package/dist/utils/getSourcemapName.d.ts +1 -0
- package/dist/utils/getSourcemapName.js +30 -0
- package/dist/utils/isDebugMode.d.ts +1 -0
- package/dist/utils/isDebugMode.js +30 -0
- package/dist/utils/loadConfig.d.ts +2 -0
- package/dist/utils/loadConfig.js +37 -0
- package/dist/utils/loadPresets.d.ts +2 -0
- package/dist/utils/loadPresets.js +40 -0
- package/dist/utils/md5.d.ts +1 -0
- package/dist/utils/md5.js +41 -0
- package/dist/utils/mergeBanners.d.ts +6 -0
- package/dist/utils/mergeBanners.js +35 -0
- package/dist/utils/mergeBuildConfigs.d.ts +2 -0
- package/dist/utils/mergeBuildConfigs.js +59 -0
- package/dist/utils/mergeInject.d.ts +3 -0
- package/dist/utils/mergeInject.js +30 -0
- package/dist/utils/printLogo.d.ts +1 -0
- package/dist/utils/printLogo.js +56 -0
- package/dist/utils/printSummary.d.ts +7 -0
- package/dist/utils/printSummary.js +55 -0
- package/dist/utils/progressBar.d.ts +9 -0
- package/dist/utils/progressBar.js +97 -0
- package/dist/utils/promiseHandler.d.ts +12 -0
- package/dist/utils/promiseHandler.js +54 -0
- package/dist/utils/replaceModulePath.d.ts +1 -0
- package/dist/utils/replaceModulePath.js +31 -0
- package/dist/utils/replacePlaceholders.d.ts +1 -0
- package/dist/utils/replacePlaceholders.js +33 -0
- package/dist/utils/stripExtension.d.ts +1 -0
- package/dist/utils/stripExtension.js +41 -0
- package/dist/utils/writeBundle.d.ts +2 -0
- package/dist/utils/writeBundle.js +52 -0
- package/dist/vendors/@react-native/dev-middleware/Device.d.ts +5 -0
- package/dist/vendors/@react-native/dev-middleware/Device.js +33 -0
- package/dist/vendors/@react-native/dev-middleware/InspectorProxy.d.ts +31 -0
- package/dist/vendors/@react-native/dev-middleware/InspectorProxy.js +169 -0
- package/dist/vendors/@react-native/dev-middleware/index.d.ts +3 -0
- package/dist/vendors/@react-native/dev-middleware/index.js +26 -0
- package/dist/vendors/@react-native/dev-middleware/types.d.ts +54 -0
- package/dist/vendors/@react-native/dev-middleware/types.js +16 -0
- package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.d.ts +23 -0
- package/dist/vendors/@react-native-community/cli-server-api/createWebSocketEndpoints.js +47 -0
- package/dist/vendors/@react-native-community/cli-server-api/index.d.ts +1 -0
- package/dist/vendors/@react-native-community/cli-server-api/index.js +22 -0
- package/dist/vendors/index.d.ts +27 -0
- package/dist/vendors/index.js +63 -0
- package/dist/vendors/metro/src/Assets.js +159 -0
- package/dist/vendors/metro/src/Bundler/util.js +131 -0
- package/dist/vendors/metro/src/Bundler.js +43 -0
- package/dist/vendors/metro/src/DeltaBundler/DeltaCalculator.js +176 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/baseBytecodeBundle.js +61 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/baseJSBundle.js +45 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/getAllFiles.js +30 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/getAssets.js +23 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/getExplodedSourceMap.js +17 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/getRamBundleInfo.js +87 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/bytecode.js +51 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getInlineSourceMappingURL.js +6 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getSourceMapInfo.js +16 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/getTransitiveDependencies.js +21 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/js.js +43 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processBytecodeModules.js +13 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/helpers/processModules.js +13 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/hmrJSBundle.js +66 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapGenerator.js +63 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapObject.js +18 -0
- package/dist/vendors/metro/src/DeltaBundler/Serializers/sourceMapString.js +8 -0
- package/dist/vendors/metro/src/DeltaBundler/Transformer.js +133 -0
- package/dist/vendors/metro/src/DeltaBundler/Worker.flow.js +64 -0
- package/dist/vendors/metro/src/DeltaBundler/Worker.js +6 -0
- package/dist/vendors/metro/src/DeltaBundler/WorkerFarm.js +128 -0
- package/dist/vendors/metro/src/DeltaBundler/getTransformCacheKey.js +20 -0
- package/dist/vendors/metro/src/DeltaBundler/graphOperations.js +420 -0
- package/dist/vendors/metro/src/DeltaBundler/mergeDeltas.js +52 -0
- package/dist/vendors/metro/src/DeltaBundler/types.flow.js +24 -0
- package/dist/vendors/metro/src/DeltaBundler.js +56 -0
- package/dist/vendors/metro/src/HmrServer.js +224 -0
- package/dist/vendors/metro/src/IncrementalBundler/GraphNotFoundError.js +9 -0
- package/dist/vendors/metro/src/IncrementalBundler/ResourceNotFoundError.js +9 -0
- package/dist/vendors/metro/src/IncrementalBundler/RevisionNotFoundError.js +9 -0
- package/dist/vendors/metro/src/IncrementalBundler.js +213 -0
- package/dist/vendors/metro/src/ModuleGraph/module.js +14 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/HasteFS.js +66 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/Module.js +22 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/ModuleCache.js +43 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/Package.js +81 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.flow.js +1 -0
- package/dist/vendors/metro/src/ModuleGraph/node-haste/node-haste.js +127 -0
- package/dist/vendors/metro/src/ModuleGraph/output/indexed-ram-bundle.js +71 -0
- package/dist/vendors/metro/src/ModuleGraph/output/multiple-files-ram-bundle.js +53 -0
- package/dist/vendors/metro/src/ModuleGraph/output/plain-bundle.js +36 -0
- package/dist/vendors/metro/src/ModuleGraph/output/reverse-dependency-map-references.js +53 -0
- package/dist/vendors/metro/src/ModuleGraph/output/util.js +168 -0
- package/dist/vendors/metro/src/ModuleGraph/silent-console.js +5 -0
- package/dist/vendors/metro/src/ModuleGraph/types.flow.js +1 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/JsFileWrapping.js +87 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/Platforms.js +3 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/collectDependencies.js +440 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/generate.js +21 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/generateImportNames.js +19 -0
- package/dist/vendors/metro/src/ModuleGraph/worker/mergeSourceMaps.js +29 -0
- package/dist/vendors/metro/src/Server/MultipartResponse.js +57 -0
- package/dist/vendors/metro/src/Server/symbolicate.js +109 -0
- package/dist/vendors/metro/src/Server.js +855 -0
- package/dist/vendors/metro/src/cli-utils.js +14 -0
- package/dist/vendors/metro/src/cli.js +9 -0
- package/dist/vendors/metro/src/commands/build.js +67 -0
- package/dist/vendors/metro/src/commands/dependencies.js +75 -0
- package/dist/vendors/metro/src/commands/serve.js +56 -0
- package/dist/vendors/metro/src/index.d.ts +8 -0
- package/dist/vendors/metro/src/index.flow.js +279 -0
- package/dist/vendors/metro/src/index.js +6 -0
- package/dist/vendors/metro/src/isPnP.js +13 -0
- package/dist/vendors/metro/src/lib/BatchProcessor.js +69 -0
- package/dist/vendors/metro/src/lib/CountingSet.js +98 -0
- package/dist/vendors/metro/src/lib/JsonReporter.js +21 -0
- package/dist/vendors/metro/src/lib/RamBundleParser.js +36 -0
- package/dist/vendors/metro/src/lib/TerminalReporter.d.ts +18 -0
- package/dist/vendors/metro/src/lib/TerminalReporter.js +258 -0
- package/dist/vendors/metro/src/lib/bundleToBytecode.js +40 -0
- package/dist/vendors/metro/src/lib/bundleToString.js +22 -0
- package/dist/vendors/metro/src/lib/contextModule.js +73 -0
- package/dist/vendors/metro/src/lib/contextModuleTemplates.js +116 -0
- package/dist/vendors/metro/src/lib/countLines.js +4 -0
- package/dist/vendors/metro/src/lib/createModuleIdFactory.js +14 -0
- package/dist/vendors/metro/src/lib/createWebsocketServer.js +54 -0
- package/dist/vendors/metro/src/lib/debounceAsyncQueue.js +33 -0
- package/dist/vendors/metro/src/lib/formatBundlingError.js +76 -0
- package/dist/vendors/metro/src/lib/getAppendScripts.js +131 -0
- package/dist/vendors/metro/src/lib/getGraphId.js +27 -0
- package/dist/vendors/metro/src/lib/getMaxWorkers.js +6 -0
- package/dist/vendors/metro/src/lib/getPreludeCode.js +32 -0
- package/dist/vendors/metro/src/lib/getPrependedScripts.js +93 -0
- package/dist/vendors/metro/src/lib/logToConsole.js +46 -0
- package/dist/vendors/metro/src/lib/parseCustomResolverOptions.js +13 -0
- package/dist/vendors/metro/src/lib/parseCustomTransformOptions.js +13 -0
- package/dist/vendors/metro/src/lib/parseOptionsFromUrl.js +50 -0
- package/dist/vendors/metro/src/lib/relativizeSourceMap.js +14 -0
- package/dist/vendors/metro/src/lib/reporting.js +26 -0
- package/dist/vendors/metro/src/lib/splitBundleOptions.js +32 -0
- package/dist/vendors/metro/src/lib/transformHelpers.js +112 -0
- package/dist/vendors/metro/src/node-haste/DependencyGraph/ModuleResolution.js +221 -0
- package/dist/vendors/metro/src/node-haste/DependencyGraph/createHasteMap.js +71 -0
- package/dist/vendors/metro/src/node-haste/DependencyGraph.js +223 -0
- package/dist/vendors/metro/src/node-haste/Module.js +21 -0
- package/dist/vendors/metro/src/node-haste/ModuleCache.js +81 -0
- package/dist/vendors/metro/src/node-haste/Package.js +98 -0
- package/dist/vendors/metro/src/node-haste/lib/AssetPaths.js +41 -0
- package/dist/vendors/metro/src/node-haste/lib/parsePlatformFilePath.js +19 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/as-assets.js +61 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/as-indexed-file.js +115 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/buildSourcemapWithMetadata.js +23 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/magic-number.js +2 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/util.js +94 -0
- package/dist/vendors/metro/src/shared/output/RamBundle/write-sourcemap.js +12 -0
- package/dist/vendors/metro/src/shared/output/RamBundle.js +18 -0
- package/dist/vendors/metro/src/shared/output/bundle.flow.js +42 -0
- package/dist/vendors/metro/src/shared/output/bundle.js +6 -0
- package/dist/vendors/metro/src/shared/output/meta.js +31 -0
- package/dist/vendors/metro/src/shared/output/unbundle.js +2 -0
- package/dist/vendors/metro/src/shared/output/writeFile.js +6 -0
- package/dist/vendors/metro/src/shared/types.flow.js +1 -0
- package/dist/vendors/metro-config/src/configTypes.flow.js +1 -0
- package/dist/vendors/metro-config/src/defaults/defaults.js +66 -0
- package/dist/vendors/metro-config/src/defaults/exclusionList.d.ts +3 -0
- package/dist/vendors/metro-config/src/defaults/exclusionList.js +17 -0
- package/dist/vendors/metro-config/src/defaults/index.d.ts +5 -0
- package/dist/vendors/metro-config/src/defaults/index.js +161 -0
- package/dist/vendors/metro-config/src/defaults/validConfig.js +28 -0
- package/dist/vendors/metro-config/src/index.js +9 -0
- package/dist/vendors/metro-config/src/loadConfig.d.ts +4 -0
- package/dist/vendors/metro-config/src/loadConfig.js +188 -0
- package/dist/vendors/metro-core/src/Logger.js +62 -0
- package/dist/vendors/metro-core/src/Terminal.d.ts +30 -0
- package/dist/vendors/metro-core/src/Terminal.js +100 -0
- package/dist/vendors/metro-core/src/canonicalize.js +17 -0
- package/dist/vendors/metro-core/src/errors/AmbiguousModuleResolutionError.js +11 -0
- package/dist/vendors/metro-core/src/errors/PackageResolutionError.js +18 -0
- package/dist/vendors/metro-core/src/errors.js +7 -0
- package/dist/vendors/metro-core/src/index.js +11 -0
- package/dist/vendors/metro-inspector-proxy/src/Device.js +398 -0
- package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.d.ts +21 -0
- package/dist/vendors/metro-inspector-proxy/src/InspectorProxy.js +153 -0
- package/dist/vendors/metro-inspector-proxy/src/cli.js +15 -0
- package/dist/vendors/metro-inspector-proxy/src/index.js +23 -0
- package/dist/vendors/metro-inspector-proxy/src/types.js +1 -0
- package/dist/vendors/metro-transform-worker/src/index.js +430 -0
- package/dist/vendors/metro-transform-worker/src/utils/assetTransformer.js +20 -0
- package/dist/vendors/metro-transform-worker/src/utils/getMinifier.js +11 -0
- 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,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,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);
|