@raclettejs/core 0.1.30 → 0.1.32-nightly

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +32 -3
  2. package/dist/cli.js +1562 -0
  3. package/dist/cli.js.map +7 -0
  4. package/dist/index.js +452 -0
  5. package/dist/index.js.map +7 -0
  6. package/package.json +4 -4
  7. package/services/backend/.yarn/install-state.gz +0 -0
  8. package/services/backend/dist/core/eventBus/index.js +7 -0
  9. package/services/backend/dist/core/pluginSystem/configGenerator/index.js +346 -0
  10. package/services/backend/dist/core/sockets/index.js +95 -0
  11. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/events/index.js +31 -0
  12. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/index.js +48 -0
  13. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/routes/index.js +15 -0
  14. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/events/index.js +22 -0
  15. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/index.js +51 -0
  16. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/routes/index.js +19 -0
  17. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/events/index.js +22 -0
  18. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/index.js +48 -0
  19. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/index.js +19 -0
  20. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/events/index.js +31 -0
  21. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/index.js +49 -0
  22. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/routes/index.js +16 -0
  23. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/events/index.js +39 -0
  24. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/index.js +50 -0
  25. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/routes/index.js +19 -0
  26. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/events/index.js +31 -0
  27. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/index.js +51 -0
  28. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/routes/index.js +21 -0
  29. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/events/index.js +31 -0
  30. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/index.js +48 -0
  31. package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/routes/index.js +15 -0
  32. package/services/backend/dist/corePlugins/raclette__core/backend/index.js +34 -0
  33. package/services/backend/dist/domains/index.js +11 -0
  34. package/services/backend/dist/domains/system/index.js +11 -0
  35. package/services/backend/dist/domains/system/routes/index.js +17 -0
  36. package/services/backend/dist/helpers/index.js +14 -0
  37. package/services/backend/dist/index.js +3 -0
  38. package/services/backend/dist/modules/authentication/index.js +253 -0
  39. package/services/backend/dist/shared/types/core/index.js +8 -0
  40. package/services/backend/dist/shared/types/dataTypes/index.js +6 -0
  41. package/services/backend/dist/shared/types/index.js +8 -0
  42. package/services/backend/dist/shared/types/plugins/index.js +8 -0
  43. package/services/backend/dist/types/index.js +12 -0
  44. package/services/backend/dist/utils/index.js +2 -0
  45. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/route.user.patchOwn.ts +1 -1
  46. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/user.service.ts +22 -1
  47. package/services/backend/yarn.lock +1 -1
  48. package/services/frontend/.yarn/install-state.gz +0 -0
  49. package/services/frontend/package.json +2 -2
  50. package/services/frontend/src/core/lib/data/dataApi.ts +1 -2
  51. package/services/frontend/src/orchestrator/ProductOrchestrator.vue +8 -1
  52. package/services/frontend/src/orchestrator/assets/styles/layers.css +1 -4
  53. package/services/frontend/src/orchestrator/assets/styles/tailwindStyles.css +3 -3
  54. package/services/frontend/src/orchestrator/assets/styles/vuetifyStyles.scss +4 -1
  55. package/services/frontend/src/orchestrator/components/dataExport/DataExporter.vue +303 -0
  56. package/services/frontend/src/orchestrator/components/dataTable/BaseDataTable.vue +473 -0
  57. package/services/frontend/src/orchestrator/components/dataTable/FileUpload.vue +83 -0
  58. package/services/frontend/src/orchestrator/components/dataTable/SelectionDialog.vue +169 -0
  59. package/services/frontend/src/orchestrator/components/dataTable/SummaryDialog.vue +211 -0
  60. package/services/frontend/src/orchestrator/components/index.ts +2 -0
  61. package/services/frontend/src/orchestrator/composables/index.ts +1 -0
  62. package/services/frontend/src/orchestrator/composables/useExport/formats/builtins.ts +124 -0
  63. package/services/frontend/src/orchestrator/composables/useExport/index.ts +176 -0
  64. package/services/frontend/src/orchestrator/composables/useExport/types.ts +141 -0
  65. package/services/frontend/src/orchestrator/i18n/de-DE.json +26 -1
  66. package/services/frontend/src/orchestrator/i18n/en-EU.json +26 -1
  67. package/services/frontend/src/orchestrator/i18n/sk.json +26 -1
  68. package/services/frontend/src/orchestrator/i18n/tl-TL.json +14 -0
  69. package/services/frontend/src/orchestrator/setup/vuetify.ts +0 -1
  70. package/services/frontend/yarn.lock +4854 -0
  71. package/types/index.ts +1 -1
  72. package/package/LICENSE.md +0 -699
  73. package/package/README.md +0 -49
  74. package/package/dev/README.md +0 -4
  75. package/package/index.js +0 -11
  76. package/package/raclette.default.config.yaml +0 -60
  77. package/package/services/backend/README.md +0 -172
  78. package/package/services/backend/yarn.lock +0 -5320
  79. package/package/services/frontend/README.md +0 -511
  80. package/package/services/frontend/src/core/lib/eggs/readme.md +0 -75
  81. package/package/services/frontend/yarn.lock +0 -0
  82. package/package/src/README.md +0 -404
  83. package/package/templates/README.md +0 -0
