@live-change/frontend-template 0.9.197 → 0.9.199

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 (46) hide show
  1. package/.claude/rules/live-change-backend-actions-views-triggers.md +184 -0
  2. package/.claude/rules/live-change-backend-architecture.md +126 -0
  3. package/.claude/rules/live-change-backend-models-and-relations.md +188 -0
  4. package/.claude/rules/live-change-frontend-vue-primevue.md +291 -0
  5. package/.claude/rules/live-change-service-structure.md +89 -0
  6. package/.claude/skills/create-skills-and-rules.md +196 -0
  7. package/.claude/skills/live-change-design-actions-views-triggers.md +190 -0
  8. package/.claude/skills/live-change-design-models-relations.md +173 -0
  9. package/.claude/skills/live-change-design-service.md +132 -0
  10. package/.claude/skills/live-change-frontend-action-buttons.md +128 -0
  11. package/.claude/skills/live-change-frontend-action-form.md +143 -0
  12. package/.claude/skills/live-change-frontend-analytics.md +146 -0
  13. package/.claude/skills/live-change-frontend-command-forms.md +215 -0
  14. package/.claude/skills/live-change-frontend-data-views.md +182 -0
  15. package/.claude/skills/live-change-frontend-editor-form.md +177 -0
  16. package/.claude/skills/live-change-frontend-locale-time.md +171 -0
  17. package/.claude/skills/live-change-frontend-page-list-detail.md +200 -0
  18. package/.claude/skills/live-change-frontend-range-list.md +128 -0
  19. package/.claude/skills/live-change-frontend-ssr-setup.md +118 -0
  20. package/.cursor/rules/live-change-backend-actions-views-triggers.mdc +202 -0
  21. package/.cursor/rules/live-change-backend-architecture.mdc +131 -0
  22. package/.cursor/rules/live-change-backend-models-and-relations.mdc +194 -0
  23. package/.cursor/rules/live-change-frontend-vue-primevue.mdc +290 -0
  24. package/.cursor/rules/live-change-service-structure.mdc +107 -0
  25. package/.cursor/skills/live-change-design-actions-views-triggers.md +197 -0
  26. package/.cursor/skills/live-change-design-models-relations.md +168 -0
  27. package/.cursor/skills/live-change-design-service.md +75 -0
  28. package/.cursor/skills/live-change-frontend-action-buttons.md +128 -0
  29. package/.cursor/skills/live-change-frontend-action-form.md +143 -0
  30. package/.cursor/skills/live-change-frontend-analytics.md +146 -0
  31. package/.cursor/skills/live-change-frontend-command-forms.md +215 -0
  32. package/.cursor/skills/live-change-frontend-data-views.md +182 -0
  33. package/.cursor/skills/live-change-frontend-editor-form.md +177 -0
  34. package/.cursor/skills/live-change-frontend-locale-time.md +171 -0
  35. package/.cursor/skills/live-change-frontend-page-list-detail.md +200 -0
  36. package/.cursor/skills/live-change-frontend-range-list.md +128 -0
  37. package/.cursor/skills/live-change-frontend-ssr-setup.md +119 -0
  38. package/README.md +71 -0
  39. package/package.json +50 -50
  40. package/server/app.config.js +35 -0
  41. package/server/services.list.js +2 -0
  42. package/.nx/workspace-data/file-map.json +0 -195
  43. package/.nx/workspace-data/nx_files.nxt +0 -0
  44. package/.nx/workspace-data/project-graph.json +0 -8
  45. package/.nx/workspace-data/project-graph.lock +0 -0
  46. package/.nx/workspace-data/source-maps.json +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/frontend-template",
