├── docs ├── static │ ├── .nojekyll │ └── img │ │ ├── favicon.ico │ │ ├── docusuarus.png │ │ ├── facebook_unfurl.png │ │ ├── mailer │ │ ├── local_inbox.png │ │ └── template_preview.png │ │ ├── uploads │ │ └── uploads-flow.png │ │ ├── router │ │ ├── cell_req_error.png │ │ ├── fatal_error_message.png │ │ ├── fatal_error_request.png │ │ ├── custom_not_found_page.png │ │ ├── fatal_error_message_query.png │ │ ├── fatal_something_went_wrong.png │ │ └── fatal_something_went_wrong_custom.png │ │ ├── background-jobs │ │ ├── jobs-db.png │ │ ├── jobs-after.png │ │ ├── jobs-before.png │ │ ├── jobs-queues.png │ │ ├── jobs-terminal.png │ │ └── jobs-workers.png │ │ ├── tutorial │ │ └── grove-dashboard.png │ │ └── graphql-api-docs │ │ ├── schema-doc.png │ │ ├── contact-query.png │ │ ├── contact-type.png │ │ ├── graphiql-type.png │ │ ├── schema-input.png │ │ ├── schema-scalar.png │ │ ├── schema-mutation.png │ │ ├── graphiql-mutations.png │ │ ├── graphiql-queries.png │ │ ├── schema-directive.png │ │ └── graphiql-input-type.png ├── .node-version ├── .eslintrc.js ├── docs │ └── ReactPlayer.jsx ├── netlify.toml ├── versioned_docs │ ├── version-7.x │ │ └── ReactPlayer.jsx │ ├── version-8.0 │ │ └── ReactPlayer.jsx │ ├── version-8.1 │ │ └── ReactPlayer.jsx │ ├── version-8.2 │ │ └── ReactPlayer.jsx │ ├── version-8.3 │ │ └── ReactPlayer.jsx │ ├── version-8.4 │ │ └── ReactPlayer.jsx │ ├── version-8.5 │ │ └── ReactPlayer.jsx │ ├── version-8.6 │ │ └── ReactPlayer.jsx │ ├── version-8.7 │ │ └── ReactPlayer.jsx │ └── version-8.8 │ │ └── ReactPlayer.jsx ├── tsconfig.json ├── i18n │ └── en │ │ └── code.json ├── src │ └── pages │ │ └── index.js ├── versions.json └── .gitignore ├── .gitattributes ├── __fixtures__ ├── rsc-caching │ ├── scripts │ │ └── .keep │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── db │ │ │ └── dev.db │ │ ├── jest.config.js │ │ └── package.json │ ├── web │ │ ├── src │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ ├── index.css │ │ │ └── components │ │ │ │ ├── ServerDelayForm │ │ │ │ └── ServerDelayForm.css │ │ │ │ └── CachingBoxes │ │ │ │ └── CachingBoxes.css │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ └── jest.config.js │ ├── README.md │ ├── .env.example │ └── .editorconfig ├── empty-project │ ├── .nvmrc │ ├── scripts │ │ └── .keep │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── package.json │ │ └── jest.config.js │ ├── web │ │ ├── src │ │ │ ├── index.css │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ └── components │ │ │ │ └── .keep │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ └── jest.config.js │ ├── graphql.config.js │ ├── .env.example │ ├── .editorconfig │ ├── .gitignore │ └── .vscode │ │ └── launch.json ├── test-project-rsa │ ├── scripts │ │ └── .keep │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── jest.config.js │ │ └── package.json │ ├── web │ │ ├── src │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ ├── components │ │ │ │ ├── .keep │ │ │ │ └── Counter │ │ │ │ │ ├── Counter.module.css │ │ │ │ │ └── Counter.css │ │ │ ├── pages │ │ │ │ ├── HomePage │ │ │ │ │ ├── HomePage.css │ │ │ │ │ └── HomePage.module.css │ │ │ │ └── AboutPage │ │ │ │ │ └── AboutPage.css │ │ │ ├── Counter.module.css │ │ │ ├── index.css │ │ │ └── Counter.css │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ └── jest.config.js │ ├── README.md │ ├── .env.example │ ├── graphql.config.js │ └── .editorconfig ├── test-project │ ├── scripts │ │ ├── .keep │ │ └── one │ │ │ └── two │ │ │ └── myNestedScript.ts │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── db │ │ │ └── migrations │ │ │ │ └── migration_lock.toml │ │ ├── jest.config.js │ │ └── package.json │ ├── web │ │ ├── src │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ ├── components │ │ │ │ └── .keep │ │ │ ├── pages │ │ │ │ ├── WaterfallPage │ │ │ │ │ └── WaterfallPage.routeHooks.ts │ │ │ │ ├── HomePage │ │ │ │ │ └── HomePage.tsx │ │ │ │ ├── Post │ │ │ │ │ ├── PostsPage │ │ │ │ │ │ └── PostsPage.tsx │ │ │ │ │ └── NewPostPage │ │ │ │ │ │ └── NewPostPage.tsx │ │ │ │ ├── Contact │ │ │ │ │ ├── ContactsPage │ │ │ │ │ │ └── ContactsPage.tsx │ │ │ │ │ └── NewContactPage │ │ │ │ │ │ └── NewContactPage.tsx │ │ │ │ └── BlogPostPage │ │ │ │ │ └── BlogPostPage.routeHooks.ts │ │ │ └── auth.ts │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ ├── config │ │ │ └── tailwind.config.js │ │ └── jest.config.js │ ├── .env.example │ └── .editorconfig ├── fragment-test-project │ ├── scripts │ │ └── .keep │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── db │ │ │ └── migrations │ │ │ │ └── migration_lock.toml │ │ ├── jest.config.js │ │ └── package.json │ ├── web │ │ ├── src │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ ├── components │ │ │ │ ├── .keep │ │ │ │ ├── Card.tsx │ │ │ │ └── AuthorCell │ │ │ │ │ └── AuthorCell.mock.ts │ │ │ ├── pages │ │ │ │ ├── WaterfallPage │ │ │ │ │ └── WaterfallPage.routeHooks.ts │ │ │ │ ├── Post │ │ │ │ │ ├── PostsPage │ │ │ │ │ │ └── PostsPage.tsx │ │ │ │ │ └── NewPostPage │ │ │ │ │ │ └── NewPostPage.tsx │ │ │ │ ├── Contact │ │ │ │ │ ├── ContactsPage │ │ │ │ │ │ └── ContactsPage.tsx │ │ │ │ │ └── NewContactPage │ │ │ │ │ │ └── NewContactPage.tsx │ │ │ │ └── BlogPostPage │ │ │ │ │ └── BlogPostPage.routeHooks.ts │ │ │ └── auth.ts │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ ├── config │ │ │ ├── tailwind.config.js │ │ │ └── postcss.config.js │ │ └── jest.config.js │ ├── .env.example │ └── .editorconfig ├── example-todo-main │ ├── web │ │ ├── vite.config.ts │ │ ├── src │ │ │ ├── pages │ │ │ │ ├── BarPage │ │ │ │ │ └── BarPage.tsx │ │ │ │ ├── FooPage │ │ │ │ │ └── FooPage.tsx │ │ │ │ ├── PrivatePage │ │ │ │ │ └── PrivatePage.tsx │ │ │ │ ├── TypeScriptPage │ │ │ │ │ └── TypeScriptPage.tsx │ │ │ │ ├── admin │ │ │ │ │ └── EditUserPage │ │ │ │ │ │ └── EditUserPage.jsx │ │ │ │ └── NotFoundPage │ │ │ │ │ └── NotFoundPage.js │ │ │ ├── graphql │ │ │ │ └── index.ts │ │ │ ├── components │ │ │ │ ├── NumTodosCell │ │ │ │ │ └── NumTodosCell.mock.js │ │ │ │ ├── TableCell │ │ │ │ │ └── TableCell.js │ │ │ │ ├── TodoListCell │ │ │ │ │ └── TodoListCell.mock.js │ │ │ │ ├── Check │ │ │ │ │ ├── off.svg │ │ │ │ │ ├── on.svg │ │ │ │ │ └── loading.svg │ │ │ │ └── NumTodosTwoCell │ │ │ │ │ └── NumTodosTwoCell.mock.js │ │ │ ├── layouts │ │ │ │ └── SetLayout │ │ │ │ │ └── SetLayout.js │ │ │ └── index.css │ │ └── public │ │ │ └── favicon.png │ ├── api │ │ ├── src │ │ │ ├── lib │ │ │ │ ├── dog.ts │ │ │ │ └── db.js │ │ │ ├── functions │ │ │ │ ├── nested │ │ │ │ │ └── nested.test.ts │ │ │ │ └── x │ │ │ │ │ └── index.js │ │ │ ├── graphql │ │ │ │ └── currentUser.sdl.ts │ │ │ └── services │ │ │ │ └── todos │ │ │ │ └── todos.test.js │ │ ├── package.json │ │ └── prisma │ │ │ └── migrations │ │ │ └── migrate.lock │ ├── .gitignore │ ├── .vscode │ │ └── settings.json │ ├── prettier.config.js │ └── redwood.toml ├── test-project-rsc-kitchen-sink │ ├── scripts │ │ └── .keep │ ├── api │ │ ├── src │ │ │ ├── graphql │ │ │ │ └── .keep │ │ │ └── services │ │ │ │ └── .keep │ │ ├── db │ │ │ ├── dev.db │ │ │ └── migrations │ │ │ │ └── migration_lock.toml │ │ ├── jest.config.js │ │ └── package.json │ ├── web │ │ ├── src │ │ │ ├── components │ │ │ │ ├── .keep │ │ │ │ ├── Counter │ │ │ │ │ ├── Counter.module.css │ │ │ │ │ └── Counter.css │ │ │ │ └── RandomNumberServerCell │ │ │ │ │ └── RandomNumberServerCell.css │ │ │ ├── layouts │ │ │ │ └── .keep │ │ │ ├── pages │ │ │ │ ├── HomePage │ │ │ │ │ ├── HomePage.css │ │ │ │ │ └── HomePage.module.css │ │ │ │ ├── AboutPage │ │ │ │ │ └── AboutPage.css │ │ │ │ ├── MultiCellPage │ │ │ │ │ └── MultiCellPage.css │ │ │ │ ├── EmptyUser │ │ │ │ │ ├── EmptyUsersPage │ │ │ │ │ │ └── EmptyUsersPage.tsx │ │ │ │ │ └── NewEmptyUserPage │ │ │ │ │ │ └── NewEmptyUserPage.tsx │ │ │ │ └── UserExample │ │ │ │ │ └── UserExamplesPage │ │ │ │ │ └── UserExamplesPage.tsx │ │ │ ├── index.css │ │ │ └── auth.ts │ │ ├── public │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ └── jest.config.js │ ├── .env.example │ └── .editorconfig └── example-todo-main-with-errors │ ├── api │ ├── .babelrc.js │ ├── package.json │ ├── src │ │ └── graphql │ │ │ ├── todosMutations.sdl.js │ │ │ ├── todosWithNumericRoleAuthError.sdl.js │ │ │ ├── todosWithAuthMissingRoleError.sdl.js │ │ │ ├── todosWithAuthInvalidRolesErrors.sdl.js │ │ │ ├── todosWithMissingAuthRolesAttributeError.sdl.js │ │ │ ├── todosWithMissingAuthRolesAttributeNumericError.sdl.js │ │ │ ├── todosWithBuiltInDirectives.sdl.js │ │ │ └── todosWithAuthRoles.sdl.js │ ├── jsconfig.json │ └── prisma │ │ └── migrations │ │ └── migrate.lock │ ├── web │ ├── .babelrc.js │ ├── public │ │ └── favicon.png │ ├── src │ │ ├── pages │ │ │ └── NotFoundPage │ │ │ │ └── NotFoundPage.js │ │ ├── components │ │ │ ├── TableCell │ │ │ │ └── TableCell.js │ │ │ └── Check │ │ │ │ ├── off.svg │ │ │ │ └── on.svg │ │ └── index.css │ └── jsconfig.json │ ├── babel.config.js │ ├── .vscode │ └── settings.json │ ├── .gitignore │ ├── prettier.config.js │ └── redwood.toml ├── packages ├── structure │ ├── src │ │ ├── .keep │ │ ├── model │ │ │ └── index.ts │ │ ├── outline │ │ │ └── index.ts │ │ ├── language_server │ │ │ └── start.ts │ │ └── x │ │ │ └── decorators.ts │ ├── .babelrc.js │ └── .vscode │ │ └── settings.json ├── ogimage-gen │ ├── empty.js │ ├── .gitignore │ ├── build.mts │ └── cjsWrappers │ │ ├── hooks.js │ │ ├── middleware.js │ │ └── plugin.js ├── create-redwood-app │ ├── templates │ │ ├── js │ │ │ ├── scripts │ │ │ │ └── .keep │ │ │ ├── web │ │ │ │ ├── src │ │ │ │ │ ├── index.css │ │ │ │ │ ├── layouts │ │ │ │ │ │ └── .keep │ │ │ │ │ └── components │ │ │ │ │ │ └── .keep │ │ │ │ ├── public │ │ │ │ │ ├── robots.txt │ │ │ │ │ └── favicon.png │ │ │ │ └── jest.config.js │ │ │ ├── api │ │ │ │ ├── src │ │ │ │ │ ├── graphql │ │ │ │ │ │ └── .keep │ │ │ │ │ └── services │ │ │ │ │ │ └── .keep │ │ │ │ ├── package.json │ │ │ │ └── jest.config.js │ │ │ ├── .env.example │ │ │ └── .editorconfig │ │ └── ts │ │ │ ├── scripts │ │ │ └── .keep │ │ │ ├── web │ │ │ ├── src │ │ │ │ ├── index.css │ │ │ │ ├── layouts │ │ │ │ │ └── .keep │ │ │ │ └── components │ │ │ │ │ └── .keep │ │ │ ├── public │ │ │ │ ├── robots.txt │ │ │ │ └── favicon.png │ │ │ └── jest.config.js │ │ │ ├── api │ │ │ ├── src │ │ │ │ ├── graphql │ │ │ │ │ └── .keep │ │ │ │ └── services │ │ │ │ │ └── .keep │ │ │ ├── package.json │ │ │ └── jest.config.js │ │ │ ├── .env.example │ │ │ └── .editorconfig │ └── vitest.config.mts ├── auth │ ├── modules.d.ts │ ├── tsconfig.cjs.json │ └── vitest.config.mts ├── internal │ ├── src │ │ ├── __tests__ │ │ │ └── fixtures │ │ │ │ ├── redwood.empty.toml │ │ │ │ ├── redwood.toml │ │ │ │ ├── api │ │ │ │ ├── test │ │ │ │ │ └── test.ts │ │ │ │ └── typecast.ts │ │ │ │ ├── graphqlCodeGen │ │ │ │ ├── realtime │ │ │ │ │ └── api │ │ │ │ │ │ └── src │ │ │ │ │ │ ├── server.ts │ │ │ │ │ │ ├── graphql │ │ │ │ │ │ └── currentUser.sdl.ts │ │ │ │ │ │ └── lib │ │ │ │ │ │ └── db.js │ │ │ │ ├── missingType │ │ │ │ │ ├── redwood.toml │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── gql.js │ │ │ │ ├── invalidQueryType │ │ │ │ │ ├── redwood.toml │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── gql.js │ │ │ │ ├── nonExistingField │ │ │ │ │ ├── redwood.toml │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ └── gql.js │ │ │ │ └── bookshelf │ │ │ │ │ └── api │ │ │ │ │ └── src │ │ │ │ │ └── lib │ │ │ │ │ └── db.js │ │ │ │ ├── defaultExports │ │ │ │ ├── none.js │ │ │ │ ├── singleLine.js │ │ │ │ └── multiLine.js │ │ │ │ └── nestedPages │ │ │ │ └── web │ │ │ │ └── src │ │ │ │ ├── auth.ts │ │ │ │ └── pages │ │ │ │ ├── Admin │ │ │ │ └── User │ │ │ │ │ ├── NewUserPage │ │ │ │ │ └── NewUserPage.tsx │ │ │ │ │ └── UsersPage │ │ │ │ │ └── UsersPage.tsx │ │ │ │ └── HomePage │ │ │ │ └── HomePage.stories.js │ │ ├── generate │ │ │ ├── types.ts │ │ │ └── templates │ │ │ │ ├── api-globalContext.d.ts.template │ │ │ │ ├── api-test-globals.d.ts.template │ │ │ │ └── mirror-directoryNamedModule.d.ts.template │ │ └── dev.ts │ ├── README.md │ ├── ambient.d.ts │ └── build.mts ├── project-config │ ├── src │ │ ├── __tests__ │ │ │ └── fixtures │ │ │ │ ├── esm │ │ │ │ ├── redwood.toml │ │ │ │ ├── package.json │ │ │ │ ├── api │ │ │ │ │ └── package.json │ │ │ │ └── web │ │ │ │ │ └── package.json │ │ │ │ ├── redwood.empty.toml │ │ │ │ ├── esm-api-only │ │ │ │ ├── redwood.toml │ │ │ │ ├── package.json │ │ │ │ ├── web │ │ │ │ │ └── package.json │ │ │ │ └── api │ │ │ │ │ └── package.json │ │ │ │ ├── redwood.toml │ │ │ │ ├── api │ │ │ │ └── test │ │ │ │ │ └── test.ts │ │ │ │ ├── redwood.graphql.toml │ │ │ │ ├── redwood.studio.toml │ │ │ │ └── redwood.studio.dbauth.toml │ │ └── index.ts │ ├── tsconfig.cjs.json │ └── tsconfig.json ├── storybook │ ├── preset.js │ ├── src │ │ └── index.ts │ ├── build.ts │ └── tsconfig.json ├── telemetry │ ├── src │ │ ├── index.ts │ │ └── scripts │ │ │ └── invoke.ts │ ├── build.mts │ └── tsconfig.json ├── prerender │ ├── src │ │ └── index.ts │ ├── build.mts │ ├── @babel │ │ └── register.d.ts │ └── vitest.config.mts ├── vite │ └── src │ │ ├── middleware │ │ └── index.ts │ │ ├── build │ │ └── __tests__ │ │ │ └── fixtures │ │ │ └── nestedPages │ │ │ └── web │ │ │ └── src │ │ │ ├── auth.ts │ │ │ └── pages │ │ │ ├── Admin │ │ │ └── User │ │ │ │ ├── UsersPage │ │ │ │ └── UsersPage.tsx │ │ │ │ └── NewUserPage │ │ │ │ └── NewUserPage.tsx │ │ │ └── HomePage │ │ │ └── HomePage.stories.js │ │ ├── streaming │ │ └── transforms │ │ │ └── cancelTimeoutTransform.ts │ │ └── bundled │ │ └── react-server-dom-webpack.server.ts ├── adapters │ └── fastify │ │ └── web │ │ ├── .gitignore │ │ ├── src │ │ └── __fixtures__ │ │ │ └── main │ │ │ ├── .env.defaults │ │ │ └── web │ │ │ └── dist │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ ├── vitest.setup.mts │ │ ├── vitest.config.mts │ │ └── tsconfig.json ├── api-server │ ├── ambient.d.ts │ ├── .gitignore │ ├── src │ │ ├── logFormatter │ │ │ └── ambient.d.ts │ │ └── __tests__ │ │ │ └── fixtures │ │ │ └── redwood-app │ │ │ ├── .env.defaults │ │ │ ├── web │ │ │ └── dist │ │ │ │ ├── robots.txt │ │ │ │ └── favicon.png │ │ │ └── api │ │ │ └── dist │ │ │ └── functions │ │ │ ├── noHandler.js │ │ │ └── health.js │ ├── .babelrc.js │ └── vitest.config.mts ├── web-server │ ├── ambient.d.ts │ ├── src │ │ └── types.ts │ └── README.md ├── auth-providers │ ├── auth0 │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── vitest.config.mts │ │ │ └── build.mts │ │ ├── api │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ └── web │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ ├── clerk │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ └── build.mts │ │ ├── web │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ │ └── api │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ ├── custom │ │ └── setup │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ ├── dbAuth │ │ ├── setup │ │ │ ├── src │ │ │ │ ├── index.ts │ │ │ │ └── templates │ │ │ │ │ └── web │ │ │ │ │ ├── auth.ts.template │ │ │ │ │ └── auth.rsc.ts.template │ │ │ └── .babelrc.js │ │ ├── web │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── .babelrc.js │ │ │ ├── webAuthn │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── vitest.config.mts │ │ ├── api │ │ │ ├── build.mts │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ └── vitest.config.mts │ │ └── middleware │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ ├── netlify │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── vitest.config.mts │ │ │ └── build.mts │ │ ├── api │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ └── web │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ ├── firebase │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── vitest.config.mts │ │ │ └── build.mts │ │ ├── api │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ └── web │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ ├── supabase │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ └── build.mts │ │ ├── web │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ │ ├── api │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ └── middleware │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ ├── supertokens │ │ ├── setup │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ ├── api │ │ │ ├── src │ │ │ │ └── index.ts │ │ │ ├── build.mts │ │ │ └── vitest.config.mts │ │ └── web │ │ │ ├── src │ │ │ └── index.ts │ │ │ ├── tsconfig.cjs.json │ │ │ └── vitest.config.mts │ └── azureActiveDirectory │ │ ├── setup │ │ ├── src │ │ │ └── index.ts │ │ ├── vitest.config.mts │ │ └── build.mts │ │ ├── api │ │ ├── src │ │ │ └── index.ts │ │ ├── build.mts │ │ └── vitest.config.mts │ │ └── web │ │ ├── src │ │ └── index.ts │ │ ├── tsconfig.cjs.json │ │ └── vitest.config.mts ├── babel-config │ ├── src │ │ ├── __tests__ │ │ │ └── __fixtures__ │ │ │ │ └── redwood-app │ │ │ │ ├── package.json │ │ │ │ └── api │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ └── lib │ │ │ │ ├── directoryGlobImports.ts │ │ │ │ └── typescript.ts │ │ └── plugins │ │ │ └── __tests__ │ │ │ └── __fixtures__ │ │ │ ├── __fixtures__ │ │ │ ├── types.d.ts │ │ │ ├── nested │ │ │ │ ├── d.scenarios.js │ │ │ │ └── d.js │ │ │ ├── a.js │ │ │ ├── b.ts │ │ │ ├── c.sdl.js │ │ │ └── a.test.js │ │ │ ├── directory-named-imports │ │ │ ├── JSX │ │ │ │ └── JSX.jsx │ │ │ ├── TS │ │ │ │ └── TS.ts │ │ │ ├── TSX │ │ │ │ └── TSX.tsx │ │ │ ├── Module │ │ │ │ └── Module.js │ │ │ ├── TSWithIndex │ │ │ │ ├── index.js │ │ │ │ └── TSWithIndex.ts │ │ │ └── indexModule │ │ │ │ ├── index.js │ │ │ │ └── indexModule.js │ │ │ ├── cell │ │ │ ├── cell-with-default-export │ │ │ │ ├── code.js │ │ │ │ └── output.js │ │ │ └── cell-with-default-and-other-named-export │ │ │ │ ├── code.js │ │ │ │ └── output.js │ │ │ ├── import-dir │ │ │ └── import-dir-default │ │ │ │ └── code.js │ │ │ ├── route-auto-loader │ │ │ └── failure │ │ │ │ └── web │ │ │ │ └── src │ │ │ │ └── pages │ │ │ │ └── HomePage │ │ │ │ ├── useHomePage.tsx │ │ │ │ └── HomePage.tsx │ │ │ └── mock-cell-data │ │ │ └── output_NumTodosCell.mock.js │ ├── build.mts │ ├── README.md │ └── .babelrc.js ├── web │ ├── .babelrc.js │ ├── toast │ │ ├── index.js │ │ └── package.json │ ├── apollo │ │ ├── package.json │ │ └── index.js │ ├── src │ │ ├── toast │ │ │ └── index.ts │ │ ├── bundled │ │ │ └── apollo-upload-client.ts │ │ └── __typetests__ │ │ │ └── tsconfig.json │ ├── tsconfig.cjs.json │ └── testing-library.d.ts ├── realtime │ ├── .babelrc.js │ ├── tsconfig.json │ ├── src │ │ └── graphql │ │ │ └── plugins │ │ │ └── __tests__ │ │ │ └── __snapshots__ │ │ │ └── useRedwoodRealtime.test.ts.snap │ ├── vitest.config.mts │ └── build.mts ├── router │ ├── .babelrc.js │ ├── src │ │ ├── dummyComponent.ts │ │ └── __typetests__ │ │ │ └── tsconfig.json │ ├── tsconfig.cjs.json │ └── jest.config.js ├── graphql-server │ ├── .babelrc.js │ ├── __mocks__ │ │ └── @prisma │ │ │ └── client.js │ ├── build.mts │ ├── README.md │ ├── src │ │ └── global.api-auto-imports.ts │ └── vitest.setup.mts ├── cli │ ├── src │ │ ├── commands │ │ │ ├── experimental │ │ │ │ └── templates │ │ │ │ │ └── rsc │ │ │ │ │ ├── HomePage.css.template │ │ │ │ │ ├── AboutPage.css.template │ │ │ │ │ ├── HomePage.module.css.template │ │ │ │ │ ├── Counter.module.css.template │ │ │ │ │ ├── index.css.template │ │ │ │ │ └── Counter.css.template │ │ │ ├── generate │ │ │ │ ├── model │ │ │ │ │ └── templates │ │ │ │ │ │ └── model.js.template │ │ │ │ ├── dataMigration │ │ │ │ │ └── templates │ │ │ │ │ │ ├── dataMigration.ts.template │ │ │ │ │ │ └── dataMigration.js.template │ │ │ │ ├── job │ │ │ │ │ └── templates │ │ │ │ │ │ ├── job.ts.template │ │ │ │ │ │ └── test.ts.template │ │ │ │ ├── cell │ │ │ │ │ └── templates │ │ │ │ │ │ └── mock.ts.template │ │ │ │ ├── scaffold │ │ │ │ │ └── templates │ │ │ │ │ │ └── pages │ │ │ │ │ │ ├── NamesPage.tsx.template │ │ │ │ │ │ └── NewNamePage.tsx.template │ │ │ │ └── component │ │ │ │ │ └── templates │ │ │ │ │ └── component.tsx.template │ │ │ └── setup │ │ │ │ └── docker │ │ │ │ └── templates │ │ │ │ └── dockerignore │ │ ├── lib │ │ │ ├── updateCheckExecute.js │ │ │ └── __tests__ │ │ │ │ └── fixtures │ │ │ │ ├── text.txt │ │ │ │ ├── merge │ │ │ │ ├── i18nIntoBase │ │ │ │ │ └── it.txt │ │ │ │ └── chakraIntoI18n │ │ │ │ │ └── it.txt │ │ │ │ ├── code.js │ │ │ │ └── prettier.config.js │ │ └── index.d.ts │ ├── __mocks__ │ │ ├── fs.js │ │ └── fs-extra.js │ └── vitest.setup.mts ├── codemods │ ├── tasks │ │ └── generateCodemod │ │ │ └── templates │ │ │ ├── structure │ │ │ ├── __testfixtures__ │ │ │ │ └── default │ │ │ │ │ ├── input │ │ │ │ │ ├── .keep │ │ │ │ │ └── babel.config.js │ │ │ │ │ └── output │ │ │ │ │ └── .keep │ │ │ ├── README.md.template │ │ │ └── __tests__ │ │ │ │ └── codemod.test.ts.template │ │ │ └── code │ │ │ ├── __testfixtures__ │ │ │ ├── default.input.js │ │ │ └── default.output.js │ │ │ ├── __tests__ │ │ │ └── codemod.test.ts.template │ │ │ └── README.md.template │ ├── src │ │ └── codemods │ │ │ ├── v6.x.x │ │ │ ├── convertJsToJsx │ │ │ │ └── __testfixtures__ │ │ │ │ │ ├── example │ │ │ │ │ ├── input │ │ │ │ │ │ └── web │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ │ ├── layouts │ │ │ │ │ │ │ └── TestLayout │ │ │ │ │ │ │ │ └── TestLayout.js │ │ │ │ │ │ │ └── components │ │ │ │ │ │ │ └── TestCell │ │ │ │ │ │ │ └── TestCell.mock.js │ │ │ │ │ └── output │ │ │ │ │ │ └── web │ │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ ├── layouts │ │ │ │ │ │ └── TestLayout │ │ │ │ │ │ │ └── TestLayout.jsx │ │ │ │ │ │ └── components │ │ │ │ │ │ └── TestCell │ │ │ │ │ │ └── TestCell.mock.js │ │ │ │ │ └── withoutJSX │ │ │ │ │ ├── input │ │ │ │ │ └── util.js │ │ │ │ │ └── output │ │ │ │ │ └── util.js │ │ │ ├── updateThemeConfig │ │ │ │ └── __testfixtures__ │ │ │ │ │ ├── identifierTheme.input.js │ │ │ │ │ ├── identifierTheme.output.js │ │ │ │ │ ├── default.input.js │ │ │ │ │ └── default.output.js │ │ │ └── replaceComponentSvgs │ │ │ │ └── __testfixtures__ │ │ │ │ ├── simple │ │ │ │ ├── input │ │ │ │ │ └── Simple.jsx │ │ │ │ └── output │ │ │ │ │ └── Simple.jsx │ │ │ │ └── complex │ │ │ │ ├── input │ │ │ │ └── nested │ │ │ │ │ └── kitten.tsx │ │ │ │ └── output │ │ │ │ └── nested │ │ │ │ └── kitten.tsx │ │ │ ├── v5.x.x │ │ │ ├── updateNodeEngineTo18 │ │ │ │ └── README.md │ │ │ └── renameValidateWith │ │ │ │ ├── __testfixtures__ │ │ │ │ ├── default.input.js │ │ │ │ └── default.output.js │ │ │ │ └── README.md │ │ │ ├── v7.x.x │ │ │ └── updateGraphQLConfig │ │ │ │ └── __testfixtures__ │ │ │ │ └── input │ │ │ │ └── graphql.config.js │ │ │ └── v2.x.x │ │ │ └── configureFastify │ │ │ └── README.md │ └── build.mts ├── api │ ├── build.mts │ ├── vitest.setup.mts │ ├── src │ │ └── cache │ │ │ └── errors.ts │ └── vitest.config.mts ├── forms │ ├── build.mts │ └── vitest.config.mts ├── jobs │ ├── build.mts │ ├── README.md │ ├── src │ │ └── util.ts │ └── vitest.config.mts ├── tui │ ├── build.mts │ ├── README.md │ └── tsconfig.json ├── mailer │ ├── core │ │ ├── build.mts │ │ ├── README.md │ │ ├── src │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── handlers │ │ ├── in-memory │ │ │ ├── build.mts │ │ │ └── README.md │ │ ├── nodemailer │ │ │ ├── build.mts │ │ │ └── README.md │ │ ├── resend │ │ │ └── build.mts │ │ └── studio │ │ │ ├── build.mts │ │ │ └── README.md │ └── renderers │ │ ├── mjml-react │ │ ├── build.mts │ │ └── README.md │ │ └── react-email │ │ ├── build.mts │ │ └── README.md ├── server-store │ ├── README.md │ └── build.mts ├── testing │ ├── README.md │ ├── api │ │ ├── index.js │ │ └── package.json │ ├── build.mts │ ├── web │ │ ├── index.js │ │ └── package.json │ ├── cache │ │ ├── index.js │ │ └── package.json │ ├── config │ │ └── jest │ │ │ ├── api │ │ │ └── index.js │ │ │ └── web │ │ │ ├── index.js │ │ │ └── webBabelConfig.js │ └── src │ │ └── api │ │ └── index.ts ├── cli-helpers │ ├── README.md │ ├── __mocks__ │ │ └── fs.js │ ├── src │ │ ├── auth │ │ │ └── __tests__ │ │ │ │ └── fixtures │ │ │ │ ├── app │ │ │ │ └── api │ │ │ │ │ └── src │ │ │ │ │ ├── functions │ │ │ │ │ ├── auth.ts │ │ │ │ │ └── supertokensAuth.ts │ │ │ │ │ └── lib │ │ │ │ │ ├── supertokens.ts │ │ │ │ │ └── supertokens1.ts │ │ │ │ └── dbAuthSetup │ │ │ │ └── templates │ │ │ │ └── web │ │ │ │ └── auth.ts.template │ │ └── lib │ │ │ └── __tests__ │ │ │ └── __fixtures__ │ │ │ ├── redwood-app-env-many │ │ │ ├── .env.dev │ │ │ └── .env.prod │ │ │ ├── redwood-app-env-prod │ │ │ └── .env.prod │ │ │ ├── redwood-app-env-node-env │ │ │ ├── .env.prod │ │ │ └── .env.bazinga │ │ │ └── redwood-app-env-collision │ │ │ ├── .env.base │ │ │ └── .env.collision │ ├── vitest.config.mts │ └── tsconfig.cjs.json ├── eslint-plugin │ ├── build.mts │ └── vitest.config.mts ├── cli-packages │ ├── storybook-vite │ │ └── src │ │ │ ├── commands │ │ │ └── templates │ │ │ │ └── preview-body.html.template │ │ │ └── types.ts │ └── dataMigrate │ │ ├── .babelrc.js │ │ └── src │ │ └── types.ts ├── cookie-jar │ ├── README.md │ └── build.mts ├── create-redwood-rsc-app │ ├── modules.d.ts │ └── build.ts ├── storage │ ├── .gitignore │ ├── src │ │ └── __typetests__ │ │ │ └── tsconfig.json │ └── tsconfig.build.json ├── framework-tools │ ├── README.md │ └── build.ts ├── context │ ├── src │ │ ├── global.api-auto-imports.ts │ │ └── index.ts │ └── tsconfig.cjs.json └── core │ ├── README.md │ └── build.mts ├── tasks ├── e2e │ └── cypress │ │ ├── support │ │ └── e2e.js │ │ └── e2e │ │ └── 01-tutorial │ │ └── codemods │ │ ├── Step3_3_PagesHome.js │ │ └── Step6_5_BlogPostsCellMock.js ├── linting-diff │ └── .gitignore ├── server-tests │ ├── .gitignore │ └── fixtures │ │ └── redwood-app │ │ ├── .env.defaults │ │ ├── web │ │ └── dist │ │ │ ├── robots.txt │ │ │ └── favicon.png │ │ └── api │ │ └── dist │ │ └── functions │ │ ├── noHandler.js │ │ └── health.js ├── test-project │ ├── .eslintrc.js │ ├── codemods │ │ └── producesSdl.ts │ └── templates │ │ └── web │ │ └── Card.tsx ├── k6-test │ └── setups │ │ ├── scalable_graphql_schema │ │ └── templates │ │ │ └── relation.sdl.ts │ │ └── context_magic_number │ │ └── templates │ │ └── benchmark.sdl.ts ├── smoke-tests │ ├── dev │ │ └── tests │ │ │ ├── dev.spec.ts │ │ │ └── staticAssets.spec.ts │ ├── serve │ │ └── tests │ │ │ ├── serve.spec.ts │ │ │ └── staticAssets.spec.ts │ ├── rsc │ │ └── tests │ │ │ └── staticAssets.spec.ts │ ├── rsc-dev │ │ └── tests │ │ │ └── staticAssets.spec.ts │ ├── streaming-ssr-dev │ │ └── tests │ │ │ └── staticAssets.spec.ts │ ├── streaming-ssr-prod │ │ └── tests │ │ │ └── staticAssets.spec.ts │ └── jsconfig.json ├── tsconfig.json └── changesets │ └── placeholder.md ├── .changesets ├── 11578.md ├── 11748.md ├── 11731.md ├── 11638.md ├── 11601.md ├── 11773.md ├── 11869.md ├── 11718.md ├── 11766.md ├── 11879.md ├── 11459.md ├── 11758.md ├── 11878.md ├── 11920.md ├── 11651.md ├── 11724.md ├── 11746.md ├── 11744.md ├── 11946.md ├── 11745.md ├── 11889.md ├── 11684.md ├── 11771.md ├── 11572.md ├── 11693.md ├── 11591.md ├── 11981.md ├── 11985.md ├── 11531.md ├── 12093.md ├── 11645.md ├── 11380.md ├── 11458.md ├── 11737.md └── 11776.md ├── .github ├── actions │ ├── set-up-rsa-project │ │ └── package.json │ ├── set-up-rsc-project │ │ ├── package.json │ │ └── action.yaml │ ├── set-up-rsc-kitchen-sink-project │ │ └── package.json │ ├── require-milestone │ │ └── action.yml │ ├── detect-changes │ │ └── package.json │ ├── check_changesets │ │ ├── action.yml │ │ └── package.json │ └── check_create_redwood_app │ │ ├── package.json │ │ └── action.yml └── codeql │ └── codeql-config.yml ├── tsconfig.eslint.json ├── .yarnrc.yml ├── lerna.json └── .vscode └── extensions.json /docs/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/.node-version: -------------------------------------------------------------------------------- 1 | 20.18.1 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/structure/src/.keep: -------------------------------------------------------------------------------- 1 | // stub -------------------------------------------------------------------------------- /__fixtures__/empty-project/.nvmrc: -------------------------------------------------------------------------------- 1 | v18 2 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/vite.config.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/ogimage-gen/empty.js: -------------------------------------------------------------------------------- 1 | // FIND ME ROB! 2 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/scripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/auth/modules.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'whatwg-fetch' 2 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/redwood.empty.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/ogimage-gen/.gitignore: -------------------------------------------------------------------------------- 1 | !src/__fixtures__/**/dist 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm/redwood.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/storybook/preset.js: -------------------------------------------------------------------------------- 1 | export * from './dist/preset' 2 | -------------------------------------------------------------------------------- /packages/storybook/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | -------------------------------------------------------------------------------- /packages/telemetry/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './telemetry' 2 | -------------------------------------------------------------------------------- /tasks/e2e/cypress/support/e2e.js: -------------------------------------------------------------------------------- 1 | import 'cypress-fail-fast' 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/lib/dog.ts: -------------------------------------------------------------------------------- 1 | console.log(dog) -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/src/graphql/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/src/services/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/layouts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/src/components/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/prerender/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './runPrerender' 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/redwood.empty.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/vite/src/middleware/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types.js' 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/functions/nested/nested.test.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/.gitignore: -------------------------------------------------------------------------------- 1 | !src/__fixtures__/**/dist 2 | -------------------------------------------------------------------------------- /packages/api-server/ambient.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'dotenv-defaults' 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm-api-only/redwood.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/web-server/ambient.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'dotenv-defaults' 2 | -------------------------------------------------------------------------------- /tasks/linting-diff/.gitignore: -------------------------------------------------------------------------------- 1 | before.json 2 | after.json 3 | log.txt 4 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/custom/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './dbAuth' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8888 -------------------------------------------------------------------------------- /tasks/server-tests/.gitignore: -------------------------------------------------------------------------------- 1 | !fixtures/**/dist 2 | fixtures/**/.redwood 3 | -------------------------------------------------------------------------------- /.changesets/11578.md: -------------------------------------------------------------------------------- 1 | - Fixes `yarn rw jobs clear` command (#11578) by @cannikin 2 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/api-server/.gitignore: -------------------------------------------------------------------------------- 1 | !src/__tests__/fixtures/**/dist 2 | coverage 3 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/__tests__/__fixtures__/redwood-app/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/types.d.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/api/test/test.ts: -------------------------------------------------------------------------------- 1 | export const hello = "" -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/realtime/api/src/server.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm-api-only/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm-api-only/web/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8888 -------------------------------------------------------------------------------- /packages/structure/src/model/index.ts: -------------------------------------------------------------------------------- 1 | export { RWProject } from './RWProject' 2 | -------------------------------------------------------------------------------- /packages/web/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /tasks/server-tests/fixtures/redwood-app/.env.defaults: -------------------------------------------------------------------------------- 1 | LOAD_ENV_DEFAULTS_TEST=42 2 | -------------------------------------------------------------------------------- /.changesets/11748.md: -------------------------------------------------------------------------------- 1 | - Include .storybook folder in Linting (#11748) by @Philzen 2 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/pages/HomePage/HomePage.css: -------------------------------------------------------------------------------- 1 | .home-page { 2 | } 3 | -------------------------------------------------------------------------------- /packages/api-server/src/logFormatter/ambient.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'fast-json-parse' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/__tests__/__fixtures__/redwood-app/api/package.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/defaultExports/none.js: -------------------------------------------------------------------------------- 1 | export const a = 'b' 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/api/test/test.ts: -------------------------------------------------------------------------------- 1 | export const hello = "" -------------------------------------------------------------------------------- /packages/realtime/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /packages/router/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /packages/structure/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/pages/AboutPage/AboutPage.css: -------------------------------------------------------------------------------- 1 | .about-page { 2 | } 3 | -------------------------------------------------------------------------------- /packages/api-server/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './auth0.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/setup/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './setup' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './clerk.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/nested/d.scenarios.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/JSX/JSX.jsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/TS/TS.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/TSX/TSX.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/graphql-server/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /tasks/server-tests/fixtures/redwood-app/web/dist/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/src/__fixtures__/main/.env.defaults: -------------------------------------------------------------------------------- 1 | LOAD_ENV_DEFAULTS_TEST=42 2 | -------------------------------------------------------------------------------- /packages/api-server/src/__tests__/fixtures/redwood-app/.env.defaults: -------------------------------------------------------------------------------- 1 | LOAD_ENV_DEFAULTS_TEST=42 2 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './firebase.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './netlify.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './supabase.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/Module/Module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/HomePage.css.template: -------------------------------------------------------------------------------- 1 | .home-page { 2 | } 3 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/structure/__testfixtures__/default/input/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/structure/__testfixtures__/default/output/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/defaultExports/singleLine.js: -------------------------------------------------------------------------------- 1 | export default a = 'b' 2 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/structure/src/outline/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | export * from './outline' 3 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/functions/x/index.js: -------------------------------------------------------------------------------- 1 | export const value = 'HELLO from X' 2 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/README.md: -------------------------------------------------------------------------------- 1 | Project used for testing and visualizing caching in an RWSC app 2 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/src/index.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/Counter.module.css: -------------------------------------------------------------------------------- 1 | .header { 2 | font-style: italic; 3 | } 4 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/HomePage/HomePage.css: -------------------------------------------------------------------------------- 1 | .home-page { 2 | } 3 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/src/__fixtures__/main/web/dist/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './supertokens.js' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/TSWithIndex/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/indexModule/index.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/AboutPage.css.template: -------------------------------------------------------------------------------- 1 | .about-page { 2 | } 3 | -------------------------------------------------------------------------------- /packages/cli/src/lib/updateCheckExecute.js: -------------------------------------------------------------------------------- 1 | import { check } from './updateCheck' 2 | 3 | check() 4 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/input/web/src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/output/web/src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/forms/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/jobs/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm/web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/tui/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/BarPage/BarPage.tsx: -------------------------------------------------------------------------------- 1 | export default () => "I'm the Bar page" 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/FooPage/FooPage.tsx: -------------------------------------------------------------------------------- 1 | export default () => "I'm the Foo page" 2 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/index.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/AboutPage/AboutPage.css: -------------------------------------------------------------------------------- 1 | .about-page { 2 | } 3 | -------------------------------------------------------------------------------- /docs/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/favicon.ico -------------------------------------------------------------------------------- /packages/api-server/src/__tests__/fixtures/redwood-app/web/dist/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder, clerkAuthDecoder } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/a.js: -------------------------------------------------------------------------------- 1 | export const noop = () => {} 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/b.ts: -------------------------------------------------------------------------------- 1 | export const noop = () => {} 2 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/TSWithIndex/TSWithIndex.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/directory-named-imports/indexModule/indexModule.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /packages/codemods/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/internal/README.md: -------------------------------------------------------------------------------- 1 | # Our Internals 2 | 3 | This package is not intended to be used directly. 4 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/defaultExports/multiLine.js: -------------------------------------------------------------------------------- 1 | const a = 'b' 2 | export default a 3 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/missingType/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8910 3 | -------------------------------------------------------------------------------- /packages/mailer/core/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/ogimage-gen/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/prerender/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/server-store/README.md: -------------------------------------------------------------------------------- 1 | # Server Store 2 | 3 | Singleton used to access Async Local Storage 4 | -------------------------------------------------------------------------------- /packages/telemetry/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/testing/README.md: -------------------------------------------------------------------------------- 1 | # @redwoodjs/testing 2 | 3 | This package includes Redwood's Jest config. 4 | -------------------------------------------------------------------------------- /packages/testing/api/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/api') 3 | -------------------------------------------------------------------------------- /packages/testing/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/testing/web/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/web') 3 | -------------------------------------------------------------------------------- /packages/web/toast/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/toast') 3 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: "../babel.config.js" } 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: "../babel.config.js" } 2 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/pages/HomePage/HomePage.module.css: -------------------------------------------------------------------------------- 1 | .title { 2 | color: green; 3 | } 4 | -------------------------------------------------------------------------------- /docs/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | commonjs: true, 4 | node: true, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /docs/static/img/docusuarus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/docusuarus.png -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/setup/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/web/.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { extends: '../../../../babel.config.js' } 2 | -------------------------------------------------------------------------------- /packages/babel-config/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/c.sdl.js: -------------------------------------------------------------------------------- 1 | export const noop = () => {} 2 | -------------------------------------------------------------------------------- /packages/cli-helpers/README.md: -------------------------------------------------------------------------------- 1 | # cli-helpers 2 | 3 | This package is used by auth provider setup scripts. 4 | -------------------------------------------------------------------------------- /packages/eslint-plugin/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/graphql-server/__mocks__/@prisma/client.js: -------------------------------------------------------------------------------- 1 | export const PrismaClient = class MockPrismaClient {} 2 | -------------------------------------------------------------------------------- /packages/graphql-server/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/invalidQueryType/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8910 3 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/nonExistingField/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8910 3 | -------------------------------------------------------------------------------- /packages/jobs/README.md: -------------------------------------------------------------------------------- 1 | # RedwoodJob 2 | 3 | Provides background job scheduling and processing for Redwood. 4 | -------------------------------------------------------------------------------- /packages/mailer/core/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Core 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/esm-api-only/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module" 3 | } 4 | -------------------------------------------------------------------------------- /packages/structure/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "search.exclude": { 3 | "**/dist": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/testing/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/api/index.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /packages/testing/cache/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/cache') 3 | -------------------------------------------------------------------------------- /packages/testing/web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/web/index.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /packages/web/toast/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/toast/index.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /.changesets/11731.md: -------------------------------------------------------------------------------- 1 | - fix(api-server): prevent race condition in server restart process (#11731) by @o0charlie0o 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/graphql/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./fragment-masking"; 2 | export * from "./gql"; -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/index.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/nested/d.js: -------------------------------------------------------------------------------- 1 | export const noop = () => {} 2 | -------------------------------------------------------------------------------- /packages/cli-packages/storybook-vite/src/commands/templates/preview-body.html.template: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /packages/cli/src/lib/__tests__/fixtures/text.txt: -------------------------------------------------------------------------------- 1 | Lorem ipsum dolar sit ${singularCamelName} 2 | Hello, ${noun}! 3 | -------------------------------------------------------------------------------- /packages/cookie-jar/README.md: -------------------------------------------------------------------------------- 1 | # Cookie Jar 2 | 3 | Specialized cookie map, that lets you set cookies with options 4 | -------------------------------------------------------------------------------- /packages/testing/cache/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/cache/index.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /packages/web/apollo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/apollo/index.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /.changesets/11638.md: -------------------------------------------------------------------------------- 1 | - breaking(baremetal): Throw an error if there is not enough available space (#11638) by @Tobbe 2 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/PrivatePage/PrivatePage.tsx: -------------------------------------------------------------------------------- 1 | export default () => 'I am a Private page.' 2 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/components/Counter/Counter.module.css: -------------------------------------------------------------------------------- 1 | .header { 2 | font-style: italic; 3 | } 4 | -------------------------------------------------------------------------------- /docs/static/img/facebook_unfurl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/facebook_unfurl.png -------------------------------------------------------------------------------- /packages/auth-providers/auth0/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/web/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createAuth } from './azureActiveDirectory.js' 2 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export { authDecoder, throwSupabaseSettingsError } from './decoder' 2 | -------------------------------------------------------------------------------- /packages/cli/__mocks__/fs.js: -------------------------------------------------------------------------------- 1 | import * as memfs from 'memfs' 2 | 3 | export * from 'memfs' 4 | export default memfs.fs 5 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/HomePage.module.css.template: -------------------------------------------------------------------------------- 1 | .title { 2 | color: green; 3 | } 4 | -------------------------------------------------------------------------------- /packages/cli/src/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace NodeJS { 2 | interface Global { 3 | __dirname: string 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/code/__testfixtures__/default.input.js: -------------------------------------------------------------------------------- 1 | console.log('hello world') 2 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/code/__testfixtures__/default.output.js: -------------------------------------------------------------------------------- 1 | console.log('hello bazinga') 2 | -------------------------------------------------------------------------------- /packages/create-redwood-rsc-app/modules.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@eslint-community/eslint-plugin-eslint-comments/configs' 2 | -------------------------------------------------------------------------------- /packages/mailer/handlers/in-memory/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/mailer/handlers/nodemailer/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/mailer/handlers/resend/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/mailer/handlers/studio/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/web/apollo/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/cjs/apollo/index.js') 3 | -------------------------------------------------------------------------------- /packages/web/src/toast/index.ts: -------------------------------------------------------------------------------- 1 | export { default as toast } from 'react-hot-toast' 2 | export * from 'react-hot-toast' 3 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/HomePage/HomePage.module.css: -------------------------------------------------------------------------------- 1 | .title { 2 | color: green; 3 | } 4 | -------------------------------------------------------------------------------- /docs/docs/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/cli/__mocks__/fs-extra.js: -------------------------------------------------------------------------------- 1 | import * as memfs from 'memfs' 2 | 3 | export * from 'memfs' 4 | export default memfs.fs 5 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/Counter.module.css.template: -------------------------------------------------------------------------------- 1 | .header { 2 | font-style: italic; 3 | } 4 | -------------------------------------------------------------------------------- /packages/graphql-server/README.md: -------------------------------------------------------------------------------- 1 | # GraphQL Server 2 | 3 | ## Authentication 4 | 5 | ### Secure by default 6 | 7 | TODO 8 | -------------------------------------------------------------------------------- /packages/mailer/renderers/mjml-react/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/mailer/renderers/react-email/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /tasks/test-project/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | commonjs: true, 4 | node: true, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/TypeScriptPage/TypeScriptPage.tsx: -------------------------------------------------------------------------------- 1 | export default () => 'I am a TypeScript page.' 2 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/api/db/dev.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/rsc-caching/api/db/dev.db -------------------------------------------------------------------------------- /docs/static/img/mailer/local_inbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/mailer/local_inbox.png -------------------------------------------------------------------------------- /docs/static/img/uploads/uploads-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/uploads/uploads-flow.png -------------------------------------------------------------------------------- /packages/cli-helpers/__mocks__/fs.js: -------------------------------------------------------------------------------- 1 | import * as memfs from 'memfs' 2 | 3 | export * from 'memfs' 4 | export default memfs.fs 5 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/auth/__tests__/fixtures/app/api/src/functions/auth.ts: -------------------------------------------------------------------------------- 1 | // Existing auth.ts file should not be overwritten 2 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/auth/__tests__/fixtures/app/api/src/lib/supertokens.ts: -------------------------------------------------------------------------------- 1 | // supertokens.ts file should not be overwritten 2 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/index.css.template: -------------------------------------------------------------------------------- 1 | html, body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | -------------------------------------------------------------------------------- /packages/mailer/handlers/studio/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Handler - Studio 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/ogimage-gen/cjsWrappers/hooks.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | 3 | module.exports = require('../dist/hooks.js').default 4 | -------------------------------------------------------------------------------- /packages/router/src/dummyComponent.ts: -------------------------------------------------------------------------------- 1 | // This is used by vite-plugin-rsc-routes-auto-loader 2 | 3 | export default () => null 4 | -------------------------------------------------------------------------------- /packages/testing/config/jest/api/index.js: -------------------------------------------------------------------------------- 1 | // This is for backwards compatibility 2 | module.exports = require('./jest-preset') 3 | -------------------------------------------------------------------------------- /packages/testing/config/jest/web/index.js: -------------------------------------------------------------------------------- 1 | // This is for backwards compatibility 2 | module.exports = require('./jest-preset') 3 | -------------------------------------------------------------------------------- /packages/testing/src/api/index.ts: -------------------------------------------------------------------------------- 1 | export * from './apiFunction' 2 | export * from './scenario' 3 | export * from './directive' 4 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/components/Counter/Counter.module.css: -------------------------------------------------------------------------------- 1 | .header { 2 | font-style: italic; 3 | } 4 | -------------------------------------------------------------------------------- /docs/netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | base = "docs" 3 | publish = "build" 4 | command = "yarn build" 5 | ignore = "node ignore_build.mjs" -------------------------------------------------------------------------------- /docs/static/img/router/cell_req_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/cell_req_error.png -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/api/build.mts: -------------------------------------------------------------------------------- 1 | import { build } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/web/webAuthn/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-env es6, commonjs */ 2 | module.exports = require('../dist/webAuthn') 3 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/web/webAuthn/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "./index.js", 3 | "types": "../dist/webAuthn.d.ts" 4 | } 5 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/auth/__tests__/fixtures/app/api/src/lib/supertokens1.ts: -------------------------------------------------------------------------------- 1 | // supertokens1.ts file should not be overwritten 2 | -------------------------------------------------------------------------------- /tasks/server-tests/fixtures/redwood-app/api/dist/functions/noHandler.js: -------------------------------------------------------------------------------- 1 | const version = '42' 2 | 3 | module.exports = { version } 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@redwoodjs/core/config/babel-preset'], 3 | } 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/admin/EditUserPage/EditUserPage.jsx: -------------------------------------------------------------------------------- 1 | export default () => 'I am an page in a subdirectory.' 2 | -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-db.png -------------------------------------------------------------------------------- /docs/static/img/mailer/template_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/mailer/template_preview.png -------------------------------------------------------------------------------- /docs/static/img/tutorial/grove-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/tutorial/grove-dashboard.png -------------------------------------------------------------------------------- /packages/cli/src/lib/__tests__/fixtures/merge/i18nIntoBase/it.txt: -------------------------------------------------------------------------------- 1 | merges i18next storybook configuration into base storybook configuration 2 | -------------------------------------------------------------------------------- /packages/mailer/handlers/in-memory/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Handler - In Memory 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/mailer/handlers/nodemailer/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Handler - Nodemailer 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/mailer/renderers/mjml-react/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Renderer - MJML React 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/prerender/@babel/register.d.ts: -------------------------------------------------------------------------------- 1 | declare module '@babel/register' { 2 | export default function (options: unknown): void 3 | } 4 | -------------------------------------------------------------------------------- /packages/storage/.gitignore: -------------------------------------------------------------------------------- 1 | src/__tests__/migrations/* 2 | src/__tests__/for_unit_test.db* 3 | .attw.json 4 | src/__tests__/prisma-client/* 5 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/rsc-caching/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/test-project/scripts/one/two/myNestedScript.ts: -------------------------------------------------------------------------------- 1 | export default async () => { 2 | console.log('Hello from myNestedScript.ts') 3 | } 4 | -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-after.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-after.png -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-before.png -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-queues.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-queues.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/schema-doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/schema-doc.png -------------------------------------------------------------------------------- /docs/static/img/router/fatal_error_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/fatal_error_message.png -------------------------------------------------------------------------------- /docs/static/img/router/fatal_error_request.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/fatal_error_request.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-7.x/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.0/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.1/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.2/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.3/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.4/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.5/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.6/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.7/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-8.8/ReactPlayer.jsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import ReactPlayer from 'react-player' 4 | 5 | export default ReactPlayer 6 | -------------------------------------------------------------------------------- /packages/internal/src/generate/types.ts: -------------------------------------------------------------------------------- 1 | export interface GeneratedFile { 2 | filename: string 3 | content: string 4 | hooks: string 5 | } 6 | -------------------------------------------------------------------------------- /packages/mailer/renderers/react-email/README.md: -------------------------------------------------------------------------------- 1 | # Mailer - Renderer - React Email 2 | 3 | **WIP**: This package is still a work in progress. 4 | -------------------------------------------------------------------------------- /packages/ogimage-gen/cjsWrappers/middleware.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | 3 | module.exports = require('../dist/OgImageMiddleware.js').default 4 | -------------------------------------------------------------------------------- /packages/ogimage-gen/cjsWrappers/plugin.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | 3 | module.exports = require('../dist/vite-plugin-ogimage-gen.js').default 4 | -------------------------------------------------------------------------------- /packages/structure/src/language_server/start.ts: -------------------------------------------------------------------------------- 1 | import { RWLanguageServer } from './RWLanguageServer' 2 | 3 | new RWLanguageServer().start() 4 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/empty-project/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/README.md: -------------------------------------------------------------------------------- 1 | RW smoke-test fixture project for RSAs with Forms 2 | 3 | Used by `.github/actions/set-up-rsc-from-fixture` 4 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/test-project/web/public/favicon.png -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-terminal.png -------------------------------------------------------------------------------- /docs/static/img/background-jobs/jobs-workers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/background-jobs/jobs-workers.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/contact-query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/contact-query.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/contact-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/contact-type.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/graphiql-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/graphiql-type.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/schema-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/schema-input.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/schema-scalar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/schema-scalar.png -------------------------------------------------------------------------------- /docs/static/img/router/custom_not_found_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/custom_not_found_page.png -------------------------------------------------------------------------------- /packages/api-server/src/__tests__/fixtures/redwood-app/api/dist/functions/noHandler.js: -------------------------------------------------------------------------------- 1 | const version = '42' 2 | 3 | module.exports = { version } 4 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/cell/cell-with-default-export/code.js: -------------------------------------------------------------------------------- 1 | export default () => { 2 | return 'string' 3 | } 4 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/cell/cell-with-default-export/output.js: -------------------------------------------------------------------------------- 1 | export default () => { 2 | return 'string' 3 | } 4 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/import-dir/import-dir-default/code.js: -------------------------------------------------------------------------------- 1 | import services from '../../__fixtures__/**/*.{js,ts}' 2 | -------------------------------------------------------------------------------- /packages/cli/src/lib/__tests__/fixtures/merge/chakraIntoI18n/it.txt: -------------------------------------------------------------------------------- 1 | merges chakra storybook configuration into base + i18n storybook configuration 2 | -------------------------------------------------------------------------------- /packages/internal/ambient.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'kill-port' { 2 | export default function (port: number, method: 'tcp' | 'udp'): Promise 3 | } 4 | -------------------------------------------------------------------------------- /.changesets/11601.md: -------------------------------------------------------------------------------- 1 | - Prompt to confirm upgrade (#11601) by @pantheredeye 2 | 3 | A prompt is added to `yarn rw upgrade` to confirm before starting. 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/NumTodosCell/NumTodosCell.mock.js: -------------------------------------------------------------------------------- 1 | export const standard = () => { 2 | return { todosCount: 42 } 3 | } 4 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/test-project-rsa/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/WaterfallPage/WaterfallPage.routeHooks.ts: -------------------------------------------------------------------------------- 1 | export async function routeParameters() { 2 | return [{ id: 2 }] 3 | } 4 | -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/schema-mutation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/schema-mutation.png -------------------------------------------------------------------------------- /docs/static/img/router/fatal_error_message_query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/fatal_error_message_query.png -------------------------------------------------------------------------------- /packages/babel-config/README.md: -------------------------------------------------------------------------------- 1 | # Redwood's Babel Config 2 | 3 | Redwood's Babel config. This package has been extracted out of `@redwoodjs/internal`. 4 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/auth/__tests__/fixtures/app/api/src/functions/supertokensAuth.ts: -------------------------------------------------------------------------------- 1 | // Existing authSupertokens.ts file should not be overwritten 2 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-many/.env.dev: -------------------------------------------------------------------------------- 1 | DEV_DATABASE_URL="postgresql://user:password@localhost:5432/mydevdb" 2 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-many/.env.prod: -------------------------------------------------------------------------------- 1 | PROD_DATABASE_URL="postgresql://user:password@localhost:5432/myproddb" 2 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-prod/.env.prod: -------------------------------------------------------------------------------- 1 | PROD_DATABASE_URL="postgresql://user:password@localhost:5432/myproddb" 2 | -------------------------------------------------------------------------------- /packages/framework-tools/README.md: -------------------------------------------------------------------------------- 1 | # Framework Tools 2 | 3 | Tooling used internally by the Redwood framework. 4 | This package isn't published to NPM. 5 | -------------------------------------------------------------------------------- /packages/graphql-server/src/global.api-auto-imports.ts: -------------------------------------------------------------------------------- 1 | import type _gql from 'graphql-tag' 2 | 3 | declare global { 4 | const gql: typeof _gql 5 | } 6 | -------------------------------------------------------------------------------- /packages/telemetry/src/scripts/invoke.ts: -------------------------------------------------------------------------------- 1 | import { sendTelemetry } from '../sendTelemetry' 2 | ;(async function () { 3 | await sendTelemetry() 4 | })() 5 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/example-todo-main/web/public/favicon.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/graphiql-mutations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/graphiql-mutations.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/graphiql-queries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/graphiql-queries.png -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/schema-directive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/schema-directive.png -------------------------------------------------------------------------------- /docs/static/img/router/fatal_something_went_wrong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/fatal_something_went_wrong.png -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@docusaurus/tsconfig" 4 | } 5 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-node-env/.env.prod: -------------------------------------------------------------------------------- 1 | PROD_DATABASE_URL="postgresql://user:password@localhost:5432/myproddb" 2 | -------------------------------------------------------------------------------- /packages/mailer/core/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './mailer' 2 | export * from './handler' 3 | export * from './renderer' 4 | 5 | export type * from './types' 6 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/redwood.graphql.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8888 3 | [graphql] 4 | fragments = true 5 | trustedDocuments = true 6 | -------------------------------------------------------------------------------- /packages/web/src/bundled/apollo-upload-client.ts: -------------------------------------------------------------------------------- 1 | import createUploadLink from 'apollo-upload-client/createUploadLink.mjs' 2 | 3 | export { createUploadLink } 4 | -------------------------------------------------------------------------------- /.changesets/11773.md: -------------------------------------------------------------------------------- 1 | - [TS + Docs] Include potential gql input variables in ListCell's Loading and Success component typing & improve TS docs (#11773) by @Philzen 2 | -------------------------------------------------------------------------------- /.changesets/11869.md: -------------------------------------------------------------------------------- 1 | - Fix Storybook preview config being set up in old config directory (#11869) by @Philzen 2 | 3 | Store Storybook config in `web/.storybook/` 4 | -------------------------------------------------------------------------------- /.github/actions/set-up-rsa-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "set-up-rsa-project", 3 | "version": "0.0.0", 4 | "private": true, 5 | "type": "module" 6 | } 7 | -------------------------------------------------------------------------------- /.github/actions/set-up-rsc-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "set-up-rsc-project", 3 | "version": "0.0.0", 4 | "private": true, 5 | "type": "module" 6 | } 7 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/fragment-test-project/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/WaterfallPage/WaterfallPage.routeHooks.ts: -------------------------------------------------------------------------------- 1 | export async function routeParameters() { 2 | return [{ id: 2 }] 3 | } 4 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/db/dev.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/test-project-rsc-kitchen-sink/api/db/dev.db -------------------------------------------------------------------------------- /docs/static/img/graphql-api-docs/graphiql-input-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/graphql-api-docs/graphiql-input-type.png -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/__fixtures__/a.test.js: -------------------------------------------------------------------------------- 1 | // This file should be ignored by import-dir 2 | 3 | export const noop = () => {} 4 | -------------------------------------------------------------------------------- /packages/context/src/global.api-auto-imports.ts: -------------------------------------------------------------------------------- 1 | import type { GlobalContext } from './context.js' 2 | 3 | declare global { 4 | const context: GlobalContext 5 | } 6 | -------------------------------------------------------------------------------- /packages/project-config/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './config.js' 2 | export * from './configPath.js' 3 | export * from './paths.js' 4 | export * from './findUp.js' 5 | -------------------------------------------------------------------------------- /tsconfig.eslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.compilerOption.json", 3 | "exclude": ["dist", "node_modules", "**/__mocks__"], 4 | "include": ["**/*"] 5 | } 6 | -------------------------------------------------------------------------------- /.changesets/11718.md: -------------------------------------------------------------------------------- 1 | - fix(dbAuth): Don't use Multi Value Headers on Vercel (#11718) by @Tobbe 2 | 3 | Fixes a regression regarding dbAuth on Vercel introduced in RW 8 4 | -------------------------------------------------------------------------------- /.changesets/11766.md: -------------------------------------------------------------------------------- 1 | - Fix AuthProviderProps export missing from `@redwood/auth` (#11766) by @Philzen 2 | 3 | `AuthProviderProps` is now exported from `@redwood/auth` 4 | -------------------------------------------------------------------------------- /.changesets/11879.md: -------------------------------------------------------------------------------- 1 | - fix(forms): Re-export InputFieldProps (#11879) by @Tobbe 2 | 3 | Makes it possible to import the `InputFieldProps` type from `@redwoodjs/forms` 4 | -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- 1 | paths: 2 | - packages 3 | paths-ignore: 4 | - '**/*.test.js' 5 | - '**/*.test.ts' 6 | - '**/*/__tests__/*' 7 | - '**/*.md' 8 | -------------------------------------------------------------------------------- /docs/static/img/router/fatal_something_went_wrong_custom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/docs/static/img/router/fatal_something_went_wrong_custom.png -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-collision/.env.base: -------------------------------------------------------------------------------- 1 | DATABASE_URL="postgresql://user:password@localhost:5432/mydb" 2 | TEST_BASE=1 3 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/redwood.studio.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8888 3 | [studio] 4 | [studio.graphiql] 5 | endpoint = "graphql-endpoint" 6 | -------------------------------------------------------------------------------- /tasks/server-tests/fixtures/redwood-app/web/dist/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/tasks/server-tests/fixtures/redwood-app/web/dist/favicon.png -------------------------------------------------------------------------------- /.changesets/11459.md: -------------------------------------------------------------------------------- 1 | - fix(jobs): Make deleteSuccessfulJobs configurable (#11459) by @Tobbe 2 | 3 | Make the jobs Executor respect the `deleteSuccessfulJobs` config option 4 | -------------------------------------------------------------------------------- /.changesets/11758.md: -------------------------------------------------------------------------------- 1 | - feat(cells): Optimize default afterQuery by avoiding memcopy (#11758) by @Philzen 2 | 3 | Directly return `data` without fist making a 1:1 copy of it 4 | -------------------------------------------------------------------------------- /.changesets/11878.md: -------------------------------------------------------------------------------- 1 | - Update to @typescript-eslint version that supports TypeScript 5.6.2 (#11878) by @Philzen 2 | 3 | Fix TS version warning when running `yarn rw lint` 4 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | compressionLevel: 0 2 | 3 | enableGlobalCache: true 4 | 5 | nmMode: hardlinks-local 6 | 7 | nodeLinker: node-modules 8 | 9 | preferInteractive: true 10 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/graphql.config.js: -------------------------------------------------------------------------------- 1 | const { getPaths } = require('@redwoodjs/internal') 2 | 3 | module.exports = { 4 | schema: getPaths().generated.schema, 5 | } 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/TableCell/TableCell.js: -------------------------------------------------------------------------------- 1 | export default () => { 2 | return (<>I am not a cell, I am a component that is named cell.) 3 | } -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/babel-config/.babelrc.js: -------------------------------------------------------------------------------- 1 | // Even though this package is built without Babel, we need this file for Jest. 2 | module.exports = { extends: '../../babel.config.js' } 3 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-node-env/.env.bazinga: -------------------------------------------------------------------------------- 1 | PROD_DATABASE_URL="postgresql://user:password@localhost:5432/bazinga" 2 | BAZINGA=1 3 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/api/typecast.ts: -------------------------------------------------------------------------------- 1 | const from = await user({ id: submittal.fromId }) 2 | const to = await user({ id: submittal.toId }) 3 | -------------------------------------------------------------------------------- /packages/storage/src/__typetests__/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "types": [] 5 | }, 6 | "exclude": [] 7 | } 8 | -------------------------------------------------------------------------------- /packages/structure/src/x/decorators.ts: -------------------------------------------------------------------------------- 1 | export { LazyGetter as lazy } from 'lazy-get-decorator' 2 | export { Debounce as debounce, Memoize as memo } from 'lodash-decorators' 3 | -------------------------------------------------------------------------------- /tasks/k6-test/setups/scalable_graphql_schema/templates/relation.sdl.ts: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Relation { 3 | id: Int! 4 | name: String! 5 | } 6 | ` 7 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/example-todo-main-with-errors/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/graphql.config.js: -------------------------------------------------------------------------------- 1 | const { getPaths } = require('@redwoodjs/internal') 2 | 3 | module.exports = { 4 | schema: getPaths().generated.schema, 5 | } 6 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/__fixtures__/test-project-rsc-kitchen-sink/web/public/favicon.png -------------------------------------------------------------------------------- /__fixtures__/test-project/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/packages/create-redwood-app/templates/js/web/public/favicon.png -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/packages/create-redwood-app/templates/ts/web/public/favicon.png -------------------------------------------------------------------------------- /.changesets/11920.md: -------------------------------------------------------------------------------- 1 | - fix(cli): Pin TailwindCSS to v3 (#11920) by @Tobbe 2 | 3 | Pinning TW to v3 for our `yarn rw setup ui tailwind` command until we've added 4 | support for TW v4 5 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/lib/__tests__/__fixtures__/redwood-app-env-collision/.env.collision: -------------------------------------------------------------------------------- 1 | DATABASE_URL="postgresql://user:password@localhost:5432/mycollisiondb" 2 | TEST_COLLISION=1 3 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/model/templates/model.js.template: -------------------------------------------------------------------------------- 1 | import { RedwoodRecord } from '@redwoodjs/record' 2 | 3 | export default class ${name} extends RedwoodRecord {} 4 | -------------------------------------------------------------------------------- /packages/internal/src/dev.ts: -------------------------------------------------------------------------------- 1 | import kill from 'kill-port' 2 | 3 | export const shutdownPort = (port: number, method: 'tcp' | 'udp' = 'tcp') => { 4 | return kill(port, method) 5 | } 6 | -------------------------------------------------------------------------------- /.changesets/11651.md: -------------------------------------------------------------------------------- 1 | - fix(crwa): Add missing quotes to seed example (#11651) by @Tobbe 2 | 3 | Just un-commenting the example seed code now gives you valid code to seed your database with 4 | -------------------------------------------------------------------------------- /.github/actions/set-up-rsc-kitchen-sink-project/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "set-up-rsc-kitchen-sink-project", 3 | "version": "0.0.0", 4 | "private": true, 5 | "type": "module" 6 | } 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/layouts/SetLayout/SetLayout.js: -------------------------------------------------------------------------------- 1 | export default ({ children }) => ( 2 | <> 3 |

