create-houdini 1.2.56 → 1.2.58
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/fragments/localSchema/react/src/api/+schema.js +1 -1
- 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 +1 -1
- 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/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/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
|
-
}
|