@webiny/api-website-builder 6.0.0-alpha.5 → 6.0.0-rc.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.
- package/README.md +7 -29
- package/constants.js +3 -9
- package/constants.js.map +1 -1
- package/domain/page/EntryToPageMapper.d.ts +5 -0
- package/domain/page/EntryToPageMapper.js +30 -0
- package/domain/page/EntryToPageMapper.js.map +1 -0
- package/domain/page/abstractions.d.ts +33 -0
- package/domain/page/abstractions.js +8 -0
- package/domain/page/abstractions.js.map +1 -0
- package/domain/page/errors.d.ts +19 -0
- package/domain/page/errors.js +38 -0
- package/domain/page/errors.js.map +1 -0
- package/domain/page/page.model.d.ts +2 -0
- package/domain/page/page.model.js +32 -0
- package/domain/page/page.model.js.map +1 -0
- package/domain/permissions.d.ts +133 -0
- package/domain/permissions.js +35 -0
- package/domain/permissions.js.map +1 -0
- package/domain/redirect/EntryToRedirectMapper.d.ts +5 -0
- package/domain/redirect/EntryToRedirectMapper.js +24 -0
- package/domain/redirect/EntryToRedirectMapper.js.map +1 -0
- package/domain/redirect/abstractions.d.ts +30 -0
- package/domain/redirect/abstractions.js +12 -0
- package/domain/redirect/abstractions.js.map +1 -0
- package/domain/redirect/errors.d.ts +19 -0
- package/domain/redirect/errors.js +38 -0
- package/domain/redirect/errors.js.map +1 -0
- package/domain/redirect/redirect.model.d.ts +2 -0
- package/domain/redirect/redirect.model.js +32 -0
- package/domain/redirect/redirect.model.js.map +1 -0
- package/domain/shared/abstractions.d.ts +5 -0
- package/domain/shared/abstractions.js +3 -0
- package/domain/shared/abstractions.js.map +1 -0
- package/exports/api/website-builder/nextjs.d.ts +1 -0
- package/exports/api/website-builder/nextjs.js +3 -0
- package/exports/api/website-builder/nextjs.js.map +1 -0
- package/exports/api/website-builder/page.d.ts +12 -0
- package/exports/api/website-builder/page.js +14 -0
- package/exports/api/website-builder/page.js.map +1 -0
- package/exports/api/website-builder/redirect.d.ts +8 -0
- package/exports/api/website-builder/redirect.js +10 -0
- package/exports/api/website-builder/redirect.js.map +1 -0
- package/features/installer/ApiKeyInstaller.d.ts +20 -0
- package/features/installer/ApiKeyInstaller.js +44 -0
- package/features/installer/ApiKeyInstaller.js.map +1 -0
- package/features/installer/feature.d.ts +1 -0
- package/features/installer/feature.js +10 -0
- package/features/installer/feature.js.map +1 -0
- package/features/nextjs/MarkdownContentBuilder.d.ts +31 -0
- package/features/nextjs/MarkdownContentBuilder.js +86 -0
- package/features/nextjs/MarkdownContentBuilder.js.map +1 -0
- package/features/nextjs/MarkdownContentBuilder.test.d.ts +1 -0
- package/features/nextjs/MarkdownContentBuilder.test.js +278 -0
- package/features/nextjs/MarkdownContentBuilder.test.js.map +1 -0
- package/features/nextjs/NextjsConfig.d.ts +14 -0
- package/features/nextjs/NextjsConfig.js +58 -0
- package/features/nextjs/NextjsConfig.js.map +1 -0
- package/features/nextjs/abstractions.d.ts +9 -0
- package/features/nextjs/abstractions.js +4 -0
- package/features/nextjs/abstractions.js.map +1 -0
- package/features/nextjs/feature.d.ts +1 -0
- package/features/nextjs/feature.js +10 -0
- package/features/nextjs/feature.js.map +1 -0
- package/features/nextjs/index.d.ts +1 -0
- package/features/nextjs/index.js +3 -0
- package/features/nextjs/index.js.map +1 -0
- package/features/pages/CreatePage/CreatePageRepository.d.ts +13 -0
- package/features/pages/CreatePage/CreatePageRepository.js +36 -0
- package/features/pages/CreatePage/CreatePageRepository.js.map +1 -0
- package/features/pages/CreatePage/CreatePageUseCase.d.ts +14 -0
- package/features/pages/CreatePage/CreatePageUseCase.js +45 -0
- package/features/pages/CreatePage/CreatePageUseCase.js.map +1 -0
- package/features/pages/CreatePage/abstractions.d.ts +56 -0
- package/features/pages/CreatePage/abstractions.js +30 -0
- package/features/pages/CreatePage/abstractions.js.map +1 -0
- package/features/pages/CreatePage/events.d.ts +10 -0
- package/features/pages/CreatePage/events.js +19 -0
- package/features/pages/CreatePage/events.js.map +1 -0
- package/features/pages/CreatePage/feature.d.ts +1 -0
- package/features/pages/CreatePage/feature.js +12 -0
- package/features/pages/CreatePage/feature.js.map +1 -0
- package/features/pages/CreatePage/index.d.ts +1 -15
- package/features/pages/CreatePage/index.js +1 -16
- package/features/pages/CreatePage/index.js.map +1 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.d.ts +15 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js +49 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromRepository.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.d.ts +16 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js +53 -0
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromUseCase.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.d.ts +61 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.js +30 -0
- package/features/pages/CreatePageRevisionFrom/abstractions.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/events.d.ts +10 -0
- package/features/pages/CreatePageRevisionFrom/events.js +19 -0
- package/features/pages/CreatePageRevisionFrom/events.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/feature.d.ts +1 -0
- package/features/pages/CreatePageRevisionFrom/feature.js +12 -0
- package/features/pages/CreatePageRevisionFrom/feature.js.map +1 -0
- package/features/pages/CreatePageRevisionFrom/index.d.ts +1 -16
- package/features/pages/CreatePageRevisionFrom/index.js +1 -16
- package/features/pages/CreatePageRevisionFrom/index.js.map +1 -1
- package/features/pages/DeletePage/DeletePageRepository.d.ts +15 -0
- package/features/pages/DeletePage/DeletePageRepository.js +39 -0
- package/features/pages/DeletePage/DeletePageRepository.js.map +1 -0
- package/features/pages/DeletePage/DeletePageUseCase.d.ts +16 -0
- package/features/pages/DeletePage/DeletePageUseCase.js +52 -0
- package/features/pages/DeletePage/DeletePageUseCase.js.map +1 -0
- package/features/pages/DeletePage/abstractions.d.ts +58 -0
- package/features/pages/DeletePage/abstractions.js +30 -0
- package/features/pages/DeletePage/abstractions.js.map +1 -0
- package/features/pages/DeletePage/events.d.ts +10 -0
- package/features/pages/DeletePage/events.js +19 -0
- package/features/pages/DeletePage/events.js.map +1 -0
- package/features/pages/DeletePage/feature.d.ts +1 -0
- package/features/pages/DeletePage/feature.js +12 -0
- package/features/pages/DeletePage/feature.js.map +1 -0
- package/features/pages/DeletePage/index.d.ts +1 -16
- package/features/pages/DeletePage/index.js +1 -16
- package/features/pages/DeletePage/index.js.map +1 -1
- package/features/pages/DuplicatePage/DuplicatePageRepository.d.ts +15 -0
- package/features/pages/DuplicatePage/DuplicatePageRepository.js +59 -0
- package/features/pages/DuplicatePage/DuplicatePageRepository.js.map +1 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.d.ts +14 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js +55 -0
- package/features/pages/DuplicatePage/DuplicatePageUseCase.js.map +1 -0
- package/features/pages/DuplicatePage/abstractions.d.ts +62 -0
- package/features/pages/DuplicatePage/abstractions.js +30 -0
- package/features/pages/DuplicatePage/abstractions.js.map +1 -0
- package/features/pages/DuplicatePage/events.d.ts +10 -0
- package/features/pages/DuplicatePage/events.js +19 -0
- package/features/pages/DuplicatePage/events.js.map +1 -0
- package/features/pages/DuplicatePage/feature.d.ts +1 -0
- package/features/pages/DuplicatePage/feature.js +12 -0
- package/features/pages/DuplicatePage/feature.js.map +1 -0
- package/features/pages/DuplicatePage/index.d.ts +1 -16
- package/features/pages/DuplicatePage/index.js +1 -16
- package/features/pages/DuplicatePage/index.js.map +1 -1
- package/features/pages/GetPageById/GetPageByIdRepository.d.ts +13 -0
- package/features/pages/GetPageById/GetPageByIdRepository.js +29 -0
- package/features/pages/GetPageById/GetPageByIdRepository.js.map +1 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.d.ts +12 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js +31 -0
- package/features/pages/GetPageById/GetPageByIdUseCase.js.map +1 -0
- package/features/pages/GetPageById/abstractions.d.ts +40 -0
- package/features/pages/GetPageById/abstractions.js +15 -0
- package/features/pages/GetPageById/abstractions.js.map +1 -0
- package/features/pages/GetPageById/feature.d.ts +1 -0
- package/features/pages/GetPageById/feature.js +12 -0
- package/features/pages/GetPageById/feature.js.map +1 -0
- package/features/pages/GetPageById/index.d.ts +1 -9
- package/features/pages/GetPageById/index.js +1 -14
- package/features/pages/GetPageById/index.js.map +1 -1
- package/features/pages/GetPageByPath/GetPageByPathRepository.d.ts +13 -0
- package/features/pages/GetPageByPath/GetPageByPathRepository.js +38 -0
- package/features/pages/GetPageByPath/GetPageByPathRepository.js.map +1 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.d.ts +12 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js +31 -0
- package/features/pages/GetPageByPath/GetPageByPathUseCase.js.map +1 -0
- package/features/pages/GetPageByPath/abstractions.d.ts +40 -0
- package/features/pages/GetPageByPath/abstractions.js +15 -0
- package/features/pages/GetPageByPath/abstractions.js.map +1 -0
- package/features/pages/GetPageByPath/feature.d.ts +1 -0
- package/features/pages/GetPageByPath/feature.js +12 -0
- package/features/pages/GetPageByPath/feature.js.map +1 -0
- package/features/pages/GetPageByPath/index.d.ts +1 -9
- package/features/pages/GetPageByPath/index.js +1 -14
- package/features/pages/GetPageByPath/index.js.map +1 -1
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.d.ts +13 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js +26 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsRepository.js.map +1 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.d.ts +12 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js +34 -0
- package/features/pages/GetPageRevisions/GetPageRevisionsUseCase.js.map +1 -0
- package/features/pages/GetPageRevisions/abstractions.d.ts +38 -0
- package/features/pages/GetPageRevisions/abstractions.js +15 -0
- package/features/pages/GetPageRevisions/abstractions.js.map +1 -0
- package/features/pages/GetPageRevisions/feature.d.ts +1 -0
- package/features/pages/GetPageRevisions/feature.js +12 -0
- package/features/pages/GetPageRevisions/feature.js.map +1 -0
- package/features/pages/GetPageRevisions/index.d.ts +1 -9
- package/features/pages/GetPageRevisions/index.js +1 -14
- package/features/pages/GetPageRevisions/index.js.map +1 -1
- package/features/pages/ListPages/ListPagesRepository.d.ts +13 -0
- package/features/pages/ListPages/ListPagesRepository.js +39 -0
- package/features/pages/ListPages/ListPagesRepository.js.map +1 -0
- package/features/pages/ListPages/ListPagesUseCase.d.ts +14 -0
- package/features/pages/ListPages/ListPagesUseCase.js +35 -0
- package/features/pages/ListPages/ListPagesUseCase.js.map +1 -0
- package/features/pages/ListPages/abstractions.d.ts +56 -0
- package/features/pages/ListPages/abstractions.js +15 -0
- package/features/pages/ListPages/abstractions.js.map +1 -0
- package/features/pages/ListPages/feature.d.ts +1 -0
- package/features/pages/ListPages/feature.js +12 -0
- package/features/pages/ListPages/feature.js.map +1 -0
- package/features/pages/ListPages/index.d.ts +1 -9
- package/features/pages/ListPages/index.js +1 -14
- package/features/pages/ListPages/index.js.map +1 -1
- package/features/pages/MovePage/MovePageRepository.d.ts +15 -0
- package/features/pages/MovePage/MovePageRepository.js +39 -0
- package/features/pages/MovePage/MovePageRepository.js.map +1 -0
- package/features/pages/MovePage/MovePageUseCase.d.ts +14 -0
- package/features/pages/MovePage/MovePageUseCase.js +61 -0
- package/features/pages/MovePage/MovePageUseCase.js.map +1 -0
- package/features/pages/MovePage/abstractions.d.ts +63 -0
- package/features/pages/MovePage/abstractions.js +30 -0
- package/features/pages/MovePage/abstractions.js.map +1 -0
- package/features/pages/MovePage/events.d.ts +10 -0
- package/features/pages/MovePage/events.js +19 -0
- package/features/pages/MovePage/events.js.map +1 -0
- package/features/pages/MovePage/feature.d.ts +1 -0
- package/features/pages/MovePage/feature.js +12 -0
- package/features/pages/MovePage/feature.js.map +1 -0
- package/features/pages/MovePage/index.d.ts +1 -16
- package/features/pages/MovePage/index.js +1 -16
- package/features/pages/MovePage/index.js.map +1 -1
- package/features/pages/PublishPage/PublishPageRepository.d.ts +15 -0
- package/features/pages/PublishPage/PublishPageRepository.js +41 -0
- package/features/pages/PublishPage/PublishPageRepository.js.map +1 -0
- package/features/pages/PublishPage/PublishPageUseCase.d.ts +14 -0
- package/features/pages/PublishPage/PublishPageUseCase.js +58 -0
- package/features/pages/PublishPage/PublishPageUseCase.js.map +1 -0
- package/features/pages/PublishPage/abstractions.d.ts +59 -0
- package/features/pages/PublishPage/abstractions.js +30 -0
- package/features/pages/PublishPage/abstractions.js.map +1 -0
- package/features/pages/PublishPage/events.d.ts +10 -0
- package/features/pages/PublishPage/events.js +19 -0
- package/features/pages/PublishPage/events.js.map +1 -0
- package/features/pages/PublishPage/feature.d.ts +1 -0
- package/features/pages/PublishPage/feature.js +12 -0
- package/features/pages/PublishPage/feature.js.map +1 -0
- package/features/pages/PublishPage/index.d.ts +1 -16
- package/features/pages/PublishPage/index.js +1 -16
- package/features/pages/PublishPage/index.js.map +1 -1
- package/features/pages/UnpublishPage/UnpublishPageRepository.d.ts +15 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.js +41 -0
- package/features/pages/UnpublishPage/UnpublishPageRepository.js.map +1 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.d.ts +16 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js +57 -0
- package/features/pages/UnpublishPage/UnpublishPageUseCase.js.map +1 -0
- package/features/pages/UnpublishPage/abstractions.d.ts +59 -0
- package/features/pages/UnpublishPage/abstractions.js +30 -0
- package/features/pages/UnpublishPage/abstractions.js.map +1 -0
- package/features/pages/UnpublishPage/events.d.ts +10 -0
- package/features/pages/UnpublishPage/events.js +19 -0
- package/features/pages/UnpublishPage/events.js.map +1 -0
- package/features/pages/UnpublishPage/feature.d.ts +1 -0
- package/features/pages/UnpublishPage/feature.js +12 -0
- package/features/pages/UnpublishPage/feature.js.map +1 -0
- package/features/pages/UnpublishPage/index.d.ts +1 -16
- package/features/pages/UnpublishPage/index.js +1 -16
- package/features/pages/UnpublishPage/index.js.map +1 -1
- package/features/pages/UpdatePage/UpdatePageRepository.d.ts +15 -0
- package/features/pages/UpdatePage/UpdatePageRepository.js +47 -0
- package/features/pages/UpdatePage/UpdatePageRepository.js.map +1 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.d.ts +16 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js +66 -0
- package/features/pages/UpdatePage/UpdatePageUseCase.js.map +1 -0
- package/features/pages/UpdatePage/abstractions.d.ts +77 -0
- package/features/pages/UpdatePage/abstractions.js +30 -0
- package/features/pages/UpdatePage/abstractions.js.map +1 -0
- package/features/pages/UpdatePage/events.d.ts +10 -0
- package/features/pages/UpdatePage/events.js +19 -0
- package/features/pages/UpdatePage/events.js.map +1 -0
- package/features/pages/UpdatePage/feature.d.ts +1 -0
- package/features/pages/UpdatePage/feature.js +12 -0
- package/features/pages/UpdatePage/feature.js.map +1 -0
- package/features/pages/UpdatePage/index.d.ts +1 -16
- package/features/pages/UpdatePage/index.js +1 -16
- package/features/pages/UpdatePage/index.js.map +1 -1
- package/features/redirects/CreateRedirect/CreateRedirectRepository.d.ts +13 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js +32 -0
- package/features/redirects/CreateRedirect/CreateRedirectRepository.js.map +1 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.d.ts +12 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js +45 -0
- package/features/redirects/CreateRedirect/CreateRedirectUseCase.js.map +1 -0
- package/features/redirects/CreateRedirect/abstractions.d.ts +58 -0
- package/features/redirects/CreateRedirect/abstractions.js +30 -0
- package/features/redirects/CreateRedirect/abstractions.js.map +1 -0
- package/features/redirects/CreateRedirect/events.d.ts +10 -0
- package/features/redirects/CreateRedirect/events.js +19 -0
- package/features/redirects/CreateRedirect/events.js.map +1 -0
- package/features/redirects/CreateRedirect/feature.d.ts +1 -0
- package/features/redirects/CreateRedirect/feature.js +12 -0
- package/features/redirects/CreateRedirect/feature.js.map +1 -0
- package/features/redirects/CreateRedirect/index.d.ts +1 -15
- package/features/redirects/CreateRedirect/index.js +1 -16
- package/features/redirects/CreateRedirect/index.js.map +1 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.d.ts +13 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js +27 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectRepository.js.map +1 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.d.ts +14 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js +53 -0
- package/features/redirects/DeleteRedirect/DeleteRedirectUseCase.js.map +1 -0
- package/features/redirects/DeleteRedirect/abstractions.d.ts +58 -0
- package/features/redirects/DeleteRedirect/abstractions.js +30 -0
- package/features/redirects/DeleteRedirect/abstractions.js.map +1 -0
- package/features/redirects/DeleteRedirect/events.d.ts +10 -0
- package/features/redirects/DeleteRedirect/events.js +19 -0
- package/features/redirects/DeleteRedirect/events.js.map +1 -0
- package/features/redirects/DeleteRedirect/feature.d.ts +1 -0
- package/features/redirects/DeleteRedirect/feature.js +12 -0
- package/features/redirects/DeleteRedirect/feature.js.map +1 -0
- package/features/redirects/DeleteRedirect/index.d.ts +1 -16
- package/features/redirects/DeleteRedirect/index.js +1 -16
- package/features/redirects/DeleteRedirect/index.js.map +1 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.d.ts +11 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js +30 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsRepository.js.map +1 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.d.ts +10 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js +24 -0
- package/features/redirects/GetActiveRedirects/GetActiveRedirectsUseCase.js.map +1 -0
- package/features/redirects/GetActiveRedirects/abstractions.d.ts +39 -0
- package/features/redirects/GetActiveRedirects/abstractions.js +15 -0
- package/features/redirects/GetActiveRedirects/abstractions.js.map +1 -0
- package/features/redirects/GetActiveRedirects/feature.d.ts +1 -0
- package/features/redirects/GetActiveRedirects/feature.js +12 -0
- package/features/redirects/GetActiveRedirects/feature.js.map +1 -0
- package/features/redirects/GetActiveRedirects/index.d.ts +1 -7
- package/features/redirects/GetActiveRedirects/index.js +1 -11
- package/features/redirects/GetActiveRedirects/index.js.map +1 -1
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.d.ts +13 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js +29 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdRepository.js.map +1 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.d.ts +10 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js +32 -0
- package/features/redirects/GetRedirectById/GetRedirectByIdUseCase.js.map +1 -0
- package/features/redirects/GetRedirectById/abstractions.d.ts +41 -0
- package/features/redirects/GetRedirectById/abstractions.js +15 -0
- package/features/redirects/GetRedirectById/abstractions.js.map +1 -0
- package/features/redirects/GetRedirectById/feature.d.ts +1 -0
- package/features/redirects/GetRedirectById/feature.js +12 -0
- package/features/redirects/GetRedirectById/feature.js.map +1 -0
- package/features/redirects/GetRedirectById/index.d.ts +1 -9
- package/features/redirects/GetRedirectById/index.js +1 -14
- package/features/redirects/GetRedirectById/index.js.map +1 -1
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.d.ts +12 -0
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js +28 -0
- package/features/redirects/InvalidateRedirectsCache/InvalidateRedirectsCacheUseCase.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js +25 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterCreateHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js +25 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterDeleteHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.d.ts +9 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js +26 -0
- package/features/redirects/InvalidateRedirectsCache/RedirectAfterUpdateHandler.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.d.ts +15 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js +9 -0
- package/features/redirects/InvalidateRedirectsCache/abstractions.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/feature.d.ts +1 -0
- package/features/redirects/InvalidateRedirectsCache/feature.js +16 -0
- package/features/redirects/InvalidateRedirectsCache/feature.js.map +1 -0
- package/features/redirects/InvalidateRedirectsCache/index.d.ts +1 -0
- package/features/redirects/InvalidateRedirectsCache/index.js +3 -0
- package/features/redirects/InvalidateRedirectsCache/index.js.map +1 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.d.ts +16 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.js +46 -0
- package/features/redirects/ListRedirects/ListRedirectsRepository.js.map +1 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.d.ts +12 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js +36 -0
- package/features/redirects/ListRedirects/ListRedirectsUseCase.js.map +1 -0
- package/features/redirects/ListRedirects/abstractions.d.ts +69 -0
- package/features/redirects/ListRedirects/abstractions.js +19 -0
- package/features/redirects/ListRedirects/abstractions.js.map +1 -0
- package/features/redirects/ListRedirects/feature.d.ts +1 -0
- package/features/redirects/ListRedirects/feature.js +12 -0
- package/features/redirects/ListRedirects/feature.js.map +1 -0
- package/features/redirects/ListRedirects/index.d.ts +1 -9
- package/features/redirects/ListRedirects/index.js +1 -14
- package/features/redirects/ListRedirects/index.js.map +1 -1
- package/features/redirects/MoveRedirect/MoveRedirectRepository.d.ts +15 -0
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js +39 -0
- package/features/redirects/MoveRedirect/MoveRedirectRepository.js.map +1 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.d.ts +14 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js +61 -0
- package/features/redirects/MoveRedirect/MoveRedirectUseCase.js.map +1 -0
- package/features/redirects/MoveRedirect/abstractions.d.ts +64 -0
- package/features/redirects/MoveRedirect/abstractions.js +30 -0
- package/features/redirects/MoveRedirect/abstractions.js.map +1 -0
- package/features/redirects/MoveRedirect/events.d.ts +10 -0
- package/features/redirects/MoveRedirect/events.js +19 -0
- package/features/redirects/MoveRedirect/events.js.map +1 -0
- package/features/redirects/MoveRedirect/feature.d.ts +1 -0
- package/features/redirects/MoveRedirect/feature.js +12 -0
- package/features/redirects/MoveRedirect/feature.js.map +1 -0
- package/features/redirects/MoveRedirect/index.d.ts +1 -16
- package/features/redirects/MoveRedirect/index.js +1 -16
- package/features/redirects/MoveRedirect/index.js.map +1 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.d.ts +15 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js +47 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectRepository.js.map +1 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.d.ts +16 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js +66 -0
- package/features/redirects/UpdateRedirect/UpdateRedirectUseCase.js.map +1 -0
- package/features/redirects/UpdateRedirect/abstractions.d.ts +76 -0
- package/features/redirects/UpdateRedirect/abstractions.js +30 -0
- package/features/redirects/UpdateRedirect/abstractions.js.map +1 -0
- package/features/redirects/UpdateRedirect/events.d.ts +10 -0
- package/features/redirects/UpdateRedirect/events.js +19 -0
- package/features/redirects/UpdateRedirect/events.js.map +1 -0
- package/features/redirects/UpdateRedirect/feature.d.ts +1 -0
- package/features/redirects/UpdateRedirect/feature.js +12 -0
- package/features/redirects/UpdateRedirect/feature.js.map +1 -0
- package/features/redirects/UpdateRedirect/index.d.ts +1 -16
- package/features/redirects/UpdateRedirect/index.js +1 -16
- package/features/redirects/UpdateRedirect/index.js.map +1 -1
- package/features/tenantManager/TenantModelExtension.d.ts +8 -0
- package/features/tenantManager/TenantModelExtension.js +36 -0
- package/features/tenantManager/TenantModelExtension.js.map +1 -0
- package/features/tenantManager/feature.d.ts +1 -0
- package/features/tenantManager/feature.js +10 -0
- package/features/tenantManager/feature.js.map +1 -0
- package/graphql/createGraphQL.d.ts +1 -1
- package/graphql/createGraphQL.js +6 -13
- package/graphql/createGraphQL.js.map +1 -1
- package/graphql/nextjs/NextjsGraphQLSchema.d.ts +9 -0
- package/graphql/nextjs/NextjsGraphQLSchema.js +48 -0
- package/graphql/nextjs/NextjsGraphQLSchema.js.map +1 -0
- package/graphql/pages/pages.gql.d.ts +2 -2
- package/graphql/pages/pages.gql.js +164 -85
- package/graphql/pages/pages.gql.js.map +1 -1
- package/graphql/pages/pages.typeDefs.d.ts +1 -1
- package/graphql/pages/pages.typeDefs.js +4 -10
- package/graphql/pages/pages.typeDefs.js.map +1 -1
- package/graphql/redirects/redirects.gql.d.ts +2 -2
- package/graphql/redirects/redirects.gql.js +61 -33
- package/graphql/redirects/redirects.gql.js.map +1 -1
- package/graphql/redirects/redirects.typeDefs.js +5 -10
- package/graphql/redirects/redirects.typeDefs.js.map +1 -1
- package/index.d.ts +1 -3
- package/index.js +81 -14
- package/index.js.map +1 -1
- package/package.json +24 -32
- package/rest/ActiveRedirectDto.js +1 -5
- package/rest/ActiveRedirectRestMapper.d.ts +2 -2
- package/rest/ActiveRedirectRestMapper.js +1 -8
- package/rest/ActiveRedirectRestMapper.js.map +1 -1
- package/rest/getRedirects.d.ts +2 -2
- package/rest/getRedirects.js +10 -15
- package/rest/getRedirects.js.map +1 -1
- package/utils/ensureAuthentication.d.ts +6 -2
- package/utils/ensureAuthentication.js +10 -12
- package/utils/ensureAuthentication.js.map +1 -1
- package/utils/resolve.d.ts +1 -2
- package/utils/resolve.js +4 -20
- package/utils/resolve.js.map +1 -1
- package/context/BaseContext.d.ts +0 -11
- package/context/BaseContext.js +0 -41
- package/context/BaseContext.js.map +0 -1
- package/context/WebsiteBuilder.d.ts +0 -15
- package/context/WebsiteBuilder.js +0 -65
- package/context/WebsiteBuilder.js.map +0 -1
- package/context/pages/PagesStorage.d.ts +0 -33
- package/context/pages/PagesStorage.js +0 -123
- package/context/pages/PagesStorage.js.map +0 -1
- package/context/pages/pages.context.d.ts +0 -11
- package/context/pages/pages.context.js +0 -82
- package/context/pages/pages.context.js.map +0 -1
- package/context/pages/pages.crud.d.ts +0 -3
- package/context/pages/pages.crud.js +0 -208
- package/context/pages/pages.crud.js.map +0 -1
- package/context/pages/pages.types.d.ts +0 -247
- package/context/pages/pages.types.js +0 -7
- package/context/pages/pages.types.js.map +0 -1
- package/context/redirects/RedirectsStorage.d.ts +0 -21
- package/context/redirects/RedirectsStorage.js +0 -88
- package/context/redirects/RedirectsStorage.js.map +0 -1
- package/context/redirects/redirects.context.d.ts +0 -11
- package/context/redirects/redirects.context.js +0 -80
- package/context/redirects/redirects.context.js.map +0 -1
- package/context/redirects/redirects.crud.d.ts +0 -3
- package/context/redirects/redirects.crud.js +0 -116
- package/context/redirects/redirects.crud.js.map +0 -1
- package/context/redirects/redirects.types.d.ts +0 -147
- package/context/redirects/redirects.types.js +0 -7
- package/context/redirects/redirects.types.js.map +0 -1
- package/context/types.d.ts +0 -29
- package/context/types.js +0 -7
- package/context/types.js.map +0 -1
- package/features/pages/CreatePage/CreatePage.d.ts +0 -7
- package/features/pages/CreatePage/CreatePage.js +0 -19
- package/features/pages/CreatePage/CreatePage.js.map +0 -1
- package/features/pages/CreatePage/CreatePageWithEvents.d.ts +0 -9
- package/features/pages/CreatePage/CreatePageWithEvents.js +0 -25
- package/features/pages/CreatePage/CreatePageWithEvents.js.map +0 -1
- package/features/pages/CreatePage/ICreatePage.d.ts +0 -4
- package/features/pages/CreatePage/ICreatePage.js +0 -7
- package/features/pages/CreatePage/ICreatePage.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.d.ts +0 -7
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js +0 -17
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFrom.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.d.ts +0 -10
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js +0 -32
- package/features/pages/CreatePageRevisionFrom/CreatePageRevisionFromWithEvents.js.map +0 -1
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.d.ts +0 -4
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js +0 -7
- package/features/pages/CreatePageRevisionFrom/ICreatePageRevisionFrom.js.map +0 -1
- package/features/pages/DeletePage/DeletePage.d.ts +0 -7
- package/features/pages/DeletePage/DeletePage.js +0 -17
- package/features/pages/DeletePage/DeletePage.js.map +0 -1
- package/features/pages/DeletePage/DeletePageWithEvents.d.ts +0 -10
- package/features/pages/DeletePage/DeletePageWithEvents.js +0 -30
- package/features/pages/DeletePage/DeletePageWithEvents.js.map +0 -1
- package/features/pages/DeletePage/IDeletePage.d.ts +0 -4
- package/features/pages/DeletePage/IDeletePage.js +0 -7
- package/features/pages/DeletePage/IDeletePage.js.map +0 -1
- package/features/pages/DuplicatePage/DuplicatePage.d.ts +0 -9
- package/features/pages/DuplicatePage/DuplicatePage.js +0 -39
- package/features/pages/DuplicatePage/DuplicatePage.js.map +0 -1
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.d.ts +0 -10
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js +0 -32
- package/features/pages/DuplicatePage/DuplicatePageWithEvents.js.map +0 -1
- package/features/pages/DuplicatePage/IDuplicatePage.d.ts +0 -4
- package/features/pages/DuplicatePage/IDuplicatePage.js +0 -7
- package/features/pages/DuplicatePage/IDuplicatePage.js.map +0 -1
- package/features/pages/GetPageById/GetPageById.d.ts +0 -7
- package/features/pages/GetPageById/GetPageById.js +0 -17
- package/features/pages/GetPageById/GetPageById.js.map +0 -1
- package/features/pages/GetPageById/IGetPageById.d.ts +0 -4
- package/features/pages/GetPageById/IGetPageById.js +0 -7
- package/features/pages/GetPageById/IGetPageById.js.map +0 -1
- package/features/pages/GetPageByPath/GetPageByPath.d.ts +0 -11
- package/features/pages/GetPageByPath/GetPageByPath.js +0 -28
- package/features/pages/GetPageByPath/GetPageByPath.js.map +0 -1
- package/features/pages/GetPageByPath/IGetPageByPath.d.ts +0 -4
- package/features/pages/GetPageByPath/IGetPageByPath.js +0 -7
- package/features/pages/GetPageByPath/IGetPageByPath.js.map +0 -1
- package/features/pages/GetPageRevisions/GetPageRevisions.d.ts +0 -7
- package/features/pages/GetPageRevisions/GetPageRevisions.js +0 -17
- package/features/pages/GetPageRevisions/GetPageRevisions.js.map +0 -1
- package/features/pages/GetPageRevisions/IGetPageById.d.ts +0 -4
- package/features/pages/GetPageRevisions/IGetPageById.js +0 -7
- package/features/pages/GetPageRevisions/IGetPageById.js.map +0 -1
- package/features/pages/ListPages/IListPages.d.ts +0 -17
- package/features/pages/ListPages/IListPages.js +0 -7
- package/features/pages/ListPages/IListPages.js.map +0 -1
- package/features/pages/ListPages/ListPages.d.ts +0 -7
- package/features/pages/ListPages/ListPages.js +0 -17
- package/features/pages/ListPages/ListPages.js.map +0 -1
- package/features/pages/MovePage/IMovePage.d.ts +0 -4
- package/features/pages/MovePage/IMovePage.js +0 -7
- package/features/pages/MovePage/IMovePage.js.map +0 -1
- package/features/pages/MovePage/MovePage.d.ts +0 -7
- package/features/pages/MovePage/MovePage.js +0 -17
- package/features/pages/MovePage/MovePage.js.map +0 -1
- package/features/pages/MovePage/MovePageWithEvents.d.ts +0 -10
- package/features/pages/MovePage/MovePageWithEvents.js +0 -32
- package/features/pages/MovePage/MovePageWithEvents.js.map +0 -1
- package/features/pages/PublishPage/IPublishPage.d.ts +0 -4
- package/features/pages/PublishPage/IPublishPage.js +0 -7
- package/features/pages/PublishPage/IPublishPage.js.map +0 -1
- package/features/pages/PublishPage/PublishPage.d.ts +0 -7
- package/features/pages/PublishPage/PublishPage.js +0 -17
- package/features/pages/PublishPage/PublishPage.js.map +0 -1
- package/features/pages/PublishPage/PublishPageWithEvents.d.ts +0 -10
- package/features/pages/PublishPage/PublishPageWithEvents.js +0 -31
- package/features/pages/PublishPage/PublishPageWithEvents.js.map +0 -1
- package/features/pages/UnpublishPage/IUnpublishPage.d.ts +0 -4
- package/features/pages/UnpublishPage/IUnpublishPage.js +0 -7
- package/features/pages/UnpublishPage/IUnpublishPage.js.map +0 -1
- package/features/pages/UnpublishPage/UnpublishPage.d.ts +0 -7
- package/features/pages/UnpublishPage/UnpublishPage.js +0 -17
- package/features/pages/UnpublishPage/UnpublishPage.js.map +0 -1
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.d.ts +0 -10
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js +0 -31
- package/features/pages/UnpublishPage/UnpublishPageWithEvents.js.map +0 -1
- package/features/pages/UpdatePage/IUpdatePage.d.ts +0 -4
- package/features/pages/UpdatePage/IUpdatePage.js +0 -7
- package/features/pages/UpdatePage/IUpdatePage.js.map +0 -1
- package/features/pages/UpdatePage/UpdatePage.d.ts +0 -7
- package/features/pages/UpdatePage/UpdatePage.js +0 -20
- package/features/pages/UpdatePage/UpdatePage.js.map +0 -1
- package/features/pages/UpdatePage/UpdatePageWithEvents.d.ts +0 -10
- package/features/pages/UpdatePage/UpdatePageWithEvents.js +0 -40
- package/features/pages/UpdatePage/UpdatePageWithEvents.js.map +0 -1
- package/features/pages/index.d.ts +0 -9
- package/features/pages/index.js +0 -106
- package/features/pages/index.js.map +0 -1
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.d.ts +0 -9
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js +0 -25
- package/features/redirects/CreateRedirect/CreateRedirectWithEvents.js.map +0 -1
- package/features/redirects/CreateRedirect/CreateRevision.d.ts +0 -7
- package/features/redirects/CreateRedirect/CreateRevision.js +0 -19
- package/features/redirects/CreateRedirect/CreateRevision.js.map +0 -1
- package/features/redirects/CreateRedirect/ICreateRedirect.d.ts +0 -4
- package/features/redirects/CreateRedirect/ICreateRedirect.js +0 -7
- package/features/redirects/CreateRedirect/ICreateRedirect.js.map +0 -1
- package/features/redirects/DeleteRedirect/DeleteRedirect.d.ts +0 -7
- package/features/redirects/DeleteRedirect/DeleteRedirect.js +0 -17
- package/features/redirects/DeleteRedirect/DeleteRedirect.js.map +0 -1
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.d.ts +0 -10
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js +0 -30
- package/features/redirects/DeleteRedirect/DeleteRedirectWithEvents.js.map +0 -1
- package/features/redirects/DeleteRedirect/IDeleteRedirect.d.ts +0 -4
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js +0 -7
- package/features/redirects/DeleteRedirect/IDeleteRedirect.js.map +0 -1
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.d.ts +0 -7
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js +0 -26
- package/features/redirects/GetActiveRedirects/GetActiveRedirects.js.map +0 -1
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.d.ts +0 -4
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js +0 -7
- package/features/redirects/GetActiveRedirects/IGetActiveRedirects.js.map +0 -1
- package/features/redirects/GetRedirectById/GetRedirectById.d.ts +0 -7
- package/features/redirects/GetRedirectById/GetRedirectById.js +0 -17
- package/features/redirects/GetRedirectById/GetRedirectById.js.map +0 -1
- package/features/redirects/GetRedirectById/IGetRedirectById.d.ts +0 -4
- package/features/redirects/GetRedirectById/IGetRedirectById.js +0 -7
- package/features/redirects/GetRedirectById/IGetRedirectById.js.map +0 -1
- package/features/redirects/InvalidateRedirectsCache.d.ts +0 -7
- package/features/redirects/InvalidateRedirectsCache.js +0 -24
- package/features/redirects/InvalidateRedirectsCache.js.map +0 -1
- package/features/redirects/ListRedirects/IListRedirects.d.ts +0 -17
- package/features/redirects/ListRedirects/IListRedirects.js +0 -7
- package/features/redirects/ListRedirects/IListRedirects.js.map +0 -1
- package/features/redirects/ListRedirects/ListRedirects.d.ts +0 -7
- package/features/redirects/ListRedirects/ListRedirects.js +0 -17
- package/features/redirects/ListRedirects/ListRedirects.js.map +0 -1
- package/features/redirects/MoveRedirect/IMoveRedirect.d.ts +0 -4
- package/features/redirects/MoveRedirect/IMoveRedirect.js +0 -7
- package/features/redirects/MoveRedirect/IMoveRedirect.js.map +0 -1
- package/features/redirects/MoveRedirect/MoveRedirect.d.ts +0 -7
- package/features/redirects/MoveRedirect/MoveRedirect.js +0 -17
- package/features/redirects/MoveRedirect/MoveRedirect.js.map +0 -1
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.d.ts +0 -10
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js +0 -32
- package/features/redirects/MoveRedirect/MoveRedirectWithEvents.js.map +0 -1
- package/features/redirects/UpdateRedirect/IUpdateRedirect.d.ts +0 -4
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js +0 -7
- package/features/redirects/UpdateRedirect/IUpdateRedirect.js.map +0 -1
- package/features/redirects/UpdateRedirect/UpdateRedirect.d.ts +0 -7
- package/features/redirects/UpdateRedirect/UpdateRedirect.js +0 -20
- package/features/redirects/UpdateRedirect/UpdateRedirect.js.map +0 -1
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.d.ts +0 -10
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js +0 -40
- package/features/redirects/UpdateRedirect/UpdateRedirectWithEvents.js.map +0 -1
- package/features/redirects/index.d.ts +0 -7
- package/features/redirects/index.js +0 -84
- package/features/redirects/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["abstractions.ts"],"sourcesContent":["import type { CmsIdentity } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface WbLocation {\n folderId: string;\n}\n\nexport type WbIdentity = CmsIdentity;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NextjsConfig } from "../../../features/nextjs/abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NextjsConfig"],"sources":["nextjs.ts"],"sourcesContent":["export { NextjsConfig } from \"~/features/nextjs/abstractions.js\";\n"],"mappings":"AAAA,SAASA,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { CreatePageUseCase, PageAfterCreateHandler, PageBeforeCreateHandler } from "../../../features/pages/CreatePage/abstractions.js";
|
|
2
|
+
export { CreatePageRevisionFromUseCase, PageAfterCreateRevisionFromHandler, PageBeforeCreateRevisionFromHandler } from "../../../features/pages/CreatePageRevisionFrom/abstractions.js";
|
|
3
|
+
export { DeletePageUseCase, PageAfterDeleteHandler, PageBeforeDeleteHandler } from "../../../features/pages/DeletePage/abstractions.js";
|
|
4
|
+
export { DuplicatePageUseCase, PageAfterDuplicateHandler, PageBeforeDuplicateHandler } from "../../../features/pages/DuplicatePage/abstractions.js";
|
|
5
|
+
export { GetPageByIdUseCase } from "../../../features/pages/GetPageById/abstractions.js";
|
|
6
|
+
export { GetPageByPathUseCase } from "../../../features/pages/GetPageByPath/abstractions.js";
|
|
7
|
+
export { GetPageRevisionsUseCase } from "../../../features/pages/GetPageRevisions/abstractions.js";
|
|
8
|
+
export { ListPagesUseCase } from "../../../features/pages/ListPages/abstractions.js";
|
|
9
|
+
export { MovePageUseCase, PageAfterMoveHandler, PageBeforeMoveHandler } from "../../../features/pages/MovePage/abstractions.js";
|
|
10
|
+
export { PublishPageUseCase, PageAfterPublishHandler, PageBeforePublishHandler } from "../../../features/pages/PublishPage/abstractions.js";
|
|
11
|
+
export { UnpublishPageUseCase, PageAfterUnpublishHandler, PageBeforeUnpublishHandler } from "../../../features/pages/UnpublishPage/abstractions.js";
|
|
12
|
+
export { UpdatePageUseCase, PageAfterUpdateHandler, PageBeforeUpdateHandler } from "../../../features/pages/UpdatePage/abstractions.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { CreatePageUseCase, PageAfterCreateHandler, PageBeforeCreateHandler } from "../../../features/pages/CreatePage/abstractions.js";
|
|
2
|
+
export { CreatePageRevisionFromUseCase, PageAfterCreateRevisionFromHandler, PageBeforeCreateRevisionFromHandler } from "../../../features/pages/CreatePageRevisionFrom/abstractions.js";
|
|
3
|
+
export { DeletePageUseCase, PageAfterDeleteHandler, PageBeforeDeleteHandler } from "../../../features/pages/DeletePage/abstractions.js";
|
|
4
|
+
export { DuplicatePageUseCase, PageAfterDuplicateHandler, PageBeforeDuplicateHandler } from "../../../features/pages/DuplicatePage/abstractions.js";
|
|
5
|
+
export { GetPageByIdUseCase } from "../../../features/pages/GetPageById/abstractions.js";
|
|
6
|
+
export { GetPageByPathUseCase } from "../../../features/pages/GetPageByPath/abstractions.js";
|
|
7
|
+
export { GetPageRevisionsUseCase } from "../../../features/pages/GetPageRevisions/abstractions.js";
|
|
8
|
+
export { ListPagesUseCase } from "../../../features/pages/ListPages/abstractions.js";
|
|
9
|
+
export { MovePageUseCase, PageAfterMoveHandler, PageBeforeMoveHandler } from "../../../features/pages/MovePage/abstractions.js";
|
|
10
|
+
export { PublishPageUseCase, PageAfterPublishHandler, PageBeforePublishHandler } from "../../../features/pages/PublishPage/abstractions.js";
|
|
11
|
+
export { UnpublishPageUseCase, PageAfterUnpublishHandler, PageBeforeUnpublishHandler } from "../../../features/pages/UnpublishPage/abstractions.js";
|
|
12
|
+
export { UpdatePageUseCase, PageAfterUpdateHandler, PageBeforeUpdateHandler } from "../../../features/pages/UpdatePage/abstractions.js";
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreatePageUseCase","PageAfterCreateHandler","PageBeforeCreateHandler","CreatePageRevisionFromUseCase","PageAfterCreateRevisionFromHandler","PageBeforeCreateRevisionFromHandler","DeletePageUseCase","PageAfterDeleteHandler","PageBeforeDeleteHandler","DuplicatePageUseCase","PageAfterDuplicateHandler","PageBeforeDuplicateHandler","GetPageByIdUseCase","GetPageByPathUseCase","GetPageRevisionsUseCase","ListPagesUseCase","MovePageUseCase","PageAfterMoveHandler","PageBeforeMoveHandler","PublishPageUseCase","PageAfterPublishHandler","PageBeforePublishHandler","UnpublishPageUseCase","PageAfterUnpublishHandler","PageBeforeUnpublishHandler","UpdatePageUseCase","PageAfterUpdateHandler","PageBeforeUpdateHandler"],"sources":["page.ts"],"sourcesContent":["export {\n CreatePageUseCase,\n PageAfterCreateHandler,\n PageBeforeCreateHandler\n} from \"~/features/pages/CreatePage/abstractions.js\";\nexport {\n CreatePageRevisionFromUseCase,\n PageAfterCreateRevisionFromHandler,\n PageBeforeCreateRevisionFromHandler\n} from \"~/features/pages/CreatePageRevisionFrom/abstractions.js\";\nexport {\n DeletePageUseCase,\n PageAfterDeleteHandler,\n PageBeforeDeleteHandler\n} from \"~/features/pages/DeletePage/abstractions.js\";\nexport {\n DuplicatePageUseCase,\n PageAfterDuplicateHandler,\n PageBeforeDuplicateHandler\n} from \"~/features/pages/DuplicatePage/abstractions.js\";\nexport { GetPageByIdUseCase } from \"~/features/pages/GetPageById/abstractions.js\";\nexport { GetPageByPathUseCase } from \"~/features/pages/GetPageByPath/abstractions.js\";\nexport { GetPageRevisionsUseCase } from \"~/features/pages/GetPageRevisions/abstractions.js\";\nexport { ListPagesUseCase } from \"~/features/pages/ListPages/abstractions.js\";\nexport {\n MovePageUseCase,\n PageAfterMoveHandler,\n PageBeforeMoveHandler\n} from \"~/features/pages/MovePage/abstractions.js\";\nexport {\n PublishPageUseCase,\n PageAfterPublishHandler,\n PageBeforePublishHandler\n} from \"~/features/pages/PublishPage/abstractions.js\";\nexport {\n UnpublishPageUseCase,\n PageAfterUnpublishHandler,\n PageBeforeUnpublishHandler\n} from \"~/features/pages/UnpublishPage/abstractions.js\";\nexport {\n UpdatePageUseCase,\n PageAfterUpdateHandler,\n PageBeforeUpdateHandler\n} from \"~/features/pages/UpdatePage/abstractions.js\";\n"],"mappings":"AAAA,SACIA,iBAAiB,EACjBC,sBAAsB,EACtBC,uBAAuB;AAE3B,SACIC,6BAA6B,EAC7BC,kCAAkC,EAClCC,mCAAmC;AAEvC,SACIC,iBAAiB,EACjBC,sBAAsB,EACtBC,uBAAuB;AAE3B,SACIC,oBAAoB,EACpBC,yBAAyB,EACzBC,0BAA0B;AAE9B,SAASC,kBAAkB;AAC3B,SAASC,oBAAoB;AAC7B,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AACzB,SACIC,eAAe,EACfC,oBAAoB,EACpBC,qBAAqB;AAEzB,SACIC,kBAAkB,EAClBC,uBAAuB,EACvBC,wBAAwB;AAE5B,SACIC,oBAAoB,EACpBC,yBAAyB,EACzBC,0BAA0B;AAE9B,SACIC,iBAAiB,EACjBC,sBAAsB,EACtBC,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { CreateRedirectUseCase, RedirectAfterCreateHandler, RedirectBeforeCreateHandler } from "../../../features/redirects/CreateRedirect/abstractions.js";
|
|
2
|
+
export { DeleteRedirectUseCase, RedirectAfterDeleteHandler, RedirectBeforeDeleteHandler } from "../../../features/redirects/DeleteRedirect/abstractions.js";
|
|
3
|
+
export { GetActiveRedirectsUseCase } from "../../../features/redirects/GetActiveRedirects/abstractions.js";
|
|
4
|
+
export { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectById/abstractions.js";
|
|
5
|
+
export { InvalidateRedirectsCacheUseCase } from "../../../features/redirects/InvalidateRedirectsCache/abstractions.js";
|
|
6
|
+
export { ListRedirectsUseCase } from "../../../features/redirects/ListRedirects/abstractions.js";
|
|
7
|
+
export { MoveRedirectUseCase, RedirectAfterMoveHandler, RedirectBeforeMoveHandler } from "../../../features/redirects/MoveRedirect/abstractions.js";
|
|
8
|
+
export { UpdateRedirectUseCase, RedirectAfterUpdateHandler, RedirectBeforeUpdateHandler } from "../../../features/redirects/UpdateRedirect/abstractions.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { CreateRedirectUseCase, RedirectAfterCreateHandler, RedirectBeforeCreateHandler } from "../../../features/redirects/CreateRedirect/abstractions.js";
|
|
2
|
+
export { DeleteRedirectUseCase, RedirectAfterDeleteHandler, RedirectBeforeDeleteHandler } from "../../../features/redirects/DeleteRedirect/abstractions.js";
|
|
3
|
+
export { GetActiveRedirectsUseCase } from "../../../features/redirects/GetActiveRedirects/abstractions.js";
|
|
4
|
+
export { GetRedirectByIdUseCase } from "../../../features/redirects/GetRedirectById/abstractions.js";
|
|
5
|
+
export { InvalidateRedirectsCacheUseCase } from "../../../features/redirects/InvalidateRedirectsCache/abstractions.js";
|
|
6
|
+
export { ListRedirectsUseCase } from "../../../features/redirects/ListRedirects/abstractions.js";
|
|
7
|
+
export { MoveRedirectUseCase, RedirectAfterMoveHandler, RedirectBeforeMoveHandler } from "../../../features/redirects/MoveRedirect/abstractions.js";
|
|
8
|
+
export { UpdateRedirectUseCase, RedirectAfterUpdateHandler, RedirectBeforeUpdateHandler } from "../../../features/redirects/UpdateRedirect/abstractions.js";
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=redirect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CreateRedirectUseCase","RedirectAfterCreateHandler","RedirectBeforeCreateHandler","DeleteRedirectUseCase","RedirectAfterDeleteHandler","RedirectBeforeDeleteHandler","GetActiveRedirectsUseCase","GetRedirectByIdUseCase","InvalidateRedirectsCacheUseCase","ListRedirectsUseCase","MoveRedirectUseCase","RedirectAfterMoveHandler","RedirectBeforeMoveHandler","UpdateRedirectUseCase","RedirectAfterUpdateHandler","RedirectBeforeUpdateHandler"],"sources":["redirect.ts"],"sourcesContent":["export {\n CreateRedirectUseCase,\n RedirectAfterCreateHandler,\n RedirectBeforeCreateHandler\n} from \"~/features/redirects/CreateRedirect/abstractions.js\";\nexport {\n DeleteRedirectUseCase,\n RedirectAfterDeleteHandler,\n RedirectBeforeDeleteHandler\n} from \"~/features/redirects/DeleteRedirect/abstractions.js\";\nexport { GetActiveRedirectsUseCase } from \"~/features/redirects/GetActiveRedirects/abstractions.js\";\nexport { GetRedirectByIdUseCase } from \"~/features/redirects/GetRedirectById/abstractions.js\";\nexport { InvalidateRedirectsCacheUseCase } from \"~/features/redirects/InvalidateRedirectsCache/abstractions.js\";\nexport { ListRedirectsUseCase } from \"~/features/redirects/ListRedirects/abstractions.js\";\nexport {\n MoveRedirectUseCase,\n RedirectAfterMoveHandler,\n RedirectBeforeMoveHandler\n} from \"~/features/redirects/MoveRedirect/abstractions.js\";\nexport {\n UpdateRedirectUseCase,\n RedirectAfterUpdateHandler,\n RedirectBeforeUpdateHandler\n} from \"~/features/redirects/UpdateRedirect/abstractions.js\";\n"],"mappings":"AAAA,SACIA,qBAAqB,EACrBC,0BAA0B,EAC1BC,2BAA2B;AAE/B,SACIC,qBAAqB,EACrBC,0BAA0B,EAC1BC,2BAA2B;AAE/B,SAASC,yBAAyB;AAClC,SAASC,sBAAsB;AAC/B,SAASC,+BAA+B;AACxC,SAASC,oBAAoB;AAC7B,SACIC,mBAAmB,EACnBC,wBAAwB,EACxBC,yBAAyB;AAE7B,SACIC,qBAAqB,EACrBC,0BAA0B,EAC1BC,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AppInstaller } from "@webiny/api-core/features/InstallTenant";
|
|
2
|
+
import { CreateApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js";
|
|
3
|
+
import { DeleteApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js";
|
|
4
|
+
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
5
|
+
declare class ApiKeyInstallerImpl implements AppInstaller.Interface {
|
|
6
|
+
private wcpContext;
|
|
7
|
+
private createApiKey;
|
|
8
|
+
private deleteApiKey;
|
|
9
|
+
readonly alwaysRun = true;
|
|
10
|
+
readonly appName = "WebsiteBuilder";
|
|
11
|
+
readonly dependsOn: never[];
|
|
12
|
+
private apiKey;
|
|
13
|
+
constructor(wcpContext: WcpContext.Interface, createApiKey: CreateApiKeyUseCase.Interface, deleteApiKey: DeleteApiKeyUseCase.Interface);
|
|
14
|
+
install(): Promise<void>;
|
|
15
|
+
uninstall(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export declare const ApiKeyInstaller: typeof ApiKeyInstallerImpl & {
|
|
18
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/tenancy/InstallTenant/abstractions").IAppInstaller<Record<string, any>>>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AppInstaller } from "@webiny/api-core/features/InstallTenant";
|
|
2
|
+
import { CreateApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js";
|
|
3
|
+
import { DeleteApiKeyUseCase } from "@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js";
|
|
4
|
+
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
5
|
+
class ApiKeyInstallerImpl {
|
|
6
|
+
alwaysRun = true;
|
|
7
|
+
appName = "WebsiteBuilder";
|
|
8
|
+
dependsOn = [];
|
|
9
|
+
apiKey = undefined;
|
|
10
|
+
constructor(wcpContext, createApiKey, deleteApiKey) {
|
|
11
|
+
this.wcpContext = wcpContext;
|
|
12
|
+
this.createApiKey = createApiKey;
|
|
13
|
+
this.deleteApiKey = deleteApiKey;
|
|
14
|
+
}
|
|
15
|
+
async install() {
|
|
16
|
+
const aacl = this.wcpContext.canUseAacl();
|
|
17
|
+
const permissions = aacl ? [{
|
|
18
|
+
name: "wb.page",
|
|
19
|
+
rwd: "r"
|
|
20
|
+
}] : [{
|
|
21
|
+
name: "wb.*"
|
|
22
|
+
}];
|
|
23
|
+
const result = await this.createApiKey.execute({
|
|
24
|
+
name: "Website Builder",
|
|
25
|
+
description: "Integrate Next.js or custom frontend with Website Builder.",
|
|
26
|
+
slug: "website-builder",
|
|
27
|
+
permissions
|
|
28
|
+
});
|
|
29
|
+
if (result.isOk()) {
|
|
30
|
+
this.apiKey = result.value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async uninstall() {
|
|
34
|
+
if (this.apiKey) {
|
|
35
|
+
await this.deleteApiKey.execute(this.apiKey.id);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export const ApiKeyInstaller = AppInstaller.createImplementation({
|
|
40
|
+
implementation: ApiKeyInstallerImpl,
|
|
41
|
+
dependencies: [WcpContext, CreateApiKeyUseCase, DeleteApiKeyUseCase]
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=ApiKeyInstaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AppInstaller","CreateApiKeyUseCase","DeleteApiKeyUseCase","WcpContext","ApiKeyInstallerImpl","alwaysRun","appName","dependsOn","apiKey","undefined","constructor","wcpContext","createApiKey","deleteApiKey","install","aacl","canUseAacl","permissions","name","rwd","result","execute","description","slug","isOk","value","uninstall","id","ApiKeyInstaller","createImplementation","implementation","dependencies"],"sources":["ApiKeyInstaller.ts"],"sourcesContent":["import { AppInstaller } from \"@webiny/api-core/features/InstallTenant\";\nimport { CreateApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/CreateApiKey/index.js\";\nimport { DeleteApiKeyUseCase } from \"@webiny/api-core/features/security/apiKeys/DeleteApiKey/index.js\";\nimport type { ApiKey } from \"@webiny/api-core/types/security.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\n\nclass ApiKeyInstallerImpl implements AppInstaller.Interface {\n readonly alwaysRun = true;\n readonly appName = \"WebsiteBuilder\";\n readonly dependsOn = [];\n private apiKey: ApiKey | undefined = undefined;\n\n constructor(\n private wcpContext: WcpContext.Interface,\n private createApiKey: CreateApiKeyUseCase.Interface,\n private deleteApiKey: DeleteApiKeyUseCase.Interface\n ) {}\n\n async install(): Promise<void> {\n const aacl = this.wcpContext.canUseAacl();\n\n const permissions = aacl ? [{ name: \"wb.page\", rwd: \"r\" }] : [{ name: \"wb.*\" }];\n\n const result = await this.createApiKey.execute({\n name: \"Website Builder\",\n description: \"Integrate Next.js or custom frontend with Website Builder.\",\n slug: \"website-builder\",\n permissions\n });\n\n if (result.isOk()) {\n this.apiKey = result.value;\n }\n }\n\n async uninstall(): Promise<void> {\n if (this.apiKey) {\n await this.deleteApiKey.execute(this.apiKey.id);\n }\n }\n}\n\nexport const ApiKeyInstaller = AppInstaller.createImplementation({\n implementation: ApiKeyInstallerImpl,\n dependencies: [WcpContext, CreateApiKeyUseCase, DeleteApiKeyUseCase]\n});\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,yCAAyC;AACtE,SAASC,mBAAmB,QAAQ,kEAAkE;AACtG,SAASC,mBAAmB,QAAQ,kEAAkE;AAEtG,SAASC,UAAU,QAAQ,mDAAmD;AAE9E,MAAMC,mBAAmB,CAAmC;EAC/CC,SAAS,GAAG,IAAI;EAChBC,OAAO,GAAG,gBAAgB;EAC1BC,SAAS,GAAG,EAAE;EACfC,MAAM,GAAuBC,SAAS;EAE9CC,WAAWA,CACCC,UAAgC,EAChCC,YAA2C,EAC3CC,YAA2C,EACrD;IAAA,KAHUF,UAAgC,GAAhCA,UAAgC;IAAA,KAChCC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,YAA2C,GAA3CA,YAA2C;EACpD;EAEH,MAAMC,OAAOA,CAAA,EAAkB;IAC3B,MAAMC,IAAI,GAAG,IAAI,CAACJ,UAAU,CAACK,UAAU,CAAC,CAAC;IAEzC,MAAMC,WAAW,GAAGF,IAAI,GAAG,CAAC;MAAEG,IAAI,EAAE,SAAS;MAAEC,GAAG,EAAE;IAAI,CAAC,CAAC,GAAG,CAAC;MAAED,IAAI,EAAE;IAAO,CAAC,CAAC;IAE/E,MAAME,MAAM,GAAG,MAAM,IAAI,CAACR,YAAY,CAACS,OAAO,CAAC;MAC3CH,IAAI,EAAE,iBAAiB;MACvBI,WAAW,EAAE,4DAA4D;MACzEC,IAAI,EAAE,iBAAiB;MACvBN;IACJ,CAAC,CAAC;IAEF,IAAIG,MAAM,CAACI,IAAI,CAAC,CAAC,EAAE;MACf,IAAI,CAAChB,MAAM,GAAGY,MAAM,CAACK,KAAK;IAC9B;EACJ;EAEA,MAAMC,SAASA,CAAA,EAAkB;IAC7B,IAAI,IAAI,CAAClB,MAAM,EAAE;MACb,MAAM,IAAI,CAACK,YAAY,CAACQ,OAAO,CAAC,IAAI,CAACb,MAAM,CAACmB,EAAE,CAAC;IACnD;EACJ;AACJ;AAEA,OAAO,MAAMC,eAAe,GAAG5B,YAAY,CAAC6B,oBAAoB,CAAC;EAC7DC,cAAc,EAAE1B,mBAAmB;EACnC2B,YAAY,EAAE,CAAC5B,UAAU,EAAEF,mBAAmB,EAAEC,mBAAmB;AACvE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ApiKeyInstallerFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { ApiKeyInstaller } from "./ApiKeyInstaller.js";
|
|
3
|
+
export const ApiKeyInstallerFeature = createFeature({
|
|
4
|
+
name: "WebsiteBuilder/ApiKeyInstaller",
|
|
5
|
+
register(container) {
|
|
6
|
+
container.register(ApiKeyInstaller);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","ApiKeyInstaller","ApiKeyInstallerFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ApiKeyInstaller } from \"./ApiKeyInstaller.js\";\n\nexport const ApiKeyInstallerFeature = createFeature({\n name: \"WebsiteBuilder/ApiKeyInstaller\",\n register(container) {\n container.register(ApiKeyInstaller);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,eAAe;AAExB,OAAO,MAAMC,sBAAsB,GAAGF,aAAa,CAAC;EAChDG,IAAI,EAAE,gCAAgC;EACtCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,eAAe,CAAC;EACvC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ISection {
|
|
2
|
+
id: string;
|
|
3
|
+
content: string;
|
|
4
|
+
}
|
|
5
|
+
export interface IPositionOptions {
|
|
6
|
+
before?: string;
|
|
7
|
+
after?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IMarkdownContentBuilder {
|
|
10
|
+
add(id: string, text: string, position?: IPositionOptions): this;
|
|
11
|
+
remove(id: string): this;
|
|
12
|
+
replace(id: string, markdown: string | ((currentContent: string) => string)): this;
|
|
13
|
+
setVariable(key: string, value: string): this;
|
|
14
|
+
setVariables(vars: Record<string, string>): this;
|
|
15
|
+
getVariable(key: string): string | undefined;
|
|
16
|
+
build(joinWith?: string): string;
|
|
17
|
+
}
|
|
18
|
+
export declare class MarkdownContentBuilder implements IMarkdownContentBuilder {
|
|
19
|
+
private sections;
|
|
20
|
+
private variables;
|
|
21
|
+
private readonly MAX_INTERPOLATION_DEPTH;
|
|
22
|
+
add(id: string, markdown: string, position?: IPositionOptions): this;
|
|
23
|
+
remove(id: string): this;
|
|
24
|
+
replace(id: string, markdown: string | ((currentContent: string) => string)): this;
|
|
25
|
+
setVariable(key: string, value: string): this;
|
|
26
|
+
setVariables(vars: Record<string, string>): this;
|
|
27
|
+
getVariable(key: string): string | undefined;
|
|
28
|
+
private substituteVariables;
|
|
29
|
+
private escapeRegex;
|
|
30
|
+
build(joinWith?: string): string;
|
|
31
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export class MarkdownContentBuilder {
|
|
2
|
+
sections = [];
|
|
3
|
+
variables = new Map();
|
|
4
|
+
MAX_INTERPOLATION_DEPTH = 10; // Prevent infinite loops
|
|
5
|
+
|
|
6
|
+
add(id, markdown, position) {
|
|
7
|
+
const section = {
|
|
8
|
+
id,
|
|
9
|
+
content: markdown
|
|
10
|
+
};
|
|
11
|
+
if (position?.before) {
|
|
12
|
+
const index = this.sections.findIndex(s => s.id === position.before);
|
|
13
|
+
if (index !== -1) {
|
|
14
|
+
this.sections.splice(index, 0, section);
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (position?.after) {
|
|
19
|
+
const index = this.sections.findIndex(s => s.id === position.after);
|
|
20
|
+
if (index !== -1) {
|
|
21
|
+
this.sections.splice(index + 1, 0, section);
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
this.sections.push(section);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
remove(id) {
|
|
29
|
+
this.sections = this.sections.filter(s => s.id !== id);
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
replace(id, markdown) {
|
|
33
|
+
const section = this.sections.find(s => s.id === id);
|
|
34
|
+
if (section) {
|
|
35
|
+
if (typeof markdown === "function") {
|
|
36
|
+
section.content = markdown(section.content);
|
|
37
|
+
} else {
|
|
38
|
+
section.content = markdown;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
setVariable(key, value) {
|
|
44
|
+
this.variables.set(key, value);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
setVariables(vars) {
|
|
48
|
+
Object.entries(vars).forEach(([key, value]) => {
|
|
49
|
+
this.variables.set(key, value);
|
|
50
|
+
});
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
getVariable(key) {
|
|
54
|
+
return this.variables.get(key);
|
|
55
|
+
}
|
|
56
|
+
substituteVariables(text) {
|
|
57
|
+
let result = text;
|
|
58
|
+
let previousResult = "";
|
|
59
|
+
let depth = 0;
|
|
60
|
+
|
|
61
|
+
// Keep substituting until no more changes occur or max depth reached
|
|
62
|
+
while (result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH) {
|
|
63
|
+
previousResult = result;
|
|
64
|
+
this.variables.forEach((value, key) => {
|
|
65
|
+
const regex = new RegExp(`\\{${this.escapeRegex(key)}\\}`, "g");
|
|
66
|
+
result = result.replace(regex, value);
|
|
67
|
+
});
|
|
68
|
+
depth++;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Warn about potential circular reference if max depth reached
|
|
72
|
+
if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) {
|
|
73
|
+
console.warn("Maximum interpolation depth reached. Possible circular variable reference.");
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
escapeRegex(str) {
|
|
78
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
79
|
+
}
|
|
80
|
+
build(joinWith = "\n") {
|
|
81
|
+
const content = this.sections.map(s => s.content).join(joinWith);
|
|
82
|
+
return this.substituteVariables(content);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=MarkdownContentBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MarkdownContentBuilder","sections","variables","Map","MAX_INTERPOLATION_DEPTH","add","id","markdown","position","section","content","before","index","findIndex","s","splice","after","push","remove","filter","replace","find","setVariable","key","value","set","setVariables","vars","Object","entries","forEach","getVariable","get","substituteVariables","text","result","previousResult","depth","regex","RegExp","escapeRegex","console","warn","str","build","joinWith","map","join"],"sources":["MarkdownContentBuilder.ts"],"sourcesContent":["export interface ISection {\n id: string;\n content: string;\n}\n\nexport interface IPositionOptions {\n before?: string;\n after?: string;\n}\nexport interface IMarkdownContentBuilder {\n add(id: string, text: string, position?: IPositionOptions): this;\n remove(id: string): this;\n replace(id: string, markdown: string | ((currentContent: string) => string)): this;\n setVariable(key: string, value: string): this;\n setVariables(vars: Record<string, string>): this;\n getVariable(key: string): string | undefined;\n build(joinWith?: string): string;\n}\n\nexport class MarkdownContentBuilder implements IMarkdownContentBuilder {\n private sections: ISection[] = [];\n private variables: Map<string, string> = new Map();\n private readonly MAX_INTERPOLATION_DEPTH = 10; // Prevent infinite loops\n\n add(id: string, markdown: string, position?: IPositionOptions): this {\n const section: ISection = { id, content: markdown };\n\n if (position?.before) {\n const index = this.sections.findIndex(s => s.id === position.before);\n if (index !== -1) {\n this.sections.splice(index, 0, section);\n return this;\n }\n }\n\n if (position?.after) {\n const index = this.sections.findIndex(s => s.id === position.after);\n if (index !== -1) {\n this.sections.splice(index + 1, 0, section);\n return this;\n }\n }\n\n this.sections.push(section);\n return this;\n }\n\n remove(id: string): this {\n this.sections = this.sections.filter(s => s.id !== id);\n return this;\n }\n\n replace(id: string, markdown: string | ((currentContent: string) => string)): this {\n const section = this.sections.find(s => s.id === id);\n if (section) {\n if (typeof markdown === \"function\") {\n section.content = markdown(section.content);\n } else {\n section.content = markdown;\n }\n }\n return this;\n }\n\n setVariable(key: string, value: string): this {\n this.variables.set(key, value);\n return this;\n }\n\n setVariables(vars: Record<string, string>): this {\n Object.entries(vars).forEach(([key, value]) => {\n this.variables.set(key, value);\n });\n return this;\n }\n\n getVariable(key: string): string | undefined {\n return this.variables.get(key);\n }\n\n private substituteVariables(text: string): string {\n let result = text;\n let previousResult = \"\";\n let depth = 0;\n\n // Keep substituting until no more changes occur or max depth reached\n while (result !== previousResult && depth < this.MAX_INTERPOLATION_DEPTH) {\n previousResult = result;\n\n this.variables.forEach((value, key) => {\n const regex = new RegExp(`\\\\{${this.escapeRegex(key)}\\\\}`, \"g\");\n result = result.replace(regex, value);\n });\n\n depth++;\n }\n\n // Warn about potential circular reference if max depth reached\n if (depth === this.MAX_INTERPOLATION_DEPTH && result !== previousResult) {\n console.warn(\n \"Maximum interpolation depth reached. Possible circular variable reference.\"\n );\n }\n\n return result;\n }\n\n private escapeRegex(str: string): string {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n\n build(joinWith = \"\\n\"): string {\n const content = this.sections.map(s => s.content).join(joinWith);\n return this.substituteVariables(content);\n }\n}\n"],"mappings":"AAmBA,OAAO,MAAMA,sBAAsB,CAAoC;EAC3DC,QAAQ,GAAe,EAAE;EACzBC,SAAS,GAAwB,IAAIC,GAAG,CAAC,CAAC;EACjCC,uBAAuB,GAAG,EAAE,CAAC,CAAC;;EAE/CC,GAAGA,CAACC,EAAU,EAAEC,QAAgB,EAAEC,QAA2B,EAAQ;IACjE,MAAMC,OAAiB,GAAG;MAAEH,EAAE;MAAEI,OAAO,EAAEH;IAAS,CAAC;IAEnD,IAAIC,QAAQ,EAAEG,MAAM,EAAE;MAClB,MAAMC,KAAK,GAAG,IAAI,CAACX,QAAQ,CAACY,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKE,QAAQ,CAACG,MAAM,CAAC;MACpE,IAAIC,KAAK,KAAK,CAAC,CAAC,EAAE;QACd,IAAI,CAACX,QAAQ,CAACc,MAAM,CAACH,KAAK,EAAE,CAAC,EAAEH,OAAO,CAAC;QACvC,OAAO,IAAI;MACf;IACJ;IAEA,IAAID,QAAQ,EAAEQ,KAAK,EAAE;MACjB,MAAMJ,KAAK,GAAG,IAAI,CAACX,QAAQ,CAACY,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKE,QAAQ,CAACQ,KAAK,CAAC;MACnE,IAAIJ,KAAK,KAAK,CAAC,CAAC,EAAE;QACd,IAAI,CAACX,QAAQ,CAACc,MAAM,CAACH,KAAK,GAAG,CAAC,EAAE,CAAC,EAAEH,OAAO,CAAC;QAC3C,OAAO,IAAI;MACf;IACJ;IAEA,IAAI,CAACR,QAAQ,CAACgB,IAAI,CAACR,OAAO,CAAC;IAC3B,OAAO,IAAI;EACf;EAEAS,MAAMA,CAACZ,EAAU,EAAQ;IACrB,IAAI,CAACL,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACkB,MAAM,CAACL,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKA,EAAE,CAAC;IACtD,OAAO,IAAI;EACf;EAEAc,OAAOA,CAACd,EAAU,EAAEC,QAAuD,EAAQ;IAC/E,MAAME,OAAO,GAAG,IAAI,CAACR,QAAQ,CAACoB,IAAI,CAACP,CAAC,IAAIA,CAAC,CAACR,EAAE,KAAKA,EAAE,CAAC;IACpD,IAAIG,OAAO,EAAE;MACT,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAChCE,OAAO,CAACC,OAAO,GAAGH,QAAQ,CAACE,OAAO,CAACC,OAAO,CAAC;MAC/C,CAAC,MAAM;QACHD,OAAO,CAACC,OAAO,GAAGH,QAAQ;MAC9B;IACJ;IACA,OAAO,IAAI;EACf;EAEAe,WAAWA,CAACC,GAAW,EAAEC,KAAa,EAAQ;IAC1C,IAAI,CAACtB,SAAS,CAACuB,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;IAC9B,OAAO,IAAI;EACf;EAEAE,YAAYA,CAACC,IAA4B,EAAQ;IAC7CC,MAAM,CAACC,OAAO,CAACF,IAAI,CAAC,CAACG,OAAO,CAAC,CAAC,CAACP,GAAG,EAAEC,KAAK,CAAC,KAAK;MAC3C,IAAI,CAACtB,SAAS,CAACuB,GAAG,CAACF,GAAG,EAAEC,KAAK,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,IAAI;EACf;EAEAO,WAAWA,CAACR,GAAW,EAAsB;IACzC,OAAO,IAAI,CAACrB,SAAS,CAAC8B,GAAG,CAACT,GAAG,CAAC;EAClC;EAEQU,mBAAmBA,CAACC,IAAY,EAAU;IAC9C,IAAIC,MAAM,GAAGD,IAAI;IACjB,IAAIE,cAAc,GAAG,EAAE;IACvB,IAAIC,KAAK,GAAG,CAAC;;IAEb;IACA,OAAOF,MAAM,KAAKC,cAAc,IAAIC,KAAK,GAAG,IAAI,CAACjC,uBAAuB,EAAE;MACtEgC,cAAc,GAAGD,MAAM;MAEvB,IAAI,CAACjC,SAAS,CAAC4B,OAAO,CAAC,CAACN,KAAK,EAAED,GAAG,KAAK;QACnC,MAAMe,KAAK,GAAG,IAAIC,MAAM,CAAC,MAAM,IAAI,CAACC,WAAW,CAACjB,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;QAC/DY,MAAM,GAAGA,MAAM,CAACf,OAAO,CAACkB,KAAK,EAAEd,KAAK,CAAC;MACzC,CAAC,CAAC;MAEFa,KAAK,EAAE;IACX;;IAEA;IACA,IAAIA,KAAK,KAAK,IAAI,CAACjC,uBAAuB,IAAI+B,MAAM,KAAKC,cAAc,EAAE;MACrEK,OAAO,CAACC,IAAI,CACR,4EACJ,CAAC;IACL;IAEA,OAAOP,MAAM;EACjB;EAEQK,WAAWA,CAACG,GAAW,EAAU;IACrC,OAAOA,GAAG,CAACvB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;EACrD;EAEAwB,KAAKA,CAACC,QAAQ,GAAG,IAAI,EAAU;IAC3B,MAAMnC,OAAO,GAAG,IAAI,CAACT,QAAQ,CAAC6C,GAAG,CAAChC,CAAC,IAAIA,CAAC,CAACJ,OAAO,CAAC,CAACqC,IAAI,CAACF,QAAQ,CAAC;IAChE,OAAO,IAAI,CAACZ,mBAAmB,CAACvB,OAAO,CAAC;EAC5C;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, vi } from "vitest";
|
|
2
|
+
import { MarkdownContentBuilder } from "./MarkdownContentBuilder.js";
|
|
3
|
+
describe("MarkdownContentBuilder", () => {
|
|
4
|
+
let builder;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
builder = new MarkdownContentBuilder();
|
|
7
|
+
});
|
|
8
|
+
describe("add", () => {
|
|
9
|
+
it("should add sections to the end by default", () => {
|
|
10
|
+
builder.add("section1", "First section").add("section2", "Second section");
|
|
11
|
+
expect(builder.build()).toBe("First section\nSecond section");
|
|
12
|
+
});
|
|
13
|
+
it("should add section before specified id", () => {
|
|
14
|
+
builder.add("section1", "First").add("section2", "Second").add("section-middle", "Middle", {
|
|
15
|
+
before: "section2"
|
|
16
|
+
});
|
|
17
|
+
expect(builder.build()).toBe("First\nMiddle\nSecond");
|
|
18
|
+
});
|
|
19
|
+
it("should add section after specified id", () => {
|
|
20
|
+
builder.add("section1", "First").add("section2", "Second").add("section-middle", "Middle", {
|
|
21
|
+
after: "section1"
|
|
22
|
+
});
|
|
23
|
+
expect(builder.build()).toBe("First\nMiddle\nSecond");
|
|
24
|
+
});
|
|
25
|
+
it("should append to end if before id not found", () => {
|
|
26
|
+
builder.add("section1", "First").add("section2", "Second", {
|
|
27
|
+
before: "non-existent"
|
|
28
|
+
});
|
|
29
|
+
expect(builder.build()).toBe("First\nSecond");
|
|
30
|
+
});
|
|
31
|
+
it("should append to end if after id not found", () => {
|
|
32
|
+
builder.add("section1", "First").add("section2", "Second", {
|
|
33
|
+
after: "non-existent"
|
|
34
|
+
});
|
|
35
|
+
expect(builder.build()).toBe("First\nSecond");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe("remove", () => {
|
|
39
|
+
it("should remove section by id", () => {
|
|
40
|
+
builder.add("section1", "First").add("section2", "Second").add("section3", "Third").remove("section2");
|
|
41
|
+
expect(builder.build()).toBe("First\nThird");
|
|
42
|
+
});
|
|
43
|
+
it("should handle removing non-existent id gracefully", () => {
|
|
44
|
+
builder.add("section1", "First").remove("non-existent");
|
|
45
|
+
expect(builder.build()).toBe("First");
|
|
46
|
+
});
|
|
47
|
+
it("should handle removing from empty builder", () => {
|
|
48
|
+
builder.remove("section1");
|
|
49
|
+
expect(builder.build()).toBe("");
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe("replace", () => {
|
|
53
|
+
it("should replace section content with string", () => {
|
|
54
|
+
builder.add("section1", "Original content").replace("section1", "Replaced content");
|
|
55
|
+
expect(builder.build()).toBe("Replaced content");
|
|
56
|
+
});
|
|
57
|
+
it("should replace section content with callback", () => {
|
|
58
|
+
builder.add("section1", "Original content").replace("section1", current => current.toUpperCase());
|
|
59
|
+
expect(builder.build()).toBe("ORIGINAL CONTENT");
|
|
60
|
+
});
|
|
61
|
+
it("should pass current content to callback", () => {
|
|
62
|
+
builder.add("section1", "Hello").replace("section1", current => `${current} World`);
|
|
63
|
+
expect(builder.build()).toBe("Hello World");
|
|
64
|
+
});
|
|
65
|
+
it("should handle callback that transforms content", () => {
|
|
66
|
+
builder.add("code", '```bash\necho "test"\n```').replace("code", current => current.replace("bash", "javascript"));
|
|
67
|
+
expect(builder.build()).toBe('```javascript\necho "test"\n```');
|
|
68
|
+
});
|
|
69
|
+
it("should handle callback returning empty string", () => {
|
|
70
|
+
builder.add("section1", "Original").replace("section1", () => "");
|
|
71
|
+
expect(builder.build()).toBe("");
|
|
72
|
+
});
|
|
73
|
+
it("should handle replacing non-existent id with callback gracefully", () => {
|
|
74
|
+
builder.add("section1", "First").replace("non-existent", current => current + " modified");
|
|
75
|
+
expect(builder.build()).toBe("First");
|
|
76
|
+
});
|
|
77
|
+
it("should maintain section position when replacing with callback", () => {
|
|
78
|
+
builder.add("section1", "First").add("section2", "Second").add("section3", "Third").replace("section2", current => current.toUpperCase());
|
|
79
|
+
expect(builder.build()).toBe("First\nSECOND\nThird");
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe("complex scenarios with callbacks", () => {
|
|
83
|
+
it("should support plugin decoration with transformations", () => {
|
|
84
|
+
builder.setVariable("API_KEY", "wat_12345").add("section1", "Key: {API_KEY}").add("code", "```bash\nAPI_KEY={API_KEY}\n```");
|
|
85
|
+
|
|
86
|
+
// Plugin adds warning to code section
|
|
87
|
+
builder.replace("code", current => {
|
|
88
|
+
return `⚠️ **Security Warning**: Keep this private!\n\n${current}`;
|
|
89
|
+
});
|
|
90
|
+
const result = builder.build();
|
|
91
|
+
expect(result).toContain("Security Warning");
|
|
92
|
+
expect(result).toContain("```bash");
|
|
93
|
+
});
|
|
94
|
+
it("should chain multiple replace operations", () => {
|
|
95
|
+
builder.add("text", "hello world").replace("text", s => s.toUpperCase()).replace("text", s => `**${s}**`).replace("text", s => `${s}!!!`);
|
|
96
|
+
expect(builder.build()).toBe("**HELLO WORLD**!!!");
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe("variables", () => {
|
|
100
|
+
it("should set and substitute single variable", () => {
|
|
101
|
+
builder.setVariable("API_KEY", "wat_12345").add("section1", "Your API key is {API_KEY}");
|
|
102
|
+
expect(builder.build()).toBe("Your API key is wat_12345");
|
|
103
|
+
});
|
|
104
|
+
it("should set and substitute multiple variables", () => {
|
|
105
|
+
builder.setVariables({
|
|
106
|
+
API_KEY: "wat_12345",
|
|
107
|
+
HOST: "https://api.example.com",
|
|
108
|
+
TENANT: "root"
|
|
109
|
+
}).add("section1", "Key: {API_KEY}, Host: {HOST}, Tenant: {TENANT}");
|
|
110
|
+
expect(builder.build()).toBe("Key: wat_12345, Host: https://api.example.com, Tenant: root");
|
|
111
|
+
});
|
|
112
|
+
it("should substitute variables in multiple sections", () => {
|
|
113
|
+
builder.setVariable("API_KEY", "wat_12345").add("section1", "Section 1: {API_KEY}").add("section2", "Section 2: {API_KEY}");
|
|
114
|
+
expect(builder.build()).toBe("Section 1: wat_12345\nSection 2: wat_12345");
|
|
115
|
+
});
|
|
116
|
+
it("should handle variable replacement in code blocks", () => {
|
|
117
|
+
builder.setVariables({
|
|
118
|
+
API_KEY: "wat_12345",
|
|
119
|
+
HOST: "https://api.example.com"
|
|
120
|
+
}).add("code", "```bash\nAPI_KEY={API_KEY}\nHOST={HOST}\n```");
|
|
121
|
+
expect(builder.build()).toBe("```bash\nAPI_KEY=wat_12345\nHOST=https://api.example.com\n```");
|
|
122
|
+
});
|
|
123
|
+
it("should leave unmatched variables unchanged", () => {
|
|
124
|
+
builder.setVariable("API_KEY", "wat_12345").add("section1", "Key: {API_KEY}, Unknown: {UNKNOWN}");
|
|
125
|
+
expect(builder.build()).toBe("Key: wat_12345, Unknown: {UNKNOWN}");
|
|
126
|
+
});
|
|
127
|
+
it("should handle variables with special regex characters", () => {
|
|
128
|
+
builder.setVariable("VAR.NAME", "value1").setVariable("VAR$NAME", "value2").add("section1", "{VAR.NAME} and {VAR$NAME}");
|
|
129
|
+
expect(builder.build()).toBe("value1 and value2");
|
|
130
|
+
});
|
|
131
|
+
it("should get variable value", () => {
|
|
132
|
+
builder.setVariable("API_KEY", "wat_12345");
|
|
133
|
+
expect(builder.getVariable("API_KEY")).toBe("wat_12345");
|
|
134
|
+
});
|
|
135
|
+
it("should return undefined for non-existent variable", () => {
|
|
136
|
+
expect(builder.getVariable("NON_EXISTENT")).toBeUndefined();
|
|
137
|
+
});
|
|
138
|
+
it("should override variable when set multiple times", () => {
|
|
139
|
+
builder.setVariable("API_KEY", "old_value").setVariable("API_KEY", "new_value").add("section1", "{API_KEY}");
|
|
140
|
+
expect(builder.build()).toBe("new_value");
|
|
141
|
+
});
|
|
142
|
+
it("should handle multiple occurrences of same variable", () => {
|
|
143
|
+
builder.setVariable("NAME", "John").add("section1", "Hello {NAME}, welcome {NAME}!");
|
|
144
|
+
expect(builder.build()).toBe("Hello John, welcome John!");
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
describe("build", () => {
|
|
148
|
+
it("should use default newline separator", () => {
|
|
149
|
+
builder.add("section1", "First").add("section2", "Second");
|
|
150
|
+
expect(builder.build()).toBe("First\nSecond");
|
|
151
|
+
});
|
|
152
|
+
it("should use custom separator", () => {
|
|
153
|
+
builder.add("section1", "First").add("section2", "Second");
|
|
154
|
+
expect(builder.build("\n\n")).toBe("First\n\nSecond");
|
|
155
|
+
});
|
|
156
|
+
it("should return empty string for empty builder", () => {
|
|
157
|
+
expect(builder.build()).toBe("");
|
|
158
|
+
});
|
|
159
|
+
it("should handle single section", () => {
|
|
160
|
+
builder.add("section1", "Only section");
|
|
161
|
+
expect(builder.build()).toBe("Only section");
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe("method chaining", () => {
|
|
165
|
+
it("should support fluent interface", () => {
|
|
166
|
+
const result = builder.setVariable("NAME", "Test").add("section1", "Hello {NAME}").add("section2", "Second").remove("section2").add("section3", "Third").replace("section3", "Replaced").build();
|
|
167
|
+
expect(result).toBe("Hello Test\nReplaced");
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
describe("complex scenarios", () => {
|
|
171
|
+
it("should handle Next.js config example", () => {
|
|
172
|
+
const result = builder.setVariables({
|
|
173
|
+
API_KEY: "wat_12345678",
|
|
174
|
+
API_HOST: "https://example.cloudfront.net",
|
|
175
|
+
TENANT: "root"
|
|
176
|
+
}).add("description", "This is a configuration for **Webiny Next.js starter kit**:").add("env-vars", "```bash\nNEXT_PUBLIC_WEBSITE_BUILDER_API_KEY={API_KEY}\nNEXT_PUBLIC_WEBSITE_BUILDER_API_HOST={API_HOST}\nNEXT_PUBLIC_WEBSITE_BUILDER_API_TENANT={TENANT}\n```").build();
|
|
177
|
+
expect(result).toContain("wat_12345678");
|
|
178
|
+
expect(result).toContain("https://example.cloudfront.net");
|
|
179
|
+
expect(result).toContain("root");
|
|
180
|
+
expect(result).toContain("Webiny Next.js starter kit");
|
|
181
|
+
});
|
|
182
|
+
it("should support plugin decoration pattern", () => {
|
|
183
|
+
// Initial builder
|
|
184
|
+
builder.setVariable("API_KEY", "original_key").add("section1", "Key: {API_KEY}");
|
|
185
|
+
|
|
186
|
+
// Plugin modifies
|
|
187
|
+
builder.setVariable("API_KEY", "plugin_key").add("plugin-section", "Added by plugin: {API_KEY}", {
|
|
188
|
+
after: "section1"
|
|
189
|
+
});
|
|
190
|
+
const result = builder.build();
|
|
191
|
+
expect(result).toBe("Key: plugin_key\nAdded by plugin: plugin_key");
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
describe("deep variable interpolation", () => {
|
|
195
|
+
it("should handle single level nested variables", () => {
|
|
196
|
+
builder.setVariables({
|
|
197
|
+
LINK: "https://example.com",
|
|
198
|
+
DESCRIPTION: "Visit {LINK} for more info"
|
|
199
|
+
}).add("section1", "{DESCRIPTION}");
|
|
200
|
+
expect(builder.build()).toBe("Visit https://example.com for more info");
|
|
201
|
+
});
|
|
202
|
+
it("should handle multiple levels of nested variables", () => {
|
|
203
|
+
builder.setVariables({
|
|
204
|
+
BASE_URL: "https://example.com",
|
|
205
|
+
API_PATH: "{BASE_URL}/api",
|
|
206
|
+
FULL_ENDPOINT: "{API_PATH}/v1/users"
|
|
207
|
+
}).add("section1", "Endpoint: {FULL_ENDPOINT}");
|
|
208
|
+
expect(builder.build()).toBe("Endpoint: https://example.com/api/v1/users");
|
|
209
|
+
});
|
|
210
|
+
it("should handle variables in HTML links", () => {
|
|
211
|
+
builder.setVariables({
|
|
212
|
+
STARTER_KIT_LINK: "https://github.com/webiny/website-builder-nextjs",
|
|
213
|
+
DESCRIPTION: '<a href="{STARTER_KIT_LINK}" target="_blank">Webiny Next.js starter kit</a>'
|
|
214
|
+
}).add("section1", "{DESCRIPTION}");
|
|
215
|
+
expect(builder.build()).toBe('<a href="https://github.com/webiny/website-builder-nextjs" target="_blank">Webiny Next.js starter kit</a>');
|
|
216
|
+
});
|
|
217
|
+
it("should handle complex nested scenario from example", () => {
|
|
218
|
+
builder.setVariables({
|
|
219
|
+
DESCRIPTION: 'This is a configuration for <a href="{STARTER_KIT_LINK}" target="_blank">Webiny Next.js starter kit:</a>',
|
|
220
|
+
STARTER_KIT_LINK: "https://github.com/webiny/website-builder-nextjs",
|
|
221
|
+
API_TOKEN: "wat_12345",
|
|
222
|
+
API_HOST: "https://api.example.com",
|
|
223
|
+
ADMIN_HOST: "https://admin.example.com",
|
|
224
|
+
TENANT_ID: "root"
|
|
225
|
+
}).add("description", "{DESCRIPTION}");
|
|
226
|
+
const result = builder.build();
|
|
227
|
+
expect(result).toContain("https://github.com/webiny/website-builder-nextjs");
|
|
228
|
+
expect(result).toContain("Webiny Next.js starter kit");
|
|
229
|
+
expect(result).not.toContain("{STARTER_KIT_LINK}");
|
|
230
|
+
});
|
|
231
|
+
it("should handle variable that references another variable multiple times", () => {
|
|
232
|
+
builder.setVariables({
|
|
233
|
+
NAME: "John",
|
|
234
|
+
GREETING: "Hello {NAME}, welcome {NAME}!"
|
|
235
|
+
}).add("section1", "{GREETING}");
|
|
236
|
+
expect(builder.build()).toBe("Hello John, welcome John!");
|
|
237
|
+
});
|
|
238
|
+
it("should handle deep nesting (3+ levels)", () => {
|
|
239
|
+
builder.setVariables({
|
|
240
|
+
LEVEL_1: "base",
|
|
241
|
+
LEVEL_2: "{LEVEL_1}/path",
|
|
242
|
+
LEVEL_3: "{LEVEL_2}/more",
|
|
243
|
+
LEVEL_4: "{LEVEL_3}/final"
|
|
244
|
+
}).add("section1", "{LEVEL_4}");
|
|
245
|
+
expect(builder.build()).toBe("base/path/more/final");
|
|
246
|
+
});
|
|
247
|
+
it("should handle circular references gracefully", () => {
|
|
248
|
+
const consoleSpy = vi.spyOn(console, "warn").mockImplementation(() => {});
|
|
249
|
+
builder.setVariables({
|
|
250
|
+
VAR_A: "Start {VAR_B}",
|
|
251
|
+
VAR_B: "{VAR_A} End"
|
|
252
|
+
}).add("section1", "{VAR_A}");
|
|
253
|
+
builder.build();
|
|
254
|
+
expect(consoleSpy).toHaveBeenCalledWith(expect.stringContaining("Maximum interpolation depth reached"));
|
|
255
|
+
consoleSpy.mockRestore();
|
|
256
|
+
});
|
|
257
|
+
it("should stop at undefined variables and leave them as-is", () => {
|
|
258
|
+
builder.setVariables({
|
|
259
|
+
DEFINED: "value",
|
|
260
|
+
HAS_UNDEFINED: "{DEFINED} and {UNDEFINED}"
|
|
261
|
+
}).add("section1", "{HAS_UNDEFINED}");
|
|
262
|
+
expect(builder.build()).toBe("value and {UNDEFINED}");
|
|
263
|
+
});
|
|
264
|
+
it("should handle mixed defined and nested variables", () => {
|
|
265
|
+
builder.setVariables({
|
|
266
|
+
API_KEY: "key123",
|
|
267
|
+
HOST: "example.com",
|
|
268
|
+
CONFIG: "API_KEY={API_KEY}\nHOST={HOST}\nUNDEFINED={UNKNOWN}"
|
|
269
|
+
}).add("section1", "{CONFIG}");
|
|
270
|
+
const result = builder.build();
|
|
271
|
+
expect(result).toContain("API_KEY=key123");
|
|
272
|
+
expect(result).toContain("HOST=example.com");
|
|
273
|
+
expect(result).toContain("UNDEFINED={UNKNOWN}");
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
//# sourceMappingURL=MarkdownContentBuilder.test.js.map
|