Set Layout

4 |
{children}
5 | 6 | ) 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/pages/NotFoundPage/NotFoundPage.js: -------------------------------------------------------------------------------- 1 | const NotFoundPage = () => { 2 | return
Page Not Found
3 | } 4 | 5 | export default NotFoundPage 6 | -------------------------------------------------------------------------------- /__fixtures__/test-project/api/db/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "sqlite" -------------------------------------------------------------------------------- /packages/cli-packages/dataMigrate/.babelrc.js: -------------------------------------------------------------------------------- 1 | // Even though this package is built without Babel, we need this file for Jest. 2 | module.exports = { extends: '../../../babel.config.js' } 3 | -------------------------------------------------------------------------------- /packages/cli/src/lib/__tests__/fixtures/code.js: -------------------------------------------------------------------------------- 1 | const line1 = "The quick brown ${pluralCamelName} jumps over the lazy ${foo}."; 2 | const line2 = 'Sphinx of black quartz, judge my vow.' 3 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/updateThemeConfig/__testfixtures__/identifierTheme.input.js: -------------------------------------------------------------------------------- 1 | const customTheme = { 2 | bazinga: 'kittens' 3 | } 4 | 5 | module.exports = customTheme 6 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/updateThemeConfig/__testfixtures__/identifierTheme.output.js: -------------------------------------------------------------------------------- 1 | const customTheme = { 2 | bazinga: 'kittens' 3 | } 4 | 5 | export default customTheme 6 | -------------------------------------------------------------------------------- /packages/tui/README.md: -------------------------------------------------------------------------------- 1 | # TUI 2 | 3 | Terminal User Interface for RedwoodJS. A collection of helpful functions to standardise and simplify terminal output. 4 | 5 | ## API 6 | 7 | **TODO** 8 | -------------------------------------------------------------------------------- /.github/actions/require-milestone/action.yml: -------------------------------------------------------------------------------- 1 | name: Require milestone 2 | description: Ensures that a PR has a valid milestone 3 | 4 | runs: 5 | using: node20 6 | main: requireMilestone.mjs 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "api", 4 | "version": "0.0.0", 5 | "dependencies": { 6 | "@redwoodjs/api": "canary" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/graphql/currentUser.sdl.ts: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | currentUser: JSON 4 | } 5 | ` 6 | 7 | const a = (x: string) => { return x } -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/src/__fixtures__/main/web/dist/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/packages/adapters/fastify/web/src/__fixtures__/main/web/dist/favicon.png -------------------------------------------------------------------------------- /packages/api/vitest.setup.mts: -------------------------------------------------------------------------------- 1 | // Set the default webhook secret for all tests 2 | process.env = Object.assign(process.env, { 3 | WEBHOOK_SECRET: 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME', 4 | }) 5 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/.env.example: -------------------------------------------------------------------------------- 1 | # DATABASE_URL=file:./dev.db 2 | # TEST_DATABASE_URL=file:./.redwood/test.db 3 | # PRISMA_HIDE_UPDATE_MESSAGE=true 4 | # LOG_LEVEL=trace 5 | -------------------------------------------------------------------------------- /packages/web/src/__typetests__/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "types": [] 5 | }, 6 | "include": ["./"], 7 | "exclude": [] 8 | } 9 | -------------------------------------------------------------------------------- /tasks/server-tests/fixtures/redwood-app/api/dist/functions/health.js: -------------------------------------------------------------------------------- 1 | const handler = async () => { 2 | return { 3 | statusCode: 200, 4 | } 5 | } 6 | 7 | module.exports = { handler } 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/dev/tests/dev.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { smokeTest } from '../../shared/common' 4 | 5 | test('Smoke test with dev server', smokeTest) 6 | -------------------------------------------------------------------------------- /tasks/smoke-tests/serve/tests/serve.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { smokeTest } from '../../shared/common' 4 | 5 | test('Smoke test with rw serve', smokeTest) 6 | -------------------------------------------------------------------------------- /.changesets/11724.md: -------------------------------------------------------------------------------- 1 | - fix(ogimage): Corrected package.json exports (#11724) by @Tobbe 2 | 3 | Fix publish warnings in our ogImage package. Making TS types available for anyone using this package 4 | -------------------------------------------------------------------------------- /.changesets/11746.md: -------------------------------------------------------------------------------- 1 | - Fix absolute & component folder imports in Storybook config folder (#11746) by @Philzen 2 | 3 | Include the storybook config folder in the includes in `{ts,js}config.json` 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/src/pages/NotFoundPage/NotFoundPage.js: -------------------------------------------------------------------------------- 1 | const NotFoundPage = () => { 2 | return
Page Not Found
3 | } 4 | 5 | export default NotFoundPage 6 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/api/db/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "sqlite" -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/components/RandomNumberServerCell/RandomNumberServerCell.css: -------------------------------------------------------------------------------- 1 | .random-number-server-cell { 2 | border: 1px dotted gray; 3 | padding: 1em; 4 | } 5 | -------------------------------------------------------------------------------- /packages/api-server/src/__tests__/fixtures/redwood-app/web/dist/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redwoodjs/graphql/HEAD/packages/api-server/src/__tests__/fixtures/redwood-app/web/dist/favicon.png -------------------------------------------------------------------------------- /packages/cli/vitest.setup.mts: -------------------------------------------------------------------------------- 1 | import { beforeAll } from 'vitest' 2 | 3 | // Disable telemetry within framework tests 4 | beforeAll(() => { 5 | process.env.REDWOOD_DISABLE_TELEMETRY = '1' 6 | }) 7 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v5.x.x/updateNodeEngineTo18/README.md: -------------------------------------------------------------------------------- 1 | # Update Node Engine to 18 2 | 3 | This codemod updates the `engines.node` key in a project's root `package.json` to `"=18.x"`. 4 | -------------------------------------------------------------------------------- /packages/core/README.md: -------------------------------------------------------------------------------- 1 | # Core 2 | 3 | This package contains configuration and common dependencies required by a RedwoodJS project. 4 | 5 | ## Package Leads 6 | 7 | - @peterp 8 | - @thedavidprice 9 | -------------------------------------------------------------------------------- /packages/router/src/__typetests__/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "types": [] 5 | }, 6 | "include": ["./"], 7 | "exclude": [] 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "api", 4 | "version": "0.0.0", 5 | "dependencies": { 6 | "@redwoodjs/api": "canary" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/src/components/TableCell/TableCell.js: -------------------------------------------------------------------------------- 1 | 2 | const Component = () => <>I am not a "Cell", I am an ordinary React Component. 3 | 4 | export default Component -------------------------------------------------------------------------------- /packages/auth/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/graphql-server/vitest.setup.mts: -------------------------------------------------------------------------------- 1 | // Set the default webhook secret for all tests 2 | process.env = Object.assign(process.env, { 3 | WEBHOOK_SECRET: 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME', 4 | }) 5 | -------------------------------------------------------------------------------- /packages/router/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/testing/config/jest/web/webBabelConfig.js: -------------------------------------------------------------------------------- 1 | const { getWebSideDefaultBabelConfig } = require('@redwoodjs/babel-config') 2 | 3 | module.exports = getWebSideDefaultBabelConfig({ forJest: true }) 4 | -------------------------------------------------------------------------------- /packages/tui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist" 6 | }, 7 | "include": ["src"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tasks/test-project/codemods/producesSdl.ts: -------------------------------------------------------------------------------- 1 | import type { FileInfo } from 'jscodeshift' 2 | 3 | export default (file: FileInfo) => { 4 | return file.source.replaceAll('@requireAuth', '@skipAuth') 5 | } 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosMutations.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | deleteTodo(id: Int!): Todo! @requireAuth(roles: ["ADMIN"]) 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/db/migrations/migration_lock.toml: -------------------------------------------------------------------------------- 1 | # Please do not edit this file manually 2 | # It should be added in your version-control system (i.e. Git) 3 | provider = "sqlite" -------------------------------------------------------------------------------- /packages/api-server/src/__tests__/fixtures/redwood-app/api/dist/functions/health.js: -------------------------------------------------------------------------------- 1 | const handler = async () => { 2 | return { 3 | statusCode: 200, 4 | } 5 | } 6 | 7 | module.exports = { handler } 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/replaceComponentSvgs/__testfixtures__/simple/input/Simple.jsx: -------------------------------------------------------------------------------- 1 | import BazingaSvg from './bazinga.svg' 2 | 3 | const MyComponent = () => { 4 | return 5 | } 6 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/replaceComponentSvgs/__testfixtures__/simple/output/Simple.jsx: -------------------------------------------------------------------------------- 1 | import BazingaSvg from "./BazingaSVG" 2 | 3 | const MyComponent = () => { 4 | return 5 | } 6 | -------------------------------------------------------------------------------- /packages/context/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/nestedPages/web/src/auth.ts: -------------------------------------------------------------------------------- 1 | import { createAuthentication } from "@redwoodjs/auth"; 2 | 3 | export const { AuthProvider, useAuth } = createAuthentication({} as any) 4 | -------------------------------------------------------------------------------- /packages/vite/src/build/__tests__/fixtures/nestedPages/web/src/auth.ts: -------------------------------------------------------------------------------- 1 | import { createAuthentication } from "@redwoodjs/auth"; 2 | 3 | export const { AuthProvider, useAuth } = createAuthentication({} as any) 4 | -------------------------------------------------------------------------------- /tasks/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "moduleResolution": "NodeNext", 5 | "module": "NodeNext", 6 | "allowJs": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.changesets/11744.md: -------------------------------------------------------------------------------- 1 | - fix: :bug: add custom headers to subscription in apollo client (#11744) by @dennemark 2 | 3 | Allow passing custom headers to `sseLink`, which is used by the Apollo client for subscriptions. 4 | -------------------------------------------------------------------------------- /docs/i18n/en/code.json: -------------------------------------------------------------------------------- 1 | { 2 | "theme.common.editThisPage": { 3 | "message": "Edit the latest version of this page", 4 | "description": "The link label to edit the latest version of this page" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/vitest.setup.mts: -------------------------------------------------------------------------------- 1 | import { beforeAll } from 'vitest' 2 | 3 | // Disable telemetry within framework tests 4 | beforeAll(() => { 5 | process.env.REDWOOD_DISABLE_TELEMETRY = '1' 6 | }) 7 | -------------------------------------------------------------------------------- /packages/cli-helpers/src/auth/__tests__/fixtures/dbAuthSetup/templates/web/auth.ts.template: -------------------------------------------------------------------------------- 1 | import { createAuth } from '@redwoodjs/auth-dbauth-web' 2 | 3 | export const { AuthProvider, useAuth } = createAuth() 4 | -------------------------------------------------------------------------------- /packages/framework-tools/build.ts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from './src/buildDefaults' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | format: 'esm', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/internal/src/generate/templates/api-globalContext.d.ts.template: -------------------------------------------------------------------------------- 1 | import type { GlobalContext } from "@redwoodjs/context" 2 | 3 | export {} 4 | 5 | declare global { 6 | const context: GlobalContext 7 | } 8 | -------------------------------------------------------------------------------- /packages/realtime/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist" 6 | }, 7 | "include": ["src/**/*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/web/testing-library.d.ts: -------------------------------------------------------------------------------- 1 | // Extend expect(*) from Vitest with TestingLibraryMatchers 2 | // The import path is a bit strange, but look inside the package! 3 | 4 | import '@testing-library/jest-dom/vitest' 5 | -------------------------------------------------------------------------------- /.changesets/11946.md: -------------------------------------------------------------------------------- 1 | - feat(scripts): Args type for script arguments (#11946) by @Tobbe 2 | 3 | Generated scripts will now come with an `Args` interface that you can add your 4 | arguments to for better TS support. 5 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithNumericRoleAuthError.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithInvalidRole: [Todo] @requireAuth(roles: 12) 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/route-auto-loader/failure/web/src/pages/HomePage/useHomePage.tsx: -------------------------------------------------------------------------------- 1 | const useHomePage = () => { 2 | return 'useHomePage' 3 | } 4 | 5 | export default useHomePage 6 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v5.x.x/renameValidateWith/__testfixtures__/default.input.js: -------------------------------------------------------------------------------- 1 | validateWith(() => { 2 | if (input.name === 'Name') { 3 | throw "You'll have to be more creative than that" 4 | } 5 | }) 6 | -------------------------------------------------------------------------------- /packages/cookie-jar/build.mts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from '@redwoodjs/framework-tools' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | format: 'cjs', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/forms/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | environment: 'jsdom', 6 | setupFiles: ['vitest.setup.mts'], 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/internal/src/generate/templates/api-test-globals.d.ts.template: -------------------------------------------------------------------------------- 1 | import type { CurrentUser } from '@redwoodjs/auth' 2 | 3 | declare global { 4 | const mockCurrentUser: (currentUser: CurrentUser) => void 5 | } 6 | -------------------------------------------------------------------------------- /packages/server-store/build.mts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from '@redwoodjs/framework-tools' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | format: 'cjs', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /.changesets/11745.md: -------------------------------------------------------------------------------- 1 | - [Storybook] Improve typing, add doc links & remove redundant JSDoc in preview.tsx (#11745) by @Philzen 2 | 3 | Better types for storybook preview config 4 | Better IntelliSense hints for storybook 5 | -------------------------------------------------------------------------------- /.changesets/11889.md: -------------------------------------------------------------------------------- 1 | - feat(dbAuth): Lax SameSite cookie policy (#11889) by @Tobbe 2 | 3 | Setting the `SameSite` cookie policy to `Lax` allows users to be immediately 4 | authenticated when arriving from external domains. 5 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/HomePage/HomePage.tsx: -------------------------------------------------------------------------------- 1 | import BlogPostsCell from 'src/components/BlogPostsCell' 2 | 3 | const HomePage = () => { 4 | return 5 | } 6 | 7 | export default HomePage 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/Post/PostsPage/PostsPage.tsx: -------------------------------------------------------------------------------- 1 | import PostsCell from 'src/components/Post/PostsCell' 2 | 3 | const PostsPage = () => { 4 | return 5 | } 6 | 7 | export default PostsPage 8 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v5.x.x/renameValidateWith/__testfixtures__/default.output.js: -------------------------------------------------------------------------------- 1 | validateWithSync(() => { 2 | if (input.name === 'Name') { 3 | throw "You'll have to be more creative than that" 4 | } 5 | }) 6 | -------------------------------------------------------------------------------- /packages/context/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './context.js' 2 | // Note: store is not exported here to discourage direct usage. 3 | 4 | import './global.api-auto-imports.js' 5 | export * from './global.api-auto-imports.js' 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithAuthMissingRoleError.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithMissingRoles: [Todo] @requireAuth(roles: [null, 12]) 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "src/*": ["./src/*"] 6 | } 7 | }, 8 | "include": ["src/**/*"] 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/Post/NewPostPage/NewPostPage.tsx: -------------------------------------------------------------------------------- 1 | import NewPost from 'src/components/Post/NewPost' 2 | 3 | const NewPostPage = () => { 4 | return 5 | } 6 | 7 | export default NewPostPage 8 | -------------------------------------------------------------------------------- /packages/api/src/cache/errors.ts: -------------------------------------------------------------------------------- 1 | export class CacheTimeoutError extends Error { 2 | constructor() { 3 | super('Timed out waiting for response from the cache server') 4 | this.name = 'CacheTimeoutError' 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/api/src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './DbAuthHandler' 2 | export { PasswordValidationError } from './errors' 3 | export * from './shared' 4 | export { authDecoder, createAuthDecoder } from './decoder' 5 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/cell/cell-with-default-and-other-named-export/code.js: -------------------------------------------------------------------------------- 1 | export const Success = () => { 2 | return 'string' 3 | } 4 | 5 | export default () => { 6 | return 'string' 7 | } 8 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/cell/cell-with-default-and-other-named-export/output.js: -------------------------------------------------------------------------------- 1 | export const Success = () => { 2 | return 'string' 3 | } 4 | export default () => { 5 | return 'string' 6 | } 7 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/mock-cell-data/output_NumTodosCell.mock.js: -------------------------------------------------------------------------------- 1 | export const standard = mockGraphQLQuery('NumTodosCell_GetCount', () => { 2 | return { 3 | todosCount: 42, 4 | } 5 | }) 6 | -------------------------------------------------------------------------------- /packages/cli-packages/storybook-vite/src/types.ts: -------------------------------------------------------------------------------- 1 | export interface StorybookYargsOptions { 2 | open: boolean 3 | build: boolean 4 | ci: boolean 5 | port: number 6 | buildDirectory: string 7 | smokeTest: boolean 8 | } 9 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v7.x.x/updateGraphQLConfig/__testfixtures__/input/graphql.config.js: -------------------------------------------------------------------------------- 1 | const { getPaths } = require('@redwoodjs/internal') 2 | 3 | module.exports = { 4 | schema: getPaths().generated.schema, 5 | } 6 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/realtime/api/src/graphql/currentUser.sdl.ts: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | currentUser: JSON 4 | } 5 | ` 6 | 7 | const a = (x: string) => { return x } -------------------------------------------------------------------------------- /packages/web-server/src/types.ts: -------------------------------------------------------------------------------- 1 | import type { RedwoodFastifyWebOptions } from '@redwoodjs/fastify-web' 2 | 3 | export type ParsedOptions = { 4 | port?: number 5 | host?: string 6 | } & RedwoodFastifyWebOptions['redwood'] 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithAuthInvalidRolesErrors.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithInvalidRoles: [Todo] @requireAuth(roles: ["admin", 12]) 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithMissingAuthRolesAttributeError.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithMissingRolesAttribute: [Todo] @requireAuth("ADMIN") 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/Post/PostsPage/PostsPage.tsx: -------------------------------------------------------------------------------- 1 | import PostsCell from 'src/components/Post/PostsCell' 2 | 3 | const PostsPage = () => { 4 | return 5 | } 6 | 7 | export default PostsPage 8 | -------------------------------------------------------------------------------- /docs/src/pages/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | import { Redirect } from '@docusaurus/router' 4 | 5 | function Home() { 6 | return 7 | } 8 | 9 | export default Home 10 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/middleware/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/middleware/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/dataMigration/templates/dataMigration.ts.template: -------------------------------------------------------------------------------- 1 | import type { PrismaClient } from '@prisma/client' 2 | 3 | export default async ({ db }: { db: PrismaClient }) => { 4 | // Migration here... 5 | } 6 | -------------------------------------------------------------------------------- /packages/cli/src/lib/__tests__/fixtures/prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | trailingComma: 'es5', 3 | bracketSpacing: true, 4 | tabWidth: 2, 5 | semi: false, 6 | singleQuote: true, 7 | arrowParens: 'always', 8 | } 9 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/input/web/src/layouts/TestLayout/TestLayout.js: -------------------------------------------------------------------------------- 1 | const TestLayout = ({ children }) => { 2 | return <>{children} 3 | } 4 | 5 | export default TestLayout 6 | -------------------------------------------------------------------------------- /packages/internal/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | await copyAssets({ 5 | buildFileUrl: import.meta.url, 6 | patterns: ['generate/templates/**/*.template'], 7 | }) 8 | -------------------------------------------------------------------------------- /packages/internal/src/generate/templates/mirror-directoryNamedModule.d.ts.template: -------------------------------------------------------------------------------- 1 | import { default as DEFAULT } from './${name}' 2 | export default DEFAULT 3 | export * from './${name}' 4 | 5 | //# sourceMappingURL=index.d.ts.map 6 | -------------------------------------------------------------------------------- /.changesets/11684.md: -------------------------------------------------------------------------------- 1 | - feat(rsc): dev server (#11684) by @Tobbe 2 | 3 | ✅ Adds support for running `yarn rw dev` with RSC projects 4 | ✅ Adds support for fast-refresh for client components 5 | ❌ Adds support for HMR for server components 6 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/Post/NewPostPage/NewPostPage.tsx: -------------------------------------------------------------------------------- 1 | import NewPost from 'src/components/Post/NewPost' 2 | 3 | const NewPostPage = () => { 4 | return 5 | } 6 | 7 | export default NewPostPage 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/Counter.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This should affect all h3 elements on the page, both server components and 3 | * client components. This is just standard CSS stuff 4 | */ 5 | h3 { 6 | color: orange; 7 | } 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/config/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ['src/**/*.{js,jsx,ts,tsx}'], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | } 9 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "8.0.0", 3 | "npmClient": "yarn", 4 | "command": { 5 | "publish": { 6 | "verifyAccess": false 7 | } 8 | }, 9 | "$schema": "node_modules/lerna/schemas/lerna-schema.json" 10 | } 11 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/web/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | environment: 'jsdom', 6 | setupFiles: ['vitest.setup.mts'], 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/output/web/src/layouts/TestLayout/TestLayout.jsx: -------------------------------------------------------------------------------- 1 | const TestLayout = ({ children }) => { 2 | return <>{children} 3 | } 4 | 5 | export default TestLayout 6 | -------------------------------------------------------------------------------- /packages/create-redwood-app/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, 'templates/**'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /.changesets/11771.md: -------------------------------------------------------------------------------- 1 | - breaking(dbAuth): rename cookieName() -> generateCookieName() (#11771) by @Tobbe 2 | 3 | If you were importing `cookieName` from `@redwoodjs/auth-dbauth-api` you will need to update your imports to `generateCookieName`. 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithMissingAuthRolesAttributeNumericError.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithMissingRolesAttributeNumeric: [Todo] @requireAuth(42) 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/TodoListCell/TodoListCell.mock.js: -------------------------------------------------------------------------------- 1 | export const standard = () => ({ 2 | todos: [ 3 | { 4 | id: 1, 5 | body: 'Cheese', 6 | status: '', 7 | }, 8 | ], 9 | }) 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/auth.ts: -------------------------------------------------------------------------------- 1 | import { createDbAuthClient, createAuth } from '@redwoodjs/auth-dbauth-web' 2 | 3 | const dbAuthClient = createDbAuthClient() 4 | 5 | export const { AuthProvider, useAuth } = createAuth(dbAuthClient) 6 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/withoutJSX/input/util.js: -------------------------------------------------------------------------------- 1 | // This doesn't have JSX like
content
or <>content 2 | export function logTime(){ 3 | console.log(new Date().toISOString()) 4 | } 5 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/withoutJSX/output/util.js: -------------------------------------------------------------------------------- 1 | // This doesn't have JSX like
content
or <>content 2 | export function logTime(){ 3 | console.log(new Date().toISOString()) 4 | } 5 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/code/__tests__/codemod.test.ts.template: -------------------------------------------------------------------------------- 1 | describe('${name}', () => { 2 | it('Converts world to bazinga', async () => { 3 | await matchTransformSnapshot('${name}', 'default') 4 | }) 5 | }) 6 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/invalidQueryType/web/src/gql.js: -------------------------------------------------------------------------------- 1 | export const someOtherQuery = gql` 2 | query FindSoftKitten($id: String!) { 3 | softKitten: softKitten(id: $id) { 4 | id 5 | } 6 | } 7 | ` 8 | -------------------------------------------------------------------------------- /tasks/k6-test/setups/context_magic_number/templates/benchmark.sdl.ts: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type MagicNumber { 3 | value: Int! 4 | } 5 | type Mutation { 6 | magicNumber(value: Int!): MagicNumber! @skipAuth 7 | } 8 | ` 9 | -------------------------------------------------------------------------------- /tasks/smoke-tests/dev/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/rsc/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/serve/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /.changesets/11572.md: -------------------------------------------------------------------------------- 1 | - Default NODE_ENV to "development" if it's `undefined` when starting jobs worker (#11572) by @cannikin 2 | 3 | This mimics the behavior of `yarn rw dev` where `NODE_ENV` will equal `development` if you don't set it explicitly. 4 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "canary", 7 | "@redwoodjs/graphql-server": "canary" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "src/*": ["./src/*"] 6 | } 7 | }, 8 | "include": ["generated/**/*", "src/**/*"] 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | dist 4 | yarn-error.log 5 | .docz 6 | .env 7 | .DS_Store 8 | .wip 9 | api/prisma/dev.sqlite 10 | 11 | # Generated files 12 | .redwood 13 | api/types/ 14 | web/types/ 15 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/config/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ['src/**/*.{js,jsx,ts,tsx}'], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | } 9 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/custom/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/custom/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/cli-helpers/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures', '**/mockFsFiles'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/structure/__testfixtures__/default/input/babel.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@babel/core').TransformOptions} */ 2 | module.exports = { 3 | presets: ['@redwoodjs/core/config/babel-preset'], 4 | } 5 | -------------------------------------------------------------------------------- /tasks/e2e/cypress/e2e/01-tutorial/codemods/Step3_3_PagesHome.js: -------------------------------------------------------------------------------- 1 | export default ` 2 | // web/src/pages/HomePage/HomePage.js 3 | 4 | const HomePage = () => { 5 | 6 | return
Home
7 | } 8 | 9 | export default HomePage 10 | ` 11 | -------------------------------------------------------------------------------- /tasks/smoke-tests/rsc-dev/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /.changesets/11693.md: -------------------------------------------------------------------------------- 1 | - Fix build with TS alias without basePath (#11693) by @callingmedic911 2 | 3 | It fixes the build process for a project with TypeScript path alias. It uses root directory as the fallback if there's no baseUrl in `tsconfig.json`. 4 | -------------------------------------------------------------------------------- /.github/actions/detect-changes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "detect-changes", 3 | "private": true, 4 | "dependencies": { 5 | "@actions/core": "1.11.1", 6 | "@actions/exec": "1.1.1" 7 | }, 8 | "packageManager": "yarn@4.6.0" 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/Check/off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/Check/on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/auth.ts: -------------------------------------------------------------------------------- 1 | import { createDbAuthClient, createAuth } from '@redwoodjs/auth-dbauth-web' 2 | 3 | const dbAuthClient = createDbAuthClient() 4 | 5 | export const { AuthProvider, useAuth } = createAuth(dbAuthClient) 6 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/src/components/ServerDelayForm/ServerDelayForm.css: -------------------------------------------------------------------------------- 1 | .server-delay-form { 2 | padding: 1rem; 3 | 4 | label div { 5 | margin-bottom: 4px; 6 | } 7 | 8 | input { 9 | margin-right: 4px; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /__fixtures__/test-project/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/Contact/ContactsPage/ContactsPage.tsx: -------------------------------------------------------------------------------- 1 | import ContactsCell from 'src/components/Contact/ContactsCell' 2 | 3 | const ContactsPage = () => { 4 | return 5 | } 6 | 7 | export default ContactsPage 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/Contact/NewContactPage/NewContactPage.tsx: -------------------------------------------------------------------------------- 1 | import NewContact from 'src/components/Contact/NewContact' 2 | 3 | const NewContactPage = () => { 4 | return 5 | } 6 | 7 | export default NewContactPage 8 | -------------------------------------------------------------------------------- /docs/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "8.8", 3 | "8.7", 4 | "8.6", 5 | "8.5", 6 | "8.4", 7 | "8.3", 8 | "8.2", 9 | "8.1", 10 | "8.0", 11 | "7.x", 12 | "6.x", 13 | "5.x", 14 | "4.x", 15 | "3.x", 16 | "2.x", 17 | "1.x" 18 | ] 19 | -------------------------------------------------------------------------------- /packages/api-server/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | pool: 'threads', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/middleware/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/middleware/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/babel-config/src/__tests__/__fixtures__/redwood-app/api/src/lib/directoryGlobImports.ts: -------------------------------------------------------------------------------- 1 | import directives from 'src/directives/**/*.{js,ts}' 2 | import sdls from 'src/graphql/**/*.sdl.{js,ts}' 3 | import services from 'src/services/**/*.{js,ts}' 4 | -------------------------------------------------------------------------------- /packages/jobs/src/util.ts: -------------------------------------------------------------------------------- 1 | import { pathToFileURL } from 'node:url' 2 | 3 | // TODO(jgmw): Refactor and move this into `@redwoodjs/project-config` or similar 4 | export function makeFilePath(path: string) { 5 | return pathToFileURL(path).href 6 | } 7 | -------------------------------------------------------------------------------- /packages/realtime/src/graphql/plugins/__tests__/__snapshots__/useRedwoodRealtime.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`useRedwoodRealtime > should update schema with live directive 1`] = `"@live"`; 4 | -------------------------------------------------------------------------------- /packages/vite/src/streaming/transforms/cancelTimeoutTransform.ts: -------------------------------------------------------------------------------- 1 | export function createTimeoutTransform(timeoutHandle: NodeJS.Timeout) { 2 | return new TransformStream({ 3 | flush() { 4 | clearTimeout(timeoutHandle) 5 | }, 6 | }) 7 | } 8 | -------------------------------------------------------------------------------- /tasks/test-project/templates/web/Card.tsx: -------------------------------------------------------------------------------- 1 | const Card = ({ children }) => { 2 | return ( 3 |
4 | {children} 5 |
6 | ) 7 | } 8 | 9 | export default Card 10 | -------------------------------------------------------------------------------- /.changesets/11591.md: -------------------------------------------------------------------------------- 1 | - fix(router): Add missing dependency for RSC (#11591) by @Tobbe 2 | 3 | Adding missing dependency `react-server-dom-webpack` to the `@redwoodjs/router` package. This should fix an error some people were seeing when trying to use RSC. 4 | -------------------------------------------------------------------------------- /.github/actions/check_changesets/action.yml: -------------------------------------------------------------------------------- 1 | name: Check changesets 2 | description: Checks if changeset was added to the PR 3 | 4 | runs: 5 | using: node20 6 | main: check_changesets.mjs 7 | 8 | inputs: 9 | labels: 10 | required: true 11 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.tabSize": 2, 3 | "files.trimTrailingWhitespace": true, 4 | "eslint.format.enable": true, 5 | 6 | "editor.codeActionsOnSave": { 7 | "source.fixAll": true, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/src/components/Counter/Counter.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This should affect all h3 elements on the page, both server components and 3 | * client components. This is just standard CSS stuff 4 | */ 5 | h3 { 6 | color: orange; 7 | } 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/MultiCellPage/MultiCellPage.css: -------------------------------------------------------------------------------- 1 | .multi-cell-page { 2 | padding: 1em; 3 | } 4 | 5 | .multi-cell-page-grid { 6 | display: grid; 7 | grid-template-columns: 1fr 1fr; 8 | gap: 1em; 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/src/pages/BlogPostPage/BlogPostPage.routeHooks.ts: -------------------------------------------------------------------------------- 1 | import { db } from '$api/src/lib/db' 2 | 3 | export async function routeParameters() { 4 | return (await db.post.findMany({ take: 7 })).map((post) => ({ id: post.id })) 5 | } 6 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/setup/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | }, 7 | }) 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v2.x.x/configureFastify/README.md: -------------------------------------------------------------------------------- 1 | # Configure Fastify 2 | 3 | 5 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0", 7 | "@redwoodjs/graphql-server": "8.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0", 7 | "@redwoodjs/graphql-server": "8.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/nestedPages/web/src/pages/Admin/User/NewUserPage/NewUserPage.tsx: -------------------------------------------------------------------------------- 1 | import NewUser from 'src/components/User/NewUser' 2 | 3 | const NewUserPage = () => { 4 | return 5 | } 6 | 7 | export default NewUserPage 8 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/nestedPages/web/src/pages/Admin/User/UsersPage/UsersPage.tsx: -------------------------------------------------------------------------------- 1 | import UsersCell from 'src/components/User/UsersCell' 2 | 3 | const UsersPage = () => { 4 | return 5 | } 6 | 7 | export default UsersPage 8 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/nestedPages/web/src/pages/HomePage/HomePage.stories.js: -------------------------------------------------------------------------------- 1 | import HomePage from './HomePage' 2 | 3 | export const generated = () => { 4 | return 5 | } 6 | 7 | export default { title: 'Pages/HomePage' } 8 | -------------------------------------------------------------------------------- /packages/storybook/build.ts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from '@redwoodjs/framework-tools' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | format: 'esm', 7 | packages: 'external', 8 | }, 9 | }) 10 | -------------------------------------------------------------------------------- /packages/vite/src/build/__tests__/fixtures/nestedPages/web/src/pages/Admin/User/UsersPage/UsersPage.tsx: -------------------------------------------------------------------------------- 1 | import UsersCell from 'src/components/User/UsersCell' 2 | 3 | const UsersPage = () => { 4 | return 5 | } 6 | 7 | export default UsersPage 8 | -------------------------------------------------------------------------------- /packages/vite/src/build/__tests__/fixtures/nestedPages/web/src/pages/HomePage/HomePage.stories.js: -------------------------------------------------------------------------------- 1 | import HomePage from './HomePage' 2 | 3 | export const generated = () => { 4 | return 5 | } 6 | 7 | export default { title: 'Pages/HomePage' } 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/streaming-ssr-dev/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/streaming-ssr-prod/tests/staticAssets.spec.ts: -------------------------------------------------------------------------------- 1 | import { test } from '@playwright/test' 2 | 3 | import { runTestCases } from '../../shared/staticAssets' 4 | 5 | test.describe('Static assets', async () => { 6 | await runTestCases() 7 | }) 8 | -------------------------------------------------------------------------------- /.changesets/11981.md: -------------------------------------------------------------------------------- 1 | - deps(@babel/core): Bump to 7.26.10 (#11981) by @Tobbe 2 | 3 | Changes since the last version: 4 | 5 | https://github.com/babel/babel/pull/17142 6 | https://github.com/babel/babel/pull/17127 7 | https://github.com/babel/babel/pull/17052 8 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/lib/db.js: -------------------------------------------------------------------------------- 1 | // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor 2 | // for options. 3 | 4 | import { PrismaClient } from '@prisma/client' 5 | 6 | export const db = new PrismaClient() 7 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/config/postcss.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | module.exports = { 4 | plugins: [ 5 | require('tailwindcss')(path.resolve(__dirname, 'tailwind.config.js')), 6 | require('autoprefixer'), 7 | ], 8 | } 9 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/Contact/ContactsPage/ContactsPage.tsx: -------------------------------------------------------------------------------- 1 | import ContactsCell from 'src/components/Contact/ContactsCell' 2 | 3 | const ContactsPage = () => { 4 | return 5 | } 6 | 7 | export default ContactsPage 8 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/Contact/NewContactPage/NewContactPage.tsx: -------------------------------------------------------------------------------- 1 | import NewContact from 'src/components/Contact/NewContact' 2 | 3 | const NewContactPage = () => { 4 | return 5 | } 6 | 7 | export default NewContactPage 8 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Production 2 | /build 3 | 4 | # Generated files 5 | .docusaurus 6 | .cache-loader 7 | 8 | # Misc 9 | .env.local 10 | .env.development.local 11 | .env.test.local 12 | .env.production.local 13 | 14 | npm-debug.log* 15 | yarn-debug.log* 16 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/setup/build.mts: -------------------------------------------------------------------------------- 1 | import { build, copyAssets } from '@redwoodjs/framework-tools' 2 | 3 | await build() 4 | 5 | await copyAssets({ 6 | buildFileUrl: import.meta.url, 7 | patterns: ['templates/**/*.template'], 8 | }) 9 | -------------------------------------------------------------------------------- /packages/cli/src/commands/experimental/templates/rsc/Counter.css.template: -------------------------------------------------------------------------------- 1 | /** 2 | * This should affect all h3 elements on the page, both server components and 3 | * client components. This is just standard CSS stuff 4 | */ 5 | h3 { 6 | color: orange; 7 | } 8 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/code/README.md.template: -------------------------------------------------------------------------------- 1 | # ${titleName} 2 | 3 | 5 | -------------------------------------------------------------------------------- /packages/eslint-plugin/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | // Globals are enabled for the benefit of '@typescript-eslint/rule-tester' 6 | globals: true, 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/missingType/web/src/gql.js: -------------------------------------------------------------------------------- 1 | export const CREATE_TODO_CELL = gql` 2 | mutation AddTodo_CreateTodo_Cell($body: String!) { 3 | createTodo(body: $body) { 4 | id 5 | task 6 | } 7 | } 8 | ` 9 | -------------------------------------------------------------------------------- /packages/vite/src/build/__tests__/fixtures/nestedPages/web/src/pages/Admin/User/NewUserPage/NewUserPage.tsx: -------------------------------------------------------------------------------- 1 | import NewUser from 'src/components/User/NewUser' 2 | 3 | const NewUserPage = () => { 4 | return 5 | } 6 | 7 | export default NewUserPage 8 | -------------------------------------------------------------------------------- /tasks/smoke-tests/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "noEmit": true, 4 | "esModuleInterop": true, 5 | "target": "esnext", 6 | "module": "esnext", 7 | "moduleResolution": "node", 8 | "skipLibCheck": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /.changesets/11985.md: -------------------------------------------------------------------------------- 1 | - deps(babel): @babel/runtime-corejs3 7.26.10 (#11985) by @Tobbe 2 | 3 | Changes since last version: 4 | 5 | https://github.com/babel/babel/pull/17173 6 | https://github.com/babel/babel/pull/17086 7 | https://github.com/babel/babel/pull/16794 8 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | .env 4 | .netlify 5 | .redwood 6 | dev.db* 7 | dist 8 | dist-babel 9 | node_modules 10 | yarn-error.log 11 | web/public/mockServiceWorker.js 12 | web/types/graphql.d.ts 13 | api/types/graphql.d.ts 14 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithBuiltInDirectives.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithBuiltInDeprecatedDirective(id: Int!): Todo! @deprecated(reason: "Don't use this query anymore") 4 | } 5 | ` 6 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/src/components/Check/off.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/src/components/Check/on.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/NumTodosTwoCell/NumTodosTwoCell.mock.js: -------------------------------------------------------------------------------- 1 | export function standard() { 2 | return { 3 | todosCount: 42, 4 | } 5 | } 6 | export const justAnotherExport = 'bazinga' 7 | export const please = () => 'leave_me_alone' 8 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/pages/BlogPostPage/BlogPostPage.routeHooks.ts: -------------------------------------------------------------------------------- 1 | import { db } from '$api/src/lib/db' 2 | 3 | export async function routeParameters() { 4 | return (await db.post.findMany({ take: 7 })).map((post) => ({ id: post.id })) 5 | } 6 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0-canary.1102", 7 | "@redwoodjs/graphql-server": "8.0.0-canary.1102" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0-canary.144", 7 | "@redwoodjs/graphql-server": "8.0.0-canary.144" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsa/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/components/Counter/Counter.css: -------------------------------------------------------------------------------- 1 | /** 2 | * This should affect all h3 elements on the page, both server components and 3 | * client components. This is just standard CSS stuff 4 | */ 5 | h3 { 6 | color: orange; 7 | } 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/updateThemeConfig/__testfixtures__/default.input.js: -------------------------------------------------------------------------------- 1 | // This object will be used to override Mantine theme defaults. 2 | // See https://mantine.dev/theming/mantine-provider/#theme-object for theming options 3 | module.exports = {} 4 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/structure/README.md.template: -------------------------------------------------------------------------------- 1 | # ${titleName} 2 | 3 | 5 | -------------------------------------------------------------------------------- /packages/core/build.mts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from '@redwoodjs/framework-tools' 2 | 3 | // ESM build 4 | await build({ 5 | buildOptions: { 6 | ...defaultBuildOptions, 7 | format: 'esm', 8 | outdir: 'dist/bins', 9 | }, 10 | }) 11 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /packages/prerender/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures', '**/__fixtures__'], 6 | globals: true, 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /.changesets/11531.md: -------------------------------------------------------------------------------- 1 | - fix(auth0): avoid use of undefined global in browser environment (#11531) by @Josh-Walker-GM 2 | 3 | The Auth0 auth provider was failing in the browser due to trying to access `global`. This change corrects this and fixes Auth0 usage in the browser. 4 | -------------------------------------------------------------------------------- /.changesets/12093.md: -------------------------------------------------------------------------------- 1 | - [Dev environment] Migrate from Gitpod Classic to Ona (#12093) by @Siddhant-K-code 2 | 3 | # Migration from Gitpod Classic to Ona 4 | 5 | Gitpod has been renamed to Ona. This PR updates the Redwood documentation and 6 | Ona/Gitpod integration files 7 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.tabSize": 2, 3 | "files.trimTrailingWhitespace": true, 4 | "eslint.format.enable": true, 5 | 6 | "editor.codeActionsOnSave": { 7 | "source.fixAll": true, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /packages/auth-providers/auth0/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/clerk/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/setup/src/templates/web/auth.ts.template: -------------------------------------------------------------------------------- 1 | import { createDbAuthClient, createAuth } from '@redwoodjs/auth-dbauth-web' 2 | 3 | const dbAuthClient = createDbAuthClient() 4 | 5 | export const { AuthProvider, useAuth } = createAuth(dbAuthClient) 6 | -------------------------------------------------------------------------------- /packages/auth-providers/netlify/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/babel-config/src/__tests__/__fixtures__/redwood-app/api/src/lib/typescript.ts: -------------------------------------------------------------------------------- 1 | // Disabling linting here so that we can test `prebuildApiFile`. 2 | // 3 | // eslint-disable-next-line prettier/prettier, @typescript-eslint/no-inferrable-types 4 | const x: number = 0; 5 | -------------------------------------------------------------------------------- /packages/babel-config/src/plugins/__tests__/__fixtures__/route-auto-loader/failure/web/src/pages/HomePage/HomePage.tsx: -------------------------------------------------------------------------------- 1 | const HomePage = () => { 2 | return ( 3 |
4 |

