This allows the apps and window manager to be in their own repositories.
When developing silk, using npm run setup or npm run setup-force will download the apps and window manager listed in setup.json. When publishing, the prepublish script will download them. NPM will include the window manager and certain apps (are excluded in .npmignore) when publishing.
This adds two ways to save settings:
A database. tingodb is used since it is written in javascript and is fast.
JSON files. This will probably be replaced with the database later.
Apps
External apps are apps that are not stored in Silk's app folder. Since in global installs the app folder is kind of hidden, this makes it easier to develop apps. There is a server api to add external apps. They are loaded on start up like any other app. The window manager might want to differentiate from external apps and installed apps to help developers since the external apps might have the same name or icon as another app.
Apps have an id that is inserted in their url. This breaks apps that have urls that are not relative to their public folder.
App's npm dependencies are installed in their folder. This fixes the problem of apps sharing dependencies and now they will get the versions they need.
This allows the apps and window manager to be in their own repositories.
When developing silk, using
npm run setup
ornpm run setup-force
will download the apps and window manager listed in setup.json. When publishing, the prepublish script will download them. NPM will include the window manager and certain apps (are excluded in .npmignore) when publishing.This adds two ways to save settings:
Apps
External apps are apps that are not stored in Silk's app folder. Since in global installs the app folder is kind of hidden, this makes it easier to develop apps. There is a server api to add external apps. They are loaded on start up like any other app. The window manager might want to differentiate from external apps and installed apps to help developers since the external apps might have the same name or icon as another app.
Apps have an id that is inserted in their url. This breaks apps that have urls that are not relative to their public folder.
App's npm dependencies are installed in their folder. This fixes the problem of apps sharing dependencies and now they will get the versions they need.