@acmekit/acmekit 2.13.89 → 2.13.90

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.
@@ -497,6 +497,7 @@ src/admin/routes/<feature>/
497
497
  - Fields: `grid grid-cols-1 gap-4 md:grid-cols-2`
498
498
  - Footer: `<div className="flex items-center justify-end gap-x-2">`, submit `type="submit"`
499
499
  - All buttons `size="small"`, use `useRouteModal()` for `handleSuccess`
500
+ - **IMPORTANT**: `useRouteModal()` must be in a **child component** rendered inside `<RouteFocusModal>` — split into page (renders modal) + form (calls hook)
500
501
 
501
502
  **Edit form** (`[id]/edit/page.tsx`):
502
503
  - `<RouteDrawer>` (auto-opens, navigates back on close)
@@ -505,6 +506,7 @@ src/admin/routes/<feature>/
505
506
  - Body fields: single column `flex flex-col gap-y-4` (drawer is narrow)
506
507
  - Footer: same as create
507
508
  - Loading guard wraps the `<KeyboundForm>`, not just body content
509
+ - **IMPORTANT**: `useRouteModal()` must be in a **child component** rendered inside `<RouteDrawer>` — split into page (renders drawer) + form (calls hook)
508
510
 
509
511
  #### Multi-Entity Feature
510
512
 
@@ -15,6 +15,7 @@ You are a senior AcmeKit plugin developer. Build distributable plugins that add
15
15
  - Put business logic in workflow steps — steps are thin wrappers; service methods own orchestration
16
16
  - Add `@acmekit/*` packages to `dependencies` — use `peerDependencies` + `devDependencies`
17
17
  - Call `plugin.resolveOptions(container)` inside module loaders — module container is scoped, not root
18
+ - Use raw SQL via `PG_CONNECTION` / `pgConnection.raw()` for data mutations — use service methods
18
19
 
19
20
  ### Ask First
20
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acmekit/acmekit",
3
- "version": "2.13.89",
3
+ "version": "2.13.90",
4
4
  "description": "Generic application bootstrap and loaders for the AcmeKit framework",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -49,45 +49,45 @@
49
49
  "test:integration": "../../node_modules/.bin/jest --passWithNoTests --forceExit --testPathPattern=\"src/.*/integration-tests/__tests__/.*\\.ts\""
50
50
  },
51
51
  "devDependencies": {
52
- "@acmekit/framework": "2.13.89"
52
+ "@acmekit/framework": "2.13.90"
53
53
  },
54
54
  "dependencies": {
55
- "@acmekit/admin-bundler": "2.13.89",
56
- "@acmekit/analytics": "2.13.89",
57
- "@acmekit/analytics-local": "2.13.89",
58
- "@acmekit/analytics-posthog": "2.13.89",
59
- "@acmekit/api-key": "2.13.89",
60
- "@acmekit/auth": "2.13.89",
61
- "@acmekit/auth-emailpass": "2.13.89",
62
- "@acmekit/auth-github": "2.13.89",
63
- "@acmekit/auth-google": "2.13.89",
64
- "@acmekit/cache-inmemory": "2.13.89",
65
- "@acmekit/cache-redis": "2.13.89",
66
- "@acmekit/caching": "2.13.89",
67
- "@acmekit/caching-redis": "2.13.89",
68
- "@acmekit/core-flows": "2.13.89",
69
- "@acmekit/event-bus-local": "2.13.89",
70
- "@acmekit/event-bus-redis": "2.13.89",
71
- "@acmekit/file": "2.13.89",
72
- "@acmekit/file-local": "2.13.89",
73
- "@acmekit/file-s3": "2.13.89",
74
- "@acmekit/index": "2.13.89",
75
- "@acmekit/link-modules": "2.13.89",
76
- "@acmekit/locking": "2.13.89",
77
- "@acmekit/locking-postgres": "2.13.89",
78
- "@acmekit/locking-redis": "2.13.89",
79
- "@acmekit/notification": "2.13.89",
80
- "@acmekit/notification-local": "2.13.89",
81
- "@acmekit/notification-sendgrid": "2.13.89",
82
- "@acmekit/rbac": "2.13.89",
83
- "@acmekit/secrets-aws": "2.13.89",
84
- "@acmekit/secrets-local": "2.13.89",
85
- "@acmekit/settings": "2.13.89",
86
- "@acmekit/telemetry": "2.13.89",
87
- "@acmekit/translation": "2.13.89",
88
- "@acmekit/user": "2.13.89",
89
- "@acmekit/workflow-engine-inmemory": "2.13.89",
90
- "@acmekit/workflow-engine-redis": "2.13.89",
55
+ "@acmekit/admin-bundler": "2.13.90",
56
+ "@acmekit/analytics": "2.13.90",
57
+ "@acmekit/analytics-local": "2.13.90",
58
+ "@acmekit/analytics-posthog": "2.13.90",
59
+ "@acmekit/api-key": "2.13.90",
60
+ "@acmekit/auth": "2.13.90",
61
+ "@acmekit/auth-emailpass": "2.13.90",
62
+ "@acmekit/auth-github": "2.13.90",
63
+ "@acmekit/auth-google": "2.13.90",
64
+ "@acmekit/cache-inmemory": "2.13.90",
65
+ "@acmekit/cache-redis": "2.13.90",
66
+ "@acmekit/caching": "2.13.90",
67
+ "@acmekit/caching-redis": "2.13.90",
68
+ "@acmekit/core-flows": "2.13.90",
69
+ "@acmekit/event-bus-local": "2.13.90",
70
+ "@acmekit/event-bus-redis": "2.13.90",
71
+ "@acmekit/file": "2.13.90",
72
+ "@acmekit/file-local": "2.13.90",
73
+ "@acmekit/file-s3": "2.13.90",
74
+ "@acmekit/index": "2.13.90",
75
+ "@acmekit/link-modules": "2.13.90",
76
+ "@acmekit/locking": "2.13.90",
77
+ "@acmekit/locking-postgres": "2.13.90",
78
+ "@acmekit/locking-redis": "2.13.90",
79
+ "@acmekit/notification": "2.13.90",
80
+ "@acmekit/notification-local": "2.13.90",
81
+ "@acmekit/notification-sendgrid": "2.13.90",
82
+ "@acmekit/rbac": "2.13.90",
83
+ "@acmekit/secrets-aws": "2.13.90",
84
+ "@acmekit/secrets-local": "2.13.90",
85
+ "@acmekit/settings": "2.13.90",
86
+ "@acmekit/telemetry": "2.13.90",
87
+ "@acmekit/translation": "2.13.90",
88
+ "@acmekit/user": "2.13.90",
89
+ "@acmekit/workflow-engine-inmemory": "2.13.90",
90
+ "@acmekit/workflow-engine-redis": "2.13.90",
91
91
  "@inquirer/checkbox": "^2.3.11",
92
92
  "@inquirer/input": "^2.2.9",
93
93
  "boxen": "^5.0.1",
@@ -106,7 +106,7 @@
106
106
  },
107
107
  "peerDependencies": {
108
108
  "@acmekit/docs-bundler": "^2.13.42",
109
- "@acmekit/framework": "2.13.89",
109
+ "@acmekit/framework": "2.13.90",
110
110
  "@jimsheen/yalc": "^1.2.2",
111
111
  "@swc/core": "^1.7.28",
112
112
  "posthog-node": "^5.11.0",