Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add separate entry per layout/page. #39611

Merged
merged 14 commits into from Aug 16, 2022
14 changes: 7 additions & 7 deletions examples/convex/convex/_generated/dataModel.ts
Expand Up @@ -9,8 +9,8 @@
* @module
*/

import { AnyDataModel } from "convex/server";
import { GenericId } from "convex/values";
import { AnyDataModel } from 'convex/server'
import { GenericId } from 'convex/values'

/**
* No `schema.ts` file found!
Expand All @@ -26,12 +26,12 @@ import { GenericId } from "convex/values";
/**
* The names of all of your Convex tables.
*/
export type TableNames = string;
export type TableNames = string

/**
* The type of a document stored in Convex.
*/
export type Document = any;
export type Document = any

/**
* An identifier for a document in Convex.
Expand All @@ -45,8 +45,8 @@ export type Document = any;
* Using `===` will not work because two different instances of `Id` can refer
* to the same document.
*/
export type Id = GenericId<string>;
export const Id = GenericId;
export type Id = GenericId<string>
export const Id = GenericId

/**
* A type describing your Convex data model.
Expand All @@ -57,4 +57,4 @@ export const Id = GenericId;
* This type is used to parameterize methods like `queryGeneric` and
* `mutationGeneric` to make them type-safe.
*/
export type DataModel = AnyDataModel;
export type DataModel = AnyDataModel
28 changes: 14 additions & 14 deletions examples/convex/convex/_generated/react.ts
Expand Up @@ -9,10 +9,10 @@
* @module
*/

import type getCounter from "../getCounter";
import type incrementCounter from "../incrementCounter";
import type { OptimisticLocalStore as GenericOptimisticLocalStore } from "convex/browser";
import type { ClientMutation, ClientQuery } from "convex/server";
import type getCounter from '../getCounter'
import type incrementCounter from '../incrementCounter'
import type { OptimisticLocalStore as GenericOptimisticLocalStore } from 'convex/browser'
import type { ClientMutation, ClientQuery } from 'convex/server'

/**
* A type describing your app's public Convex API.
Expand All @@ -25,14 +25,14 @@ import type { ClientMutation, ClientQuery } from "convex/server";
*/
export type ConvexAPI = {
queries: {
getCounter: ClientQuery<typeof getCounter>;
};
getCounter: ClientQuery<typeof getCounter>
}
mutations: {
incrementCounter: ClientMutation<typeof incrementCounter>;
};
};
incrementCounter: ClientMutation<typeof incrementCounter>
}
}

import { makeUseQuery, makeUseMutation, makeUseConvex } from "convex/react";
import { makeUseQuery, makeUseMutation, makeUseConvex } from 'convex/react'

/**
* Load a reactive query within a React component.
Expand All @@ -46,7 +46,7 @@ import { makeUseQuery, makeUseMutation, makeUseConvex } from "convex/react";
* @param args - The arguments to the query function.
* @returns `undefined` if loading and the query's return value otherwise.
*/
export const useQuery = makeUseQuery<ConvexAPI>();
export const useQuery = makeUseQuery<ConvexAPI>()

/**
* Construct a new {@link ReactMutation}.
Expand All @@ -64,7 +64,7 @@ export const useQuery = makeUseQuery<ConvexAPI>();
* @param name - The name of the mutation.
* @returns The {@link ReactMutation} object with that name.
*/
export const useMutation = makeUseMutation<ConvexAPI>();
export const useMutation = makeUseMutation<ConvexAPI>()

/**
* Get the {@link ConvexReactClient} within a React component.
Expand All @@ -73,10 +73,10 @@ export const useMutation = makeUseMutation<ConvexAPI>();
*
* @returns The active {@link ConvexReactClient} object, or `undefined`.
*/
export const useConvex = makeUseConvex<ConvexAPI>();
export const useConvex = makeUseConvex<ConvexAPI>()

