create-houdini 1.2.57 → 1.2.59
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/bin.js +0 -47
- package/fragments/localSchema/react/src/api/+schema.js +2 -2
- package/fragments/localSchema/react/src/routes/+page.gql +3 -0
- package/fragments/localSchema/react/src/routes/+page.jsx +9 -0
- package/fragments/localSchema/react-typescript/src/api/+schema.ts +2 -2
- package/fragments/localSchema/react-typescript/src/routes/+page.gql +3 -0
- package/fragments/localSchema/react-typescript/src/routes/+page.tsx +11 -0
- package/package.json +1 -1
- package/templates/react/src/routes/+page.jsx +1 -1
- package/templates/react-typescript/src/+index.tsx +1 -1
- package/templates/react-typescript/src/routes/+page.tsx +1 -1
- package/templates/sveltekit-demo/.env.local +0 -1
- package/templates/sveltekit-demo/.eslintignore +0 -13
- package/templates/sveltekit-demo/.graphqlrc.yaml +0 -9
- package/templates/sveltekit-demo/.meta.gitignore +0 -11
- package/templates/sveltekit-demo/.meta.json +0 -5
- package/templates/sveltekit-demo/.prettierignore +0 -15
- package/templates/sveltekit-demo/.prettierrc +0 -9
- package/templates/sveltekit-demo/README.md +0 -14
- package/templates/sveltekit-demo/houdini.config.js +0 -13
- package/templates/sveltekit-demo/package.json +0 -38
- package/templates/sveltekit-demo/playwright.config.ts +0 -12
- package/templates/sveltekit-demo/schema.graphql +0 -23
- package/templates/sveltekit-demo/src/app.d.ts +0 -12
- package/templates/sveltekit-demo/src/app.html +0 -12
- package/templates/sveltekit-demo/src/client.ts +0 -16
- package/templates/sveltekit-demo/src/index.test.ts +0 -7
- package/templates/sveltekit-demo/src/lib/index.ts +0 -1
- package/templates/sveltekit-demo/src/routes/+layout.gql +0 -3
- package/templates/sveltekit-demo/src/routes/+layout.svelte +0 -23
- package/templates/sveltekit-demo/src/routes/+page.svelte +0 -26
- package/templates/sveltekit-demo/src/routes/links/+page.gql +0 -8
- package/templates/sveltekit-demo/src/routes/links/+page.svelte +0 -17
- package/templates/sveltekit-demo/src/routes/links/Link.svelte +0 -39
- package/templates/sveltekit-demo/src/routes/sponsors/+page.gql +0 -6
- package/templates/sveltekit-demo/src/routes/sponsors/+page.svelte +0 -47
- package/templates/sveltekit-demo/src/routes/sponsors/Sponsors.svelte +0 -34
- package/templates/sveltekit-demo/static/favicon.png +0 -0
- package/templates/sveltekit-demo/svelte.config.js +0 -18
- package/templates/sveltekit-demo/tests/test.ts +0 -6
- package/templates/sveltekit-demo/tsconfig.json +0 -14
- package/templates/sveltekit-demo/vite.config.ts +0 -7
package/bin.js
CHANGED
|
@@ -184,13 +184,6 @@ if (localSchema) {
|
|
|
184
184
|
copy(sourcePath('./fragments/localSchema/' + template))
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
// If anything goes wrong, we don't want to block the user
|
|
188
|
-
let sponsor_msg = ''
|
|
189
|
-
try {
|
|
190
|
-
const selected = await getSponsors()
|
|
191
|
-
sponsor_msg = `🙏 Special thanks to the ${bold(white(selected))} for supporting Houdini!`
|
|
192
|
-
} catch (error) {}
|
|
193
|
-
|
|
194
187
|
p.outro(`🎉 Everything is ready!
|
|
195
188
|
|
|
196
189
|
👉 Next Steps
|
|
@@ -381,43 +374,3 @@ function pCancel(cancelText = 'Operation cancelled.') {
|
|
|
381
374
|
p.cancel(cancelText)
|
|
382
375
|
process.exit(1)
|
|
383
376
|
}
|
|
384
|
-
|
|
385
|
-
async function getSponsors() {
|
|
386
|
-
const res = await fetch(
|
|
387
|
-
'https://raw.githubusercontent.com/HoudiniGraphql/sponsors/main/generated/sponsors.json'
|
|
388
|
-
)
|
|
389
|
-
const /**@type {any[]} */ jsonData = await res.json()
|
|
390
|
-
|
|
391
|
-
/** @returns {[number, string]} */
|
|
392
|
-
function getTier(/**@type {number}*/ value) {
|
|
393
|
-
if (value >= 1500) {
|
|
394
|
-
return [10, 'Wizard']
|
|
395
|
-
}
|
|
396
|
-
if (value >= 500) {
|
|
397
|
-
return [5, 'Mage']
|
|
398
|
-
}
|
|
399
|
-
if (value >= 25) {
|
|
400
|
-
return [2, "Magician's Apprentice"]
|
|
401
|
-
}
|
|
402
|
-
if (value >= 10) {
|
|
403
|
-
return [1, 'Supportive Muggle']
|
|
404
|
-
}
|
|
405
|
-
// don't display the past sponsors
|
|
406
|
-
return [0, 'Past Sponsors']
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
const list = jsonData.flatMap(
|
|
410
|
-
(/** @type {{sponsor: {name: string}, monthlyDollars: number}} */ c) => {
|
|
411
|
-
const [coef, title] = getTier(c.monthlyDollars)
|
|
412
|
-
const names = []
|
|
413
|
-
for (let i = 0; i < coef; i++) {
|
|
414
|
-
names.push(`${title}, ${c.sponsor.name}`)
|
|
415
|
-
}
|
|
416
|
-
return names
|
|
417
|
-
}
|
|
418
|
-
)
|
|
419
|
-
|
|
420
|
-
const selected_to_display = list[Math.floor(Math.random() * list.length)]
|
|
421
|
-
|
|
422
|
-
return selected_to_display
|
|
423
|
-
}
|
|
@@ -3,12 +3,12 @@ import { createSchema } from 'graphql-yoga'
|
|
|
3
3
|
export default createSchema({
|
|
4
4
|
typeDefs: /* GraphQL */ `
|
|
5
5
|
type Query {
|
|
6
|
-
|
|
6
|
+
message: String
|
|
7
7
|
}
|
|
8
8
|
`,
|
|
9
9
|
resolvers: {
|
|
10
10
|
Query: {
|
|
11
|
-
|
|
11
|
+
message: () => 'Greetings from your local api 👋',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
})
|
|
@@ -3,12 +3,12 @@ import { createSchema } from 'graphql-yoga'
|
|
|
3
3
|
export default createSchema({
|
|
4
4
|
typeDefs: /* GraphQL */ `
|
|
5
5
|
type Query {
|
|
6
|
-
|
|
6
|
+
message: String
|
|
7
7
|
}
|
|
8
8
|
`,
|
|
9
9
|
resolvers: {
|
|
10
10
|
Query: {
|
|
11
|
-
|
|
11
|
+
message: () => 'Greetings from your local api 👋',
|
|
12
12
|
},
|
|
13
13
|
},
|
|
14
14
|
})
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
PUBLIC_GRAPHQL_ENDPOINT = 'API_URL'
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# create-houdini
|
|
2
|
-
|
|
3
|
-
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm run dev
|
|
7
|
-
|
|
8
|
-
# or start the server and open the app in a new browser tab
|
|
9
|
-
npm run dev -- --open
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
You will lean the rest on the Home page of the demo app.
|
|
13
|
-
|
|
14
|
-
More info on: https://github.com/HoudiniGraphql/houdini
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "PROJECT_NAME",
|
|
3
|
-
"version": "0.0.1",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"dev": "vite dev",
|
|
7
|
-
"build": "vite build",
|
|
8
|
-
"preview": "vite preview",
|
|
9
|
-
"test": "npm run test:integration && npm run test:unit",
|
|
10
|
-
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
11
|
-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
12
|
-
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
|
13
|
-
"format": "prettier --plugin-search-dir . --write .",
|
|
14
|
-
"test:integration": "playwright test",
|
|
15
|
-
"test:unit": "vitest"
|
|
16
|
-
},
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"@playwright/test": "1.30.0",
|
|
19
|
-
"@sveltejs/adapter-auto": "^2.0.0",
|
|
20
|
-
"@sveltejs/kit": "^1.20.4",
|
|
21
|
-
"@typescript-eslint/eslint-plugin": "^5.45.0",
|
|
22
|
-
"@typescript-eslint/parser": "^5.45.0",
|
|
23
|
-
"eslint": "^8.28.0",
|
|
24
|
-
"eslint-config-prettier": "^8.5.0",
|
|
25
|
-
"eslint-plugin-svelte": "^2.30.0",
|
|
26
|
-
"houdini": "HOUDINI_VERSION",
|
|
27
|
-
"houdini-svelte": "HOUDINI_VERSION",
|
|
28
|
-
"prettier": "^2.8.0",
|
|
29
|
-
"prettier-plugin-svelte": "^2.10.1",
|
|
30
|
-
"svelte": "^4.0.5",
|
|
31
|
-
"svelte-check": "^3.4.3",
|
|
32
|
-
"tslib": "^2.4.1",
|
|
33
|
-
"typescript": "^5.0.0",
|
|
34
|
-
"vite": "^4.4.2",
|
|
35
|
-
"vitest": "^1.6.0"
|
|
36
|
-
},
|
|
37
|
-
"type": "module"
|
|
38
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { PlaywrightTestConfig } from '@playwright/test';
|
|
2
|
-
|
|
3
|
-
const config: PlaywrightTestConfig = {
|
|
4
|
-
webServer: {
|
|
5
|
-
command: 'npm run build && npm run preview',
|
|
6
|
-
port: 4173
|
|
7
|
-
},
|
|
8
|
-
testDir: 'tests',
|
|
9
|
-
testMatch: /(.+\.)?(test|spec)\.[jt]s/
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export default config;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
type Link {
|
|
2
|
-
name: String
|
|
3
|
-
url: String
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
type Mutation {
|
|
7
|
-
hello(name: String!): String!
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
type Query {
|
|
11
|
-
giveMeAnError: String
|
|
12
|
-
links(delai: Int): [Link!]!
|
|
13
|
-
sponsors: [Sponsor!]!
|
|
14
|
-
welcome: String!
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
type Sponsor {
|
|
18
|
-
avatarUrl: String!
|
|
19
|
-
login: String!
|
|
20
|
-
name: String!
|
|
21
|
-
tiersTitle: String!
|
|
22
|
-
websiteUrl: String
|
|
23
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
|
6
|
-
<meta name="viewport" content="width=device-width" />
|
|
7
|
-
%sveltekit.head%
|
|
8
|
-
</head>
|
|
9
|
-
<body data-sveltekit-preload-data="hover">
|
|
10
|
-
<div style="display: contents">%sveltekit.body%</div>
|
|
11
|
-
</body>
|
|
12
|
-
</html>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { PUBLIC_GRAPHQL_ENDPOINT } from '$env/static/public';
|
|
2
|
-
import { HoudiniClient } from '$houdini';
|
|
3
|
-
|
|
4
|
-
export default new HoudiniClient({
|
|
5
|
-
url: PUBLIC_GRAPHQL_ENDPOINT
|
|
6
|
-
|
|
7
|
-
// uncomment this to configure the network call (for things like authentication)
|
|
8
|
-
// for more information, please visit here: https://www.houdinigraphql.com/guides/authentication
|
|
9
|
-
// fetchParams({ session }) {
|
|
10
|
-
// return {
|
|
11
|
-
// headers: {
|
|
12
|
-
// Authentication: `Bearer ${session.token}`,
|
|
13
|
-
// }
|
|
14
|
-
// }
|
|
15
|
-
// }
|
|
16
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
// place files you want to import through the `$lib` alias in this folder.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { PageData } from './$houdini';
|
|
3
|
-
|
|
4
|
-
export let data: PageData;
|
|
5
|
-
|
|
6
|
-
$: ({ Layout } = data);
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<svelte:head>
|
|
10
|
-
<title>Houdini • demo</title>
|
|
11
|
-
<link rel="icon" type="image/png" href="https://houdinigraphql.com/images/logo.png" />
|
|
12
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/dark.css" />
|
|
13
|
-
</svelte:head>
|
|
14
|
-
|
|
15
|
-
<h1>{$Layout.data?.welcome}</h1>
|
|
16
|
-
|
|
17
|
-
<a href="/">Home</a> |
|
|
18
|
-
<a href="/links">Links</a> |
|
|
19
|
-
<a href="/sponsors">Sponsors</a>
|
|
20
|
-
|
|
21
|
-
<hr />
|
|
22
|
-
|
|
23
|
-
<slot />
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<p>First of all, thank you for using Houdini 🎉!</p>
|
|
2
|
-
<p>
|
|
3
|
-
You will find here a very small app to show you a few featues like
|
|
4
|
-
<span class="code">+page.gql</span>, <span class="code">+layout.gql</span>,
|
|
5
|
-
<span class="code">fragment</span>, <span class="code">data masking</span>,
|
|
6
|
-
<span class="code">@loading</span>
|
|
7
|
-
</p>
|
|
8
|
-
<p>To reset this demo and make it yours:</p>
|
|
9
|
-
<ol>
|
|
10
|
-
<li>Remove all files in <span class="code">routes</span> folder.</li>
|
|
11
|
-
<li>
|
|
12
|
-
Update <span class="code">.env.local</span> so that
|
|
13
|
-
<span class="code">PUBLIC_GRAPHQL_ENDPOINT</span> targets your endpoint.
|
|
14
|
-
</li>
|
|
15
|
-
<li>Restart the app.</li>
|
|
16
|
-
</ol>
|
|
17
|
-
|
|
18
|
-
<p><i>//Enjoy 🥳🥳🥳</i></p>
|
|
19
|
-
|
|
20
|
-
<style>
|
|
21
|
-
.code {
|
|
22
|
-
background-color: black;
|
|
23
|
-
padding: 0.25rem;
|
|
24
|
-
margin: 0.15rem;
|
|
25
|
-
}
|
|
26
|
-
</style>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { PageData } from './$houdini';
|
|
3
|
-
import Link from './Link.svelte';
|
|
4
|
-
|
|
5
|
-
export let data: PageData;
|
|
6
|
-
|
|
7
|
-
$: ({ PageHome } = data);
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<h2>Links</h2>
|
|
11
|
-
<ul>
|
|
12
|
-
{#each $PageHome.data?.links ?? [] as link}
|
|
13
|
-
<li>
|
|
14
|
-
<Link {link} />
|
|
15
|
-
</li>
|
|
16
|
-
{/each}
|
|
17
|
-
</ul>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { PendingValue, fragment, graphql } from '$houdini';
|
|
3
|
-
import type { LinkInfo } from '$houdini';
|
|
4
|
-
|
|
5
|
-
export let link: LinkInfo;
|
|
6
|
-
$: data = fragment(
|
|
7
|
-
link,
|
|
8
|
-
graphql(`
|
|
9
|
-
fragment LinkInfo on Link {
|
|
10
|
-
name @loading
|
|
11
|
-
url
|
|
12
|
-
}
|
|
13
|
-
`)
|
|
14
|
-
);
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
{#if $data.name === PendingValue}
|
|
18
|
-
<div class="skeleton" />
|
|
19
|
-
{:else}
|
|
20
|
-
<a href={$data.url} target="_blank">{$data.name}</a>
|
|
21
|
-
{/if}
|
|
22
|
-
|
|
23
|
-
<style>
|
|
24
|
-
.skeleton {
|
|
25
|
-
animation: skeleton-loading 0.5s linear infinite alternate;
|
|
26
|
-
width: 10rem;
|
|
27
|
-
height: 1rem;
|
|
28
|
-
border-radius: 0.25rem;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@keyframes skeleton-loading {
|
|
32
|
-
0% {
|
|
33
|
-
background-color: hsl(200, 20%, 80%);
|
|
34
|
-
}
|
|
35
|
-
100% {
|
|
36
|
-
background-color: hsl(200, 20%, 95%);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
</style>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { SponsorInfo } from '$houdini';
|
|
3
|
-
import type { PageData } from './$houdini';
|
|
4
|
-
import Sponsors from './Sponsors.svelte';
|
|
5
|
-
|
|
6
|
-
export let data: PageData;
|
|
7
|
-
|
|
8
|
-
$: ({ PageSponsors } = data);
|
|
9
|
-
|
|
10
|
-
$: grouped =
|
|
11
|
-
$PageSponsors.data?.sponsors.reduce((acc: Record<string, SponsorInfo[]>, sponsor) => {
|
|
12
|
-
acc[sponsor.tiersTitle] = acc[sponsor.tiersTitle] || [];
|
|
13
|
-
acc[sponsor.tiersTitle].push(sponsor);
|
|
14
|
-
return acc;
|
|
15
|
-
}, {}) ?? {};
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
<h2>Sponsors</h2>
|
|
19
|
-
<center>
|
|
20
|
-
{#if $PageSponsors.fetching}
|
|
21
|
-
Loading...
|
|
22
|
-
{:else if $PageSponsors.errors}
|
|
23
|
-
{#each $PageSponsors.errors as error}
|
|
24
|
-
{error.message}
|
|
25
|
-
{/each}
|
|
26
|
-
{:else}
|
|
27
|
-
{#each Object.entries(grouped) as [key, sponsors], i}
|
|
28
|
-
{@const size = 0.8 + (Object.entries(grouped).length - i) / 5}
|
|
29
|
-
<h3 style="font-size: {size}rem;">{key}</h3>
|
|
30
|
-
<div class="list">
|
|
31
|
-
{#each sponsors as sponsor}
|
|
32
|
-
<Sponsors {sponsor} {size} />
|
|
33
|
-
{/each}
|
|
34
|
-
</div>
|
|
35
|
-
{/each}
|
|
36
|
-
{/if}
|
|
37
|
-
</center>
|
|
38
|
-
|
|
39
|
-
<style>
|
|
40
|
-
.list {
|
|
41
|
-
display: flex;
|
|
42
|
-
flex-wrap: wrap;
|
|
43
|
-
justify-content: space-evenly;
|
|
44
|
-
gap: 1rem;
|
|
45
|
-
margin-bottom: 3rem;
|
|
46
|
-
}
|
|
47
|
-
</style>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { fragment, graphql } from '$houdini';
|
|
3
|
-
import type { SponsorInfo } from '$houdini';
|
|
4
|
-
|
|
5
|
-
export let sponsor: SponsorInfo;
|
|
6
|
-
export let size: number = 1;
|
|
7
|
-
$: data = fragment(
|
|
8
|
-
sponsor,
|
|
9
|
-
graphql(`
|
|
10
|
-
fragment SponsorInfo on Sponsor {
|
|
11
|
-
login
|
|
12
|
-
name
|
|
13
|
-
avatarUrl
|
|
14
|
-
}
|
|
15
|
-
`)
|
|
16
|
-
);
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<a href="https://github.com/{$data.login}" target="_blank" style="font-size: {size}rem;">
|
|
20
|
-
<img src={$data.avatarUrl} alt={$data.name} width={size * 50} />
|
|
21
|
-
<span>{$data.name}</span>
|
|
22
|
-
</a>
|
|
23
|
-
|
|
24
|
-
<style>
|
|
25
|
-
img {
|
|
26
|
-
border-radius: 30%;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
a {
|
|
30
|
-
display: flex;
|
|
31
|
-
flex-direction: column;
|
|
32
|
-
align-items: center;
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
Binary file
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import adapter from '@sveltejs/adapter-auto';
|
|
2
|
-
import { vitePreprocess } from '@sveltejs/kit/vite';
|
|
3
|
-
|
|
4
|
-
/** @type {import('@sveltejs/kit').Config} */
|
|
5
|
-
const config = {
|
|
6
|
-
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
|
7
|
-
// for more information about preprocessors
|
|
8
|
-
preprocess: vitePreprocess(),
|
|
9
|
-
|
|
10
|
-
kit: {
|
|
11
|
-
adapter: adapter(),
|
|
12
|
-
alias: {
|
|
13
|
-
$houdini: './$houdini'
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default config;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "./.svelte-kit/tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"allowJs": true,
|
|
5
|
-
"checkJs": true,
|
|
6
|
-
"esModuleInterop": true,
|
|
7
|
-
"forceConsistentCasingInFileNames": true,
|
|
8
|
-
"resolveJsonModule": true,
|
|
9
|
-
"skipLibCheck": true,
|
|
10
|
-
"sourceMap": true,
|
|
11
|
-
"strict": true,
|
|
12
|
-
"rootDirs": [".", "./.svelte-kit/types", "./$houdini/types"]
|
|
13
|
-
}
|
|
14
|
-
}
|