capacitor3-kakao-login 0.6.3 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Capacitor3KakaoLogin.podspec +6 -6
- package/Package.swift +32 -0
- package/README.md +31 -0
- package/android/build.gradle +3 -3
- package/android/src/main/java/com/fumi/capacitor3_kakao_login/Capacitor3KakaoLogin.java +4 -4
- package/dist/esm/web.js +4 -1
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +4 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +4 -1
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/Capacitor3KakaoLogin.swift +4 -7
- package/ios/Plugin/Capacitor3KakaoLoginPlugin.swift +10 -1
- package/package.json +9 -9
- package/dist/kakao.js +0 -7382
|
@@ -13,12 +13,12 @@ Pod::Spec.new do |s|
|
|
|
13
13
|
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
|
|
14
14
|
s.ios.deployment_target = '13.0'
|
|
15
15
|
s.dependency 'Capacitor'
|
|
16
|
-
s.dependency 'KakaoSDKCommon'
|
|
17
|
-
s.dependency 'KakaoSDKAuth'
|
|
18
|
-
s.dependency 'KakaoSDKUser'
|
|
19
|
-
s.dependency 'KakaoSDKTalk'
|
|
20
|
-
s.dependency 'KakaoSDKShare'
|
|
21
|
-
s.dependency 'KakaoSDKTemplate'
|
|
16
|
+
s.dependency 'KakaoSDKCommon', '2.22.0'
|
|
17
|
+
s.dependency 'KakaoSDKAuth', '2.22.0'
|
|
18
|
+
s.dependency 'KakaoSDKUser', '2.22.0'
|
|
19
|
+
s.dependency 'KakaoSDKTalk', '2.22.0'
|
|
20
|
+
s.dependency 'KakaoSDKShare', '2.22.0'
|
|
21
|
+
s.dependency 'KakaoSDKTemplate', '2.22.0'
|
|
22
22
|
|
|
23
23
|
s.swift_version = '5.1'
|
|
24
24
|
end
|
package/Package.swift
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// swift-tools-version: 5.9
|
|
2
|
+
import PackageDescription
|
|
3
|
+
|
|
4
|
+
let package = Package(
|
|
5
|
+
name: "Capacitor3KakaoLogin",
|
|
6
|
+
platforms: [.iOS(.v13)],
|
|
7
|
+
products: [
|
|
8
|
+
.library(
|
|
9
|
+
name: "Capacitor3KakaoLogin",
|
|
10
|
+
targets: ["Capacitor3KakaoLoginPlugin"])
|
|
11
|
+
],
|
|
12
|
+
dependencies: [
|
|
13
|
+
.package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", from: "6.0.0"),
|
|
14
|
+
.package(url: "https://github.com/kakao/kakao-ios-sdk", from: "2.23.0")
|
|
15
|
+
],
|
|
16
|
+
targets: [
|
|
17
|
+
.target(
|
|
18
|
+
name: "Capacitor3KakaoLoginPlugin",
|
|
19
|
+
dependencies: [
|
|
20
|
+
.product(name: "Capacitor", package: "capacitor-swift-pm"),
|
|
21
|
+
.product(name: "Cordova", package: "capacitor-swift-pm"),
|
|
22
|
+
.product(name: "KakaoSDKCommon", package: "kakao-ios-sdk"),
|
|
23
|
+
.product(name: "KakaoSDKAuth", package: "kakao-ios-sdk"),
|
|
24
|
+
.product(name: "KakaoSDKUser", package: "kakao-ios-sdk"),
|
|
25
|
+
.product(name: "KakaoSDKTalk", package: "kakao-ios-sdk"),
|
|
26
|
+
.product(name: "KakaoSDKShare", package: "kakao-ios-sdk"),
|
|
27
|
+
.product(name: "KakaoSDKTemplate", package: "kakao-ios-sdk")
|
|
28
|
+
],
|
|
29
|
+
path: "ios/Plugin",
|
|
30
|
+
exclude: ["Capacitor3KakaoLoginPlugin.m", "Capacitor3KakaoLoginPlugin.h"])
|
|
31
|
+
]
|
|
32
|
+
)
|
package/README.md
CHANGED
|
@@ -73,6 +73,37 @@ add kakao app_key and kakao_schema in res/string.xml
|
|
|
73
73
|
<string name="kakaolink_host">kakaolink</string>
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
## SDK Version
|
|
77
|
+
|
|
78
|
+
- Android : 2.23.0
|
|
79
|
+
- iOS : 2.23.0+ (Supported via SPM only), 2.22.0 (CocoaPods)
|
|
80
|
+
|
|
81
|
+
## Install
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm install capacitor3-kakao-login
|
|
85
|
+
npx cap sync
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### iOS (Swift Package Manager)
|
|
89
|
+
|
|
90
|
+
**Prerequisites**: Capacitor 6+
|
|
91
|
+
|
|
92
|
+
If you are using Capacitor 6+, you can use Swift Package Manager to install this plugin.
|
|
93
|
+
When you run `npx cap sync`, Capacitor should automatically detect `Package.swift` and configure the project to use SPM if your project is set up for it.
|
|
94
|
+
|
|
95
|
+
If you are migrating from CocoaPods, please refer to the [Capacitor SPM Migration Guide](https://capacitorjs.com/docs/ios/spm).
|
|
96
|
+
|
|
97
|
+
### iOS (CocoaPods)
|
|
98
|
+
|
|
99
|
+
> [!WARNING]
|
|
100
|
+
> Kakao SDK 2.23.0+ dropped support for CocoaPods. If you must use CocoaPods, you will be limited to Kakao SDK 2.22.0.
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Podfile
|
|
104
|
+
pod 'Capacitor3KakaoLogin', :path => '../node_modules/capacitor3-kakao-login'
|
|
105
|
+
```
|
|
106
|
+
|
|
76
107
|
add kakao data inside application in AndroidManifest.xml
|
|
77
108
|
|
|
78
109
|
```xml
|
package/android/build.gradle
CHANGED
|
@@ -57,9 +57,9 @@ dependencies {
|
|
|
57
57
|
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
|
|
58
58
|
testImplementation "junit:junit:$junitVersion"
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
implementation "com.kakao.sdk:v2-user:2.
|
|
62
|
-
implementation "com.kakao.sdk:v2-
|
|
60
|
+
// 카카오 sdk
|
|
61
|
+
implementation "com.kakao.sdk:v2-user:2.23.0"
|
|
62
|
+
implementation "com.kakao.sdk:v2-share:2.23.0"
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
|
|
@@ -7,7 +7,7 @@ import com.getcapacitor.JSObject;
|
|
|
7
7
|
import com.getcapacitor.PluginCall;
|
|
8
8
|
import com.getcapacitor.PluginMethod;
|
|
9
9
|
import com.kakao.sdk.common.KakaoSdk;
|
|
10
|
-
import com.kakao.sdk.
|
|
10
|
+
import com.kakao.sdk.share.ShareClient;
|
|
11
11
|
import com.kakao.sdk.template.model.Button;
|
|
12
12
|
import com.kakao.sdk.template.model.Content;
|
|
13
13
|
import com.kakao.sdk.template.model.FeedTemplate;
|
|
@@ -99,10 +99,10 @@ public class Capacitor3KakaoLogin {
|
|
|
99
99
|
Content content = new Content(call.getString("title"), call.getString("image_url"), link, call.getString("description"));
|
|
100
100
|
ArrayList<Button> buttons = new ArrayList<>();
|
|
101
101
|
buttons.add(new Button(call.getString("button_title"), link));
|
|
102
|
-
FeedTemplate feed = new FeedTemplate(content, null, buttons);
|
|
103
|
-
|
|
102
|
+
FeedTemplate feed = new FeedTemplate(content, null, null, buttons);
|
|
103
|
+
ShareClient
|
|
104
104
|
.getInstance()
|
|
105
|
-
.
|
|
105
|
+
.shareDefault(
|
|
106
106
|
this.activity,
|
|
107
107
|
feed,
|
|
108
108
|
(linkResult, error) -> {
|
package/dist/esm/web.js
CHANGED
|
@@ -132,7 +132,10 @@ export class Capacitor3KakaoLoginWeb extends WebPlugin {
|
|
|
132
132
|
}
|
|
133
133
|
const script = document.createElement('script');
|
|
134
134
|
script.id = this.kakaoScriptId; // Set an ID to reference this script
|
|
135
|
-
script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
135
|
+
// script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
136
|
+
script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';
|
|
137
|
+
script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';
|
|
138
|
+
script.crossOrigin = 'anonymous';
|
|
136
139
|
// script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';
|
|
137
140
|
// script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';
|
|
138
141
|
// script.crossOrigin = 'anonymous';
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,MAAM,OAAO,uBACX,SAAQ,SAAS;IADnB;;QAIU,kBAAa,GAAG,cAAc,CAAC,CAAC,qCAAqC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAS5C,MAAM,OAAO,uBACX,SAAQ,SAAS;IADnB;;QAIU,kBAAa,GAAG,cAAc,CAAC,CAAC,qCAAqC;IAkK/E,CAAC;IA/JC,eAAe,CAAC,OAA6C;QAC3D,OAAO,IAAI,OAAO,CAAoB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9D,IAAI;gBACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;iBAChC;gBACD,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;aAC5B;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACX,UAAU;QACR,OAAO,IAAI,OAAO,CAAoB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACpC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;gBAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,4CAA4C;aACjF;iBAAM;gBACL,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACtC;YAED,IAAI;gBACF,MAAM,CAAC,KAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACvB,WAAW,EAAE,IAAI;oBACjB,kBAAkB,EAAE,IAAI;oBACxB,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE;wBACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAEtB,OAAO,CAAC;4BACN,KAAK,EAAE,QAAQ,CAAC,YAAY;yBAC7B,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;wBACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;wBAC3C,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC1C,CAAC;iBACF,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,CAAC,CAAC,CAAC;aACX;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IACR,WAAW;QACT,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACpC;YAED,MAAM,QAAQ,GAAQ,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IACR,WAAW;QACT,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACpC;YAED,MAAM,QAAQ,GAAQ,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBACnB,GAAG,EAAE,iBAAiB;gBACtB,OAAO,EAAE,UAAU,QAAa;oBAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACtB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,EAAE,UAAU,KAAU;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;IACT,YAAY,CAAC,OAMZ;QACC,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACpC;YACD,MAAM,QAAQ,GAAQ,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBACxB,UAAU,EAAE,MAAM;gBAClB,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,QAAQ,EAAE,OAAO,CAAC,SAAS;oBAC3B,IAAI,EAAE;wBACJ,YAAY,EAAE,OAAO,CAAC,cAAc;qBACrC;iBACF;gBACD,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,OAAO,CAAC,YAAY;wBAC3B,IAAI,EAAE;4BACJ,YAAY,EAAE,OAAO,CAAC,cAAc;yBACrC;qBACF;iBACF;gBACD,QAAQ,EAAE;oBACR,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC7B,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,iCAAiC;YACpE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SAClC;IACH,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,wCAAwC;YACxC,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC/C,OAAO,EAAE,CAAC;gBACV,OAAO;aACR;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,qCAAqC;YACrE,6DAA6D;YAC7D,MAAM,CAAC,GAAG,GAAG,yDAAyD,CAAC;YACvE,MAAM,CAAC,SAAS,GAAG,yEAAyE,CAAC;YAC7F,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;YAEjC,0EAA0E;YAC1E,gGAAgG;YAChG,oCAAoC;YACpC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACnB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\n// declare var Kakao: any;\ndeclare global {\n interface Window {\n Kakao: any; // You can replace 'any' with a more specific type if available\n }\n}\n\nexport class Capacitor3KakaoLoginWeb\n extends WebPlugin\n implements Capacitor3KakaoLoginWeb\n{\n private kakaoScriptId = 'kakao-js-sdk'; // Unique ID for the Kakao SDK script\n web_key: any;\n\n initializeKakao(options: { app_key: string; web_key: string }) {\n return new Promise<{ value: string }>(async (resolve, reject) => {\n try {\n if (!this.web_key) {\n this.web_key = options.web_key;\n }\n resolve({ value: 'done' });\n } catch (error) {\n console.error(error);\n reject(error);\n }\n });\n }\n\n //웹 카카오 로그인\n kakaoLogin() {\n return new Promise<{ value: string }>(async (resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n\n this.removeKakaoSdk();\n await this.loadKakaoSdk();\n if (typeof window['Kakao'] !== 'undefined') {\n window['Kakao'].init(this.web_key); // Initialize Kakao with your JavaScript key\n } else {\n reject(new Error('Kakao undefined'));\n }\n\n try {\n window.Kakao!.Auth.login({\n throughTalk: true,\n persistAccessToken: true,\n success: (response: any) => {\n console.log(response);\n\n resolve({\n value: response.access_token,\n });\n },\n fail: (error: any) => {\n console.error('Kakao Login Failed', error);\n reject(new Error('Kakao Login Failed'));\n },\n });\n } catch (e) {\n console.error('Error during Kakao login', e);\n reject(e);\n }\n });\n }\n\n //웹 로그아웃\n kakaoLogout() {\n return new Promise<{ value: string }>((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n\n const KakaoSdk: any = window['Kakao'];\n KakaoSdk.Auth.logout();\n resolve({ value: 'done' });\n });\n }\n\n //unlink\n kakaoUnlink() {\n return new Promise<{ value: string }>((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n\n const KakaoSdk: any = window['Kakao'];\n KakaoSdk.API.request({\n url: '/v1/user/unlink',\n success: function (response: any) {\n console.log(response);\n resolve({ value: 'done' });\n },\n fail: function (error: any) {\n console.log(error);\n reject(error);\n },\n });\n });\n }\n\n //message\n sendLinkFeed(options: {\n title: string;\n description: string;\n image_url: string;\n image_link_url: string;\n button_title: string;\n }) {\n return new Promise<{ value: string }>((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk: any = window['Kakao'];\n KakaoSdk.Link.sendDefault({\n objectType: 'feed',\n content: {\n title: options.title,\n description: options.description,\n imageUrl: options.image_url,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n buttons: [\n {\n title: options.button_title,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n ],\n callback: function () {\n resolve({ value: 'done' });\n },\n });\n });\n }\n\n private removeKakaoSdk(): void {\n const script = document.getElementById(this.kakaoScriptId);\n if (script) {\n document.head.removeChild(script); // Remove the script from the DOM\n console.log('Kakao SDK removed');\n }\n }\n\n private loadKakaoSdk(): Promise<void> {\n return new Promise((resolve, reject) => {\n // Check if the script is already loaded\n if (document.getElementById(this.kakaoScriptId)) {\n resolve();\n return;\n }\n\n const script = document.createElement('script');\n script.id = this.kakaoScriptId; // Set an ID to reference this script\n // script.src = '//developers.kakao.com/sdk/js/kakao.min.js';\n script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';\n script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';\n script.crossOrigin = 'anonymous';\n\n // script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';\n // script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';\n // script.crossOrigin = 'anonymous';\n script.onload = () => {\n console.log('Kakao SDK loaded');\n resolve();\n };\n script.onerror = () => reject(new Error('Failed to load Kakao SDK'));\n document.head.appendChild(script);\n });\n }\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -141,7 +141,10 @@ class Capacitor3KakaoLoginWeb extends core.WebPlugin {
|
|
|
141
141
|
}
|
|
142
142
|
const script = document.createElement('script');
|
|
143
143
|
script.id = this.kakaoScriptId; // Set an ID to reference this script
|
|
144
|
-
script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
144
|
+
// script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
145
|
+
script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';
|
|
146
|
+
script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';
|
|
147
|
+
script.crossOrigin = 'anonymous';
|
|
145
148
|
// script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';
|
|
146
149
|
// script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';
|
|
147
150
|
// script.crossOrigin = 'anonymous';
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Capacitor3KakaoLogin = registerPlugin('Capacitor3KakaoLogin', {\n web: () => import('./web').then(m => new m.Capacitor3KakaoLoginWeb()),\n});\nexport * from './definitions';\nexport { Capacitor3KakaoLogin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class Capacitor3KakaoLoginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.kakaoScriptId = 'kakao-js-sdk'; // Unique ID for the Kakao SDK script\n }\n initializeKakao(options) {\n return new Promise(async (resolve, reject) => {\n try {\n if (!this.web_key) {\n this.web_key = options.web_key;\n }\n resolve({ value: 'done' });\n }\n catch (error) {\n console.error(error);\n reject(error);\n }\n });\n }\n //웹 카카오 로그인\n kakaoLogin() {\n return new Promise(async (resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n this.removeKakaoSdk();\n await this.loadKakaoSdk();\n if (typeof window['Kakao'] !== 'undefined') {\n window['Kakao'].init(this.web_key); // Initialize Kakao with your JavaScript key\n }\n else {\n reject(new Error('Kakao undefined'));\n }\n try {\n window.Kakao.Auth.login({\n throughTalk: true,\n persistAccessToken: true,\n success: (response) => {\n console.log(response);\n resolve({\n value: response.access_token,\n });\n },\n fail: (error) => {\n console.error('Kakao Login Failed', error);\n reject(new Error('Kakao Login Failed'));\n },\n });\n }\n catch (e) {\n console.error('Error during Kakao login', e);\n reject(e);\n }\n });\n }\n //웹 로그아웃\n kakaoLogout() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Auth.logout();\n resolve({ value: 'done' });\n });\n }\n //unlink\n kakaoUnlink() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.API.request({\n url: '/v1/user/unlink',\n success: function (response) {\n console.log(response);\n resolve({ value: 'done' });\n },\n fail: function (error) {\n console.log(error);\n reject(error);\n },\n });\n });\n }\n //message\n sendLinkFeed(options) {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Link.sendDefault({\n objectType: 'feed',\n content: {\n title: options.title,\n description: options.description,\n imageUrl: options.image_url,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n buttons: [\n {\n title: options.button_title,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n ],\n callback: function () {\n resolve({ value: 'done' });\n },\n });\n });\n }\n removeKakaoSdk() {\n const script = document.getElementById(this.kakaoScriptId);\n if (script) {\n document.head.removeChild(script); // Remove the script from the DOM\n console.log('Kakao SDK removed');\n }\n }\n loadKakaoSdk() {\n return new Promise((resolve, reject) => {\n // Check if the script is already loaded\n if (document.getElementById(this.kakaoScriptId)) {\n resolve();\n return;\n }\n const script = document.createElement('script');\n script.id = this.kakaoScriptId; // Set an ID to reference this script\n script.src = '//developers.kakao.com/sdk/js/kakao.min.js';\n // script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';\n // script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';\n // script.crossOrigin = 'anonymous';\n script.onload = () => {\n console.log('Kakao SDK loaded');\n resolve();\n };\n script.onerror = () => reject(new Error('Failed to load Kakao SDK'));\n document.head.appendChild(script);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Capacitor3KakaoLogin = registerPlugin('Capacitor3KakaoLogin', {\n web: () => import('./web').then(m => new m.Capacitor3KakaoLoginWeb()),\n});\nexport * from './definitions';\nexport { Capacitor3KakaoLogin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class Capacitor3KakaoLoginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.kakaoScriptId = 'kakao-js-sdk'; // Unique ID for the Kakao SDK script\n }\n initializeKakao(options) {\n return new Promise(async (resolve, reject) => {\n try {\n if (!this.web_key) {\n this.web_key = options.web_key;\n }\n resolve({ value: 'done' });\n }\n catch (error) {\n console.error(error);\n reject(error);\n }\n });\n }\n //웹 카카오 로그인\n kakaoLogin() {\n return new Promise(async (resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n this.removeKakaoSdk();\n await this.loadKakaoSdk();\n if (typeof window['Kakao'] !== 'undefined') {\n window['Kakao'].init(this.web_key); // Initialize Kakao with your JavaScript key\n }\n else {\n reject(new Error('Kakao undefined'));\n }\n try {\n window.Kakao.Auth.login({\n throughTalk: true,\n persistAccessToken: true,\n success: (response) => {\n console.log(response);\n resolve({\n value: response.access_token,\n });\n },\n fail: (error) => {\n console.error('Kakao Login Failed', error);\n reject(new Error('Kakao Login Failed'));\n },\n });\n }\n catch (e) {\n console.error('Error during Kakao login', e);\n reject(e);\n }\n });\n }\n //웹 로그아웃\n kakaoLogout() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Auth.logout();\n resolve({ value: 'done' });\n });\n }\n //unlink\n kakaoUnlink() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.API.request({\n url: '/v1/user/unlink',\n success: function (response) {\n console.log(response);\n resolve({ value: 'done' });\n },\n fail: function (error) {\n console.log(error);\n reject(error);\n },\n });\n });\n }\n //message\n sendLinkFeed(options) {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Link.sendDefault({\n objectType: 'feed',\n content: {\n title: options.title,\n description: options.description,\n imageUrl: options.image_url,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n buttons: [\n {\n title: options.button_title,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n ],\n callback: function () {\n resolve({ value: 'done' });\n },\n });\n });\n }\n removeKakaoSdk() {\n const script = document.getElementById(this.kakaoScriptId);\n if (script) {\n document.head.removeChild(script); // Remove the script from the DOM\n console.log('Kakao SDK removed');\n }\n }\n loadKakaoSdk() {\n return new Promise((resolve, reject) => {\n // Check if the script is already loaded\n if (document.getElementById(this.kakaoScriptId)) {\n resolve();\n return;\n }\n const script = document.createElement('script');\n script.id = this.kakaoScriptId; // Set an ID to reference this script\n // script.src = '//developers.kakao.com/sdk/js/kakao.min.js';\n script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';\n script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';\n script.crossOrigin = 'anonymous';\n // script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';\n // script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';\n // script.crossOrigin = 'anonymous';\n script.onload = () => {\n console.log('Kakao SDK loaded');\n resolve();\n };\n script.onerror = () => reject(new Error('Failed to load Kakao SDK'));\n document.head.appendChild(script);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,oBAAoB,GAAGA,mBAAc,CAAC,sBAAsB,EAAE;AACpE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,uBAAuB,EAAE,CAAC;AACzE,CAAC;;ACFM,MAAM,uBAAuB,SAASC,cAAS,CAAC;AACvD,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;AAC5B,QAAQ,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;AAC5C,KAAK;AACL,IAAI,eAAe,CAAC,OAAO,EAAE;AAC7B,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnC,oBAAoB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACnD,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3C,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AACtD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACnD,aAAa;AACb,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;AAClC,YAAY,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AACtC,YAAY,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;AACxD,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,IAAI;AAChB,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,oBAAoB,WAAW,EAAE,IAAI;AACrC,oBAAoB,kBAAkB,EAAE,IAAI;AAC5C,oBAAoB,OAAO,EAAE,CAAC,QAAQ,KAAK;AAC3C,wBAAwB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9C,wBAAwB,OAAO,CAAC;AAChC,4BAA4B,KAAK,EAAE,QAAQ,CAAC,YAAY;AACxD,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB;AACrB,oBAAoB,IAAI,EAAE,CAAC,KAAK,KAAK;AACrC,wBAAwB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACnE,wBAAwB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAChE,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,YAAY,OAAO,CAAC,EAAE;AACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;AAC7D,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACnD,aAAa;AACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACnC,YAAY,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACvC,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACnD,aAAa;AACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,gBAAgB,GAAG,EAAE,iBAAiB;AACtC,gBAAgB,OAAO,EAAE,UAAU,QAAQ,EAAE;AAC7C,oBAAoB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1C,oBAAoB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/C,iBAAiB;AACjB,gBAAgB,IAAI,EAAE,UAAU,KAAK,EAAE;AACvC,oBAAoB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,YAAY,CAAC,OAAO,EAAE;AAC1B,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;AACnD,aAAa;AACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7C,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACtC,gBAAgB,UAAU,EAAE,MAAM;AAClC,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,KAAK,EAAE,OAAO,CAAC,KAAK;AACxC,oBAAoB,WAAW,EAAE,OAAO,CAAC,WAAW;AACpD,oBAAoB,QAAQ,EAAE,OAAO,CAAC,SAAS;AAC/C,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE,OAAO,CAAC,cAAc;AAC5D,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAO,EAAE;AACzB,oBAAoB;AACpB,wBAAwB,KAAK,EAAE,OAAO,CAAC,YAAY;AACnD,wBAAwB,IAAI,EAAE;AAC9B,4BAA4B,YAAY,EAAE,OAAO,CAAC,cAAc;AAChE,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,QAAQ,EAAE,YAAY;AACtC,oBAAoB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,cAAc,GAAG;AACrB,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnE,QAAQ,IAAI,MAAM,EAAE;AACpB,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,YAAY,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC7C,SAAS;AACT,KAAK;AACL,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD;AACA,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;AAC7D,gBAAgB,OAAO,EAAE,CAAC;AAC1B,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC5D,YAAY,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAC3C;AACA,YAAY,MAAM,CAAC,GAAG,GAAG,yDAAyD,CAAC;AACnF,YAAY,MAAM,CAAC,SAAS,GAAG,yEAAyE,CAAC;AACzG,YAAY,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;AAC7C;AACA;AACA;AACA,YAAY,MAAM,CAAC,MAAM,GAAG,MAAM;AAClC,gBAAgB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAChD,gBAAgB,OAAO,EAAE,CAAC;AAC1B,aAAa,CAAC;AACd,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACjF,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;;;;;;"}
|
package/dist/plugin.js
CHANGED
|
@@ -138,7 +138,10 @@ var Capacitor3KakaoLogin = (function (exports, core) {
|
|
|
138
138
|
}
|
|
139
139
|
const script = document.createElement('script');
|
|
140
140
|
script.id = this.kakaoScriptId; // Set an ID to reference this script
|
|
141
|
-
script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
141
|
+
// script.src = '//developers.kakao.com/sdk/js/kakao.min.js';
|
|
142
|
+
script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';
|
|
143
|
+
script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';
|
|
144
|
+
script.crossOrigin = 'anonymous';
|
|
142
145
|
// script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';
|
|
143
146
|
// script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';
|
|
144
147
|
// script.crossOrigin = 'anonymous';
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Capacitor3KakaoLogin = registerPlugin('Capacitor3KakaoLogin', {\n web: () => import('./web').then(m => new m.Capacitor3KakaoLoginWeb()),\n});\nexport * from './definitions';\nexport { Capacitor3KakaoLogin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class Capacitor3KakaoLoginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.kakaoScriptId = 'kakao-js-sdk'; // Unique ID for the Kakao SDK script\n }\n initializeKakao(options) {\n return new Promise(async (resolve, reject) => {\n try {\n if (!this.web_key) {\n this.web_key = options.web_key;\n }\n resolve({ value: 'done' });\n }\n catch (error) {\n console.error(error);\n reject(error);\n }\n });\n }\n //웹 카카오 로그인\n kakaoLogin() {\n return new Promise(async (resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n this.removeKakaoSdk();\n await this.loadKakaoSdk();\n if (typeof window['Kakao'] !== 'undefined') {\n window['Kakao'].init(this.web_key); // Initialize Kakao with your JavaScript key\n }\n else {\n reject(new Error('Kakao undefined'));\n }\n try {\n window.Kakao.Auth.login({\n throughTalk: true,\n persistAccessToken: true,\n success: (response) => {\n console.log(response);\n resolve({\n value: response.access_token,\n });\n },\n fail: (error) => {\n console.error('Kakao Login Failed', error);\n reject(new Error('Kakao Login Failed'));\n },\n });\n }\n catch (e) {\n console.error('Error during Kakao login', e);\n reject(e);\n }\n });\n }\n //웹 로그아웃\n kakaoLogout() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Auth.logout();\n resolve({ value: 'done' });\n });\n }\n //unlink\n kakaoUnlink() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.API.request({\n url: '/v1/user/unlink',\n success: function (response) {\n console.log(response);\n resolve({ value: 'done' });\n },\n fail: function (error) {\n console.log(error);\n reject(error);\n },\n });\n });\n }\n //message\n sendLinkFeed(options) {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Link.sendDefault({\n objectType: 'feed',\n content: {\n title: options.title,\n description: options.description,\n imageUrl: options.image_url,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n buttons: [\n {\n title: options.button_title,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n ],\n callback: function () {\n resolve({ value: 'done' });\n },\n });\n });\n }\n removeKakaoSdk() {\n const script = document.getElementById(this.kakaoScriptId);\n if (script) {\n document.head.removeChild(script); // Remove the script from the DOM\n console.log('Kakao SDK removed');\n }\n }\n loadKakaoSdk() {\n return new Promise((resolve, reject) => {\n // Check if the script is already loaded\n if (document.getElementById(this.kakaoScriptId)) {\n resolve();\n return;\n }\n const script = document.createElement('script');\n script.id = this.kakaoScriptId; // Set an ID to reference this script\n script.src = '//developers.kakao.com/sdk/js/kakao.min.js';\n // script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';\n // script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';\n // script.crossOrigin = 'anonymous';\n script.onload = () => {\n console.log('Kakao SDK loaded');\n resolve();\n };\n script.onerror = () => reject(new Error('Failed to load Kakao SDK'));\n document.head.appendChild(script);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Capacitor3KakaoLogin = registerPlugin('Capacitor3KakaoLogin', {\n web: () => import('./web').then(m => new m.Capacitor3KakaoLoginWeb()),\n});\nexport * from './definitions';\nexport { Capacitor3KakaoLogin };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class Capacitor3KakaoLoginWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.kakaoScriptId = 'kakao-js-sdk'; // Unique ID for the Kakao SDK script\n }\n initializeKakao(options) {\n return new Promise(async (resolve, reject) => {\n try {\n if (!this.web_key) {\n this.web_key = options.web_key;\n }\n resolve({ value: 'done' });\n }\n catch (error) {\n console.error(error);\n reject(error);\n }\n });\n }\n //웹 카카오 로그인\n kakaoLogin() {\n return new Promise(async (resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n this.removeKakaoSdk();\n await this.loadKakaoSdk();\n if (typeof window['Kakao'] !== 'undefined') {\n window['Kakao'].init(this.web_key); // Initialize Kakao with your JavaScript key\n }\n else {\n reject(new Error('Kakao undefined'));\n }\n try {\n window.Kakao.Auth.login({\n throughTalk: true,\n persistAccessToken: true,\n success: (response) => {\n console.log(response);\n resolve({\n value: response.access_token,\n });\n },\n fail: (error) => {\n console.error('Kakao Login Failed', error);\n reject(new Error('Kakao Login Failed'));\n },\n });\n }\n catch (e) {\n console.error('Error during Kakao login', e);\n reject(e);\n }\n });\n }\n //웹 로그아웃\n kakaoLogout() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Auth.logout();\n resolve({ value: 'done' });\n });\n }\n //unlink\n kakaoUnlink() {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.API.request({\n url: '/v1/user/unlink',\n success: function (response) {\n console.log(response);\n resolve({ value: 'done' });\n },\n fail: function (error) {\n console.log(error);\n reject(error);\n },\n });\n });\n }\n //message\n sendLinkFeed(options) {\n return new Promise((resolve, reject) => {\n if (!this.web_key) {\n reject('kakao_sdk_not_initialzed');\n }\n const KakaoSdk = window['Kakao'];\n KakaoSdk.Link.sendDefault({\n objectType: 'feed',\n content: {\n title: options.title,\n description: options.description,\n imageUrl: options.image_url,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n buttons: [\n {\n title: options.button_title,\n link: {\n mobileWebUrl: options.image_link_url,\n },\n },\n ],\n callback: function () {\n resolve({ value: 'done' });\n },\n });\n });\n }\n removeKakaoSdk() {\n const script = document.getElementById(this.kakaoScriptId);\n if (script) {\n document.head.removeChild(script); // Remove the script from the DOM\n console.log('Kakao SDK removed');\n }\n }\n loadKakaoSdk() {\n return new Promise((resolve, reject) => {\n // Check if the script is already loaded\n if (document.getElementById(this.kakaoScriptId)) {\n resolve();\n return;\n }\n const script = document.createElement('script');\n script.id = this.kakaoScriptId; // Set an ID to reference this script\n // script.src = '//developers.kakao.com/sdk/js/kakao.min.js';\n script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.4/kakao.min.js';\n script.integrity = 'sha384-DKYJZ8NLiK8mn4/91Ty7eJ83qjZe5I10NiDe4rHVabI29Kr809tJawhH3+2Eff7V';\n script.crossOrigin = 'anonymous';\n // script.src = 'https://t1.kakaocdn.net/kakao_js_sdk/2.7.2/kakao.min.js';\n // script.integrity = 'sha384-TiCUE00h649CAMonG018J2ujOgDKW/kVWlChEuu4jK2vxfAAD0eZxzCKakxg55G4';\n // script.crossOrigin = 'anonymous';\n script.onload = () => {\n console.log('Kakao SDK loaded');\n resolve();\n };\n script.onerror = () => reject(new Error('Failed to load Kakao SDK'));\n document.head.appendChild(script);\n });\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,oBAAoB,GAAGA,mBAAc,CAAC,sBAAsB,EAAE;IACpE,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,uBAAuB,EAAE,CAAC;IACzE,CAAC;;ICFM,MAAM,uBAAuB,SAASC,cAAS,CAAC;IACvD,IAAI,WAAW,GAAG;IAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5B,QAAQ,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;IAC5C,KAAK;IACL,IAAI,eAAe,CAAC,OAAO,EAAE;IAC7B,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI;IAChB,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IACnC,oBAAoB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACnD,iBAAiB;IACjB,gBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,aAAa;IACb,YAAY,OAAO,KAAK,EAAE;IAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,aAAa;IACb,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,UAAU,GAAG;IACjB,QAAQ,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;IACtD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnD,aAAa;IACb,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;IAClC,YAAY,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACtC,YAAY,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE;IACxD,gBAAgB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,aAAa;IACb,iBAAiB;IACjB,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrD,aAAa;IACb,YAAY,IAAI;IAChB,gBAAgB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACxC,oBAAoB,WAAW,EAAE,IAAI;IACrC,oBAAoB,kBAAkB,EAAE,IAAI;IAC5C,oBAAoB,OAAO,EAAE,CAAC,QAAQ,KAAK;IAC3C,wBAAwB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,wBAAwB,OAAO,CAAC;IAChC,4BAA4B,KAAK,EAAE,QAAQ,CAAC,YAAY;IACxD,yBAAyB,CAAC,CAAC;IAC3B,qBAAqB;IACrB,oBAAoB,IAAI,EAAE,CAAC,KAAK,KAAK;IACrC,wBAAwB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACnE,wBAAwB,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChE,qBAAqB;IACrB,iBAAiB,CAAC,CAAC;IACnB,aAAa;IACb,YAAY,OAAO,CAAC,EAAE;IACtB,gBAAgB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAC7D,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,aAAa;IACb,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,WAAW,GAAG;IAClB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnD,aAAa;IACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC,YAAY,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,WAAW,GAAG;IAClB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnD,aAAa;IACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;IACjC,gBAAgB,GAAG,EAAE,iBAAiB;IACtC,gBAAgB,OAAO,EAAE,UAAU,QAAQ,EAAE;IAC7C,oBAAoB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,oBAAoB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,iBAAiB;IACjB,gBAAgB,IAAI,EAAE,UAAU,KAAK,EAAE;IACvC,oBAAoB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,iBAAiB;IACjB,aAAa,CAAC,CAAC;IACf,SAAS,CAAC,CAAC;IACX,KAAK;IACL;IACA,IAAI,YAAY,CAAC,OAAO,EAAE;IAC1B,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,gBAAgB,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACnD,aAAa;IACb,YAAY,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;IACtC,gBAAgB,UAAU,EAAE,MAAM;IAClC,gBAAgB,OAAO,EAAE;IACzB,oBAAoB,KAAK,EAAE,OAAO,CAAC,KAAK;IACxC,oBAAoB,WAAW,EAAE,OAAO,CAAC,WAAW;IACpD,oBAAoB,QAAQ,EAAE,OAAO,CAAC,SAAS;IAC/C,oBAAoB,IAAI,EAAE;IAC1B,wBAAwB,YAAY,EAAE,OAAO,CAAC,cAAc;IAC5D,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,OAAO,EAAE;IACzB,oBAAoB;IACpB,wBAAwB,KAAK,EAAE,OAAO,CAAC,YAAY;IACnD,wBAAwB,IAAI,EAAE;IAC9B,4BAA4B,YAAY,EAAE,OAAO,CAAC,cAAc;IAChE,yBAAyB;IACzB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,QAAQ,EAAE,YAAY;IACtC,oBAAoB,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,iBAAiB;IACjB,aAAa,CAAC,CAAC;IACf,SAAS,CAAC,CAAC;IACX,KAAK;IACL,IAAI,cAAc,GAAG;IACrB,QAAQ,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnE,QAAQ,IAAI,MAAM,EAAE;IACpB,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,YAAY,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7C,SAAS;IACT,KAAK;IACL,IAAI,YAAY,GAAG;IACnB,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;IAChD;IACA,YAAY,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;IAC7D,gBAAgB,OAAO,EAAE,CAAC;IAC1B,gBAAgB,OAAO;IACvB,aAAa;IACb,YAAY,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,YAAY,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IAC3C;IACA,YAAY,MAAM,CAAC,GAAG,GAAG,yDAAyD,CAAC;IACnF,YAAY,MAAM,CAAC,SAAS,GAAG,yEAAyE,CAAC;IACzG,YAAY,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAC7C;IACA;IACA;IACA,YAAY,MAAM,CAAC,MAAM,GAAG,MAAM;IAClC,gBAAgB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChD,gBAAgB,OAAO,EAAE,CAAC;IAC1B,aAAa,CAAC;IACd,YAAY,MAAM,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACjF,YAAY,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,CAAC;IACX,KAAK;IACL;;;;;;;;;;;;;;;;;"}
|
|
@@ -15,32 +15,29 @@ import KakaoSDKTemplate
|
|
|
15
15
|
UserApi.shared.loginWithKakaoTalk {(oauthToken, error) in
|
|
16
16
|
if let error = error {
|
|
17
17
|
print(error)
|
|
18
|
-
|
|
18
|
+
// 카카오톡 로그인 실패 시 카카오계정 로그인 시도 (사용자 취소 등은 제외)
|
|
19
|
+
// 여기서는 간단히 에러 리턴하지만, 필요 시 에러 타입 체크하여 fallback 가능
|
|
20
|
+
call.reject(error.localizedDescription)
|
|
19
21
|
}
|
|
20
22
|
else {
|
|
21
|
-
|
|
22
23
|
call.resolve([
|
|
23
24
|
"value": oauthToken?.accessToken ?? ""
|
|
24
25
|
])
|
|
25
|
-
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
else{
|
|
30
|
-
|
|
31
30
|
UserApi.shared.loginWithKakaoAccount {(oauthToken, error) in
|
|
32
31
|
if let error = error {
|
|
33
32
|
print(error)
|
|
34
|
-
call.reject(
|
|
33
|
+
call.reject(error.localizedDescription)
|
|
35
34
|
}
|
|
36
35
|
else {
|
|
37
|
-
|
|
38
36
|
call.resolve([
|
|
39
37
|
"value": oauthToken?.accessToken ?? ""
|
|
40
38
|
])
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
|
-
|
|
44
41
|
}
|
|
45
42
|
}
|
|
46
43
|
|
|
@@ -6,7 +6,16 @@ import Capacitor
|
|
|
6
6
|
* here: https://capacitorjs.com/docs/plugins/ios
|
|
7
7
|
*/
|
|
8
8
|
@objc(Capacitor3KakaoLoginPlugin)
|
|
9
|
-
public class Capacitor3KakaoLoginPlugin: CAPPlugin {
|
|
9
|
+
public class Capacitor3KakaoLoginPlugin: CAPPlugin, CAPBridgedPlugin {
|
|
10
|
+
public let identifier = "Capacitor3KakaoLoginPlugin"
|
|
11
|
+
public let jsName = "Capacitor3KakaoLogin"
|
|
12
|
+
public let pluginMethods: [CAPPluginMethod] = [
|
|
13
|
+
CAPPluginMethod(name: "initializeKakao", returnType: CAPPluginReturnPromise),
|
|
14
|
+
CAPPluginMethod(name: "kakaoLogin", returnType: CAPPluginReturnPromise),
|
|
15
|
+
CAPPluginMethod(name: "kakaoLogout", returnType: CAPPluginReturnPromise),
|
|
16
|
+
CAPPluginMethod(name: "kakaoUnlink", returnType: CAPPluginReturnPromise),
|
|
17
|
+
CAPPluginMethod(name: "sendLinkFeed", returnType: CAPPluginReturnPromise)
|
|
18
|
+
]
|
|
10
19
|
private let implementation = Capacitor3KakaoLogin()
|
|
11
20
|
|
|
12
21
|
//네이티브는 app delegate에서 초기화함
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "capacitor3-kakao-login",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "kakao login for capacitor5",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"android/build.gradle",
|
|
12
12
|
"dist/",
|
|
13
13
|
"ios/Plugin/",
|
|
14
|
-
"Capacitor3KakaoLogin.podspec"
|
|
14
|
+
"Capacitor3KakaoLogin.podspec",
|
|
15
|
+
"Package.swift"
|
|
15
16
|
],
|
|
16
17
|
"author": "bdhwan",
|
|
17
18
|
"license": "MIT",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"native"
|
|
29
30
|
],
|
|
30
31
|
"engines": {
|
|
31
|
-
"node": "
|
|
32
|
+
"node": "20.16.0"
|
|
32
33
|
},
|
|
33
34
|
"scripts": {
|
|
34
35
|
"verify": "npm run verify:ios && npm run verify:android && npm run verify:web",
|
|
@@ -41,8 +42,7 @@
|
|
|
41
42
|
"prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
|
|
42
43
|
"swiftlint": "node-swiftlint",
|
|
43
44
|
"docgen": "docgen --api Capacitor3KakaoLoginPlugin --output-readme README.md --output-json dist/docs.json",
|
|
44
|
-
"build": "npm run clean && tsc && rollup -c rollup.config.js
|
|
45
|
-
"build-a": "npm run clean",
|
|
45
|
+
"build": "npm run clean && tsc && rollup -c rollup.config.js",
|
|
46
46
|
"build-b": "tsc",
|
|
47
47
|
"build-c": "rollup -c rollup.config.js",
|
|
48
48
|
"clean": "rimraf ./dist",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"release": "np --any-branch --no-tests && echo 'done'"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@capacitor/android": "
|
|
55
|
-
"@capacitor/core": "
|
|
54
|
+
"@capacitor/android": "6.0.0",
|
|
55
|
+
"@capacitor/core": "6.0.0",
|
|
56
56
|
"@capacitor/docgen": "^0.0.18",
|
|
57
|
-
"@capacitor/ios": "
|
|
57
|
+
"@capacitor/ios": "6.0.0",
|
|
58
58
|
"@ionic/eslint-config": "^0.3.0",
|
|
59
59
|
"@ionic/prettier-config": "^1.0.1",
|
|
60
60
|
"@ionic/swiftlint-config": "^1.1.2",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"typescript": "~4.1.5"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
|
-
"@capacitor/core": "^
|
|
73
|
+
"@capacitor/core": "^6.0.0"
|
|
74
74
|
},
|
|
75
75
|
"prettier": "@ionic/prettier-config",
|
|
76
76
|
"swiftlint": "@ionic/swiftlint-config",
|