Skip to content
Timea edited this page Sep 30, 2021 · 15 revisions

Tips for developers

This is intended to give some help when developing SolidOs.

What is a store?

A store is created by rdflib library (see introduction). Synonyms are "kb" (knowledge base), LiveStore A store relates to a javascript object meant to manipulate RDF in memory. Basically it is an object organized to allow parsing through quads. A quad is a triple with a source document.

Is a store a cache system ?

yes mostly if called through solid-logic

How to clean a document from a store

rdflib tips

  • webOperations : performs all HTTP fetch functions
  • fetcher.load : insert a web document to the store if not existing already
  • updater.update : update store data and write them back to the web

How to run SolidOs on Apple M1 chip 16.09.21

  • currently SolidOS needs node 12.19.1 and node 13.14.0 and node 12.7.0 but M1 chip cannot install node < v14

Solution:

  • on MacOs terminal one can switch the architecture used to build code, you need to switch to -x86_64 with the command: $env /usr/bin/arch -x86_64 /bin/zsh —-login
  • to check if it worked check with arch command in the terminal, the result should show i386
  • afterwards you can proceed to install other node versions: nvm install 12.19.1 and nvm install 13.14.0 and nvm install 12.7.0
  • it can be that mashlib does not build because of errors like ERROR in ./src/styles/index.scss (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/index.scss) Module Error (from ./node_modules/sass-loader/dist/cjs.js): Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Node.js 12.x For more information on which environments are supported please see: https://github.com/sass/node-sass/releases/tag/v6.0.1 In this case you need to run node itself in the right architecture with the command node -p process.arch -> has to display x64. Then you can go ahead and build mashlib again npm run build

References:

Clone this wiki locally