From 149e1d390366e1b9d9e5a04ba977d7272635a459 Mon Sep 17 00:00:00 2001 From: Peixin Li Date: Tue, 3 Jan 2023 18:40:31 -0800 Subject: [PATCH 1/5] Renames generated to js_interop --- packages/google_sign_in/google_sign_in_web/CHANGELOG.md | 4 ++++ .../example/integration_test/gapi_utils_test.dart | 2 +- .../google_sign_in_web/lib/google_sign_in_web.dart | 2 +- .../lib/src/{generated => js_interop}/gapi.dart | 0 .../lib/src/{generated => js_interop}/gapiauth2.dart | 0 .../google_sign_in/google_sign_in_web/lib/src/load_gapi.dart | 2 +- packages/google_sign_in/google_sign_in_web/lib/src/utils.dart | 2 +- packages/google_sign_in/google_sign_in_web/pubspec.yaml | 2 +- 8 files changed, 9 insertions(+), 5 deletions(-) rename packages/google_sign_in/google_sign_in_web/lib/src/{generated => js_interop}/gapi.dart (100%) rename packages/google_sign_in/google_sign_in_web/lib/src/{generated => js_interop}/gapiauth2.dart (100%) diff --git a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md index 2816e7284b30..f2e64ea4ad27 100644 --- a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md @@ -3,6 +3,10 @@ * Updates code for `no_leading_underscores_for_local_identifiers` lint. * Updates minimum Flutter version to 2.10. +## 0.10.2+1 + +* Renames generated folder to js_interop. + ## 0.10.2 * Migrates to new platform-interface `initWithParams` method. diff --git a/packages/google_sign_in/google_sign_in_web/example/integration_test/gapi_utils_test.dart b/packages/google_sign_in/google_sign_in_web/example/integration_test/gapi_utils_test.dart index b341d1d6b96d..b9daac44dba8 100644 --- a/packages/google_sign_in/google_sign_in_web/example/integration_test/gapi_utils_test.dart +++ b/packages/google_sign_in/google_sign_in_web/example/integration_test/gapi_utils_test.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. import 'package:flutter_test/flutter_test.dart'; -import 'package:google_sign_in_web/src/generated/gapiauth2.dart' as gapi; +import 'package:google_sign_in_web/src/js_interop/gapiauth2.dart' as gapi; import 'package:google_sign_in_web/src/utils.dart'; import 'package:integration_test/integration_test.dart'; diff --git a/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart b/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart index c305cae2a33d..5d75c0da0c4f 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/google_sign_in_web.dart @@ -11,7 +11,7 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart'; import 'package:google_sign_in_platform_interface/google_sign_in_platform_interface.dart'; import 'package:js/js.dart'; -import 'src/generated/gapiauth2.dart' as auth2; +import 'src/js_interop/gapiauth2.dart' as auth2; import 'src/load_gapi.dart' as gapi; import 'src/utils.dart' show gapiUserToPluginUserData; diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/generated/gapi.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart similarity index 100% rename from packages/google_sign_in/google_sign_in_web/lib/src/generated/gapi.dart rename to packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/generated/gapiauth2.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart similarity index 100% rename from packages/google_sign_in/google_sign_in_web/lib/src/generated/gapiauth2.dart rename to packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/load_gapi.dart b/packages/google_sign_in/google_sign_in_web/lib/src/load_gapi.dart index f60d6cd57e56..57b91838b8f1 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/load_gapi.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/load_gapi.dart @@ -10,7 +10,7 @@ import 'dart:async'; import 'package:flutter/foundation.dart' show visibleForTesting; import 'package:js/js.dart'; -import 'generated/gapi.dart' as gapi; +import 'js_interop/gapi.dart' as gapi; import 'utils.dart' show injectJSLibraries; @JS() diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/utils.dart b/packages/google_sign_in/google_sign_in_web/lib/src/utils.dart index 72424d8ea15b..45acb1ffd7ed 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/utils.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/utils.dart @@ -7,7 +7,7 @@ import 'dart:html' as html; import 'package:google_sign_in_platform_interface/google_sign_in_platform_interface.dart'; -import 'generated/gapiauth2.dart' as auth2; +import 'js_interop/gapiauth2.dart' as auth2; /// Injects a list of JS [libraries] as `script` tags into a [target] [html.HtmlElement]. /// diff --git a/packages/google_sign_in/google_sign_in_web/pubspec.yaml b/packages/google_sign_in/google_sign_in_web/pubspec.yaml index 42413e091e6e..55bf760bcbf2 100644 --- a/packages/google_sign_in/google_sign_in_web/pubspec.yaml +++ b/packages/google_sign_in/google_sign_in_web/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Google Sign-In, a secure authentication system for signing in with a Google account on Android, iOS and Web. repository: https://github.com/flutter/plugins/tree/main/packages/google_sign_in/google_sign_in_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22 -version: 0.10.2 +version: 0.10.2+1 environment: sdk: ">=2.12.0 <3.0.0" From 22417b7f971cc86c26efaa0356b490b62381cf1d Mon Sep 17 00:00:00 2001 From: Peixin Li Date: Wed, 4 Jan 2023 15:50:37 -0800 Subject: [PATCH 2/5] Fix analyze errors --- .../lib/src/js_interop/gapi.dart | 14 +-- .../lib/src/js_interop/gapiauth2.dart | 107 ++++++++---------- 2 files changed, 57 insertions(+), 64 deletions(-) diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart index a6d5b9d8dbbb..ac3ba7b5906b 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart @@ -10,7 +10,7 @@ // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/gapi -// ignore_for_file: public_member_api_docs, unused_element, sort_constructors_first, prefer_generic_function_type_aliases +// ignore_for_file: public_member_api_docs, @JS() library gapi; @@ -18,7 +18,7 @@ library gapi; import 'package:js/js.dart'; // Module gapi -typedef void LoadCallback( +typedef LoadCallback = void Function( [dynamic args1, dynamic args2, dynamic args3, @@ -28,6 +28,11 @@ typedef void LoadCallback( @anonymous @JS() abstract class LoadConfig { + external factory LoadConfig( + {LoadCallback callback, + Function? onerror, + num? timeout, + Function? ontimeout}); external LoadCallback get callback; external set callback(LoadCallback v); external Function? get onerror; @@ -36,11 +41,6 @@ abstract class LoadConfig { external set timeout(num? v); external Function? get ontimeout; external set ontimeout(Function? v); - external factory LoadConfig( - {LoadCallback callback, - Function? onerror, - num? timeout, - Function? ontimeout}); } /*type CallbackOrConfig = LoadConfig | LoadCallback;*/ diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart index f474e0d00f69..d0d1ad52ccda 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart @@ -12,7 +12,9 @@ // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/gapi.auth2 -// ignore_for_file: public_member_api_docs, unused_element, non_constant_identifier_names, sort_constructors_first, always_specify_types, strict_raw_type +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, +// * non_constant_identifier_names required to be able to use the same parameter +// names as the underlying library. @JS() library gapiauth2; @@ -122,6 +124,15 @@ abstract class CurrentUser { @anonymous @JS() abstract class SigninOptions { + external factory SigninOptions( + {String app_package_name, + bool fetch_basic_profile, + String prompt, + String scope, + String /*'popup'|'redirect'*/ ux_mode, + String redirect_uri, + String login_hint}); + /// The package name of the Android app to install over the air. /// See Android app installs from your web site: /// https://developers.google.com/identity/sign-in/web/android-app-installs @@ -162,15 +173,6 @@ abstract class SigninOptions { // https://developers.google.com/identity/protocols/OpenIDConnect?hl=en#authenticationuriparameters external String? get login_hint; external set login_hint(String? v); - - external factory SigninOptions( - {String app_package_name, - bool fetch_basic_profile, - String prompt, - String scope, - String /*'popup'|'redirect'*/ ux_mode, - String redirect_uri, - String login_hint}); } /// Definitions by: John @@ -179,16 +181,16 @@ abstract class SigninOptions { @anonymous @JS() abstract class OfflineAccessOptions { + external factory OfflineAccessOptions( + {String scope, + String /*'select_account'|'consent'*/ prompt, + String app_package_name}); external String? get scope; external set scope(String? v); external String? /*'select_account'|'consent'*/ get prompt; external set prompt(String? /*'select_account'|'consent'*/ v); external String? get app_package_name; external set app_package_name(String? v); - external factory OfflineAccessOptions( - {String scope, - String /*'select_account'|'consent'*/ prompt, - String app_package_name}); } /// Interface that represents the different configuration parameters for the gapi.auth2.init method. @@ -196,6 +198,18 @@ abstract class OfflineAccessOptions { @anonymous @JS() abstract class ClientConfig { + external factory ClientConfig({ + String client_id, + String cookie_policy, + String scope, + bool fetch_basic_profile, + String? hosted_domain, + String openid_realm, + String /*'popup'|'redirect'*/ ux_mode, + String redirect_uri, + String plugin_name, + }); + /// The app's client ID, found and created in the Google Developers Console. external String? get client_id; external set client_id(String? v); @@ -238,18 +252,6 @@ abstract class ClientConfig { /// See: https://github.com/flutter/flutter/issues/88084 external String? get plugin_name; external set plugin_name(String? v); - - external factory ClientConfig({ - String client_id, - String cookie_policy, - String scope, - bool fetch_basic_profile, - String? hosted_domain, - String openid_realm, - String /*'popup'|'redirect'*/ ux_mode, - String redirect_uri, - String plugin_name, - }); } @JS('gapi.auth2.SigninOptionsBuilder') @@ -276,6 +278,7 @@ abstract class BasicProfile { @anonymous @JS() abstract class AuthResponse { + external String? get access_token; external set access_token(String? v); external String? get id_token; @@ -290,20 +293,23 @@ abstract class AuthResponse { external set first_issued_at(num? v); external num? get expires_at; external set expires_at(num? v); - external factory AuthResponse( - {String? access_token, - String? id_token, - String? login_hint, - String? scope, - num? expires_in, - num? first_issued_at, - num? expires_at}); } /// Reference: https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiauth2authorizeconfig @anonymous @JS() abstract class AuthorizeConfig { + external factory AuthorizeConfig( + {String client_id, + String scope, + String response_type, + String prompt, + String cookie_policy, + String hosted_domain, + String login_hint, + String app_package_name, + String openid_realm, + bool include_granted_scopes}); external String get client_id; external set client_id(String v); external String get scope; @@ -324,23 +330,22 @@ abstract class AuthorizeConfig { external set openid_realm(String? v); external bool? get include_granted_scopes; external set include_granted_scopes(bool? v); - external factory AuthorizeConfig( - {String client_id, - String scope, - String response_type, - String prompt, - String cookie_policy, - String hosted_domain, - String login_hint, - String app_package_name, - String openid_realm, - bool include_granted_scopes}); } /// Reference: https://developers.google.com/api-client-library/javascript/reference/referencedocs#gapiauth2authorizeresponse @anonymous @JS() abstract class AuthorizeResponse { + external factory AuthorizeResponse( + {String access_token, + String id_token, + String code, + String scope, + num expires_in, + num first_issued_at, + num expires_at, + String error, + String error_subtype}); external String get access_token; external set access_token(String v); external String get id_token; @@ -359,16 +364,6 @@ abstract class AuthorizeResponse { external set error(String v); external String get error_subtype; external set error_subtype(String v); - external factory AuthorizeResponse( - {String access_token, - String id_token, - String code, - String scope, - num expires_in, - num first_issued_at, - num expires_at, - String error, - String error_subtype}); } /// A GoogleUser object represents one user account. @@ -498,6 +493,4 @@ external void render( abstract class Promise { external factory Promise( void Function(void Function(T result) resolve, Function reject) executor); - external Promise then(void Function(T result) onFulfilled, - [Function onRejected]); } From 05a34ba90ee1f7137c772d687b52b7e1640c79a7 Mon Sep 17 00:00:00 2001 From: Peixin Li Date: Wed, 4 Jan 2023 16:52:13 -0800 Subject: [PATCH 3/5] Fix format --- .../lib/src/js_interop/gapi.dart | 6 +-- .../lib/src/js_interop/gapiauth2.dart | 51 +++++++++---------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart index ac3ba7b5906b..29487cf3d3cb 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart @@ -30,9 +30,9 @@ typedef LoadCallback = void Function( abstract class LoadConfig { external factory LoadConfig( {LoadCallback callback, - Function? onerror, - num? timeout, - Function? ontimeout}); + Function? onerror, + num? timeout, + Function? ontimeout}); external LoadCallback get callback; external set callback(LoadCallback v); external Function? get onerror; diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart index d0d1ad52ccda..42fce1d7b453 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart @@ -126,12 +126,12 @@ abstract class CurrentUser { abstract class SigninOptions { external factory SigninOptions( {String app_package_name, - bool fetch_basic_profile, - String prompt, - String scope, - String /*'popup'|'redirect'*/ ux_mode, - String redirect_uri, - String login_hint}); + bool fetch_basic_profile, + String prompt, + String scope, + String /*'popup'|'redirect'*/ ux_mode, + String redirect_uri, + String login_hint}); /// The package name of the Android app to install over the air. /// See Android app installs from your web site: @@ -183,8 +183,8 @@ abstract class SigninOptions { abstract class OfflineAccessOptions { external factory OfflineAccessOptions( {String scope, - String /*'select_account'|'consent'*/ prompt, - String app_package_name}); + String /*'select_account'|'consent'*/ prompt, + String app_package_name}); external String? get scope; external set scope(String? v); external String? /*'select_account'|'consent'*/ get prompt; @@ -278,7 +278,6 @@ abstract class BasicProfile { @anonymous @JS() abstract class AuthResponse { - external String? get access_token; external set access_token(String? v); external String? get id_token; @@ -301,15 +300,15 @@ abstract class AuthResponse { abstract class AuthorizeConfig { external factory AuthorizeConfig( {String client_id, - String scope, - String response_type, - String prompt, - String cookie_policy, - String hosted_domain, - String login_hint, - String app_package_name, - String openid_realm, - bool include_granted_scopes}); + String scope, + String response_type, + String prompt, + String cookie_policy, + String hosted_domain, + String login_hint, + String app_package_name, + String openid_realm, + bool include_granted_scopes}); external String get client_id; external set client_id(String v); external String get scope; @@ -338,14 +337,14 @@ abstract class AuthorizeConfig { abstract class AuthorizeResponse { external factory AuthorizeResponse( {String access_token, - String id_token, - String code, - String scope, - num expires_in, - num first_issued_at, - num expires_at, - String error, - String error_subtype}); + String id_token, + String code, + String scope, + num expires_in, + num first_issued_at, + num expires_at, + String error, + String error_subtype}); external String get access_token; external set access_token(String v); external String get id_token; From eb5fa4f190591ce8c107edc4ff44eab5a5dbb2ca Mon Sep 17 00:00:00 2001 From: Peixin Li Date: Wed, 4 Jan 2023 17:21:44 -0800 Subject: [PATCH 4/5] Fix version check --- packages/google_sign_in/google_sign_in_web/CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md index f2e64ea4ad27..c5c57992a997 100644 --- a/packages/google_sign_in/google_sign_in_web/CHANGELOG.md +++ b/packages/google_sign_in/google_sign_in_web/CHANGELOG.md @@ -1,10 +1,7 @@ -## NEXT +## 0.10.2+1 * Updates code for `no_leading_underscores_for_local_identifiers` lint. * Updates minimum Flutter version to 2.10. - -## 0.10.2+1 - * Renames generated folder to js_interop. ## 0.10.2 From 798806b534fa4cb323a98bcb8af86746e2063c3f Mon Sep 17 00:00:00 2001 From: Peixin Li Date: Thu, 5 Jan 2023 16:07:17 -0800 Subject: [PATCH 5/5] Add comment for public_member_api_docs --- .../google_sign_in_web/lib/src/js_interop/gapi.dart | 2 ++ .../google_sign_in_web/lib/src/js_interop/gapiauth2.dart | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart index 29487cf3d3cb..3be4b2d77b66 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapi.dart @@ -11,6 +11,8 @@ // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/gapi // ignore_for_file: public_member_api_docs, +// * public_member_api_docs originally undocumented because the file was +// autogenerated. @JS() library gapi; diff --git a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart index 42fce1d7b453..35a2d08e74b6 100644 --- a/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart +++ b/packages/google_sign_in/google_sign_in_web/lib/src/js_interop/gapiauth2.dart @@ -13,6 +13,8 @@ // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/gapi.auth2 // ignore_for_file: public_member_api_docs, non_constant_identifier_names, +// * public_member_api_docs originally undocumented because the file was +// autogenerated. // * non_constant_identifier_names required to be able to use the same parameter // names as the underlying library.