HomePage

5 |
6 | ) 7 | } 8 | 9 | export default HomePage 10 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/input/web/src/components/TestCell/TestCell.mock.js: -------------------------------------------------------------------------------- 1 | // Define your own mock data here: 2 | export const standard = (/* vars, { ctx, req } */) => ({ 3 | test: { 4 | id: 42, 5 | }, 6 | }) 7 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/convertJsToJsx/__testfixtures__/example/output/web/src/components/TestCell/TestCell.mock.js: -------------------------------------------------------------------------------- 1 | // Define your own mock data here: 2 | export const standard = (/* vars, { ctx, req } */) => ({ 3 | test: { 4 | id: 42, 5 | }, 6 | }) 7 | -------------------------------------------------------------------------------- /packages/project-config/src/__tests__/fixtures/redwood.studio.dbauth.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8888 3 | [studio] 4 | [studio.graphiql] 5 | [studio.graphiql.authImpersonation] 6 | authProvider = "dbAuth" 7 | email = "user@example.com" 8 | userId = "1" 9 | -------------------------------------------------------------------------------- /packages/realtime/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/__fixtures__'], 6 | setupFiles: ['vitest.setup.mts'], 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/telemetry/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist" 6 | }, 7 | "include": ["src"], 8 | "references": [{ "path": "../project-config" }] 9 | } 10 | -------------------------------------------------------------------------------- /.github/actions/check_create_redwood_app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "check_test_project_fixture", 3 | "private": true, 4 | "dependencies": { 5 | "@actions/core": "1.11.1", 6 | "@actions/exec": "1.1.1" 7 | }, 8 | "packageManager": "yarn@4.6.0" 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/index.css: -------------------------------------------------------------------------------- 1 | *, 2 | *:before, 3 | *:after { 4 | box-sizing: border-box; 5 | } 6 | 7 | html { 8 | font-family: 'Inconsolata', monospace; 9 | } 10 | 11 | @import url('https://fonts.googleapis.com/css?family=Inconsolata:400,700'); 12 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/components/Card.tsx: -------------------------------------------------------------------------------- 1 | const Card = ({ children }) => { 2 | return ( 3 |
4 | {children} 5 |
6 | ) 7 | } 8 | 9 | export default Card 10 | -------------------------------------------------------------------------------- /packages/auth-providers/firebase/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/supabase/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/auth-providers/supertokens/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/dataMigration/templates/dataMigration.js.template: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef { import("@prisma/client").PrismaClient } PrismaClient 3 | * @param {{db: PrismaClient}} db 4 | */ 5 | export default async ({ db }) => { 6 | // Migration here... 7 | } 8 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/js/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /packages/create-redwood-app/templates/ts/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/prisma/migrations/migrate.lock: -------------------------------------------------------------------------------- 1 | # IF THERE'S A GIT CONFLICT IN THIS FILE, DON'T SOLVE IT MANUALLY! 2 | # INSTEAD EXECUTE `prisma migrate fix` 3 | # Prisma Migrate lockfile v1 4 | # Read more about conflict resolution here: TODO 5 | 6 | 20200415083240 -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/prettier.config.js: -------------------------------------------------------------------------------- 1 | // https://prettier.io/docs/en/options.html 2 | module.exports = { 3 | trailingComma: "es5", 4 | bracketSpacing: true, 5 | tabWidth: 2, 6 | semi: false, 7 | singleQuote: true, 8 | arrowParens: "always" 9 | }; 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8910 3 | apiProxyPath = "/api/functions" 4 | 5 | [api] 6 | port = 8911 7 | [api.paths] 8 | functions = './api/src/functions' 9 | graphql = './api/src/graphql' 10 | generated = './api/generated' 11 | -------------------------------------------------------------------------------- /__fixtures__/rsc-caching/web/src/components/CachingBoxes/CachingBoxes.css: -------------------------------------------------------------------------------- 1 | .caching-boxes { 2 | > div { 3 | width: 100px; 4 | height: 100px; 5 | display: inline-block; 6 | margin: 10px; 7 | border: 1px solid black; 8 | padding: 2px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/api', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0-canary.861", 7 | "@redwoodjs/graphql-server": "8.0.0-canary.861" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/jest.config.js: -------------------------------------------------------------------------------- 1 | // More info at https://redwoodjs.com/docs/project-configuration-dev-test-build 2 | 3 | const config = { 4 | rootDir: '../', 5 | preset: '@redwoodjs/testing/config/jest/web', 6 | } 7 | 8 | module.exports = config 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/auth.ts: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { createDbAuthClient, createAuth } from '@redwoodjs/auth-dbauth-web' 4 | 5 | const dbAuthClient = createDbAuthClient() 6 | 7 | export const { AuthProvider, useAuth } = createAuth(dbAuthClient) 8 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/__fixtures__'], 6 | setupFiles: ['vitest.setup.mts'], 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/api/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | sequence: { 6 | hooks: 'list', 7 | }, 8 | setupFiles: ['./vitest.setup.mts'], 9 | logHeapUsage: true, 10 | }, 11 | }) 12 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/job/templates/job.ts.template: -------------------------------------------------------------------------------- 1 | import { jobs } from 'src/lib/jobs' 2 | 3 | export const ${name}Job = jobs.createJob({ 4 | queue: '${queueName}', 5 | perform: async () => { 6 | jobs.logger.info('${name}Job is performing...') 7 | } 8 | }) 9 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/job/templates/test.ts.template: -------------------------------------------------------------------------------- 1 | import { ${name}Job } from './${name}Job' 2 | 3 | describe('${name}Job', () => { 4 | it('should not throw any errors', async () => { 5 | await expect(${name}Job.perform()).resolves.not.toThrow() 6 | }) 7 | }) 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v5.x.x/renameValidateWith/README.md: -------------------------------------------------------------------------------- 1 | # Rename `validateWith` 2 | 3 | For (https://github.com/redwoodjs/redwood/pull/7681)[https://github.com/redwoodjs/redwood/pull/7681]. 4 | This codemod renames any instance of `validateWith` to `validateWithSync`. 5 | -------------------------------------------------------------------------------- /packages/project-config/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo", 6 | "module": "commonjs", 7 | "moduleResolution": "node" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tasks/changesets/placeholder.md: -------------------------------------------------------------------------------- 1 | - PR title (#PR number) by @PR author 2 | 3 | In writing the body, explain what this PR means for Redwood users. The more detail the better. E.g., is it a new feature? How do they use it? 4 | 5 | ``` 6 | Code examples go a long way! 7 | ``` 8 | -------------------------------------------------------------------------------- /tasks/e2e/cypress/e2e/01-tutorial/codemods/Step6_5_BlogPostsCellMock.js: -------------------------------------------------------------------------------- 1 | export default ` 2 | // web/src/components/BlogPostsCell/BlogPostsCell.mock.js 3 | 4 | export const standard = () => ({ 5 | blogPosts: [ 6 | { 7 | id: 42, 8 | }, 9 | ], 10 | }) 11 | ` 12 | -------------------------------------------------------------------------------- /.github/actions/check_create_redwood_app/action.yml: -------------------------------------------------------------------------------- 1 | name: Check create redwood app 2 | description: Determines if the create redwood app JS template should be rebuilt 3 | runs: 4 | using: node20 5 | main: check_create_redwood_app.mjs 6 | inputs: 7 | labels: 8 | required: true 9 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "EditorConfig.EditorConfig", 4 | "dbaeumer.vscode-eslint", 5 | "mgmcdermott.vscode-language-babel", 6 | "esbenp.prettier-vscode" 7 | ], 8 | "unwantedRecommendations": ["johnpapa.vscode-peacock"] 9 | } 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | node_modules 3 | dist 4 | yarn-error.log 5 | .docz 6 | .env 7 | .DS_Store 8 | .wip 9 | 10 | api/prisma/dev.sqlite 11 | packages/photon/runtime 12 | packages/photon/index.js 13 | packages/photon/index.d.ts 14 | 15 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/src/graphql/todosWithAuthRoles.sdl.js: -------------------------------------------------------------------------------- 1 | export const schema = gql` 2 | type Query { 3 | todosWithStringRole: [Todo] @requireAuth(roles: "admin") 4 | todosWithMultipleRoles: [Todo] @requireAuth(roles: ["admin", "editor"]) 5 | } 6 | ` 7 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/EmptyUser/EmptyUsersPage/EmptyUsersPage.tsx: -------------------------------------------------------------------------------- 1 | import EmptyUsersCell from 'src/components/EmptyUser/EmptyUsersCell' 2 | 3 | const EmptyUsersPage = () => { 4 | return 5 | } 6 | 7 | export default EmptyUsersPage 8 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/EmptyUser/NewEmptyUserPage/NewEmptyUserPage.tsx: -------------------------------------------------------------------------------- 1 | import NewEmptyUser from 'src/components/EmptyUser/NewEmptyUser' 2 | 3 | const NewEmptyUserPage = () => { 4 | return 5 | } 6 | 7 | export default NewEmptyUserPage 8 | -------------------------------------------------------------------------------- /packages/auth-providers/azureActiveDirectory/web/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /packages/cli-helpers/tsconfig.cjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist/cjs", 5 | "module": "CommonJS", 6 | "moduleResolution": "Node10", 7 | "tsBuildInfoFile": "./tsconfig.cjs.tsbuildinfo" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/cell/templates/mock.ts.template: -------------------------------------------------------------------------------- 1 | // Define your own mock data here: 2 | export const standard = (/* vars, { ctx, req } */) => ({ 3 | ${camelName}: { 4 | __typename: "${typeName}" as const, 5 | ${idName}: ${mockIdValues[0]} 6 | } 7 | }) 8 | -------------------------------------------------------------------------------- /packages/cli/src/commands/setup/docker/templates/dockerignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/dist 3 | .redwood 4 | 5 | .env 6 | 7 | README.md 8 | LICENSE 9 | 10 | .git 11 | .gitignore 12 | 13 | .vscode 14 | .editorconfig 15 | 16 | Dockerfile 17 | docker-compose* 18 | .dockerignore 19 | -------------------------------------------------------------------------------- /packages/mailer/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist", 6 | "module": "Node16", 7 | "moduleResolution": "Node16" 8 | }, 9 | "include": ["src"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/router/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('@jest/types').Config.InitialOptions} */ 2 | module.exports = { 3 | setupFilesAfterEnv: ['./jest.setup.ts'], 4 | testEnvironment: 'jest-environment-jsdom', 5 | testMatch: ['**/*.test.+(ts|tsx|js|jsx)', '!**/__typetests__/*.ts'], 6 | } 7 | -------------------------------------------------------------------------------- /__fixtures__/empty-project/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "yarn redwood dev", 6 | "name": "launch development", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/api/prisma/migrations/migrate.lock: -------------------------------------------------------------------------------- 1 | # IF THERE'S A GIT CONFLICT IN THIS FILE, DON'T SOLVE IT MANUALLY! 2 | # INSTEAD EXECUTE `prisma migrate fix` 3 | # Prisma Migrate lockfile v1 4 | # Read more about conflict resolution here: TODO 5 | 6 | 20200415083240 -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/prettier.config.js: -------------------------------------------------------------------------------- 1 | // https://prettier.io/docs/en/options.html 2 | module.exports = { 3 | trailingComma: "es5", 4 | bracketSpacing: true, 5 | tabWidth: 2, 6 | semi: false, 7 | singleQuote: true, 8 | arrowParens: "always" 9 | }; 10 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/redwood.toml: -------------------------------------------------------------------------------- 1 | [web] 2 | port = 8910 3 | apiProxyPath = "/api/functions" 4 | 5 | [api] 6 | port = 8911 7 | [api.paths] 8 | functions = './api/src/functions' 9 | graphql = './api/src/graphql' 10 | generated = './api/generated' 11 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main-with-errors/web/src/index.css: -------------------------------------------------------------------------------- 1 | *, 2 | *:before, 3 | *:after { 4 | box-sizing: border-box; 5 | } 6 | 7 | html { 8 | font-family: 'Inconsolata', monospace; 9 | } 10 | 11 | @import url('https://fonts.googleapis.com/css?family=Inconsolata:400,700'); 12 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/web/src/components/AuthorCell/AuthorCell.mock.ts: -------------------------------------------------------------------------------- 1 | // Define your own mock data here: 2 | export const standard = (/* vars, { ctx, req } */) => ({ 3 | author: { 4 | id: 42, 5 | email: 'fortytwo@42.com', 6 | fullName: 'Forty Two', 7 | }, 8 | }) 9 | -------------------------------------------------------------------------------- /__fixtures__/test-project/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "8.0.0", 7 | "@redwoodjs/auth-dbauth-api": "8.0.0", 8 | "@redwoodjs/graphql-server": "8.0.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/cli-packages/dataMigrate/src/types.ts: -------------------------------------------------------------------------------- 1 | export type DataMigrateUpOptions = { 2 | importDbClientFromDist: boolean 3 | distPath: string 4 | } 5 | 6 | export type DataMigration = { 7 | version: string 8 | name: string 9 | startedAt: Date 10 | finishedAt: Date 11 | } 12 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/scaffold/templates/pages/NamesPage.tsx.template: -------------------------------------------------------------------------------- 1 | import ${pluralPascalName}Cell from '${importComponentNamesCell}' 2 | 3 | const ${pluralPascalName}Page = () => { 4 | return <${pluralPascalName}Cell /> 5 | } 6 | 7 | export default ${pluralPascalName}Page 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/updateThemeConfig/__testfixtures__/default.output.js: -------------------------------------------------------------------------------- 1 | // This object will be used to override Mantine theme defaults. 2 | // See https://mantine.dev/theming/mantine-provider/#theme-object for theming options 3 | const theme = {} 4 | export default theme 5 | -------------------------------------------------------------------------------- /packages/create-redwood-rsc-app/build.ts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from './framework-tools.js' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | target: ['node16'], 7 | format: 'esm', 8 | packages: 'external', 9 | }, 10 | }) 11 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/nonExistingField/web/src/gql.js: -------------------------------------------------------------------------------- 1 | export const CREATE_TODO_CELL = gql` 2 | mutation AddTodo_CreateTodo_Cell($body: String!) { 3 | createTodo(body: $body) { 4 | id 5 | task 6 | done 7 | } 8 | } 9 | ` 10 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/realtime/api/src/lib/db.js: -------------------------------------------------------------------------------- 1 | // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor 2 | // for options. 3 | 4 | import { PrismaClient } from '@prisma/client' 5 | 6 | export const db = new PrismaClient() 7 | -------------------------------------------------------------------------------- /packages/project-config/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "moduleResolution": "NodeNext", 5 | "module": "NodeNext", 6 | "rootDir": "src", 7 | "outDir": "dist" 8 | }, 9 | "include": ["src"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/realtime/build.mts: -------------------------------------------------------------------------------- 1 | import { build, defaultBuildOptions } from '@redwoodjs/framework-tools' 2 | 3 | await build({ 4 | buildOptions: { 5 | ...defaultBuildOptions, 6 | bundle: true, 7 | entryPoints: ['src/index.ts'], 8 | packages: 'external', 9 | }, 10 | }) 11 | -------------------------------------------------------------------------------- /packages/storage/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | // This file is here so we don't build types for tests 2 | { 3 | "extends": "./tsconfig.json", 4 | "exclude": [ 5 | "dist", 6 | "node_modules", 7 | "**/__mocks__", 8 | "**/__tests__", 9 | "**/__typetests__" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /packages/vite/src/bundled/react-server-dom-webpack.server.ts: -------------------------------------------------------------------------------- 1 | // We bundle out these functions with the "react-server" condition 2 | // so that we don't need to specify it at runtime. 3 | 4 | export { 5 | decodeReply, 6 | decodeReplyFromBusboy, 7 | } from 'react-server-dom-webpack/server' 8 | -------------------------------------------------------------------------------- /.github/actions/check_changesets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "check_changesets", 3 | "private": true, 4 | "dependencies": { 5 | "@actions/core": "1.11.1", 6 | "@actions/exec": "1.1.1", 7 | "@actions/github": "6.0.0" 8 | }, 9 | "packageManager": "yarn@4.6.0" 10 | } 11 | -------------------------------------------------------------------------------- /__fixtures__/fragment-test-project/api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api", 3 | "version": "0.0.0", 4 | "private": true, 5 | "dependencies": { 6 | "@redwoodjs/api": "7.0.0", 7 | "@redwoodjs/auth-dbauth-api": "7.0.0", 8 | "@redwoodjs/graphql-server": "7.0.0" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/adapters/fastify/web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../../../tsconfig.compilerOption.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "dist" 6 | }, 7 | "include": ["src"], 8 | "references": [{ "path": "../../../project-config" }] 9 | } 10 | -------------------------------------------------------------------------------- /packages/auth-providers/dbAuth/setup/src/templates/web/auth.rsc.ts.template: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { createDbAuthClient, createAuth } from '@redwoodjs/auth-dbauth-web' 4 | 5 | const dbAuthClient = createDbAuthClient() 6 | 7 | export const { AuthProvider, useAuth } = createAuth(dbAuthClient) 8 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/component/templates/component.tsx.template: -------------------------------------------------------------------------------- 1 | const ${pascalName} = () => { 2 | return ( 3 |
4 |

{'${pascalName}'}

5 |

{'Find me in ${outputPath}'}

6 |
7 | ) 8 | } 9 | 10 | export default ${pascalName} 11 | -------------------------------------------------------------------------------- /packages/internal/src/__tests__/fixtures/graphqlCodeGen/bookshelf/api/src/lib/db.js: -------------------------------------------------------------------------------- 1 | // See https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/constructor 2 | // for options. 3 | 4 | import { PrismaClient } from '@prisma/client' 5 | 6 | export const db = new PrismaClient() 7 | -------------------------------------------------------------------------------- /packages/storybook/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.compilerOption.json", 3 | "compileOnSave": true, 4 | "compilerOptions": { 5 | "outDir": "./dist", 6 | "rootDir": "./src", 7 | "types": ["node", "vite/client"] 8 | }, 9 | "include": ["src/**/*"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/web-server/README.md: -------------------------------------------------------------------------------- 1 | # Redwood's server for the Web side 2 | 3 | This package contains code for Redwood's web server. 4 | 5 | This package isn't optimized for production use at scale on it's own. 6 | It's recommended to use a CDN or a web server like Nginx as performant alternatives. 7 | -------------------------------------------------------------------------------- /.changesets/11645.md: -------------------------------------------------------------------------------- 1 | - fix(crwa): Better handling of installing to . (#11645) by @Tobbe 2 | 3 | When installing to `cwd`: 4 | 5 | - Print "the current directory" instead of "." 6 | - Skip the output of `cd` (which would move you to your home directory, which 7 | most likely is not what you want) 8 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/api/src/services/todos/todos.test.js: -------------------------------------------------------------------------------- 1 | import dog from 'src/lib/dog' 2 | 3 | jest.mock('src/lib/dog', () => { 4 | return { 5 | mockedModule: true 6 | } 7 | }) 8 | 9 | test('should always pass', () => { 10 | expect(dog.mockedModule).toBe(true) 11 | }) 12 | -------------------------------------------------------------------------------- /__fixtures__/test-project-rsc-kitchen-sink/web/src/pages/UserExample/UserExamplesPage/UserExamplesPage.tsx: -------------------------------------------------------------------------------- 1 | import UserExamplesCell from 'src/components/UserExample/UserExamplesCell' 2 | 3 | const UserExamplesPage = () => { 4 | return 5 | } 6 | 7 | export default UserExamplesPage 8 | -------------------------------------------------------------------------------- /packages/auth/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | exclude: [...configDefaults.exclude, '**/fixtures'], 6 | environment: 'jsdom', 7 | setupFiles: ['vitest.setup.mts'], 8 | }, 9 | }) 10 | -------------------------------------------------------------------------------- /packages/cli/src/commands/generate/scaffold/templates/pages/NewNamePage.tsx.template: -------------------------------------------------------------------------------- 1 | import New${singularPascalName} from '${importComponentNewName}' 2 | 3 | const New${singularPascalName}Page = () => { 4 | return 5 | } 6 | 7 | export default New${singularPascalName}Page 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/replaceComponentSvgs/__testfixtures__/complex/input/nested/kitten.tsx: -------------------------------------------------------------------------------- 1 | import Logo from '../mySvgs/Logo.svg' 2 | import Kitten from '../mySvgs/kitten1.svg' 3 | 4 | export default (props) => <> 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/codemods/src/codemods/v6.x.x/replaceComponentSvgs/__testfixtures__/complex/output/nested/kitten.tsx: -------------------------------------------------------------------------------- 1 | import Logo from "../mySvgs/LogoSVG" 2 | import Kitten from "../mySvgs/Kitten1SVG" 3 | 4 | export default (props) => <> 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /packages/codemods/tasks/generateCodemod/templates/structure/__tests__/codemod.test.ts.template: -------------------------------------------------------------------------------- 1 | import ${name} from '../${name}' 2 | 3 | describe('${name}', () => { 4 | it('Changes the structure of a redwood project', async () => { 5 | await matchFolderTransform(${name}, 'default') 6 | }) 7 | }) 8 | -------------------------------------------------------------------------------- /packages/jobs/vitest.config.mts: -------------------------------------------------------------------------------- 1 | import { defineConfig, configDefaults } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | testTimeout: 15_000, 6 | exclude: [...configDefaults.exclude, '**/fixtures', '**/dist'], 7 | logHeapUsage: true, 8 | }, 9 | }) 10 | -------------------------------------------------------------------------------- /.changesets/11380.md: -------------------------------------------------------------------------------- 1 | - feat(router): Add option to not reset scroll to the top on navigate/link (#11380) by @guitheengineer 2 | 3 | You can now do ``navigate(`?id=${id}`, { scroll: false })`` and ```` to not reset the scroll to the top when navigating. 4 | -------------------------------------------------------------------------------- /.changesets/11458.md: -------------------------------------------------------------------------------- 1 | - fix(linting): Re-enable babel presets during linting of javascript projects (#11458) by @Josh-Walker-GM 2 | 3 | The `yarn rw lint` command was failing for JavaScript projects. This change re-enables certain babel plugins to correct this issue and allow this command to succeed again. 4 | -------------------------------------------------------------------------------- /.changesets/11737.md: -------------------------------------------------------------------------------- 1 | - [TS] Include query parameters in typed Cell component props (#11737) by @Philzen 2 | 3 | If you have a Cell that for example takes an `id` prop, to be used as a query 4 | parameter, it'd also be passed to the individual cell components. This is now 5 | properly reflected in the types. 6 | -------------------------------------------------------------------------------- /.changesets/11776.md: -------------------------------------------------------------------------------- 1 | - Remove header example with broken link (#11776) by @Philzen 2 | 3 | We used to have an `x-auth-comment` header with a link describing how to set up 4 | auth for the graphql playground. The link was broken, and no extra setup is 5 | needed anymore. So the comment header is now removed. 6 | -------------------------------------------------------------------------------- /.github/actions/set-up-rsc-project/action.yaml: -------------------------------------------------------------------------------- 1 | name: Set up RSC test project 2 | description: Sets up an RSC project for smoke-tests 3 | 4 | runs: 5 | using: node20 6 | main: 'setUpRscProjectGitHub.mjs' 7 | 8 | outputs: 9 | test-project-path: 10 | description: Path to the test project 11 | -------------------------------------------------------------------------------- /__fixtures__/example-todo-main/web/src/components/Check/loading.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | --------------------------------------------------------------------------------