@@ -28,6 +28,10 @@ typedef DirectoryWatcherBuilder = DirectoryWatcher Function(
28
28
String directory,
29
29
);
30
30
31
+ /// Typedef for [RestorableDirectoryGeneratorTarget.new]
32
+ typedef RestorableDirectoryGeneratorTargetBuilder
33
+ = RestorableDirectoryGeneratorTarget Function (Logger ? logger);
34
+
31
35
/// Typedef for [io.exit] .
32
36
typedef Exit = dynamic Function (int exitCode);
33
37
@@ -49,7 +53,7 @@ class DevCommand extends DartFrogCommand {
49
53
super .logger,
50
54
DirectoryWatcherBuilder ? directoryWatcher,
51
55
GeneratorBuilder ? generator,
52
- RestorableDirectoryGeneratorTarget ? generatorTarget,
56
+ RestorableDirectoryGeneratorTargetBuilder ? generatorTarget,
53
57
Exit ? exit,
54
58
bool ? isWindows,
55
59
ProcessRun ? runProcess,
@@ -62,7 +66,7 @@ class DevCommand extends DartFrogCommand {
62
66
_runProcess = runProcess ?? io.Process .run,
63
67
_sigint = sigint ?? io.ProcessSignal .sigint,
64
68
_startProcess = startProcess ?? io.Process .start,
65
- _generatorTarget = generatorTarget ?? _defaultGeneratorTarget (logger) {
69
+ _generatorTarget = generatorTarget ?? _defaultGeneratorTarget {
66
70
argParser.addOption (
67
71
'port' ,
68
72
abbr: 'p' ,
@@ -78,7 +82,7 @@ class DevCommand extends DartFrogCommand {
78
82
final ProcessRun _runProcess;
79
83
final io.ProcessSignal _sigint;
80
84
final ProcessStart _startProcess;
81
- final RestorableDirectoryGeneratorTarget _generatorTarget;
85
+ final RestorableDirectoryGeneratorTargetBuilder _generatorTarget;
82
86
83
87
@override
84
88
final String description = 'Run a local development server.' ;
@@ -91,6 +95,7 @@ class DevCommand extends DartFrogCommand {
91
95
var reloading = false ;
92
96
var hotReloadEnabled = false ;
93
97
final port = io.Platform .environment['PORT' ] ?? results['port' ] as String ;
98
+ final target = _generatorTarget (logger);
94
99
final generator = await _generator (dartFrogDevServerBundle);
95
100
96
101
Future <void > codegen () async {
@@ -104,7 +109,7 @@ class DevCommand extends DartFrogCommand {
104
109
105
110
logger.detail ('[codegen] running generate...' );
106
111
final _ = await generator.generate (
107
- _generatorTarget ,
112
+ target ,
108
113
vars: vars,
109
114
fileConflictResolution: FileConflictResolution .overwrite,
110
115
);
@@ -151,7 +156,7 @@ class DevCommand extends DartFrogCommand {
151
156
_exit (1 );
152
157
}
153
158
154
- await _generatorTarget .rollback ();
159
+ await target .rollback ();
155
160
});
156
161
157
162
process.stdout.listen ((_) {
@@ -160,7 +165,7 @@ class DevCommand extends DartFrogCommand {
160
165
if (containsHotReload) hotReloadEnabled = true ;
161
166
if (message.isNotEmpty) logger.info (message);
162
167
final shouldCacheSnapshot = containsHotReload && ! hasError;
163
- if (shouldCacheSnapshot) _generatorTarget .cacheLatestSnapshot ();
168
+ if (shouldCacheSnapshot) target .cacheLatestSnapshot ();
164
169
hasError = false ;
165
170
});
166
171
}
0 commit comments