Update the tutorial for 0.12.0 (#1799)

This commit is contained in:
Filip Sodić 2024-02-26 14:33:28 +01:00 committed by GitHub
parent c50b0e1f62
commit 1c0bfd20ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
114 changed files with 15994 additions and 890 deletions

View File

@ -1,3 +1,13 @@
/.wasp/
/.env.server
/.env.client
.wasp/
node_modules/
**/.DS_Store
# We ignore env files recognized and used by Wasp.
.env.server
.env.client
# To be extra safe, we by default ignore any files with `.env` extension in them.
# If this is too agressive for you, consider allowing specific files with `!` operator,
# or modify/delete these two lines.
*.env
*.env.*

View File

@ -1,3 +1,4 @@
# Ignore editor tmp files
**/*~
**/#*#
.DS_Store

View File

@ -1,8 +1,8 @@
app TodoApp {
wasp: {
version: "^0.11.6" // Pins the version of Wasp to use.
version: "^0.12.0" // Pins the version of Wasp to use.
},
title: "Todo app", // Used as the browser tab title. Note that all strings in Wasp are double quoted!
title: "TodoApp", // Used as the browser tab title. Note that all strings in Wasp are double quoted!
auth: {
// Tells Wasp which entity to use for storing users.
userEntity: User,
@ -10,28 +10,28 @@ app TodoApp {
// Enable username and password auth.
usernameAndPassword: {}
},
// We'll see how this is used a bit later.
// We'll see how this is used in a bit.
onAuthFailedRedirectTo: "/login"
}
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
// We specify that the React implementation of the page is the default export
// of `src/client/MainPage.jsx`. This statement uses standard JS import syntax.
// Use `@client` to reference files inside the `src/client` folder.
authRequired: true,
component: import Main from "@client/MainPage.jsx"
// We specify that the React implementation of the page is exported from
// `src/MainPage.tsx`. This statement uses standard JS import syntax.
// Use `@src` to reference files inside the `src` folder.
component: import { MainPage } from "@src/MainPage"
}
route SignupRoute { path: "/signup", to: SignupPage }
page SignupPage {
component: import Signup from "@client/SignupPage.jsx"
component: import { SignupPage } from "@src/SignupPage"
}
route LoginRoute { path: "/login", to: LoginPage }
page LoginPage {
component: import Login from "@client/LoginPage.jsx"
component: import { LoginPage } from "@src/LoginPage"
}
entity User {=psl
@ -49,19 +49,20 @@ psl=}
query getTasks {
// Specifies where the implementation for the query function is.
// Use `@server` to import files inside the `src/server` folder.
fn: import { getTasks } from "@server/queries.js",
// Tell Wasp that this query reads from the `Task` entity. By doing this, Wasp
// will automatically update the results of this query when tasks are modified.
// The path `@src/queries` resolves to `src/queries.js`.
// No need to specify an extension.
fn: import { getTasks } from "@src/queries",
// Tell Wasp that this query reads from the `Task` entity. Wasp will
// automatically update the results of this query when tasks are modified.
entities: [Task]
}
action createTask {
fn: import { createTask } from "@server/actions.js",
fn: import { createTask } from "@src/actions",
entities: [Task]
}
action updateTask {
fn: import { updateTask } from "@server/actions.js",
fn: import { updateTask } from "@src/actions",
entities: [Task]
}

View File

@ -1,17 +0,0 @@
/*
Warnings:
- You are about to drop the column `password` on the `User` table. All the data in the column will be lost.
- You are about to drop the column `username` on the `User` table. All the data in the column will be lost.
*/
-- RedefineTables
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
);
INSERT INTO "new_User" ("id") SELECT "id" FROM "User";
DROP TABLE "User";
ALTER TABLE "new_User" RENAME TO "User";
PRAGMA foreign_key_check;
PRAGMA foreign_keys=ON;

View File

@ -0,0 +1,6 @@
-- CreateTable
CREATE TABLE "Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false
);

View File

