@efa-one/sdk 1.10.1 → 1.10.2

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 (2) hide show
  1. package/README.md +24 -2
  2. package/package.json +7 -2
package/README.md CHANGED
@@ -76,16 +76,38 @@ physisch auflösen — ohne dass sie ihre tsconfig anpassen müssen.
76
76
  ## Publish
77
77
 
78
78
  Public auf npmjs unter dem Scope `@efa-one` (`publishConfig.access = "public"` ist
79
- gesetzt):
79
+ gesetzt).
80
+
81
+ **Automatisiert (Standardweg):** ein `v*`-Tag löst den Publish via GitHub Actions
82
+ aus (`.github/workflows/publish.yml`) — analog zum GHCR-Flow der Apps. Der Workflow
83
+ gleicht Tag ↔ `package.json`-Version ab, läuft Tests + Typecheck als Gate und
84
+ publiziert dann.
85
+
86
+ ```bash
87
+ npm version patch # bumpt package.json + legt Commit + Tag an
88
+ git push --follow-tags # Tag-Push triggert den Publish-Job
89
+ ```
90
+
91
+ Einmalige Voraussetzung: Repo-Secret **`NPM_TOKEN`** (Automation-Token eines
92
+ Accounts mit Publish-Recht auf `@efa-one`) unter *Settings → Secrets and variables →
93
+ Actions*.
94
+
95
+ **Manuell (Fallback):**
80
96
 
81
97
  ```bash
82
- npm login # Account muss Mitglied der @efa-one-Org sein
98
+ npm login # Account muss Publish-Recht auf @efa-one haben
83
99
  npm publish # baut via prepublishOnly automatisch neu
84
100
  ```
85
101
 
86
102
  `npm install` durch Apps/CI/Docker braucht **keine** Credentials — nur der
87
103
  Publish-Schritt.
88
104
 
105
+ ## Migration einer bestehenden App
106
+
107
+ Von kopiertem `template-core/` auf das Paket umstellen: siehe
108
+ [MIGRATION.md](./MIGRATION.md) (Import-Mapping, tsconfig/vite-Entkopplung,
109
+ Dockerfile-Bereinigung, Lockfile-Regen).
110
+
89
111
  ## Versionierung
90
112
 
91
113
  SemVer. Template-Migration = `npm version` + publish; App-Update =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@efa-one/sdk",
3
- "version": "1.10.1",
3
+ "version": "1.10.2",
4
4
  "description": "Offizielles SDK für efa-one-Apps: Auth/Session, Service-Discovery, Gateway-Client, Audit/Reporting/Mail/Notifications, Permission- und Capability-Registrierung sowie das Frontend-IPC-/i18n-Toolkit.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "commonjs",
@@ -38,6 +38,7 @@
38
38
  "build:frontend": "tsc -p tsconfig.frontend.json && node -e \"require('fs').writeFileSync('frontend/package.json', JSON.stringify({type:'module'}))\"",
39
39
  "build": "npm run clean && npm run build:backend && npm run build:frontend",
40
40
  "typecheck": "tsc -p tsconfig.backend.json --noEmit && tsc -p tsconfig.frontend.json --noEmit",
41
+ "test": "vitest run",
41
42
  "prepublishOnly": "npm run build"
42
43
  },
43
44
  "publishConfig": {
@@ -78,9 +79,11 @@
78
79
  "devDependencies": {
79
80
  "@types/express": "^4.17.21",
80
81
  "@types/jsonwebtoken": "^9.0.6",
82
+ "cookie-parser": "^1.4.6",
81
83
  "@types/node": "^20.14.0",
82
84
  "@types/pg": "^8.11.0",
83
85
  "@types/react": "^18.2.46",
86
+ "@types/supertest": "^7.2.0",
84
87
  "express": "^4.19.2",
85
88
  "i18next": "^23.11.0",
86
89
  "i18next-http-backend": "^2.7.3",
@@ -88,7 +91,9 @@
88
91
  "pg": "^8.12.0",
89
92
  "react": "^18.2.0",
90
93
  "react-i18next": "^13.5.0",
91
- "typescript": "7.0.2"
94
+ "supertest": "^7.2.2",
95
+ "typescript": "7.0.2",
96
+ "vitest": "^4.1.4"
92
97
  },
93
98
  "engines": {
94
99
  "node": ">=20"