@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.
Files changed (2) hide show
  1. package/README.md +90 -0
  2. 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
+ }