package/package/README.md DELETED
@@ -1,49 +0,0 @@
1
- [![NPM Version](https://img.shields.io/npm/v/%40raclettejs%2Fcore)](https://www.npmjs.com/package/@raclettejs/core)
2
- [![NPM License](https://img.shields.io/npm/l/%40raclettejs%2Fcore)](LICENSE)
3
-
4
-
5
- > [!important] Beta Phase!
6
- > raclette is still in the Beta phase. There might be breaking changes over the next couple of month so be aware of migration needs. Visit our [Milestone Overview](https://gitlab.com/groups/raclettejs/-/milestones) for more insights and estimates
7
-
8
- ## What is **raclette**?
9
-
10
- **raclette** is a full-stack TypeScript meta-framework designed for building **platforms and portals** with minimal setup. It comes with bootstrapped features like authentication, WebSockets, database handling, containerization, and provides an easy-to-use, opinionated environment.
11
-
12
- **Perfect for:**
13
-
14
- - 🚀 **SaaS platforms** - Get to market faster with built-in auth and user management
15
- - 🏢 **Customer/Supplier portals** - Enterprise-ready from day one
16
- - 🛠️ **Internal business tools** - Focus on business logic, not infrastructure
17
- - ⚡ **MVPs that can scale** - Start fast, grow clean with the plugin architecture
18
-
19
- **Key Features:**
20
-
21
- - **Widget-based frontend** (Vue.js + Vite, React support coming)
22
- - **Plugin architecture** for reusable business logic
23
- - **Built-in workbench** - Admin interface out of the box
24
- - **Full-stack development** with Fastify backend + MongoDB
25
- - **Docker containerization** for easy deployment
26
-
27
- ## What You Get
28
-
29
- - ✅ **raclette core & workbench** dependencies with dev dependencies
30
- - ✅ **raclette.config.js** - Main configuration file
31
- - ✅ **Development scripts** ready to go
32
- - ✅ **ESLint + Prettier** configuration
33
- - ✅ **TypeScript** setup
34
- - ✅ **Docker-ready** development environment
35
-
36
- ## [Getting Started](https://docs.raclettejs.com/docs/introduction/getting-started)
37
-
38
- Visit the [Getting Started Guide](https://docs.raclettejs.com/docs/introduction/getting-started) in our [online Documentation](https://docs.raclettejs.com)
39
-
40
- ## Links
41
-
42
- - 🌐 [Website](https://raclettejs.com/)
43
- - 📚 [Documentation](https://docs.raclettejs.com/)
44
- - 🚀 [GitLab](https://gitlab.com/raclettejs) (source code)
45
- - 📦 [npm](https://www.npmjs.com/org/raclettejs) (packages)
46
-
47
- ## License
48
-
49
- [AGPL-3.0-only](https://gitlab.com/raclettejs/core/-/blob/main/LICENSE?ref_type=heads)
@@ -1,4 +0,0 @@
1
- # BIN directory
2
-
3
- This directory holds global scripts, e.g. for development, debugging or use by
4
- the CI/CD pipeline.
package/package/index.js DELETED
@@ -1,11 +0,0 @@
1
- // Main package entry point - this file is the source of truth
2
- // The index.js file is auto-generated from this file with proper .js extensions
3
-
4
- export * from "./types/index"
5
-
6
- // Server, frontend and orchestrator namespaces
7
- export * as backend from "./services/backend/src/index"
8
- export * as frontend from "./services/frontend/src/core/index"
9
- export * as orchestrator from "./services/frontend/src/orchestrator/index"
10
-
11
- export * from "./src"
@@ -1,60 +0,0 @@
1
- name: "raclette-app"
2
- root: ".raclette"
3
- global:
4
- requireAuthentication: true
5
- services:
6
- frontend:
7
- enabled: true
8
- port: 8081
9
- installPackages: []
10
- backend:
11
- enabled: true
12
- port: 8082
13
- enableDebug: false
14
- installPackages: []
15
- mongodb:
16
- enabled: true
17
- port: 27017
18
- cache:
19
- enabled: true
20
- port: 6379
21
- workbench:
22
- enabled: false
23
- frontendPort: 8083
24
- backendPort: 8084
25
- modules: []
26
- plugins: []
27
- env:
28
- development: {}
29
- production:
30
- NODE_ENV: "production"
31
- frontend:
32
- framework: "vue"
33
- i18n:
34
- locales: ["en-EU"]
35
- priorities:
36
- app: 10
37
- ".": 30
38
- vue:
39
- plugins: []
40
- backend:
41
- sockets:
42
- autoSend:
43
- compositions: true
44
- interactionLinks: true
45
- projectConfig: true
46
- security:
47
- requireAuth: true
48
- tokenValidation: "jwt"
49
- options:
50
- adapter: "memory"
51
- connectionTimeout: 3000
52
- pingInterval: 1500
53
- pingTimeout: 1000
54
- sourceDirectories: []
55
- packageMerging:
56
- frontend: [{ file: "./packages.json", key: "frontend" }]
57
- backend: [{ file: "./packages.json", key: "backend" }]
58
- lockFiles:
59
- frontend: "./app.frontend.yarn.lock"
60
- backend: "./app.backend.yarn.lock"
@@ -1,172 +0,0 @@
1
- # Pacifico API
2
-
3
- For initial setup, see the end of the file.
4
-
5
- ## Docker-Compose
6
-
7
- The API runs under the service name `api`. For development we will also give a ccontainer name to make writing the READMEs easiert. It is called `portal-api`. On production this name will be auto-generated to prevent docker name collision. This also means you cannot start two instances of our services locally.
8
-
9
- ### Installing packages
10
-
11
- When installing new packages, please exec into the docker container beforehand. Do not run `yarn add` on your machine.
12
-
13
- `docker exec -it portal-api bash`
14
- And install again:
15
- `yarn add ...`
16
-
17
- ### EsLint
18
-
19
- For Eslint to work you need to install the packages locally. It is fine to run `yarn install`on your machine (outside of the container). Just never so `yarn add...` there.
20
-
21
- For now manually, run the linter and formatter before commiting or at the end of your work on a branch:
22
- `yarn run fixAndFormat`
23
-
24
- Manually check any lint errors and fix them before commiting. It is recommended to not commit any errors (only warning).
25
-
26
- You can run the linter standalone with: `yarn run lint:fix`
27
- And format after: `yarn run format`.
28
-
29
- The linter itself is not formatting, so it is required to format after the linter fixed code.
30
-
31
- ### Debugging
32
-
33
- If you use VS code and want to attach your debugger to node within the api docker container, add the following to your launch.json:
34
-
35
- ```json
36
- {
37
- "configurations": [
38
- {
39
- "name": "Docker: Attach to Node",
40
- "type": "node",
41
- "request": "attach",
42
- "port": 9229,
43
- "address": "localhost",
44
- "restart": true,
45
- "localRoot": "${workspaceFolder}/services/backend",
46
- "remoteRoot": "/app"
47
- }
48
- ]
49
- }
50
- ```
51
-
52
- Make sure to start the backend with the `dev:inspect` command and to map the port 9229:9229 in the docker-compose(.override).
53
-
54
- For the auto-restart to fully work, we need to add a start delay. Create a `tasks.json`file besides your `launch.json` with the following content:
55
-
56
- ```json
57
- {
58
- "version": "2.0.0",
59
- "tasks": [
60
- {
61
- "label": "delay",
62
- "type": "shell",
63
- "command": "${workspaceFolder}/delay-api-debugger.sh",
64
- "problemMatcher": []
65
- }
66
- ]
67
- }
68
- ```
69
-
70
- If you have permission errors, make sure the delay shell script is executable under `app/api`
71
-
72
- ```
73
- chmod +x delay-api-debugger.sh
74
- ```
75
-
76
- ### Shared Folder
77
-
78
- The shared folder is mounted during container build. To make your IDE work with the given path INSIDE of api, while shared is still located outside of api, you need to symlink it.
79
-
80
- ```
81
- cd app/api
82
- ln -s ../shared ./shared
83
- ```
84
-
85
- ## Initial Setup
86
-
87
- ### Fill the database / Adding fixturees
88
-
89
- Assuming you have already built and started all containers in the root of the
90
- mono repo, run the following commands to fill the mongodb with the initial dev example data.
91
-
92
- As a prerequisite, you need to install 'jq' on your dev machine (e.g. with `brew` on mac)
93
-
94
- ```bash
95
- # generate a token with the login-dev command (path expects you to be on root level)
96
- token=$(./app/api/bin/login-dev)
97
-
98
- # import the fixtures by calling the api endpoint POST /core/system/fixtures
99
- # e.g. with curl
100
- curl -X POST \
101
- -H "$token" \
102
- -H 'Accept-Version: 1.0' \
103
- -H 'Content-Type: application/json' \
104
- -d '{"useDeprecatedVersionAndDeleteDatabase": true}' \
105
- http://localhost:8082/core/system/fixtures
106
- ```
107
-
108
- The token generation will only work if there are NO users in the database. If you want to call the fixture endpoint anyway, you need to use an auth token of one of the exisiting user. Or delete all users from the database, e.g. with the ui tool `mongoCompass`.
109
-
110
- Also note, that you are required to run database migrations as the deprecated fixture flow is not up to date. See below.
111
-
112
- ### Run migrations
113
-
114
- TODO: On API container startup migrations will run. So usually there is no need to interact with them unless you are developing.
115
- NOTE: Currently all migrations have to be executed by hand!
116
-
117
- Exec into to api container: `docker exec -it portal-api bash` and run all yarn scripts related to migrations there. You can run migrations from your machine as well, but due to package differences, it is recommended to do this sensible job from within the docker environment!
118
-
119
- To create a new file use this command: `yarn run migrate:create name-your-file`
120
-
121
- This applies all migrations that had not run yet: `yarn run migrate:up`. Run this also when you have set up your database with fixture data, as the old fixture flow is a bit deprecated. It will be replaced in the future.
122
-
123
- This reverts changed until a given script name (or all if none is given): `yarn run migrate:down`
124
-
125
- Migration status: `yarn run migrate:status`
126
-
127
- ## Troubleshooting
128
-
129
- ### On Login: 429 - Too many Retries
130
-
131
- Due to security reasons the login api logs and blocks too many failed login attempts. Just for consistency this also happens for local development.
132
-
133
- But you can easily use the admin endpoints to remove these entries, if you need to. Normally calling this should be suitable (locally)
134
-
135
- `DELETE http://localhost:8081/core/admin/cache/blocks/172.20.0.1`
136
-
137
- Or you can delete all entries:
138
-
139
- `DELETE http://localhost:8081/core/admin/cache/blocks`
140
-
141
- You can always see the tracked attempts with this (to retrieve your key (ip address) for the first command):
142
-
143
- `http://localhost:8081/core/admin/cache/blocks`
144
-
145
- ### Error when building the image or running any commands
146
-
147
- ```
148
- error /app/node_modules/bcrypt: Command failed.
149
- Exit code: 1
150
- Command: node-pre-gyp install --fallback-to-build
151
- Arguments:
152
- Directory: /app/node_modules/bcrypt
153
- Output:
154
- /app/node_modules/wide-align/align.js:2
155
- var stringWidth = require('string-width')
156
- ^
157
- Error [ERR_REQUIRE_ESM]: require() of ES Module /app/node_modules/string-width/index.js from /app/node_modules/wide-align/align.js not supported.
158
- Instead change the require of index.js in /app/node_modules/wide-align/align.js to a dynamic import() which is available in all CommonJS modules.
159
- at Object.<anonymous> (/app/node_modules/wide-align/align.js:2:19) {
160
- code: 'ERR_REQUIRE_ESM'
161
- ```
162
-
163
- This error usually happens when you install a new package for the api from your host machine. To fix it you need to exec into the api container:
164
- `docker exec -it portal-api bash`
165
-
166
- Remove the yarn.lock file:
167
- `rm -f yarn.lock`
168
-
169
- And install again:
170
- `yarn install`
171
-
172
- This will align your versions and also update your yarn.lock file. Commit it!