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.
Files changed (40) hide show
  1. package/fragments/localSchema/react/src/api/+schema.js +1 -1
  2. package/fragments/localSchema/react/src/routes/+page.gql +3 -0
  3. package/fragments/localSchema/react/src/routes/+page.jsx +9 -0
  4. package/fragments/localSchema/react-typescript/src/api/+schema.ts +1 -1
  5. package/fragments/localSchema/react-typescript/src/routes/+page.gql +3 -0
  6. package/fragments/localSchema/react-typescript/src/routes/+page.tsx +11 -0
  7. package/package.json +1 -1
  8. package/templates/react/src/routes/+page.jsx +1 -1
  9. package/templates/react-typescript/src/routes/+page.tsx +1 -1
  10. package/templates/sveltekit-demo/.env.local +0 -1
  11. package/templates/sveltekit-demo/.eslintignore +0 -13
  12. package/templates/sveltekit-demo/.graphqlrc.yaml +0 -9
  13. package/templates/sveltekit-demo/.meta.gitignore +0 -11
  14. package/templates/sveltekit-demo/.meta.json +0 -5
  15. package/templates/sveltekit-demo/.prettierignore +0 -15
  16. package/templates/sveltekit-demo/.prettierrc +0 -9
  17. package/templates/sveltekit-demo/README.md +0 -14
  18. package/templates/sveltekit-demo/houdini.config.js +0 -13
  19. package/templates/sveltekit-demo/package.json +0 -38
  20. package/templates/sveltekit-demo/playwright.config.ts +0 -12
  21. package/templates/sveltekit-demo/schema.graphql +0 -23
  22. package/templates/sveltekit-demo/src/app.d.ts +0 -12
  23. package/templates/sveltekit-demo/src/app.html +0 -12
  24. package/templates/sveltekit-demo/src/client.ts +0 -16
  25. package/templates/sveltekit-demo/src/index.test.ts +0 -7
  26. package/templates/sveltekit-demo/src/lib/index.ts +0 -1
  27. package/templates/sveltekit-demo/src/routes/+layout.gql +0 -3
  28. package/templates/sveltekit-demo/src/routes/+layout.svelte +0 -23
  29. package/templates/sveltekit-demo/src/routes/+page.svelte +0 -26
  30. package/templates/sveltekit-demo/src/routes/links/+page.gql +0 -8
  31. package/templates/sveltekit-demo/src/routes/links/+page.svelte +0 -17
  32. package/templates/sveltekit-demo/src/routes/links/Link.svelte +0 -39
  33. package/templates/sveltekit-demo/src/routes/sponsors/+page.gql +0 -6
  34. package/templates/sveltekit-demo/src/routes/sponsors/+page.svelte +0 -47
  35. package/templates/sveltekit-demo/src/routes/sponsors/Sponsors.svelte +0 -34
  36. package/templates/sveltekit-demo/static/favicon.png +0 -0
  37. package/templates/sveltekit-demo/svelte.config.js +0 -18
  38. package/templates/sveltekit-demo/tests/test.ts +0 -6
  39. package/templates/sveltekit-demo/tsconfig.json +0 -14
  40. package/templates/sveltekit-demo/vite.config.ts +0 -7
@@ -8,7 +8,7 @@ export default createSchema({
8
8
  `,
9
9
  resolvers: {
10
10
  Query: {
11
- hello: () => 'world',
11
+ hello: () => 'Greetings from your local api 👋',
12
12
  },
13
13
  },
14
14
  })
@@ -0,0 +1,3 @@
1
+ query HelloHoudini {
2
+ hello
3
+ }
@@ -0,0 +1,9 @@
1
+ export default function ({ Hello }) {
2
+ return (
3
+ <div className="flex flex-col gap-8">
4
+ <h2>Home</h2>
5
+
6
+ <p>{Hello.message}</p>
7
+ </div>
8
+ )
9
+ }
@@ -8,7 +8,7 @@ export default createSchema({
8
8
  `,
9
9
  resolvers: {
10
10
  Query: {
11
- hello: () => 'world',
11
+ hello: () => 'Greetings from your local api 👋',
12
12
  },
13
13
  },
14
14
  })
