mashlib-jss
v0.1.1
Published
Optimized Solid data browser library using JSS packages (1.4MB minified)
Maintainers
Readme
mashlib-jss
Optimized Solid data browser library using JSS (JavaScriptSolidServer) packages.
Bundle size: 1.4MB (minified) - 30% smaller than original mashlib
What is this?
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 |
Key optimizations
- 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
Bundle composition
| 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 |
Usage
As a script tag
<script src="mashlib.min.js"></script>
<script>
const authn = SolidLogic.authn
const store = SolidLogic.store
const outliner = panes.getOutliner(document)
// ...
</script>Global variables
Same interface as original mashlib:
$rdf- rdflibpanes- solid-panes-jssUI- solid-ui-jssSolidLogic- { authn, authSession, store, solidLogicSingleton }
Development
# Install dependencies
npm install
# Development server (port 8080)
npm start
# Production build
npm run build
# Check bundle size
npm run bundlesizeTest pages
dist/browse-test.html- Simple data browser test pagedist/browse.html- Full data browser
Related packages
- solid-shim - Minimal Solid data browser with @view support
- solid-oidc - Lightweight OIDC authentication
License
MIT
