@wasp.sh/wasp-cli-darwin-arm64-unknown 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @wasp.sh/wasp-cli-darwin-arm64-unknown might be problematic. Click here for more details.
- package/data/Cli/bash-completion +5 -0
- package/data/Cli/starters/README.md +22 -0
- package/data/Cli/starters/basic/.prettierignore +2 -0
- package/data/Cli/starters/basic/.prettierrc +3 -0
- package/data/Cli/starters/basic/README.md +35 -0
- package/data/Cli/starters/basic/eslint.config.js +15 -0
- package/data/Cli/starters/basic/main.wasp +100 -0
- package/data/Cli/starters/basic/package.json +27 -0
- package/data/Cli/starters/basic/postcss.config.cjs +6 -0
- package/data/Cli/starters/basic/schema.prisma +42 -0
- package/data/Cli/starters/basic/src/App.css +13 -0
- package/data/Cli/starters/basic/src/App.tsx +12 -0
- package/data/Cli/starters/basic/src/assets/logo.svg +1 -0
- package/data/Cli/starters/basic/src/auth/AuthLayout.tsx +10 -0
- package/data/Cli/starters/basic/src/auth/email/EmailVerificationPage.tsx +19 -0
- package/data/Cli/starters/basic/src/auth/email/LoginPage.tsx +27 -0
- package/data/Cli/starters/basic/src/auth/email/PasswordResetPage.tsx +19 -0
- package/data/Cli/starters/basic/src/auth/email/RequestPasswordResetPage.tsx +10 -0
- package/data/Cli/starters/basic/src/auth/email/SignupPage.tsx +34 -0
- package/data/Cli/starters/basic/src/auth/email/userSignupFields.ts +13 -0
- package/data/Cli/starters/basic/src/shared/components/Button.tsx +90 -0
- package/data/Cli/starters/basic/src/shared/components/Dialog.tsx +85 -0
- package/data/Cli/starters/basic/src/shared/components/Header.tsx +39 -0
- package/data/Cli/starters/basic/src/shared/components/Input.tsx +36 -0
- package/data/Cli/starters/basic/src/shared/components/Portal.tsx +26 -0
- package/data/Cli/starters/basic/src/tags/actions.ts +23 -0
- package/data/Cli/starters/basic/src/tags/components/ColorRadioButton.tsx +44 -0
- package/data/Cli/starters/basic/src/tags/components/ColorRadioButtons.tsx +59 -0
- package/data/Cli/starters/basic/src/tags/components/CreateTagDialog.tsx +50 -0
- package/data/Cli/starters/basic/src/tags/components/CreateTagForm.tsx +100 -0
- package/data/Cli/starters/basic/src/tags/components/TagLabel.tsx +55 -0
- package/data/Cli/starters/basic/src/tags/components/colors.ts +8 -0
- package/data/Cli/starters/basic/src/tags/queries.ts +14 -0
- package/data/Cli/starters/basic/src/tasks/TasksPage.tsx +19 -0
- package/data/Cli/starters/basic/src/tasks/actions.ts +71 -0
- package/data/Cli/starters/basic/src/tasks/components/CreateTaskForm.tsx +103 -0
- package/data/Cli/starters/basic/src/tasks/components/TaskList.tsx +68 -0
- package/data/Cli/starters/basic/src/tasks/components/TaskListItem.tsx +56 -0
- package/data/Cli/starters/basic/src/tasks/queries.ts +21 -0
- package/data/Cli/starters/basic/tailwind.config.cjs +30 -0
- package/data/Cli/starters/basic/vite.config.ts +7 -0
- package/data/Cli/starters/minimal/main.wasp +14 -0
- package/data/Cli/starters/minimal/package.json +16 -0
- package/data/Cli/starters/minimal/schema.prisma +10 -0
- package/data/Cli/starters/minimal/src/Main.css +103 -0
- package/data/Cli/starters/minimal/src/MainPage.tsx +37 -0
- package/data/Cli/starters/minimal/src/assets/logo.svg +1 -0
- package/data/Cli/starters/minimal/vite.config.ts +7 -0
- package/data/Cli/starters/skeleton/.waspignore +4 -0
- package/data/Cli/starters/skeleton/.wasproot +1 -0
- package/data/Cli/starters/skeleton/public/.gitkeep +0 -0
- package/data/Cli/starters/skeleton/public/favicon.ico +0 -0
- package/data/Cli/starters/skeleton/src/vite-env.d.ts +7 -0
- package/data/Cli/starters/skeleton/tsconfig.json +28 -0
- package/data/Generator/templates/Dockerfile +72 -0
- package/data/Generator/templates/db/schema.prisma +24 -0
- package/data/Generator/templates/dockerignore +2 -0
- package/data/Generator/templates/react-app/README.md +21 -0
- package/data/Generator/templates/react-app/gitignore +23 -0
- package/data/Generator/templates/react-app/index.html +22 -0
- package/data/Generator/templates/react-app/netlify.toml +8 -0
- package/data/Generator/templates/react-app/npmrc +1 -0
- package/data/Generator/templates/react-app/package.json +30 -0
- package/data/Generator/templates/react-app/public/manifest.json +15 -0
- package/data/Generator/templates/react-app/src/auth/pages/OAuthCallback.tsx +96 -0
- package/data/Generator/templates/react-app/src/auth/pages/createAuthRequiredPage.jsx +40 -0
- package/data/Generator/templates/react-app/src/components/DefaultRootErrorBoundary.tsx +16 -0
- package/data/Generator/templates/react-app/src/components/FullPageWrapper.tsx +21 -0
- package/data/Generator/templates/react-app/src/components/Loader.module.css +37 -0
- package/data/Generator/templates/react-app/src/components/Loader.tsx +12 -0
- package/data/Generator/templates/react-app/src/components/Message.tsx +86 -0
- package/data/Generator/templates/react-app/src/index.tsx +47 -0
- package/data/Generator/templates/react-app/src/logo.png +0 -0
- package/data/Generator/templates/react-app/src/router.tsx +57 -0
- package/data/Generator/templates/react-app/src/stitches.config.js +33 -0
- package/data/Generator/templates/react-app/src/test/vitest/setup.ts +8 -0
- package/data/Generator/templates/react-app/src/utils.js +3 -0
- package/data/Generator/templates/react-app/src/vite-env.d.ts +1 -0
- package/data/Generator/templates/react-app/tsconfig.app.json +20 -0
- package/data/Generator/templates/react-app/tsconfig.json +11 -0
- package/data/Generator/templates/react-app/tsconfig.vite.json +16 -0
- package/data/Generator/templates/react-app/vite/detectServerImports.ts +53 -0
- package/data/Generator/templates/react-app/vite/validateEnv.ts +45 -0
- package/data/Generator/templates/react-app/vite.config.ts +74 -0
- package/data/Generator/templates/sdk/wasp/api/events.ts +11 -0
- package/data/Generator/templates/sdk/wasp/api/index.ts +136 -0
- package/data/Generator/templates/sdk/wasp/auth/email/actions/login.ts +13 -0
- package/data/Generator/templates/sdk/wasp/auth/email/actions/passwordReset.ts +22 -0
- package/data/Generator/templates/sdk/wasp/auth/email/actions/signup.ts +20 -0
- package/data/Generator/templates/sdk/wasp/auth/email/actions/verifyEmail.ts +14 -0
- package/data/Generator/templates/sdk/wasp/auth/email/index.ts +5 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/Auth.tsx +108 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/ForgotPassword.tsx +18 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/Login.tsx +18 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/ResetPassword.tsx +18 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/Signup.tsx +24 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/VerifyEmail.tsx +18 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/Form.tsx +107 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/Message.tsx +21 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/common/LoginSignupForm.tsx +356 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/email/ForgotPasswordForm.tsx +52 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/email/ResetPasswordForm.tsx +82 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/email/VerifyEmailForm.tsx +42 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/email/useEmail.ts +33 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialButton.tsx +33 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/social/SocialIcons.tsx +78 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/internal/usernameAndPassword/useUsernameAndPassword.ts +29 -0
- package/data/Generator/templates/sdk/wasp/auth/forms/types.ts +52 -0
- package/data/Generator/templates/sdk/wasp/auth/helpers/_Provider.tsx +17 -0
- package/data/Generator/templates/sdk/wasp/auth/helpers/user.ts +15 -0
- package/data/Generator/templates/sdk/wasp/auth/index.ts +9 -0
- package/data/Generator/templates/sdk/wasp/auth/jwt.ts +22 -0
- package/data/Generator/templates/sdk/wasp/auth/logout.ts +18 -0
- package/data/Generator/templates/sdk/wasp/auth/lucia.ts +53 -0
- package/data/Generator/templates/sdk/wasp/auth/password.ts +36 -0
- package/data/Generator/templates/sdk/wasp/auth/providers/index.ts +9 -0
- package/data/Generator/templates/sdk/wasp/auth/providers/types.ts +68 -0
- package/data/Generator/templates/sdk/wasp/auth/session.ts +78 -0
- package/data/Generator/templates/sdk/wasp/auth/types.ts +2 -0
- package/data/Generator/templates/sdk/wasp/auth/useAuth.ts +37 -0
- package/data/Generator/templates/sdk/wasp/auth/user.ts +63 -0
- package/data/Generator/templates/sdk/wasp/auth/username/actions/login.ts +13 -0
- package/data/Generator/templates/sdk/wasp/auth/username/actions/signup.ts +20 -0
- package/data/Generator/templates/sdk/wasp/auth/username/index.ts +2 -0
- package/data/Generator/templates/sdk/wasp/auth/utils.ts +369 -0
- package/data/Generator/templates/sdk/wasp/auth/validation.ts +83 -0
- package/data/Generator/templates/sdk/wasp/client/auth/discord.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/auth/email.ts +5 -0
- package/data/Generator/templates/sdk/wasp/client/auth/github.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/auth/google.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/auth/index.ts +29 -0
- package/data/Generator/templates/sdk/wasp/client/auth/keycloak.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/auth/slack.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/auth/ui.ts +32 -0
- package/data/Generator/templates/sdk/wasp/client/auth/username.ts +2 -0
- package/data/Generator/templates/sdk/wasp/client/config.ts +14 -0
- package/data/Generator/templates/sdk/wasp/client/crud/_crud.ts +89 -0
- package/data/Generator/templates/sdk/wasp/client/crud/index.ts +4 -0
- package/data/Generator/templates/sdk/wasp/client/crud/operationsHelpers.ts +21 -0
- package/data/Generator/templates/sdk/wasp/client/env/schema.ts +22 -0
- package/data/Generator/templates/sdk/wasp/client/env.ts +5 -0
- package/data/Generator/templates/sdk/wasp/client/index.ts +17 -0
- package/data/Generator/templates/sdk/wasp/client/operations/actions/core.ts +49 -0
- package/data/Generator/templates/sdk/wasp/client/operations/actions/index.ts +13 -0
- package/data/Generator/templates/sdk/wasp/client/operations/hooks.ts +347 -0
- package/data/Generator/templates/sdk/wasp/client/operations/index.ts +22 -0
- package/data/Generator/templates/sdk/wasp/client/operations/internal/index.ts +22 -0
- package/data/Generator/templates/sdk/wasp/client/operations/internal/resources.js +83 -0
- package/data/Generator/templates/sdk/wasp/client/operations/internal/updateHandlersMap.js +37 -0
- package/data/Generator/templates/sdk/wasp/client/operations/queries/core.ts +91 -0
- package/data/Generator/templates/sdk/wasp/client/operations/queries/index.ts +16 -0
- package/data/Generator/templates/sdk/wasp/client/operations/queryClient.ts +34 -0
- package/data/Generator/templates/sdk/wasp/client/operations/rpc.ts +96 -0
- package/data/Generator/templates/sdk/wasp/client/router/Link.tsx +21 -0
- package/data/Generator/templates/sdk/wasp/client/router/index.ts +53 -0
- package/data/Generator/templates/sdk/wasp/client/router/linkHelpers.ts +48 -0
- package/data/Generator/templates/sdk/wasp/client/router/types.ts +98 -0
- package/data/Generator/templates/sdk/wasp/client/test/index.ts +1 -0
- package/data/Generator/templates/sdk/wasp/client/test/vitest/helpers.tsx +95 -0
- package/data/Generator/templates/sdk/wasp/client/webSocket/WebSocketProvider.tsx +77 -0
- package/data/Generator/templates/sdk/wasp/client/webSocket/index.ts +39 -0
- package/data/Generator/templates/sdk/wasp/core/auth.ts +40 -0
- package/data/Generator/templates/sdk/wasp/core/serialization/custom-register.ts +21 -0
- package/data/Generator/templates/sdk/wasp/core/serialization/index.ts +56 -0
- package/data/Generator/templates/sdk/wasp/core/serialization/prisma.ts +54 -0
- package/data/Generator/templates/sdk/wasp/core/stitches.config.ts +39 -0
- package/data/Generator/templates/sdk/wasp/core/storage.ts +50 -0
- package/data/Generator/templates/sdk/wasp/dev/index.ts +19 -0
- package/data/Generator/templates/sdk/wasp/entities/index.ts +28 -0
- package/data/Generator/templates/sdk/wasp/env/index.ts +9 -0
- package/data/Generator/templates/sdk/wasp/env/validation.ts +38 -0
- package/data/Generator/templates/sdk/wasp/package.json +151 -0
- package/data/Generator/templates/sdk/wasp/prisma-runtime-library.d.ts +17 -0
- package/data/Generator/templates/sdk/wasp/server/HttpError.ts +30 -0
- package/data/Generator/templates/sdk/wasp/server/_types/index.ts +105 -0
- package/data/Generator/templates/sdk/wasp/server/_types/taggedEntities.ts +26 -0
- package/data/Generator/templates/sdk/wasp/server/api/index.ts +44 -0
- package/data/Generator/templates/sdk/wasp/server/auth/email/index.ts +20 -0
- package/data/Generator/templates/sdk/wasp/server/auth/email/utils.ts +104 -0
- package/data/Generator/templates/sdk/wasp/server/auth/hooks.ts +188 -0
- package/data/Generator/templates/sdk/wasp/server/auth/index.ts +49 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/index.ts +38 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/oneTimeCode.ts +50 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/provider.ts +20 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/providers/discord.ts +22 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/providers/github.ts +20 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/providers/google.ts +22 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/providers/keycloak.ts +23 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/providers/slack.ts +22 -0
- package/data/Generator/templates/sdk/wasp/server/auth/oauth/redirect.ts +43 -0
- package/data/Generator/templates/sdk/wasp/server/auth/user.ts +148 -0
- package/data/Generator/templates/sdk/wasp/server/auth/username.ts +1 -0
- package/data/Generator/templates/sdk/wasp/server/config.ts +47 -0
- package/data/Generator/templates/sdk/wasp/server/crud/_operationTypes.ts +134 -0
- package/data/Generator/templates/sdk/wasp/server/crud/index.ts +5 -0
- package/data/Generator/templates/sdk/wasp/server/dbClient.ts +35 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/helpers.ts +40 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/index.ts +17 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/dummy.ts +34 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/mailgun.ts +31 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/sendgrid.ts +44 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/providers/smtp.ts +29 -0
- package/data/Generator/templates/sdk/wasp/server/email/core/types.ts +59 -0
- package/data/Generator/templates/sdk/wasp/server/email/index.ts +39 -0
- package/data/Generator/templates/sdk/wasp/server/env.ts +168 -0
- package/data/Generator/templates/sdk/wasp/server/index.ts +17 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/_job.ts +39 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/core/job.ts +28 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/index.ts +3 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/pgBoss.ts +76 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/pgBossJob.ts +230 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/core/pgBoss/types.ts +9 -0
- package/data/Generator/templates/sdk/wasp/server/jobs/index.ts +5 -0
- package/data/Generator/templates/sdk/wasp/server/middleware/globalMiddleware.ts +8 -0
- package/data/Generator/templates/sdk/wasp/server/middleware/index.ts +1 -0
- package/data/Generator/templates/sdk/wasp/server/operations/actions/index.ts +41 -0
- package/data/Generator/templates/sdk/wasp/server/operations/actions/types.ts +35 -0
- package/data/Generator/templates/sdk/wasp/server/operations/index.ts +13 -0
- package/data/Generator/templates/sdk/wasp/server/operations/queries/index.ts +42 -0
- package/data/Generator/templates/sdk/wasp/server/operations/queries/types.ts +36 -0
- package/data/Generator/templates/sdk/wasp/server/operations/wrappers.ts +242 -0
- package/data/Generator/templates/sdk/wasp/server/types/index.ts +11 -0
- package/data/Generator/templates/sdk/wasp/server/utils.ts +38 -0
- package/data/Generator/templates/sdk/wasp/server/webSocket/index.ts +57 -0
- package/data/Generator/templates/sdk/wasp/tsconfig.json +114 -0
- package/data/Generator/templates/sdk/wasp/universal/ansiColors.ts +14 -0
- package/data/Generator/templates/sdk/wasp/universal/predicates.ts +3 -0
- package/data/Generator/templates/sdk/wasp/universal/types.ts +74 -0
- package/data/Generator/templates/sdk/wasp/universal/url.ts +5 -0
- package/data/Generator/templates/sdk/wasp/universal/validators.ts +21 -0
- package/data/Generator/templates/sdk/wasp/vite-env.d.ts +1 -0
- package/data/Generator/templates/server/README.md +1 -0
- package/data/Generator/templates/server/gitignore +6 -0
- package/data/Generator/templates/server/nodemon.json +13 -0
- package/data/Generator/templates/server/npmrc +1 -0
- package/data/Generator/templates/server/package.json +27 -0
- package/data/Generator/templates/server/rollup.config.js +44 -0
- package/data/Generator/templates/server/src/actions/_action.ts +18 -0
- package/data/Generator/templates/server/src/app.js +36 -0
- package/data/Generator/templates/server/src/auth/hooks.ts +135 -0
- package/data/Generator/templates/server/src/auth/providers/config/discord.ts +69 -0
- package/data/Generator/templates/server/src/auth/providers/config/email.ts +96 -0
- package/data/Generator/templates/server/src/auth/providers/config/github.ts +78 -0
- package/data/Generator/templates/server/src/auth/providers/config/google.ts +65 -0
- package/data/Generator/templates/server/src/auth/providers/config/keycloak.ts +67 -0
- package/data/Generator/templates/server/src/auth/providers/config/slack.ts +65 -0
- package/data/Generator/templates/server/src/auth/providers/config/username.ts +33 -0
- package/data/Generator/templates/server/src/auth/providers/email/login.ts +66 -0
- package/data/Generator/templates/server/src/auth/providers/email/requestPasswordReset.ts +74 -0
- package/data/Generator/templates/server/src/auth/providers/email/resetPassword.ts +48 -0
- package/data/Generator/templates/server/src/auth/providers/email/signup.ts +165 -0
- package/data/Generator/templates/server/src/auth/providers/email/verifyEmail.ts +42 -0
- package/data/Generator/templates/server/src/auth/providers/index.ts +32 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/config.ts +19 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/cookies.ts +35 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/handler.ts +130 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/oneTimeCode.ts +39 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/state.ts +144 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/types.ts +7 -0
- package/data/Generator/templates/server/src/auth/providers/oauth/user.ts +139 -0
- package/data/Generator/templates/server/src/auth/providers/username/login.ts +64 -0
- package/data/Generator/templates/server/src/auth/providers/username/signup.ts +59 -0
- package/data/Generator/templates/server/src/crud/_operations.ts +184 -0
- package/data/Generator/templates/server/src/dbSeed.ts +37 -0
- package/data/Generator/templates/server/src/jobs/_job.ts +9 -0
- package/data/Generator/templates/server/src/jobs/core/allJobs.ts +8 -0
- package/data/Generator/templates/server/src/middleware/globalMiddleware.ts +45 -0
- package/data/Generator/templates/server/src/middleware/index.ts +1 -0
- package/data/Generator/templates/server/src/middleware/operations.ts +28 -0
- package/data/Generator/templates/server/src/queries/_query.ts +18 -0
- package/data/Generator/templates/server/src/routes/apis/index.ts +67 -0
- package/data/Generator/templates/server/src/routes/auth/index.js +16 -0
- package/data/Generator/templates/server/src/routes/auth/logout.ts +12 -0
- package/data/Generator/templates/server/src/routes/auth/me.ts +10 -0
- package/data/Generator/templates/server/src/routes/crud/_crud.ts +46 -0
- package/data/Generator/templates/server/src/routes/crud/index.ts +12 -0
- package/data/Generator/templates/server/src/routes/index.js +37 -0
- package/data/Generator/templates/server/src/routes/operations/_action.js +5 -0
- package/data/Generator/templates/server/src/routes/operations/_query.js +5 -0
- package/data/Generator/templates/server/src/routes/operations/index.js +18 -0
- package/data/Generator/templates/server/src/server.ts +76 -0
- package/data/Generator/templates/server/src/webSocket/initialization.ts +59 -0
- package/data/Generator/templates/server/tsconfig.json +41 -0
- package/data/Lsp/templates/ts/action.fn.ts +12 -0
- package/data/Lsp/templates/ts/operation.fn.js +7 -0
- package/data/Lsp/templates/ts/page.component.jsx +9 -0
- package/data/Lsp/templates/ts/query.fn.ts +12 -0
- package/main.js +9 -0
- package/package.json +1 -0
- package/readme.md +3 -0
- package/wasp-bin +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { twJoin } from "tailwind-merge";
|
|
2
|
+
import { updateTaskStatus } from "wasp/client/operations";
|
|
3
|
+
import { TagLabel } from "../../tags/components/TagLabel";
|
|
4
|
+
import { TaskWithTags } from "../queries";
|
|
5
|
+
|
|
6
|
+
interface TaskListItemProps {
|
|
7
|
+
task: TaskWithTags;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function TaskListItem({ task }: TaskListItemProps) {
|
|
11
|
+
async function setTaskDone(
|
|
12
|
+
event: React.ChangeEvent<HTMLInputElement>,
|
|
13
|
+
): Promise<void> {
|
|
14
|
+
try {
|
|
15
|
+
await updateTaskStatus({
|
|
16
|
+
id: task.id,
|
|
17
|
+
isDone: event.currentTarget.checked,
|
|
18
|
+
});
|
|
19
|
+
} catch (err: unknown) {
|
|
20
|
+
window.alert(`Error while updating task: ${String(err)}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<li>
|
|
26
|
+
<label
|
|
27
|
+
className={twJoin(
|
|
28
|
+
"card flex w-full flex-wrap items-center justify-between gap-4 rounded-lg px-6 py-3",
|
|
29
|
+
task.isDone ? "bg-primary-50" : "bg-neutral-50",
|
|
30
|
+
)}
|
|
31
|
+
>
|
|
32
|
+
<div className="flex min-w-0 items-center gap-4">
|
|
33
|
+
<input
|
|
34
|
+
type="checkbox"
|
|
35
|
+
className="h-5 w-5 shrink-0 accent-primary-500"
|
|
36
|
+
checked={task.isDone}
|
|
37
|
+
onChange={setTaskDone}
|
|
38
|
+
/>
|
|
39
|
+
<div className="flex min-w-0 flex-col break-words">
|
|
40
|
+
<p>{task.description}</p>
|
|
41
|
+
<span className="text-xs text-neutral-500">
|
|
42
|
+
{task.createdAt.toLocaleDateString()}
|
|
43
|
+
</span>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<ul className="flex flex-wrap gap-x-2">
|
|
47
|
+
{task.tags.map((tag) => (
|
|
48
|
+
<li key={tag.id}>
|
|
49
|
+
<TagLabel tag={tag} isActive={true} size="tiny" />
|
|
50
|
+
</li>
|
|
51
|
+
))}
|
|
52
|
+
</ul>
|
|
53
|
+
</label>
|
|
54
|
+
</li>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Tag, Task } from "wasp/entities";
|
|
2
|
+
import { HttpError } from "wasp/server";
|
|
3
|
+
import { type GetTasks } from "wasp/server/operations";
|
|
4
|
+
|
|
5
|
+
export type TaskWithTags = Task & { tags: Tag[] };
|
|
6
|
+
|
|
7
|
+
export const getTasks: GetTasks<void, TaskWithTags[]> = (_args, context) => {
|
|
8
|
+
if (!context.user) {
|
|
9
|
+
throw new HttpError(401);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return context.entities.Task.findMany({
|
|
13
|
+
where: { user: { id: context.user.id } },
|
|
14
|
+
orderBy: { createdAt: "desc" },
|
|
15
|
+
include: {
|
|
16
|
+
tags: {
|
|
17
|
+
orderBy: { name: "asc" },
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { resolveProjectPath } from "wasp/dev";
|
|
2
|
+
|
|
3
|
+
/** @type {import('tailwindcss').Config} */
|
|
4
|
+
module.exports = {
|
|
5
|
+
content: [resolveProjectPath("./src/**/*.{js,jsx,ts,tsx}")],
|
|
6
|
+
theme: {
|
|
7
|
+
extend: {
|
|
8
|
+
fontSize: {
|
|
9
|
+
"tiny": ["0.625rem", "1rem"], // 10px
|
|
10
|
+
},
|
|
11
|
+
colors: {
|
|
12
|
+
// Created using https://www.tints.dev
|
|
13
|
+
primary: {
|
|
14
|
+
50: "#FFFBEB",
|
|
15
|
+
100: "#FFF7D6",
|
|
16
|
+
200: "#FFEFAD",
|
|
17
|
+
300: "#FFE680",
|
|
18
|
+
400: "#FFDA47",
|
|
19
|
+
500: "#FFCC00",
|
|
20
|
+
600: "#E6B800",
|
|
21
|
+
700: "#CCA300",
|
|
22
|
+
800: "#A88700",
|
|
23
|
+
900: "#7A6200",
|
|
24
|
+
950: "#574500"
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
plugins: [],
|
|
30
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
app __waspAppName__ {
|
|
2
|
+
wasp: {
|
|
3
|
+
version: "__waspVersion__"
|
|
4
|
+
},
|
|
5
|
+
title: "__waspProjectName__",
|
|
6
|
+
head: [
|
|
7
|
+
"<link rel='icon' href='/favicon.ico' />",
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
route RootRoute { path: "/", to: MainPage }
|
|
12
|
+
page MainPage {
|
|
13
|
+
component: import { MainPage } from "@src/MainPage"
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "__waspAppName__",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"react": "^18.2.0",
|
|
6
|
+
"react-dom": "^18.2.0",
|
|
7
|
+
"react-router-dom": "^6.26.2",
|
|
8
|
+
"wasp": "file:.wasp/out/sdk/wasp"
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@types/react": "^18.0.37",
|
|
12
|
+
"prisma": "5.19.1",
|
|
13
|
+
"typescript": "5.8.2",
|
|
14
|
+
"vite": "^4.3.9"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
datasource db {
|
|
2
|
+
provider = "sqlite"
|
|
3
|
+
// Wasp requires that the url is set to the DATABASE_URL environment variable.
|
|
4
|
+
url = env("DATABASE_URL")
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// Wasp requires the `prisma-client-js` generator to be present.
|
|
8
|
+
generator client {
|
|
9
|
+
provider = "prisma-client-js"
|
|
10
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
* {
|
|
2
|
+
-webkit-font-smoothing: antialiased;
|
|
3
|
+
-moz-osx-font-smoothing: grayscale;
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
margin: 0;
|
|
6
|
+
padding: 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
body {
|
|
10
|
+
font-family:
|
|
11
|
+
-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu",
|
|
12
|
+
"Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
#root {
|
|
16
|
+
min-height: 100vh;
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
align-items: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.container {
|
|
24
|
+
margin: 3rem 3rem 10rem 3rem;
|
|
25
|
+
max-width: 726px;
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: column;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
text-align: center;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.logo {
|
|
34
|
+
max-height: 200px;
|
|
35
|
+
margin-bottom: 1rem;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.title {
|
|
39
|
+
font-size: 4rem;
|
|
40
|
+
font-weight: 700;
|
|
41
|
+
margin-bottom: 1rem;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.content {
|
|
45
|
+
font-size: 1.2rem;
|
|
46
|
+
font-weight: 400;
|
|
47
|
+
line-height: 2;
|
|
48
|
+
margin-bottom: 3rem;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.buttons {
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: row;
|
|
54
|
+
gap: 1rem;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.button {
|
|
58
|
+
font-size: 1.2rem;
|
|
59
|
+
font-weight: 700;
|
|
60
|
+
text-decoration: none;
|
|
61
|
+
padding: 1.2rem 1.5rem;
|
|
62
|
+
border-radius: 10px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.button-filled {
|
|
66
|
+
color: black;
|
|
67
|
+
background-color: #ffcc00;
|
|
68
|
+
border: 2px solid #ffcc00;
|
|
69
|
+
|
|
70
|
+
transition: all 0.2s ease-in-out;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.button-filled:hover {
|
|
74
|
+
filter: brightness(0.95);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.button-outlined {
|
|
78
|
+
color: black;
|
|
79
|
+
background-color: transparent;
|
|
80
|
+
border: 2px solid #ffcc00;
|
|
81
|
+
|
|
82
|
+
transition: all 0.2s ease-in-out;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.button-outlined:hover {
|
|
86
|
+
filter: brightness(0.95);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
code {
|
|
90
|
+
border-radius: 5px;
|
|
91
|
+
border: 1px solid #ffcc00;
|
|
92
|
+
padding: 0.2rem;
|
|
93
|
+
background: #ffcc0044;
|
|
94
|
+
font-family:
|
|
95
|
+
Menlo,
|
|
96
|
+
Monaco,
|
|
97
|
+
Lucida Console,
|
|
98
|
+
Liberation Mono,
|
|
99
|
+
DejaVu Sans Mono,
|
|
100
|
+
Bitstream Vera Sans Mono,
|
|
101
|
+
Courier New,
|
|
102
|
+
monospace;
|
|
103
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import Logo from "./assets/logo.svg";
|
|
2
|
+
import "./Main.css";
|
|
3
|
+
|
|
4
|
+
export function MainPage() {
|
|
5
|
+
return (
|
|
6
|
+
<main className="container">
|
|
7
|
+
<img className="logo" src={Logo} alt="wasp" />
|
|
8
|
+
|
|
9
|
+
<h2 className="title">Welcome to Wasp!</h2>
|
|
10
|
+
|
|
11
|
+
<p className="content">
|
|
12
|
+
This is page <code>MainPage</code> located at route <code>/</code>.
|
|
13
|
+
<br />
|
|
14
|
+
Open <code>src/MainPage.tsx</code> to edit it.
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<div className="buttons">
|
|
18
|
+
<a
|
|
19
|
+
className="button button-filled"
|
|
20
|
+
href="https://wasp.sh/docs/tutorial/create"
|
|
21
|
+
target="_blank"
|
|
22
|
+
rel="noreferrer noopener"
|
|
23
|
+
>
|
|
24
|
+
Take the Tutorial
|
|
25
|
+
</a>
|
|
26
|
+
<a
|
|
27
|
+
className="button button-outlined"
|
|
28
|
+
href="https://discord.com/invite/rzdnErX"
|
|
29
|
+
target="_blank"
|
|
30
|
+
rel="noreferrer noopener"
|
|
31
|
+
>
|
|
32
|
+
Chat on Discord
|
|
33
|
+
</a>
|
|
34
|
+
</div>
|
|
35
|
+
</main>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 161 161"><defs><style>.cls-1{fill:#f5cc05;}.cls-2{fill-rule:evenodd;}</style></defs><g id="Page-1"><g id="Group-23"><circle id="Oval" class="cls-1" cx="80.5" cy="80.5" r="79"/><g id="Group-36"><g id="_" data-name="}"><path id="path-2" class="cls-2" d="M88.67,114.33h2.91q6,0,7.87-1.89c1.22-1.25,1.83-3.9,1.83-7.93V93.89c0-4.46.65-7.7,1.93-9.73s3.51-3.43,6.67-4.2q-4.69-1.08-6.65-4.12c-1.3-2-2-5.28-2-9.77V55.44q0-6-1.83-7.93t-7.87-1.88H88.67V39.5h2.65q10.65,0,14.24,3.15t3.59,12.62V65.56c0,4.28.77,7.24,2.29,8.87s4.3,2.44,8.32,2.44h2.74V83h-2.74q-6,0-8.32,2.49c-1.52,1.65-2.29,4.64-2.29,9v10.25q0,9.47-3.59,12.64T91.32,120.5H88.67Z"/><path id="path-2-2" data-name="path-2" class="cls-2" d="M88.67,114.33h2.91q6,0,7.87-1.89c1.22-1.25,1.83-3.9,1.83-7.93V93.89c0-4.46.65-7.7,1.93-9.73s3.51-3.43,6.67-4.2q-4.69-1.08-6.65-4.12c-1.3-2-2-5.28-2-9.77V55.44q0-6-1.83-7.93t-7.87-1.88H88.67V39.5h2.65q10.65,0,14.24,3.15t3.59,12.62V65.56c0,4.28.77,7.24,2.29,8.87s4.3,2.44,8.32,2.44h2.74V83h-2.74q-6,0-8.32,2.49c-1.52,1.65-2.29,4.64-2.29,9v10.25q0,9.47-3.59,12.64T91.32,120.5H88.67Z"/></g><g id="text831"><g id="_2" data-name="="><path id="path-3" class="cls-2" d="M38.5,85.15H75.83v7.58H38.5Zm0-17.88H75.83v7.49H38.5Z"/><path id="path-3-2" data-name="path-3" class="cls-2" d="M38.5,85.15H75.83v7.58H38.5Zm0-17.88H75.83v7.49H38.5Z"/></g></g></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
File marking the root of Wasp project.
|
|
File without changes
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
|
|
3
|
+
// This is needed to properly support Vitest testing with jest-dom matchers.
|
|
4
|
+
// Types for jest-dom are not recognized automatically and Typescript complains
|
|
5
|
+
// about missing types e.g. when using `toBeInTheDocument` and other matchers.
|
|
6
|
+
// Reference: https://github.com/testing-library/jest-dom/issues/546#issuecomment-1889884843
|
|
7
|
+
import "@testing-library/jest-dom";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// =============================== IMPORTANT =================================
|
|
2
|
+
// This file is mainly used for Wasp IDE support.
|
|
3
|
+
//
|
|
4
|
+
// Wasp will compile your code with slightly different (less strict) compilerOptions.
|
|
5
|
+
// You can increase the configuration's strictness (e.g., by adding
|
|
6
|
+
// "noUncheckedIndexedAccess": true), but you shouldn't reduce it (e.g., by
|
|
7
|
+
// adding "strict": false). Just keep in mind that this will only affect your
|
|
8
|
+
// IDE support, not the actual compilation.
|
|
9
|
+
//
|
|
10
|
+
// Full TypeScript configurability is coming very soon :)
|
|
11
|
+
{
|
|
12
|
+
"compilerOptions": {
|
|
13
|
+
"module": "esnext",
|
|
14
|
+
"composite": true,
|
|
15
|
+
"target": "esnext",
|
|
16
|
+
"moduleResolution": "bundler",
|
|
17
|
+
"jsx": "preserve",
|
|
18
|
+
"strict": true,
|
|
19
|
+
"esModuleInterop": true,
|
|
20
|
+
"isolatedModules": true,
|
|
21
|
+
"moduleDetection": "force",
|
|
22
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
23
|
+
"skipLibCheck": true,
|
|
24
|
+
"allowJs": true,
|
|
25
|
+
"outDir": ".wasp/out/user"
|
|
26
|
+
},
|
|
27
|
+
"include": ["src"]
|
|
28
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{{={= =}=}}
|
|
2
|
+
# NOTE: Why do we specify alpine version here?
|
|
3
|
+
# Because if not, we had situations where it would use the different version
|
|
4
|
+
# locally and on Github CI. This way we ensure exact version is used,
|
|
5
|
+
# and also have control over updating it (instead of update surprising us).
|
|
6
|
+
FROM node:{= nodeVersion =}-alpine3.17 AS node
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# We split Dockerfile into base, server-builder and server-production.
|
|
10
|
+
# This way we have separate situations -> in server-builder we build all
|
|
11
|
+
# we need to run the server, and then in server-production we start fresh
|
|
12
|
+
# and just copy what we need from server-builder, avoiding intermediate
|
|
13
|
+
# artifacts and any settings / pollution we don't need in production
|
|
14
|
+
# but only for building.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
FROM node AS base
|
|
18
|
+
RUN apk --no-cache -U upgrade # To ensure any potential security patches are applied.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Todo: The 'server-builder' image stays on disk under <none>:<none> and is
|
|
22
|
+
# relatively large (~900 MB), should we remove it? Or is it useful for future
|
|
23
|
+
# builds?
|
|
24
|
+
FROM base AS server-builder
|
|
25
|
+
# Building the Docker image on Apple's Silicon Mac fails without python3 (the build
|
|
26
|
+
# throws `node-gyp` errors when it tries to compile native deps. Installing
|
|
27
|
+
# `python3` fixes the issue.
|
|
28
|
+
RUN apk add --no-cache python3 build-base libtool autoconf automake
|
|
29
|
+
WORKDIR /app
|
|
30
|
+
# Since the framwork code in /.wasp/build/server imports the user code in /src
|
|
31
|
+
# using relative imports, we must mirror the same directory structure in the
|
|
32
|
+
# Docker image.
|
|
33
|
+
COPY src ./src
|
|
34
|
+
COPY package.json .
|
|
35
|
+
COPY package-lock.json .
|
|
36
|
+
COPY tsconfig*.json .
|
|
37
|
+
COPY server .wasp/build/server
|
|
38
|
+
COPY sdk .wasp/out/sdk
|
|
39
|
+
# Install npm packages, resulting in node_modules/.
|
|
40
|
+
RUN npm install && cd .wasp/build/server && npm install
|
|
41
|
+
{=# usingPrisma =}
|
|
42
|
+
COPY db/schema.prisma .wasp/build/db/
|
|
43
|
+
RUN cd .wasp/build/server && npx prisma generate --schema='{= dbSchemaFileFromServerDir =}'
|
|
44
|
+
{=/ usingPrisma =}
|
|
45
|
+
# Building the server should come after Prisma generation.
|
|
46
|
+
RUN cd .wasp/build/server && npm run bundle
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# TODO: Use pm2?
|
|
50
|
+
# TODO: Use non-root user (node).
|
|
51
|
+
FROM base AS server-production
|
|
52
|
+
# In case they want to use python3 in their app.
|
|
53
|
+
RUN apk add --no-cache python3
|
|
54
|
+
ENV NODE_ENV=production
|
|
55
|
+
WORKDIR /app
|
|
56
|
+
# Copying the top level 'node_modules' because it contains the Prisma packages
|
|
57
|
+
# necessary for migrating the database.
|
|
58
|
+
COPY --from=server-builder /app/node_modules ./node_modules
|
|
59
|
+
# Copying 'server/node_modules' because we require dotenv package to
|
|
60
|
+
# load environment variables
|
|
61
|
+
# TODO: replace dotenv with native Node.js environment variable loading
|
|
62
|
+
COPY --from=server-builder /app/.wasp/build/server/node_modules .wasp/build/server/node_modules
|
|
63
|
+
COPY --from=server-builder /app/.wasp/build/server/bundle .wasp/build/server/bundle
|
|
64
|
+
COPY --from=server-builder /app/.wasp/build/server/package*.json .wasp/build/server/
|
|
65
|
+
COPY db/ .wasp/build/db/
|
|
66
|
+
EXPOSE ${PORT}
|
|
67
|
+
WORKDIR /app/.wasp/build/server
|
|
68
|
+
ENTRYPOINT ["npm", "run", "start-production"]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# Any user-defined Dockerfile contents will be appended below.
|
|
72
|
+
{=& userDockerfile =}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{{={= =}=}}
|
|
2
|
+
|
|
3
|
+
{=& datasourceSchema =}
|
|
4
|
+
|
|
5
|
+
{=# generatorSchemas =}
|
|
6
|
+
{=& . =}
|
|
7
|
+
{=/ generatorSchemas =}
|
|
8
|
+
|
|
9
|
+
{=# modelSchemas =}
|
|
10
|
+
{=& . =}
|
|
11
|
+
|
|
12
|
+
{=/ modelSchemas =}
|
|
13
|
+
{=# enumSchemas =}
|
|
14
|
+
{=& . =}
|
|
15
|
+
|
|
16
|
+
{=/ enumSchemas =}
|
|
17
|
+
{=# viewSchemas =}
|
|
18
|
+
{=& . =}
|
|
19
|
+
|
|
20
|
+
{=/ viewSchemas =}
|
|
21
|
+
{=# typeSchemas =}
|
|
22
|
+
{=& . =}
|
|
23
|
+
|
|
24
|
+
{=/ typeSchemas =}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
This project was bootstrapped with [Vite's React TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts).
|
|
2
|
+
|
|
3
|
+
## Available Scripts
|
|
4
|
+
|
|
5
|
+
In the project directory, you can run:
|
|
6
|
+
|
|
7
|
+
### `npm start`
|
|
8
|
+
|
|
9
|
+
Runs the app in development mode.<br>
|
|
10
|
+
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
|
|
11
|
+
|
|
12
|
+
The page will reload if you make edits.<br>
|
|
13
|
+
You will also see any lint errors in the console.
|
|
14
|
+
|
|
15
|
+
### `npm run build`
|
|
16
|
+
|
|
17
|
+
Builds the app for production to the `build` folder.<br>
|
|
18
|
+
It correctly bundles React in production mode and optimizes the build for the best performance.
|
|
19
|
+
|
|
20
|
+
The build is minified and the filenames include the hashes.<br>
|
|
21
|
+
Your app is ready to be deployed!
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
2
|
+
|
|
3
|
+
# dependencies
|
|
4
|
+
/node_modules
|
|
5
|
+
/.pnp
|
|
6
|
+
.pnp.js
|
|
7
|
+
|
|
8
|
+
# testing
|
|
9
|
+
/coverage
|
|
10
|
+
|
|
11
|
+
# production
|
|
12
|
+
/build
|
|
13
|
+
|
|
14
|
+
# misc
|
|
15
|
+
.DS_Store
|
|
16
|
+
.env.local
|
|
17
|
+
.env.development.local
|
|
18
|
+
.env.test.local
|
|
19
|
+
.env.production.local
|
|
20
|
+
|
|
21
|
+
npm-debug.log*
|
|
22
|
+
yarn-debug.log*
|
|
23
|
+
yarn-error.log*
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{{={= =}=}}
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<meta
|
|
7
|
+
name="viewport"
|
|
8
|
+
content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no"
|
|
9
|
+
/>
|
|
10
|
+
<link rel="manifest" href="/manifest.json" />
|
|
11
|
+
|
|
12
|
+
{=& head =}
|
|
13
|
+
|
|
14
|
+
<title>{= title =}</title>
|
|
15
|
+
</head>
|
|
16
|
+
|
|
17
|
+
<body>
|
|
18
|
+
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
19
|
+
<div id="root"></div>
|
|
20
|
+
<script type="module" src="/src/index.tsx"></script>
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
engine-strict=true
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{{={= =}=}}
|
|
2
|
+
{
|
|
3
|
+
"name": "{= appName =}",
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"private": true,
|
|
6
|
+
"type": "module",
|
|
7
|
+
{=& depsChunk =},
|
|
8
|
+
{=& devDepsChunk =},
|
|
9
|
+
{=& overridesChunk =},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "vite",
|
|
12
|
+
"build": "tsc --build && vite build"
|
|
13
|
+
},
|
|
14
|
+
"engineStrict": true,
|
|
15
|
+
"engines": {
|
|
16
|
+
"node": "{=& nodeVersionRange =}"
|
|
17
|
+
},
|
|
18
|
+
"browserslist": {
|
|
19
|
+
"production": [
|
|
20
|
+
">0.2%",
|
|
21
|
+
"not dead",
|
|
22
|
+
"not op_mini all"
|
|
23
|
+
],
|
|
24
|
+
"development": [
|
|
25
|
+
"last 1 chrome version",
|
|
26
|
+
"last 1 firefox version",
|
|
27
|
+
"last 1 safari version"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{{={= =}=}}
|
|
2
|
+
{
|
|
3
|
+
"name": "{= appName =}",
|
|
4
|
+
"icons": [
|
|
5
|
+
{
|
|
6
|
+
"src": "favicon.ico",
|
|
7
|
+
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
+
"type": "image/x-icon"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"start_url": ".",
|
|
12
|
+
"display": "standalone",
|
|
13
|
+
"theme_color": "#000000",
|
|
14
|
+
"background_color": "#ffffff"
|
|
15
|
+
}
|