@lunora/nuxt 1.0.0-alpha.2 → 1.0.0-alpha.20
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/LICENSE.md +6 -0
- package/README.md +98 -1
- package/__assets__/package-og.svg +1 -1
- package/dist/module.json +1 -1
- package/dist/runtime/cloudflare.d.ts +24 -0
- package/dist/runtime/h3-request.d.ts +6 -0
- package/dist/runtime/h3-request.js +2 -0
- package/dist/runtime/handler.d.ts +8 -0
- package/dist/runtime/handler.js +3 -7
- package/dist/runtime/server/lunora.d.ts +3 -0
- package/dist/runtime/server/lunora.js +4 -3
- package/package.json +5 -5
package/LICENSE.md
CHANGED
|
@@ -103,3 +103,9 @@ Unless required by applicable law or agreed to in writing, software distributed
|
|
|
103
103
|
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
104
104
|
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
105
105
|
specific language governing permissions and limitations under the License.
|
|
106
|
+
|
|
107
|
+
<!-- DEPENDENCIES -->
|
|
108
|
+
<!-- /DEPENDENCIES -->
|
|
109
|
+
|
|
110
|
+
<!-- TYPE_DEPENDENCIES -->
|
|
111
|
+
<!-- /TYPE_DEPENDENCIES -->
|
package/README.md
CHANGED
|
@@ -1,4 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- START_PACKAGE_OG_IMAGE_PLACEHOLDER -->
|
|
2
|
+
|
|
3
|
+
<a href="https://www.anolilab.com/open-source" align="center">
|
|
4
|
+
|
|
5
|
+
<img src="__assets__/package-og.svg" alt="nuxt" />
|
|
6
|
+
|
|
7
|
+
</a>
|
|
8
|
+
|
|
9
|
+
<h3 align="center">Nuxt module for Lunora — single-worker composition (mounts /_lunora/* into Nitro) plus reactive-loader server helpers</h3>
|
|
10
|
+
|
|
11
|
+
<!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
|
|
12
|
+
|
|
13
|
+
<br />
|
|
14
|
+
|
|
15
|
+
<div align="center">
|
|
16
|
+
|
|
17
|
+
[![typescript-image][typescript-badge]][typescript-url]
|
|
18
|
+
[![FSL-1.1-Apache-2.0 licence][license-badge]][license]
|
|
19
|
+
[![npm version][npm-version-badge]][npm-version]
|
|
20
|
+
[![npm downloads][npm-downloads-badge]][npm-downloads]
|
|
21
|
+
[![PRs Welcome][prs-welcome-badge]][prs-welcome]
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
<div align="center">
|
|
28
|
+
<p>
|
|
29
|
+
<sup>
|
|
30
|
+
Daniel Bannert's open source work is supported by the community on <a href="https://github.com/sponsors/prisis">GitHub Sponsors</a>
|
|
31
|
+
</sup>
|
|
32
|
+
</p>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
---
|
|
2
36
|
|
|
3
37
|
A **Nuxt module** that runs Lunora and Nuxt as a **single Cloudflare Worker**.
|
|
4
38
|
|
|
@@ -7,6 +41,8 @@ is mounted _inside_ Nitro: the module registers a server route at `/_lunora/**`
|
|
|
7
41
|
that forwards every Lunora RPC, WebSocket upgrade, and admin request to your
|
|
8
42
|
Lunora app in-process. One `wrangler.jsonc`, one deploy, a same-origin client.
|
|
9
43
|
|
|
44
|
+
Part of the [Lunora](https://github.com/anolilab/lunora) framework — a type-safe, real-time backend on Cloudflare Workers + Durable Objects with a Vite-first DX.
|
|
45
|
+
|
|
10
46
|
## Install
|
|
11
47
|
|
|
12
48
|
```bash
|
|
@@ -78,3 +114,64 @@ Single-worker composition rides on two Nitro behaviours that vary across version
|
|
|
78
114
|
(`createServerClient`, `preloadQuery`, …) from `@lunora/client/ssr` for the
|
|
79
115
|
reactive-loader handoff. Safe to import from a Nitro server route (no WebSocket,
|
|
80
116
|
no browser globals).
|
|
117
|
+
|
|
118
|
+
## Feature flags
|
|
119
|
+
|
|
120
|
+
`@lunora/nuxt` ships no flag composable — Nuxt _is_ Vue, so read `ctx.flags`
|
|
121
|
+
server-side (a Nitro route, a function, or a reactive loader) and pass the
|
|
122
|
+
resolved value down, or call `useFlag` / `useFlags` from
|
|
123
|
+
[`@lunora/vue`](https://www.npmjs.com/package/@lunora/vue) directly in a
|
|
124
|
+
component for live updates over the WebSocket. Requires
|
|
125
|
+
[`@lunora/flags`](https://www.npmjs.com/package/@lunora/flags) wired in
|
|
126
|
+
`lunora/flags.ts`.
|
|
127
|
+
|
|
128
|
+
```vue
|
|
129
|
+
<script setup lang="ts">
|
|
130
|
+
import { useFlag } from "@lunora/vue";
|
|
131
|
+
|
|
132
|
+
// Live over the Lunora WS — holds `false` until the server resolves it.
|
|
133
|
+
const newHero = useFlag("homepage-hero", false);
|
|
134
|
+
</script>
|
|
135
|
+
|
|
136
|
+
<template>
|
|
137
|
+
<NewHero v-if="newHero" />
|
|
138
|
+
<ClassicHero v-else />
|
|
139
|
+
</template>
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Supported Node.js Versions
|
|
143
|
+
|
|
144
|
+
Libraries in this ecosystem make the best effort to track [Node.js' release schedule](https://github.com/nodejs/release#release-schedule).
|
|
145
|
+
Here's [a post on why we think this is important](https://medium.com/the-node-js-collection/maintainers-should-consider-following-node-js-release-schedule-ab08ed4de71a).
|
|
146
|
+
|
|
147
|
+
## Contributing
|
|
148
|
+
|
|
149
|
+
If you would like to help take a look at the [list of issues](https://github.com/anolilab/lunora/issues) and check our [Contributing](https://github.com/anolilab/lunora/blob/alpha/.github/CONTRIBUTING.md) guidelines.
|
|
150
|
+
|
|
151
|
+
> **Note:** please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
|
|
152
|
+
|
|
153
|
+
## Credits
|
|
154
|
+
|
|
155
|
+
- [Daniel Bannert](https://github.com/prisis)
|
|
156
|
+
- [All Contributors](https://github.com/anolilab/lunora/graphs/contributors)
|
|
157
|
+
|
|
158
|
+
## Made with ❤️ at Anolilab
|
|
159
|
+
|
|
160
|
+
This is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Anolilab](https://www.anolilab.com/open-source) is a Development and AI Studio. Contact us at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or just want to say hi!
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
The Lunora nuxt package is open-sourced software licensed under the [FSL-1.1-Apache-2.0][license].
|
|
165
|
+
|
|
166
|
+
<!-- badges -->
|
|
167
|
+
|
|
168
|
+
[license-badge]: https://img.shields.io/badge/license-FSL--1.1--Apache--2.0-blue.svg?style=for-the-badge
|
|
169
|
+
[license]: https://github.com/anolilab/lunora/blob/alpha/LICENSE.md
|
|
170
|
+
[npm-version-badge]: https://img.shields.io/npm/v/@lunora/nuxt?style=for-the-badge
|
|
171
|
+
[npm-version]: https://www.npmjs.com/package/@lunora/nuxt
|
|
172
|
+
[npm-downloads-badge]: https://img.shields.io/npm/dm/@lunora/nuxt?style=for-the-badge
|
|
173
|
+
[npm-downloads]: https://www.npmjs.com/package/@lunora/nuxt
|
|
174
|
+
[prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
|
|
175
|
+
[prs-welcome]: https://github.com/anolilab/lunora/blob/alpha/.github/CONTRIBUTING.md
|
|
176
|
+
[typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
|
|
177
|
+
[typescript-url]: https://www.typescriptlang.org/
|