Skip to content

Commit 0412d29

Browse files
author
Jochum van der Ploeg
authored
feat(dart_frog_cli): support custom init method (#587)
1 parent 271f486 commit 0412d29

File tree

10 files changed

+98
-19
lines changed

10 files changed

+98
-19
lines changed

bricks/dart_frog_dev_server/__brick__/server.dart

Lines changed: 7 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bricks/dart_frog_dev_server/hooks/pre_gen.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@ Future<void> preGen(
4848
: false,
4949
'serveStaticFiles': configuration.serveStaticFiles,
5050
'invokeCustomEntrypoint': configuration.invokeCustomEntrypoint,
51+
'invokeCustomInit': configuration.invokeCustomInit,
5152
};
5253
}

bricks/dart_frog_dev_server/hooks/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ environment:
55
sdk: ">=2.19.0 <3.0.0"
66

77
dependencies:
8-
dart_frog_gen: ^0.3.0
8+
dart_frog_gen: ^0.3.2
99
mason: ^0.1.0-dev.39
1010
pubspec_parse: ^1.2.0
1111

bricks/dart_frog_dev_server/hooks/test/pre_gen_test.dart

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ void main() {
8484
'middleware': <MiddlewareFile>[],
8585
'globalMiddleware': false,
8686
'serveStaticFiles': false,
87-
'invokeCustomEntrypoint': false
87+
'invokeCustomEntrypoint': false,
88+
'invokeCustomInit': false
8889
}),
8990
);
9091
});
@@ -118,6 +119,41 @@ void main() {
118119
'globalMiddleware': false,
119120
'serveStaticFiles': false,
120121
'invokeCustomEntrypoint': true,
122+
'invokeCustomInit': false
123+
}),
124+
);
125+
});
126+
127+
test('retains invokeCustomInit (true)', () async {
128+
const customPort = '8081';
129+
context.vars['port'] = customPort;
130+
const configuration = RouteConfiguration(
131+
middleware: [],
132+
directories: [],
133+
routes: [],
134+
rogueRoutes: [],
135+
endpoints: {},
136+
invokeCustomInit: true,
137+
);
138+
final exitCalls = <int>[];
139+
await preGen(
140+
context,
141+
buildConfiguration: (_) => configuration,
142+
exit: exitCalls.add,
143+
);
144+
expect(exitCalls, isEmpty);
145+
verifyNever(() => logger.err(any()));
146+
expect(
147+
context.vars,
148+
equals({
149+
'port': customPort,
150+
'directories': <RouteDirectory>[],
151+
'routes': <RouteFile>[],
152+
'middleware': <MiddlewareFile>[],
153+
'globalMiddleware': false,
154+
'serveStaticFiles': false,
155+
'invokeCustomEntrypoint': false,
156+
'invokeCustomInit': true
121157
}),
122158
);
123159
});
@@ -246,6 +282,7 @@ void main() {
246282
'globalMiddleware': {'name': 'middleware', 'path': 'middleware.dart'},
247283
'serveStaticFiles': true,
248284
'invokeCustomEntrypoint': false,
285+
'invokeCustomInit': false
249286
}),
250287
);
251288
});

bricks/dart_frog_prod_server/__brick__/build/bin/server.dart

Lines changed: 7 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bricks/dart_frog_prod_server/hooks/pre_gen.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Future<void> preGen(
5454
: false,
5555
'serveStaticFiles': configuration.serveStaticFiles,
5656
'invokeCustomEntrypoint': configuration.invokeCustomEntrypoint,
57+
'invokeCustomInit': configuration.invokeCustomInit,
5758
'pathDependencies': await getPathDependencies(projectDirectory),
5859
};
5960
}

bricks/dart_frog_prod_server/hooks/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ environment:
55
sdk: ">=2.19.0 <3.0.0"
66

77
dependencies:
8-
dart_frog_gen: ^0.3.0
8+
dart_frog_gen: ^0.3.2
99
io: ^1.0.3
1010
mason: ^0.1.0-dev.39
1111
path: ^1.8.1

bricks/dart_frog_prod_server/hooks/test/pre_gen_test.dart

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,39 @@ void main() {
8787
'globalMiddleware': false,
8888
'serveStaticFiles': false,
8989
'invokeCustomEntrypoint': true,
90+
'invokeCustomInit': false,
91+
'pathDependencies': <String>[]
92+
}),
93+
);
94+
});
95+
96+
test('retains invokeCustomInit (true)', () async {
97+
const configuration = RouteConfiguration(
98+
middleware: [],
99+
directories: [],
100+
routes: [],
101+
rogueRoutes: [],
102+
endpoints: {},
103+
invokeCustomInit: true,
104+
);
105+
final exitCalls = <int>[];
106+
await preGen(
107+
context,
108+
buildConfiguration: (_) => configuration,
109+
exit: exitCalls.add,
110+
);
111+
expect(exitCalls, isEmpty);
112+
verifyNever(() => logger.err(any()));
113+
expect(
114+
context.vars,
115+
equals({
116+
'directories': <RouteDirectory>[],
117+
'routes': <RouteFile>[],
118+
'middleware': <MiddlewareFile>[],
119+
'globalMiddleware': false,
120+
'serveStaticFiles': false,
121+
'invokeCustomEntrypoint': false,
122+
'invokeCustomInit': true,
90123
'pathDependencies': <String>[]
91124
}),
92125
);
@@ -215,6 +248,7 @@ void main() {
215248
'globalMiddleware': {'name': 'middleware', 'path': 'middleware.dart'},
216249
'serveStaticFiles': true,
217250
'invokeCustomEntrypoint': false,
251+
'invokeCustomInit': false,
218252
'pathDependencies': <String>[],
219253
}),
220254
);

packages/dart_frog_cli/lib/src/commands/build/templates/dart_frog_prod_server_bundle.dart

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/dart_frog_cli/lib/src/commands/dev/templates/dart_frog_dev_server_bundle.dart

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)