strata-storage 2.8.1 → 2.8.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/AI-INTEGRATION-GUIDE.md +5 -21
- package/README.md +25 -25
- package/dist/README.md +25 -25
- package/dist/package.json +2 -2
- package/package.json +2 -2
package/AI-INTEGRATION-GUIDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AI Integration Guide - strata-storage
|
|
2
2
|
|
|
3
|
-
Quick reference for AI development agents (Claude Code, Cursor, Copilot, etc.) to integrate `strata-storage` into web and mobile projects. Current version: **2.8.
|
|
3
|
+
Quick reference for AI development agents (Claude Code, Cursor, Copilot, etc.) to integrate `strata-storage` into web and mobile projects. Current version: **2.8.2**.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -209,16 +209,9 @@ const storage = defineStorage();
|
|
|
209
209
|
|
|
210
210
|
### Capacitor (native)
|
|
211
211
|
|
|
212
|
-
`strata-storage` ships as a Capacitor plugin (native iOS + Android). In a Capacitor
|
|
213
|
-
app, after installing run **`npx cap sync`** so the native module is copied into the
|
|
214
|
-
iOS/Android projects — the native adapters (`secure`, `sqlite`, `preferences`,
|
|
215
|
-
`filesystem`) **do not work on-device without it**. No manual plugin registration in
|
|
216
|
-
JS is needed; Capacitor auto-discovers the `StrataStorage` plugin.
|
|
217
|
-
|
|
218
212
|
```typescript
|
|
219
213
|
import { defineStorage } from 'strata-storage';
|
|
220
214
|
import {
|
|
221
|
-
registerCapacitorAdapters,
|
|
222
215
|
PreferencesAdapter,
|
|
223
216
|
SecureAdapter,
|
|
224
217
|
SqliteAdapter,
|
|
@@ -226,15 +219,10 @@ import {
|
|
|
226
219
|
} from 'strata-storage/capacitor';
|
|
227
220
|
|
|
228
221
|
const storage = defineStorage();
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
// …or register individually for fine-grained control / custom adapter config:
|
|
234
|
-
// storage.registerAdapter(new SecureAdapter());
|
|
235
|
-
// storage.registerAdapter(new SqliteAdapter()); // 2.6.0 — multi-store (database + table)
|
|
236
|
-
// storage.registerAdapter(new FilesystemAdapter()); // 2.6.0 — file-per-key, atomic writes
|
|
237
|
-
|
|
222
|
+
storage.registerAdapter(new PreferencesAdapter());
|
|
223
|
+
storage.registerAdapter(new SecureAdapter());
|
|
224
|
+
storage.registerAdapter(new SqliteAdapter()); // 2.6.0 — multi-store (database + table)
|
|
225
|
+
storage.registerAdapter(new FilesystemAdapter()); // 2.6.0 — file-per-key, atomic writes
|
|
238
226
|
await storage.set('secret', token, { storage: 'secure' });
|
|
239
227
|
```
|
|
240
228
|
|
|
@@ -327,8 +315,6 @@ const storage = defineStorage({
|
|
|
327
315
|
| Issue | Solution |
|
|
328
316
|
|-------|----------|
|
|
329
317
|
| Framework import fails | Ensure `strata-storage >= 2.5.0` (earlier versions never shipped the built entry points). |
|
|
330
|
-
| TS can't find types for `strata-storage/react` \| `/vue` \| `/angular` \| `/capacitor` \| `/firebase` | Set `"moduleResolution": "bundler"` (or `"nodenext"`) in `tsconfig.json`. The package is ESM-only and exposes typed `exports` subpaths; classic `"node"` resolution can't see them. Modern Vite / Angular / Vue templates already use `bundler`/`nodenext`. |
|
|
331
|
-
| Native adapters do nothing on device | Run `npx cap sync` after install so the native iOS/Android module is wired in, then register the Capacitor adapters (`registerCapacitorAdapters(storage)`). |
|
|
332
318
|
| "does not support synchronous operations" | The targeted adapter is async-only; use the async API or a sync-capable adapter. |
|
|
333
319
|
| Sync set throws on encrypt/compress | Encryption/compression are async — use `await storage.set(...)`. |
|
|
334
320
|
| `useStrata must be used within <StrataProvider>` | Use `createStrataHooks(instance)` for provider-free code. |
|
|
@@ -348,8 +334,6 @@ Full documentation lives at **https://stratastorage-docs.aoneahsan.com**:
|
|
|
348
334
|
- [Changelog](https://stratastorage-docs.aoneahsan.com/reference/changelog)
|
|
349
335
|
- Machine-readable: [`/llms.txt`](https://stratastorage-docs.aoneahsan.com/llms.txt) · [`/llms-full.txt`](https://stratastorage-docs.aoneahsan.com/llms-full.txt)
|
|
350
336
|
|
|
351
|
-
Project: [npm](https://www.npmjs.com/package/strata-storage) · [GitHub](https://github.com/aoneahsan/strata-storage) · [Report an issue](https://github.com/aoneahsan/strata-storage/issues)
|
|
352
|
-
|
|
353
337
|
---
|
|
354
338
|
|
|
355
339
|
Developed with ❤️ by the **Strata Storage Team** — maintained by [Ahsan Mahmood](https://aoneahsan.com). Questions or integration help: **aoneahsan@gmail.com**.
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.typescriptlang.org/)
|
|
10
10
|
[](https://stratastorage.aoneahsan.com)
|
|
11
11
|
|
|
12
|
-
- **Version:** `2.8.
|
|
12
|
+
- **Version:** `2.8.2`
|
|
13
13
|
- **License:** MIT
|
|
14
14
|
- **Node.js:** `>= 24.13.0`
|
|
15
15
|
- **Module format:** ESM only
|
|
@@ -390,14 +390,11 @@ const active = await storage.query({
|
|
|
390
390
|
|
|
391
391
|
### iOS and Android (via Capacitor)
|
|
392
392
|
|
|
393
|
-
Strata ships as a Capacitor plugin (native iOS + Android). In a Capacitor app, after `yarn add strata-storage` run **`npx cap sync`** so the native module is copied into your iOS/Android projects — the native adapters (`secure`, `sqlite`, `preferences`, `filesystem`) won't work on-device without it.
|
|
394
|
-
|
|
395
393
|
Register the native adapters you need when running under Capacitor. All four are zero-runtime-dependency: SQLite is hand-rolled (no plugin dependency) and filesystem uses the platform's native `FileManager` / `java.io.File`.
|
|
396
394
|
|
|
397
395
|
```typescript
|
|
398
396
|
import { defineStorage } from 'strata-storage';
|
|
399
397
|
import {
|
|
400
|
-
registerCapacitorAdapters,
|
|
401
398
|
PreferencesAdapter,
|
|
402
399
|
SecureAdapter,
|
|
403
400
|
SqliteAdapter,
|
|
@@ -405,15 +402,10 @@ import {
|
|
|
405
402
|
} from 'strata-storage/capacitor';
|
|
406
403
|
|
|
407
404
|
const storage = defineStorage();
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
// …or register individually for fine-grained control / custom adapter config:
|
|
413
|
-
// storage.registerAdapter(new PreferencesAdapter()); // UserDefaults / SharedPreferences
|
|
414
|
-
// storage.registerAdapter(new SecureAdapter()); // Keychain / EncryptedSharedPreferences
|
|
415
|
-
// storage.registerAdapter(new SqliteAdapter()); // native SQLite
|
|
416
|
-
// storage.registerAdapter(new FilesystemAdapter()); // native files
|
|
405
|
+
storage.registerAdapter(new PreferencesAdapter()); // UserDefaults / SharedPreferences
|
|
406
|
+
storage.registerAdapter(new SecureAdapter()); // Keychain / EncryptedSharedPreferences
|
|
407
|
+
storage.registerAdapter(new SqliteAdapter()); // native SQLite
|
|
408
|
+
storage.registerAdapter(new FilesystemAdapter()); // native files
|
|
417
409
|
|
|
418
410
|
await storage.set('secret', token, { storage: 'secure' });
|
|
419
411
|
```
|
|
@@ -486,24 +478,24 @@ Optional peer dependencies (install only the ones you use): `react >= 19.2.3`, `
|
|
|
486
478
|
|
|
487
479
|
## Documentation
|
|
488
480
|
|
|
489
|
-
📚 **
|
|
490
|
-
🤖 **For AI agents
|
|
481
|
+
📚 **Full documentation: [stratastorage-docs.aoneahsan.com](https://stratastorage-docs.aoneahsan.com)**
|
|
482
|
+
🤖 **For AI agents: [stratastorage-docs.aoneahsan.com/ai](https://stratastorage-docs.aoneahsan.com/ai)** (plus [`/llms.txt`](https://stratastorage-docs.aoneahsan.com/llms.txt) and [`/llms-full.txt`](https://stratastorage-docs.aoneahsan.com/llms-full.txt))
|
|
491
483
|
|
|
492
484
|
### Getting Started
|
|
493
|
-
- [
|
|
485
|
+
- [Installation](https://stratastorage-docs.aoneahsan.com/installation) · [Quick Start](https://stratastorage-docs.aoneahsan.com/quick-start) · [Configuration](https://stratastorage-docs.aoneahsan.com/configuration)
|
|
494
486
|
|
|
495
487
|
### API
|
|
496
|
-
- [API Reference](
|
|
497
|
-
- [All adapters](
|
|
488
|
+
- [API Reference](https://stratastorage-docs.aoneahsan.com/api) · [Core (`Strata`)](https://stratastorage-docs.aoneahsan.com/api/core/strata) · [Types](https://stratastorage-docs.aoneahsan.com/api/core/types) · [Errors](https://stratastorage-docs.aoneahsan.com/api/core/errors)
|
|
489
|
+
- [All adapters](https://stratastorage-docs.aoneahsan.com/api/adapters) — web (localStorage, IndexedDB, cookies, Cache, URL, …) + Capacitor (Preferences, Secure, SQLite, Filesystem) + remote (Firebase)
|
|
498
490
|
|
|
499
491
|
### Features
|
|
500
|
-
- [Encryption](
|
|
492
|
+
- [Encryption](https://stratastorage-docs.aoneahsan.com/guides/features/encryption) · [Compression](https://stratastorage-docs.aoneahsan.com/guides/features/compression) · [TTL](https://stratastorage-docs.aoneahsan.com/api/features/ttl) · [Sync](https://stratastorage-docs.aoneahsan.com/guides/features/sync) · [Queries](https://stratastorage-docs.aoneahsan.com/guides/features/queries) · [Migrations](https://stratastorage-docs.aoneahsan.com/guides/features/migrations) · [Recovery & Integrity](https://stratastorage-docs.aoneahsan.com/api/features/recovery)
|
|
501
493
|
|
|
502
494
|
### Platforms
|
|
503
|
-
- [Web](
|
|
495
|
+
- [Web](https://stratastorage-docs.aoneahsan.com/guides/platforms/web) · [iOS](https://stratastorage-docs.aoneahsan.com/guides/platforms/ios) · [Android](https://stratastorage-docs.aoneahsan.com/guides/platforms/android) · [Capacitor](https://stratastorage-docs.aoneahsan.com/guides/platforms/capacitor) · [Firebase](https://stratastorage-docs.aoneahsan.com/guides/platforms/firebase)
|
|
504
496
|
|
|
505
497
|
### Examples & Reference
|
|
506
|
-
- [Examples](
|
|
498
|
+
- [Examples](https://stratastorage-docs.aoneahsan.com/examples) · [Changelog](https://stratastorage-docs.aoneahsan.com/reference/changelog) · [FAQ](https://stratastorage-docs.aoneahsan.com/reference/faq) · [Troubleshooting](https://stratastorage-docs.aoneahsan.com/reference/troubleshooting) · [Migration](https://stratastorage-docs.aoneahsan.com/migration)
|
|
507
499
|
|
|
508
500
|
## Contributing
|
|
509
501
|
|
|
@@ -526,18 +518,26 @@ MIT License — see [LICENSE](LICENSE). Free for commercial and non-commercial u
|
|
|
526
518
|
## Links
|
|
527
519
|
|
|
528
520
|
- **NPM Package:** https://www.npmjs.com/package/strata-storage
|
|
529
|
-
- **GitHub Repo:** https://github.com/aoneahsan/strata-storage
|
|
530
521
|
- **Documentation:** https://stratastorage-docs.aoneahsan.com
|
|
531
522
|
- **Website:** https://stratastorage.aoneahsan.com
|
|
532
523
|
|
|
533
524
|
## Support
|
|
534
525
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
526
|
+
1. Check the [FAQ](https://stratastorage-docs.aoneahsan.com/reference/faq) and [Troubleshooting](https://stratastorage-docs.aoneahsan.com/reference/troubleshooting)
|
|
527
|
+
2. Browse the [documentation](https://stratastorage-docs.aoneahsan.com)
|
|
528
|
+
3. [Contact us / report an issue](https://stratastorage.aoneahsan.com/contact)
|
|
538
529
|
|
|
539
530
|
---
|
|
540
531
|
|
|
541
532
|
Developed with ❤️ by the **Strata Storage Team** — maintained by [Ahsan Mahmood](https://aoneahsan.com) · aoneahsan@gmail.com.
|
|
542
533
|
|
|
543
534
|
**One API. Every Storage. Everywhere.**
|
|
535
|
+
|
|
536
|
+
<!-- project-links:start -->
|
|
537
|
+
## Links
|
|
538
|
+
|
|
539
|
+
- Live: https://www.npmjs.com/package/strata-storage
|
|
540
|
+
- NPM: https://www.npmjs.com/package/strata-storage
|
|
541
|
+
|
|
542
|
+
_URL source of truth: `01-code/projects/project-live-urls.json` (auto-generated — do not hand-edit between these markers)._
|
|
543
|
+
<!-- project-links:end -->
|
package/dist/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://www.typescriptlang.org/)
|
|
10
10
|
[](https://stratastorage.aoneahsan.com)
|
|
11
11
|
|
|
12
|
-
- **Version:** `2.8.
|
|
12
|
+
- **Version:** `2.8.2`
|
|
13
13
|
- **License:** MIT
|
|
14
14
|
- **Node.js:** `>= 24.13.0`
|
|
15
15
|
- **Module format:** ESM only
|
|
@@ -390,14 +390,11 @@ const active = await storage.query({
|
|
|
390
390
|
|
|
391
391
|
### iOS and Android (via Capacitor)
|
|
392
392
|
|
|
393
|
-
Strata ships as a Capacitor plugin (native iOS + Android). In a Capacitor app, after `yarn add strata-storage` run **`npx cap sync`** so the native module is copied into your iOS/Android projects — the native adapters (`secure`, `sqlite`, `preferences`, `filesystem`) won't work on-device without it.
|
|
394
|
-
|
|
395
393
|
Register the native adapters you need when running under Capacitor. All four are zero-runtime-dependency: SQLite is hand-rolled (no plugin dependency) and filesystem uses the platform's native `FileManager` / `java.io.File`.
|
|
396
394
|
|
|
397
395
|
```typescript
|
|
398
396
|
import { defineStorage } from 'strata-storage';
|
|
399
397
|
import {
|
|
400
|
-
registerCapacitorAdapters,
|
|
401
398
|
PreferencesAdapter,
|
|
402
399
|
SecureAdapter,
|
|
403
400
|
SqliteAdapter,
|
|
@@ -405,15 +402,10 @@ import {
|
|
|
405
402
|
} from 'strata-storage/capacitor';
|
|
406
403
|
|
|
407
404
|
const storage = defineStorage();
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
// …or register individually for fine-grained control / custom adapter config:
|
|
413
|
-
// storage.registerAdapter(new PreferencesAdapter()); // UserDefaults / SharedPreferences
|
|
414
|
-
// storage.registerAdapter(new SecureAdapter()); // Keychain / EncryptedSharedPreferences
|
|
415
|
-
// storage.registerAdapter(new SqliteAdapter()); // native SQLite
|
|
416
|
-
// storage.registerAdapter(new FilesystemAdapter()); // native files
|
|
405
|
+
storage.registerAdapter(new PreferencesAdapter()); // UserDefaults / SharedPreferences
|
|
406
|
+
storage.registerAdapter(new SecureAdapter()); // Keychain / EncryptedSharedPreferences
|
|
407
|
+
storage.registerAdapter(new SqliteAdapter()); // native SQLite
|
|
408
|
+
storage.registerAdapter(new FilesystemAdapter()); // native files
|
|
417
409
|
|
|
418
410
|
await storage.set('secret', token, { storage: 'secure' });
|
|
419
411
|
```
|
|
@@ -486,24 +478,24 @@ Optional peer dependencies (install only the ones you use): `react >= 19.2.3`, `
|
|
|
486
478
|
|
|
487
479
|
## Documentation
|
|
488
480
|
|
|
489
|
-
📚 **
|
|
490
|
-
🤖 **For AI agents
|
|
481
|
+
📚 **Full documentation: [stratastorage-docs.aoneahsan.com](https://stratastorage-docs.aoneahsan.com)**
|
|
482
|
+
🤖 **For AI agents: [stratastorage-docs.aoneahsan.com/ai](https://stratastorage-docs.aoneahsan.com/ai)** (plus [`/llms.txt`](https://stratastorage-docs.aoneahsan.com/llms.txt) and [`/llms-full.txt`](https://stratastorage-docs.aoneahsan.com/llms-full.txt))
|
|
491
483
|
|
|
492
484
|
### Getting Started
|
|
493
|
-
- [
|
|
485
|
+
- [Installation](https://stratastorage-docs.aoneahsan.com/installation) · [Quick Start](https://stratastorage-docs.aoneahsan.com/quick-start) · [Configuration](https://stratastorage-docs.aoneahsan.com/configuration)
|
|
494
486
|
|
|
495
487
|
### API
|
|
496
|
-
- [API Reference](
|
|
497
|
-
- [All adapters](
|
|
488
|
+
- [API Reference](https://stratastorage-docs.aoneahsan.com/api) · [Core (`Strata`)](https://stratastorage-docs.aoneahsan.com/api/core/strata) · [Types](https://stratastorage-docs.aoneahsan.com/api/core/types) · [Errors](https://stratastorage-docs.aoneahsan.com/api/core/errors)
|
|
489
|
+
- [All adapters](https://stratastorage-docs.aoneahsan.com/api/adapters) — web (localStorage, IndexedDB, cookies, Cache, URL, …) + Capacitor (Preferences, Secure, SQLite, Filesystem) + remote (Firebase)
|
|
498
490
|
|
|
499
491
|
### Features
|
|
500
|
-
- [Encryption](
|
|
492
|
+
- [Encryption](https://stratastorage-docs.aoneahsan.com/guides/features/encryption) · [Compression](https://stratastorage-docs.aoneahsan.com/guides/features/compression) · [TTL](https://stratastorage-docs.aoneahsan.com/api/features/ttl) · [Sync](https://stratastorage-docs.aoneahsan.com/guides/features/sync) · [Queries](https://stratastorage-docs.aoneahsan.com/guides/features/queries) · [Migrations](https://stratastorage-docs.aoneahsan.com/guides/features/migrations) · [Recovery & Integrity](https://stratastorage-docs.aoneahsan.com/api/features/recovery)
|
|
501
493
|
|
|
502
494
|
### Platforms
|
|
503
|
-
- [Web](
|
|
495
|
+
- [Web](https://stratastorage-docs.aoneahsan.com/guides/platforms/web) · [iOS](https://stratastorage-docs.aoneahsan.com/guides/platforms/ios) · [Android](https://stratastorage-docs.aoneahsan.com/guides/platforms/android) · [Capacitor](https://stratastorage-docs.aoneahsan.com/guides/platforms/capacitor) · [Firebase](https://stratastorage-docs.aoneahsan.com/guides/platforms/firebase)
|
|
504
496
|
|
|
505
497
|
### Examples & Reference
|
|
506
|
-
- [Examples](
|
|
498
|
+
- [Examples](https://stratastorage-docs.aoneahsan.com/examples) · [Changelog](https://stratastorage-docs.aoneahsan.com/reference/changelog) · [FAQ](https://stratastorage-docs.aoneahsan.com/reference/faq) · [Troubleshooting](https://stratastorage-docs.aoneahsan.com/reference/troubleshooting) · [Migration](https://stratastorage-docs.aoneahsan.com/migration)
|
|
507
499
|
|
|
508
500
|
## Contributing
|
|
509
501
|
|
|
@@ -526,18 +518,26 @@ MIT License — see [LICENSE](LICENSE). Free for commercial and non-commercial u
|
|
|
526
518
|
## Links
|
|
527
519
|
|
|
528
520
|
- **NPM Package:** https://www.npmjs.com/package/strata-storage
|
|
529
|
-
- **GitHub Repo:** https://github.com/aoneahsan/strata-storage
|
|
530
521
|
- **Documentation:** https://stratastorage-docs.aoneahsan.com
|
|
531
522
|
- **Website:** https://stratastorage.aoneahsan.com
|
|
532
523
|
|
|
533
524
|
## Support
|
|
534
525
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
526
|
+
1. Check the [FAQ](https://stratastorage-docs.aoneahsan.com/reference/faq) and [Troubleshooting](https://stratastorage-docs.aoneahsan.com/reference/troubleshooting)
|
|
527
|
+
2. Browse the [documentation](https://stratastorage-docs.aoneahsan.com)
|
|
528
|
+
3. [Contact us / report an issue](https://stratastorage.aoneahsan.com/contact)
|
|
538
529
|
|
|
539
530
|
---
|
|
540
531
|
|
|
541
532
|
Developed with ❤️ by the **Strata Storage Team** — maintained by [Ahsan Mahmood](https://aoneahsan.com) · aoneahsan@gmail.com.
|
|
542
533
|
|
|
543
534
|
**One API. Every Storage. Everywhere.**
|
|
535
|
+
|
|
536
|
+
<!-- project-links:start -->
|
|
537
|
+
## Links
|
|
538
|
+
|
|
539
|
+
- Live: https://www.npmjs.com/package/strata-storage
|
|
540
|
+
- NPM: https://www.npmjs.com/package/strata-storage
|
|
541
|
+
|
|
542
|
+
_URL source of truth: `01-code/projects/project-live-urls.json` (auto-generated — do not hand-edit between these markers)._
|
|
543
|
+
<!-- project-links:end -->
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strata-storage",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.2",
|
|
4
4
|
"description": "Zero-dependency universal storage plugin providing a unified API for all storage operations across web, Android, and iOS platforms",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"url": "https://github.com/aoneahsan/strata-storage.git"
|
|
44
44
|
},
|
|
45
45
|
"bugs": {
|
|
46
|
-
"url": "https://
|
|
46
|
+
"url": "https://stratastorage.aoneahsan.com/contact",
|
|
47
47
|
"email": "aoneahsan@gmail.com"
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://stratastorage.aoneahsan.com",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strata-storage",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.2",
|
|
4
4
|
"description": "Zero-dependency universal storage plugin providing a unified API for all storage operations across web, Android, and iOS platforms",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "yarn@4.17.0",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"url": "https://github.com/aoneahsan/strata-storage.git"
|
|
88
88
|
},
|
|
89
89
|
"bugs": {
|
|
90
|
-
"url": "https://
|
|
90
|
+
"url": "https://stratastorage.aoneahsan.com/contact",
|
|
91
91
|
"email": "aoneahsan@gmail.com"
|
|
92
92
|
},
|
|
93
93
|
"homepage": "https://stratastorage.aoneahsan.com",
|