2 Commits
Author SHA1 Message Date
zemion 00bec0ed94 fix(packaging): expose immutable WebUI Git package for v0.1.23
Module Package Release / publish-packages (push) Successful in 11s
2026-09-08 02:06:09 +02:00
zemion cfcd723496 docs: complete German structured documentation
Module Package Release / publish-packages (push) Successful in 11s
2026-08-24 01:15:34 +02:00
7 changed files with 147 additions and 4 deletions
+18
View File
@@ -39,3 +39,21 @@ PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
```
See [docs/FORMS_BOUNDARY.md](docs/FORMS_BOUNDARY.md) for the boundary decision.
## Git-source WebUI package
The repository root exposes `@govoplan/forms-webui` for Git-tagged release
dependencies. It mirrors the owning `webui/package.json` version, public
TypeScript/CSS exports and peer requirements, with entry paths under
`webui/src`. Consumers provide the shared Core/React peers; the facade runs no
development or install scripts. The source archive contains `webui/src`, this
README and any repository license file. Run module development checks from `webui/`; Python
installation remains governed by `pyproject.toml`.
Das Repository stellt `@govoplan/forms-webui` am Wurzelpfad für versionierte
Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und
Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen
unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung
bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus.
Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in
`pyproject.toml` definiert.
+33
View File
@@ -0,0 +1,33 @@
{
"name": "@govoplan/forms-webui",
"version": "0.1.23",
"private": true,
"type": "module",
"main": "webui/src/index.ts",
"module": "webui/src/index.ts",
"types": "webui/src/index.ts",
"exports": {
".": {
"types": "./webui/src/index.ts",
"import": "./webui/src/index.ts"
},
"./styles/forms.css": "./webui/src/styles/forms.css"
},
"peerDependencies": {
"@govoplan/core-webui": "^0.1.18",
"lucide-react": "^1.23.0",
"react": ">=19.2.7 <20",
"react-dom": ">=19.2.7 <20",
"react-router": ">=8.3.0 <9"
},
"peerDependenciesMeta": {
"@govoplan/core-webui": {
"optional": true
}
},
"files": [
"webui/src",
"README.md",
"LICENSE"
]
}
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "govoplan-forms"
version = "0.1.21"
version = "0.1.23"
description = "Immutable reusable form definitions for GovOPlaN."
readme = "README.md"
requires-python = ">=3.12"
+1 -1
View File
@@ -1,3 +1,3 @@
"""GovOPlaN Forms module."""
__version__ = "0.1.21"
__version__ = "0.1.23"
@@ -0,0 +1,84 @@
"""German translations for public structured documentation metadata."""
from __future__ import annotations
from typing import Any
GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'forms.data-subject-requests': {'consequence_classes': {'exclude_form_semantics': 'Gibt keinen '
'Schema-, Feld- '
'oder '
'Submission-Value-Inhalt '
'zurück.',
'export_definition_attribution': 'Returns '
'minimierten '
'die '
'unveränderliche '
'Revisionsaktivität.'}},
'forms.definitions': {'privacy_notes': ['Definitionskataloge enthalten Schemata und '
'Richtlinienreferenzen, keine eingereichten '
'Formularwerte.',
'Die Paketbewertung gewährt keinen Zugriff auf '
'referenzierte Laufzeiteinreichungen oder externe '
'Anbieter.',
'Veröffentlichte Zugänglichkeits- und '
'Lokalisierungsinhalte sind überall dort sichtbar, wo die '
'genaue Definition autorisiert ist.']},
'forms.reference.fields-and-consequences': {'consequence_classes': {'import_package': 'Erstellt '
'einen '
'lokalen '
'Entwurf '
'und behält '
'die '
'Herkunft '
'des Pakets '
'ohne '
'automatische '
'Veröffentlichung.',
'publish': 'Macht die genaue '
'Revision für '
'zukünftige '
'autorisierte '
'Instanzen '
'verfügbar.',
'retire': 'Stoppt die '
'zukünftige '
'Nutzung, während '
'Definitionen und '
'genaue '
'Laufzeitreferenzen '
'beibehalten '
'werden.',
'save_revision': 'Erstellt '
'eine '
'unveränderliche '
'Definitionsrevision '
'mit einem '
'Änderungsgrund.'},
'limitations': ['Der Paketimport veröffentlicht '
'niemals automatisch eine '
'Formularrevision.',
'Laufzeiteingaben und eingereichte '
'Werte werden niemals als '
'Definitionskonfiguration exportiert.',
'Generische Paket-Rollback erfordert '
'die Voranwendung Datenbank Snapshot '
'beibehalten.'],
'operational_consequences': ['Preserve blockiert eine '
'widersprüchliche lokale '
'Definition; new '
'revision muss explizit '
'überprüft werden.',
'Das erneute Anwenden '
'eines identischen '
'Quell-Digests ist '
'idempotent und erzeugt '
'keine Revision.',
'Importierte '
'Definitionen erfordern '
'eine normale '
'Überprüfung und '
'Veröffentlichung von '
'Formularen vor der '
'Verwendung zur '
'Laufzeit.']}}
+9 -1
View File
@@ -1,5 +1,8 @@
from __future__ import annotations
from govoplan_core.core.modules import with_documentation_structured_translations
from govoplan_forms.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS
from pathlib import Path
from govoplan_core.core.access import (
@@ -48,7 +51,7 @@ from govoplan_forms.backend.semantic_subjects import (
MODULE_ID = "forms"
MODULE_NAME = "Forms"
MODULE_VERSION = "0.1.21"
MODULE_VERSION = "0.1.23"
READ_SCOPE = "forms:definition:read"
WRITE_SCOPE = "forms:definition:write"
ADMIN_SCOPE = "forms:definition:admin"
@@ -523,5 +526,10 @@ manifest = ModuleManifest(
)
manifest = with_documentation_structured_translations(
manifest, locale="de", translations=GERMAN_STRUCTURED_TRANSLATIONS
)
def get_manifest() -> ModuleManifest:
return manifest
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/forms-webui",
"version": "0.1.21",
"version": "0.1.23",
"private": true,
"type": "module",
"main": "src/index.ts",