@ -3,15 +3,6 @@ CREATE TABLE "User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
);
-- CreateTable
CREATE TABLE "Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false,
"userId" INTEGER,
CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "Auth" (
"id" TEXT NOT NULL PRIMARY KEY,
@ -30,5 +21,19 @@ CREATE TABLE "AuthIdentity" (
CONSTRAINT "AuthIdentity_authId_fkey" FOREIGN KEY ("authId") REFERENCES "Auth" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateTable
CREATE TABLE "Session" (
"id" TEXT NOT NULL PRIMARY KEY,
"expiresAt" DATETIME NOT NULL,
"userId" TEXT NOT NULL,
CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "Auth" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "Auth_userId_key" ON "Auth"("userId");
-- CreateIndex
CREATE UNIQUE INDEX "Session_id_key" ON "Session"("id");
-- CreateIndex
CREATE INDEX "Session_userId_idx" ON "Session"("userId");

View File

@ -0,0 +1,14 @@
-- RedefineTables
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false,
"userId" INTEGER,
CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
);
INSERT INTO "new_Task" ("description", "id", "isDone") SELECT "description", "id", "isDone" FROM "Task";
DROP TABLE "Task";
ALTER TABLE "new_Task" RENAME TO "Task";
PRAGMA foreign_key_check;
PRAGMA foreign_keys=ON;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
{
"name": "TodoApp",
"dependencies": {
"wasp": "file:.wasp/out/sdk/wasp",
"react": "^18.2.0"
},
"devDependencies": {
"typescript": "^5.1.0",
"vite": "^4.3.9",
"@types/react": "^18.0.37",
"prisma": "4.16.2"
}
}

View File

@ -1,9 +1,9 @@
import { Link } from 'react-router-dom'
import { LoginForm } from '@wasp/auth/forms/Login'
import { LoginForm } from 'wasp/client/auth'
const LoginPage = () => {
export const LoginPage = () => {
return (
<div style={{maxWidth: "400px", margin: "0 auto"}}>
<div style={{ maxWidth: '400px', margin: '0 auto' }}>
<LoginForm />
<br />
<span>
@ -12,5 +12,3 @@ const LoginPage = () => {
</div>
)
}
export default LoginPage

View File

@ -1,16 +1,17 @@
import getTasks from '@wasp/queries/getTasks'
import createTask from '@wasp/actions/createTask'
import { useQuery } from '@wasp/queries'
import updateTask from '@wasp/actions/updateTask'
import logout from '@wasp/auth/logout'
import {
updateTask,
createTask,
getTasks,
useQuery,
} from 'wasp/client/operations'
import { logout } from 'wasp/client/auth'
const MainPage = () => {
export const MainPage = () => {
const { data: tasks, isLoading, error } = useQuery(getTasks)
return (
<div>
<NewTaskForm />
{tasks && <TasksList tasks={tasks} />}
{isLoading && 'Loading...'}
@ -20,7 +21,7 @@ const MainPage = () => {
)
}
const Task = ({ task }) => {
const TaskView = ({ task }) => {
const handleIsDoneChange = async (event) => {
try {
await updateTask({
@ -31,6 +32,7 @@ const Task = ({ task }) => {
window.alert('Error while updating task: ' + error.message)
}
}
return (
<div>
<input
@ -50,7 +52,7 @@ const TasksList = ({ tasks }) => {
return (
<div>
{tasks.map((task, idx) => (
<Task task={task} key={idx} />
<TaskView task={task} key={idx} />
))}
</div>
)
@ -76,5 +78,3 @@ const NewTaskForm = () => {
</form>
)
}
export default MainPage

View File

@ -1,9 +1,9 @@
import { Link } from 'react-router-dom'
import { SignupForm } from '@wasp/auth/forms/Signup'
import { SignupForm } from 'wasp/client/auth'
const SignupPage = () => {
export const SignupPage = () => {
return (
<div style={{maxWidth: "400px", margin: "0 auto"}}>
<div style={{ maxWidth: '400px', margin: '0 auto' }}>
<SignupForm />
<br />
<span>
@ -12,5 +12,3 @@ const SignupPage = () => {
</div>
)
}
export default SignupPage

View File

@ -1,4 +1,4 @@
import HttpError from '@wasp/core/HttpError.js'
import { HttpError } from 'wasp/server'
export const createTask = async (args, context) => {
if (!context.user) {

View File

@ -1,55 +0,0 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// JSX support
"jsx": "preserve",
"strict": true,
// Allow default imports.
"esModuleInterop": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
// Wasp needs the following settings enable IDE support in your source
// files. Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/web-app/",
"paths": {
// Resolve all "@wasp" imports to the generated source code.
"@wasp/*": [
"src/*"
],
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": [
"../../.wasp/out/web-app/node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": "phantom"
},
"exclude": [
"phantom"
],
}

View File

@ -1 +0,0 @@
/// <reference types="../../.wasp/out/web-app/node_modules/vite/client" />

View File

@ -1,4 +1,4 @@
import HttpError from '@wasp/core/HttpError.js'
import { HttpError } from 'wasp/server'
export const getTasks = async (args, context) => {
if (!context.user) {

View File

@ -1,48 +0,0 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// Allows default imports.
"esModuleInterop": true,
"allowJs": true,
"strict": true,
// Wasp needs the following settings enable IDE support in your source
// files. Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/server/",
"paths": {
// Resolve all "@wasp" imports to the generated source code.
"@wasp/*": [
"src/*"
],
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": [
"../../.wasp/out/server/node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": "phantom",
},
"exclude": [
"phantom"
],
}

View File

@ -1,28 +0,0 @@
{
"compilerOptions": {
// Enable default imports in TypeScript.
"esModuleInterop": true,
"allowJs": true,
// The following settings enable IDE support in user-provided source files.
// Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/server/",
"paths": {
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": ["../../.wasp/out/server/node_modules/@types"]
}
}

View File

@ -0,0 +1 @@
/// <reference types="vite/client" />

View File

@ -0,0 +1,37 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// JSX support
"jsx": "preserve",
"strict": true,
// Allow default imports.
"esModuleInterop": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": ".wasp/phantom",
}
}

View File

@ -1,4 +1,6 @@
/.wasp/
.wasp/
node_modules/
**/.DS_Store
# We ignore env files recognized and used by Wasp.
.env.server

View File

@ -1,3 +1,4 @@
# Ignore editor tmp files
**/*~
**/#*#
.DS_Store

View File

@ -1,8 +1,8 @@
app TodoApp {
wasp: {
version: "^0.11.6" // Pins the version of Wasp to use.
version: "^0.12.0" // Pins the version of Wasp to use.
},
title: "Todo app", // Used as the browser tab title. Note that all strings in Wasp are double quoted!
title: "TodoApp", // Used as the browser tab title. Note that all strings in Wasp are double quoted!
auth: {
// Tells Wasp which entity to use for storing users.
userEntity: User,
@ -10,32 +10,32 @@ app TodoApp {
// Enable username and password auth.
usernameAndPassword: {}
},
// We'll see how this is used a bit later.
// We'll see how this is used in a bit.
onAuthFailedRedirectTo: "/login"
}
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
// We specify that the React implementation of the page is the default export
// of `src/client/MainPage.tsx`. This statement uses standard JS import syntax.
// Use `@client` to reference files inside the `src/client` folder.
authRequired: true,
component: import Main from "@client/MainPage.tsx"
// We specify that the React implementation of the page is exported from
// `src/MainPage.tsx`. This statement uses standard JS import syntax.
// Use `@src` to reference files inside the `src` folder.
component: import { MainPage } from "@src/MainPage"
}
route SignupRoute { path: "/signup", to: SignupPage }
page SignupPage {
component: import Signup from "@client/SignupPage.tsx"
component: import { SignupPage } from "@src/SignupPage"
}
route LoginRoute { path: "/login", to: LoginPage }
page LoginPage {
component: import Login from "@client/LoginPage.tsx"
component: import { LoginPage } from "@src/LoginPage"
}
entity User {=psl
id Int @id @default(autoincrement())
id Int @id @default(autoincrement())
tasks Task[]
psl=}
@ -43,25 +43,26 @@ entity Task {=psl
id Int @id @default(autoincrement())
description String
isDone Boolean @default(false)
user User? @relation(fields: [userId], references: [id])
user User? @relation(fields: [userId], references: [id])
userId Int?
psl=}
query getTasks {
// Specifies where the implementation for the query function is.
// Use `@server` to import files inside the `src/server` folder.
fn: import { getTasks } from "@server/queries.js",
// Tell Wasp that this query reads from the `Task` entity. By doing this, Wasp
// will automatically update the results of this query when tasks are modified.
// The path `@src/queries` resolves to `src/queries.ts`.
// No need to specify an extension.
fn: import { getTasks } from "@src/queries",
// Tell Wasp that this query reads from the `Task` entity. Wasp will
// automatically update the results of this query when tasks are modified.
entities: [Task]
}
action createTask {
fn: import { createTask } from "@server/actions.js",
fn: import { createTask } from "@src/actions",
entities: [Task]
}
action updateTask {
fn: import { updateTask } from "@server/actions.js",
fn: import { updateTask } from "@src/actions",
entities: [Task]
}
}

View File

@ -0,0 +1,6 @@
-- CreateTable
CREATE TABLE "Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false
);

View File

@ -1,17 +1,6 @@
-- CreateTable
CREATE TABLE "User" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"username" TEXT NOT NULL,
"password" TEXT NOT NULL
);
-- CreateTable
CREATE TABLE "Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false,
"userId" INTEGER,
CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
);
-- CreateTable
@ -32,8 +21,19 @@ CREATE TABLE "AuthIdentity" (
CONSTRAINT "AuthIdentity_authId_fkey" FOREIGN KEY ("authId") REFERENCES "Auth" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
-- CreateTable
CREATE TABLE "Session" (
"id" TEXT NOT NULL PRIMARY KEY,
"expiresAt" DATETIME NOT NULL,
"userId" TEXT NOT NULL,
CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "Auth" ("id") ON DELETE CASCADE ON UPDATE CASCADE
);
-- CreateIndex
CREATE UNIQUE INDEX "Auth_userId_key" ON "Auth"("userId");
-- CreateIndex
CREATE UNIQUE INDEX "Session_id_key" ON "Session"("id");
-- CreateIndex
CREATE INDEX "Session_userId_idx" ON "Session"("userId");

View File

@ -0,0 +1,14 @@
-- RedefineTables
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_Task" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"description" TEXT NOT NULL,
"isDone" BOOLEAN NOT NULL DEFAULT false,
"userId" INTEGER,
CONSTRAINT "Task_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
);
INSERT INTO "new_Task" ("description", "id", "isDone") SELECT "description", "id", "isDone" FROM "Task";
DROP TABLE "Task";
ALTER TABLE "new_Task" RENAME TO "Task";
PRAGMA foreign_key_check;
PRAGMA foreign_keys=ON;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
{
"name": "TodoAppTs",
"dependencies": {
"wasp": "file:.wasp/out/sdk/wasp",
"react": "^18.2.0"
},
"devDependencies": {
"typescript": "^5.1.0",
"vite": "^4.3.9",
"@types/react": "^18.0.37",
"prisma": "4.16.2"
}
}

View File

@ -1,7 +1,7 @@
import { Link } from 'react-router-dom'
import { LoginForm } from '@wasp/auth/forms/Login'
import { LoginForm } from 'wasp/client/auth'
const LoginPage = () => {
export const LoginPage = () => {
return (
<div style={{ maxWidth: '400px', margin: '0 auto' }}>
<LoginForm />
@ -12,5 +12,3 @@ const LoginPage = () => {
</div>
)
}
export default LoginPage

View File

@ -1,18 +1,19 @@
import { FormEvent, ChangeEvent } from 'react'
import getTasks from '@wasp/queries/getTasks'
import createTask from '@wasp/actions/createTask'
import updateTask from '@wasp/actions/updateTask'
import { useQuery } from '@wasp/queries'
import { Task } from '@wasp/entities'
import logout from '@wasp/auth/logout'
import { Task } from 'wasp/entities'
import {
updateTask,
createTask,
getTasks,
useQuery,
} from 'wasp/client/operations'
import { logout } from 'wasp/client/auth'
const MainPage = () => {
export const MainPage = () => {
const { data: tasks, isLoading, error } = useQuery(getTasks)
return (
<div>
<NewTaskForm />
{tasks && <TasksList tasks={tasks} />}
{isLoading && 'Loading...'}
@ -22,7 +23,7 @@ const MainPage = () => {
)
}
const Task = ({ task }: { task: Task }) => {
const TaskView = ({ task }: { task: Task }) => {
const handleIsDoneChange = async (event: ChangeEvent<HTMLInputElement>) => {
try {
await updateTask({
@ -53,7 +54,7 @@ const TasksList = ({ tasks }: { tasks: Task[] }) => {
return (
<div>
{tasks.map((task, idx) => (
<Task task={task} key={idx} />
<TaskView task={task} key={idx} />
))}
</div>
)
@ -79,5 +80,3 @@ const NewTaskForm = () => {
</form>
)
}
export default MainPage

View File

@ -1,7 +1,7 @@
import { Link } from 'react-router-dom'
import { SignupForm } from '@wasp/auth/forms/Signup'
import { SignupForm } from 'wasp/client/auth'
const SignupPage = () => {
export const SignupPage = () => {
return (
<div style={{ maxWidth: '400px', margin: '0 auto' }}>
<SignupForm />
@ -12,5 +12,3 @@ const SignupPage = () => {
</div>
)
}
export default SignupPage

View File

@ -1,6 +1,6 @@
import { Task } from '@wasp/entities'
import { CreateTask, UpdateTask } from '@wasp/actions/types'
import HttpError from '@wasp/core/HttpError.js'
import { Task } from 'wasp/entities'
import { HttpError } from 'wasp/server'
import { CreateTask, UpdateTask } from 'wasp/server/operations'
type CreateTaskPayload = Pick<Task, 'description'>

View File

@ -1,55 +0,0 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// JSX support
"jsx": "preserve",
"strict": true,
// Allow default imports.
"esModuleInterop": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
// Wasp needs the following settings enable IDE support in your source
// files. Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/web-app/",
"paths": {
// Resolve all "@wasp" imports to the generated source code.
"@wasp/*": [
"src/*"
],
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": [
"../../.wasp/out/web-app/node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": "phantom"
},
"exclude": [
"phantom"
],
}

View File

@ -1 +0,0 @@
/// <reference types="../../.wasp/out/web-app/node_modules/vite/client" />

View File

@ -1,6 +1,6 @@
import { Task } from '@wasp/entities'
import { GetTasks } from '@wasp/queries/types'
import HttpError from '@wasp/core/HttpError.js'
import { Task } from 'wasp/entities'
import { HttpError } from 'wasp/server'
import { GetTasks } from 'wasp/server/operations'
export const getTasks: GetTasks<void, Task[]> = async (args, context) => {
if (!context.user) {

View File

@ -1,48 +0,0 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// Allows default imports.
"esModuleInterop": true,
"allowJs": true,
"strict": true,
// Wasp needs the following settings enable IDE support in your source
// files. Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/server/",
"paths": {
// Resolve all "@wasp" imports to the generated source code.
"@wasp/*": [
"src/*"
],
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": [
"../../.wasp/out/server/node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": "phantom",
},
"exclude": [
"phantom"
],
}

View File

@ -1,28 +0,0 @@
{
"compilerOptions": {
// Enable default imports in TypeScript.
"esModuleInterop": true,
"allowJs": true,
// The following settings enable IDE support in user-provided source files.
// Editing them might break features like import autocompletion and
// definition lookup. Don't change them unless you know what you're doing.
//
// The relative path to the generated web app's root directory. This must be
// set to define the "paths" option.
"baseUrl": "../../.wasp/out/server/",
"paths": {
// Resolve all non-relative imports to the correct node module. Source:
// https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping
"*": [
// Start by looking for the definiton inside the node modules root
// directory...
"node_modules/*",
// ... If that fails, try to find it inside definitely-typed type
// definitions.
"node_modules/@types/*"
]
},
// Correctly resolve types: https://www.typescriptlang.org/tsconfig#typeRoots
"typeRoots": ["../../.wasp/out/server/node_modules/@types"]
}
}

View File

@ -0,0 +1 @@
/// <reference types="vite/client" />

View File

@ -0,0 +1,37 @@
// =============================== IMPORTANT =================================
//
// This file is only used for Wasp IDE support. You can change it to configure
// your IDE checks, but none of these options will affect the TypeScript
// compiler. Proper TS compiler configuration in Wasp is coming soon :)
{
"compilerOptions": {
// JSX support
"jsx": "preserve",
"strict": true,
// Allow default imports.
"esModuleInterop": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify
// it to prevent this error:
// https://stackoverflow.com/questions/42609768/typescript-error-cannot-write-file-because-it-would-overwrite-input-file
"outDir": ".wasp/phantom",
}
}

View File

@ -7,5 +7,5 @@ app __waspAppName__ {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -16,11 +16,17 @@
"esnext"
],
"allowJs": true,
"types": [
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
"@testing-library/jest-dom"
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify

View File

@ -186,7 +186,7 @@
"file",
"../out/sdk/wasp/ext-src/MainPage.jsx"
],
"4aead352bd5bbb5134b5e1f0927cf94966d80aa9dbbbb1f616e79fec8ae594e4"
"bd452ce5b469d3b48e69705daaa07e339d9d0e9d88a99a74c2ace9fa6d6299e7"
],
[
[
@ -207,7 +207,7 @@
"file",
"../out/sdk/wasp/package.json"
],
"6691a48b86fa7e4133f01e647534c32c378755b9c4f266853fdcdc61907e711c"
"20c4c4663e34042e15c588f4855a3c91b746d60981918adc8cae756861a185e1"
],
[
[
@ -606,7 +606,7 @@
"file",
"web-app/src/router.tsx"
],
"aaa46223db86cf8a7af9c2fe89d50345e0d9b3fa2587e91f4680810d032db452"
"5641aec64e4771fde7aaedb217fbb726103c9859de65f2b6bdc51fbb2e970a3e"
],
[
[

View File

@ -1 +1 @@
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -5,6 +5,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -2,7 +2,7 @@ import React from 'react'
import { Route, Switch, BrowserRouter as Router } from 'react-router-dom'
import { MainPage } from '../../../../src/MainPage.jsx'
import { MainPage } from '../../../../src/MainPage'
import { routes } from 'wasp/client/router'

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -5,6 +5,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -8,5 +8,5 @@ app waspBuild {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -16,11 +16,17 @@
"esnext"
],
"allowJs": true,
"types": [
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
"@testing-library/jest-dom"
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify

View File

@ -186,7 +186,7 @@
"file",
"../out/sdk/wasp/ext-src/MainPage.jsx"
],
"4aead352bd5bbb5134b5e1f0927cf94966d80aa9dbbbb1f616e79fec8ae594e4"
"bd452ce5b469d3b48e69705daaa07e339d9d0e9d88a99a74c2ace9fa6d6299e7"
],
[
[
@ -207,7 +207,7 @@
"file",
"../out/sdk/wasp/package.json"
],
"6691a48b86fa7e4133f01e647534c32c378755b9c4f266853fdcdc61907e711c"
"20c4c4663e34042e15c588f4855a3c91b746d60981918adc8cae756861a185e1"
],
[
[
@ -620,7 +620,7 @@
"file",
"web-app/src/router.tsx"
],
"aaa46223db86cf8a7af9c2fe89d50345e0d9b3fa2587e91f4680810d032db452"
"5641aec64e4771fde7aaedb217fbb726103c9859de65f2b6bdc51fbb2e970a3e"
],
[
[

View File

@ -1 +1 @@
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -5,6 +5,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -2,7 +2,7 @@ import React from 'react'
import { Route, Switch, BrowserRouter as Router } from 'react-router-dom'
import { MainPage } from '../../../../src/MainPage.jsx'
import { MainPage } from '../../../../src/MainPage'
import { routes } from 'wasp/client/router'

View File

@ -7,5 +7,5 @@ app waspCompile {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -16,11 +16,17 @@
"esnext"
],
"allowJs": true,
"types": [
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
"@testing-library/jest-dom"
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify

View File

@ -396,7 +396,7 @@
"file",
"../out/sdk/wasp/ext-src/MainPage.jsx"
],
"4aead352bd5bbb5134b5e1f0927cf94966d80aa9dbbbb1f616e79fec8ae594e4"
"bd452ce5b469d3b48e69705daaa07e339d9d0e9d88a99a74c2ace9fa6d6299e7"
],
[
[
@ -480,7 +480,7 @@
"file",
"../out/sdk/wasp/package.json"
],
"b53c678e00bdf4457cbb1f957482203dad88eb527fcd2d81e87d5f49004e78e1"
"418aa323e5e98dd561371f99f808e16fb57087fe8025e797552745d93e363eb4"
],
[
[
@ -1159,7 +1159,7 @@
"file",
"web-app/src/router.tsx"
],
"c94602fdeda55855e2c869596d266163f9786e6841b33e4a346b8d4f527c6c30"
"bd4451ae7df15adb5fcebb5ad99bd0831edb3481d1a7a46abc894a5d50c14ed1"
],
[
[

View File

@ -1 +1 @@
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@stitches/react","version":"^1.2.8"},{"name":"lucia","version":"^3.0.1"},{"name":"@lucia-auth/adapter-prisma","version":"^4.0.0"},{"name":"oslo","version":"^1.1.2"},{"name":"@sendgrid/mail","version":"^7.7.0"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"},{"name":"pg-boss","version":"^8.4.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"passport","version":"0.6.0"},{"name":"passport-google-oauth20","version":"2.0.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@stitches/react","version":"^1.2.8"},{"name":"lucia","version":"^3.0.1"},{"name":"@lucia-auth/adapter-prisma","version":"^4.0.0"},{"name":"oslo","version":"^1.1.2"},{"name":"@sendgrid/mail","version":"^7.7.0"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"},{"name":"pg-boss","version":"^8.4.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"passport","version":"0.6.0"},{"name":"passport-google-oauth20","version":"2.0.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -8,6 +8,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -4,7 +4,7 @@ import App from '../../../../src/client/App.jsx'
import createAuthRequiredPage from "./auth/pages/createAuthRequiredPage"
import { MainPage } from '../../../../src/MainPage.jsx'
import { MainPage } from '../../../../src/MainPage'
import OAuthCodeExchange from "./auth/pages/OAuthCodeExchange"

View File

@ -34,7 +34,7 @@ app waspComplexTest {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}
entity User {=psl
id Int @id @default(autoincrement())

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -16,11 +16,17 @@
"esnext"
],
"allowJs": true,
"types": [
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
"@testing-library/jest-dom"
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify

View File

@ -186,7 +186,7 @@
"file",
"../out/sdk/wasp/ext-src/MainPage.jsx"
],
"4aead352bd5bbb5134b5e1f0927cf94966d80aa9dbbbb1f616e79fec8ae594e4"
"bd452ce5b469d3b48e69705daaa07e339d9d0e9d88a99a74c2ace9fa6d6299e7"
],
[
[
@ -214,7 +214,7 @@
"file",
"../out/sdk/wasp/package.json"
],
"7da143b79de48120d1d0ff96aa813f59ef44582c375cb3c624467cb9afa7223b"
"57a930679c0d5e4b61ec93989bc3c2ea25dc25d4c9be987e8baf63f6ecb0c494"
],
[
[
@ -690,7 +690,7 @@
"file",
"web-app/src/router.tsx"
],
"aaa46223db86cf8a7af9c2fe89d50345e0d9b3fa2587e91f4680810d032db452"
"5641aec64e4771fde7aaedb217fbb726103c9859de65f2b6bdc51fbb2e970a3e"
],
[
[

View File

@ -1 +1 @@
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"},{"name":"pg-boss","version":"^8.4.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"},{"name":"pg-boss","version":"^8.4.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -5,6 +5,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -2,7 +2,7 @@ import React from 'react'
import { Route, Switch, BrowserRouter as Router } from 'react-router-dom'
import { MainPage } from '../../../../src/MainPage.jsx'
import { MainPage } from '../../../../src/MainPage'
import { routes } from 'wasp/client/router'

View File

@ -8,7 +8,7 @@ app waspJob {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}
job mySpecialJob {
executor: PgBoss,

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -16,11 +16,17 @@
"esnext"
],
"allowJs": true,
"types": [
"typeRoots": [
// This is needed to properly support Vitest testing with jest-dom matchers.
// Types for jest-dom are not recognized automatically and Typescript complains
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
"@testing-library/jest-dom"
// todo: check if jest still works
"node_modules/@testing-library",
// Specifying type roots overrides the default behavior of looking at the
// node_modules/@types folder so we had to list it explicitly.
// Source 1: https://www.typescriptlang.org/tsconfig#typeRoots
// Source 2: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
"node_modules/@types"
],
// Since this TS config is used only for IDE support and not for
// compilation, the following directory doesn't exist. We need to specify

View File

@ -186,7 +186,7 @@
"file",
"../out/sdk/wasp/ext-src/MainPage.jsx"
],
"4aead352bd5bbb5134b5e1f0927cf94966d80aa9dbbbb1f616e79fec8ae594e4"
"bd452ce5b469d3b48e69705daaa07e339d9d0e9d88a99a74c2ace9fa6d6299e7"
],
[
[
@ -207,7 +207,7 @@
"file",
"../out/sdk/wasp/package.json"
],
"6691a48b86fa7e4133f01e647534c32c378755b9c4f266853fdcdc61907e711c"
"20c4c4663e34042e15c588f4855a3c91b746d60981918adc8cae756861a185e1"
],
[
[
@ -620,7 +620,7 @@
"file",
"web-app/src/router.tsx"
],
"aaa46223db86cf8a7af9c2fe89d50345e0d9b3fa2587e91f4680810d032db452"
"5641aec64e4771fde7aaedb217fbb726103c9859de65f2b6bdc51fbb2e970a3e"
],
[
[

View File

@ -1 +1 @@
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}
{"_waspSdkNpmDeps":{"dependencies":[{"name":"@prisma/client","version":"4.16.2"},{"name":"prisma","version":"4.16.2"},{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"express","version":"~4.18.1"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"mitt","version":"3.0.0"},{"name":"react","version":"^18.2.0"},{"name":"lodash.merge","version":"^4.6.2"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"superjson","version":"^1.12.2"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"uuid","version":"^9.0.0"},{"name":"vitest","version":"^1.2.1"},{"name":"@vitest/ui","version":"^1.2.1"},{"name":"jsdom","version":"^21.1.1"},{"name":"@testing-library/react","version":"^14.1.2"},{"name":"@testing-library/jest-dom","version":"^6.3.0"},{"name":"msw","version":"^1.1.0"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"}]},"_userNpmDeps":{"userDependencies":[{"name":"react","version":"^18.2.0"},{"name":"wasp","version":"file:.wasp/out/sdk/wasp"}],"userDevDependencies":[{"name":"@types/react","version":"^18.0.37"},{"name":"prisma","version":"4.16.2"},{"name":"typescript","version":"^5.1.0"},{"name":"vite","version":"^4.3.9"}]},"_waspFrameworkNpmDeps":{"npmDepsForWebApp":{"dependencies":[{"name":"@tanstack/react-query","version":"^4.29.0"},{"name":"axios","version":"^1.4.0"},{"name":"mitt","version":"3.0.0"},{"name":"react-dom","version":"^18.2.0"},{"name":"react-hook-form","version":"^7.45.4"},{"name":"react-router-dom","version":"^5.3.3"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/vite-react","version":"^2.0.0"},{"name":"@types/react-dom","version":"^18.0.11"},{"name":"@types/react-router-dom","version":"^5.3.3"},{"name":"@vitejs/plugin-react","version":"^4.2.1"},{"name":"dotenv","version":"^16.0.3"}]},"npmDepsForServer":{"dependencies":[{"name":"cookie-parser","version":"~1.4.6"},{"name":"cors","version":"^2.8.5"},{"name":"dotenv","version":"16.0.2"},{"name":"express","version":"~4.18.1"},{"name":"helmet","version":"^6.0.0"},{"name":"jsonwebtoken","version":"^8.5.1"},{"name":"morgan","version":"~1.10.0"},{"name":"rate-limiter-flexible","version":"^2.4.1"},{"name":"superjson","version":"^1.12.2"}],"devDependencies":[{"name":"@tsconfig/node18","version":"latest"},{"name":"@types/cors","version":"^2.8.5"},{"name":"@types/express","version":"^4.17.13"},{"name":"@types/express-serve-static-core","version":"^4.17.13"},{"name":"@types/node","version":"^18.0.0"},{"name":"nodemon","version":"^2.0.19"},{"name":"rollup","version":"^4.9.6"},{"name":"rollup-plugin-esbuild","version":"^6.1.1"},{"name":"standard","version":"^17.0.0"}]}}}

View File

@ -1,6 +1,6 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
export function MainPage() {
import waspLogo from './waspLogo.png';
import './Main.css';
export const MainPage = () => {
return (<div className="container">
<main>
<div className="logo">
@ -8,11 +8,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -25,5 +25,5 @@ export function MainPage() {
</div>
</main>
</div>);
}
};
//# sourceMappingURL=MainPage.jsx.map

View File

@ -1 +1 @@
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,YAAY,CAAC;AAEpB,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;uDAA6C,CAAC,GAAG,CACnD;QAAA,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAE;QAC5C,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
{"version":3,"file":"MainPage.jsx","sourceRoot":"","sources":["../../ext-src/MainPage.jsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CACxB;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CACnB;UAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAChC;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAC3B;;QACF,EAAE,EAAE,CACJ;QAAA,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAC9B;uBAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,kBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;eAC7D,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAE;QACrC,EAAE,EAAE,CAEJ;;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CACtB;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,sBAAsB,CAChC,IAAI,CAAC,4CAA4C,CACjD,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACH;UAAA,CAAC,CAAC,CACA,SAAS,CAAC,uBAAuB,CACjC,IAAI,CAAC,oCAAoC,CACzC,MAAM,CAAC,QAAQ,CACf,GAAG,CAAC,qBAAqB,CAEzB;;UACF,EAAE,CAAC,CACL;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA"}

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

View File

@ -5,6 +5,7 @@
"@testing-library/jest-dom": "^6.3.0",
"@testing-library/react": "^14.1.2",
"@types/express-serve-static-core": "^4.17.13",
"@types/react-router-dom": "^5.3.3",
"@vitest/ui": "^1.2.1",
"axios": "^1.4.0",
"express": "~4.18.1",

View File

@ -2,7 +2,7 @@ import React from 'react'
import { Route, Switch, BrowserRouter as Router } from 'react-router-dom'
import { MainPage } from '../../../../src/MainPage.jsx'
import { MainPage } from '../../../../src/MainPage'
import { routes } from 'wasp/client/router'

View File

@ -7,7 +7,7 @@ app waspMigrate {
route RootRoute { path: "/", to: MainPage }
page MainPage {
component: import { MainPage } from "@src/MainPage.jsx"
component: import { MainPage } from "@src/MainPage"
}
entity Task {=psl
id Int @id @default(autoincrement())

View File

@ -1,7 +1,7 @@
import waspLogo from "./waspLogo.png";
import "./Main.css";
import waspLogo from './waspLogo.png'
import './Main.css'
export function MainPage() {
export const MainPage = () => {
return (
<div className="container">
<main>
@ -10,11 +10,11 @@ export function MainPage() {
</div>
<h2 className="welcome-title">
Welcome to Wasp - you just started a new app!{" "}
Welcome to Wasp - you just started a new app!
</h2>
<h3 className="welcome-subtitle">
This is page <code>MainPage</code> located at route <code>/</code>.
Open <code>src/client/MainPage.jsx</code> to edit it.
Open <code>src/MainPage.jsx</code> to edit it.
</h3>
<div className="buttons">
@ -37,5 +37,5 @@ export function MainPage() {
</div>
</main>
</div>
);
)
}

Some files were not shown because too many files have changed in this diff Show More