From 390f2d66ff21f2a95a6f15f987518261c0366f17 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 12:19:05 -0600 Subject: [PATCH 01/10] Turn on strong mode and lint rules --- analysis_options.yaml | 10 ++++++++++ tool/dev.dart | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..9cbc78e --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,10 @@ +analyzer: + strong-mode: true + +linter: + rules: + Error: Cancel instances of dart.async.StreamSubscription. + - cancel_subscriptions + + # Error: Close instances of dart.core.Sink. + - close_sinks \ No newline at end of file diff --git a/tool/dev.dart b/tool/dev.dart index 956bb65..0200307 100644 --- a/tool/dev.dart +++ b/tool/dev.dart @@ -1,15 +1,15 @@ library tool.dev; import 'dart:async'; -import 'dart:io'; - import 'package:dart_dev/dart_dev.dart' show dev, config; import 'package:dart_dev/util.dart' show TaskProcess, reporter; main(List args) async { // https://github.com/Workiva/dart_dev - config.analyze.entryPoints = ['example/', 'lib/', 'tool/']; + config.analyze + ..entryPoints = ['example/', 'lib/', 'tool/'] + ..strong = true; config.format.directories = ['example/', 'lib/', 'tool/']; config.coverage From e725fe79c6bec658275da7c1541ad1be2e28f430 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 14:52:03 -0600 Subject: [PATCH 02/10] fix 1 strong error. so many more --- analysis_options.yaml | 3 --- example/echo.dart | 2 +- lib/src/info.dart | 6 ++++-- lib/src/transport/sender.dart | 2 +- pubspec.yaml | 8 ++++---- smithy.yaml | 6 ++++-- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 9cbc78e..59964a7 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -3,8 +3,5 @@ analyzer: linter: rules: - Error: Cancel instances of dart.async.StreamSubscription. - cancel_subscriptions - - # Error: Close instances of dart.core.Sink. - close_sinks \ No newline at end of file diff --git a/example/echo.dart b/example/echo.dart index 2e1bc16..731c743 100644 --- a/example/echo.dart +++ b/example/echo.dart @@ -2,7 +2,7 @@ library echo; import "dart:html"; import 'package:logging/logging.dart'; -import "package:sockjs_client/sockjs.dart" as SockJS; +import "package:sockjs_client/sockjs_client.dart" as SockJS; DivElement div = querySelector('#first div'); InputElement inp = querySelector('#first input'); diff --git a/lib/src/info.dart b/lib/src/info.dart index 5c1db15..9c5d79a 100644 --- a/lib/src/info.dart +++ b/lib/src/info.dart @@ -133,9 +133,11 @@ class InfoReceiverFake extends InfoReceiver { class WInfoReceiverIframe { WInfoReceiverIframe(ri, _trans_url, baseUrl) { var ir = new AjaxInfoReceiver(baseUrl, XHRLocalObjectFactory); - ir.onFinish.listen( (evt) { + ir.onFinish.listen( (event.Event evt) { + if (evt is InfoReceiverEvent) { ri._didMessage('m${JSON.encode([evt.info, evt.rtt])}'); - ri._didClose(); + } + ri._didClose(); }); } doCleanup() {} diff --git a/lib/src/transport/sender.dart b/lib/src/transport/sender.dart index e44a27a..412ec7a 100644 --- a/lib/src/transport/sender.dart +++ b/lib/src/transport/sender.dart @@ -112,7 +112,7 @@ class JsonPGenericSender { } form.submit(); - var readyStateChangeHandler = (e) { + var readyStateChangeHandler = (html.Event e) { if (new JsObject.fromBrowserObject(iframe)["readyState"] == 'complete') completed(null); }; diff --git a/pubspec.yaml b/pubspec.yaml index 08d25cc..ac173f9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,9 +9,9 @@ dependencies: browser: '>=0.9.0 <1.0.0' logging: '>=0.9.0 <1.0.0' dev_dependencies: - coverage: '^0.7.3' + coverage: '>=0.7.3 < 1.0.0' dart_dev: '^1.0.0' - dart_style: '^0.2.0' - test: '>=0.12.5' + dart_style: '>=0.2.0 < 1.0.0' + test: '>=0.12.5 < 1.0.0' environment: - sdk: '>=1.0.0 <2.0.0' + sdk: '>=1.0.0 <2.0.0' \ No newline at end of file diff --git a/smithy.yaml b/smithy.yaml index 43a9ac0..9c6d4f7 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -1,11 +1,13 @@ project: dart language: dart -# dart 1.19.1 -runner_image: drydock-prod.workiva.org/workiva/smithy-runner-generator:92530 +# dart 1.24.0 +drydock-prod.workiva.net/workiva/smithy-runner-generator:174309 script: - pub get + - pub run dart_dev analyze + - pub run dart_dev test artifacts: build: From 6bd900135d82fa3bafe0d23cfef6ddda7f7f7bdf Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 14:56:50 -0600 Subject: [PATCH 03/10] update smithy, gitignore, and package lock --- .gitignore | 2 +- package-lock.json | 43 +++++++++++++++++++++++++++++++++++++++++++ smithy.yaml | 4 +++- 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index e7602b7..5d754ad 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,5 @@ /.pub packages /pubspec.lock - +node_modules /coverage \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5493778 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,43 @@ +{ + "name": "sockjs-dart-client", + "version": "0.3.1", + "lockfileVersion": 1, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true + }, + "http": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/http/-/http-0.0.0.tgz", + "integrity": "sha1-huYybSnF0Dnen6xYSkVon5KfT3I=", + "dev": true + }, + "sockjs": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", + "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true + }, + "websocket-extensions": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", + "dev": true + } + } +} diff --git a/smithy.yaml b/smithy.yaml index 9c6d4f7..a2bdf54 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -5,9 +5,11 @@ language: dart drydock-prod.workiva.net/workiva/smithy-runner-generator:174309 script: + - npm install - pub get - pub run dart_dev analyze - - pub run dart_dev test + - pub run dart_dev test --unit + - pub run dart_dev test --integration artifacts: build: From bdcabdb63229f34719450d46984c2e84bf26077d Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 15:22:10 -0600 Subject: [PATCH 04/10] fix smithy yaml --- smithy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smithy.yaml b/smithy.yaml index a2bdf54..aa35bec 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -2,7 +2,7 @@ project: dart language: dart # dart 1.24.0 -drydock-prod.workiva.net/workiva/smithy-runner-generator:174309 +runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:174309 script: - npm install From 425216d82511f84267632c78bd8174457c1f100f Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 16:36:48 -0600 Subject: [PATCH 05/10] go back to dart 1.23 --- smithy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smithy.yaml b/smithy.yaml index aa35bec..37df7b8 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -1,8 +1,8 @@ project: dart language: dart -# dart 1.24.0 -runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:174309 +# dart 1.23.0 +drydock-prod.workiva.net/workiva/smithy-runner-generator:153818 script: - npm install From e1a509f33d660f03f1c3fdf4ce444c544a2c2553 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 17:36:00 -0600 Subject: [PATCH 06/10] strong mode fixes --- lib/src/ajax.dart | 8 ++++++-- lib/src/transport/receiver-xhr.dart | 4 +++- test/xhr_streaming_test.dart | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/src/ajax.dart b/lib/src/ajax.dart index 5917091..999484c 100644 --- a/lib/src/ajax.dart +++ b/lib/src/ajax.dart @@ -119,9 +119,13 @@ class XHRLocalObject extends AbstractXHRObject { } } -XHRLocalObjectFactory(method, baseUrl, {bool noCredentials, payload}) => new XHRLocalObject(method, baseUrl, noCredentials: noCredentials, payload: payload); +AbstractXHRObject XHRLocalObjectFactory(String method, String baseUrl, {bool noCredentials, payload}) { + return new XHRLocalObject(method, baseUrl, noCredentials: noCredentials, payload: payload); +} -XHRCorsObjectFactory(method, baseUrl, {bool noCredentials, payload}) => new XHRCorsObject(method, baseUrl, noCredentials: noCredentials, payload: payload); +AbstractXHRObject XHRCorsObjectFactory(String method, String baseUrl, {bool noCredentials, payload}) { + return new XHRCorsObject(method, baseUrl, noCredentials: noCredentials, payload: payload); +} // 1. Is natively via XHR // 2. Is natively via XDR diff --git a/lib/src/transport/receiver-xhr.dart b/lib/src/transport/receiver-xhr.dart index 2ccd61a..b4c4535 100644 --- a/lib/src/transport/receiver-xhr.dart +++ b/lib/src/transport/receiver-xhr.dart @@ -39,4 +39,6 @@ part of sockjs_client; } } -XhrReceiverFactory(String recvUrl, AjaxObjectFactory xhrFactory, {bool noCredentials}) => new XhrReceiver(recvUrl, xhrFactory, noCredentials: noCredentials); +Receiver XhrReceiverFactory(String recvUrl, AjaxObjectFactory xhrFactory, {bool noCredentials}) { + return new XhrReceiver(recvUrl, xhrFactory, noCredentials: noCredentials); +} diff --git a/test/xhr_streaming_test.dart b/test/xhr_streaming_test.dart index ef64a24..5e3a01d 100644 --- a/test/xhr_streaming_test.dart +++ b/test/xhr_streaming_test.dart @@ -46,7 +46,10 @@ void main() { } -MockXHRCorsObjectFactory(String method, String baseUrl, {bool noCredentials, payload}) => new MockXHRCorsObject(); +AbstractXHRObject MockXHRCorsObjectFactory(String method, String baseUrl, {bool noCredentials, payload}) { + return new MockXHRCorsObject(); +} + class MockXHRCorsObject extends AbstractXHRObject { MockXHRCorsObject(); } From c7580b8e2bf58f5a2a62b5020bf693a7726d69b8 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 17:37:31 -0600 Subject: [PATCH 07/10] fix smithy runner-image again --- smithy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smithy.yaml b/smithy.yaml index 37df7b8..c56eb5d 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -2,7 +2,7 @@ project: dart language: dart # dart 1.23.0 -drydock-prod.workiva.net/workiva/smithy-runner-generator:153818 +runner-image: drydock-prod.workiva.net/workiva/smithy-runner-generator:153818 script: - npm install From 294555323fb051ce43358f431d0662dc31795534 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 17:40:13 -0600 Subject: [PATCH 08/10] fix smithy runner-image again again --- smithy.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/smithy.yaml b/smithy.yaml index c56eb5d..e65fadc 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -1,8 +1,7 @@ project: dart language: dart -# dart 1.23.0 -runner-image: drydock-prod.workiva.net/workiva/smithy-runner-generator:153818 +runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:157255 # 58.0.0 script: - npm install From 4ac3a21f848fef97c4bf5fe283fc9e1b39a14f64 Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 17:43:25 -0600 Subject: [PATCH 09/10] try a different image --- smithy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smithy.yaml b/smithy.yaml index e65fadc..3b2935a 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -1,7 +1,7 @@ project: dart language: dart -runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:157255 # 58.0.0 +runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:165358 # 62.0.0 script: - npm install From c64625be8679e083634a609eaf6d0c3444d7155f Mon Sep 17 00:00:00 2001 From: Rob Becker Date: Wed, 14 Jun 2017 17:46:33 -0600 Subject: [PATCH 10/10] fine. let travis run tests --- smithy.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/smithy.yaml b/smithy.yaml index 3b2935a..6cae857 100644 --- a/smithy.yaml +++ b/smithy.yaml @@ -4,11 +4,8 @@ language: dart runner_image: drydock-prod.workiva.net/workiva/smithy-runner-generator:165358 # 62.0.0 script: - - npm install - pub get - pub run dart_dev analyze - - pub run dart_dev test --unit - - pub run dart_dev test --integration artifacts: build: