mirror of
https://github.com/wasp-lang/wasp.git
synced 2024-09-11 07:16:09 +03:00
Update the tutorial for 0.12.0 (#1799)
This commit is contained in:
parent
c50b0e1f62
commit
1c0bfd20ca
16
examples/tutorials/TodoApp/.gitignore
vendored
16
examples/tutorials/TodoApp/.gitignore
vendored
@ -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.*
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Ignore editor tmp files
|
||||
**/*~
|
||||
**/#*#
|
||||
.DS_Store
|
@ -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]
|
||||
}
|
||||
|
@ -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;
|
@ -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
|
||||
);
|
@ -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");
|
@ -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;
|
7561
examples/tutorials/TodoApp/package-lock.json
generated
Normal file
7561
examples/tutorials/TodoApp/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
13
examples/tutorials/TodoApp/package.json
Normal file
13
examples/tutorials/TodoApp/package.json
Normal 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"
|
||||
}
|
||||
}
|
0
examples/tutorials/TodoApp/public/.gitkeep
Normal file
0
examples/tutorials/TodoApp/public/.gitkeep
Normal 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
|
@ -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
|
@ -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
|
@ -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) {
|
@ -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"
|
||||
],
|
||||
}
|
@ -1 +0,0 @@
|
||||
/// <reference types="../../.wasp/out/web-app/node_modules/vite/client" />
|
@ -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) {
|
@ -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"
|
||||
],
|
||||
}
|
@ -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"]
|
||||
}
|
||||
}
|
1
examples/tutorials/TodoApp/src/vite-env.d.ts
vendored
Normal file
1
examples/tutorials/TodoApp/src/vite-env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
37
examples/tutorials/TodoApp/tsconfig.json
Normal file
37
examples/tutorials/TodoApp/tsconfig.json
Normal 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",
|
||||
}
|
||||
}
|
4
examples/tutorials/TodoAppTs/.gitignore
vendored
4
examples/tutorials/TodoAppTs/.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
/.wasp/
|
||||
.wasp/
|
||||
node_modules/
|
||||
**/.DS_Store
|
||||
|
||||
# We ignore env files recognized and used by Wasp.
|
||||
.env.server
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Ignore editor tmp files
|
||||
**/*~
|
||||
**/#*#
|
||||
.DS_Store
|
@ -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]
|
||||
}
|
||||
}
|
@ -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
|
||||
);
|
@ -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");
|
@ -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;
|
7561
examples/tutorials/TodoAppTs/package-lock.json
generated
Normal file
7561
examples/tutorials/TodoAppTs/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
13
examples/tutorials/TodoAppTs/package.json
Normal file
13
examples/tutorials/TodoAppTs/package.json
Normal 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"
|
||||
}
|
||||
}
|
0
examples/tutorials/TodoAppTs/public/.gitkeep
Normal file
0
examples/tutorials/TodoAppTs/public/.gitkeep
Normal 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
|
@ -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
|
@ -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
|
@ -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'>
|
||||
|
@ -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"
|
||||
],
|
||||
}
|
@ -1 +0,0 @@
|
||||
/// <reference types="../../.wasp/out/web-app/node_modules/vite/client" />
|
@ -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) {
|
@ -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"
|
||||
],
|
||||
}
|
@ -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"]
|
||||
}
|
||||
}
|
1
examples/tutorials/TodoAppTs/src/vite-env.d.ts
vendored
Normal file
1
examples/tutorials/TodoAppTs/src/vite-env.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
37
examples/tutorials/TodoAppTs/tsconfig.json
Normal file
37
examples/tutorials/TodoAppTs/tsconfig.json
Normal 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",
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
],
|
||||
[
|
||||
[
|
||||
|
@ -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"}]}}}
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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'
|
||||
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
],
|
||||
[
|
||||
[
|
||||
|
@ -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"}]}}}
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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'
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
],
|
||||
[
|
||||
[
|
||||
|
@ -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"}]}}}
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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())
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
],
|
||||
[
|
||||
[
|
||||
|
@ -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"}]}}}
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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'
|
||||
|
@ -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,
|
||||
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
],
|
||||
[
|
||||
[
|
||||
|
@ -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"}]}}}
|
@ -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
|
@ -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"}
|
@ -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>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
@ -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",
|
||||
|
@ -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'
|
||||
|
@ -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())
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user