Skip to content

Commit 1239399

Browse files
committed
feat: Add support for WASM.
1 parent 016e088 commit 1239399

File tree

13 files changed

+57
-89
lines changed

13 files changed

+57
-89
lines changed

apps/flutter_client_contract_test_service/pubspec.lock

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,10 @@ packages:
109109
dependency: transitive
110110
description:
111111
name: characters
112-
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
112+
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
113113
url: "https://pub.dev"
114114
source: hosted
115-
version: "1.3.0"
115+
version: "1.4.0"
116116
checked_yaml:
117117
dependency: transitive
118118
description:
@@ -157,10 +157,10 @@ packages:
157157
dependency: transitive
158158
description:
159159
name: collection
160-
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
160+
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
161161
url: "https://pub.dev"
162162
source: hosted
163-
version: "1.18.0"
163+
version: "1.19.1"
164164
connectivity_plus:
165165
dependency: "direct main"
166166
description:
@@ -311,10 +311,10 @@ packages:
311311
dependency: "direct dev"
312312
description:
313313
name: http
314-
sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139
314+
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
315315
url: "https://pub.dev"
316316
source: hosted
317-
version: "1.1.2"
317+
version: "1.3.0"
318318
http_multi_server:
319319
dependency: transitive
320320
description:
@@ -377,14 +377,14 @@ packages:
377377
path: "../../packages/common_client"
378378
relative: true
379379
source: path
380-
version: "1.3.0"
380+
version: "1.4.1"
381381
launchdarkly_dart_common:
382382
dependency: "direct overridden"
383383
description:
384384
path: "../../packages/common"
385385
relative: true
386386
source: path
387-
version: "1.2.0"
387+
version: "1.3.0"
388388
launchdarkly_event_source_client:
389389
dependency: "direct overridden"
390390
description:
@@ -398,7 +398,7 @@ packages:
398398
path: "../../packages/flutter_client_sdk"
399399
relative: true
400400
source: path
401-
version: "4.7.0"
401+
version: "4.9.0"
402402
lints:
403403
dependency: "direct dev"
404404
description:
@@ -435,18 +435,18 @@ packages:
435435
dependency: transitive
436436
description:
437437
name: material_color_utilities
438-
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
438+
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
439439
url: "https://pub.dev"
440440
source: hosted
441-
version: "0.8.0"
441+
version: "0.11.1"
442442
meta:
443443
dependency: transitive
444444
description:
445445
name: meta
446-
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
446+
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
447447
url: "https://pub.dev"
448448
source: hosted
449-
version: "1.12.0"
449+
version: "1.16.0"
450450
mime:
451451
dependency: transitive
452452
description:
@@ -507,18 +507,18 @@ packages:
507507
dependency: transitive
508508
description:
509509
name: package_info_plus
510-
sha256: "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79"
510+
sha256: a75164ade98cb7d24cfd0a13c6408927c6b217fa60dee5a7ff5c116a58f28918
511511
url: "https://pub.dev"
512512
source: hosted
513-
version: "5.0.1"
513+
version: "8.0.2"
514514
package_info_plus_platform_interface:
515515
dependency: transitive
516516
description:
517517
name: package_info_plus_platform_interface
518-
sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
518+
sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
519519
url: "https://pub.dev"
520520
source: hosted
521-
version: "2.0.1"
521+
version: "3.2.0"
522522
path:
523523
dependency: transitive
524524
description:
@@ -659,10 +659,10 @@ packages:
659659
dependency: transitive
660660
description:
661661
name: shared_preferences_web
662-
sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21"
662+
sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
663663
url: "https://pub.dev"
664664
source: hosted
665-
version: "2.2.2"
665+
version: "2.2.1"
666666
shared_preferences_windows:
667667
dependency: transitive
668668
description:
@@ -707,7 +707,7 @@ packages:
707707
dependency: transitive
708708
description: flutter
709709
source: sdk
710-
version: "0.0.99"
710+
version: "0.0.0"
711711
source_gen:
712712
dependency: transitive
713713
description:
@@ -872,10 +872,10 @@ packages:
872872
dependency: transitive
873873
description:
874874
name: web
875-
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
875+
sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a"
876876
url: "https://pub.dev"
877877
source: hosted
878-
version: "0.3.0"
878+
version: "1.1.1"
879879
web_socket_channel:
880880
dependency: transitive
881881
description:
@@ -933,5 +933,5 @@ packages:
933933
source: hosted
934934
version: "3.1.2"
935935
sdks:
936-
dart: ">=3.3.0-0 <4.0.0"
937-
flutter: ">=3.16.0"
936+
dart: ">=3.7.0-0 <4.0.0"
937+
flutter: ">=3.19.0"