3
- "version": "0.9.197",
3
+ "version": "0.9.199",
4
4
  "scripts": {
5
5
  "memDev": "tsx --inspect --expose-gc server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
6
6
  "localDevInit": "tsx server/start.js localDev --enableSessions --initScript ./init.js --dbAccess",
@@ -45,54 +45,54 @@
45
45
  "@codemirror/language": "6.10.1",
46
46
  "@dotenvx/dotenvx": "0.27.0",
47
47
  "@fortawesome/fontawesome-free": "^6.7.2",
48
- "@live-change/access-control-frontend": "^0.9.197",
49
- "@live-change/access-control-service": "^0.9.197",
50
- "@live-change/agreement-service": "^0.9.197",
51
- "@live-change/backup-service": "^0.9.197",
52
- "@live-change/blog-frontend": "^0.9.197",
53
- "@live-change/blog-service": "^0.9.197",
54
- "@live-change/cli": "^0.9.197",
55
- "@live-change/content-frontend": "^0.9.197",
56
- "@live-change/content-service": "^0.9.197",
57
- "@live-change/dao": "^0.9.197",
58
- "@live-change/dao-vue3": "^0.9.197",
59
- "@live-change/dao-websocket": "^0.9.197",
60
- "@live-change/db-client": "^0.9.197",
61
- "@live-change/draft-service": "^0.9.197",
62
- "@live-change/email-service": "^0.9.197",
63
- "@live-change/framework": "^0.9.197",
64
- "@live-change/frontend-auto-form": "^0.9.197",
65
- "@live-change/frontend-base": "^0.9.197",
66
- "@live-change/geoip-service": "^0.9.197",
67
- "@live-change/google-authentication-service": "^0.9.197",
68
- "@live-change/image-frontend": "^0.9.197",
69
- "@live-change/linkedin-authentication-service": "^0.9.197",
70
- "@live-change/locale-settings-service": "^0.9.197",
71
- "@live-change/notification-service": "^0.9.197",
72
- "@live-change/password-authentication-service": "^0.9.197",
73
- "@live-change/peer-connection-frontend": "^0.9.197",
74
- "@live-change/peer-connection-service": "^0.9.197",
75
- "@live-change/prosemirror-service": "^0.9.197",
76
- "@live-change/secret-code-service": "^0.9.197",
77
- "@live-change/secret-link-service": "^0.9.197",
78
- "@live-change/security-service": "^0.9.197",
79
- "@live-change/session-service": "^0.9.197",
80
- "@live-change/task-frontend": "^0.9.197",
81
- "@live-change/task-service": "^0.9.197",
82
- "@live-change/timer-service": "^0.9.197",
83
- "@live-change/upload-frontend": "^0.9.197",
84
- "@live-change/upload-service": "^0.9.197",
85
- "@live-change/url-frontend": "^0.9.197",
86
- "@live-change/url-service": "^0.9.197",
87
- "@live-change/user-frontend": "^0.9.197",
88
- "@live-change/user-identification-service": "^0.9.197",
89
- "@live-change/user-service": "^0.9.197",
90
- "@live-change/video-call-frontend": "^0.9.197",
91
- "@live-change/video-call-service": "^0.9.197",
92
- "@live-change/vote-service": "^0.9.197",
93
- "@live-change/vue3-components": "^0.9.197",
94
- "@live-change/vue3-ssr": "^0.9.197",
95
- "@live-change/wysiwyg-frontend": "^0.9.197",
48
+ "@live-change/access-control-frontend": "^0.9.199",
49
+ "@live-change/access-control-service": "^0.9.199",
50
+ "@live-change/agreement-service": "^0.9.199",
51
+ "@live-change/backup-service": "^0.9.199",
52
+ "@live-change/blog-frontend": "^0.9.199",
53
+ "@live-change/blog-service": "^0.9.199",
54
+ "@live-change/cli": "^0.9.199",
55
+ "@live-change/content-frontend": "^0.9.199",
56
+ "@live-change/content-service": "^0.9.199",
57
+ "@live-change/dao": "^0.9.199",
58
+ "@live-change/dao-vue3": "^0.9.199",
59
+ "@live-change/dao-websocket": "^0.9.199",
60
+ "@live-change/db-client": "^0.9.199",
61
+ "@live-change/draft-service": "^0.9.199",
62
+ "@live-change/email-service": "^0.9.199",
63
+ "@live-change/framework": "^0.9.199",
64
+ "@live-change/frontend-auto-form": "^0.9.199",
65
+ "@live-change/frontend-base": "^0.9.199",
66
+ "@live-change/geoip-service": "^0.9.199",
67
+ "@live-change/google-authentication-service": "^0.9.199",
68
+ "@live-change/image-frontend": "^0.9.199",
69
+ "@live-change/linkedin-authentication-service": "^0.9.199",
70
+ "@live-change/locale-settings-service": "^0.9.199",
71
+ "@live-change/notification-service": "^0.9.199",
72
+ "@live-change/password-authentication-service": "^0.9.199",
73
+ "@live-change/peer-connection-frontend": "^0.9.199",
74
+ "@live-change/peer-connection-service": "^0.9.199",
75
+ "@live-change/prosemirror-service": "^0.9.199",
76
+ "@live-change/secret-code-service": "^0.9.199",
77
+ "@live-change/secret-link-service": "^0.9.199",
78
+ "@live-change/security-service": "^0.9.199",
79
+ "@live-change/session-service": "^0.9.199",
80
+ "@live-change/task-frontend": "^0.9.199",
81
+ "@live-change/task-service": "^0.9.199",
82
+ "@live-change/timer-service": "^0.9.199",
83
+ "@live-change/upload-frontend": "^0.9.199",
84
+ "@live-change/upload-service": "^0.9.199",
85
+ "@live-change/url-frontend": "^0.9.199",
86
+ "@live-change/url-service": "^0.9.199",
87
+ "@live-change/user-frontend": "^0.9.199",
88
+ "@live-change/user-identification-service": "^0.9.199",
89
+ "@live-change/user-service": "^0.9.199",
90
+ "@live-change/video-call-frontend": "^0.9.199",
91
+ "@live-change/video-call-service": "^0.9.199",
92
+ "@live-change/vote-service": "^0.9.199",
93
+ "@live-change/vue3-components": "^0.9.199",
94
+ "@live-change/vue3-ssr": "^0.9.199",
95
+ "@live-change/wysiwyg-frontend": "^0.9.199",
96
96
  "@vueuse/core": "^12.3.0",
97
97
  "codeceptjs-assert": "^0.0.5",
98
98
  "compression": "^1.7.5",
@@ -125,5 +125,5 @@
125
125
  "author": "Michał Łaszczewski <michal@laszczewski.pl>",
126
126
  "license": "ISC",
127
127
  "description": "",
128
- "gitHead": "8231c2ed8bc3beed2c732aa5727174417f19082b"
128
+ "gitHead": "1900043a10cf9ad49b9cc33a539fb973706de962"
129
129
  }
