Files
hatchet/frontend/app/tsconfig.json
Josh Duff 78e866c78f Feat: New "create organization" and "create tenant" interfaces (#3068)
* Tell eslint to ignore the generated code so that the npm run commands are usable

* Cleaning something I noticed while reading around

* An editorconfig so my editor knows when to use tabs and when to use spaces

* make it so you don't have to pass in unnecessary empty objects

* Two "new organization" pages – one for onboarding, one for after, both displaying the same form

* Fix a bug with asChild in the button component + make the "Create Organization" button a proper link

* the same form + save logic used in a "new organization" onboarding screen and a regular "new organization" screen

* not tested, but this tenant saver form looks like a reasonable starting place

* a "new tenant" modal that seems to work

* move minimumReleaseAge to a pnpm-specific config so npm doesn't complain at me when I reflexively type `npm run`

* automated unit tests for the frontend

* Rework the tenant+organization onboarding redirects, and use union types to try to make working with the organization in the app context more painless

* When onboarding, default the organization to the user's name

* isSaving doesn't need to be optional

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835696077

* wrap callback in useCallback

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835697163

* empty string is not the correct default

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835702156

* only set up the event listener once!

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835712324

* use tiny-invariant for assertions

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835707451

* [jedi hand move]

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2835700130

* try a mutation

* I thiiiiink this is about what I want

* Finish getting the user-universe provider up to snuff, implement it in a few places.

Also fix a bug caused by the fact that some pages that assumed you were authenticated were not underneath the authenticated route

* change appContext to pull from user universe rather than querying tenants + organizations itself

also, rename the organization/tenant hooks isLoading->isUserUniverseLoaded

* We want resetQueries, not invalidateQueries

invalidate sets the query to stale, but leaves the data around and leaves isSuccess = true

* Make the user universe query dependent on isCloudEnabled + get the query client from context

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854606886
https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854611980
https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854614616

* get rid of an unpleasant `as`

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854620958

* fix a name that was too generic for what it was being used for

* Make the NewOrganizationSaverForm assertion message more useful

https://github.com/hatchet-dev/hatchet/pull/3068#discussion_r2854629289

* some embarrassing errors in the non-cloud flow

* fix: unwind pnpm changes

* Revert "fix: unwind pnpm changes"

This reverts commit 5df6a4b5d3.

* fix: add `packages` hack to pnpm-workspace files

* fix: shrink spacing

* fix: start improving styling of orgs page with tabs

* fix: start cleaning up UI

* fix: remove mobile views, nobody uses them

* fix: spacing, border

* fix: org edit button

* fix: remove invites tab

* fix: factor out columns

* login screen needs to clear any current user query errors before redirecting

otherwise it keeps trying to redirect you back to the login screen until the latest metadata request succeeds

* Fix some issues during login when switching between users

- we need to invalidate all the previous user's information when they log out so that it's not floating around in memory
- we need to validate the tenant id stored in localstorage before passing it along to the rest of the world
- to be safe, invalidate the user universe and start refetching it as soon as they log in, before we redirect to the authenticated route

* One more bit of explicit fetching that needs to happen

* After accepting a tenant invite, need to invalidate the user universe and re-fetch

Also, kill the listTenantMemberships query to force people to use the query that's wrapped up by the user universe

* Change the tenant-create e2e testto account for the UI changes

* It seems like Cypress was trying to navigate to the onboarding page too quickly for the test to pass on my machine

* Slightly better copy for the tenant label

* fix lint issues

* quote the glob paths?

* Disable running the tests in CI for now

* use the width settings that are most common across dialogs right now

* node 20 -> 24

* Need to manually specify node version apparently?

---------

Co-authored-by: mrkaye97 <mrkaye97@gmail.com>
2026-02-27 13:14:00 -05:00

37 lines
781 B
JSON

{
"compilerOptions": {
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": false,
"noFallthroughCasesInSwitch": true
},
"include": [
"postcss.config.js",
"src/**/*.tsx",
"src/**/*.ts",
"cypress/**/*.ts",
"cypress/**/*.tsx",
"cypress.config.ts"
],
"references": [
{
"path": "./tsconfig.node.json"
}
]
}