@@ -0,0 +1,3 @@
1
+ query HelloHoudini {
2
+ hello
3
+ }
@@ -0,0 +1,11 @@
1
+ import { PageProps } from './$types'
2
+
3
+ export default function ({ Hello }: PageProps) {
4
+ return (
5
+ <div className="flex flex-col gap-8">
6
+ <h2>Home</h2>
7
+
8
+ <p>{Hello.message}</p>
9
+ </div>
10
+ )
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-houdini",
3
- "version": "1.2.56",
3
+ "version": "1.2.58",
4
4
  "description": "A CLI for creating new Houdini projects",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  export default function () {
2
2
  return (
3
- <div>
3
+ <div className="flex flex-col gap-8">
4
4
  <h2>Home</h2>
5
5
 
6
6
  <p>
@@ -2,7 +2,7 @@ import type { PageProps } from './$types'
2
2
 
3
3
  export default function ({}: PageProps) {
4
4
  return (
5
- <div>
5
+ <div className="flex flex-col gap-8">
6
6
  <h2>Home</h2>
7
7
 
8
8
  <p>
@@ -1 +0,0 @@
1
- PUBLIC_GRAPHQL_ENDPOINT = 'API_URL'
@@ -1,13 +0,0 @@
1
- .DS_Store
2
- node_modules
3
- /build
4
- /.svelte-kit
5
- /package
6
- .env
7
- .env.*
8
- !.env.example
9
-
10
- # Ignore files for PNPM, NPM and YARN
11
- pnpm-lock.yaml
12
- package-lock.json
13
- yarn.lock
@@ -1,9 +0,0 @@
1
- projects:
2
- default:
3
- schema:
4
- - ./schema.graphql
5
- - ./$houdini/graphql/schema.graphql
6
- documents:
7
- - '**/*.gql'
8
- - '**/*.svelte'
9
- - ./$houdini/graphql/documents.gql
@@ -1,11 +0,0 @@
1
- .DS_Store
2
- node_modules
3
- /build
4
- /.svelte-kit
5
- /package
6
- .env
7
- !.env.example
8
- vite.config.js.timestamp-*
9
- vite.config.ts.timestamp-*
10
-
11
- $houdini
@@ -1,5 +0,0 @@
1
- {
2
- "label": "SvelteKit - Demo",
3
- "hint": "Light demo with a few pages, layout, queries. TypeScript",
4
- "apiUrl": "https://houdinigraphql.com/graphql"
5
- }
@@ -1,15 +0,0 @@
1
- .DS_Store
2
- node_modules
3
- /build
4
- /.svelte-kit
5
- /package
6
- .env
7
- .env.*
8
- !.env.example
9
-
10
- # Ignore files for PNPM, NPM and YARN
11
- pnpm-lock.yaml
12
- package-lock.json
13
- yarn.lock
14
-
15
- $houdini
@@ -1,9 +0,0 @@
1
- {
2
- "useTabs": true,
3
- "singleQuote": true,
4
- "trailingComma": "none",
5
- "printWidth": 100,
6
- "plugins": ["prettier-plugin-svelte"],
7
- "pluginSearchDirs": ["."],
8
- "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9
- }
@@ -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,13 +0,0 @@
1
- /// <references types="houdini-svelte">
2
-
3
- /** @type {import('houdini').ConfigFile} */
4
- const config = {
5
- watchSchema: {
6
- url: 'env:PUBLIC_GRAPHQL_ENDPOINT'
7
- },
8
- plugins: {
9
- 'houdini-svelte': {}
10
- }
11
- };
12
-
13
- export default config;
@@ -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
- // See https://kit.svelte.dev/docs/types#app
2
- // for information about these interfaces
3
- declare global {
4
- namespace App {
5
- // interface Error {}
6
- // interface Locals {}
7
- // interface PageData {}
8
- // interface Platform {}
9
- }
10
- }
11
-
12
- export {};
@@ -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,7 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
-
3
- describe('sum test', () => {
4
- it('adds 1 + 2 to equal 3', () => {
5
- expect(1 + 2).toBe(3);
6
- });
7
- });
@@ -1 +0,0 @@
1
- // place files you want to import through the `$lib` alias in this folder.
@@ -1,3 +0,0 @@
1
- query Layout {
2
- welcome
3
- }
@@ -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,8 +0,0 @@
1
- query PageHome {
2
- links(
3
- # The delai here is just to simulate a slow response from the server
4
- delai: 3000
5
- ) @loading(count: 5) {
6
- ...LinkInfo
7
- }
8
- }
@@ -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,6 +0,0 @@
1
- query PageSponsors {
2
- sponsors {
3
- ...SponsorInfo
4
- tiersTitle
5
- }
6
- }
@@ -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>
@@ -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,6 +0,0 @@
1
- import { expect, test } from '@playwright/test';
2
-
3
- test('index page has expected h1', async ({ page }) => {
4
- await page.goto('/');
5
- await expect(page.getByRole('heading', { name: 'Welcome to Houdini 🎩' })).toBeVisible();
6
- });
@@ -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
- }
@@ -1,7 +0,0 @@
1
- import { sveltekit } from '@sveltejs/kit/vite';
2
- import houdini from 'houdini/vite';
3
- import { defineConfig } from 'vite';
4
-
5
- export default defineConfig({
6
- plugins: [houdini(), sveltekit()]
7
- });