@togglely/sdk 1.0.0
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 +90 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# @togglely/sdk
|
|
2
|
+
|
|
3
|
+
Vanilla JavaScript SDK for Togglely - Works with any framework or vanilla JS.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @togglely/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or via CDN:
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<script src="https://unpkg.com/@togglely/sdk/dist/index.umd.min.js"></script>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
### ES Modules
|
|
20
|
+
|
|
21
|
+
```javascript
|
|
22
|
+
import { TogglelyClient } from '@togglely/sdk';
|
|
23
|
+
|
|
24
|
+
const client = new TogglelyClient({
|
|
25
|
+
apiKey: 'your-api-key',
|
|
26
|
+
environment: 'production',
|
|
27
|
+
baseUrl: 'https://your-togglely-instance.com'
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const isEnabled = await client.isEnabled('new-feature', false);
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Global Instance (Vanilla JS)
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
import { initTogglely, isEnabled } from '@togglely/sdk';
|
|
37
|
+
|
|
38
|
+
// Initialize global instance
|
|
39
|
+
initTogglely({
|
|
40
|
+
apiKey: 'your-api-key',
|
|
41
|
+
environment: 'production',
|
|
42
|
+
baseUrl: 'https://your-togglely-instance.com'
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// Use global helpers
|
|
46
|
+
const enabled = await isEnabled('new-feature', false);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### CDN Usage
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<script src="https://unpkg.com/@togglely/sdk/dist/index.umd.min.js"></script>
|
|
53
|
+
<script>
|
|
54
|
+
const client = new Togglely.TogglelyClient({
|
|
55
|
+
apiKey: 'your-api-key',
|
|
56
|
+
environment: 'production',
|
|
57
|
+
baseUrl: 'https://your-togglely-instance.com'
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
client.isEnabled('new-feature').then(function(enabled) {
|
|
61
|
+
if (enabled) {
|
|
62
|
+
document.getElementById('new-feature').style.display = 'block';
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
</script>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### DOM Helpers
|
|
69
|
+
|
|
70
|
+
```javascript
|
|
71
|
+
import { togglelyToggle, togglelyInit } from '@togglely/sdk';
|
|
72
|
+
|
|
73
|
+
// Toggle element visibility based on toggle
|
|
74
|
+
togglelyToggle('#new-feature', 'new-feature');
|
|
75
|
+
|
|
76
|
+
// Initialize multiple elements
|
|
77
|
+
togglelyInit({
|
|
78
|
+
'new-feature': ['.new-feature', '.new-banner'],
|
|
79
|
+
'dark-mode': ['body'],
|
|
80
|
+
'premium': {
|
|
81
|
+
selector: '.premium-content',
|
|
82
|
+
defaultValue: false,
|
|
83
|
+
invert: false
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## API
|
|
89
|
+
|
|
90
|
+
Same as `@togglely/sdk-core`.
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@togglely/sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Vanilla JavaScript SDK for Togglely - Feature toggles for any framework",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.esm.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"unpkg": "dist/index.umd.js",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc && rollup -c",
|
|
14
|
+
"test": "jest"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"feature-flags",
|
|
18
|
+
"feature-toggles",
|
|
19
|
+
"togglely",
|
|
20
|
+
"vanilla",
|
|
21
|
+
"javascript"
|
|
22
|
+
],
|
|
23
|
+
"author": "Togglely",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@togglely/sdk-core": "^1.0.0"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
30
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
31
|
+
"@rollup/plugin-typescript": "^11.1.5",
|
|
32
|
+
"rollup": "^4.9.1",
|
|
33
|
+
"tslib": "^2.6.2",
|
|
34
|
+
"typescript": "^5.3.3"
|
|
35
|
+
}
|
|
36
|
+
}
|