cordova-khipu 2.11.0 → 2.11.2
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/README.md
CHANGED
|
@@ -24,8 +24,9 @@ Cordova plugin for Khipu
|
|
|
24
24
|
| `cordova` (CLI) | 13.0.0 | 13.0.0 |
|
|
25
25
|
| `cordova-ios` | 7.0.0 | 7.1.1 and 8.1.1 |
|
|
26
26
|
| `cordova-android` | 13.0.0 | 13.0.0, 14.0.0 and 15.1.0 |
|
|
27
|
-
| iOS | 13.0 | |
|
|
28
|
-
| Node | `^20.17.0 \|\| >=22.9.0` | 20.
|
|
27
|
+
| iOS | 13.0, or 15.0 with Xcode 27 | |
|
|
28
|
+
| Node | `^20.17.0 \|\| >=22.9.0` | 22.23.2, and 20.17.0 for the hooks' unit tests |
|
|
29
|
+
| Xcode | 26 | 26.6, and 27.0 by hand (see [Xcode 27](#xcode-27-needs-a-deployment-target-of-150)) |
|
|
29
30
|
|
|
30
31
|
Of this table, only `cordova-ios` and `cordova-android` are declared in `plugin.xml`'s
|
|
31
32
|
`<engines>`. Mind what that does: if the installed platform does not meet the minimum,
|
|
@@ -37,9 +38,11 @@ with exit code 0 (verified in `checkEngines()` and the `catch` around it,
|
|
|
37
38
|
minimum sees a green install, the plugin gets listed in their `package.json`, nothing
|
|
38
39
|
native gets installed, and they only discover the problem at runtime with
|
|
39
40
|
`window.Khipu === undefined`. What protects the merchant is reading that warning, not an
|
|
40
|
-
error Cordova never throws. The other
|
|
41
|
-
and recommended compatibility, not an automatic barrier — Cordova's engine check
|
|
42
|
-
even recognize a `node` type, and the plugin's `package.json` does not declare
|
|
41
|
+
error Cordova never throws. The other four rows (`cordova` CLI, iOS, Node, Xcode) are
|
|
42
|
+
tested and recommended compatibility, not an automatic barrier — Cordova's engine check
|
|
43
|
+
does not even recognize a `node` type, and the plugin's `package.json` does not declare
|
|
44
|
+
`engines`. Xcode's minimum is App Store Connect's: it has required Xcode 26 for uploads
|
|
45
|
+
since April 28, 2026.
|
|
43
46
|
|
|
44
47
|
## Installation
|
|
45
48
|
|
|
@@ -95,7 +98,8 @@ in `config.xml` **before** adding the platform:
|
|
|
95
98
|
The other three cases are for `cordova-ios` 8:
|
|
96
99
|
|
|
97
100
|
1. **If iOS 13 is enough for you, do not declare it.** The default is already 13.0 and
|
|
98
|
-
the plugin stays on SPM, without touching CocoaPods.
|
|
101
|
+
the plugin stays on SPM, without touching CocoaPods. This holds on Xcode 26 only: on
|
|
102
|
+
Xcode 27, 13.0 no longer builds, see [below](#xcode-27-needs-a-deployment-target-of-150).
|
|
99
103
|
2. **If you declare it with any value, including 13.0, you will need CocoaPods.** The
|
|
100
104
|
plugin still ships a `<podspec>` — the `cordova-ios` 7 path needs it — so cordova
|
|
101
105
|
creates an empty `Podfile` when installing the plugin regardless. When `config.xml`
|
|
@@ -106,6 +110,38 @@ The other three cases are for `cordova-ios` 8:
|
|
|
106
110
|
avoid: it is the consequence of the plugin supporting both managers from a single
|
|
107
111
|
`plugin.xml`.
|
|
108
112
|
|
|
113
|
+
### Xcode 27 needs a deployment target of 15.0
|
|
114
|
+
|
|
115
|
+
Xcode 27 turns a deployment target below iOS 15.0 into a build error, not a warning:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 13.0, but the
|
|
119
|
+
range of supported deployment target versions is 15.0 to 27.0.x.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
On Xcode 26, 13.0 still builds and nothing above changes. On Xcode 27:
|
|
123
|
+
|
|
124
|
+
- **On `cordova-ios` 8, declare 15.0**, before adding the platform:
|
|
125
|
+
|
|
126
|
+
```xml
|
|
127
|
+
<platform name="ios">
|
|
128
|
+
<preference name="deployment-target" value="15.0" />
|
|
129
|
+
</platform>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
That is case 3 above, so you will need CocoaPods installed, but Khipu's SDK still
|
|
133
|
+
arrives through SPM. Nothing about the plugin needs changing: Xcode raises the SDK's
|
|
134
|
+
Swift packages to 15.0 on its own.
|
|
135
|
+
- **`cordova-ios` 7 does not build on Xcode 27, whatever you declare.** Two things stay
|
|
136
|
+
below 15.0 and the preference reaches neither: `CordovaLib`, which `cordova-ios` 7 ships
|
|
137
|
+
at 11.0, and the pods of Khipu's SDK, which declare 12.0. Keep building with Xcode 26, or
|
|
138
|
+
move to `cordova-ios` 8.
|
|
139
|
+
|
|
140
|
+
This was measured with Xcode 27.0 (build 27A266a) on the [example app](#example-app),
|
|
141
|
+
with `cordova build ios --emulator`: `cordova-ios` 8.1.1 fails at 13.0 and builds at 15.0,
|
|
142
|
+
and `cordova-ios` 7.1.1 still fails at 15.0 on exactly those two. CI builds with Xcode
|
|
143
|
+
26.6, so it does not cover Xcode 27 yet.
|
|
144
|
+
|
|
109
145
|
### Swift version
|
|
110
146
|
|
|
111
147
|
The plugin configures `SWIFT_VERSION` on its own when needed. If you need a different
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cordova-khipu",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.2",
|
|
4
4
|
"description": "Khipu Cordova Plugin",
|
|
5
5
|
"types": "types/index.d.ts",
|
|
6
6
|
"cordova": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"LICENSE"
|
|
41
41
|
],
|
|
42
42
|
"scripts": {
|
|
43
|
-
"test": "node --test tests/scripts
|
|
43
|
+
"test": "node --test tests/scripts/*.test.js tests/js/*.test.js",
|
|
44
44
|
"verify": "npm test && npm run verify:versions && npm run verify:keys && npm run verify:ios && npm run verify:android",
|
|
45
45
|
"verify:versions": "node scripts/check-native-versions.js",
|
|
46
46
|
"verify:keys": "node scripts/check-option-keys.js",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
"prepare": "husky"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@commitlint/config-conventional": "^
|
|
55
|
-
"@release-it/conventional-changelog": "^
|
|
56
|
-
"commitlint": "^
|
|
54
|
+
"@commitlint/config-conventional": "^21.2.3",
|
|
55
|
+
"@release-it/conventional-changelog": "^12.0.2",
|
|
56
|
+
"commitlint": "^21.2.3",
|
|
57
57
|
"husky": "^9.1.7",
|
|
58
|
-
"release-it": "^
|
|
58
|
+
"release-it": "^21.1.0"
|
|
59
59
|
},
|
|
60
60
|
"commitlint": {
|
|
61
61
|
"extends": [
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
},
|
|
79
79
|
"plugins": {
|
|
80
80
|
"@release-it/conventional-changelog": {
|
|
81
|
-
"preset": "
|
|
81
|
+
"preset": "conventionalcommits",
|
|
82
82
|
"infile": "CHANGELOG.md"
|
|
83
83
|
}
|
|
84
84
|
},
|
package/plugin.xml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
2
|
-
<plugin id="cordova-khipu" version="2.11.
|
|
2
|
+
<plugin id="cordova-khipu" version="2.11.2" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
|
|
3
3
|
<name>Cordova Khipu</name>
|
|
4
4
|
<engines>
|
|
5
5
|
<engine name="cordova-ios" version=">=7.0.0"/>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// Prints an xcodebuild -destination for an iOS simulator that actually exists here.
|
|
3
3
|
//
|
|
4
|
-
// `-destination 'platform=iOS Simulator,name=iPhone
|
|
5
|
-
// but it resolves to OS:latest — so on a machine whose newest installed runtime has no iPhone
|
|
4
|
+
// `-destination 'platform=iOS Simulator,name=iPhone 17'` is what CI uses, and it works there,
|
|
5
|
+
// but it resolves to OS:latest — so on a machine whose newest installed runtime has no iPhone 17
|
|
6
6
|
// it fails with "Unable to find a device matching the provided destination specifier", and the
|
|
7
7
|
// whole verify chain stops before it reaches the Android suite. Pinning a runtime instead just
|
|
8
8
|
// moves the problem to whoever does not have that one.
|
package/src/android/khipu.gradle
CHANGED
|
@@ -38,7 +38,7 @@ android {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
dependencies {
|
|
41
|
-
implementation 'com.khipu:khipu-client-android:2.28.
|
|
41
|
+
implementation 'com.khipu:khipu-client-android:2.28.6'
|
|
42
42
|
|
|
43
43
|
testImplementation 'junit:junit:4.13.2'
|
|
44
44
|
// org.json inside android.jar is a set of stubs whose every method throws
|
|
@@ -19,7 +19,7 @@ import java.util.Arrays;
|
|
|
19
19
|
* Android framework, every mapper test would fail at once with a confusing error. This
|
|
20
20
|
* test fails first, with an obvious one.
|
|
21
21
|
*
|
|
22
|
-
* The second is part of the reason src/android/khipu.gradle says 2.28.
|
|
22
|
+
* The second is part of the reason src/android/khipu.gradle says 2.28.6 and not 2.27.0.
|
|
23
23
|
* Protocol 1.0.59 has fourteen FailureReasonType constants and no USER_DISCONNECTED; its
|
|
24
24
|
* forValue() throws IOException on any value it does not know, and the SDK's
|
|
25
25
|
* OPERATION_FAILURE listener calls the converter with no try/catch on socket.io's
|