@@ -4,12 +4,43 @@ dotenv.config()
4
4
  import App from "@live-change/framework"
5
5
  const app = App.app()
6
6
 
7
+ import { fileURLToPath } from 'url'
8
+ import { dirname, join } from 'path'
9
+ import { accessSync, readFileSync } from 'fs'
10
+
11
+ const packageJsonPath = dirname(fileURLToPath(import.meta.url))
12
+ .split('/').map((part, i, arr) =>
13
+ join(arr.slice(0, arr.length - i).join('/'), 'package.json')
14
+ ).find(p => { try { accessSync(p); return true } catch(e) { return false }})
15
+ const packageJson = packageJsonPath ? JSON.parse(readFileSync(packageJsonPath, 'utf-8')) : {}
16
+
17
+ const name = packageJson.name ?? "Example"
18
+ const brandName = process.env.BRAND_NAME || (name[0].toUpperCase() + name.slice(1))
19
+ const homepage = process.env.BASE_HREF ?? packageJson.homepage
20
+ const brandDomain = process.env.BRAND_DOMAIN ||
21
+ (homepage && homepage.match(/https\:\/\/([^\/]+)/)?.[1]) || 'example.com'
22
+ const baseHref = process.env.BASE_HREF || homepage || 'http://localhost:8001'
23
+ const version = process.env.VERSION || packageJson.version
24
+
25
+ const clientConfig = {
26
+ version,
27
+ name, brandName, brandDomain, homepage, baseHref
28
+ }
29
+ const baseAppConfig = {
30
+ ...clientConfig,
31
+ clientConfig: { ...clientConfig },
32
+ }
33
+
7
34
  const contactTypes = ['email']
