Optimized Solid data browser library using JSS (JavaScriptSolidServer) packages.
Bundle size: 1.4MB (minified) - 30% smaller than original mashlib
mashlib-jss is a drop-in replacement for mashlib that uses optimized JSS versions of the Solid stack:
| Original | JSS Version | Notes |
|---|---|---|
| solid-logic | solid-logic-jss | Uses solid-oidc instead of @inrupt/solid-client-authn-browser |
| solid-ui | solid-ui-jss | Uses pane-registry-jss |
| solid-panes | solid-panes-jss | Uses chat-pane-jss, pane-registry-jss |
| pane-registry | pane-registry-jss | Uses solid-logic-jss |
| chat-pane | chat-pane-jss | Uses solid-logic-jss, solid-ui-jss |
- No @inrupt OIDC packages - Uses lightweight solid-oidc instead of @inrupt/solid-client-authn-browser
- ESM modules - Uses ESM versions for better tree shaking
- No Node.js polyfills - Removed unnecessary browser polyfills for Buffer, crypto, stream, path, fs
| Component | Size | Purpose |
|---|---|---|
| rdflib | ~500KB | RDF parsing (N3, RDFa, JSON-LD, Turtle) |
| solid-panes-jss | ~484KB | UI panes (67 modules) |
| solid-ui-jss | ~300KB | UI widgets, forms, ACL controls |
| jose | ~150KB | JWT/JWS crypto for OIDC |
| mime-db | ~143KB | MIME type database |
| solid-oidc | ~100KB | Authentication |
| n3 | ~100KB | N3/Turtle parser |
<script src="mashlib.min.js"></script>
<script>
const authn = SolidLogic.authn
const store = SolidLogic.store
const outliner = panes.getOutliner(document)
// ...
</script>Same interface as original mashlib:
$rdf- rdflibpanes- solid-panes-jssUI- solid-ui-jssSolidLogic- { authn, authSession, store, solidLogicSingleton }
# Install dependencies
npm install
# Development server (port 8080)
npm start
# Production build
npm run build
# Check bundle size
npm run bundlesizedist/browse-test.html- Simple data browser test pagedist/browse.html- Full data browser
- solid-shim - Minimal Solid data browser with @view support
- solid-oidc - Lightweight OIDC authentication
MIT