@webiny/cognito 6.4.11 → 6.4.12-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,6 +5,6 @@ export interface CognitoLoginScreenProps {
|
|
|
5
5
|
clientId: string;
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
}
|
|
8
|
-
export declare const CognitoLoginScreen: ((props: CognitoLoginScreenProps) => React.JSX.Element) & {
|
|
9
|
-
|
|
8
|
+
export declare const CognitoLoginScreen: ((props: CognitoLoginScreenProps) => React.JSX.Element) & React.NamedExoticComponent<CognitoLoginScreenProps> & {
|
|
9
|
+
readonly type: (props: CognitoLoginScreenProps) => React.JSX.Element;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin/ui/views/Account/Account.js","sources":["../../../../../src/admin/ui/views/Account/Account.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport omit from \"lodash/omit.js\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { AvatarImage } from \"../../components/AvatarImage/index.js\";\nimport { GET_CURRENT_USER, UPDATE_CURRENT_USER } from \"./graphql.js\";\nimport { config as appConfig } from \"@webiny/app/config.js\";\n\nimport {\n SimpleForm,\n SimpleFormHeader,\n SimpleFormFooter,\n SimpleFormContent,\n useIdentity\n} from \"@webiny/app-admin\";\nimport { CenteredView } from \"@webiny/app-admin\";\nimport { usePasswordValidator } from \"~/admin/presentation/shared/usePasswordValidator.js\";\nimport { Alert, Button, Grid, Input, OverlayLoader, useToast } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-security-admin-users/account-form\");\n\ninterface UserAccountFormData {\n id?: boolean;\n firstName: string;\n lastName: string;\n email: string;\n password?: string;\n external?: boolean;\n avatar: {\n src?: string;\n };\n}\n\nexport const UserAccountForm = () => {\n const [isSaving, setSaving] = useState(false);\n const toast = useToast();\n const { identity } = useIdentity();\n const passwordValidator = usePasswordValidator();\n const currentUser = useQuery(GET_CURRENT_USER);\n const [updateUser] = useMutation(UPDATE_CURRENT_USER);\n\n const user = currentUser.loading ? {} : currentUser.data.adminUsers.user.data;\n\n const isFormLoading = isSaving || currentUser.loading;\n const loaderMessage = isSaving ? \"Saving account...\" : \"Loading account...\";\n\n const emailIsDisabled = appConfig.getKey(\n \"ADMIN_USER_CAN_CHANGE_EMAIL\",\n process.env.REACT_APP_ADMIN_USER_CAN_CHANGE_EMAIL === \"false\"\n );\n\n const isExternal = user?.external === true;\n\n const onSubmit = async (formData: UserAccountFormData) => {\n setSaving(true);\n const { data: response } = await updateUser({\n variables: { data: omit(formData, [\"id\", \"external\"]) }\n });\n\n const { error } = response.adminUsers.updateCurrentUser;\n setSaving(false);\n\n if (error) {\n toast.showWarningToast({\n title: \"Error updating user account\",\n description: error.message,\n duration: Infinity\n });\n return;\n }\n\n // TODO: set new roles/teams into the identity context\n\n identity.update({\n displayName: `${formData.firstName} ${formData.lastName}`,\n profile: {\n ...(identity.profile || {}),\n firstName: formData.firstName,\n lastName: formData.lastName,\n avatar: formData.avatar\n }\n });\n\n toast.showSuccessToast({ title: \"Account updated successfully!\" });\n };\n\n return (\n <CenteredView maxWidth={600}>\n <Form<UserAccountFormData> data={user} onSubmit={onSubmit}>\n {({ data, form, Bind }) => (\n <SimpleForm>\n {isFormLoading && <OverlayLoader text={loaderMessage} />}\n <SimpleFormHeader title={\"Account\"} />\n <SimpleFormContent>\n {isExternal && (\n <Grid>\n <Grid.Column span={12}>\n <Alert type={\"info\"} title={\"External User\"}>\n This user is an external user and cannot be edited.\n </Alert>\n </Grid.Column>\n </Grid>\n )}\n <Grid>\n <Grid.Column span={12} data-testid={\"avatar\"}>\n <Bind name=\"avatar\">\n <AvatarImage round disabled={isExternal} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name=\"firstName\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`First Name`}\n disabled={isExternal}\n data-testid=\"account.firstname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n {\" \"}\n <Bind\n name=\"lastName\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`Last Name`}\n disabled={isExternal}\n data-testid=\"account.lastname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name=\"email\"\n validators={validation.create(\"required,email\")}\n >\n <Input\n value={data.email}\n label={t`Email`}\n disabled={emailIsDisabled || isExternal}\n data-testid=\"account.email\"\n description={\n \"Email is your unique identifier used to login!\"\n }\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name=\"password\" validators={passwordValidator}>\n <Input\n autoComplete=\"off\"\n disabled={data.external}\n description={\n data.id && \"Type a new password to reset it.\"\n }\n type=\"password\"\n label={\"Password\"}\n data-testid=\"account.password\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter data-testid={\"form-footer\"}>\n <Button\n disabled={isExternal}\n data-testid=\"account.updatebutton\"\n onClick={form.submit}\n >{t`Update account`}</Button>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n};\n"],"names":["t","i18n","UserAccountForm","isSaving","setSaving","useState","toast","useToast","identity","useIdentity","passwordValidator","usePasswordValidator","currentUser","useQuery","GET_CURRENT_USER","updateUser","useMutation","UPDATE_CURRENT_USER","user","isFormLoading","loaderMessage","emailIsDisabled","appConfig","process","isExternal","onSubmit","formData","response","omit","error","Infinity","CenteredView","Form","data","form","Bind","SimpleForm","OverlayLoader","SimpleFormHeader","SimpleFormContent","Grid","Alert","AvatarImage","validation","Input","SimpleFormFooter","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin/ui/views/Account/Account.js","sources":["../../../../../src/admin/ui/views/Account/Account.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport omit from \"lodash/omit.js\";\nimport { useQuery, useMutation } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { AvatarImage } from \"../../components/AvatarImage/index.js\";\nimport { GET_CURRENT_USER, UPDATE_CURRENT_USER } from \"./graphql.js\";\nimport { config as appConfig } from \"@webiny/app/config.js\";\n\nimport {\n SimpleForm,\n SimpleFormHeader,\n SimpleFormFooter,\n SimpleFormContent,\n useIdentity\n} from \"@webiny/app-admin\";\nimport { CenteredView } from \"@webiny/app-admin\";\nimport { usePasswordValidator } from \"~/admin/presentation/shared/usePasswordValidator.js\";\nimport { Alert, Button, Grid, Input, OverlayLoader, useToast } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-security-admin-users/account-form\");\n\ninterface UserAccountFormData {\n id?: boolean;\n firstName: string;\n lastName: string;\n email: string;\n password?: string;\n external?: boolean;\n avatar: {\n src?: string;\n };\n}\n\nexport const UserAccountForm = () => {\n const [isSaving, setSaving] = useState(false);\n const toast = useToast();\n const { identity } = useIdentity();\n const passwordValidator = usePasswordValidator();\n const currentUser = useQuery(GET_CURRENT_USER);\n const [updateUser] = useMutation(UPDATE_CURRENT_USER);\n\n const user = currentUser.loading ? {} : currentUser.data.adminUsers.user.data;\n\n const isFormLoading = isSaving || currentUser.loading;\n const loaderMessage = isSaving ? \"Saving account...\" : \"Loading account...\";\n\n const emailIsDisabled = appConfig.getKey(\n \"ADMIN_USER_CAN_CHANGE_EMAIL\",\n process.env.REACT_APP_ADMIN_USER_CAN_CHANGE_EMAIL === \"false\"\n );\n\n const isExternal = user?.external === true;\n\n const onSubmit = async (formData: UserAccountFormData) => {\n setSaving(true);\n const { data: response } = await updateUser({\n variables: { data: omit(formData, [\"id\", \"external\"]) }\n });\n\n const { error } = response.adminUsers.updateCurrentUser;\n setSaving(false);\n\n if (error) {\n toast.showWarningToast({\n title: \"Error updating user account\",\n description: error.message,\n duration: Infinity\n });\n return;\n }\n\n // TODO: set new roles/teams into the identity context\n\n identity.update({\n displayName: `${formData.firstName} ${formData.lastName}`,\n profile: {\n ...(identity.profile || {}),\n firstName: formData.firstName,\n lastName: formData.lastName,\n avatar: formData.avatar\n }\n });\n\n toast.showSuccessToast({ title: \"Account updated successfully!\" });\n };\n\n return (\n <CenteredView maxWidth={600}>\n <Form<UserAccountFormData> data={user} onSubmit={onSubmit}>\n {({ data, form, Bind }) => (\n <SimpleForm>\n {isFormLoading && <OverlayLoader text={loaderMessage} />}\n <SimpleFormHeader title={\"Account\"} />\n <SimpleFormContent>\n {isExternal && (\n <Grid>\n <Grid.Column span={12}>\n <Alert type={\"info\"} title={\"External User\"}>\n This user is an external user and cannot be edited.\n </Alert>\n </Grid.Column>\n </Grid>\n )}\n <Grid>\n <Grid.Column span={12} data-testid={\"avatar\"}>\n <Bind name=\"avatar\">\n <AvatarImage round disabled={isExternal} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name=\"firstName\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`First Name`}\n disabled={isExternal}\n data-testid=\"account.firstname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n {\" \"}\n <Bind\n name=\"lastName\"\n validators={validation.create(\"required\")}\n >\n <Input\n label={t`Last Name`}\n disabled={isExternal}\n data-testid=\"account.lastname\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name=\"email\"\n validators={validation.create(\"required,email\")}\n >\n <Input\n value={data.email}\n label={t`Email`}\n disabled={emailIsDisabled || isExternal}\n data-testid=\"account.email\"\n description={\n \"Email is your unique identifier used to login!\"\n }\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name=\"password\" validators={passwordValidator}>\n <Input\n autoComplete=\"off\"\n disabled={data.external}\n description={\n data.id && \"Type a new password to reset it.\"\n }\n type=\"password\"\n label={\"Password\"}\n data-testid=\"account.password\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter data-testid={\"form-footer\"}>\n <Button\n disabled={isExternal}\n data-testid=\"account.updatebutton\"\n onClick={form.submit}\n >{t`Update account`}</Button>\n </SimpleFormFooter>\n </SimpleForm>\n )}\n </Form>\n </CenteredView>\n );\n};\n"],"names":["t","i18n","UserAccountForm","isSaving","setSaving","useState","toast","useToast","identity","useIdentity","passwordValidator","usePasswordValidator","currentUser","useQuery","GET_CURRENT_USER","updateUser","useMutation","UPDATE_CURRENT_USER","user","isFormLoading","loaderMessage","emailIsDisabled","appConfig","process","isExternal","onSubmit","formData","response","omit","error","Infinity","CenteredView","Form","data","form","Bind","SimpleForm","OverlayLoader","SimpleFormHeader","SimpleFormContent","Grid","Alert","AvatarImage","validation","Input","SimpleFormFooter","Button"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin/ui/views/Users/hooks/useUserForm.js","sources":["../../../../../../src/admin/ui/views/Users/hooks/useUserForm.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport isEmpty from \"lodash/isEmpty.js\";\nimport { useRoute, useRouter, useWcp } from \"@webiny/app-admin\";\nimport { CREATE_USER, LIST_USERS, READ_USER, UPDATE_USER } from \"~/admin/ui/views/Users/graphql.js\";\nimport omit from \"lodash/omit.js\";\nimport { Routes } from \"~/admin/routes.js\";\nimport { useToast } from \"@webiny/admin-ui\";\n\nexport type UseUserForm = ReturnType<typeof useUserForm>;\n\ninterface SubmitUserCallableParams {\n id?: string;\n firstName: string;\n lastName: string;\n email: string;\n password?: string;\n avatar: {\n src?: string;\n };\n external?: boolean;\n}\n\ninterface SubmitUserCallable {\n (data: SubmitUserCallableParams): Promise<void>;\n}\n\nexport function useUserForm() {\n const { goToRoute } = useRouter();\n const { route } = useRoute(Routes.Users.List);\n const toast = useToast();\n\n const wcp = useWcp();\n const teams = wcp.canUseTeams();\n\n const id = route.params.id;\n const newUser = route.params.new === true;\n\n const { data, loading: userLoading } = useQuery(READ_USER({ teams }), {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.adminUsers.user;\n if (error) {\n goToRoute(Routes.Users.List);\n toast.showWarningToast({\n title: \"Error loading user profile\",\n description: error.message,\n duration: Infinity\n });\n }\n }\n });\n\n const [create, { loading: createLoading }] = useMutation(CREATE_USER, {\n refetchQueries: [{ query: LIST_USERS }]\n });\n\n const [update, { loading: updateLoading }] = useMutation(UPDATE_USER({ teams }), {\n refetchQueries: [{ query: LIST_USERS }]\n });\n\n const loading = userLoading || createLoading || updateLoading;\n\n const onSubmit = useCallback<SubmitUserCallable>(\n async data => {\n const { id, ...rest } = data;\n const [operation, args] = !newUser\n ? [update, { variables: { id, data: omit(rest, [\"external\"]) } }]\n : [create, { variables: { data } }];\n\n const result = await operation(args);\n\n const { data: user, error } = result.data.adminUsers.user;\n\n if (error) {\n toast.showWarningToast({\n title: \"Error updating user profile\",\n description: error.message,\n duration: Infinity\n });\n return;\n }\n\n if (newUser) {\n goToRoute(Routes.Users.List, { id: user.id });\n }\n toast.showSuccessToast({\n title: \"User saved successfully.\"\n });\n },\n [id, newUser]\n );\n\n const user = userLoading ? {} : data ? data.adminUsers.user.data : {};\n\n const showEmptyView = !newUser && !userLoading && isEmpty(user);\n\n return {\n id,\n loading,\n user: {\n ...user,\n group: user.group ? user.group.id : undefined,\n team: user.team ? user.team.id : undefined,\n roles: user.roles ? user.roles.map((r: any) => r.id) : [],\n teams: user.teams ? user.teams.map((t: any) => t.id) : []\n },\n onSubmit,\n isNewUser: newUser,\n fullName: `${user.firstName || \"\"} ${user.lastName || \"\"}`.trim(),\n showEmptyView,\n createUser() {\n goToRoute(Routes.Users.List, { new: true });\n },\n cancelEditing() {\n goToRoute(Routes.Users.List);\n }\n };\n}\n"],"names":["useUserForm","goToRoute","useRouter","route","useRoute","Routes","toast","useToast","wcp","useWcp","teams","id","newUser","data","userLoading","useQuery","READ_USER","error","Infinity","create","createLoading","useMutation","CREATE_USER","LIST_USERS","update","updateLoading","UPDATE_USER","loading","onSubmit","useCallback","rest","operation","args","omit","result","user","showEmptyView","isEmpty","undefined","r","t"],"mappings":";;;;;;;;AA2BO,SAASA;IACZ,MAAM,EAAEC,SAAS,EAAE,GAAGC;IACtB,MAAM,EAAEC,KAAK,EAAE,GAAGC,SAASC,OAAO,KAAK,CAAC,IAAI;IAC5C,MAAMC,QAAQC;IAEd,MAAMC,MAAMC;IACZ,MAAMC,QAAQF,IAAI,WAAW;IAE7B,MAAMG,KAAKR,MAAM,MAAM,CAAC,EAAE;IAC1B,MAAMS,UAAUT,AAAqB,SAArBA,MAAM,MAAM,CAAC,GAAG;IAEhC,MAAM,EAAEU,IAAI,EAAE,SAASC,WAAW,EAAE,GAAGC,SAASC,UAAU;QAAEN;IAAM,IAAI;QAClE,WAAW;YAAEC;QAAG;QAChB,MAAM,CAACA;QACP,aAAaE,CAAAA;YACT,IAAI,CAACA,MACD;YAGJ,MAAM,EAAEI,KAAK,EAAE,GAAGJ,KAAK,UAAU,CAAC,IAAI;YACtC,IAAII,OAAO;gBACPhB,UAAUI,OAAO,KAAK,CAAC,IAAI;gBAC3BC,MAAM,gBAAgB,CAAC;oBACnB,OAAO;oBACP,aAAaW,MAAM,OAAO;oBAC1B,UAAUC;
|
|
1
|
+
{"version":3,"file":"admin/ui/views/Users/hooks/useUserForm.js","sources":["../../../../../../src/admin/ui/views/Users/hooks/useUserForm.ts"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport isEmpty from \"lodash/isEmpty.js\";\nimport { useRoute, useRouter, useWcp } from \"@webiny/app-admin\";\nimport { CREATE_USER, LIST_USERS, READ_USER, UPDATE_USER } from \"~/admin/ui/views/Users/graphql.js\";\nimport omit from \"lodash/omit.js\";\nimport { Routes } from \"~/admin/routes.js\";\nimport { useToast } from \"@webiny/admin-ui\";\n\nexport type UseUserForm = ReturnType<typeof useUserForm>;\n\ninterface SubmitUserCallableParams {\n id?: string;\n firstName: string;\n lastName: string;\n email: string;\n password?: string;\n avatar: {\n src?: string;\n };\n external?: boolean;\n}\n\ninterface SubmitUserCallable {\n (data: SubmitUserCallableParams): Promise<void>;\n}\n\nexport function useUserForm() {\n const { goToRoute } = useRouter();\n const { route } = useRoute(Routes.Users.List);\n const toast = useToast();\n\n const wcp = useWcp();\n const teams = wcp.canUseTeams();\n\n const id = route.params.id;\n const newUser = route.params.new === true;\n\n const { data, loading: userLoading } = useQuery(READ_USER({ teams }), {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.adminUsers.user;\n if (error) {\n goToRoute(Routes.Users.List);\n toast.showWarningToast({\n title: \"Error loading user profile\",\n description: error.message,\n duration: Infinity\n });\n }\n }\n });\n\n const [create, { loading: createLoading }] = useMutation(CREATE_USER, {\n refetchQueries: [{ query: LIST_USERS }]\n });\n\n const [update, { loading: updateLoading }] = useMutation(UPDATE_USER({ teams }), {\n refetchQueries: [{ query: LIST_USERS }]\n });\n\n const loading = userLoading || createLoading || updateLoading;\n\n const onSubmit = useCallback<SubmitUserCallable>(\n async data => {\n const { id, ...rest } = data;\n const [operation, args] = !newUser\n ? [update, { variables: { id, data: omit(rest, [\"external\"]) } }]\n : [create, { variables: { data } }];\n\n const result = await operation(args);\n\n const { data: user, error } = result.data.adminUsers.user;\n\n if (error) {\n toast.showWarningToast({\n title: \"Error updating user profile\",\n description: error.message,\n duration: Infinity\n });\n return;\n }\n\n if (newUser) {\n goToRoute(Routes.Users.List, { id: user.id });\n }\n toast.showSuccessToast({\n title: \"User saved successfully.\"\n });\n },\n [id, newUser]\n );\n\n const user = userLoading ? {} : data ? data.adminUsers.user.data : {};\n\n const showEmptyView = !newUser && !userLoading && isEmpty(user);\n\n return {\n id,\n loading,\n user: {\n ...user,\n group: user.group ? user.group.id : undefined,\n team: user.team ? user.team.id : undefined,\n roles: user.roles ? user.roles.map((r: any) => r.id) : [],\n teams: user.teams ? user.teams.map((t: any) => t.id) : []\n },\n onSubmit,\n isNewUser: newUser,\n fullName: `${user.firstName || \"\"} ${user.lastName || \"\"}`.trim(),\n showEmptyView,\n createUser() {\n goToRoute(Routes.Users.List, { new: true });\n },\n cancelEditing() {\n goToRoute(Routes.Users.List);\n }\n };\n}\n"],"names":["useUserForm","goToRoute","useRouter","route","useRoute","Routes","toast","useToast","wcp","useWcp","teams","id","newUser","data","userLoading","useQuery","READ_USER","error","Infinity","create","createLoading","useMutation","CREATE_USER","LIST_USERS","update","updateLoading","UPDATE_USER","loading","onSubmit","useCallback","rest","operation","args","omit","result","user","showEmptyView","isEmpty","undefined","r","t"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/cognito",
|
|
3
|
-
"version": "6.4.
|
|
3
|
+
"version": "6.4.12-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -13,36 +13,36 @@
|
|
|
13
13
|
"author": "Webiny Ltd.",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@apollo/react-hooks": "3.1.5",
|
|
16
|
-
"@webiny/admin-ui": "6.4.
|
|
17
|
-
"@webiny/api-core": "6.4.
|
|
18
|
-
"@webiny/app": "6.4.
|
|
19
|
-
"@webiny/app-admin": "6.4.
|
|
20
|
-
"@webiny/aws-sdk": "6.4.
|
|
21
|
-
"@webiny/di": "1.0
|
|
22
|
-
"@webiny/feature": "6.4.
|
|
23
|
-
"@webiny/form": "6.4.
|
|
24
|
-
"@webiny/handler-graphql": "6.4.
|
|
25
|
-
"@webiny/icons": "6.4.
|
|
26
|
-
"@webiny/project": "6.4.
|
|
27
|
-
"@webiny/project-aws": "6.4.
|
|
28
|
-
"@webiny/react-properties": "6.4.
|
|
29
|
-
"@webiny/validation": "6.4.
|
|
30
|
-
"aws-amplify": "6.
|
|
16
|
+
"@webiny/admin-ui": "6.4.12-beta.1",
|
|
17
|
+
"@webiny/api-core": "6.4.12-beta.1",
|
|
18
|
+
"@webiny/app": "6.4.12-beta.1",
|
|
19
|
+
"@webiny/app-admin": "6.4.12-beta.1",
|
|
20
|
+
"@webiny/aws-sdk": "6.4.12-beta.1",
|
|
21
|
+
"@webiny/di": "1.1.0",
|
|
22
|
+
"@webiny/feature": "6.4.12-beta.1",
|
|
23
|
+
"@webiny/form": "6.4.12-beta.1",
|
|
24
|
+
"@webiny/handler-graphql": "6.4.12-beta.1",
|
|
25
|
+
"@webiny/icons": "6.4.12-beta.1",
|
|
26
|
+
"@webiny/project": "6.4.12-beta.1",
|
|
27
|
+
"@webiny/project-aws": "6.4.12-beta.1",
|
|
28
|
+
"@webiny/react-properties": "6.4.12-beta.1",
|
|
29
|
+
"@webiny/validation": "6.4.12-beta.1",
|
|
30
|
+
"aws-amplify": "6.20.0",
|
|
31
31
|
"graphql": "16.14.2",
|
|
32
32
|
"graphql-tag": "2.12.7",
|
|
33
33
|
"jsonwebtoken": "9.0.3",
|
|
34
34
|
"lodash": "4.18.1",
|
|
35
|
-
"mobx": "
|
|
36
|
-
"mobx-react-lite": "
|
|
35
|
+
"mobx": "7.0.3",
|
|
36
|
+
"mobx-react-lite": "5.0.3",
|
|
37
37
|
"react": "18.3.1",
|
|
38
|
-
"zod": "4.
|
|
38
|
+
"zod": "4.6.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/react": "18.3.31",
|
|
42
|
-
"@webiny/build-tools": "6.4.
|
|
43
|
-
"@webiny/project-utils": "6.4.
|
|
44
|
-
"@webiny/wcp": "6.4.
|
|
45
|
-
"vitest": "
|
|
42
|
+
"@webiny/build-tools": "6.4.12-beta.1",
|
|
43
|
+
"@webiny/project-utils": "6.4.12-beta.1",
|
|
44
|
+
"@webiny/wcp": "6.4.12-beta.1",
|
|
45
|
+
"vitest": "5.0.1"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|