forked from localfirstfm/landscape-data-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata.js
More file actions
58 lines (57 loc) · 2.05 KB
/
Copy pathdata.js
File metadata and controls
58 lines (57 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// @ts-check
import { LandscapeSchema } from '@localfirstfm/landscape-schema'
export const data = LandscapeSchema.make({
Version: 1,
Id: 'remotestorage',
Name: 'remoteStorage.js',
Description: 'Open source JavaScript library for storing web app data locally in the browser and syncing files to various back ends.',
Website: 'https://github.com/remotestorage/remotestorage.js',
GitHub: 'https://github.com/remotestorage/remotestorage.js',
GetStarted: 'https://remotestorage.io/rs.js/docs/getting-started/how-to-add.html',
Deployment: ['Self-hosted', 'Hosted', 'Third-party integrations'],
MaturityLevel: 'Production-Ready',
InitialReleaseDate: new Date('2013-07-19T11:35:29Z'),
License: 'MIT',
AppTarget: {
Platform: { data: ['Browser', 'Node'] },
LanguageSDK: { data: ['TypeScript', 'JavaScript'] },
ClientBundleSize: { data: '138kb' },
},
Networking: {
Protocol: { data: 'HTTP' },
Topology: { data: 'Client-Server' },
},
ServerSideData: {
PersistenceMechanism: { data: ['Filesystem', 'custom'] },
DataModelParadigm: { data: 'Document' },
SchemaManagement: {
data: ['None'],
},
},
ClientSideData: {
QueryAPI: { data: ['Async'] },
PersistenceMechanism: { data: ['IndexedDB'] },
DataModel: { data: 'Document' },
SchemaManagement: {
data: ['Schema definition', 'Validate schemas on write'],
comment: 'Built-in support for defining shareable JavaScript modules or JSON schema validations',
},
OfflineReads: { data: 'Full Support' },
OfflineWrites: { data: 'Local conflict resolution' },
},
SynchronizationStrategy: {
FullOrPartialReplication: { data: ['Full Replication', 'Partial Replication', 'Selective caching'] },
ConflictHandling: { data: 'Determined by app' },
WhereResolutionOccurs: { data: 'Client' },
WhatGetsSynced: {
data: {
ClientToServer: 'Files',
},
},
Authority: { data: 'Decentralized', comment: 'Self-hostable server is the source of truth' },
Concurrency: { data: 'Effectively unlimited', comment: 'Bring your own storage' }
},
DeveloperExperience: {
Tools: { data: 'Data Inspector' },
},
})