@owlmeans/web-client 0.1.6 → 0.1.8
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.
package/README.md
CHANGED
|
@@ -76,3 +76,20 @@ Component that handles authentication routing (redirect to login, etc.).
|
|
|
76
76
|
- [`@owlmeans/web-router`](../web-router) — React Router integration registered by `makeContext`
|
|
77
77
|
- [`@owlmeans/web-db`](../web-db) — IndexedDB service registered by `makeContext`
|
|
78
78
|
- [`@owlmeans/client-module`](../client-module) — `ClientModule<T>` / `Module<T>` implementation
|
|
79
|
+
|
|
80
|
+
<!-- owlmeans:agent-guidance:start -->
|
|
81
|
+
## Agent guidance
|
|
82
|
+
|
|
83
|
+
This package ships embedded Claude Code skills and GitHub Copilot instructions under
|
|
84
|
+
`agent-meta/`. After installing your `@owlmeans/*` packages, run the OwlMeans
|
|
85
|
+
agent-skills installer to place them into your project's native locations
|
|
86
|
+
(`.claude/skills/` and `.github/instructions/`):
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
npx @owlmeans/agent-skills
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The embedded files are version-matched to this package release. Do not edit them
|
|
93
|
+
directly — they are regenerated on each publish. To contribute guidance edits,
|
|
94
|
+
open a PR against the source monorepo.
|
|
95
|
+
<!-- owlmeans:agent-guidance:end -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "How to use @owlmeans/web-client — browser entry point with renderApp(), elevate() to attach React components to entrypoint declarations, context.registerEntrypoints() and context.serviceRoute() for routing."
|
|
3
|
+
applyTo: "**/index.tsx, **/modules.ts, **/modules.tsx, **/*.ts, **/*.tsx"
|
|
4
|
+
---
|
|
5
|
+
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
6
|
+
|
|
7
|
+
# @owlmeans/web-client
|
|
8
|
+
|
|
9
|
+
**Layer:** Web (React)
|
|
10
|
+
**Install:** `"@owlmeans/web-client": "^0.1.8"` in `dependencies`
|
|
11
|
+
|
|
12
|
+
## Key Exports
|
|
13
|
+
|
|
14
|
+
| Export | Description |
|
|
15
|
+
|--------|-------------|
|
|
16
|
+
| `renderApp<C, T>(context)` | Mount React app with React Router 7 |
|
|
17
|
+
| `elevate(modules, alias, handler)` | Attach a React component to an entrypoint |
|
|
18
|
+
| `handler(Component)` | Wrap a React component as an entrypoint handler |
|
|
19
|
+
| `context.registerEntrypoints(modules)` | Register entrypoints on the context |
|
|
20
|
+
| `context.serviceRoute(alias, isDefault?)` | Mark a service's routing root |
|
|
21
|
+
| `router`, `components`, `service`, `i18n`, `helpers`, `errors` | Web helpers |
|
|
22
|
+
| Constants | Default aliases |
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
// index.tsx
|
|
28
|
+
import { renderApp } from '@owlmeans/web-client'
|
|
29
|
+
const context = makeContext(config)
|
|
30
|
+
context.registerEntrypoints(appModules)
|
|
31
|
+
context.serviceRoute(MANAGER, true)
|
|
32
|
+
renderApp<Config, Context>(context)
|
|
33
|
+
|
|
34
|
+
// modules.ts
|
|
35
|
+
import { elevate, route, frontend, handler, entrypoint } from '@owlmeans/web-client'
|
|
36
|
+
elevate(modules, manager.front.project.dashboard, handler(ProjectDashboardScreen))
|
|
37
|
+
modules.push(entrypoint(route(HOME, '/', frontend({ default: true })), handler(HomeScreen)))
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Depends On
|
|
41
|
+
|
|
42
|
+
- `@owlmeans/client`, `@owlmeans/web-router`, `@owlmeans/web-panel`, `@owlmeans/client-i18n`, `@owlmeans/entrypoint`, `@owlmeans/route`, `react`, `react-dom`, `react-router`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"package": "@owlmeans/web-client",
|
|
4
|
+
"version": "0.1.8",
|
|
5
|
+
"generatedAt": "2026-06-11T16:30:27.169Z",
|
|
6
|
+
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
|
+
"entries": [
|
|
8
|
+
{
|
|
9
|
+
"kind": "skill",
|
|
10
|
+
"name": "web-client",
|
|
11
|
+
"category": "package-specific",
|
|
12
|
+
"file": "skills/web-client/SKILL.md",
|
|
13
|
+
"canonicalPath": ".claude/skills/web-client/SKILL.md"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"kind": "instruction",
|
|
17
|
+
"name": "web-client",
|
|
18
|
+
"category": "package-specific",
|
|
19
|
+
"file": "instructions/web-client.instructions.md",
|
|
20
|
+
"canonicalPath": ".github/instructions/web-client.instructions.md"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: web-client
|
|
3
|
+
description: How to use @owlmeans/web-client — browser entry point with renderApp(), elevate() to attach React components to entrypoint declarations, context.registerEntrypoints() and context.serviceRoute() for routing. Auto-invoked when working with the web app entry point or attaching React components to entrypoints.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
7
|
+
|
|
8
|
+
# @owlmeans/web-client
|
|
9
|
+
|
|
10
|
+
**Layer:** Web (React)
|
|
11
|
+
**Install:** `"@owlmeans/web-client": "^0.1.8"` in `dependencies`
|
|
12
|
+
|
|
13
|
+
## Key Exports
|
|
14
|
+
|
|
15
|
+
| Export | Description |
|
|
16
|
+
|--------|-------------|
|
|
17
|
+
| `renderApp<C, T>(context)` | Mount the React app with React Router 7 |
|
|
18
|
+
| `elevate(modules, alias, handler)` | Attach a React component (or `handler(Component)`) to an entrypoint |
|
|
19
|
+
| `handler(Component)` | Wrap a React component as an entrypoint handler |
|
|
20
|
+
| `context.registerEntrypoints(modules)` | Register the full entrypoint list on the context |
|
|
21
|
+
| `context.serviceRoute(alias, isDefault?)` | Mark a service's routing root |
|
|
22
|
+
| `router`, `components`, `service`, `i18n`, `helpers`, `errors` | Web-specific helpers |
|
|
23
|
+
| Constants | Default aliases (BASE, HOME) |
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
### Entry point
|
|
28
|
+
```typescript
|
|
29
|
+
// index.tsx
|
|
30
|
+
import { renderApp } from '@owlmeans/web-client'
|
|
31
|
+
import { makeContext } from './context.js'
|
|
32
|
+
import { appModules } from './modules.js'
|
|
33
|
+
import { MANAGER, MANAGER_API } from 'my-common'
|
|
34
|
+
import config from './config.js'
|
|
35
|
+
|
|
36
|
+
const context = makeContext(config)
|
|
37
|
+
context.registerEntrypoints(appModules)
|
|
38
|
+
context.serviceRoute(MANAGER, true)
|
|
39
|
+
context.serviceRoute(MANAGER_API, true)
|
|
40
|
+
renderApp<Config, Context>(context)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Module elevation with React components
|
|
44
|
+
```typescript
|
|
45
|
+
import { elevate, route, frontend, handler, entrypoint, guard } from '@owlmeans/web-client'
|
|
46
|
+
import { HomeScreen, ProjectDashboardScreen } from './screens/index.js'
|
|
47
|
+
|
|
48
|
+
elevate(modules, manager.front.project.dashboard, handler(ProjectDashboardScreen))
|
|
49
|
+
|
|
50
|
+
modules.push(
|
|
51
|
+
entrypoint(route(HOME, '/', frontend({ default: true, parent: BASE })), handler(HomeScreen))
|
|
52
|
+
)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Depends On
|
|
56
|
+
|
|
57
|
+
- `@owlmeans/client`, `@owlmeans/web-router`, `@owlmeans/web-panel` (typically), `@owlmeans/client-i18n`
|
|
58
|
+
- `@owlmeans/entrypoint`, `@owlmeans/route`
|
|
59
|
+
- `react`, `react-dom`, `react-router` (peer)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/web-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -21,22 +21,22 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@owlmeans/auth": "^0.1.
|
|
25
|
-
"@owlmeans/auth-common": "^0.1.
|
|
26
|
-
"@owlmeans/client": "^0.1.
|
|
27
|
-
"@owlmeans/client-auth": "^0.1.
|
|
28
|
-
"@owlmeans/client-context": "^0.1.
|
|
29
|
-
"@owlmeans/client-i18n": "^0.1.
|
|
30
|
-
"@owlmeans/client-entrypoint": "^0.1.
|
|
31
|
-
"@owlmeans/client-resource": "^0.1.
|
|
32
|
-
"@owlmeans/client-route": "^0.1.
|
|
33
|
-
"@owlmeans/config": "^0.1.
|
|
34
|
-
"@owlmeans/context": "^0.1.
|
|
35
|
-
"@owlmeans/error": "^0.1.
|
|
36
|
-
"@owlmeans/i18n": "^0.1.
|
|
37
|
-
"@owlmeans/route": "^0.1.
|
|
38
|
-
"@owlmeans/web-db": "^0.1.
|
|
39
|
-
"@owlmeans/web-router": "^0.1.
|
|
24
|
+
"@owlmeans/auth": "^0.1.8",
|
|
25
|
+
"@owlmeans/auth-common": "^0.1.8",
|
|
26
|
+
"@owlmeans/client": "^0.1.8",
|
|
27
|
+
"@owlmeans/client-auth": "^0.1.8",
|
|
28
|
+
"@owlmeans/client-context": "^0.1.8",
|
|
29
|
+
"@owlmeans/client-i18n": "^0.1.8",
|
|
30
|
+
"@owlmeans/client-entrypoint": "^0.1.8",
|
|
31
|
+
"@owlmeans/client-resource": "^0.1.8",
|
|
32
|
+
"@owlmeans/client-route": "^0.1.8",
|
|
33
|
+
"@owlmeans/config": "^0.1.8",
|
|
34
|
+
"@owlmeans/context": "^0.1.8",
|
|
35
|
+
"@owlmeans/error": "^0.1.8",
|
|
36
|
+
"@owlmeans/i18n": "^0.1.8",
|
|
37
|
+
"@owlmeans/route": "^0.1.8",
|
|
38
|
+
"@owlmeans/web-db": "^0.1.8",
|
|
39
|
+
"@owlmeans/web-router": "^0.1.8",
|
|
40
40
|
"react-dropzone": "^14.3.5"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|