@kadanza/extension-sdk 0.0.10 → 0.0.13
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 +27 -12
- package/package.json +12 -1
package/README.md
CHANGED
|
@@ -10,8 +10,9 @@ Fill in `<APP_NAME>` and `<EXTENSION_BUILDERS_DESCRIBE_THEIR_ADDITIONAL_FEATURE_
|
|
|
10
10
|
> It is a React + Vite + TypeScript app that uses @kadanza/extension-sdk and runs embedded in Kadanza.
|
|
11
11
|
>
|
|
12
12
|
> Before writing code, read and follow these sources of truth:
|
|
13
|
+
>
|
|
13
14
|
> - How the host embeds you: https://github.com/kadanza-io/extension-sdk/blob/main/docs/embedding.md
|
|
14
|
-
> - React setup and wiring: https://github.com/kadanza-io/extension-sdk/blob/main/docs/react.md
|
|
15
|
+
> - React setup and wiring: https://github.com/kadanza-io/extension-sdk/blob/main/docs/react-guide.md
|
|
15
16
|
> - SDK flows you must support: https://github.com/kadanza-io/extension-sdk/blob/main/docs/flows.md
|
|
16
17
|
>
|
|
17
18
|
> Do not invent your own host communication, handshake, or API auth. Prefer the patterns and APIs described in those docs over improvising.
|
|
@@ -20,8 +21,9 @@ Fill in `<APP_NAME>` and `<EXTENSION_BUILDERS_DESCRIBE_THEIR_ADDITIONAL_FEATURE_
|
|
|
20
21
|
> <EXTENSION_BUILDERS_DESCRIBE_THEIR_ADDITIONAL_FEATURE_REQUIREMENTS_HERE>
|
|
21
22
|
>
|
|
22
23
|
> When done, verify against the docs:
|
|
24
|
+
>
|
|
23
25
|
> - Embedding constraints in embedding.md are respected
|
|
24
|
-
> - Structure matches react.md
|
|
26
|
+
> - Structure matches react-guide.md
|
|
25
27
|
> - Required flows from flows.md are implemented
|
|
26
28
|
> - The app requirements above are covered
|
|
27
29
|
|
|
@@ -30,9 +32,18 @@ Fill in `<APP_NAME>` and `<EXTENSION_BUILDERS_DESCRIBE_THEIR_ADDITIONAL_FEATURE_
|
|
|
30
32
|
### Install
|
|
31
33
|
|
|
32
34
|
```bash
|
|
35
|
+
# Stable
|
|
33
36
|
npm install @kadanza/extension-sdk
|
|
37
|
+
|
|
38
|
+
# RC (shared testing channel on main)
|
|
39
|
+
npm install @kadanza/extension-sdk@rc
|
|
40
|
+
|
|
41
|
+
# Canary (feature-branch preview — see releasing docs)
|
|
42
|
+
npm install @kadanza/extension-sdk@canary
|
|
34
43
|
```
|
|
35
44
|
|
|
45
|
+
How we version and publish: [Releasing](docs/releasing.md).
|
|
46
|
+
|
|
36
47
|
### Usage
|
|
37
48
|
|
|
38
49
|
```ts
|
|
@@ -49,13 +60,14 @@ const { authToken, extensionDetails, designTokens } = await sdk.connect();
|
|
|
49
60
|
|
|
50
61
|
Create and use the SDK once per app. Later `createExtensionSDK()` calls return the same instance.
|
|
51
62
|
|
|
52
|
-
Check [Flows.md](/docs/flows.md) for all available flows. Building with React? See [Building a React extension](/docs/react.md).
|
|
63
|
+
Check [Flows.md](/docs/flows.md) for all available flows. Building with React? See [Building a React extension](/docs/react-guide.md).
|
|
53
64
|
|
|
54
65
|
## Documentation
|
|
55
66
|
|
|
56
67
|
- [Documentation folder](docs/) — This is were the important information is stored
|
|
57
68
|
- [How Kadanza embeds an extension](docs/embedding.md) — Host iframe, allowed origins, and `tenantUrl`
|
|
58
|
-
- [Building a React extension](docs/react.md) — Bootstrap
|
|
69
|
+
- [Building a React extension](docs/react-guide.md) — Bootstrap a React app with the Extension SDK
|
|
70
|
+
- [Releasing](docs/releasing.md) — Changesets, stable and RC publishes
|
|
59
71
|
- [API reference](https://kadanza-io.github.io/extension-sdk/) — TypeDoc generated documentation describing all the small details, classes, interfaces, payloads...
|
|
60
72
|
|
|
61
73
|
## Local development
|
|
@@ -64,14 +76,17 @@ Check [Flows.md](/docs/flows.md) for all available flows. Building with React? S
|
|
|
64
76
|
npm install
|
|
65
77
|
```
|
|
66
78
|
|
|
67
|
-
| Command
|
|
68
|
-
|
|
|
69
|
-
| `npm run dev`
|
|
70
|
-
| `npm run build`
|
|
71
|
-
| `npm run preview`
|
|
72
|
-
| `npm run docs`
|
|
73
|
-
| `npm run docs:check`
|
|
74
|
-
| `npm run check:types`
|
|
79
|
+
| Command | Description |
|
|
80
|
+
| ------------------------- | ---------------------------------------------------- |
|
|
81
|
+
| `npm run dev` | Serve the playground for embedding in the parent app |
|
|
82
|
+
| `npm run build` | Emit `dist/` (ESM + CJS + types) |
|
|
83
|
+
| `npm run preview` | Preview the production playground build |
|
|
84
|
+
| `npm run docs` | Generate HTML API docs under `docs/api/` |
|
|
85
|
+
| `npm run docs:check` | Validate TypeDoc without writing output |
|
|
86
|
+
| `npm run check:types` | Check published package types with arethetypeswrong |
|
|
87
|
+
| `npm run changeset` | Add a changeset for the next release |
|
|
88
|
+
| `npm run release:rc:enter`| Enter RC prerelease mode on `main` |
|
|
89
|
+
| `npm run release:rc:exit` | Exit RC prerelease mode |
|
|
75
90
|
|
|
76
91
|
`npm run dev` serves the playground at `https://localhost:5000` (accept the
|
|
77
92
|
self-signed certificate warning once). Use this HTTPS origin for the parent
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kadanza/extension-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Helpers for building extensions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kadanza",
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
"files": [
|
|
37
37
|
"dist"
|
|
38
38
|
],
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
39
42
|
"scripts": {
|
|
40
43
|
"dev": "vite",
|
|
41
44
|
"build": "tsc -p tsconfig.lib.json --noEmit && vite build",
|
|
@@ -43,9 +46,17 @@
|
|
|
43
46
|
"docs": "typedoc",
|
|
44
47
|
"docs:check": "typedoc --emit none",
|
|
45
48
|
"check:types": "npx --yes @arethetypeswrong/cli --pack .",
|
|
49
|
+
"changeset": "changeset",
|
|
50
|
+
"version-packages": "changeset version",
|
|
51
|
+
"version-packages:snapshot": "changeset version --snapshot canary",
|
|
52
|
+
"release": "changeset publish",
|
|
53
|
+
"release:canary": "changeset publish --tag canary --no-git-tag",
|
|
54
|
+
"release:rc:enter": "changeset pre enter rc && node scripts/sync-rc-banner.mjs enter",
|
|
55
|
+
"release:rc:exit": "changeset pre exit && node scripts/sync-rc-banner.mjs exit",
|
|
46
56
|
"prepublishOnly": "npm run build && npm run check:types"
|
|
47
57
|
},
|
|
48
58
|
"devDependencies": {
|
|
59
|
+
"@changesets/cli": "^2.31.1",
|
|
49
60
|
"@vitejs/plugin-basic-ssl": "^2.3.0",
|
|
50
61
|
"typedoc": "^0.28.20",
|
|
51
62
|
"typescript": "~6.0.2",
|