@baseplate-dev/plugin-auth 0.6.2 → 0.6.4
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.
- package/CHANGELOG.md +36 -0
- package/LICENSE +114 -123
- package/dist/auth/core/common.d.ts.map +1 -1
- package/dist/auth/core/common.js +1 -0
- package/dist/auth/core/common.js.map +1 -1
- package/dist/auth/core/components/role-editor-form/role-dialog.d.ts +1 -3
- package/dist/auth/core/components/role-editor-form/role-dialog.d.ts.map +1 -1
- package/dist/auth/core/components/role-editor-form/role-dialog.js +10 -10
- package/dist/auth/core/components/role-editor-form/role-dialog.js.map +1 -1
- package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-log-out.ts +2 -4
- package/dist/better-auth/generators/react/better-auth-hooks/templates/src/hooks/use-session.ts +1 -2
- package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts +37 -25
- package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts +111 -75
- package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts +37 -25
- package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +148 -100
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js +2 -2
- package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.js.map +1 -1
- package/dist/better-auth/generators/react/better-auth-pages/templates/routes/{auth/login.tsx → login.tsx} +11 -13
- package/dist/better-auth/generators/react/better-auth-pages/templates/routes/{auth/register.tsx → register.tsx} +11 -13
- package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts +74 -50
- package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts.map +1 -1
- package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts +37 -25
- package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts.map +1 -1
- package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts +37 -25
- package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts.map +1 -1
- package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts +37 -25
- package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts.map +1 -1
- package/dist/better-auth/generators/react/react-better-auth/templates/src/app/auth-loaded-gate.tsx +3 -6
- package/dist/better-auth/generators/react/react-better-auth/templates/src/services/auth-client.ts +0 -2
- package/dist/common/components/auth-config-tabs.d.ts.map +1 -1
- package/dist/common/components/auth-config-tabs.js +1 -1
- package/dist/common/components/auth-config-tabs.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +78 -64
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js +5 -3
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +78 -64
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +39 -32
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +39 -32
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.d.ts +2 -2
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js +6 -6
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/templates/routes/-components/role-manager-dialog.tsx +9 -12
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +78 -64
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js +5 -3
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +78 -64
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +39 -32
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +78 -64
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.d.ts +2 -2
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js +6 -6
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/templates/routes/-components/password-reset-dialog.tsx +9 -12
- package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +37 -25
- package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts.map +1 -1
- package/dist/local-auth/core/components/local-auth-definition-editor.d.ts.map +1 -1
- package/dist/local-auth/core/components/local-auth-definition-editor.js +3 -2
- package/dist/local-auth/core/components/local-auth-definition-editor.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +1 -0
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js +7 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts +3 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts +6 -2
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/user-password.mutations.js +5 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/user-password.mutations.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/user-password.mutations.ts +5 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js +4 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +6 -1
- package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts +2 -7
- package/dist/local-auth/core/generators/auth-hooks/auth-hooks.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts +6 -21
- package/dist/local-auth/core/generators/auth-hooks/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts +2 -7
- package/dist/local-auth/core/generators/auth-hooks/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts +8 -28
- package/dist/local-auth/core/generators/auth-hooks/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.d.ts +2 -2
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.js.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.ts +3 -3
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts +43 -33
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js +37 -4
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +240 -196
- package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +39 -32
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +363 -296
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.js +5 -2
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +3 -10
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +6 -10
- package/dist/local-auth/core/generators/react-session/generated/index.d.ts +78 -64
- package/dist/local-auth/core/generators/react-session/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts +39 -32
- package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts +78 -64
- package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts +39 -32
- package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts.map +1 -1
- package/dist/local-auth/core/node.d.ts.map +1 -1
- package/dist/local-auth/core/node.js +6 -2
- package/dist/local-auth/core/node.js.map +1 -1
- package/dist/local-auth/core/schema/plugin-definition.d.ts +1 -0
- package/dist/local-auth/core/schema/plugin-definition.d.ts.map +1 -1
- package/dist/local-auth/core/schema/plugin-definition.js +1 -0
- package/dist/local-auth/core/schema/plugin-definition.js.map +1 -1
- package/dist/web/assets/{__federation_expose_authCoreCommon-CIVhaGqo.js → __federation_expose_authCoreCommon-D8SAyij-.js} +4 -3
- package/dist/web/assets/__federation_expose_authCoreCommon-D8SAyij-.js.map +1 -0
- package/dist/web/assets/{__federation_expose_authCoreWeb-N-mh42Bs.js → __federation_expose_authCoreWeb-BSv8GVI2.js} +60 -65
- package/dist/web/assets/__federation_expose_authCoreWeb-BSv8GVI2.js.map +1 -0
- package/dist/web/assets/{__federation_expose_better-authCoreCommon-BIU3Fg7K.js → __federation_expose_better-authCoreCommon-BJhkN6zV.js} +3 -3
- package/dist/web/assets/{__federation_expose_better-authCoreCommon-BIU3Fg7K.js.map → __federation_expose_better-authCoreCommon-BJhkN6zV.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_better-authCoreWeb-CMhPrXPA.js → __federation_expose_better-authCoreWeb-2kA00dBg.js} +5 -5
- package/dist/web/assets/{__federation_expose_better-authCoreWeb-CMhPrXPA.js.map → __federation_expose_better-authCoreWeb-2kA00dBg.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-DvHe9w29.js → __federation_expose_local-authAdminCommon-IuYupUXE.js} +2 -2
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-DvHe9w29.js.map → __federation_expose_local-authAdminCommon-IuYupUXE.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminWeb-CLU9aEy9.js → __federation_expose_local-authAdminWeb-BzhksqwO.js} +2 -2
- package/dist/web/assets/{__federation_expose_local-authAdminWeb-CLU9aEy9.js.map → __federation_expose_local-authAdminWeb-BzhksqwO.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authCoreCommon-DbuvGG7o.js → __federation_expose_local-authCoreCommon-DO5xRAoM.js} +3 -3
- package/dist/web/assets/{__federation_expose_local-authCoreCommon-DbuvGG7o.js.map → __federation_expose_local-authCoreCommon-DO5xRAoM.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authCoreWeb-BY-mP3uS.js → __federation_expose_local-authCoreWeb-QdXa2aao.js} +23 -7
- package/dist/web/assets/__federation_expose_local-authCoreWeb-QdXa2aao.js.map +1 -0
- package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BJBCuZvU.js → __federation_expose_placeholder-authCoreCommon-hGIPuBy3.js} +3 -3
- package/dist/web/assets/{__federation_expose_placeholder-authCoreCommon-BJBCuZvU.js.map → __federation_expose_placeholder-authCoreCommon-hGIPuBy3.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js → __federation_expose_placeholder-authCoreWeb-P4Qq8Zf6.js} +5 -5
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-BaV-Ko2C.js.map → __federation_expose_placeholder-authCoreWeb-P4Qq8Zf6.js.map} +1 -1
- package/dist/web/assets/{__federation_fn_import-BLFDCY-V.js → __federation_fn_import-CzLgVaFb.js} +2 -2
- package/dist/web/assets/{__federation_fn_import-BLFDCY-V.js.map → __federation_fn_import-CzLgVaFb.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-bRU6KpPk.js → web-DA-fkeD5.js} +12 -10
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DA-fkeD5.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-CQKLkNsU.js → project-builder-lib-zJirGIS1.js} +321 -36
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-zJirGIS1.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-DhyoEUTy.js → ui-components-Ds8y9Suz.js} +49747 -33379
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-Ds8y9Suz.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-9w-0yxVZ.js → utils-DnBM79-7.js} +3 -2
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-DnBM79-7.js.map +1 -0
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-CbExBaoL.js → react-router-BoEohCHh.js} +3 -200
- package/dist/web/assets/__federation_shared_@tanstack/react-router-BoEohCHh.js.map +1 -0
- package/dist/web/assets/{get-auth-plugin-definition-BL50g0cJ.js → get-auth-plugin-definition-DM6kosCC.js} +2 -2
- package/dist/web/assets/{get-auth-plugin-definition-BL50g0cJ.js.map → get-auth-plugin-definition-DM6kosCC.js.map} +1 -1
- package/dist/web/assets/{index-B_A3cgiy.js → index-EshpyU4T.js} +5 -5
- package/dist/web/assets/{index-B_A3cgiy.js.map → index-EshpyU4T.js.map} +1 -1
- package/dist/web/assets/{index.esm-BraHxHLB.js → index.esm-CYY7gyrG.js} +2 -2
- package/dist/web/assets/{index.esm-BraHxHLB.js.map → index.esm-CYY7gyrG.js.map} +1 -1
- package/dist/web/assets/{model-utils-BfcjfzCn.js → model-utils-WWo9T1Zx.js} +30 -2
- package/dist/web/assets/{model-utils-BfcjfzCn.js.map → model-utils-WWo9T1Zx.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-CXnKUJ1l.js → plugin-definition-BCrs3YSY.js} +2 -2
- package/dist/web/assets/{plugin-definition-CXnKUJ1l.js.map → plugin-definition-BCrs3YSY.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-Ckl5hjD1.js → plugin-definition-BwAJGzRn.js} +4 -3
- package/dist/web/assets/plugin-definition-BwAJGzRn.js.map +1 -0
- package/dist/web/assets/{plugin-definition-D26rR8AB.js → plugin-definition-CqP9VmOQ.js} +2 -2
- package/dist/web/assets/{plugin-definition-D26rR8AB.js.map → plugin-definition-CqP9VmOQ.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-DJzXScRp.js → plugin-definition-y6VVQ5_O.js} +2 -2
- package/dist/web/assets/{plugin-definition-DJzXScRp.js.map → plugin-definition-y6VVQ5_O.js.map} +1 -1
- package/dist/web/assets/{react-CL9M_wyN.js → react-B6Fz4KB7.js} +2 -2
- package/dist/web/assets/{react-CL9M_wyN.js.map → react-B6Fz4KB7.js.map} +1 -1
- package/dist/web/assets/remoteEntry.js +10 -10
- package/dist/web/assets/{styles-tkrWV-ZE.js → styles-0yxEwdyo.js} +24 -14
- package/dist/web/assets/styles-0yxEwdyo.js.map +1 -0
- package/dist/web/assets/with-selector-DTXBONcE.js +201 -0
- package/dist/web/assets/with-selector-DTXBONcE.js.map +1 -0
- package/package.json +19 -22
- package/dist/web/assets/__federation_expose_authCoreCommon-CIVhaGqo.js.map +0 -1
- package/dist/web/assets/__federation_expose_authCoreWeb-N-mh42Bs.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreWeb-BY-mP3uS.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-bRU6KpPk.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CQKLkNsU.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DhyoEUTy.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-9w-0yxVZ.js.map +0 -1
- package/dist/web/assets/__federation_shared_@tanstack/react-router-CbExBaoL.js.map +0 -1
- package/dist/web/assets/plugin-definition-Ckl5hjD1.js.map +0 -1
- package/dist/web/assets/styles-tkrWV-ZE.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as createFieldMapSpec, a as createEntityType, d as definitionSchemaWithSlots, b as definitionRefRegistry, e as definitionDefaultRegistry, f as definitionSchema, g as featureEntityType, w as withDefault, r as runInPluginContext, h as createFeaturesSchema, M as ModelUtils, i as createDefinitionSchemaParserContext } from '../model-utils-
|
|
2
|
-
export { D as DefinitionEntityType, F as FeatureUtils, j as createFeatureSchema, k as createPluginFieldMap, l as createPluginSpec, m as createRefContextSlot, n as createRefContextSlotMap, o as featureNameSchema, p as getPluginContext, q as withEnt, s as withPlaceholderSlots, t as withRef } from '../model-utils-
|
|
1
|
+
import { c as createFieldMapSpec, a as createEntityType, d as definitionSchemaWithSlots, b as definitionRefRegistry, e as definitionDefaultRegistry, f as definitionSchema, g as featureEntityType, w as withDefault, r as runInPluginContext, h as createFeaturesSchema, M as ModelUtils, i as createDefinitionSchemaParserContext } from '../model-utils-WWo9T1Zx.js';
|
|
2
|
+
export { D as DefinitionEntityType, F as FeatureUtils, j as createFeatureSchema, k as createPluginFieldMap, l as createPluginSpec, m as createRefContextSlot, n as createRefContextSlotMap, o as featureNameSchema, p as getPluginContext, q as withEnt, s as withPlaceholderSlots, t as withRef } from '../model-utils-WWo9T1Zx.js';
|
|
3
3
|
import { g as getSymbols, a as getTag, u as uint32ArrayTag, b as uint16ArrayTag, c as uint8ClampedArrayTag, d as uint8ArrayTag, s as symbolTag, e as stringTag, f as setTag, r as regexpTag, o as objectTag, n as numberTag, m as mapTag, i as int32ArrayTag, h as int16ArrayTag, j as int8ArrayTag, k as float64ArrayTag, l as float32ArrayTag, p as dateTag, q as booleanTag, t as dataViewTag, v as arrayBufferTag, w as arrayTag, x as argumentsTag, y as isPlainObject$1, z as isEqualsSameValueZero, A as isEqual } from '../isEqual-tnzoadW8.js';
|
|
4
|
-
import { importShared } from '../__federation_fn_import-
|
|
4
|
+
import { importShared } from '../__federation_fn_import-CzLgVaFb.js';
|
|
5
5
|
import { m as mergeWith, i as isUnsafeProperty, s as sortBy } from '../mergeWith-VagwCqUi.js';
|
|
6
6
|
|
|
7
7
|
const adminCrudActionCompilerSpec = createFieldMapSpec('core/admin-crud-action-compiler', (t) => ({
|
|
@@ -709,7 +709,6 @@ const createBackendAppSchema = definitionSchemaWithSlots({ appSlot: appEntityTyp
|
|
|
709
709
|
...baseAppValidators,
|
|
710
710
|
type: z$z.literal('backend'),
|
|
711
711
|
devPort: z$z.number().int().positive(),
|
|
712
|
-
enableStripe: z$z.boolean().optional(),
|
|
713
712
|
enableSubscriptions: z$z.boolean().optional(),
|
|
714
713
|
enableAxios: z$z.boolean().optional(),
|
|
715
714
|
}));
|
|
@@ -7069,22 +7068,57 @@ function convertLogicalExpression(node) {
|
|
|
7069
7068
|
};
|
|
7070
7069
|
}
|
|
7071
7070
|
/**
|
|
7072
|
-
* Convert a BinaryExpression (===) to FieldComparisonNode.
|
|
7071
|
+
* Convert a BinaryExpression (=== or !==) to FieldComparisonNode.
|
|
7073
7072
|
*/
|
|
7074
7073
|
function convertBinaryExpression(node) {
|
|
7075
|
-
if (node.operator !== '===') {
|
|
7076
|
-
throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only ===
|
|
7074
|
+
if (node.operator !== '===' && node.operator !== '!==') {
|
|
7075
|
+
throw new AuthorizerExpressionParseError(`Unsupported comparison operator: ${node.operator}. Only === and !== are supported.`, node.left.end, node.right.start);
|
|
7076
|
+
}
|
|
7077
|
+
const left = convertFieldRefOrLiteral(node.left);
|
|
7078
|
+
const right = convertFieldRefOrLiteral(node.right);
|
|
7079
|
+
// At least one side must be a field reference — comparing two literals is not allowed.
|
|
7080
|
+
if (left.type === 'literalValue' && right.type === 'literalValue') {
|
|
7081
|
+
throw new AuthorizerExpressionParseError('At least one side of a comparison must be a field reference (e.g., model.field or userId).', node);
|
|
7077
7082
|
}
|
|
7078
|
-
// Acorn's BinaryExpression allows PrivateIdentifier for ES2022+, but we only
|
|
7079
|
-
// support MemberExpression field refs. convertFieldRef will throw if given
|
|
7080
|
-
// anything other than MemberExpression.
|
|
7081
7083
|
return {
|
|
7082
7084
|
type: 'fieldComparison',
|
|
7083
|
-
operator:
|
|
7084
|
-
left
|
|
7085
|
-
right
|
|
7085
|
+
operator: node.operator,
|
|
7086
|
+
left,
|
|
7087
|
+
right,
|
|
7086
7088
|
};
|
|
7087
7089
|
}
|
|
7090
|
+
/**
|
|
7091
|
+
* Convert an expression node to either a FieldRefNode or a LiteralValueNode.
|
|
7092
|
+
* Supports string, number, and boolean literals.
|
|
7093
|
+
*/
|
|
7094
|
+
function convertFieldRefOrLiteral(node) {
|
|
7095
|
+
if (node.type === 'UnaryExpression' &&
|
|
7096
|
+
(node.operator === '-' || node.operator === '+') &&
|
|
7097
|
+
node.argument.type === 'Literal' &&
|
|
7098
|
+
typeof node.argument.value === 'number') {
|
|
7099
|
+
return {
|
|
7100
|
+
type: 'literalValue',
|
|
7101
|
+
value: node.operator === '-' ? -node.argument.value : node.argument.value,
|
|
7102
|
+
start: node.start,
|
|
7103
|
+
end: node.end,
|
|
7104
|
+
};
|
|
7105
|
+
}
|
|
7106
|
+
if (node.type === 'Literal') {
|
|
7107
|
+
const { value } = node;
|
|
7108
|
+
if (typeof value === 'string' ||
|
|
7109
|
+
typeof value === 'number' ||
|
|
7110
|
+
typeof value === 'boolean') {
|
|
7111
|
+
return {
|
|
7112
|
+
type: 'literalValue',
|
|
7113
|
+
value,
|
|
7114
|
+
start: node.start,
|
|
7115
|
+
end: node.end,
|
|
7116
|
+
};
|
|
7117
|
+
}
|
|
7118
|
+
throw new AuthorizerExpressionParseError('Unsupported literal type. Only string, number, and boolean literals are supported.', node);
|
|
7119
|
+
}
|
|
7120
|
+
return convertFieldRef(node);
|
|
7121
|
+
}
|
|
7088
7122
|
/**
|
|
7089
7123
|
* Convert a CallExpression to HasRoleNode or HasSomeRoleNode.
|
|
7090
7124
|
* Supports:
|
|
@@ -7287,8 +7321,12 @@ function extractInfo(ast) {
|
|
|
7287
7321
|
function walk(node) {
|
|
7288
7322
|
switch (node.type) {
|
|
7289
7323
|
case 'fieldComparison': {
|
|
7290
|
-
|
|
7291
|
-
|
|
7324
|
+
if (node.left.type === 'fieldRef') {
|
|
7325
|
+
walkFieldRef(node.left);
|
|
7326
|
+
}
|
|
7327
|
+
if (node.right.type === 'fieldRef') {
|
|
7328
|
+
walkFieldRef(node.right);
|
|
7329
|
+
}
|
|
7292
7330
|
break;
|
|
7293
7331
|
}
|
|
7294
7332
|
case 'hasRole': {
|
|
@@ -7413,8 +7451,10 @@ class RefExpressionParser {
|
|
|
7413
7451
|
*/
|
|
7414
7452
|
const authConfigSpec = createFieldMapSpec('core/auth-config', (t) => ({
|
|
7415
7453
|
getAuthConfig: t.scalar(),
|
|
7454
|
+
pluginKey: t.scalar(),
|
|
7416
7455
|
}), {
|
|
7417
7456
|
use: (values) => ({
|
|
7457
|
+
pluginKey: values.pluginKey,
|
|
7418
7458
|
getAuthConfig: (definition) => values.getAuthConfig?.(definition),
|
|
7419
7459
|
getAuthConfigOrThrow: (definition) => {
|
|
7420
7460
|
const config = values.getAuthConfig?.(definition);
|
|
@@ -7487,8 +7527,24 @@ function validateAuthorizerExpression(ast, modelContext, pluginStore, definition
|
|
|
7487
7527
|
function walk(node) {
|
|
7488
7528
|
switch (node.type) {
|
|
7489
7529
|
case 'fieldComparison': {
|
|
7490
|
-
|
|
7491
|
-
|
|
7530
|
+
if (node.left.type === 'fieldRef') {
|
|
7531
|
+
validateFieldRef(node.left);
|
|
7532
|
+
}
|
|
7533
|
+
if (node.right.type === 'fieldRef') {
|
|
7534
|
+
validateFieldRef(node.right);
|
|
7535
|
+
}
|
|
7536
|
+
// Type-check: warn if a model field is compared to an incompatible literal
|
|
7537
|
+
const fieldRef = node.left.type === 'fieldRef' ? node.left : node.right;
|
|
7538
|
+
const literalNode = node.left.type === 'literalValue'
|
|
7539
|
+
? node.left
|
|
7540
|
+
: node.right.type === 'literalValue'
|
|
7541
|
+
? node.right
|
|
7542
|
+
: null;
|
|
7543
|
+
if (fieldRef.type === 'fieldRef' &&
|
|
7544
|
+
fieldRef.source === 'model' &&
|
|
7545
|
+
literalNode !== null) {
|
|
7546
|
+
validateLiteralTypeCompatibility(fieldRef, literalNode);
|
|
7547
|
+
}
|
|
7492
7548
|
break;
|
|
7493
7549
|
}
|
|
7494
7550
|
case 'hasRole': {
|
|
@@ -7578,6 +7634,45 @@ function validateAuthorizerExpression(ast, modelContext, pluginStore, definition
|
|
|
7578
7634
|
}
|
|
7579
7635
|
}
|
|
7580
7636
|
}
|
|
7637
|
+
function validateLiteralTypeCompatibility(fieldRefNode, literalNode) {
|
|
7638
|
+
const { fieldTypes } = modelContext;
|
|
7639
|
+
const fieldType = fieldTypes.get(fieldRefNode.field);
|
|
7640
|
+
if (!fieldType)
|
|
7641
|
+
return;
|
|
7642
|
+
const literalJsType = typeof literalNode.value;
|
|
7643
|
+
// Determine which JS types are compatible with each field type
|
|
7644
|
+
const isCompatible = (() => {
|
|
7645
|
+
switch (fieldType) {
|
|
7646
|
+
case 'boolean': {
|
|
7647
|
+
return literalJsType === 'boolean';
|
|
7648
|
+
}
|
|
7649
|
+
case 'int': {
|
|
7650
|
+
return (typeof literalNode.value === 'number' &&
|
|
7651
|
+
Number.isInteger(literalNode.value));
|
|
7652
|
+
}
|
|
7653
|
+
case 'float':
|
|
7654
|
+
case 'decimal': {
|
|
7655
|
+
return literalJsType === 'number';
|
|
7656
|
+
}
|
|
7657
|
+
case 'string':
|
|
7658
|
+
case 'uuid':
|
|
7659
|
+
case 'enum': {
|
|
7660
|
+
return literalJsType === 'string';
|
|
7661
|
+
}
|
|
7662
|
+
default: {
|
|
7663
|
+
// Unknown or unsupported field type — no warning
|
|
7664
|
+
return true;
|
|
7665
|
+
}
|
|
7666
|
+
}
|
|
7667
|
+
})();
|
|
7668
|
+
if (!isCompatible) {
|
|
7669
|
+
warnings.push({
|
|
7670
|
+
message: `Literal value type '${literalJsType}' is not compatible with field '${fieldRefNode.field}' of type '${fieldType}'.`,
|
|
7671
|
+
start: literalNode.start,
|
|
7672
|
+
end: literalNode.end,
|
|
7673
|
+
});
|
|
7674
|
+
}
|
|
7675
|
+
}
|
|
7581
7676
|
function validateFieldRef(node) {
|
|
7582
7677
|
if (node.source === 'model') {
|
|
7583
7678
|
// Check if field exists on model
|
|
@@ -7642,12 +7737,15 @@ function buildRelationValidationInfo(modelRelations, allModels) {
|
|
|
7642
7737
|
*/
|
|
7643
7738
|
function createModelValidationContext(modelConfig) {
|
|
7644
7739
|
const scalarFieldNames = new Set();
|
|
7645
|
-
|
|
7740
|
+
const fieldTypes = new Map();
|
|
7741
|
+
for (const field of modelConfig.model.fields) {
|
|
7646
7742
|
scalarFieldNames.add(field.name);
|
|
7743
|
+
fieldTypes.set(field.name, field.type);
|
|
7647
7744
|
}
|
|
7648
7745
|
return {
|
|
7649
7746
|
modelName: modelConfig.name,
|
|
7650
7747
|
scalarFieldNames,
|
|
7748
|
+
fieldTypes,
|
|
7651
7749
|
};
|
|
7652
7750
|
}
|
|
7653
7751
|
|
|
@@ -7759,9 +7857,13 @@ class AuthorizerExpressionParser extends RefExpressionParser {
|
|
|
7759
7857
|
}
|
|
7760
7858
|
// Model fields are nested under model.model.fields in the definition
|
|
7761
7859
|
const scalarFieldNames = new Set();
|
|
7860
|
+
const fieldTypes = new Map();
|
|
7762
7861
|
for (const field of model.model?.fields ?? []) {
|
|
7763
7862
|
if (typeof field.name === 'string') {
|
|
7764
7863
|
scalarFieldNames.add(field.name);
|
|
7864
|
+
if (typeof field.type === 'string') {
|
|
7865
|
+
fieldTypes.set(field.name, field.type);
|
|
7866
|
+
}
|
|
7765
7867
|
}
|
|
7766
7868
|
}
|
|
7767
7869
|
// Build relation info for nested authorizer validation
|
|
@@ -7778,6 +7880,7 @@ class AuthorizerExpressionParser extends RefExpressionParser {
|
|
|
7778
7880
|
return {
|
|
7779
7881
|
modelName: model.name,
|
|
7780
7882
|
scalarFieldNames,
|
|
7883
|
+
fieldTypes,
|
|
7781
7884
|
relationInfo,
|
|
7782
7885
|
};
|
|
7783
7886
|
}
|
|
@@ -9190,8 +9293,11 @@ function extractDefinitionRefs(schema, value) {
|
|
|
9190
9293
|
if (data === null || data === undefined || typeof data !== 'object')
|
|
9191
9294
|
return;
|
|
9192
9295
|
const id = get$1(data, meta.idPath);
|
|
9193
|
-
if (typeof id !== 'string' || !id
|
|
9194
|
-
throw new Error(`Unable to find
|
|
9296
|
+
if (typeof id !== 'string' || !id) {
|
|
9297
|
+
throw new Error(`Unable to find id field '${meta.idPath.join('.')}' in entity ${meta.type.name} at path ${context.path.join('.')}`);
|
|
9298
|
+
}
|
|
9299
|
+
if (!meta.type.isId(id)) {
|
|
9300
|
+
throw new Error(`Invalid id field '${id}' in entity ${meta.type.name} at path ${context.path.join('.')}. Expected prefix: ${meta.type.prefix}. Got: ${id}`);
|
|
9195
9301
|
}
|
|
9196
9302
|
const nameResolver = (() => {
|
|
9197
9303
|
if (meta.getNameResolver) {
|
|
@@ -10583,6 +10689,9 @@ const modelScalarFieldEntityType = createEntityType('model-scalar-field', {
|
|
|
10583
10689
|
const modelLocalRelationEntityType = createEntityType('model-local-relation', { parentType: modelEntityType });
|
|
10584
10690
|
const modelForeignRelationEntityType = createEntityType('model-foreign-relation', { parentType: modelEntityType });
|
|
10585
10691
|
const modelUniqueConstraintEntityType = createEntityType('model-unique-constraint', { parentType: modelEntityType });
|
|
10692
|
+
const modelIndexEntityType = createEntityType('model-index', {
|
|
10693
|
+
parentType: modelEntityType,
|
|
10694
|
+
});
|
|
10586
10695
|
const modelTransformerEntityType = createEntityType('model-transformer', { parentType: modelEntityType });
|
|
10587
10696
|
const modelEnumEntityType = createEntityType('model-enum');
|
|
10588
10697
|
const modelEnumValueEntityType = createEntityType('model-enum-value', {
|
|
@@ -11036,7 +11145,7 @@ const createModelScalarFieldSchema = definitionSchemaWithSlots({ modelSlot: mode
|
|
|
11036
11145
|
isOptional: z$q.boolean().default(false),
|
|
11037
11146
|
};
|
|
11038
11147
|
const defaultOptionsSchema = z$q
|
|
11039
|
-
.object({ default: z$q.string().
|
|
11148
|
+
.object({ default: z$q.string().default('') })
|
|
11040
11149
|
.default({ default: '' });
|
|
11041
11150
|
const union = z$q.discriminatedUnion('type', [
|
|
11042
11151
|
z$q.object({
|
|
@@ -11049,7 +11158,7 @@ const createModelScalarFieldSchema = definitionSchemaWithSlots({ modelSlot: mode
|
|
|
11049
11158
|
type: z$q.literal('uuid'),
|
|
11050
11159
|
options: z$q
|
|
11051
11160
|
.object({
|
|
11052
|
-
default: z$q.string().
|
|
11161
|
+
default: z$q.string().default(''),
|
|
11053
11162
|
genUuid: z$q.boolean().optional(),
|
|
11054
11163
|
})
|
|
11055
11164
|
.default({ default: '' }),
|
|
@@ -11193,6 +11302,25 @@ const createModelUniqueConstraintSchema = definitionSchemaWithSlots({ modelSlot:
|
|
|
11193
11302
|
});
|
|
11194
11303
|
},
|
|
11195
11304
|
}));
|
|
11305
|
+
const createModelIndexSchema = definitionSchemaWithSlots({ modelSlot: modelEntityType }, (ctx, { modelSlot }) => ctx.withEnt(z$q.object({
|
|
11306
|
+
id: z$q.string(),
|
|
11307
|
+
fields: z$q.array(z$q.object({
|
|
11308
|
+
fieldRef: ctx.withRef({
|
|
11309
|
+
type: modelScalarFieldEntityType,
|
|
11310
|
+
onDelete: 'RESTRICT',
|
|
11311
|
+
parentSlot: modelSlot,
|
|
11312
|
+
}),
|
|
11313
|
+
})),
|
|
11314
|
+
}), {
|
|
11315
|
+
type: modelIndexEntityType,
|
|
11316
|
+
parentSlot: modelSlot,
|
|
11317
|
+
getNameResolver(value) {
|
|
11318
|
+
return createDefinitionEntityNameResolver({
|
|
11319
|
+
idsToResolve: { fields: value.fields.map((f) => f.fieldRef) },
|
|
11320
|
+
resolveName: (entityNames) => entityNames.fields.join('_'),
|
|
11321
|
+
});
|
|
11322
|
+
},
|
|
11323
|
+
}));
|
|
11196
11324
|
/**
|
|
11197
11325
|
* Checks that enabled service methods have at least one field or transformer.
|
|
11198
11326
|
*/
|
|
@@ -11387,6 +11515,9 @@ const createModelBaseSchema = definitionSchemaWithSlots({ modelSlot: modelEntity
|
|
|
11387
11515
|
uniqueConstraints: z$q
|
|
11388
11516
|
.array(createModelUniqueConstraintSchema(ctx, slots))
|
|
11389
11517
|
.apply(withDefault([])),
|
|
11518
|
+
indexes: z$q
|
|
11519
|
+
.array(createModelIndexSchema(ctx, slots))
|
|
11520
|
+
.apply(withDefault([])),
|
|
11390
11521
|
}),
|
|
11391
11522
|
service: createModelServiceSchema(ctx, slots).apply(withDefault({})),
|
|
11392
11523
|
graphql: ctx.withDefault(createModelGraphqlSchema(ctx, slots), {}),
|
|
@@ -12082,6 +12213,7 @@ const pluginConfigSpec = createFieldMapSpec('core/plugin-config', (t) => ({
|
|
|
12082
12213
|
},
|
|
12083
12214
|
});
|
|
12084
12215
|
|
|
12216
|
+
const {enhanceErrorWithContext} = await importShared('@baseplate-dev/utils');
|
|
12085
12217
|
function runPluginMigrations(projectDefinition, pluginSpecStore) {
|
|
12086
12218
|
const pluginConfigService = pluginSpecStore.use(pluginConfigSpec);
|
|
12087
12219
|
return produce(projectDefinition, (draft) => {
|
|
@@ -12105,7 +12237,7 @@ function runPluginMigrations(projectDefinition, pluginSpecStore) {
|
|
|
12105
12237
|
}
|
|
12106
12238
|
}
|
|
12107
12239
|
catch (error) {
|
|
12108
|
-
throw
|
|
12240
|
+
throw enhanceErrorWithContext(error, `Error migrating plugin ${pluginDefinition.id} to version ${migration.version}`);
|
|
12109
12241
|
}
|
|
12110
12242
|
}
|
|
12111
12243
|
}
|
|
@@ -12621,6 +12753,9 @@ function getModelValidator(modelField) {
|
|
|
12621
12753
|
case 'uuid': {
|
|
12622
12754
|
return 'string()';
|
|
12623
12755
|
}
|
|
12756
|
+
case 'json': {
|
|
12757
|
+
return 'unknown()';
|
|
12758
|
+
}
|
|
12624
12759
|
default: {
|
|
12625
12760
|
throw new Error(`Unsupported validator for ${modelField.type}`);
|
|
12626
12761
|
}
|
|
@@ -12873,12 +13008,13 @@ const PluginUtils = {
|
|
|
12873
13008
|
* at every schema node.
|
|
12874
13009
|
*
|
|
12875
13010
|
* Unlike `walkDataWithSchema`, this operates on the schema alone.
|
|
12876
|
-
*
|
|
12877
|
-
* - Object keys
|
|
12878
|
-
* -
|
|
12879
|
-
*
|
|
13011
|
+
* Every structural descent produces a path element:
|
|
13012
|
+
* - Object keys → `object-key`
|
|
13013
|
+
* - Tuple indices → `tuple-index`
|
|
13014
|
+
* - Arrays of discriminated unions → `discriminated-union-array` (one per branch)
|
|
13015
|
+
* - Plain arrays → `array`
|
|
13016
|
+
* - Records → `record`
|
|
12880
13017
|
* - Discriminated unions on objects are transparent (no path element)
|
|
12881
|
-
* - Plain arrays and records are descended into without path elements
|
|
12882
13018
|
*
|
|
12883
13019
|
* Uses a `Set<z.ZodType>` circular-reference guard with delete-on-backtrack
|
|
12884
13020
|
* so the same schema can appear at different paths.
|
|
@@ -12930,8 +13066,8 @@ function walkNode(schema, path, visitors, visited) {
|
|
|
12930
13066
|
walkDiscriminatedUnionArrayBranches(unwrappedElement, path, visitors, visited);
|
|
12931
13067
|
}
|
|
12932
13068
|
else {
|
|
12933
|
-
// Plain array — descend
|
|
12934
|
-
walkNode(children.elementSchema, path, visitors, visited);
|
|
13069
|
+
// Plain array — descend with an array path element
|
|
13070
|
+
walkNode(children.elementSchema, [...path, { type: 'array' }], visitors, visited);
|
|
12935
13071
|
}
|
|
12936
13072
|
break;
|
|
12937
13073
|
}
|
|
@@ -12954,8 +13090,8 @@ function walkNode(schema, path, visitors, visited) {
|
|
|
12954
13090
|
break;
|
|
12955
13091
|
}
|
|
12956
13092
|
case 'record': {
|
|
12957
|
-
//
|
|
12958
|
-
walkNode(children.valueSchema, path, visitors, visited);
|
|
13093
|
+
// Record — descend with a record path element
|
|
13094
|
+
walkNode(children.valueSchema, [...path, { type: 'record' }], visitors, visited);
|
|
12959
13095
|
break;
|
|
12960
13096
|
}
|
|
12961
13097
|
case 'intersection': {
|
|
@@ -13109,7 +13245,10 @@ function collectEntityMetadata(schema) {
|
|
|
13109
13245
|
`but no such entity was found in the ancestor chain`);
|
|
13110
13246
|
}
|
|
13111
13247
|
parentEntityTypeName = parentType.name;
|
|
13112
|
-
|
|
13248
|
+
// Strip the first element — it is always an array or
|
|
13249
|
+
// discriminated-union-array that describes how to enter the parent's
|
|
13250
|
+
// array, not how to navigate from the parent entity to this child.
|
|
13251
|
+
relativePath = ctx.path.slice(parentEntry.pathAtEntity.length + 1);
|
|
13113
13252
|
}
|
|
13114
13253
|
else {
|
|
13115
13254
|
// Top-level entity: relative path is the full path
|
|
@@ -18821,6 +18960,86 @@ const migration026QuerySharedRoles = createSchemaMigration({
|
|
|
18821
18960
|
},
|
|
18822
18961
|
});
|
|
18823
18962
|
|
|
18963
|
+
const SENTRY_PLUGIN_ID = 'plugin:baseplate-dev_plugin-observability_sentry';
|
|
18964
|
+
/**
|
|
18965
|
+
* Migration to auto-enable the Sentry plugin on all existing projects.
|
|
18966
|
+
*
|
|
18967
|
+
* Sentry was previously always-on (hardcoded in compilers). Now that it's been
|
|
18968
|
+
* extracted into plugin-observability, existing projects need the plugin entry
|
|
18969
|
+
* added so they don't lose Sentry when upgrading.
|
|
18970
|
+
*/
|
|
18971
|
+
const migration027EnableSentryPlugin = createSchemaMigration({
|
|
18972
|
+
version: 27,
|
|
18973
|
+
name: 'enableSentryPlugin',
|
|
18974
|
+
description: 'Auto-enable Sentry plugin for existing projects (previously always-on)',
|
|
18975
|
+
migrate: (config) => {
|
|
18976
|
+
const plugins = config.plugins ? [...config.plugins] : [];
|
|
18977
|
+
// Skip if sentry plugin already exists
|
|
18978
|
+
const existingIndex = plugins.findIndex((p) => p.id === SENTRY_PLUGIN_ID);
|
|
18979
|
+
if (existingIndex === -1) {
|
|
18980
|
+
plugins.push({
|
|
18981
|
+
id: SENTRY_PLUGIN_ID,
|
|
18982
|
+
name: 'sentry',
|
|
18983
|
+
packageName: '@baseplate-dev/plugin-observability',
|
|
18984
|
+
version: '0.1.0',
|
|
18985
|
+
config: {
|
|
18986
|
+
sentryOptions: {},
|
|
18987
|
+
},
|
|
18988
|
+
});
|
|
18989
|
+
}
|
|
18990
|
+
return {
|
|
18991
|
+
...config,
|
|
18992
|
+
plugins,
|
|
18993
|
+
};
|
|
18994
|
+
},
|
|
18995
|
+
});
|
|
18996
|
+
|
|
18997
|
+
const STRIPE_PLUGIN_ID = 'plugin:baseplate-dev_plugin-payments_stripe';
|
|
18998
|
+
/**
|
|
18999
|
+
* Migration to convert enableStripe boolean on backend apps into a
|
|
19000
|
+
* plugin-payments:stripe plugin entry, and remove enableStripe from app configs.
|
|
19001
|
+
*
|
|
19002
|
+
* Stripe was previously toggled via a boolean on the backend app config.
|
|
19003
|
+
* Now that it's been extracted into plugin-payments, existing projects need
|
|
19004
|
+
* the plugin entry added so they don't lose Stripe when upgrading.
|
|
19005
|
+
*/
|
|
19006
|
+
const migration028EnableStripePlugin = createSchemaMigration({
|
|
19007
|
+
version: 28,
|
|
19008
|
+
name: 'enableStripePlugin',
|
|
19009
|
+
description: 'Convert enableStripe boolean to plugin-payments:stripe plugin entry',
|
|
19010
|
+
migrate: (config) => {
|
|
19011
|
+
const apps = config.apps ? [...config.apps] : [];
|
|
19012
|
+
const plugins = config.plugins ? [...config.plugins] : [];
|
|
19013
|
+
// Check if any app has enableStripe
|
|
19014
|
+
const hasStripeEnabled = apps.some((app) => app.enableStripe);
|
|
19015
|
+
// Add stripe plugin if any app had it enabled and it doesn't already exist
|
|
19016
|
+
if (hasStripeEnabled) {
|
|
19017
|
+
const existingIndex = plugins.findIndex((p) => p.id === STRIPE_PLUGIN_ID);
|
|
19018
|
+
if (existingIndex === -1) {
|
|
19019
|
+
plugins.push({
|
|
19020
|
+
id: STRIPE_PLUGIN_ID,
|
|
19021
|
+
name: 'stripe',
|
|
19022
|
+
packageName: '@baseplate-dev/plugin-payments',
|
|
19023
|
+
version: '0.1.0',
|
|
19024
|
+
config: {
|
|
19025
|
+
stripeOptions: {},
|
|
19026
|
+
},
|
|
19027
|
+
});
|
|
19028
|
+
}
|
|
19029
|
+
}
|
|
19030
|
+
// Remove enableStripe from all app configs
|
|
19031
|
+
const updatedApps = apps.map((app) => {
|
|
19032
|
+
const { enableStripe: _, ...rest } = app;
|
|
19033
|
+
return rest;
|
|
19034
|
+
});
|
|
19035
|
+
return {
|
|
19036
|
+
...config,
|
|
19037
|
+
apps: updatedApps,
|
|
19038
|
+
plugins,
|
|
19039
|
+
};
|
|
19040
|
+
},
|
|
19041
|
+
});
|
|
19042
|
+
|
|
18824
19043
|
const SCHEMA_MIGRATIONS = [
|
|
18825
19044
|
migration005PrimaryUniqueRefs,
|
|
18826
19045
|
migration006IndividualServiceControllers,
|
|
@@ -18844,6 +19063,8 @@ const SCHEMA_MIGRATIONS = [
|
|
|
18844
19063
|
migration024GraphqlObjectTypeFieldAuth,
|
|
18845
19064
|
migration025ServiceMethodAuth,
|
|
18846
19065
|
migration026QuerySharedRoles,
|
|
19066
|
+
migration027EnableSentryPlugin,
|
|
19067
|
+
migration028EnableStripePlugin,
|
|
18847
19068
|
];
|
|
18848
19069
|
function isMigrateableProjectDefinition(projectDefinition) {
|
|
18849
19070
|
return (typeof projectDefinition === 'object' &&
|
|
@@ -18968,6 +19189,33 @@ function createEntityIssue(container, entityId, relativePath, issue) {
|
|
|
18968
19189
|
}
|
|
18969
19190
|
return { ...issue, entityId, path: relativePath };
|
|
18970
19191
|
}
|
|
19192
|
+
/**
|
|
19193
|
+
* Creates a definition setter function from an issue's fix.
|
|
19194
|
+
*
|
|
19195
|
+
* Handles both fix variants:
|
|
19196
|
+
* - `applySetter`: returned directly (definition-level fixes)
|
|
19197
|
+
* - `apply`: wrapped in a setter that resolves the issue path and applies the
|
|
19198
|
+
* local-value transform (field-level fixes)
|
|
19199
|
+
*
|
|
19200
|
+
* Returns `undefined` if the issue has no fix.
|
|
19201
|
+
*/
|
|
19202
|
+
function createIssueFixSetter(issue, container) {
|
|
19203
|
+
const { fix } = issue;
|
|
19204
|
+
if (!fix)
|
|
19205
|
+
return undefined;
|
|
19206
|
+
if (fix.applySetter) {
|
|
19207
|
+
return fix.applySetter;
|
|
19208
|
+
}
|
|
19209
|
+
if (fix.apply) {
|
|
19210
|
+
const applyFn = fix.apply;
|
|
19211
|
+
return (draft) => {
|
|
19212
|
+
const absolutePath = resolveIssuePath(issue, container);
|
|
19213
|
+
const currentValue = get$1(draft, absolutePath);
|
|
19214
|
+
set$1(draft, absolutePath, applyFn(currentValue));
|
|
19215
|
+
};
|
|
19216
|
+
}
|
|
19217
|
+
return undefined;
|
|
19218
|
+
}
|
|
18971
19219
|
|
|
18972
19220
|
const MUTATION_METHODS = ['create', 'update', 'delete'];
|
|
18973
19221
|
/**
|
|
@@ -19008,6 +19256,34 @@ function checkMutationRoles(container) {
|
|
|
19008
19256
|
return issues;
|
|
19009
19257
|
}
|
|
19010
19258
|
|
|
19259
|
+
/**
|
|
19260
|
+
* Creates a fix that changes the local field's type to match the foreign field's type.
|
|
19261
|
+
*/
|
|
19262
|
+
function createTypeMismatchFix(modelId, localField, foreignField) {
|
|
19263
|
+
return {
|
|
19264
|
+
label: `Change '${localField.name}' type to '${foreignField.type}'`,
|
|
19265
|
+
applySetter: (draft) => {
|
|
19266
|
+
const draftModel = ModelUtils.byIdOrThrow(draft, modelId);
|
|
19267
|
+
const draftField = ModelUtils.getScalarFieldById(draftModel, localField.id);
|
|
19268
|
+
// Update the field type and reset options for the new type.
|
|
19269
|
+
// For enum fields, copy the enumRef from the foreign field.
|
|
19270
|
+
if (foreignField.type === 'enum') {
|
|
19271
|
+
draftField.type = 'enum';
|
|
19272
|
+
draftField.options = { ...foreignField.options };
|
|
19273
|
+
Object.assign(draftField, {
|
|
19274
|
+
type: 'enum',
|
|
19275
|
+
options: { ...foreignField.options },
|
|
19276
|
+
});
|
|
19277
|
+
}
|
|
19278
|
+
else {
|
|
19279
|
+
Object.assign(draftField, {
|
|
19280
|
+
type: foreignField.type,
|
|
19281
|
+
options: {},
|
|
19282
|
+
});
|
|
19283
|
+
}
|
|
19284
|
+
},
|
|
19285
|
+
};
|
|
19286
|
+
}
|
|
19011
19287
|
/**
|
|
19012
19288
|
* Checks that relation reference pairs have matching scalar field types.
|
|
19013
19289
|
*
|
|
@@ -19031,9 +19307,11 @@ function checkRelationTypeMismatch(container) {
|
|
|
19031
19307
|
continue;
|
|
19032
19308
|
}
|
|
19033
19309
|
if (localField.type !== foreignField.type) {
|
|
19310
|
+
const fix = createTypeMismatchFix(model.id, localField, foreignField);
|
|
19034
19311
|
issues.push(createEntityIssue(container, model.id, ['model', 'relations', relationIndex], {
|
|
19035
19312
|
message: `Relation '${relation.name}' type mismatch: '${localField.name}' is '${localField.type}' but '${foreignField.name}' on '${foreignModel.name}' is '${foreignField.type}'`,
|
|
19036
19313
|
severity: 'warning',
|
|
19314
|
+
fix,
|
|
19037
19315
|
}));
|
|
19038
19316
|
}
|
|
19039
19317
|
}
|
|
@@ -19147,11 +19425,12 @@ class PackageCompiler {
|
|
|
19147
19425
|
/**
|
|
19148
19426
|
* Get the tasks for a package used in turbo configuration
|
|
19149
19427
|
*
|
|
19150
|
-
* @returns Object with build, dev, and watch tasks
|
|
19428
|
+
* @returns Object with build, check, dev, and watch tasks
|
|
19151
19429
|
*/
|
|
19152
19430
|
getTasks() {
|
|
19153
19431
|
return {
|
|
19154
19432
|
build: [],
|
|
19433
|
+
check: [],
|
|
19155
19434
|
dev: [],
|
|
19156
19435
|
watch: [],
|
|
19157
19436
|
};
|
|
@@ -19258,6 +19537,12 @@ function navigateToEntityArrayFromSchemaPath(obj, relativePath, pathPrefix) {
|
|
|
19258
19537
|
path.push(match);
|
|
19259
19538
|
break;
|
|
19260
19539
|
}
|
|
19540
|
+
case 'array': {
|
|
19541
|
+
throw new Error(`Cannot navigate through plain array at path "${path.join('.')}": non-deterministic structure`);
|
|
19542
|
+
}
|
|
19543
|
+
case 'record': {
|
|
19544
|
+
throw new Error(`Cannot navigate through record at path "${path.join('.')}": non-deterministic structure`);
|
|
19545
|
+
}
|
|
19261
19546
|
}
|
|
19262
19547
|
}
|
|
19263
19548
|
if (!Array.isArray(current)) {
|
|
@@ -21189,5 +21474,5 @@ function generateDefaultTheme() {
|
|
|
21189
21474
|
};
|
|
21190
21475
|
}
|
|
21191
21476
|
|
|
21192
|
-
export { AVAILABLE_FLAGS, AppUtils, AuthorizerExpressionParseError, AuthorizerExpressionParser, BUILT_IN_ADMIN_CRUD_ACTIONS, BUILT_IN_ADMIN_CRUD_COLUMNS, BUILT_IN_ADMIN_CRUD_INPUTS, BUILT_IN_TRANSFORMERS, COLOR_PALETTES, DEFAULT_APPS_FOLDER, DEFAULT_LIBRARIES_FOLDER, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, EnumUtils, FIXED_COLOR_MAPPINGS, LibraryCompiler, LibraryUtils, ModelFieldUtils, ModelTransformerUtils, ModelUtils, PALETTE_SHADES, PackageCompiler, PluginSpecStore, PluginUtils, ProjectDefinitionContainer, REFERENTIAL_ACTIONS, RefExpressionParser, SCALAR_FIELD_TYPES, SCHEMA_MIGRATIONS, SchemaMigrationError, THEME_COLORS, THEME_COLOR_KEYS, VALIDATORS, adminCrudActionCompilerSpec, adminCrudActionEntityType, adminCrudActionSpec, adminCrudColumnCompilerSpec, adminCrudColumnEntityType, adminCrudColumnSpec, adminCrudEmbeddedFormEntityType, adminCrudEmbeddedInputType, adminCrudEmbeddedLocalInputType, adminCrudInputCompilerSpec, adminCrudInputEntityType, adminCrudInputSpec, adminCrudSectionColumnEntityType, adminSectionEntityType, appCompilerSpec, appEntityType, applyDefinitionDiff, applyDefinitionFixes, applyMergedDefinition, authConfigSpec, authModelsSpec, authRoleEntityType, authorizerExpressionParser, backendAppEntryType, baseAdminCrudActionSchema, baseAdminCrudColumnSchema, baseAdminCrudInputSchema, baseAppSchema, baseAppValidators, baseLibrarySchema, baseLibraryValidators, basePluginDefinitionSchema, baseTransformerFields, baseTransformerSchema, buildPackageName, buildRelationValidationInfo, checkUniqueField, cleanDefaultValues, collectDefinitionIssues, collectEntityArrays, collectEntityMetadata, collectExpressionIssues, collectFieldIssues, convertColorNameToOklch, convertHexToOklch, convertOklchToColorName, convertOklchToHex, createAdminAppSchema, createAdminCrudActionSchema, createAdminCrudActionType, createAdminCrudColumnCompiler, createAdminCrudColumnSchema, createAdminCrudColumnType, createAdminCrudDeleteActionSchema, createAdminCrudEditActionSchema, createAdminCrudEmbeddedFormSchema, createAdminCrudEmbeddedInputSchema, createAdminCrudEmbeddedLocalInputSchema, createAdminCrudEnumInputSchema, createAdminCrudForeignColumnSchema, createAdminCrudForeignInputSchema, createAdminCrudInputSchema, createAdminCrudInputType, createAdminCrudPasswordInputSchema, createAdminCrudSectionSchema, createAdminCrudTextColumnSchema, createAdminCrudTextInputSchema, createAppCompiler, createAppEntryType, createAppSchema, createAuthorizerRoleSchema, createBackendAppSchema, createBaseAdminSectionValidators, createDefinitionDiff, createDefinitionDiffConfig, createDefinitionEntityNameResolver, createDefinitionSchemaParserContext, createEmbeddedRelationTransformerSchema, createEntity, createEntityIssue, createEntityType, createEnumBaseSchema, createEnumSchema, createEnumValueSchema, createFeaturesSchema, createFieldMapSpec, createLibraryWebConfig, createModelAuthorizerSchema, createModelBaseSchema, createModelGraphqlSchema, createModelRelationFieldSchema, createModelScalarFieldSchema, createModelSchema, createModelServiceSchema, createModelTransformerType, createModelUniqueConstraintSchema, createModelValidationContext, createPluginImplementationStoreWithNewPlugins, createPluginModule, createPluginSpecStore, createPluginWithConfigSchema, createPluginsSchema, createProjectDefinitionSchema, createProjectDefinitionSchemaWithContext, createRefSchemaCollector, createRefSchemaVisitor, createSettingsSchema, createTemplateExtractorSchema, createThemeSchema, createTransformerSchema, createWebAdminSectionSchema, createWebAppSchema, definitionFieldIssueRegistry, definitionFixRegistry, definitionIssueCheckerSpec, definitionRefRegistry, definitionSchema, definitionSchemaWithSlots, deleteEntity, deserializeSchemaWithTransformedReferences, diffDefinition, diffSerializedDefinitions, extractDefinitionRefs, featureEntityType, findDiscriminatedUnionMatch, fixRefDeletions, generalSettingsSchema, generateCssFromThemeConfig, generateDefaultTheme, generateThemeColorsFromShade, getBackendRelativePath, getDefaultThemeColorFromShade, getEntity, getEntityName, getLatestMigrationVersion, getManagedPluginsForPlugin, getMergeRule, getPackageDirectory, getPluginMetadataByKey, getPluginMetadataByKeyOrThrow, infrastructureSettingsSchema, initializePlugins, isMigrateableProjectDefinition, libraryEntityType, libraryTypeSpec, listEntities, mergeDataWithSchema, mergeDefinition, mergeDefinitionContainer, modelAuthorizerRoleEntityType, modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerCompilerSpec, modelTransformerEntityType, modelTransformerSpec, modelUniqueConstraintEntityType, monorepoSettingsSchema, nodeLibraryDefinitionSchemaEntry, oklchColor, paletteSchema, palettesSchema, parseAuthorizerExpression, parseOklch, parseProjectDefinitionWithContext, parseProjectDefinitionWithReferences, partitionIssuesBySeverity, pluginAppCompiler, pluginConfigSpec, pluginEntityType, pluginMetadataSchema, pluginSpecDependencySchema, pluginSpecSupportSchema, resolveIssuePath, runInPluginContext, runPluginMigrations, runSchemaMigrations, serializeSchema, serializeSchemaFromRefPayload, stripEmptyGeneratorChildren, stripUndefinedValues, themeColorSchema, transformDataWithSchema, undefinedIfEmpty, undefinedIfFalsy, updateEntity, validateAuthorizerExpression, walkDataWithSchema, webAppEntryType, webConfigSpec, withByKeyMergeRule, withDefault, withFix, withIssueChecker, withMergeRule };
|
|
21193
|
-
//# sourceMappingURL=project-builder-lib-
|
|
21477
|
+
export { AVAILABLE_FLAGS, AppUtils, AuthorizerExpressionParseError, AuthorizerExpressionParser, BUILT_IN_ADMIN_CRUD_ACTIONS, BUILT_IN_ADMIN_CRUD_COLUMNS, BUILT_IN_ADMIN_CRUD_INPUTS, BUILT_IN_TRANSFORMERS, COLOR_PALETTES, DEFAULT_APPS_FOLDER, DEFAULT_LIBRARIES_FOLDER, DefinitionDiffArrayIncludesField, DefinitionDiffKeyedArrayField, DefinitionDiffReplacementField, EnumUtils, FIXED_COLOR_MAPPINGS, LibraryCompiler, LibraryUtils, ModelFieldUtils, ModelTransformerUtils, ModelUtils, PALETTE_SHADES, PackageCompiler, PluginSpecStore, PluginUtils, ProjectDefinitionContainer, REFERENTIAL_ACTIONS, RefExpressionParser, SCALAR_FIELD_TYPES, SCHEMA_MIGRATIONS, SchemaMigrationError, THEME_COLORS, THEME_COLOR_KEYS, VALIDATORS, adminCrudActionCompilerSpec, adminCrudActionEntityType, adminCrudActionSpec, adminCrudColumnCompilerSpec, adminCrudColumnEntityType, adminCrudColumnSpec, adminCrudEmbeddedFormEntityType, adminCrudEmbeddedInputType, adminCrudEmbeddedLocalInputType, adminCrudInputCompilerSpec, adminCrudInputEntityType, adminCrudInputSpec, adminCrudSectionColumnEntityType, adminSectionEntityType, appCompilerSpec, appEntityType, applyDefinitionDiff, applyDefinitionFixes, applyMergedDefinition, authConfigSpec, authModelsSpec, authRoleEntityType, authorizerExpressionParser, backendAppEntryType, baseAdminCrudActionSchema, baseAdminCrudColumnSchema, baseAdminCrudInputSchema, baseAppSchema, baseAppValidators, baseLibrarySchema, baseLibraryValidators, basePluginDefinitionSchema, baseTransformerFields, baseTransformerSchema, buildPackageName, buildRelationValidationInfo, checkUniqueField, cleanDefaultValues, collectDefinitionIssues, collectEntityArrays, collectEntityMetadata, collectExpressionIssues, collectFieldIssues, convertColorNameToOklch, convertHexToOklch, convertOklchToColorName, convertOklchToHex, createAdminAppSchema, createAdminCrudActionSchema, createAdminCrudActionType, createAdminCrudColumnCompiler, createAdminCrudColumnSchema, createAdminCrudColumnType, createAdminCrudDeleteActionSchema, createAdminCrudEditActionSchema, createAdminCrudEmbeddedFormSchema, createAdminCrudEmbeddedInputSchema, createAdminCrudEmbeddedLocalInputSchema, createAdminCrudEnumInputSchema, createAdminCrudForeignColumnSchema, createAdminCrudForeignInputSchema, createAdminCrudInputSchema, createAdminCrudInputType, createAdminCrudPasswordInputSchema, createAdminCrudSectionSchema, createAdminCrudTextColumnSchema, createAdminCrudTextInputSchema, createAppCompiler, createAppEntryType, createAppSchema, createAuthorizerRoleSchema, createBackendAppSchema, createBaseAdminSectionValidators, createDefinitionDiff, createDefinitionDiffConfig, createDefinitionEntityNameResolver, createDefinitionSchemaParserContext, createEmbeddedRelationTransformerSchema, createEntity, createEntityIssue, createEntityType, createEnumBaseSchema, createEnumSchema, createEnumValueSchema, createFeaturesSchema, createFieldMapSpec, createIssueFixSetter, createLibraryWebConfig, createModelAuthorizerSchema, createModelBaseSchema, createModelGraphqlSchema, createModelIndexSchema, createModelRelationFieldSchema, createModelScalarFieldSchema, createModelSchema, createModelServiceSchema, createModelTransformerType, createModelUniqueConstraintSchema, createModelValidationContext, createPluginImplementationStoreWithNewPlugins, createPluginModule, createPluginSpecStore, createPluginWithConfigSchema, createPluginsSchema, createProjectDefinitionSchema, createProjectDefinitionSchemaWithContext, createRefSchemaCollector, createRefSchemaVisitor, createSettingsSchema, createTemplateExtractorSchema, createThemeSchema, createTransformerSchema, createWebAdminSectionSchema, createWebAppSchema, definitionFieldIssueRegistry, definitionFixRegistry, definitionIssueCheckerSpec, definitionRefRegistry, definitionSchema, definitionSchemaWithSlots, deleteEntity, deserializeSchemaWithTransformedReferences, diffDefinition, diffSerializedDefinitions, extractDefinitionRefs, featureEntityType, findDiscriminatedUnionMatch, fixRefDeletions, generalSettingsSchema, generateCssFromThemeConfig, generateDefaultTheme, generateThemeColorsFromShade, getBackendRelativePath, getDefaultThemeColorFromShade, getEntity, getEntityName, getLatestMigrationVersion, getManagedPluginsForPlugin, getMergeRule, getPackageDirectory, getPluginMetadataByKey, getPluginMetadataByKeyOrThrow, infrastructureSettingsSchema, initializePlugins, isMigrateableProjectDefinition, libraryEntityType, libraryTypeSpec, listEntities, mergeDataWithSchema, mergeDefinition, mergeDefinitionContainer, modelAuthorizerRoleEntityType, modelEntityType, modelEnumEntityType, modelEnumValueEntityType, modelForeignRelationEntityType, modelIndexEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelTransformerCompilerSpec, modelTransformerEntityType, modelTransformerSpec, modelUniqueConstraintEntityType, monorepoSettingsSchema, nodeLibraryDefinitionSchemaEntry, oklchColor, paletteSchema, palettesSchema, parseAuthorizerExpression, parseOklch, parseProjectDefinitionWithContext, parseProjectDefinitionWithReferences, partitionIssuesBySeverity, pluginAppCompiler, pluginConfigSpec, pluginEntityType, pluginMetadataSchema, pluginSpecDependencySchema, pluginSpecSupportSchema, resolveIssuePath, runInPluginContext, runPluginMigrations, runSchemaMigrations, serializeSchema, serializeSchemaFromRefPayload, stripEmptyGeneratorChildren, stripUndefinedValues, themeColorSchema, transformDataWithSchema, undefinedIfEmpty, undefinedIfFalsy, updateEntity, validateAuthorizerExpression, walkDataWithSchema, webAppEntryType, webConfigSpec, withByKeyMergeRule, withDefault, withFix, withIssueChecker, withMergeRule };
|
|
21478
|
+
//# sourceMappingURL=project-builder-lib-zJirGIS1.js.map
|