npm package diff

Package: @forge/tunnel

Versions: 5.7.0-next.7 - 5.7.0-next.8

File: package/out/servers/dev-server.js

Index: package/out/servers/dev-server.js
===================================================================
--- package/out/servers/dev-server.js
+++ package/out/servers/dev-server.js
@@ -6,9 +6,8 @@
 const express_1 = tslib_1.__importDefault(require("express"));
 const bundler_1 = require("@forge/bundler");
 const cli_shared_1 = require("@forge/cli-shared");
 const runtime_1 = require("@forge/runtime");
-const bundler_2 = require("@forge/bundler");
 const util_1 = require("../util");
 async function stopServer(server) {
     if (!server) {
         return;
@@ -52,51 +51,26 @@
     }
     async stop() {
         await stopServer(this.httpServer);
     }
-    async compileAndWatch({ onBuildWillStart, onBuildFinished }, tunnelOptions = cli_shared_1.defaultNoDebugTunnelOptions) {
+    async compileAndWatch(watch, tunnelOptions = cli_shared_1.defaultNoDebugTunnelOptions) {
         const isNodeJsRuntime = (await this.configFile.runtimeType()) === cli_shared_1.RuntimeType.nodejs;
         const outputDir = isNodeJsRuntime && tunnelOptions.debug ? path_1.default.resolve(cli_shared_1.TUNNEL_BUNDLE_DIRECTORY) : (0, cli_shared_1.tmpDir)('tunnel');
         const handlers = await this.configFile.getAppHandlers();
         const entryPoints = (0, bundler_1.getEntryPoints)(handlers);
         if (!entryPoints.length) {
             return { outputDir };
         }
-        const getConfig = isNodeJsRuntime
-            ? (0, bundler_2.getNodeRuntimeBuildConfig)((0, bundler_1.getWrapperProvider)({ fileSystemReader: this.fileSystemReader, statsigService: this.statsigService }))
-            : bundler_2.getSandboxedRuntimeBuildConfig;
-        const config = getConfig(entryPoints, {
-            isWatchMode: true,
-            isDebugMode: tunnelOptions.debug,
+        const bundler = isNodeJsRuntime
+            ? new bundler_1.NodeBundler(this.logger, (0, bundler_1.getWrapperProvider)({ fileSystemReader: this.fileSystemReader, statsigService: this.statsigService }))
+            : new bundler_1.SandboxBundler(this.logger);
+        const { result } = await bundler.watch({
             appDirectory: process.cwd(),
-            outputDir
-        });
-        const compiler = (0, bundler_2.getCompiler)(config);
-        let isFirstRun = true;
-        compiler.hooks.watchRun.tapAsync('watchRun', async (_, watchRunCallback) => {
-            if (!isFirstRun) {
-                await onBuildWillStart();
-            }
-            watchRunCallback();
-        });
-        return new Promise((resolve, reject) => {
-            compiler.watch({ poll: 1000 }, async (compilerError, stats) => {
-                try {
-                    (0, bundler_2.handleWebpackCompilationResult)(this.logger, compilerError, stats);
-                    this.logger.info(cli_shared_1.LogColor.trace(cli_shared_1.Text.tunnel.functionsBundlingSucceeded));
-                    if (!isFirstRun) {
-                        await onBuildFinished(null, { outputDir });
-                    }
-                    isFirstRun = false;
-                    resolve({ outputDir });
-                }
-                catch (err) {
-                    await onBuildFinished(err);
-                    isFirstRun = false;
-                    reject(err);
-                }
-            });
-        });
+            entryPoints,
+            watchMode: tunnelOptions.debug ? 'debug' : 'watch',
+            successMessage: cli_shared_1.Text.tunnel.functionsBundlingSucceeded
+        }, watch);
+        return result;
     }
     getApp() {
         return this.app;
     }