@molecule/app-bonds-default-react 1.0.0 → 1.0.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.
- package/README.md +371 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/optional/charts-chartjs.d.ts +15 -0
- package/dist/optional/charts-chartjs.d.ts.map +1 -0
- package/dist/optional/charts-chartjs.js +20 -0
- package/dist/optional/code-editor-monaco.d.ts +12 -0
- package/dist/optional/code-editor-monaco.d.ts.map +1 -0
- package/dist/optional/code-editor-monaco.js +17 -0
- package/dist/optional/command-palette-cmdk.d.ts +12 -0
- package/dist/optional/command-palette-cmdk.d.ts.map +1 -0
- package/dist/optional/command-palette-cmdk.js +17 -0
- package/dist/optional/drag-drop-dndkit.d.ts +12 -0
- package/dist/optional/drag-drop-dndkit.d.ts.map +1 -0
- package/dist/optional/drag-drop-dndkit.js +17 -0
- package/dist/optional/keyboard-shortcuts-hotkeys.d.ts +12 -0
- package/dist/optional/keyboard-shortcuts-hotkeys.d.ts.map +1 -0
- package/dist/optional/keyboard-shortcuts-hotkeys.js +17 -0
- package/dist/optional/maps-leaflet.d.ts +19 -0
- package/dist/optional/maps-leaflet.d.ts.map +1 -0
- package/dist/optional/maps-leaflet.js +24 -0
- package/dist/optional/realtime-socketio.d.ts +24 -0
- package/dist/optional/realtime-socketio.d.ts.map +1 -0
- package/dist/optional/realtime-socketio.js +29 -0
- package/dist/optional/video-hls.d.ts +12 -0
- package/dist/optional/video-hls.d.ts.map +1 -0
- package/dist/optional/video-hls.js +17 -0
- package/dist/optional/virtual-scroll-tanstack.d.ts +12 -0
- package/dist/optional/virtual-scroll-tanstack.d.ts.map +1 -0
- package/dist/optional/virtual-scroll-tanstack.js +17 -0
- package/dist/setup.d.ts +0 -26
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +0 -80
- package/package.json +83 -61
package/README.md
ADDED
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
3
|
+
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
|
+
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
|
+
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
+
Generated: 2026-08-06T06:01:29.248Z
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
# @molecule/app-bonds-default-react
|
|
10
|
+
|
|
11
|
+
> **Auto-generated, AI-first package reference** for the [molecule.dev](https://molecule.dev) ecosystem.
|
|
12
|
+
> It is written to be read by coding agents as much as by people, and is generated from this
|
|
13
|
+
> package's source — edit `src/index.ts` JSDoc, not this file.
|
|
14
|
+
|
|
15
|
+
`@molecule/app-bonds-default-react` — default app-side bond wirings for the
|
|
16
|
+
React fleet stack, replacing the byte-identical per-app files:
|
|
17
|
+
|
|
18
|
+
- `bootstrapApp({ App, authClient, setupProviders, registerPWA? })` — the
|
|
19
|
+
whole scaffolded `src/main.tsx`: awaits `setupProviders()` BEFORE the
|
|
20
|
+
first render, kicks off `authClient.initialize()` (best-effort), mounts
|
|
21
|
+
`<App />` in StrictMode on `#root`, then registers the PWA.
|
|
22
|
+
- `setupAllDefaultBonds()` — wires the SEVEN universal bonds in one call:
|
|
23
|
+
fonts-arimo, routing-react-router, storage-localstorage, styling-tailwind
|
|
24
|
+
(registers the tailwind-merge class merger), theme-css-variables
|
|
25
|
+
(light + dark via `getDefaultThemeProvider()`), ui-tailwind ClassMap,
|
|
26
|
+
icons-molecule. Each also exists as an individual `setupApp*()` for apps
|
|
27
|
+
that wire a la carte (per-app `app/src/bonds/<name>.ts` files stay 1-line
|
|
28
|
+
re-exports of these).
|
|
29
|
+
- **Optional provider wirings live behind subpaths**, one module per pair:
|
|
30
|
+
`@molecule/app-bonds-default-react/optional/<pair>.js` — `realtime-socketio`,
|
|
31
|
+
`keyboard-shortcuts-hotkeys`, `command-palette-cmdk`, `code-editor-monaco`,
|
|
32
|
+
`virtual-scroll-tanstack`, `drag-drop-dndkit`, `charts-chartjs`,
|
|
33
|
+
`maps-leaflet`, `video-hls`. Import ONLY the ones the app installs.
|
|
34
|
+
- Auth/http factories — `createDefaultAuthClient(authConfig)` returns
|
|
35
|
+
`{ authClient, setupAuthDefault }`; the `...WithHttpSync` /
|
|
36
|
+
`...WithFetchClient` variants also keep the bonded http client's bearer
|
|
37
|
+
token in sync with auth events.
|
|
38
|
+
|
|
39
|
+
## Quick Start
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
// src/main.tsx
|
|
43
|
+
import {
|
|
44
|
+
bootstrapApp,
|
|
45
|
+
createDefaultAuthClientWithHttpSync,
|
|
46
|
+
setupAllDefaultBonds,
|
|
47
|
+
} from '@molecule/app-bonds-default-react'
|
|
48
|
+
// Optional providers come from their own subpath — see @remarks.
|
|
49
|
+
import { setupAppCodeEditorMonaco } from '@molecule/app-bonds-default-react/optional/code-editor-monaco.js'
|
|
50
|
+
|
|
51
|
+
import { App } from './App.js'
|
|
52
|
+
import { authConfig } from './config.js'
|
|
53
|
+
|
|
54
|
+
const { authClient, setupAuthDefault } = createDefaultAuthClientWithHttpSync(authConfig)
|
|
55
|
+
|
|
56
|
+
bootstrapApp({
|
|
57
|
+
App,
|
|
58
|
+
authClient,
|
|
59
|
+
// Async so optional async bonds are AWAITED before the first render.
|
|
60
|
+
setupProviders: async () => {
|
|
61
|
+
setupAllDefaultBonds()
|
|
62
|
+
setupAuthDefault()
|
|
63
|
+
await setupAppCodeEditorMonaco() // only if the app uses the code editor
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Type
|
|
69
|
+
|
|
70
|
+
`feature`
|
|
71
|
+
|
|
72
|
+
## Installation
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm install @molecule/app-bonds-default-react @molecule/app-auth @molecule/app-charts @molecule/app-charts-chartjs @molecule/app-code-editor @molecule/app-code-editor-monaco @molecule/app-command-palette @molecule/app-command-palette-cmdk @molecule/app-drag-drop @molecule/app-drag-drop-dndkit @molecule/app-fonts @molecule/app-fonts-arimo @molecule/app-http @molecule/app-icons @molecule/app-icons-molecule @molecule/app-keyboard-shortcuts @molecule/app-keyboard-shortcuts-hotkeys @molecule/app-maps @molecule/app-maps-leaflet @molecule/app-realtime @molecule/app-realtime-socketio @molecule/app-routing @molecule/app-routing-react-router @molecule/app-storage @molecule/app-storage-localstorage @molecule/app-styling-tailwind @molecule/app-theme @molecule/app-theme-css-variables @molecule/app-ui @molecule/app-ui-tailwind @molecule/app-video @molecule/app-video-hls @molecule/app-virtual-scroll @molecule/app-virtual-scroll-tanstack react react-dom
|
|
76
|
+
npm install -D @types/react @types/react-dom
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## API
|
|
80
|
+
|
|
81
|
+
### Functions
|
|
82
|
+
|
|
83
|
+
#### `bootstrapApp(opts)`
|
|
84
|
+
|
|
85
|
+
Boot the React app: wire bonds, kick off auth initialization, mount
|
|
86
|
+
`<App />` inside `<StrictMode>` to `#root`, and (optionally) register
|
|
87
|
+
the PWA service worker.
|
|
88
|
+
|
|
89
|
+
Replaces the 20-line per-app `src/main.tsx` that 97 fleet apps shipped
|
|
90
|
+
byte-identically.
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
function bootstrapApp(opts: {
|
|
94
|
+
App: ComponentType
|
|
95
|
+
authClient: { initialize: () => Promise<void> }
|
|
96
|
+
setupProviders: () => void | Promise<void>
|
|
97
|
+
registerPWA?: () => void
|
|
98
|
+
}): void
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
#### `createDefaultAuthClient(authConfig)`
|
|
102
|
+
|
|
103
|
+
Builds the default JWT auth client + wires it into `@molecule/app-auth`.
|
|
104
|
+
|
|
105
|
+
Replaces the 16-line per-app `bonds/auth-default.ts` that 93 fleet
|
|
106
|
+
apps shipped byte-identically. Apps pass their own `authConfig`
|
|
107
|
+
(which lives in `src/config.ts`).
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
function createDefaultAuthClient(authConfig: AuthClientConfig): {
|
|
111
|
+
authClient: AuthClient<TUser>
|
|
112
|
+
setupAuthDefault: () => void
|
|
113
|
+
}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### `createDefaultAuthClientWithFetchClient(authConfig, fetchClientOptions)`
|
|
117
|
+
|
|
118
|
+
Most aggressive variant — bonds a fetch-based HTTP client with the
|
|
119
|
+
given `baseURL` (so molecule pkg `useGet('/path')` calls hit
|
|
120
|
+
`${baseURL}/path` instead of the SPA's catch-all route), AND keeps
|
|
121
|
+
its bearer token in sync with auth events.
|
|
122
|
+
|
|
123
|
+
Used by apps where molecule packages render pricing / billing /
|
|
124
|
+
other authed JSON-fetching screens that need both behaviors.
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
function createDefaultAuthClientWithFetchClient(
|
|
128
|
+
authConfig: AuthClientConfig,
|
|
129
|
+
fetchClientOptions: { baseURL: string; withCredentials?: boolean },
|
|
130
|
+
): { authClient: AuthClient<TUser>; setupAuthDefault: () => void }
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
#### `createDefaultAuthClientWithHttpSync(authConfig)`
|
|
134
|
+
|
|
135
|
+
Variant of `createDefaultAuthClient` that also keeps the bonded
|
|
136
|
+
`@molecule/app-http` client's bearer token in sync with auth events
|
|
137
|
+
(login / register / refresh / logout). Required by apps whose http
|
|
138
|
+
client must carry the JWT on every request — without this wiring,
|
|
139
|
+
authed endpoints return 401 after page reloads or token refresh.
|
|
140
|
+
|
|
141
|
+
Hydrates the HTTP client's token from the persisted auth state
|
|
142
|
+
on setup, then listens for auth events to keep them aligned.
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
function createDefaultAuthClientWithHttpSync(authConfig: AuthClientConfig): {
|
|
146
|
+
authClient: AuthClient<TUser>
|
|
147
|
+
setupAuthDefault: () => void
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### `createDefaultHttpClient(baseURL)`
|
|
152
|
+
|
|
153
|
+
Builds the default fetch-based HTTP client + wires it into
|
|
154
|
+
`@molecule/app-http`. Replaces the per-app `bonds/http-default.ts`
|
|
155
|
+
shipped by ~52 fleet apps.
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
function createDefaultHttpClient(baseURL: string): {
|
|
159
|
+
httpClient: HttpClient
|
|
160
|
+
setupHttpDefault: () => void
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### `createDefaultHttpClientWithAuthBearer(opts)`
|
|
165
|
+
|
|
166
|
+
Variant of `createDefaultHttpClient` that adds a request interceptor
|
|
167
|
+
injecting the JWT bearer token from the auth client AND (optionally)
|
|
168
|
+
stripping a leading `/api/` from request URLs.
|
|
169
|
+
|
|
170
|
+
Replaces ~20 per-app `bonds/http-default.ts` files that hand-roll
|
|
171
|
+
this same wiring. Pass `stripApiPrefix: true` when the app uses
|
|
172
|
+
`baseURL: '/api'` to handle pages that pass `/api/`-prefixed paths
|
|
173
|
+
(would otherwise resolve to `/api/api/...` and 404).
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
function createDefaultHttpClientWithAuthBearer(opts: {
|
|
177
|
+
baseURL: string
|
|
178
|
+
withCredentials?: boolean
|
|
179
|
+
stripApiPrefix?: boolean
|
|
180
|
+
getToken: () => string | null | undefined
|
|
181
|
+
}): { httpClient: HttpClient; setupHttpDefault: () => void }
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### `getDefaultThemeProvider()`
|
|
185
|
+
|
|
186
|
+
Returns (and lazily constructs) the shared default CSS-variables theme provider.
|
|
187
|
+
|
|
188
|
+
```typescript
|
|
189
|
+
function getDefaultThemeProvider(): ThemeProvider
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
#### `setupAllDefaultBonds()`
|
|
193
|
+
|
|
194
|
+
Wires all 7 universal app-side bonds in one call — fonts, routing,
|
|
195
|
+
storage, styling, theme, UI ClassMap, icons (in that order). Auth
|
|
196
|
+
|
|
197
|
+
- i18n stay per-app because they need app-specific config.
|
|
198
|
+
|
|
199
|
+
Replaces 9 individual setupX() calls in per-app `bonds/index.ts`.
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
function setupAllDefaultBonds(): void
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### `setupAppFontsArimo()`
|
|
206
|
+
|
|
207
|
+
Wires `@molecule/app-fonts-arimo` to `@molecule/app-fonts`.
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
function setupAppFontsArimo(): void
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
#### `setupAppIconsMolecule()`
|
|
214
|
+
|
|
215
|
+
Wires `@molecule/app-icons-molecule` to `@molecule/app-icons`.
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
function setupAppIconsMolecule(): void
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
#### `setupAppRoutingReactRouter()`
|
|
222
|
+
|
|
223
|
+
Wires `@molecule/app-routing-react-router` to `@molecule/app-routing`.
|
|
224
|
+
|
|
225
|
+
```typescript
|
|
226
|
+
function setupAppRoutingReactRouter(): void
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
#### `setupAppStorageLocalstorage()`
|
|
230
|
+
|
|
231
|
+
Wires `@molecule/app-storage-localstorage` to `@molecule/app-storage`.
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
function setupAppStorageLocalstorage(): void
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
#### `setupAppStylingTailwind()`
|
|
238
|
+
|
|
239
|
+
Wires `@molecule/app-styling-tailwind`: registers `tailwind-merge` as the
|
|
240
|
+
class merger for `@molecule/app-styling`'s `cn()`, so conflicting Tailwind
|
|
241
|
+
utilities resolve (last wins). Tailwind itself is configured via env vars +
|
|
242
|
+
the Vite plugin; this is the one runtime hook the framework-agnostic styling
|
|
243
|
+
core needs so it carries no Tailwind dependency of its own.
|
|
244
|
+
|
|
245
|
+
```typescript
|
|
246
|
+
function setupAppStylingTailwind(): void
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
#### `setupAppThemeCssVariables()`
|
|
250
|
+
|
|
251
|
+
Wires the default light + dark CSS-variables theme provider to `@molecule/app-theme`.
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
function setupAppThemeCssVariables(): void
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
#### `setupAppUiTailwind()`
|
|
258
|
+
|
|
259
|
+
Wires `@molecule/app-ui-tailwind` `classMap` to `@molecule/app-ui`.
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
function setupAppUiTailwind(): void
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Injection Notes
|
|
266
|
+
|
|
267
|
+
### Requirements
|
|
268
|
+
|
|
269
|
+
Peer dependencies:
|
|
270
|
+
|
|
271
|
+
- `@molecule/app-auth` ^1.0.1
|
|
272
|
+
- `@molecule/app-charts` ^1.0.1
|
|
273
|
+
- `@molecule/app-charts-chartjs` ^1.0.1
|
|
274
|
+
- `@molecule/app-code-editor` ^1.0.1
|
|
275
|
+
- `@molecule/app-code-editor-monaco` ^1.0.1
|
|
276
|
+
- `@molecule/app-command-palette` ^1.0.1
|
|
277
|
+
- `@molecule/app-command-palette-cmdk` ^1.0.1
|
|
278
|
+
- `@molecule/app-drag-drop` ^1.0.1
|
|
279
|
+
- `@molecule/app-drag-drop-dndkit` ^1.0.1
|
|
280
|
+
- `@molecule/app-fonts` ^1.0.1
|
|
281
|
+
- `@molecule/app-fonts-arimo` ^1.0.1
|
|
282
|
+
- `@molecule/app-http` ^1.0.1
|
|
283
|
+
- `@molecule/app-icons` ^1.0.1
|
|
284
|
+
- `@molecule/app-icons-molecule` ^1.0.1
|
|
285
|
+
- `@molecule/app-keyboard-shortcuts` ^1.0.1
|
|
286
|
+
- `@molecule/app-keyboard-shortcuts-hotkeys` ^1.0.1
|
|
287
|
+
- `@molecule/app-maps` ^1.0.1
|
|
288
|
+
- `@molecule/app-maps-leaflet` ^1.0.1
|
|
289
|
+
- `@molecule/app-realtime` ^1.0.1
|
|
290
|
+
- `@molecule/app-realtime-socketio` ^1.0.1
|
|
291
|
+
- `@molecule/app-routing` ^1.0.1
|
|
292
|
+
- `@molecule/app-routing-react-router` ^1.0.1
|
|
293
|
+
- `@molecule/app-storage` ^1.0.1
|
|
294
|
+
- `@molecule/app-storage-localstorage` ^1.0.1
|
|
295
|
+
- `@molecule/app-styling-tailwind` ^1.0.1
|
|
296
|
+
- `@molecule/app-theme` ^1.0.1
|
|
297
|
+
- `@molecule/app-theme-css-variables` ^1.0.1
|
|
298
|
+
- `@molecule/app-ui` ^1.0.1
|
|
299
|
+
- `@molecule/app-ui-tailwind` ^1.0.1
|
|
300
|
+
- `@molecule/app-video` ^1.0.1
|
|
301
|
+
- `@molecule/app-video-hls` ^1.0.1
|
|
302
|
+
- `@molecule/app-virtual-scroll` ^1.0.1
|
|
303
|
+
- `@molecule/app-virtual-scroll-tanstack` ^1.0.1
|
|
304
|
+
- `react` ^18.0.0 || ^19.0.0
|
|
305
|
+
- `react-dom` ^18.0.0 || ^19.0.0
|
|
306
|
+
|
|
307
|
+
### Runtime Dependencies
|
|
308
|
+
|
|
309
|
+
- `@molecule/app-auth`
|
|
310
|
+
- `@molecule/app-charts`
|
|
311
|
+
- `@molecule/app-charts-chartjs`
|
|
312
|
+
- `@molecule/app-code-editor`
|
|
313
|
+
- `@molecule/app-code-editor-monaco`
|
|
314
|
+
- `@molecule/app-command-palette`
|
|
315
|
+
- `@molecule/app-command-palette-cmdk`
|
|
316
|
+
- `@molecule/app-drag-drop`
|
|
317
|
+
- `@molecule/app-drag-drop-dndkit`
|
|
318
|
+
- `@molecule/app-fonts`
|
|
319
|
+
- `@molecule/app-fonts-arimo`
|
|
320
|
+
- `@molecule/app-http`
|
|
321
|
+
- `@molecule/app-icons`
|
|
322
|
+
- `@molecule/app-icons-molecule`
|
|
323
|
+
- `@molecule/app-keyboard-shortcuts`
|
|
324
|
+
- `@molecule/app-keyboard-shortcuts-hotkeys`
|
|
325
|
+
- `@molecule/app-maps`
|
|
326
|
+
- `@molecule/app-maps-leaflet`
|
|
327
|
+
- `@molecule/app-realtime`
|
|
328
|
+
- `@molecule/app-realtime-socketio`
|
|
329
|
+
- `@molecule/app-routing`
|
|
330
|
+
- `@molecule/app-routing-react-router`
|
|
331
|
+
- `@molecule/app-storage`
|
|
332
|
+
- `@molecule/app-storage-localstorage`
|
|
333
|
+
- `@molecule/app-styling-tailwind`
|
|
334
|
+
- `@molecule/app-theme`
|
|
335
|
+
- `@molecule/app-theme-css-variables`
|
|
336
|
+
- `@molecule/app-ui`
|
|
337
|
+
- `@molecule/app-ui-tailwind`
|
|
338
|
+
- `@molecule/app-video`
|
|
339
|
+
- `@molecule/app-video-hls`
|
|
340
|
+
- `@molecule/app-virtual-scroll`
|
|
341
|
+
- `@molecule/app-virtual-scroll-tanstack`
|
|
342
|
+
- `react`
|
|
343
|
+
- `react-dom`
|
|
344
|
+
|
|
345
|
+
- **Optional setups are NOT exported from the package root.** Import each from
|
|
346
|
+
its own subpath — `@molecule/app-bonds-default-react/optional/maps-leaflet.js`,
|
|
347
|
+
not `from '@molecule/app-bonds-default-react'`. A bundler must RESOLVE every
|
|
348
|
+
`import()` in a module it pulls into the graph, before tree-shaking can drop
|
|
349
|
+
anything, so while these lived in the barrel every app inherited all 18
|
|
350
|
+
optional providers and any app that had not installed all of them failed to
|
|
351
|
+
build with `Rolldown failed to resolve import "@molecule/app-maps"`. Only
|
|
352
|
+
import a subpath whose provider pair the app actually installs.
|
|
353
|
+
- `setupAllDefaultBonds()` does NOT wire the optional bonds. Those ship as
|
|
354
|
+
separate ASYNC setups — `setupAppRealtimeSocketio`,
|
|
355
|
+
`setupAppKeyboardShortcutsHotkeys`, `setupAppCommandPaletteCmdk`,
|
|
356
|
+
`setupAppCodeEditorMonaco`, `setupAppVirtualScrollTanstack`,
|
|
357
|
+
`setupAppDragDropDndkit`, `setupAppChartsChartjs`, `setupAppMapsLeaflet`,
|
|
358
|
+
`setupAppVideoHls` — and MUST be awaited inside `setupProviders`
|
|
359
|
+
(make it async). `bootstrapApp` awaits `setupProviders()` before mounting
|
|
360
|
+
so bonded providers exist by a component's first effect; a fire-and-forget
|
|
361
|
+
async setup races the mount and intermittently loses.
|
|
362
|
+
- Plain `createDefaultAuthClient` does NOT attach the JWT to the bonded
|
|
363
|
+
http client. If molecule packages call authed `/api` endpoints, use
|
|
364
|
+
`createDefaultAuthClientWithHttpSync` (or `...WithFetchClient` to also
|
|
365
|
+
bond a fetch client with a `baseURL`) — otherwise those endpoints return
|
|
366
|
+
401 after a page reload or token refresh.
|
|
367
|
+
- `getDefaultThemeProvider()` constructs lazily because the CSS-variables
|
|
368
|
+
theme provider touches `localStorage` at construction — importing this
|
|
369
|
+
package is SSR/test-safe, but only CALL it in a DOM environment. Apps
|
|
370
|
+
with custom themes build their own provider and skip
|
|
371
|
+
`setupAppThemeCssVariables()`.
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,11 @@
|
|
|
13
13
|
* icons-molecule. Each also exists as an individual `setupApp*()` for apps
|
|
14
14
|
* that wire a la carte (per-app `app/src/bonds/<name>.ts` files stay 1-line
|
|
15
15
|
* re-exports of these).
|
|
16
|
+
* - **Optional provider wirings live behind subpaths**, one module per pair:
|
|
17
|
+
* `@molecule/app-bonds-default-react/optional/<pair>.js` — `realtime-socketio`,
|
|
18
|
+
* `keyboard-shortcuts-hotkeys`, `command-palette-cmdk`, `code-editor-monaco`,
|
|
19
|
+
* `virtual-scroll-tanstack`, `drag-drop-dndkit`, `charts-chartjs`,
|
|
20
|
+
* `maps-leaflet`, `video-hls`. Import ONLY the ones the app installs.
|
|
16
21
|
* - Auth/http factories — `createDefaultAuthClient(authConfig)` returns
|
|
17
22
|
* `{ authClient, setupAuthDefault }`; the `...WithHttpSync` /
|
|
18
23
|
* `...WithFetchClient` variants also keep the bonded http client's bearer
|
|
@@ -25,8 +30,9 @@
|
|
|
25
30
|
* bootstrapApp,
|
|
26
31
|
* createDefaultAuthClientWithHttpSync,
|
|
27
32
|
* setupAllDefaultBonds,
|
|
28
|
-
* setupAppCodeEditorMonaco,
|
|
29
33
|
* } from '@molecule/app-bonds-default-react'
|
|
34
|
+
* // Optional providers come from their own subpath — see @remarks.
|
|
35
|
+
* import { setupAppCodeEditorMonaco } from '@molecule/app-bonds-default-react/optional/code-editor-monaco.js'
|
|
30
36
|
*
|
|
31
37
|
* import { App } from './App.js'
|
|
32
38
|
* import { authConfig } from './config.js'
|
|
@@ -47,6 +53,14 @@
|
|
|
47
53
|
* ```
|
|
48
54
|
*
|
|
49
55
|
* @remarks
|
|
56
|
+
* - **Optional setups are NOT exported from the package root.** Import each from
|
|
57
|
+
* its own subpath — `@molecule/app-bonds-default-react/optional/maps-leaflet.js`,
|
|
58
|
+
* not `from '@molecule/app-bonds-default-react'`. A bundler must RESOLVE every
|
|
59
|
+
* `import()` in a module it pulls into the graph, before tree-shaking can drop
|
|
60
|
+
* anything, so while these lived in the barrel every app inherited all 18
|
|
61
|
+
* optional providers and any app that had not installed all of them failed to
|
|
62
|
+
* build with `Rolldown failed to resolve import "@molecule/app-maps"`. Only
|
|
63
|
+
* import a subpath whose provider pair the app actually installs.
|
|
50
64
|
* - `setupAllDefaultBonds()` does NOT wire the optional bonds. Those ship as
|
|
51
65
|
* separate ASYNC setups — `setupAppRealtimeSocketio`,
|
|
52
66
|
* `setupAppKeyboardShortcutsHotkeys`, `setupAppCommandPaletteCmdk`,
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,11 @@
|
|
|
13
13
|
* icons-molecule. Each also exists as an individual `setupApp*()` for apps
|
|
14
14
|
* that wire a la carte (per-app `app/src/bonds/<name>.ts` files stay 1-line
|
|
15
15
|
* re-exports of these).
|
|
16
|
+
* - **Optional provider wirings live behind subpaths**, one module per pair:
|
|
17
|
+
* `@molecule/app-bonds-default-react/optional/<pair>.js` — `realtime-socketio`,
|
|
18
|
+
* `keyboard-shortcuts-hotkeys`, `command-palette-cmdk`, `code-editor-monaco`,
|
|
19
|
+
* `virtual-scroll-tanstack`, `drag-drop-dndkit`, `charts-chartjs`,
|
|
20
|
+
* `maps-leaflet`, `video-hls`. Import ONLY the ones the app installs.
|
|
16
21
|
* - Auth/http factories — `createDefaultAuthClient(authConfig)` returns
|
|
17
22
|
* `{ authClient, setupAuthDefault }`; the `...WithHttpSync` /
|
|
18
23
|
* `...WithFetchClient` variants also keep the bonded http client's bearer
|
|
@@ -25,8 +30,9 @@
|
|
|
25
30
|
* bootstrapApp,
|
|
26
31
|
* createDefaultAuthClientWithHttpSync,
|
|
27
32
|
* setupAllDefaultBonds,
|
|
28
|
-
* setupAppCodeEditorMonaco,
|
|
29
33
|
* } from '@molecule/app-bonds-default-react'
|
|
34
|
+
* // Optional providers come from their own subpath — see @remarks.
|
|
35
|
+
* import { setupAppCodeEditorMonaco } from '@molecule/app-bonds-default-react/optional/code-editor-monaco.js'
|
|
30
36
|
*
|
|
31
37
|
* import { App } from './App.js'
|
|
32
38
|
* import { authConfig } from './config.js'
|
|
@@ -47,6 +53,14 @@
|
|
|
47
53
|
* ```
|
|
48
54
|
*
|
|
49
55
|
* @remarks
|
|
56
|
+
* - **Optional setups are NOT exported from the package root.** Import each from
|
|
57
|
+
* its own subpath — `@molecule/app-bonds-default-react/optional/maps-leaflet.js`,
|
|
58
|
+
* not `from '@molecule/app-bonds-default-react'`. A bundler must RESOLVE every
|
|
59
|
+
* `import()` in a module it pulls into the graph, before tree-shaking can drop
|
|
60
|
+
* anything, so while these lived in the barrel every app inherited all 18
|
|
61
|
+
* optional providers and any app that had not installed all of them failed to
|
|
62
|
+
* build with `Rolldown failed to resolve import "@molecule/app-maps"`. Only
|
|
63
|
+
* import a subpath whose provider pair the app actually installs.
|
|
50
64
|
* - `setupAllDefaultBonds()` does NOT wire the optional bonds. Those ship as
|
|
51
65
|
* separate ASYNC setups — `setupAppRealtimeSocketio`,
|
|
52
66
|
* `setupAppKeyboardShortcutsHotkeys`, `setupAppCommandPaletteCmdk`,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-charts` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Wires `@molecule/app-charts-chartjs` (Chart.js) to `@molecule/app-charts` — real
|
|
12
|
+
* line/bar/pie/etc. charts instead of the core's placeholder panel.
|
|
13
|
+
*/
|
|
14
|
+
export declare function setupAppChartsChartjs(): Promise<void>;
|
|
15
|
+
//# sourceMappingURL=charts-chartjs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts-chartjs.d.ts","sourceRoot":"","sources":["../../src/optional/charts-chartjs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-charts` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Wires `@molecule/app-charts-chartjs` (Chart.js) to `@molecule/app-charts` — real
|
|
12
|
+
* line/bar/pie/etc. charts instead of the core's placeholder panel.
|
|
13
|
+
*/
|
|
14
|
+
export async function setupAppChartsChartjs() {
|
|
15
|
+
const [{ setProvider: setCharts }, { provider }] = await Promise.all([
|
|
16
|
+
import('@molecule/app-charts'),
|
|
17
|
+
import('@molecule/app-charts-chartjs'),
|
|
18
|
+
]);
|
|
19
|
+
setCharts(provider);
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-code-editor` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-code-editor-monaco` to `@molecule/app-code-editor`. */
|
|
11
|
+
export declare function setupAppCodeEditorMonaco(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=code-editor-monaco.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-editor-monaco.d.ts","sourceRoot":"","sources":["../../src/optional/code-editor-monaco.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,+EAA+E;AAC/E,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-code-editor` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-code-editor-monaco` to `@molecule/app-code-editor`. */
|
|
11
|
+
export async function setupAppCodeEditorMonaco() {
|
|
12
|
+
const [{ setProvider: setEditor }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-code-editor'),
|
|
14
|
+
import('@molecule/app-code-editor-monaco'),
|
|
15
|
+
]);
|
|
16
|
+
setEditor(provider);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-command-palette` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-command-palette-cmdk` to `@molecule/app-command-palette`. */
|
|
11
|
+
export declare function setupAppCommandPaletteCmdk(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=command-palette-cmdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-palette-cmdk.d.ts","sourceRoot":"","sources":["../../src/optional/command-palette-cmdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qFAAqF;AACrF,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-command-palette` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-command-palette-cmdk` to `@molecule/app-command-palette`. */
|
|
11
|
+
export async function setupAppCommandPaletteCmdk() {
|
|
12
|
+
const [{ setProvider: setPalette }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-command-palette'),
|
|
14
|
+
import('@molecule/app-command-palette-cmdk'),
|
|
15
|
+
]);
|
|
16
|
+
setPalette(provider);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-drag-drop` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-drag-drop-dndkit` to `@molecule/app-drag-drop`. */
|
|
11
|
+
export declare function setupAppDragDropDndkit(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=drag-drop-dndkit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-drop-dndkit.d.ts","sourceRoot":"","sources":["../../src/optional/drag-drop-dndkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2EAA2E;AAC3E,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM5D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-drag-drop` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-drag-drop-dndkit` to `@molecule/app-drag-drop`. */
|
|
11
|
+
export async function setupAppDragDropDndkit() {
|
|
12
|
+
const [{ setProvider: setDnd }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-drag-drop'),
|
|
14
|
+
import('@molecule/app-drag-drop-dndkit'),
|
|
15
|
+
]);
|
|
16
|
+
setDnd(provider);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-keyboard-shortcuts` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-keyboard-shortcuts-hotkeys` to `@molecule/app-keyboard-shortcuts`. */
|
|
11
|
+
export declare function setupAppKeyboardShortcutsHotkeys(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=keyboard-shortcuts-hotkeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard-shortcuts-hotkeys.d.ts","sourceRoot":"","sources":["../../src/optional/keyboard-shortcuts-hotkeys.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8FAA8F;AAC9F,wBAAsB,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-keyboard-shortcuts` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-keyboard-shortcuts-hotkeys` to `@molecule/app-keyboard-shortcuts`. */
|
|
11
|
+
export async function setupAppKeyboardShortcutsHotkeys() {
|
|
12
|
+
const [{ setProvider: setKbd }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-keyboard-shortcuts'),
|
|
14
|
+
import('@molecule/app-keyboard-shortcuts-hotkeys'),
|
|
15
|
+
]);
|
|
16
|
+
setKbd(provider);
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-maps` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale. `@molecule/app-maps` is the import that first exposed the problem:
|
|
7
|
+
* it is the alphabetically-first unresolvable provider, so it is the one Rolldown
|
|
8
|
+
* named while the other 14 were equally broken.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Wires `@molecule/app-maps-leaflet` (Leaflet + OpenStreetMap, no API key) to
|
|
14
|
+
* `@molecule/app-maps` — a real slippy map instead of the core's grey placeholder.
|
|
15
|
+
* REQUIRES `import 'leaflet/dist/leaflet.css'` once in the app entry (the scaffolded
|
|
16
|
+
* `bonds/app-maps-leaflet.ts` does this); without it tiles + markers mis-position.
|
|
17
|
+
*/
|
|
18
|
+
export declare function setupAppMapsLeaflet(): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=maps-leaflet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps-leaflet.d.ts","sourceRoot":"","sources":["../../src/optional/maps-leaflet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-maps` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale. `@molecule/app-maps` is the import that first exposed the problem:
|
|
7
|
+
* it is the alphabetically-first unresolvable provider, so it is the one Rolldown
|
|
8
|
+
* named while the other 14 were equally broken.
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Wires `@molecule/app-maps-leaflet` (Leaflet + OpenStreetMap, no API key) to
|
|
14
|
+
* `@molecule/app-maps` — a real slippy map instead of the core's grey placeholder.
|
|
15
|
+
* REQUIRES `import 'leaflet/dist/leaflet.css'` once in the app entry (the scaffolded
|
|
16
|
+
* `bonds/app-maps-leaflet.ts` does this); without it tiles + markers mis-position.
|
|
17
|
+
*/
|
|
18
|
+
export async function setupAppMapsLeaflet() {
|
|
19
|
+
const [{ setProvider: setMaps }, { provider }] = await Promise.all([
|
|
20
|
+
import('@molecule/app-maps'),
|
|
21
|
+
import('@molecule/app-maps-leaflet'),
|
|
22
|
+
]);
|
|
23
|
+
setMaps(provider);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-realtime` bond.
|
|
3
|
+
*
|
|
4
|
+
* Lives in its own module, reachable only via the
|
|
5
|
+
* `@molecule/app-bonds-default-react/optional/realtime-socketio.js` subpath, because
|
|
6
|
+
* a bundler must RESOLVE every `import()` in a module it pulls into the graph —
|
|
7
|
+
* before tree-shaking can drop anything. While these wirings sat in `setup.ts`
|
|
8
|
+
* (re-exported from the barrel), importing `bootstrapApp` dragged all 18 optional
|
|
9
|
+
* providers into the graph, and any app that had not installed all of them failed
|
|
10
|
+
* to build:
|
|
11
|
+
*
|
|
12
|
+
* ```
|
|
13
|
+
* [vite]: Rolldown failed to resolve import "@molecule/app-maps"
|
|
14
|
+
* from ".../app-bonds-default-react/dist/setup.js"
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* One module per provider pair means an app pays for exactly the providers it
|
|
18
|
+
* imports — which is what made them optional in the first place.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
/** Wires `@molecule/app-realtime-socketio` to `@molecule/app-realtime`. */
|
|
23
|
+
export declare function setupAppRealtimeSocketio(): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=realtime-socketio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-socketio.d.ts","sourceRoot":"","sources":["../../src/optional/realtime-socketio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,2EAA2E;AAC3E,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAM9D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-realtime` bond.
|
|
3
|
+
*
|
|
4
|
+
* Lives in its own module, reachable only via the
|
|
5
|
+
* `@molecule/app-bonds-default-react/optional/realtime-socketio.js` subpath, because
|
|
6
|
+
* a bundler must RESOLVE every `import()` in a module it pulls into the graph —
|
|
7
|
+
* before tree-shaking can drop anything. While these wirings sat in `setup.ts`
|
|
8
|
+
* (re-exported from the barrel), importing `bootstrapApp` dragged all 18 optional
|
|
9
|
+
* providers into the graph, and any app that had not installed all of them failed
|
|
10
|
+
* to build:
|
|
11
|
+
*
|
|
12
|
+
* ```
|
|
13
|
+
* [vite]: Rolldown failed to resolve import "@molecule/app-maps"
|
|
14
|
+
* from ".../app-bonds-default-react/dist/setup.js"
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* One module per provider pair means an app pays for exactly the providers it
|
|
18
|
+
* imports — which is what made them optional in the first place.
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
/** Wires `@molecule/app-realtime-socketio` to `@molecule/app-realtime`. */
|
|
23
|
+
export async function setupAppRealtimeSocketio() {
|
|
24
|
+
const [{ setProvider: setRealtime }, { provider }] = await Promise.all([
|
|
25
|
+
import('@molecule/app-realtime'),
|
|
26
|
+
import('@molecule/app-realtime-socketio'),
|
|
27
|
+
]);
|
|
28
|
+
setRealtime(provider);
|
|
29
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-video` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-video-hls` (hls.js — HLS streaming everywhere) to `@molecule/app-video`. */
|
|
11
|
+
export declare function setupAppVideoHls(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=video-hls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video-hls.d.ts","sourceRoot":"","sources":["../../src/optional/video-hls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,oGAAoG;AACpG,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-video` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-video-hls` (hls.js — HLS streaming everywhere) to `@molecule/app-video`. */
|
|
11
|
+
export async function setupAppVideoHls() {
|
|
12
|
+
const [{ setProvider: setVideo }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-video'),
|
|
14
|
+
import('@molecule/app-video-hls'),
|
|
15
|
+
]);
|
|
16
|
+
setVideo(provider);
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-virtual-scroll` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-virtual-scroll-tanstack` to `@molecule/app-virtual-scroll`. */
|
|
11
|
+
export declare function setupAppVirtualScrollTanstack(): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=virtual-scroll-tanstack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-scroll-tanstack.d.ts","sourceRoot":"","sources":["../../src/optional/virtual-scroll-tanstack.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,uFAAuF;AACvF,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the optional `@molecule/app-virtual-scroll` bond.
|
|
3
|
+
*
|
|
4
|
+
* Its own module + subpath export so a bundler only resolves these providers when
|
|
5
|
+
* an app actually imports them — see `./realtime-socketio.js` for the full
|
|
6
|
+
* rationale.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
/** Wires `@molecule/app-virtual-scroll-tanstack` to `@molecule/app-virtual-scroll`. */
|
|
11
|
+
export async function setupAppVirtualScrollTanstack() {
|
|
12
|
+
const [{ setProvider: setScroll }, { provider }] = await Promise.all([
|
|
13
|
+
import('@molecule/app-virtual-scroll'),
|
|
14
|
+
import('@molecule/app-virtual-scroll-tanstack'),
|
|
15
|
+
]);
|
|
16
|
+
setScroll(provider);
|
|
17
|
+
}
|
package/dist/setup.d.ts
CHANGED
|
@@ -35,32 +35,6 @@ export declare function setupAppStylingTailwind(): void;
|
|
|
35
35
|
export declare function setupAppThemeCssVariables(): void;
|
|
36
36
|
/** Wires `@molecule/app-ui-tailwind` `classMap` to `@molecule/app-ui`. */
|
|
37
37
|
export declare function setupAppUiTailwind(): void;
|
|
38
|
-
/** Wires `@molecule/app-realtime-socketio` to `@molecule/app-realtime`. */
|
|
39
|
-
export declare function setupAppRealtimeSocketio(): Promise<void>;
|
|
40
|
-
/** Wires `@molecule/app-keyboard-shortcuts-hotkeys` to `@molecule/app-keyboard-shortcuts`. */
|
|
41
|
-
export declare function setupAppKeyboardShortcutsHotkeys(): Promise<void>;
|
|
42
|
-
/** Wires `@molecule/app-command-palette-cmdk` to `@molecule/app-command-palette`. */
|
|
43
|
-
export declare function setupAppCommandPaletteCmdk(): Promise<void>;
|
|
44
|
-
/** Wires `@molecule/app-code-editor-monaco` to `@molecule/app-code-editor`. */
|
|
45
|
-
export declare function setupAppCodeEditorMonaco(): Promise<void>;
|
|
46
|
-
/** Wires `@molecule/app-virtual-scroll-tanstack` to `@molecule/app-virtual-scroll`. */
|
|
47
|
-
export declare function setupAppVirtualScrollTanstack(): Promise<void>;
|
|
48
|
-
/** Wires `@molecule/app-drag-drop-dndkit` to `@molecule/app-drag-drop`. */
|
|
49
|
-
export declare function setupAppDragDropDndkit(): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Wires `@molecule/app-charts-chartjs` (Chart.js) to `@molecule/app-charts` — real
|
|
52
|
-
* line/bar/pie/etc. charts instead of the core's placeholder panel.
|
|
53
|
-
*/
|
|
54
|
-
export declare function setupAppChartsChartjs(): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Wires `@molecule/app-maps-leaflet` (Leaflet + OpenStreetMap, no API key) to
|
|
57
|
-
* `@molecule/app-maps` — a real slippy map instead of the core's grey placeholder.
|
|
58
|
-
* REQUIRES `import 'leaflet/dist/leaflet.css'` once in the app entry (the scaffolded
|
|
59
|
-
* `bonds/app-maps-leaflet.ts` does this); without it tiles + markers mis-position.
|
|
60
|
-
*/
|
|
61
|
-
export declare function setupAppMapsLeaflet(): Promise<void>;
|
|
62
|
-
/** Wires `@molecule/app-video-hls` (hls.js — HLS streaming everywhere) to `@molecule/app-video`. */
|
|
63
|
-
export declare function setupAppVideoHls(): Promise<void>;
|
|
64
38
|
/**
|
|
65
39
|
* Wires all 7 universal app-side bonds in one call — fonts, routing,
|
|
66
40
|
* storage, styling, theme, UI ClassMap, icons (in that order). Auth
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,EACL,+BAA+B,EAGhC,MAAM,mCAAmC,CAAA;AAe1C,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAS5F;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,OAAO,EACL,+BAA+B,EAGhC,MAAM,mCAAmC,CAAA;AAe1C,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAS5F;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAQ3C"}
|
package/dist/setup.js
CHANGED
|
@@ -81,86 +81,6 @@ export function setupAppThemeCssVariables() {
|
|
|
81
81
|
export function setupAppUiTailwind() {
|
|
82
82
|
setClassMap(classMap);
|
|
83
83
|
}
|
|
84
|
-
/** Wires `@molecule/app-realtime-socketio` to `@molecule/app-realtime`. */
|
|
85
|
-
export async function setupAppRealtimeSocketio() {
|
|
86
|
-
const [{ setProvider: setRealtime }, { provider }] = await Promise.all([
|
|
87
|
-
import('@molecule/app-realtime'),
|
|
88
|
-
import('@molecule/app-realtime-socketio'),
|
|
89
|
-
]);
|
|
90
|
-
setRealtime(provider);
|
|
91
|
-
}
|
|
92
|
-
/** Wires `@molecule/app-keyboard-shortcuts-hotkeys` to `@molecule/app-keyboard-shortcuts`. */
|
|
93
|
-
export async function setupAppKeyboardShortcutsHotkeys() {
|
|
94
|
-
const [{ setProvider: setKbd }, { provider }] = await Promise.all([
|
|
95
|
-
import('@molecule/app-keyboard-shortcuts'),
|
|
96
|
-
import('@molecule/app-keyboard-shortcuts-hotkeys'),
|
|
97
|
-
]);
|
|
98
|
-
setKbd(provider);
|
|
99
|
-
}
|
|
100
|
-
/** Wires `@molecule/app-command-palette-cmdk` to `@molecule/app-command-palette`. */
|
|
101
|
-
export async function setupAppCommandPaletteCmdk() {
|
|
102
|
-
const [{ setProvider: setPalette }, { provider }] = await Promise.all([
|
|
103
|
-
import('@molecule/app-command-palette'),
|
|
104
|
-
import('@molecule/app-command-palette-cmdk'),
|
|
105
|
-
]);
|
|
106
|
-
setPalette(provider);
|
|
107
|
-
}
|
|
108
|
-
/** Wires `@molecule/app-code-editor-monaco` to `@molecule/app-code-editor`. */
|
|
109
|
-
export async function setupAppCodeEditorMonaco() {
|
|
110
|
-
const [{ setProvider: setEditor }, { provider }] = await Promise.all([
|
|
111
|
-
import('@molecule/app-code-editor'),
|
|
112
|
-
import('@molecule/app-code-editor-monaco'),
|
|
113
|
-
]);
|
|
114
|
-
setEditor(provider);
|
|
115
|
-
}
|
|
116
|
-
/** Wires `@molecule/app-virtual-scroll-tanstack` to `@molecule/app-virtual-scroll`. */
|
|
117
|
-
export async function setupAppVirtualScrollTanstack() {
|
|
118
|
-
const [{ setProvider: setScroll }, { provider }] = await Promise.all([
|
|
119
|
-
import('@molecule/app-virtual-scroll'),
|
|
120
|
-
import('@molecule/app-virtual-scroll-tanstack'),
|
|
121
|
-
]);
|
|
122
|
-
setScroll(provider);
|
|
123
|
-
}
|
|
124
|
-
/** Wires `@molecule/app-drag-drop-dndkit` to `@molecule/app-drag-drop`. */
|
|
125
|
-
export async function setupAppDragDropDndkit() {
|
|
126
|
-
const [{ setProvider: setDnd }, { provider }] = await Promise.all([
|
|
127
|
-
import('@molecule/app-drag-drop'),
|
|
128
|
-
import('@molecule/app-drag-drop-dndkit'),
|
|
129
|
-
]);
|
|
130
|
-
setDnd(provider);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Wires `@molecule/app-charts-chartjs` (Chart.js) to `@molecule/app-charts` — real
|
|
134
|
-
* line/bar/pie/etc. charts instead of the core's placeholder panel.
|
|
135
|
-
*/
|
|
136
|
-
export async function setupAppChartsChartjs() {
|
|
137
|
-
const [{ setProvider: setCharts }, { provider }] = await Promise.all([
|
|
138
|
-
import('@molecule/app-charts'),
|
|
139
|
-
import('@molecule/app-charts-chartjs'),
|
|
140
|
-
]);
|
|
141
|
-
setCharts(provider);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Wires `@molecule/app-maps-leaflet` (Leaflet + OpenStreetMap, no API key) to
|
|
145
|
-
* `@molecule/app-maps` — a real slippy map instead of the core's grey placeholder.
|
|
146
|
-
* REQUIRES `import 'leaflet/dist/leaflet.css'` once in the app entry (the scaffolded
|
|
147
|
-
* `bonds/app-maps-leaflet.ts` does this); without it tiles + markers mis-position.
|
|
148
|
-
*/
|
|
149
|
-
export async function setupAppMapsLeaflet() {
|
|
150
|
-
const [{ setProvider: setMaps }, { provider }] = await Promise.all([
|
|
151
|
-
import('@molecule/app-maps'),
|
|
152
|
-
import('@molecule/app-maps-leaflet'),
|
|
153
|
-
]);
|
|
154
|
-
setMaps(provider);
|
|
155
|
-
}
|
|
156
|
-
/** Wires `@molecule/app-video-hls` (hls.js — HLS streaming everywhere) to `@molecule/app-video`. */
|
|
157
|
-
export async function setupAppVideoHls() {
|
|
158
|
-
const [{ setProvider: setVideo }, { provider }] = await Promise.all([
|
|
159
|
-
import('@molecule/app-video'),
|
|
160
|
-
import('@molecule/app-video-hls'),
|
|
161
|
-
]);
|
|
162
|
-
setVideo(provider);
|
|
163
|
-
}
|
|
164
84
|
/**
|
|
165
85
|
* Wires all 7 universal app-side bonds in one call — fonts, routing,
|
|
166
86
|
* storage, styling, theme, UI ClassMap, icons (in that order). Auth
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@molecule/app-bonds-default-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Default app-side bond wirings for React+Tailwind+react-router+localStorage+Arimo font+molecule icons. 5 setup functions consolidating 665 byte-identical per-app bond wiring files across the fleet.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,10 +14,15 @@
|
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./optional/*.js": {
|
|
19
|
+
"types": "./dist/optional/*.d.ts",
|
|
20
|
+
"import": "./dist/optional/*.js"
|
|
17
21
|
}
|
|
18
22
|
},
|
|
19
23
|
"files": [
|
|
20
|
-
"dist"
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md"
|
|
21
26
|
],
|
|
22
27
|
"keywords": [
|
|
23
28
|
"molecule",
|
|
@@ -26,36 +31,41 @@
|
|
|
26
31
|
"react"
|
|
27
32
|
],
|
|
28
33
|
"license": "Apache-2.0",
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "https://github.com/molecule-dev/molecule.git",
|
|
37
|
+
"directory": "packages/app/infrastructure/bonds-default-react"
|
|
38
|
+
},
|
|
29
39
|
"devDependencies": {
|
|
30
|
-
"@molecule/app-auth": "1.0.
|
|
31
|
-
"@molecule/app-charts-chartjs": "1.0.
|
|
32
|
-
"@molecule/app-code-editor": "1.0.
|
|
33
|
-
"@molecule/app-code-editor-monaco": "1.0.
|
|
34
|
-
"@molecule/app-command-palette": "1.0.
|
|
35
|
-
"@molecule/app-command-palette-cmdk": "1.0.
|
|
36
|
-
"@molecule/app-drag-drop": "1.0.
|
|
37
|
-
"@molecule/app-drag-drop-dndkit": "1.0.
|
|
38
|
-
"@molecule/app-fonts": "1.0.
|
|
39
|
-
"@molecule/app-fonts-arimo": "1.0.
|
|
40
|
-
"@molecule/app-http": "1.0.
|
|
41
|
-
"@molecule/app-icons": "1.0.
|
|
42
|
-
"@molecule/app-icons-molecule": "1.0.
|
|
43
|
-
"@molecule/app-keyboard-shortcuts": "1.0.
|
|
44
|
-
"@molecule/app-keyboard-shortcuts-hotkeys": "1.0.
|
|
45
|
-
"@molecule/app-maps-leaflet": "1.0.
|
|
46
|
-
"@molecule/app-realtime": "1.0.
|
|
47
|
-
"@molecule/app-realtime-socketio": "1.0.
|
|
48
|
-
"@molecule/app-routing": "1.0.
|
|
49
|
-
"@molecule/app-routing-react-router": "1.0.
|
|
50
|
-
"@molecule/app-storage": "1.0.
|
|
51
|
-
"@molecule/app-storage-localstorage": "1.0.
|
|
52
|
-
"@molecule/app-theme": "1.0.
|
|
53
|
-
"@molecule/app-theme-css-variables": "1.0.
|
|
54
|
-
"@molecule/app-ui": "1.0.
|
|
55
|
-
"@molecule/app-ui-tailwind": "1.0.
|
|
56
|
-
"@molecule/app-video-hls": "1.0.
|
|
57
|
-
"@molecule/app-virtual-scroll": "1.0.
|
|
58
|
-
"@molecule/app-virtual-scroll-tanstack": "1.0.
|
|
40
|
+
"@molecule/app-auth": "1.0.1",
|
|
41
|
+
"@molecule/app-charts-chartjs": "1.0.1",
|
|
42
|
+
"@molecule/app-code-editor": "1.0.1",
|
|
43
|
+
"@molecule/app-code-editor-monaco": "1.0.1",
|
|
44
|
+
"@molecule/app-command-palette": "1.0.1",
|
|
45
|
+
"@molecule/app-command-palette-cmdk": "1.0.1",
|
|
46
|
+
"@molecule/app-drag-drop": "1.0.1",
|
|
47
|
+
"@molecule/app-drag-drop-dndkit": "1.0.1",
|
|
48
|
+
"@molecule/app-fonts": "1.0.1",
|
|
49
|
+
"@molecule/app-fonts-arimo": "1.0.1",
|
|
50
|
+
"@molecule/app-http": "1.0.1",
|
|
51
|
+
"@molecule/app-icons": "1.0.1",
|
|
52
|
+
"@molecule/app-icons-molecule": "1.0.1",
|
|
53
|
+
"@molecule/app-keyboard-shortcuts": "1.0.1",
|
|
54
|
+
"@molecule/app-keyboard-shortcuts-hotkeys": "1.0.1",
|
|
55
|
+
"@molecule/app-maps-leaflet": "1.0.1",
|
|
56
|
+
"@molecule/app-realtime": "1.0.1",
|
|
57
|
+
"@molecule/app-realtime-socketio": "1.0.1",
|
|
58
|
+
"@molecule/app-routing": "1.0.1",
|
|
59
|
+
"@molecule/app-routing-react-router": "1.0.1",
|
|
60
|
+
"@molecule/app-storage": "1.0.1",
|
|
61
|
+
"@molecule/app-storage-localstorage": "1.0.1",
|
|
62
|
+
"@molecule/app-theme": "1.0.1",
|
|
63
|
+
"@molecule/app-theme-css-variables": "1.0.1",
|
|
64
|
+
"@molecule/app-ui": "1.0.1",
|
|
65
|
+
"@molecule/app-ui-tailwind": "1.0.1",
|
|
66
|
+
"@molecule/app-video-hls": "1.0.1",
|
|
67
|
+
"@molecule/app-virtual-scroll": "1.0.1",
|
|
68
|
+
"@molecule/app-virtual-scroll-tanstack": "1.0.1",
|
|
59
69
|
"@types/node": "26.1.2",
|
|
60
70
|
"@types/react": "19.2.17",
|
|
61
71
|
"@types/react-dom": "19.2.3",
|
|
@@ -66,40 +76,46 @@
|
|
|
66
76
|
"vitest": "4.1.10"
|
|
67
77
|
},
|
|
68
78
|
"peerDependencies": {
|
|
69
|
-
"@molecule/app-auth": "^1.0.
|
|
70
|
-
"@molecule/app-charts
|
|
71
|
-
"@molecule/app-
|
|
72
|
-
"@molecule/app-code-editor
|
|
73
|
-
"@molecule/app-
|
|
74
|
-
"@molecule/app-command-palette
|
|
75
|
-
"@molecule/app-
|
|
76
|
-
"@molecule/app-drag-drop
|
|
77
|
-
"@molecule/app-
|
|
78
|
-
"@molecule/app-fonts
|
|
79
|
-
"@molecule/app-
|
|
80
|
-
"@molecule/app-
|
|
81
|
-
"@molecule/app-icons
|
|
82
|
-
"@molecule/app-
|
|
83
|
-
"@molecule/app-keyboard-shortcuts
|
|
84
|
-
"@molecule/app-
|
|
85
|
-
"@molecule/app-
|
|
86
|
-
"@molecule/app-
|
|
87
|
-
"@molecule/app-
|
|
88
|
-
"@molecule/app-
|
|
89
|
-
"@molecule/app-
|
|
90
|
-
"@molecule/app-
|
|
91
|
-
"@molecule/app-
|
|
92
|
-
"@molecule/app-
|
|
93
|
-
"@molecule/app-
|
|
94
|
-
"@molecule/app-
|
|
95
|
-
"@molecule/app-
|
|
96
|
-
"@molecule/app-
|
|
97
|
-
"@molecule/app-
|
|
98
|
-
"@molecule/app-
|
|
79
|
+
"@molecule/app-auth": "^1.0.1",
|
|
80
|
+
"@molecule/app-charts": "^1.0.1",
|
|
81
|
+
"@molecule/app-charts-chartjs": "^1.0.1",
|
|
82
|
+
"@molecule/app-code-editor": "^1.0.1",
|
|
83
|
+
"@molecule/app-code-editor-monaco": "^1.0.1",
|
|
84
|
+
"@molecule/app-command-palette": "^1.0.1",
|
|
85
|
+
"@molecule/app-command-palette-cmdk": "^1.0.1",
|
|
86
|
+
"@molecule/app-drag-drop": "^1.0.1",
|
|
87
|
+
"@molecule/app-drag-drop-dndkit": "^1.0.1",
|
|
88
|
+
"@molecule/app-fonts": "^1.0.1",
|
|
89
|
+
"@molecule/app-fonts-arimo": "^1.0.1",
|
|
90
|
+
"@molecule/app-http": "^1.0.1",
|
|
91
|
+
"@molecule/app-icons": "^1.0.1",
|
|
92
|
+
"@molecule/app-icons-molecule": "^1.0.1",
|
|
93
|
+
"@molecule/app-keyboard-shortcuts": "^1.0.1",
|
|
94
|
+
"@molecule/app-keyboard-shortcuts-hotkeys": "^1.0.1",
|
|
95
|
+
"@molecule/app-maps": "^1.0.1",
|
|
96
|
+
"@molecule/app-maps-leaflet": "^1.0.1",
|
|
97
|
+
"@molecule/app-realtime": "^1.0.1",
|
|
98
|
+
"@molecule/app-realtime-socketio": "^1.0.1",
|
|
99
|
+
"@molecule/app-routing": "^1.0.1",
|
|
100
|
+
"@molecule/app-routing-react-router": "^1.0.1",
|
|
101
|
+
"@molecule/app-storage": "^1.0.1",
|
|
102
|
+
"@molecule/app-storage-localstorage": "^1.0.1",
|
|
103
|
+
"@molecule/app-styling-tailwind": "^1.0.1",
|
|
104
|
+
"@molecule/app-theme": "^1.0.1",
|
|
105
|
+
"@molecule/app-theme-css-variables": "^1.0.1",
|
|
106
|
+
"@molecule/app-ui": "^1.0.1",
|
|
107
|
+
"@molecule/app-ui-tailwind": "^1.0.1",
|
|
108
|
+
"@molecule/app-video": "^1.0.1",
|
|
109
|
+
"@molecule/app-video-hls": "^1.0.1",
|
|
110
|
+
"@molecule/app-virtual-scroll": "^1.0.1",
|
|
111
|
+
"@molecule/app-virtual-scroll-tanstack": "^1.0.1",
|
|
99
112
|
"react": "^18.0.0 || ^19.0.0",
|
|
100
113
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
101
114
|
},
|
|
102
115
|
"peerDependenciesMeta": {
|
|
116
|
+
"@molecule/app-charts": {
|
|
117
|
+
"optional": true
|
|
118
|
+
},
|
|
103
119
|
"@molecule/app-charts-chartjs": {
|
|
104
120
|
"optional": true
|
|
105
121
|
},
|
|
@@ -127,6 +143,9 @@
|
|
|
127
143
|
"@molecule/app-keyboard-shortcuts-hotkeys": {
|
|
128
144
|
"optional": true
|
|
129
145
|
},
|
|
146
|
+
"@molecule/app-maps": {
|
|
147
|
+
"optional": true
|
|
148
|
+
},
|
|
130
149
|
"@molecule/app-maps-leaflet": {
|
|
131
150
|
"optional": true
|
|
132
151
|
},
|
|
@@ -136,6 +155,9 @@
|
|
|
136
155
|
"@molecule/app-realtime-socketio": {
|
|
137
156
|
"optional": true
|
|
138
157
|
},
|
|
158
|
+
"@molecule/app-video": {
|
|
159
|
+
"optional": true
|
|
160
|
+
},
|
|
139
161
|
"@molecule/app-video-hls": {
|
|
140
162
|
"optional": true
|
|
141
163
|
},
|