8
35
 
9
36
  import securityConfig from './security.config.js'
10
37
  import documentTypePage from './page.documentType.js'
11
38
 
12
39
  app.config = {
40
+ ...baseAppConfig,
41
+ clientConfig: {
42
+ ...baseAppConfig.clientConfig,
43
+ },
13
44
  services: [
14
45
  {
15
46
  name: 'timer',
@@ -42,6 +73,10 @@ app.config = {
42
73
  name: 'accessControl',
43
74
  createSessionOnUpdate: true,
44
75
  contactTypes,
76
+ indexed: true,
77
+ },
78
+ {
79
+ name: 'scope'
45
80
  },
46
81
  {
47
82
  name: 'security',
@@ -7,6 +7,7 @@ import userIdentification from '@live-change/user-identification-service'
7
7
  import identicon from '@live-change/identicon-service'
8
8
  import localeSettings from '@live-change/locale-settings-service'
9
9
  import accessControl from '@live-change/access-control-service'
10
+ import scope from '@live-change/scope-service'
10
11
  import security from '@live-change/security-service'
11
12
  import notification from '@live-change/notification-service'
12
13
  import upload from '@live-change/upload-service'
@@ -37,6 +38,7 @@ export {
37
38
  identicon,
38
39
  localeSettings,
39
40
  accessControl,
41
+ scope,
40
42
  security,
41
43
  notification,
42
44
  upload,
@@ -1,195 +0,0 @@
1
- {
2
- "version": "6.0",
3
- "nxVersion": "20.8.2",
4
- "pathMappings": {},
5
- "nxJsonPlugins": [],
6
- "fileMap": {
7
- "projectFileMap": {},
8
- "nonProjectFiles": [
9
- {
10
- "file": ".gitignore",
11
- "hash": "6515931634565451229"
12
- },
13
- {
14
- "file": "Dockerfile",
15
- "hash": "121979560174086840"
16
- },
17
- {
18
- "file": "LICENSE",
19
- "hash": "10221119794387200971"
20
- },
21
- {
22
- "file": "data/.placeholder",
23
- "hash": "3244421341483603138"
24
- },
25
- {
26
- "file": "dev.Dockerfile",
27
- "hash": "12404327134398031706"
28
- },
29
- {
30
- "file": "docker/app.initd.sh",
31
- "hash": "5689466769238316025"
32
- },
33
- {
34
- "file": "docker/build-and-upload.sh",
35
- "hash": "417670481237399882"
36
- },
37
- {
38
- "file": "docker/build-docker-and-upload.sh",
39
- "hash": "10415899014440850502"
40
- },
41
- {
42
- "file": "docker/commit-new-version.sh",
43
- "hash": "5160018103227051012"
44
- },
45
- {
46
- "file": "docker/k8s-rsync-helper.sh",
47
- "hash": "12840580596915123557"
48
- },
49
- {
50
- "file": "docker/onlyDependencies.js",
51
- "hash": "13135394580253028435"
52
- },
53
- {
54
- "file": "docker/parse-args-and-config.sh",
55
- "hash": "13923189966979506571"
56
- },
57
- {
58
- "file": "docker/restore-backup-with-service.sh",
59
- "hash": "10918919254951884109"
60
- },
61
- {
62
- "file": "docker/restore-backup.sh",
63
- "hash": "17157081294258412437"
64
- },
65
- {
66
- "file": "docker/start-service.sh",
67
- "hash": "13107251553503965386"
68
- },
69
- {
70
- "file": "docker/upload-backup-and-restore.sh",
71
- "hash": "16296194178343837935"
72
- },
73
- {
74
- "file": "front/index.html",
75
- "hash": "3170363056965810468"
76
- },
77
- {
78
- "file": "front/locales/en.js",
79
- "hash": "8992398117446253297"
80
- },
81
- {
82
- "file": "front/locales/en.json",
83
- "hash": "7756539891184290419"
84
- },
85
- {
86
- "file": "front/public/favicon.ico",
87
- "hash": "11176796980188620760"
88
- },
89
- {
90
- "file": "front/public/images/empty-photo.svg",
91
- "hash": "9393138513813369674"
92
- },
93
- {
94
- "file": "front/public/images/empty-user-photo.svg",
95
- "hash": "17548039285248668212"
96
- },
97
- {
98
- "file": "front/public/images/logo.svg",
99
- "hash": "5934164668360941413"
100
- },
101
- {
102
- "file": "front/public/images/logo128.png",
103
- "hash": "4924117807669085214"
104
- },
105
- {
106
- "file": "front/src/App.vue",
107
- "hash": "11943486175633065633"
108
- },
109
- {
110
- "file": "front/src/Index.vue",
111
- "hash": "10288195062045076599"
112
- },
113
- {
114
- "file": "front/src/analytics/index.js",
115
- "hash": "492811393913301668"
116
- },
117
- {
118
- "file": "front/src/components/Clock.vue",
119
- "hash": "3593958769210425701"
120
- },
121
- {
122
- "file": "front/src/components/NavBar.vue",
123
- "hash": "8794971727282858242"
124
- },
125
- {
126
- "file": "front/src/config.js",
127
- "hash": "11550156468258766293"
128
- },
129
- {
130
- "file": "front/src/entry-client.js",
131
- "hash": "1218837904372604167"
132
- },
133
- {
134
- "file": "front/src/entry-server.js",
135
- "hash": "406370987563099630"
136
- },
137
- {
138
- "file": "front/src/router.js",
139
- "hash": "13294193569918029402"
140
- },
141
- {
142
- "file": "front/tsconfig.json",
143
- "hash": "6166366661637344199"
144
- },
145
- {
146
- "file": "front/tsconfig.node.json",
147
- "hash": "4208030242441905014"
148
- },
149
- {
150
- "file": "front/vite.config.ts",
151
- "hash": "9842187989112314066"
152
- },
153
- {
154
- "file": "index.js",
155
- "hash": "11269213519712721017"
156
- },
157
- {
158
- "file": "package.json",
159
- "hash": "8113744260716147283"
160
- },
161
- {
162
- "file": "server/app.config.js",
163
- "hash": "11667286885984348384"
164
- },
165
- {
166
- "file": "server/init.js",
167
- "hash": "16775016632273161558"
168
- },
169
- {
170
- "file": "server/page.documentType.js",
171
- "hash": "4319267302010918354"
172
- },
173
- {
174
- "file": "server/security.config.js",
175
- "hash": "6483730663450187822"
176
- },
177
- {
178
- "file": "server/services.list.js",
179
- "hash": "200506645507476910"
180
- },
181
- {
182
- "file": "server/start.js",
183
- "hash": "17392699231217975998"
184
- },
185
- {
186
- "file": "start-dev-docker.sh",
187
- "hash": "1356997101209839594"
188
- },
189
- {
190
- "file": "tsconfig.json",
191
- "hash": "14656447440708893958"
192
- }
193
- ]
194
- }
195
- }
Binary file
@@ -1,8 +0,0 @@
1
- {
2
- "nodes": {},
3
- "externalNodes": {},
4
- "dependencies": {},
5
- "version": "6.0",
6
- "errors": [],
7
- "computedAt": 1751566597168
8
- }
File without changes
@@ -1 +0,0 @@
1
- {}