[docs][core] Move devel docs to wiki, use correct api package

This commit is contained in:
Ferdinand Thiessen 2021-05-26 18:49:36 +02:00
parent 16fd9201ae
commit 22f47bd34e
5 changed files with 13 additions and 75 deletions

View File

@ -76,61 +76,4 @@ yarn quasar build
## Development ## Development
### Icons used Please refer to out [development wiki](https://flaschengeist.dev/Flaschengeist/flaschengeist/wiki/Development).
We are using the `mdi-v5` icon set, so feel free to use any icon from it.
A list can be found [here](https://materialdesignicons.com/)
### Commands useful for development
#### Start the app in development mode
Provides hot-code reloading, error reporting, etc.
```bash
yarn quasar dev
```
#### File linting
```bash
yarn run lint
```
### Plugins
#### Build a Plugin
Create a new node.js project and add `@flaschengeist/api` as a peer dependency (e.g. `yarn add --peer '@flaschengeist/api'`).
If your plugin depends on an other plugin (e.g. you use the `@flaschengeist/users` plugin / stores),
then you have to add that plugin as a peer dependency too.
You need to define a main entry point for your plugin (e.g. `"main": "src/index.ts"` in your `package.json`) which exportes
a plugin descriptor as the default export (see `@flaschengeist/types` -> `FG_Plugin.Plugin`).
E.g.
```ts
import { FG_Plugin } from '@flaschengeist/types';
import { routes } from './routes';
const plugin: FG_Plugin.Plugin = {
id: 'com.example.myplugin',
name: 'myplugin',
innerRoutes: routes,
// This are required backend plugins:
requiredModules: [['auth'], ['users'], ['roles']],
version: '0.0.1',
widgets: [
{
priority: 1,
name: 'greeting',
permissions: [],
widget: defineAsyncComponent(() => import('./components/Widget.vue')),
},
],
};
export default plugin;
```
This will add a plugin providing a widget for the dashboard side and some routes.

View File

@ -1,5 +1,4 @@
{ {
"private": true,
"license": "MIT", "license": "MIT",
"version": "1.0.0-alpha.1", "version": "1.0.0-alpha.1",
"name": "@flaschengeist/api", "name": "@flaschengeist/api",
@ -7,7 +6,7 @@
"homepage": "https://flaschengeist.dev/Flaschengeist", "homepage": "https://flaschengeist.dev/Flaschengeist",
"description": "Modular student club administration system", "description": "Modular student club administration system",
"bugs": { "bugs": {
"url": "https://flaschengeist.dev/Flaschengeist/flaschengeist-frontend/issues" "url": "https://flaschengeist.dev/Flaschengeist/flaschengeist/issues"
}, },
"scripts": { "scripts": {
"format": "prettier --config ./package.json --write '{,!(node_modules)/**/}*.ts'", "format": "prettier --config ./package.json --write '{,!(node_modules)/**/}*.ts'",
@ -20,7 +19,7 @@
"pinia": "^2.0.0-alpha.19" "pinia": "^2.0.0-alpha.19"
}, },
"devDependencies": { "devDependencies": {
"@flaschengeist/types": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-types.git#develop", "@flaschengeist/types": "^1.0.0-alpha.1",
"@types/node": "^12.20.13", "@types/node": "^12.20.13",
"@typescript-eslint/eslint-plugin": "^4.24.0", "@typescript-eslint/eslint-plugin": "^4.24.0",
"@typescript-eslint/parser": "^4.24.0", "@typescript-eslint/parser": "^4.24.0",
@ -34,7 +33,7 @@
"prettier": { "prettier": {
"singleQuote": true, "singleQuote": true,
"semi": true, "semi": true,
"printWidth": 100, "printWidth": 120,
"arrowParens": "always" "arrowParens": "always"
} }
} }

View File

@ -8,7 +8,7 @@
"homepage": "https://flaschengeist.dev/Flaschengeist", "homepage": "https://flaschengeist.dev/Flaschengeist",
"description": "Modular student club administration system", "description": "Modular student club administration system",
"bugs": { "bugs": {
"url": "https://flaschengeist.dev/Flaschengeist/flaschengeist-frontend/issues" "url": "https://flaschengeist.dev/Flaschengeist/flaschengeist/issues"
}, },
"scripts": { "scripts": {
"format": "prettier --config ./package.json --write '{,!(node_modules)/**/}*.ts'", "format": "prettier --config ./package.json --write '{,!(node_modules)/**/}*.ts'",
@ -16,17 +16,14 @@
}, },
"dependencies": { "dependencies": {
"@flaschengeist/api": "file:./api", "@flaschengeist/api": "file:./api",
"@flaschengeist/users": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-users.git#develop", "@flaschengeist/users": "^1.0.0-alpha.1",
"@flaschengeist/schedule": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-schedule.git#develop",
"@flaschengeist/balance": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-balance.git#develop",
"@flaschengeist/pricelist": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-pricelist.git#develop",
"axios": "^0.21.1", "axios": "^0.21.1",
"cordova": "^10.0.0", "cordova": "^10.0.0",
"pinia": "^2.0.0-alpha.19", "pinia": "^2.0.0-alpha.19",
"quasar": "^2.0.0-beta.18" "quasar": "^2.0.0-beta.18"
}, },
"devDependencies": { "devDependencies": {
"@flaschengeist/types": "git+https://flaschengeist.dev/ferfissimo/flaschengeist-types.git#develop", "@flaschengeist/types": "^1.0.0-alpha.1",
"@quasar/app": "^3.0.0-beta.26", "@quasar/app": "^3.0.0-beta.26",
"@quasar/extras": "^1.10.4", "@quasar/extras": "^1.10.4",
"@types/node": "^12.20.13", "@types/node": "^12.20.13",
@ -46,7 +43,7 @@
"prettier": { "prettier": {
"singleQuote": true, "singleQuote": true,
"semi": true, "semi": true,
"printWidth": 100, "printWidth": 120,
"arrowParens": "always" "arrowParens": "always"
}, },
"browserslist": [ "browserslist": [

View File

@ -1,6 +1,6 @@
// You can add your plugins here // You can add your plugins here
module.exports = [ module.exports = [
'@flaschengeist/balance', // '@flaschengeist/balance',
'@flaschengeist/schedule', // '@flaschengeist/schedule',
'@flaschengeist/pricelist', // '@flaschengeist/pricelist',
] ]

View File

@ -15,7 +15,6 @@ const { configure } = require('quasar/wrappers')
module.exports = configure(function (/* ctx */) { module.exports = configure(function (/* ctx */) {
return { return {
// https://quasar.dev/quasar-cli/supporting-ts
// https://quasar.dev/quasar-cli/supporting-ts // https://quasar.dev/quasar-cli/supporting-ts
supportTS: { supportTS: {
tsCheckerConfig: { tsCheckerConfig: {
@ -55,7 +54,7 @@ module.exports = configure(function (/* ctx */) {
build: { build: {
vueRouterMode: 'history', // available values: 'hash', 'history' vueRouterMode: 'history', // available values: 'hash', 'history'
// transpile: false,// eslint-disable-next-line // transpile: false,
// Add dependencies for transpiling with Babel (Array of string/regex) // Add dependencies for transpiling with Babel (Array of string/regex)
@ -63,7 +62,7 @@ module.exports = configure(function (/* ctx */) {
// Applies only if "transpile" is set to true. // Applies only if "transpile" is set to true.
// transpileDependencies: [], // transpileDependencies: [],
// rtl: false, // https://quasa// eslint-disable-next-line // rtl: false,
// analyze: true, // analyze: true,