@laioutr/app-hygraph 1.2.0 → 1.4.0

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
@@ -1,13 +1,4 @@
1
- <!--
2
- Get your module up and running quickly.
3
-
4
- Find and replace all on all files (CMD+SHIFT+F):
5
- - Name: Hygraph Laioutr
6
- - Package name: @laioutr/app-hygraph
7
- - Description: Laioutr Hygraph App
8
- -->
9
-
10
- # Hygraph Laioutr
1
+ # @laioutr/app-hygraph
11
2
 
12
3
  [![Laioutr][laioutr-src]][laioutr-href]
13
4
  [![npm version][npm-version-src]][npm-version-href]
@@ -15,61 +6,143 @@ Find and replace all on all files (CMD+SHIFT+F):
15
6
  [![License][license-src]][license-href]
16
7
  [![Nuxt][nuxt-src]][nuxt-href]
17
8
 
18
- My new [Laioutr](https://laioutr.com) App for doing amazing things using Nuxt.
9
+ Laioutr app that integrates [Hygraph](https://hygraph.com) as a headless CMS. Provides a media library for the Laioutr Studio, blog content handlers, and reusable exports for other apps that connect to Hygraph.
19
10
 
20
- See [laioutr.com](https://laioutr.com) for more information about Laioutr.
11
+ ## Features
21
12
 
22
- - [✨ &nbsp;Release Notes](/CHANGELOG.md)
23
- <!-- - [🏀 Online playground](https://stackblitz.com/github/your-org/@laioutr/app-hygraph?file=playground%2Fapp.vue) -->
24
- <!-- - [📖 &nbsp;Documentation](https://example.com) -->
13
+ ### Assets
25
14
 
26
- ## Features
15
+ The module registers a Hygraph media library in the Laioutr Studio, giving editors a browsable asset picker backed by their Hygraph project.
27
16
 
28
- <!-- Highlight some of the features your module provide here -->
17
+ The laioutr-integrated @nuxt/image provider is configured to use the Hygraph image CDN.
29
18
 
30
- - ⛰ &nbsp;Foo
31
- - 🚠 &nbsp;Bar
32
- - 🌲 &nbsp;Baz
19
+ ### Exports
33
20
 
34
- ## Quick Setup
21
+ Other Laioutr apps that also talk to Hygraph can import the client, middleware, codegen config, and utilities from this package instead of duplicating code or configurationn. See [Exports](#exports) below.
35
22
 
36
- Before installing dependencies, you need to create a copy of the `.npmrc.config` file called `.npmrc` and fill in the `NPM_LAIOUTR_TOKEN` with your npm token. You can find this token in your [project settings](https://cockpit.laioutr.cloud/o/_/p/_/settings).
23
+ ### Blog Demo
37
24
 
38
- - `pnpm i`
39
- - `npx @laioutr/cli project fetch-rc -p <organization slug>/<project slug> -s <project secret key>` - This will load the `laioutrrc.json` file with the current remote project configuration.
40
- - `pnpm dev:prepare`
41
- - `pnpm orchestr-dev`
25
+ The module also includes a demo blog implementation with orchestr-handlers for blog content: query handlers and query template providers for blog collections and posts, link handlers for connecting posts to collections, and component resolvers for rendering both.
42
26
 
43
- That's it! You can now use Hygraph Laioutr in your [Laioutr Frontend](https://laioutr.com) ✨
27
+ ## Configuration
44
28
 
45
- You can find a thorough guide on getting started with Laioutr development in our [developer guide](https://docs.laioutr.io/developer-guide/setup).
29
+ Add the module to your `nuxt.config.ts` and provide your Hygraph credentials:
46
30
 
47
- ## Linting and Formatting
31
+ ```ts
32
+ export default defineNuxtConfig({
33
+ modules: ['@laioutr/app-hygraph'],
34
+ '@laioutr/app-hygraph': {
35
+ contentApiUrl: 'https://...',
36
+ imageBaseUrl: 'https://...',
37
+ token: '...',
38
+ },
39
+ });
40
+ ```
48
41
 
49
- We use ESLint and Prettier to lint and format the code. This repository contains opinionated configurations for both tools. You can - of course - replace them with your own configurations.
42
+ | Option | Description |
43
+ | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44
+ | `contentApiUrl` | Hygraph Content API endpoint |
45
+ | `imageBaseUrl` | Hygraph image CDN base URL (used by `@nuxt/image`). Region-specific; find yours by querying `{ assets(first: 1) { url } }` against your Content API and taking the domain. |
46
+ | `token` | Permanent auth token for the Content API |
50
47
 
51
- ## Publishing
48
+ ## Exports
49
+
50
+ The package exposes three subpath exports for use outside the Nuxt module context.
51
+
52
+ ### `@laioutr/app-hygraph/runtime`
53
+
54
+ Everything needed to build Hygraph-backed orchestr handlers in another app.
55
+
56
+ ```ts
57
+ import { defineHygraph, hygraphClientFactory, mapHygraphMedia } from '@laioutr/app-hygraph/runtime';
58
+ import type { HygraphAsset, HygraphClientConfig, HygraphResponse } from '@laioutr/app-hygraph/runtime';
59
+ ```
60
+
61
+ | Export | Purpose |
62
+ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
63
+ | `defineHygraph` | Pre-configured orchestr builder with Hygraph metadata and a `context.hygraph` client. Chain `.queryHandler()`, `.linkHandler()`, etc. directly on it. |
64
+ | `hygraphClientFactory(config?)` | Creates a Hygraph GraphQL client. Falls back to `useRuntimeConfig()` when called without arguments inside the Nuxt module. Pass a `HygraphClientConfig` to use it standalone. |
65
+ | `mapHygraphMedia(asset)` | Converts a `HygraphAsset` to a Laioutr `MediaImage`, selecting the correct Nuxt Image provider (handles SVGs). |
66
+
67
+ ### `@laioutr/app-hygraph/codegen`
68
+
69
+ Generates TypeScript types from your Hygraph schema using GraphQL Code Generator. The factory produces a codegen config with Hygraph-specific scalar mappings (`DateTime`, `RichTextAST`, `Json`, `Long`, `Hex`, etc.) so you don't have to define them yourself.
70
+
71
+ Install the peer dependencies:
52
72
 
53
- To publish a new version, run `pnpm release`. This will:
73
+ ```bash
74
+ pnpm add -D @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-operations graphql
75
+ ```
54
76
 
55
- - Run the tests
56
- - Update the changelog
57
- - Publish the package to npmjs.org
58
- - Push the changes to the repository
77
+ Create a `codegen.ts` at your project root:
59
78
 
60
- ### Private publishing
79
+ ```ts
80
+ import { defineHygraphCodegen } from '@laioutr/app-hygraph/codegen';
61
81
 
62
- If you want to publish a private package to npm.laioutr.cloud, you need to:
82
+ export default defineHygraphCodegen({
83
+ documents: 'src/runtime/server/queries/**/*.ts',
84
+ outputPath: 'src/runtime/server/generated/graphql.ts',
85
+ });
86
+ ```
63
87
 
64
- 1. Make sure you have a `.npmrc` with your private npm registry token.
65
- 2. Add this line to the root of the `package.json` file: `"publishConfig": { "registry": "https://npm.laioutr.cloud/" }`
66
- 3. Make sure your package-name follows the `@laioutr-org/<organization-slug>_<package-name>` format.
88
+ Set `HYGRAPH_CONTENT_API_URL` and `HYGRAPH_TOKEN` in your environment, then run:
89
+
90
+ ```bash
91
+ npx graphql-codegen
92
+ ```
93
+
94
+ This reads your `.ts` files containing tagged `/* GraphQL */` template literals, introspects the Hygraph schema, and writes the generated types to `outputPath`.
95
+
96
+ | Option | Default |
97
+ | ------------ | ------------------------------------------------------------------------------------- |
98
+ | `schemaUrl` | `process.env.HYGRAPH_CONTENT_API_URL` |
99
+ | `token` | `process.env.HYGRAPH_TOKEN` |
100
+ | `documents` | `src/runtime/server/queries/**/*.ts` |
101
+ | `outputPath` | `src/runtime/server/generated/graphql.ts` |
102
+ | `scalars` | Hygraph defaults (`DateTime`, `RichTextAST`, `Json`, etc.) merged with your overrides |
103
+
104
+ ### `@laioutr/app-hygraph/queries`
105
+
106
+ Reusable GraphQL fragments.
107
+
108
+ ```ts
109
+ import { AssetFragment } from '@laioutr/app-hygraph/queries';
110
+
111
+ const MY_QUERY = /* GraphQL */ `
112
+ ${AssetFragment}
113
+ query MyQuery {
114
+ assets {
115
+ ...Asset
116
+ }
117
+ }
118
+ `;
119
+ ```
120
+
121
+ ## Development
122
+
123
+ ```bash
124
+ # 1. Copy .npmrc.config to .npmrc and fill in NPM_LAIOUTR_TOKEN
125
+ # 2. Install dependencies
126
+ pnpm i
127
+
128
+ # 3. Fetch remote project config
129
+ npx @laioutr/cli rc fetch -p <org-slug>/<project-slug> -s <secret-key>
130
+
131
+ # 4. Prepare and start
132
+ pnpm dev:prepare
133
+ pnpm dev # playground
134
+ pnpm orchestr-dev # orchestr playground
135
+ ```
136
+
137
+ ## Publishing
67
138
 
68
- After that you can run `pnpm release` to publish the package to npm.laioutr.cloud.
139
+ ```bash
140
+ pnpm release
141
+ ```
69
142
 
70
- ## Contribution
143
+ Runs lint, tests, builds, updates the changelog, publishes to npm, and pushes tags.
71
144
 
72
- Follow the [setup guide](https://docs.laioutr.io/developer-guide/setup) to get started.
145
+ For private publishing to `npm.laioutr.cloud`, add `"publishConfig": { "registry": "https://npm.laioutr.cloud/" }` to `package.json` and ensure your package name follows the `@laioutr-org/<org-slug>_<name>` format.
73
146
 
74
147
  <!-- Badges -->
75
148
 
@@ -0,0 +1,18 @@
1
+ import { CodegenConfig } from '@graphql-codegen/cli';
2
+
3
+ interface HygraphCodegenOptions {
4
+ /** Hygraph Content API endpoint URL. Defaults to process.env.HYGRAPH_CONTENT_API_URL */
5
+ schemaUrl?: string;
6
+ /** Hygraph API token. Defaults to process.env.HYGRAPH_TOKEN */
7
+ token?: string;
8
+ /** Glob pattern for GraphQL document files. Defaults to 'src/runtime/server/queries/**\/*.ts' */
9
+ documents?: string;
10
+ /** Output file path for generated types. Defaults to 'src/runtime/server/generated/graphql.ts' */
11
+ outputPath?: string;
12
+ /** Additional custom scalar mappings (merged with Hygraph defaults) */
13
+ scalars?: Record<string, string>;
14
+ }
15
+ declare const defineHygraphCodegen: (options?: HygraphCodegenOptions) => CodegenConfig;
16
+
17
+ export { defineHygraphCodegen };
18
+ export type { HygraphCodegenOptions };
@@ -0,0 +1,41 @@
1
+ const DEFAULT_SCALARS = {
2
+ DateTime: "string",
3
+ Date: "string",
4
+ Json: "Record<string, unknown>",
5
+ Long: "number",
6
+ RichTextAST: "Record<string, unknown>",
7
+ Hex: "string",
8
+ RGBAHue: "string",
9
+ RGBATransparency: "number"
10
+ };
11
+ const defineHygraphCodegen = (options = {}) => {
12
+ const schemaUrl = options.schemaUrl ?? process.env.HYGRAPH_CONTENT_API_URL;
13
+ const token = options.token ?? process.env.HYGRAPH_TOKEN;
14
+ const documents = options.documents ?? "src/runtime/server/queries/**/*.ts";
15
+ const outputPath = options.outputPath ?? "src/runtime/server/generated/graphql.ts";
16
+ return {
17
+ overwrite: true,
18
+ schema: [
19
+ {
20
+ [schemaUrl]: {
21
+ headers: {
22
+ Authorization: `Bearer ${token}`
23
+ }
24
+ }
25
+ }
26
+ ],
27
+ documents,
28
+ generates: {
29
+ [outputPath]: {
30
+ plugins: ["typescript", "typescript-operations"],
31
+ config: {
32
+ skipTypename: true,
33
+ maybeValue: "T | null",
34
+ scalars: { ...DEFAULT_SCALARS, ...options.scalars }
35
+ }
36
+ }
37
+ }
38
+ };
39
+ };
40
+
41
+ export { defineHygraphCodegen };
package/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laioutr/app-hygraph",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "configKey": "@laioutr/app-hygraph",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.1",
package/dist/module.mjs CHANGED
@@ -3,7 +3,7 @@ import { defu } from 'defu';
3
3
  import { registerLaioutrApp } from '@laioutr-core/kit';
4
4
 
5
5
  const name = "@laioutr/app-hygraph";
6
- const version = "1.2.0";
6
+ const version = "1.4.0";
7
7
 
8
8
  const module = defineNuxtModule({
9
9
  meta: {
@@ -0,0 +1 @@
1
+ export { AssetFragment } from '../../dist/runtime/server/queries/asset.js';
@@ -0,0 +1 @@
1
+ export { AssetFragment } from '../../dist/runtime/server/queries/asset.js';
@@ -0,0 +1,4 @@
1
+ export { hygraphClientFactory } from './server/client/hygraph.js';
2
+ export { defineHygraph } from './server/middleware/defineHygraph.js';
3
+ export { mapHygraphMedia, filenameToAlt, stripFileExtension } from './server/hygraph-utils/mediaMapper.js';
4
+ export type { HygraphAsset, HygraphClientConfig, HygraphResponse } from './server/types/hygraph.js';
@@ -0,0 +1,3 @@
1
+ export { hygraphClientFactory } from "./server/client/hygraph.js";
2
+ export { defineHygraph } from "./server/middleware/defineHygraph.js";
3
+ export { mapHygraphMedia, filenameToAlt, stripFileExtension } from "./server/hygraph-utils/mediaMapper.js";
@@ -1,9 +1,5 @@
1
- export interface HygraphResponse<TData> {
2
- data: TData;
3
- errors?: Array<{
4
- message: string;
5
- }>;
6
- }
7
- export declare const hygraphClientFactory: () => {
1
+ import type { HygraphClientConfig, HygraphResponse } from '../types/hygraph.js';
2
+ export type { HygraphResponse };
3
+ export declare const hygraphClientFactory: (explicitConfig?: HygraphClientConfig) => {
8
4
  request: <TData = unknown>(query: string, variables?: unknown) => Promise<HygraphResponse<TData>>;
9
5
  };
@@ -1,6 +1,6 @@
1
1
  import { useRuntimeConfig } from "#imports";
2
- export const hygraphClientFactory = () => {
3
- const config = useRuntimeConfig()["@laioutr/app-hygraph"];
2
+ export const hygraphClientFactory = (explicitConfig) => {
3
+ const config = explicitConfig ?? useRuntimeConfig()["@laioutr/app-hygraph"];
4
4
  const request = async (query, variables = null) => {
5
5
  const res = await fetch(config.contentApiUrl, {
6
6
  method: "POST",
@@ -1,6 +1,10 @@
1
1
  import { MediaImage } from '@laioutr-core/core-types/common';
2
- import type { AssetFragment } from '../generated/graphql.js';
2
+ import type { HygraphAsset } from '../types/hygraph.js';
3
+ /** Remove the file extension from a file name. */
4
+ export declare const stripFileExtension: (fileName: string) => string;
5
+ /** Convert a file name to a readable alt text. */
6
+ export declare const filenameToAlt: (fileName: string) => string;
3
7
  /**
4
8
  * Map a Hygraph asset to a Media object.
5
9
  */
6
- export declare const mapHygraphMedia: (asset: AssetFragment) => MediaImage;
10
+ export declare const mapHygraphMedia: (asset: HygraphAsset) => MediaImage;
@@ -1,5 +1,5 @@
1
- const stripFileExtension = (fileName) => fileName.replace(/\.[^.]+$/, "");
2
- const filenameToAlt = (fileName) => stripFileExtension(fileName).replace(/([a-z])([A-Z])/g, "$1 $2").replace(/[-_]+/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
1
+ export const stripFileExtension = (fileName) => fileName.replace(/\.[^.]+$/, "");
2
+ export const filenameToAlt = (fileName) => stripFileExtension(fileName).replace(/([a-z])([A-Z])/g, "$1 $2").replace(/[-_]+/g, " ").replace(/^\w/, (c) => c.toUpperCase()).trim();
3
3
  export const mapHygraphMedia = (asset) => ({
4
4
  type: "image",
5
5
  sources: [
@@ -1 +1,11 @@
1
- export declare const defineHygraph: any;
1
+ export declare const defineHygraph: import("@laioutr-core/orchestr/types").OrchestrBuilder<import("@laioutr-core/orchestr/types").ArgsWithMiddleware<import("@laioutr-core/orchestr/types").ArgsWithMeta<import("@laioutr-core/orchestr/types").OrchestrArgsBase<Record<string, any> | undefined>, {
2
+ app: string;
3
+ logoUrl: string;
4
+ label: string;
5
+ }>, {
6
+ context: {
7
+ hygraph: {
8
+ request: <TData = unknown>(query: string, variables?: unknown) => Promise<import("../../index.js").HygraphResponse<TData>>;
9
+ };
10
+ };
11
+ }>>;
@@ -1,5 +1,7 @@
1
1
  import { defineOrchestr } from "#imports";
2
2
  import { hygraphClientFactory } from "../client/hygraph.js";
3
3
  export const defineHygraph = defineOrchestr.meta({
4
- app: "@laioutr/app-hygraph"
5
- }).use(async (ctx, next) => next({ context: { hygraph: hygraphClientFactory() } }));
4
+ app: "@laioutr/app-hygraph",
5
+ logoUrl: "/app-hygraph/logo.svg",
6
+ label: "Hygraph"
7
+ }).extendRequest(async () => ({ context: { hygraph: hygraphClientFactory() } }));
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: any;
1
+ declare const _default: import("nitropack").NitroAppPlugin;
2
2
  export default _default;
@@ -0,0 +1,18 @@
1
+ export interface HygraphAsset {
2
+ url: string;
3
+ fileName: string;
4
+ mimeType?: string | null;
5
+ width?: number | null;
6
+ height?: number | null;
7
+ handle: string;
8
+ }
9
+ export interface HygraphClientConfig {
10
+ contentApiUrl: string;
11
+ token: string;
12
+ }
13
+ export interface HygraphResponse<TData> {
14
+ data: TData;
15
+ errors?: Array<{
16
+ message: string;
17
+ }>;
18
+ }
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laioutr/app-hygraph",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Laioutr Hygraph App",
5
5
  "repository": "your-org/@laioutr/app-hygraph",
6
6
  "license": "MIT",
@@ -9,6 +9,18 @@
9
9
  ".": {
10
10
  "types": "./dist/types.d.mts",
11
11
  "import": "./dist/module.mjs"
12
+ },
13
+ "./runtime": {
14
+ "types": "./dist/runtime/index.d.ts",
15
+ "import": "./dist/runtime/index.js"
16
+ },
17
+ "./codegen": {
18
+ "types": "./dist/codegen/index.d.mts",
19
+ "import": "./dist/codegen/index.mjs"
20
+ },
21
+ "./queries": {
22
+ "types": "./dist/queries/index.d.mts",
23
+ "import": "./dist/queries/index.mjs"
12
24
  }
13
25
  },
14
26
  "main": "./dist/module.mjs",
@@ -16,35 +28,31 @@
16
28
  "*": {
17
29
  ".": [
18
30
  "./dist/types.d.mts"
31
+ ],
32
+ "runtime": [
33
+ "./dist/runtime/index.d.ts"
34
+ ],
35
+ "codegen": [
36
+ "./dist/codegen/index.d.mts"
37
+ ],
38
+ "queries": [
39
+ "./dist/queries/index.d.mts"
19
40
  ]
20
41
  }
21
42
  },
22
43
  "files": [
23
44
  "dist"
24
45
  ],
25
- "scripts": {
26
- "dev": "npm run dev:prepare && nuxi dev playground",
27
- "dev:build": "nuxi build playground",
28
- "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
29
- "lint": "eslint .",
30
- "orchestr-dev": "npm run orchestr-dev:prepare && nuxi dev orchestr-playground",
31
- "orchestr-dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare orchestr-playground",
32
- "prepack": "nuxt-module-build build",
33
- "release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish --access public && git push --follow-tags",
34
- "test": "vitest run",
35
- "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit",
36
- "test:watch": "vitest watch"
37
- },
38
46
  "dependencies": {
39
47
  "@nuxt/kit": "3.16.2",
40
48
  "zod": "3.25.61"
41
49
  },
42
50
  "devDependencies": {
51
+ "@graphql-codegen/cli": "^6.2.1",
52
+ "@graphql-codegen/typescript": "^5.0.9",
53
+ "@graphql-codegen/typescript-operations": "^5.0.9",
54
+ "@laioutr-app/ui": "^1.32.2",
43
55
  "@laioutr-core/orchestr-devtools": "^1.6.21",
44
- "@pinia/colada": "0.17.1",
45
- "@pinia/colada-nuxt": "0.2.1",
46
- "@vueuse/core": "13.1.0",
47
- "pinia": "3.0.2",
48
56
  "@laioutr/eslint-config": "^1.8.8",
49
57
  "@laioutr/prettier-config": "^1.1.0",
50
58
  "@nuxt/devtools": "^2.6.3",
@@ -52,27 +60,49 @@
52
60
  "@nuxt/module-builder": "1.0.1",
53
61
  "@nuxt/schema": "3.16.2",
54
62
  "@nuxt/test-utils": "3.19.1",
63
+ "@pinia/colada": "0.17.1",
64
+ "@pinia/colada-nuxt": "0.2.1",
55
65
  "@types/node": "latest",
66
+ "@vueuse/core": "13.1.0",
56
67
  "changelogen": "^0.6.2",
57
68
  "eslint": "^9.35.0",
69
+ "graphql": "^16.13.1",
58
70
  "nuxt": "3.16.2",
71
+ "pinia": "3.0.2",
59
72
  "typescript": "5.9.2",
60
73
  "vitest": "3.1.1",
61
- "vue-tsc": "2.2.10",
62
- "@graphql-codegen/cli": "^6.2.1",
63
- "@graphql-codegen/typescript": "^5.0.9",
64
- "@graphql-codegen/typescript-operations": "^5.0.9",
65
- "graphql": "^16.13.1",
66
- "@laioutr-app/ui": "^1.32.2"
74
+ "vue-tsc": "2.2.10"
67
75
  },
68
76
  "peerDependencies": {
77
+ "@graphql-codegen/cli": "^6.0.0",
69
78
  "@laioutr-core/canonical-types": ">=0.22.13",
70
- "@laioutr-core/core-types": ">=0.28.8",
71
- "@laioutr-core/frontend-core": ">=0.28.8",
72
- "@laioutr-core/kit": ">=0.28.8"
79
+ "@laioutr-core/core-types": ">=0.28.11",
80
+ "@laioutr-core/frontend-core": ">=0.28.11",
81
+ "@laioutr-core/kit": ">=0.28.11",
82
+ "graphql": "^16.0.0"
83
+ },
84
+ "peerDependenciesMeta": {
85
+ "@graphql-codegen/cli": {
86
+ "optional": true
87
+ },
88
+ "graphql": {
89
+ "optional": true
90
+ }
73
91
  },
74
92
  "engines": {
75
93
  "node": ">=22.12.0",
76
94
  "pnpm": ">=10.15.0"
95
+ },
96
+ "scripts": {
97
+ "dev": "npm run dev:prepare && nuxi dev playground",
98
+ "dev:build": "nuxi build playground",
99
+ "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
100
+ "lint": "eslint .",
101
+ "orchestr-dev": "npm run orchestr-dev:prepare && nuxi dev orchestr-playground",
102
+ "orchestr-dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare orchestr-playground",
103
+ "release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish --access public && git push --follow-tags",
104
+ "test": "vitest run",
105
+ "test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit",
106
+ "test:watch": "vitest watch"
77
107
  }
78
- }
108
+ }