/**
* A view of the query results currently in the Convex client for use within
* optimistic updates.
*/
export type OptimisticLocalStore = GenericOptimisticLocalStore<ConvexAPI>;
export type OptimisticLocalStore = GenericOptimisticLocalStore<ConvexAPI>
16 changes: 8 additions & 8 deletions examples/convex/convex/_generated/server.ts
Expand Up @@ -16,8 +16,8 @@ import {
MutationCtx as GenericMutationCtx,
DatabaseReader as GenericDatabaseReader,
DatabaseWriter as GenericDatabaseWriter,
} from "convex/server";
import { DataModel } from "./dataModel.js";
} from 'convex/server'
import { DataModel } from './dataModel.js'

/**
* Define a query in this Convex app's public API.
Expand All @@ -27,7 +27,7 @@ import { DataModel } from "./dataModel.js";
* @param func - The query function. It receives a {@link QueryCtx} as its first argument.
* @returns The wrapped query. Include this as an `export` to name it and make it accessible.
*/
export const query = makeQuery<DataModel>();
export const query = makeQuery<DataModel>()

/**
* Define a mutation in this Convex app's public API.
Expand All @@ -37,7 +37,7 @@ export const query = makeQuery<DataModel>();
* @param func - The mutation function. It receives a {@link MutationCtx} as its first argument.
* @returns The wrapped mutation. Include this as an `export` to name it and make it accessible.
*/
export const mutation = makeMutation<DataModel>();
export const mutation = makeMutation<DataModel>()

/**
* A set of services for use within Convex query functions.
Expand All @@ -48,15 +48,15 @@ export const mutation = makeMutation<DataModel>();
* This differs from the {@link MutationCtx} because all of the services are
* read-only.
*/
export type QueryCtx = GenericQueryCtx<DataModel>;
export type QueryCtx = GenericQueryCtx<DataModel>

/**
* A set of services for use within Convex mutation functions.
*
* The mutation context is passed as the first argument to any Convex mutation
* function run on the server.
*/
export type MutationCtx = GenericMutationCtx<DataModel>;
export type MutationCtx = GenericMutationCtx<DataModel>

/**
* An interface to read from the database within Convex query functions.
Expand All @@ -65,7 +65,7 @@ export type MutationCtx = GenericMutationCtx<DataModel>;
* document by its {@link Id}, or {@link DatabaseReader.table}, which starts
* building a query.
*/
export type DatabaseReader = GenericDatabaseReader<DataModel>;
export type DatabaseReader = GenericDatabaseReader<DataModel>

/**
* An interface to read from and write to the database within Convex mutation
Expand All @@ -76,4 +76,4 @@ export type DatabaseReader = GenericDatabaseReader<DataModel>;
* your data in an inconsistent state. See [the Convex Guide](https://docs.convex.dev/understanding/convex-fundamentals/functions#atomicity-and-optimistic-concurrency-control)
* for the guarantees Convex provides your functions.
*/
export type DatabaseWriter = GenericDatabaseWriter<DataModel>;
export type DatabaseWriter = GenericDatabaseWriter<DataModel>
4 changes: 3 additions & 1 deletion packages/next/build/webpack/loaders/next-app-loader.ts
Expand Up @@ -24,8 +24,9 @@ async function createTreeCodeFromPath({

// First item in the list is the page which can't have layouts by itself
if (i === segments.length - 1) {
const resolvedPagePath = await resolve(pagePath)
// Use '' for segment as it's the page. There can't be a segment called '' so this is the safest way to add it.
tree = `['', {}, {page: () => require('${pagePath}')}]`
tree = `['', {}, {filePath: '${resolvedPagePath}', page: () => require('${resolvedPagePath}')}]`
continue
}

Expand All @@ -46,6 +47,7 @@ async function createTreeCodeFromPath({
children ? `children: ${children},` : ''
}
}, {
filePath: '${resolvedLayoutPath}',
${
resolvedLayoutPath
? `layout: () => require('${resolvedLayoutPath}'),`
Expand Down