packages/common/lib/src/config/defaults/common_default_config.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import '../../ld_logging.dart';
22
import 'stub_config.dart'
33
if (dart.library.io) 'io_config.dart'
4-
if (dart.library.html) 'js_config.dart';
4+
if (dart.library.js_interop) 'js_config.dart';
55

66
final class DefaultLoggingConfig {
77
final defaultLogLevel = LDLogLevel.info;

packages/common/lib/src/network/http_client.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import '../config/defaults/common_default_config.dart';
44
import '../config/http_properties.dart';
55
import 'platform_client/stub_client.dart'
66
if (dart.library.io) 'platform_client/io_client.dart'
7-
if (dart.library.html) 'platform_client/js_client.dart';
7+
if (dart.library.js_interop) 'platform_client/js_client.dart';
88
import 'utils.dart';
99

1010
/// Http requests methods supported by the HTTP client.

packages/common/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies:
1313
http_parser: ^4.0.0
1414
uuid: ">= 3.0.7 <5.0.0"
1515
crypto: ^3.0.3
16+
web: ^1.1.1
1617

1718
dev_dependencies:
1819
test: ^1.24.3

packages/common_client/lib/src/config/defaults/default_config.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'stub_config.dart'
22
if (dart.library.io) 'io_config.dart'
3-
if (dart.library.html) 'js_config.dart';
3+
if (dart.library.js_interop) 'js_config.dart';
44

55
/// Configuration common to web and mobile is contained in this file.
66
///

packages/event_source_client/lib/launchdarkly_event_source_client.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'src/http_consts.dart';
77
import 'src/message_event.dart';
88
import 'src/sse_client_stub.dart'
99
if (dart.library.io) 'src/sse_client_http.dart'
10-
if (dart.library.html) 'src/sse_client_html.dart';
10+
if (dart.library.js_interop) 'src/sse_client_html.dart';
1111

1212
export 'src/message_event.dart' show MessageEvent;
1313

packages/event_source_client/lib/src/sse_client_html.dart

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import 'dart:async';
2-
import 'dart:html' as html;
2+
import 'dart:js_interop';
3+
import 'package:web/web.dart' as web;
34
import 'dart:math' as math;
45

56
import '../launchdarkly_event_source_client.dart';
67

78
import 'backoff.dart';
89
import 'message_event.dart' as ld_message_event;
910

10-
/// An [SSEClient] that uses the [html.EventSource] available on most browsers for web platform support.
11+
/// An [SSEClient] that uses the [web.EventSource] available on most browsers for web platform support.
1112
class HtmlSseClient implements SSEClient {
1213
/// The underlying eventsource
13-
html.EventSource? _eventSource;
14+
web.EventSource? _eventSource;
1415

1516
/// This controller is for the events going to the subscribers of this client.
1617
late final StreamController<ld_message_event.MessageEvent>
@@ -53,26 +54,26 @@ class HtmlSseClient implements SSEClient {
5354
}
5455

5556
void _setupConnection() {
56-
_eventSource = html.EventSource(_uri.toString());
57+
_eventSource = web.EventSource(_uri.toString());
5758

5859
for (var eventType in _eventTypes) {
59-
_eventSource?.addEventListener(eventType, _handleMessageEvent);
60+
_eventSource?.addEventListener(eventType, _handleMessageEvent.toJS);
6061
}
61-
_eventSource?.addEventListener('error', _handleError);
62+
_eventSource?.addEventListener('error', _handleError.toJS);
6263
}
6364

64-
void _handleError(html.Event event) {
65+
void _handleError(web.Event event) {
6566
// The browser event source errors are reasonably opaque, if we could
6667
// determine the type of condition, then this is where we would
6768
// determine if this was a temporary or permanent failure.
6869
restart();
6970
}
7071

71-
void _handleMessageEvent(html.Event event) {
72+
void _handleMessageEvent(web.Event event) {
7273
_activeSince = DateTime.now().millisecondsSinceEpoch;
73-
final messageEvent = event as html.MessageEvent;
74+
final messageEvent = event as web.MessageEvent;
7475
final ldMessageEvent = ld_message_event.MessageEvent(
75-
messageEvent.type, messageEvent.data, messageEvent.lastEventId);
76+
messageEvent.type, (messageEvent.data as JSString).toDart, messageEvent.lastEventId);
7677
_messageEventsController.sink.add(ldMessageEvent);
7778
}
7879

packages/flutter_client_sdk/example/.metadata

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,20 @@
44
# This file should be version controlled and should not be manually edited.
55

66
version:
7-
revision: "0f7f08d5354856ea41930f2c178a96ca97518d5a"
8-
channel: "master"
7+
revision: "ea121f8859e4b13e47a8f845e4586164519588bc"
8+
channel: "stable"
99

1010
project_type: app
1111

1212
# Tracks metadata for the flutter migrate command
1313
migration:
1414
platforms:
1515
- platform: root
16-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
17-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
18-
- platform: android
19-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
20-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
21-
- platform: ios
22-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
23-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
24-
- platform: linux
25-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
26-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
27-
- platform: macos
28-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
29-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
16+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
17+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
3018
- platform: web
31-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
32-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
33-
- platform: windows
34-
create_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
35-
base_revision: 0f7f08d5354856ea41930f2c178a96ca97518d5a
19+
create_revision: ea121f8859e4b13e47a8f845e4586164519588bc
20+
base_revision: ea121f8859e4b13e47a8f845e4586164519588bc
3621

3722
# User provided section
3823

packages/flutter_client_sdk/example/web/index.html

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<meta name="description" content="A new Flutter project.">
2222

2323
<!-- iOS meta tags & icons -->
24-
<meta name="apple-mobile-web-app-capable" content="yes">
24+
<meta name="mobile-web-app-capable" content="yes">
2525
<meta name="apple-mobile-web-app-status-bar-style" content="black">
2626
<meta name="apple-mobile-web-app-title" content="example">
2727
<link rel="apple-touch-icon" href="icons/Icon-192.png">
@@ -31,29 +31,8 @@
3131

3232
<title>example</title>
3333
<link rel="manifest" href="manifest.json">
34-
35-
<script>
36-
// The value below is injected by flutter build, do not touch.
37-
const serviceWorkerVersion = null;
38-
</script>
39-
<!-- This script adds the flutter initialization JS code -->
40-
<script src="flutter.js" defer></script>
4134
</head>
4235
<body>
43-
<script>
44-
window.addEventListener('load', function(ev) {
45-
// Download main.dart.js
46-
_flutter.loader.loadEntrypoint({
47-
serviceWorker: {
48-
serviceWorkerVersion: serviceWorkerVersion,
49-
},
50-
onEntrypointLoaded: function(engineInitializer) {
51-
engineInitializer.initializeEngine().then(function(appRunner) {
52-
appRunner.runApp();
53-
});
54-
}
55-
});
56-
});
57-
</script>
36+
<script src="flutter_bootstrap.js" async></script>
5837
</body>
5938
</html>

packages/flutter_client_sdk/lib/src/config/defaults/flutter_default_config.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'stub_config.dart'
22
if (dart.library.io) 'io_config.dart'
3-
if (dart.library.html) 'js_config.dart';
3+
if (dart.library.js_interop) 'js_config.dart';
44

55
/// Configuration common to web and mobile is contained in this file.
66
///

0 commit comments

Comments
 (0)