@shipeasy/sdk 6.2.0 → 6.3.1
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/dist/client/index.d.mts +20 -1
- package/dist/client/index.d.ts +20 -1
- package/dist/client/index.js +126 -52
- package/dist/client/index.mjs +125 -52
- package/dist/openfeature-server/index.d.mts +12 -0
- package/dist/openfeature-server/index.d.ts +12 -0
- package/dist/openfeature-server/index.js +34 -1
- package/dist/openfeature-server/index.mjs +34 -1
- package/dist/openfeature-web/index.d.mts +10 -0
- package/dist/openfeature-web/index.d.ts +10 -0
- package/dist/server/index.d.mts +22 -1
- package/dist/server/index.d.ts +22 -1
- package/dist/server/index.js +117 -37
- package/dist/server/index.mjs +116 -37
- package/docs/skill/SKILL.md +16 -16
- package/package.json +7 -6
package/docs/skill/SKILL.md
CHANGED
|
@@ -12,7 +12,7 @@ public **client** key). Everything works from vanilla JS.
|
|
|
12
12
|
> The documented surface is exactly **`configure()`** (setup) and the bound
|
|
13
13
|
> **`new Client(user)`** (use), plus the package-level helpers below. For deeper
|
|
14
14
|
> docs, fetch any page/snippet from the manifest at
|
|
15
|
-
> <https://shipeasy-ai.github.io/sdk/manifest.json> (raw page/snippet URLs below).
|
|
15
|
+
> <https://shipeasy-ai.github.io/sdk-ts/manifest.json> (raw page/snippet URLs below).
|
|
16
16
|
|
|
17
17
|
## Install
|
|
18
18
|
|
|
@@ -42,11 +42,11 @@ flags.getFlagDetail("new_checkout"); // { value, reason }
|
|
|
42
42
|
`configure()` is first-config-wins and owns the fetch lifecycle (one-shot by
|
|
43
43
|
default; `poll: true` for a background refresh). Construct `new Client(user)` once
|
|
44
44
|
per user/request — it binds the user, so no method takes a user argument.
|
|
45
|
-
Full reference: <https://shipeasy-ai.github.io/sdk/pages/configuration.md> ·
|
|
46
|
-
<https://shipeasy-ai.github.io/sdk/pages/flags.md> ·
|
|
47
|
-
snippets <https://shipeasy-ai.github.io/sdk/snippets/release/flags.md> ·
|
|
48
|
-
<https://shipeasy-ai.github.io/sdk/snippets/release/configs.md> ·
|
|
49
|
-
<https://shipeasy-ai.github.io/sdk/snippets/release/killswitches.md>
|
|
45
|
+
Full reference: <https://shipeasy-ai.github.io/sdk-ts/pages/configuration.md> ·
|
|
46
|
+
<https://shipeasy-ai.github.io/sdk-ts/pages/flags.md> ·
|
|
47
|
+
snippets <https://shipeasy-ai.github.io/sdk-ts/snippets/release/flags.md> ·
|
|
48
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/release/configs.md> ·
|
|
49
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/release/killswitches.md>
|
|
50
50
|
|
|
51
51
|
## Experiments + track (Client-only, end to end)
|
|
52
52
|
|
|
@@ -62,8 +62,8 @@ flags.track("purchase", { value: 42 }); // record a conversion for the bound use
|
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
`ExperimentResult = { inExperiment: boolean; group: string; params: P }`. Full
|
|
65
|
-
reference: <https://shipeasy-ai.github.io/sdk/pages/experiments.md> · track snippet
|
|
66
|
-
<https://shipeasy-ai.github.io/sdk/snippets/metrics/track.md>
|
|
65
|
+
reference: <https://shipeasy-ai.github.io/sdk-ts/pages/experiments.md> · track snippet
|
|
66
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/metrics/track.md>
|
|
67
67
|
|
|
68
68
|
## i18n
|
|
69
69
|
|
|
@@ -76,9 +76,9 @@ i18n.t("checkout.cta", "Place order");
|
|
|
76
76
|
i18n.t("cart.count", "{count} items", { count: cart.length });
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
Full reference: <https://shipeasy-ai.github.io/sdk/pages/i18n.md> · snippets
|
|
80
|
-
<https://shipeasy-ai.github.io/sdk/snippets/i18n/setup.md> ·
|
|
81
|
-
<https://shipeasy-ai.github.io/sdk/snippets/i18n/render.md>
|
|
79
|
+
Full reference: <https://shipeasy-ai.github.io/sdk-ts/pages/i18n.md> · snippets
|
|
80
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/i18n/setup.md> ·
|
|
81
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/i18n/render.md>
|
|
82
82
|
|
|
83
83
|
## Error reporting (see)
|
|
84
84
|
|
|
@@ -94,8 +94,8 @@ see.ControlFlowException(e).because("because it wasn't an encoded Foo"); // expe
|
|
|
94
94
|
|
|
95
95
|
Fire-and-forget on the next microtask (no `.send()`). Don't catch what you can't
|
|
96
96
|
name a consequence for. You may `see()` then re-throw (links as `caused_by`). Full
|
|
97
|
-
reference: <https://shipeasy-ai.github.io/sdk/pages/error-reporting.md> · snippet
|
|
98
|
-
<https://shipeasy-ai.github.io/sdk/snippets/ops/see.md>
|
|
97
|
+
reference: <https://shipeasy-ai.github.io/sdk-ts/pages/error-reporting.md> · snippet
|
|
98
|
+
<https://shipeasy-ai.github.io/sdk-ts/snippets/ops/see.md>
|
|
99
99
|
|
|
100
100
|
## Testing — no network
|
|
101
101
|
|
|
@@ -120,7 +120,7 @@ configureForOffline({ path: "./shipeasy-snapshot.json" });
|
|
|
120
120
|
// or: configureForOffline({ snapshot: { flags, experiments }, flags: { new_checkout: true } });
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
Full reference: <https://shipeasy-ai.github.io/sdk/pages/testing.md>
|
|
123
|
+
Full reference: <https://shipeasy-ai.github.io/sdk-ts/pages/testing.md>
|
|
124
124
|
|
|
125
125
|
## OpenFeature
|
|
126
126
|
|
|
@@ -133,7 +133,7 @@ await OpenFeature.setProviderAndWait(new ShipeasyProvider());
|
|
|
133
133
|
await OpenFeature.getClient().getBooleanValue("new_checkout", false, { targetingKey: "u1" });
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
Full reference: <https://shipeasy-ai.github.io/sdk/pages/openfeature.md>
|
|
136
|
+
Full reference: <https://shipeasy-ai.github.io/sdk-ts/pages/openfeature.md>
|
|
137
137
|
|
|
138
138
|
## Advanced
|
|
139
139
|
|
|
@@ -142,4 +142,4 @@ Full reference: <https://shipeasy-ai.github.io/sdk/pages/openfeature.md>
|
|
|
142
142
|
(`getExperiment(..., { logExposure: false })` + `flags.logExposure(name)`),
|
|
143
143
|
`onChange(cb)` (requires `configure({ poll: true })`) / browser `subscribe()`.
|
|
144
144
|
Devtools overlay: `Shift+Alt+S` or `?se=1`. Full reference:
|
|
145
|
-
<https://shipeasy-ai.github.io/sdk/pages/advanced.md>
|
|
145
|
+
<https://shipeasy-ai.github.io/sdk-ts/pages/advanced.md>
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shipeasy/sdk",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.1",
|
|
4
4
|
"description": "Shipeasy SDK — feature gates, runtime configs, experiments, and metrics for the Shipeasy hosted service.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://shipeasy.ai",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/shipeasy-ai/sdk.git"
|
|
9
|
+
"url": "https://github.com/shipeasy-ai/sdk-ts.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/shipeasy-ai/sdk/issues"
|
|
12
|
+
"url": "https://github.com/shipeasy-ai/sdk-ts/issues"
|
|
13
13
|
},
|
|
14
14
|
"main": "./dist/server/index.js",
|
|
15
15
|
"module": "./dist/server/index.mjs",
|
|
@@ -105,11 +105,12 @@
|
|
|
105
105
|
"@openfeature/server-sdk": "^1.22.0",
|
|
106
106
|
"@openfeature/web-sdk": "^1.9.0",
|
|
107
107
|
"@types/murmurhash-js": "^1.0.6",
|
|
108
|
-
"@types/node": "^
|
|
108
|
+
"@types/node": "^26.0.1",
|
|
109
109
|
"next": "^16.2.3",
|
|
110
110
|
"tsup": "^8.3.0",
|
|
111
|
-
"typescript": "^
|
|
112
|
-
"
|
|
111
|
+
"typescript": "^6.0.3",
|
|
112
|
+
"vite": "^6.4.3",
|
|
113
|
+
"vitest": "^4.1.9",
|
|
113
114
|
"wrangler": "^4.83.0"
|
|
114
115
|
},
|
|
115
116
|
"publishConfig": {
|