mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-13 13:17:45 +02:00
Change webpack to rsbuild
Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Generated
+732
-7
File diff suppressed because it is too large
Load Diff
@@ -35,6 +35,10 @@ fi
|
||||
|
||||
export DOCKER_VERSION="$VERSION"
|
||||
export DOCKER_EXTRA="--platform=$PLATFORM"
|
||||
export SKIP_VALIDATE="true"
|
||||
export USE_CACHE="true"
|
||||
export FAST_BUILD="true"
|
||||
|
||||
echo "Starting docker build and push for version: $DOCKER_VERSION ($PLATFORM)"
|
||||
|
||||
# We use 'node common/scripts/install-run-rush.js' to ensure we use the right rush version
|
||||
|
||||
+129
-129
@@ -172,7 +172,7 @@ function configureI18n (): void {
|
||||
async (lang: string) =>
|
||||
await import(
|
||||
/* webpackInclude: /\.json$/ */
|
||||
/* webpackMode: "lazy" */
|
||||
/* webpackMode: "eager" */
|
||||
/* webpackChunkName: "lang-[request]" */
|
||||
`@hcengineering/platform/lang/${lang}.json`
|
||||
)
|
||||
@@ -182,132 +182,132 @@ function configureI18n (): void {
|
||||
async (lang: string) =>
|
||||
await import(
|
||||
/* webpackInclude: /\.json$/ */
|
||||
/* webpackMode: "lazy" */
|
||||
/* webpackMode: "eager" */
|
||||
/* webpackChunkName: "lang-[request]" */
|
||||
`@hcengineering/core/lang/${lang}.json`
|
||||
)
|
||||
)
|
||||
addStringsLoader(
|
||||
presentationId,
|
||||
async (lang: string) => await import(`@hcengineering/presentation/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/presentation/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
textEditorId,
|
||||
async (lang: string) => await import(`@hcengineering/text-editor-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/text-editor-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(uiId, async (lang: string) => await import(`@hcengineering/ui/lang/${lang}.json`))
|
||||
addStringsLoader(mediaId, async (lang: string) => await import(`@hcengineering/media-assets/lang/${lang}.json`))
|
||||
addStringsLoader(uploaderId, async (lang: string) => await import(`@hcengineering/uploader-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recorderId, async (lang: string) => await import(`@hcengineering/recorder-assets/lang/${lang}.json`))
|
||||
addStringsLoader(activityId, async (lang: string) => await import(`@hcengineering/activity-assets/lang/${lang}.json`))
|
||||
addStringsLoader(uiId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/ui/lang/${lang}.json`))
|
||||
addStringsLoader(mediaId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/media-assets/lang/${lang}.json`))
|
||||
addStringsLoader(uploaderId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/uploader-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recorderId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/recorder-assets/lang/${lang}.json`))
|
||||
addStringsLoader(activityId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/activity-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
attachmentId,
|
||||
async (lang: string) => await import(`@hcengineering/attachment-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/attachment-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(bitrixId, async (lang: string) => await import(`@hcengineering/bitrix-assets/lang/${lang}.json`))
|
||||
addStringsLoader(boardId, async (lang: string) => await import(`@hcengineering/board-assets/lang/${lang}.json`))
|
||||
addStringsLoader(calendarId, async (lang: string) => await import(`@hcengineering/calendar-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chunterId, async (lang: string) => await import(`@hcengineering/chunter-assets/lang/${lang}.json`))
|
||||
addStringsLoader(contactId, async (lang: string) => await import(`@hcengineering/contact-assets/lang/${lang}.json`))
|
||||
addStringsLoader(driveId, async (lang: string) => await import(`@hcengineering/drive-assets/lang/${lang}.json`))
|
||||
addStringsLoader(gmailId, async (lang: string) => await import(`@hcengineering/gmail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(hrId, async (lang: string) => await import(`@hcengineering/hr-assets/lang/${lang}.json`))
|
||||
addStringsLoader(bitrixId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/bitrix-assets/lang/${lang}.json`))
|
||||
addStringsLoader(boardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/board-assets/lang/${lang}.json`))
|
||||
addStringsLoader(calendarId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/calendar-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chunterId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/chunter-assets/lang/${lang}.json`))
|
||||
addStringsLoader(contactId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/contact-assets/lang/${lang}.json`))
|
||||
addStringsLoader(driveId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/drive-assets/lang/${lang}.json`))
|
||||
addStringsLoader(gmailId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/gmail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(hrId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/hr-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
inventoryId,
|
||||
async (lang: string) => await import(`@hcengineering/inventory-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/inventory-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(leadId, async (lang: string) => await import(`@hcengineering/lead-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loginId, async (lang: string) => await import(`@hcengineering/login-assets/lang/${lang}.json`))
|
||||
addStringsLoader(leadId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/lead-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loginId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/login-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
notificationId,
|
||||
async (lang: string) => await import(`@hcengineering/notification-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/notification-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(onboardId, async (lang: string) => await import(`@hcengineering/onboard-assets/lang/${lang}.json`))
|
||||
addStringsLoader(onboardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/onboard-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
preferenceId,
|
||||
async (lang: string) => await import(`@hcengineering/preference-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/preference-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(recruitId, async (lang: string) => await import(`@hcengineering/recruit-assets/lang/${lang}.json`))
|
||||
addStringsLoader(requestId, async (lang: string) => await import(`@hcengineering/request-assets/lang/${lang}.json`))
|
||||
addStringsLoader(settingId, async (lang: string) => await import(`@hcengineering/setting-assets/lang/${lang}.json`))
|
||||
addStringsLoader(supportId, async (lang: string) => await import(`@hcengineering/support-assets/lang/${lang}.json`))
|
||||
addStringsLoader(tagsId, async (lang: string) => await import(`@hcengineering/tags-assets/lang/${lang}.json`))
|
||||
addStringsLoader(taskId, async (lang: string) => await import(`@hcengineering/task-assets/lang/${lang}.json`))
|
||||
addStringsLoader(telegramId, async (lang: string) => await import(`@hcengineering/telegram-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recruitId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/recruit-assets/lang/${lang}.json`))
|
||||
addStringsLoader(requestId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/request-assets/lang/${lang}.json`))
|
||||
addStringsLoader(settingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/setting-assets/lang/${lang}.json`))
|
||||
addStringsLoader(supportId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/support-assets/lang/${lang}.json`))
|
||||
addStringsLoader(tagsId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/tags-assets/lang/${lang}.json`))
|
||||
addStringsLoader(taskId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/task-assets/lang/${lang}.json`))
|
||||
addStringsLoader(telegramId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/telegram-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
templatesId,
|
||||
async (lang: string) => await import(`@hcengineering/templates-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/templates-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(trackerId, async (lang: string) => await import(`@hcengineering/tracker-assets/lang/${lang}.json`))
|
||||
addStringsLoader(viewId, async (lang: string) => await import(`@hcengineering/view-assets/lang/${lang}.json`))
|
||||
addStringsLoader(trackerId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/tracker-assets/lang/${lang}.json`))
|
||||
addStringsLoader(viewId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/view-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
workbenchId,
|
||||
async (lang: string) => await import(`@hcengineering/workbench-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/workbench-assets/lang/${lang}.json`)
|
||||
)
|
||||
|
||||
addStringsLoader(
|
||||
desktopPreferencesId,
|
||||
async (lang: string) => await import(`@hcengineering/desktop-preferences-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/desktop-preferences-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
desktopDownloadsId,
|
||||
async (lang: string) => await import(`@hcengineering/desktop-downloads-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/desktop-downloads-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(diffviewId, async (lang: string) => await import(`@hcengineering/diffview-assets/lang/${lang}.json`))
|
||||
addStringsLoader(documentId, async (lang: string) => await import(`@hcengineering/document-assets/lang/${lang}.json`))
|
||||
addStringsLoader(timeId, async (lang: string) => await import(`@hcengineering/time-assets/lang/${lang}.json`))
|
||||
addStringsLoader(githubId, async (lang: string) => await import(`@hcengineering/github-assets/lang/${lang}.json`))
|
||||
addStringsLoader(diffviewId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/diffview-assets/lang/${lang}.json`))
|
||||
addStringsLoader(documentId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/document-assets/lang/${lang}.json`))
|
||||
addStringsLoader(timeId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/time-assets/lang/${lang}.json`))
|
||||
addStringsLoader(githubId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/github-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
documentsId,
|
||||
async (lang: string) => await import(`@hcengineering/controlled-documents-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/controlled-documents-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(productsId, async (lang: string) => await import(`@hcengineering/products-assets/lang/${lang}.json`))
|
||||
addStringsLoader(productsId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/products-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
questionsId,
|
||||
async (lang: string) => await import(`@hcengineering/questions-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/questions-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(trainingId, async (lang: string) => await import(`@hcengineering/training-assets/lang/${lang}.json`))
|
||||
addStringsLoader(guestId, async (lang: string) => await import(`@hcengineering/guest-assets/lang/${lang}.json`))
|
||||
addStringsLoader(trainingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/training-assets/lang/${lang}.json`))
|
||||
addStringsLoader(guestId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/guest-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
globalProfileId,
|
||||
async (lang: string) => await import(`@hcengineering/global-profile-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/global-profile-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(loveId, async (lang: string) => await import(`@hcengineering/love-assets/lang/${lang}.json`))
|
||||
addStringsLoader(printId, async (lang: string) => await import(`@hcengineering/print-assets/lang/${lang}.json`))
|
||||
addStringsLoader(exportId, async (lang: string) => await import(`@hcengineering/export-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loveId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/love-assets/lang/${lang}.json`))
|
||||
addStringsLoader(printId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/print-assets/lang/${lang}.json`))
|
||||
addStringsLoader(exportId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/export-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
analyticsCollectorId,
|
||||
async (lang: string) => await import(`@hcengineering/analytics-collector-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/analytics-collector-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
testManagementId,
|
||||
async (lang: string) => await import(`@hcengineering/test-management-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/test-management-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(surveyId, async (lang: string) => await import(`@hcengineering/survey-assets/lang/${lang}.json`))
|
||||
addStringsLoader(cardId, async (lang: string) => await import(`@hcengineering/card-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mailId, async (lang: string) => await import(`@hcengineering/mail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chatId, async (lang: string) => await import(`@hcengineering/chat-assets/lang/${lang}.json`))
|
||||
addStringsLoader(inboxId, async (lang: string) => await import(`@hcengineering/inbox-assets/lang/${lang}.json`))
|
||||
addStringsLoader(processId, async (lang: string) => await import(`@hcengineering/process-assets/lang/${lang}.json`))
|
||||
addStringsLoader(surveyId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/survey-assets/lang/${lang}.json`))
|
||||
addStringsLoader(cardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/card-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mailId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/mail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chatId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/chat-assets/lang/${lang}.json`))
|
||||
addStringsLoader(inboxId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/inbox-assets/lang/${lang}.json`))
|
||||
addStringsLoader(processId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/process-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
achievementId,
|
||||
async (lang: string) => await import(`@hcengineering/achievement-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/achievement-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
communicationId,
|
||||
async (lang: string) => await import(`@hcengineering/communication-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/communication-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(emojiId, async (lang: string) => await import(`@hcengineering/emoji-assets/lang/${lang}.json`))
|
||||
addStringsLoader(billingId, async (lang: string) => await import(`@hcengineering/billing-assets/lang/${lang}.json`))
|
||||
addStringsLoader(emojiId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/emoji-assets/lang/${lang}.json`))
|
||||
addStringsLoader(billingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/billing-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
hulyMailId,
|
||||
async (lang: string) => await import(`@hcengineering/huly-mail-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/huly-mail-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
aiAssistantId,
|
||||
async (lang: string) => await import(`@hcengineering/ai-assistant-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/ai-assistant-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(ratingId, async (lang: string) => await import(`@hcengineering/rating-assets/lang/${lang}.json`))
|
||||
addStringsLoader(ratingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/rating-assets/lang/${lang}.json`))
|
||||
}
|
||||
|
||||
export class PlatformBranding {
|
||||
@@ -431,92 +431,92 @@ export async function configurePlatform (onWorkbenchConnect?: () => Promise<void
|
||||
addLocation(coreId, async () => ({ default: async () => ({}) }))
|
||||
addLocation(presentationId, async () => ({ default: async () => ({}) }))
|
||||
|
||||
addLocation(clientId, async () => await import('@hcengineering/client-resources'))
|
||||
addLocation(loginId, async () => await import('@hcengineering/login-resources'))
|
||||
addLocation(onboardId, async () => await import('@hcengineering/onboard-resources'))
|
||||
addLocation(workbenchId, async () => await import('@hcengineering/workbench-resources'))
|
||||
addLocation(viewId, async () => await import('@hcengineering/view-resources'))
|
||||
addLocation(converterId, async () => await import('@hcengineering/converter-resources'))
|
||||
addLocation(taskId, async () => await import('@hcengineering/task-resources'))
|
||||
addLocation(contactId, async () => await import('@hcengineering/contact-resources'))
|
||||
addLocation(chunterId, async () => await import('@hcengineering/chunter-resources'))
|
||||
addLocation(recruitId, async () => await import('@hcengineering/recruit-resources'))
|
||||
addLocation(activityId, async () => await import('@hcengineering/activity-resources'))
|
||||
addLocation(settingId, async () => await import('@hcengineering/setting-resources'))
|
||||
addLocation(leadId, async () => await import('@hcengineering/lead-resources'))
|
||||
addLocation(telegramId, async () => await import('@hcengineering/telegram-resources'))
|
||||
addLocation(attachmentId, async () => await import('@hcengineering/attachment-resources'))
|
||||
addLocation(gmailId, async () => await import('@hcengineering/gmail-resources'))
|
||||
addLocation(imageCropperId, async () => await import('@hcengineering/image-cropper-resources'))
|
||||
addLocation(inventoryId, async () => await import('@hcengineering/inventory-resources'))
|
||||
addLocation(templatesId, async () => await import('@hcengineering/templates-resources'))
|
||||
addLocation(notificationId, async () => await import('@hcengineering/notification-resources'))
|
||||
addLocation(tagsId, async () => await import('@hcengineering/tags-resources'))
|
||||
addLocation(calendarId, async () => await import('@hcengineering/calendar-resources'))
|
||||
addLocation(analyticsCollectorId, async () => await import('@hcengineering/analytics-collector-resources'))
|
||||
addLocation(aiBotId, async () => await import('@hcengineering/ai-bot-resources'))
|
||||
addLocation(clientId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/client-resources'))
|
||||
addLocation(loginId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/login-resources'))
|
||||
addLocation(onboardId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/onboard-resources'))
|
||||
addLocation(workbenchId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/workbench-resources'))
|
||||
addLocation(viewId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/view-resources'))
|
||||
addLocation(converterId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/converter-resources'))
|
||||
addLocation(taskId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/task-resources'))
|
||||
addLocation(contactId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/contact-resources'))
|
||||
addLocation(chunterId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/chunter-resources'))
|
||||
addLocation(recruitId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/recruit-resources'))
|
||||
addLocation(activityId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/activity-resources'))
|
||||
addLocation(settingId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/setting-resources'))
|
||||
addLocation(leadId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/lead-resources'))
|
||||
addLocation(telegramId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/telegram-resources'))
|
||||
addLocation(attachmentId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/attachment-resources'))
|
||||
addLocation(gmailId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/gmail-resources'))
|
||||
addLocation(imageCropperId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/image-cropper-resources'))
|
||||
addLocation(inventoryId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/inventory-resources'))
|
||||
addLocation(templatesId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/templates-resources'))
|
||||
addLocation(notificationId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/notification-resources'))
|
||||
addLocation(tagsId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/tags-resources'))
|
||||
addLocation(calendarId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/calendar-resources'))
|
||||
addLocation(analyticsCollectorId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/analytics-collector-resources'))
|
||||
addLocation(aiBotId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/ai-bot-resources'))
|
||||
|
||||
addLocation(trackerId, async () => await import('@hcengineering/tracker-resources'))
|
||||
addLocation(boardId, async () => await import('@hcengineering/board-resources'))
|
||||
addLocation(hrId, async () => await import('@hcengineering/hr-resources'))
|
||||
addLocation(bitrixId, async () => await import('@hcengineering/bitrix-resources'))
|
||||
addLocation(requestId, async () => await import('@hcengineering/request-resources'))
|
||||
addLocation(driveId, async () => await import('@hcengineering/drive-resources'))
|
||||
addLocation(supportId, async () => await import('@hcengineering/support-resources'))
|
||||
addLocation(diffviewId, async () => await import('@hcengineering/diffview-resources'))
|
||||
addLocation(documentId, async () => await import('@hcengineering/document-resources'))
|
||||
addLocation(timeId, async () => await import('@hcengineering/time-resources'))
|
||||
addLocation(questionsId, async () => await import('@hcengineering/questions-resources'))
|
||||
addLocation(trainingId, async () => await import('@hcengineering/training-resources'))
|
||||
addLocation(productsId, async () => await import('@hcengineering/products-resources'))
|
||||
addLocation(documentsId, async () => await import('@hcengineering/controlled-documents-resources'))
|
||||
addLocation(mediaId, async () => await import('@hcengineering/media-resources'))
|
||||
addLocation(uploaderId, async () => await import('@hcengineering/uploader-resources'))
|
||||
addLocation(recorderId, async () => await import('@hcengineering/recorder-resources'))
|
||||
addLocation(presenceId, async () => await import('@hcengineering/presence-resources'))
|
||||
addLocation(githubId, async () => await import(/* webpackChunkName: "github" */ '@hcengineering/github-resources'))
|
||||
addLocation(trackerId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/tracker-resources'))
|
||||
addLocation(boardId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/board-resources'))
|
||||
addLocation(hrId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/hr-resources'))
|
||||
addLocation(bitrixId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/bitrix-resources'))
|
||||
addLocation(requestId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/request-resources'))
|
||||
addLocation(driveId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/drive-resources'))
|
||||
addLocation(supportId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/support-resources'))
|
||||
addLocation(diffviewId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/diffview-resources'))
|
||||
addLocation(documentId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/document-resources'))
|
||||
addLocation(timeId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/time-resources'))
|
||||
addLocation(questionsId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/questions-resources'))
|
||||
addLocation(trainingId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/training-resources'))
|
||||
addLocation(productsId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/products-resources'))
|
||||
addLocation(documentsId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/controlled-documents-resources'))
|
||||
addLocation(mediaId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/media-resources'))
|
||||
addLocation(uploaderId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/uploader-resources'))
|
||||
addLocation(recorderId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/recorder-resources'))
|
||||
addLocation(presenceId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/presence-resources'))
|
||||
addLocation(githubId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "github" */ '@hcengineering/github-resources'))
|
||||
addLocation(
|
||||
desktopPreferencesId,
|
||||
async () =>
|
||||
await import(/* webpackChunkName: "desktop-preferences" */ '@hcengineering/desktop-preferences-resources')
|
||||
await import(/* webpackMode: "eager" */ /* webpackChunkName: "desktop-preferences" */ '@hcengineering/desktop-preferences-resources')
|
||||
)
|
||||
addLocation(
|
||||
desktopDownloadsId,
|
||||
async () => await import(/* webpackChunkName: "desktop-downloads" */ '@hcengineering/desktop-downloads-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "desktop-downloads" */ '@hcengineering/desktop-downloads-resources')
|
||||
)
|
||||
addLocation(guestId, () => import(/* webpackChunkName: "guest" */ '@hcengineering/guest-resources'))
|
||||
addLocation(guestId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "guest" */ '@hcengineering/guest-resources'))
|
||||
addLocation(
|
||||
globalProfileId,
|
||||
() => import(/* webpackChunkName: "global-profile" */ '@hcengineering/global-profile-resources')
|
||||
() => import(/* webpackMode: "eager" */ /* webpackChunkName: "global-profile" */ '@hcengineering/global-profile-resources')
|
||||
)
|
||||
addLocation(loveId, () => import(/* webpackChunkName: "love" */ '@hcengineering/love-resources'))
|
||||
addLocation(printId, () => import(/* webpackChunkName: "print" */ '@hcengineering/print-resources'))
|
||||
addLocation(exportId, () => import(/* webpackChunkName: "export" */ '@hcengineering/export-resources'))
|
||||
addLocation(textEditorId, () => import(/* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources'))
|
||||
addLocation(loveId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "love" */ '@hcengineering/love-resources'))
|
||||
addLocation(printId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "print" */ '@hcengineering/print-resources'))
|
||||
addLocation(exportId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "export" */ '@hcengineering/export-resources'))
|
||||
addLocation(textEditorId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources'))
|
||||
addLocation(
|
||||
testManagementId,
|
||||
() => import(/* webpackChunkName: "test-management" */ '@hcengineering/test-management-resources')
|
||||
() => import(/* webpackMode: "eager" */ /* webpackChunkName: "test-management" */ '@hcengineering/test-management-resources')
|
||||
)
|
||||
addLocation(surveyId, () => import(/* webpackChunkName: "survey" */ '@hcengineering/survey-resources'))
|
||||
addLocation(cardId, () => import(/* webpackChunkName: "card" */ '@hcengineering/card-resources'))
|
||||
addLocation(chatId, () => import(/* webpackChunkName: "chat" */ '@hcengineering/chat-resources'))
|
||||
addLocation(inboxId, () => import(/* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources'))
|
||||
addLocation(processId, () => import(/* webpackChunkName: "process" */ '@hcengineering/process-resources'))
|
||||
addLocation(achievementId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources'))
|
||||
addLocation(surveyId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "survey" */ '@hcengineering/survey-resources'))
|
||||
addLocation(cardId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "card" */ '@hcengineering/card-resources'))
|
||||
addLocation(chatId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "chat" */ '@hcengineering/chat-resources'))
|
||||
addLocation(inboxId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources'))
|
||||
addLocation(processId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "process" */ '@hcengineering/process-resources'))
|
||||
addLocation(achievementId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources'))
|
||||
addLocation(
|
||||
communicationId,
|
||||
() => import(/* webpackChunkName: "communication" */ '@hcengineering/communication-resources')
|
||||
() => import(/* webpackMode: "eager" */ /* webpackChunkName: "communication" */ '@hcengineering/communication-resources')
|
||||
)
|
||||
addLocation(emojiId, () => import(/* webpackChunkName: "achievement" */ '@hcengineering/emoji-resources'))
|
||||
addLocation(emojiId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "achievement" */ '@hcengineering/emoji-resources'))
|
||||
if ((config.BILLING_URL ?? '') !== '') {
|
||||
addLocation(billingId, () => import(/* webpackChunkName: "billing" */ '@hcengineering/billing-resources'))
|
||||
addLocation(billingId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "billing" */ '@hcengineering/billing-resources'))
|
||||
}
|
||||
addLocation(hulyMailId, () => import(/* webpackChunkName: "huly-mail" */ '@hcengineering/huly-mail-resources'))
|
||||
addLocation(hulyMailId, () => import(/* webpackMode: "eager" */ /* webpackChunkName: "huly-mail" */ '@hcengineering/huly-mail-resources'))
|
||||
addLocation(
|
||||
aiAssistantId,
|
||||
() => import(/* webpackChunkName: "ai-assistant" */ '@hcengineering/ai-assistant-resources')
|
||||
() => import(/* webpackMode: "eager" */ /* webpackChunkName: "ai-assistant" */ '@hcengineering/ai-assistant-resources')
|
||||
)
|
||||
addLocation(ratingId, async () => await import(/* webpackChunkName: "rating" */ '@hcengineering/rating-resources'))
|
||||
addLocation(ratingId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "rating" */ '@hcengineering/rating-resources'))
|
||||
|
||||
setMetadata(client.metadata.FilterModel, 'ui')
|
||||
setMetadata(client.metadata.ExtraFilter, disabledFeatures)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Webpack vs Rspack Benchmarks (Huly Monorepo)
|
||||
|
||||
This file tracks the performance metrics for the transition from Webpack to Rspack.
|
||||
|
||||
## 1. Full Builds & Initial Startup
|
||||
|
||||
| Metric | Webpack (Original) | Rspack (New) | Improvement |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **Production Build** (`package` vs `rs:build`) | 2m 50s (170s) | **47s** | **~3.6x** |
|
||||
| **Dev Server Cold Start** | 1m 00s (60s) | **43s** | **~1.4x** |
|
||||
|
||||
> [!NOTE]
|
||||
> Cold start improvement is lower because Rspack is now correctly bundling **all** dynamic resources upfront to prevent the "refresh waterfall."
|
||||
|
||||
## 2. Hot Module Replacement (HMR)
|
||||
|
||||
| Metric | Webpack | Rspack | Improvement |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **Single Component Recompile** | 16.2s | **0.8s** | **~20x** |
|
||||
|
||||
---
|
||||
*Last updated: 2026-03-01*
|
||||
+15
-12
@@ -6,19 +6,19 @@
|
||||
"scripts": {
|
||||
"_phase:package": "rushx package",
|
||||
"_phase:validate": "rm -rf ./types && compile validate",
|
||||
"package": "rm -rf ./dist && cross-env NODE_ENV=production webpack --stats-error-details && echo 'done'",
|
||||
"analyze": "rm -rf ./dist && cross-env NODE_ENV=production webpack --profile --json > stats.json",
|
||||
"package": "rm -rf ./dist && cross-env NODE_ENV=production rspack build --config rspack.config.ts && echo 'done'",
|
||||
"analyze": "rm -rf ./dist && cross-env NODE_ENV=production rspack build --config rspack.config.ts --profile --json > stats.json",
|
||||
"show": "webpack-bundle-analyzer stats.json dist",
|
||||
"dev-server": "cross-env USE_CACHE=false CLIENT_TYPE=dev-server webpack serve",
|
||||
"dev-server-test": "cross-env USE_CACHE=false CLIENT_TYPE=dev-server-test webpack serve",
|
||||
"dev-worker": "cross-env USE_CACHE=false CLIENT_TYPE=dev-worker webpack serve",
|
||||
"dev-worker-local": "cross-env USE_CACHE=false CLIENT_TYPE=dev-worker-local webpack serve",
|
||||
"dev-server-cache": "cross-env USE_CACHE=true CLIENT_TYPE=dev-server webpack serve",
|
||||
"dev-server": "cross-env USE_CACHE=false CLIENT_TYPE=dev-server rspack serve --config rspack.config.ts",
|
||||
"dev-server-test": "cross-env USE_CACHE=false CLIENT_TYPE=dev-server-test rspack serve --config rspack.config.ts",
|
||||
"dev-worker": "cross-env USE_CACHE=false CLIENT_TYPE=dev-worker rspack serve --config rspack.config.ts",
|
||||
"dev-worker-local": "cross-env USE_CACHE=false CLIENT_TYPE=dev-worker-local rspack serve --config rspack.config.ts",
|
||||
"dev-server-cache": "cross-env USE_CACHE=true CLIENT_TYPE=dev-server rspack serve --config rspack.config.ts",
|
||||
"tunnel-qms": "socat tcp-listen:8081,reuseaddr,fork,bind=localhost tcp:localhost:8080",
|
||||
"dev-production": "cross-env CLIENT_TYPE=dev-production webpack serve",
|
||||
"dev-huly": "cross-env CLIENT_TYPE=dev-huly webpack serve",
|
||||
"dev-bold": "cross-env CLIENT_TYPE=dev-bold webpack serve",
|
||||
"start": "cross-env NODE_ENV=production webpack serve",
|
||||
"dev-production": "cross-env CLIENT_TYPE=dev-production rspack serve --config rspack.config.ts",
|
||||
"dev-huly": "cross-env CLIENT_TYPE=dev-huly rspack serve --config rspack.config.ts",
|
||||
"dev-bold": "cross-env CLIENT_TYPE=dev-bold rspack serve --config rspack.config.ts",
|
||||
"start": "cross-env NODE_ENV=production rspack serve --config rspack.config.ts",
|
||||
"deploy": "cp -p public/* dist && aws s3 sync dist s3://anticrm-platform --delete --acl public-read",
|
||||
"format": "echo 'no format yet'"
|
||||
},
|
||||
@@ -52,7 +52,10 @@
|
||||
"webpack": "^5.97.1",
|
||||
"webpack-bundle-analyzer": "^4.10.2",
|
||||
"webpack-cli": "^5.1.4",
|
||||
"webpack-dev-server": "^4.11.1"
|
||||
"webpack-dev-server": "^4.11.1",
|
||||
"@rspack/core": "^1.2.0",
|
||||
"@rspack/cli": "^1.2.0",
|
||||
"tsconfig-paths-webpack-plugin": "^4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hcengineering/achievement": "workspace:^0.7.0",
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
import { defineConfig } from '@rspack/cli';
|
||||
import { rspack } from '@rspack/core';
|
||||
import path from 'path';
|
||||
|
||||
const mode = process.env.NODE_ENV || 'development';
|
||||
const prod = mode === 'production';
|
||||
|
||||
const clientType = process.env.CLIENT_TYPE || '';
|
||||
const dev = mode === 'development' || clientType === 'dev';
|
||||
|
||||
const devProxy = [
|
||||
{
|
||||
context: ['/account'],
|
||||
target: 'http://huly.local:3000',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/account': '' },
|
||||
},
|
||||
{
|
||||
context: ['/api/v1', '/files', '/import'],
|
||||
target: 'http://huly.local:8087',
|
||||
changeOrigin: true,
|
||||
},
|
||||
{
|
||||
context: ['/rekoni/recognize'],
|
||||
target: 'http://huly.local:4004',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/rekoni/recognize': '/recognize' },
|
||||
}
|
||||
];
|
||||
|
||||
const devProxyTest = [
|
||||
{
|
||||
context: ['/account'],
|
||||
target: 'http://huly.local:3003',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/account': '' },
|
||||
},
|
||||
{
|
||||
context: ['/api/v1', '/files', '/import'],
|
||||
target: 'http://huly.local:8083',
|
||||
changeOrigin: true,
|
||||
},
|
||||
{
|
||||
context: ['/rekoni/recognize'],
|
||||
target: 'http://huly.local:4004',
|
||||
changeOrigin: true,
|
||||
pathRewrite: { '^/rekoni/recognize': '/recognize' },
|
||||
}
|
||||
];
|
||||
|
||||
const proxies: Record<string, any> = {
|
||||
'dev-worker': devProxy,
|
||||
'dev-worker-local': devProxy,
|
||||
'dev-server': devProxy,
|
||||
'dev-server-test': devProxyTest,
|
||||
};
|
||||
|
||||
export default defineConfig({
|
||||
mode: prod ? 'production' : 'development',
|
||||
context: __dirname,
|
||||
entry: {
|
||||
main: [
|
||||
'@hcengineering/theme/styles/global.scss',
|
||||
'./src/eager-bundle.ts',
|
||||
dev && (clientType === 'dev-server' || clientType === 'dev') ? './src/main-dev.ts' : './src/main.ts'
|
||||
],
|
||||
},
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'dist'),
|
||||
filename: '[name].[contenthash].js',
|
||||
publicPath: '/',
|
||||
clean: true,
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.mjs', '.js', '.svelte', '.ts'],
|
||||
mainFields: ['svelte', 'browser', 'module', 'main'],
|
||||
conditionNames: ['svelte', 'browser', 'import'],
|
||||
alias: {
|
||||
'@hcengineering/platform-rig/profiles/ui/svelte$': path.resolve(__dirname, 'node_modules/svelte/src/runtime/index.js'),
|
||||
},
|
||||
fallback: {
|
||||
crypto: false,
|
||||
fs: false,
|
||||
path: false,
|
||||
os: false,
|
||||
net: false,
|
||||
tls: false,
|
||||
child_process: false,
|
||||
http: false,
|
||||
https: false,
|
||||
stream: false,
|
||||
constants: false,
|
||||
dns: false,
|
||||
},
|
||||
symlinks: true,
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.svelte$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'svelte-loader',
|
||||
options: {
|
||||
preprocess: require('svelte-preprocess')({
|
||||
postcss: true,
|
||||
scss: {
|
||||
silenceDeprecations: ['legacy-js-api']
|
||||
}
|
||||
}),
|
||||
onwarn: (warning: any, handler: any) => {
|
||||
if (warning.code === 'css-unused-selector' || warning.code === 'a11y-missing-attribute') return;
|
||||
handler(warning);
|
||||
}
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
test: /\.ts$/,
|
||||
exclude: [/node_modules/],
|
||||
loader: 'builtin:swc-loader',
|
||||
options: {
|
||||
jsc: {
|
||||
parser: {
|
||||
syntax: 'typescript',
|
||||
},
|
||||
preserveAllComments: true,
|
||||
},
|
||||
},
|
||||
type: 'javascript/auto',
|
||||
},
|
||||
{
|
||||
test: /\.scss$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
'css-loader',
|
||||
{
|
||||
loader: 'sass-loader',
|
||||
options: {
|
||||
api: 'modern',
|
||||
sassOptions: {
|
||||
quietDeps: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
type: 'javascript/auto',
|
||||
},
|
||||
{
|
||||
test: /\.css$/,
|
||||
use: [
|
||||
'style-loader',
|
||||
'css-loader',
|
||||
],
|
||||
type: 'javascript/auto',
|
||||
},
|
||||
{
|
||||
test: /\.(png|svg|jpg|webp|avif|ico|wav|mp3|ogg|aac|woff|woff2|ttf|otf)$/,
|
||||
type: 'asset/resource',
|
||||
},
|
||||
],
|
||||
},
|
||||
optimization: {
|
||||
splitChunks: false,
|
||||
},
|
||||
lazyCompilation: false,
|
||||
stats: 'errors-only',
|
||||
infrastructureLogging: {
|
||||
level: 'none',
|
||||
},
|
||||
plugins: [
|
||||
new rspack.HtmlRspackPlugin({
|
||||
meta: {
|
||||
viewport: 'width=device-width, initial-scale=1.0',
|
||||
},
|
||||
}),
|
||||
new rspack.DefinePlugin({
|
||||
'process.env.NODE_ENV': JSON.stringify(mode),
|
||||
'process.env.CLIENT_TYPE': JSON.stringify(clientType),
|
||||
}),
|
||||
],
|
||||
devServer: {
|
||||
port: 8080,
|
||||
host: '0.0.0.0',
|
||||
allowedHosts: 'all',
|
||||
historyApiFallback: {
|
||||
disableDotRule: true,
|
||||
},
|
||||
devMiddleware: {
|
||||
publicPath: '/',
|
||||
},
|
||||
client: {
|
||||
overlay: false,
|
||||
logging: 'none',
|
||||
},
|
||||
proxy: proxies[clientType] || devProxy,
|
||||
static: {
|
||||
directory: path.resolve(__dirname, 'public'),
|
||||
publicPath: '/',
|
||||
},
|
||||
hot: true,
|
||||
},
|
||||
watchOptions: {
|
||||
ignored: /node_modules/,
|
||||
poll: 1000,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,125 @@
|
||||
import '@hcengineering/achievement-assets';
|
||||
import '@hcengineering/achievement-resources';
|
||||
import '@hcengineering/activity-assets';
|
||||
import '@hcengineering/activity-resources';
|
||||
import '@hcengineering/ai-bot-resources';
|
||||
import '@hcengineering/analytics-collector-assets';
|
||||
import '@hcengineering/analytics-collector-resources';
|
||||
import '@hcengineering/attachment-assets';
|
||||
import '@hcengineering/attachment-resources';
|
||||
import '@hcengineering/bitrix-assets';
|
||||
import '@hcengineering/bitrix-resources';
|
||||
import '@hcengineering/board-assets';
|
||||
import '@hcengineering/board-resources';
|
||||
import '@hcengineering/calendar-assets';
|
||||
import '@hcengineering/calendar-resources';
|
||||
import '@hcengineering/card-assets';
|
||||
import '@hcengineering/card-resources';
|
||||
import '@hcengineering/chat-assets';
|
||||
import '@hcengineering/chat-resources';
|
||||
import '@hcengineering/chunter-assets';
|
||||
import '@hcengineering/chunter-resources';
|
||||
import '@hcengineering/client-resources';
|
||||
import '@hcengineering/contact-assets';
|
||||
import '@hcengineering/contact-resources';
|
||||
import '@hcengineering/controlled-documents-assets';
|
||||
import '@hcengineering/controlled-documents-resources';
|
||||
import '@hcengineering/desktop-preferences-assets';
|
||||
import '@hcengineering/desktop-preferences-resources';
|
||||
import '@hcengineering/devmodel-resources';
|
||||
import '@hcengineering/diffview-assets';
|
||||
import '@hcengineering/diffview-resources';
|
||||
import '@hcengineering/document-assets';
|
||||
import '@hcengineering/document-resources';
|
||||
import '@hcengineering/drive-assets';
|
||||
import '@hcengineering/drive-resources';
|
||||
import '@hcengineering/export-assets';
|
||||
import '@hcengineering/export-resources';
|
||||
import '@hcengineering/github-assets';
|
||||
import '@hcengineering/github-resources';
|
||||
import '@hcengineering/gmail-assets';
|
||||
import '@hcengineering/gmail-resources';
|
||||
import '@hcengineering/guest-assets';
|
||||
import '@hcengineering/guest-resources';
|
||||
import '@hcengineering/global-profile-assets';
|
||||
import '@hcengineering/global-profile-resources';
|
||||
import '@hcengineering/hr-assets';
|
||||
import '@hcengineering/hr-resources';
|
||||
import '@hcengineering/image-cropper-resources';
|
||||
import '@hcengineering/inventory-assets';
|
||||
import '@hcengineering/inventory-resources';
|
||||
import '@hcengineering/lead-assets';
|
||||
import '@hcengineering/lead-resources';
|
||||
import '@hcengineering/login-assets';
|
||||
import '@hcengineering/login-resources';
|
||||
import '@hcengineering/love-assets';
|
||||
import '@hcengineering/love-resources';
|
||||
import '@hcengineering/mail-assets';
|
||||
import '@hcengineering/notification-assets';
|
||||
import '@hcengineering/notification-resources';
|
||||
import '@hcengineering/onboard-assets';
|
||||
import '@hcengineering/onboard-resources';
|
||||
import '@hcengineering/preference-assets';
|
||||
import '@hcengineering/presence-resources';
|
||||
import '@hcengineering/print-assets';
|
||||
import '@hcengineering/print-resources';
|
||||
import '@hcengineering/products-assets';
|
||||
import '@hcengineering/products-resources';
|
||||
import '@hcengineering/questions-assets';
|
||||
import '@hcengineering/questions-resources';
|
||||
import '@hcengineering/recorder-assets';
|
||||
import '@hcengineering/recorder-resources';
|
||||
import '@hcengineering/recruit-assets';
|
||||
import '@hcengineering/recruit-resources';
|
||||
import '@hcengineering/request-assets';
|
||||
import '@hcengineering/request-resources';
|
||||
import '@hcengineering/setting-assets';
|
||||
import '@hcengineering/setting-resources';
|
||||
import '@hcengineering/support-assets';
|
||||
import '@hcengineering/support-resources';
|
||||
import '@hcengineering/survey-assets';
|
||||
import '@hcengineering/survey-resources';
|
||||
import '@hcengineering/tags-assets';
|
||||
import '@hcengineering/tags-resources';
|
||||
import '@hcengineering/task-assets';
|
||||
import '@hcengineering/task-resources';
|
||||
import '@hcengineering/telegram-assets';
|
||||
import '@hcengineering/telegram-resources';
|
||||
import '@hcengineering/templates-assets';
|
||||
import '@hcengineering/templates-resources';
|
||||
import '@hcengineering/test-management-assets';
|
||||
import '@hcengineering/test-management-resources';
|
||||
import '@hcengineering/text-editor-assets';
|
||||
import '@hcengineering/text-editor-resources';
|
||||
import '@hcengineering/time-assets';
|
||||
import '@hcengineering/time-resources';
|
||||
import '@hcengineering/tracker-assets';
|
||||
import '@hcengineering/tracker-resources';
|
||||
import '@hcengineering/training-assets';
|
||||
import '@hcengineering/training-resources';
|
||||
import '@hcengineering/media-assets';
|
||||
import '@hcengineering/media-resources';
|
||||
import '@hcengineering/uploader-assets';
|
||||
import '@hcengineering/uploader-resources';
|
||||
import '@hcengineering/view-assets';
|
||||
import '@hcengineering/view-resources';
|
||||
import '@hcengineering/converter-resources';
|
||||
import '@hcengineering/workbench-assets';
|
||||
import '@hcengineering/workbench-resources';
|
||||
import '@hcengineering/process-assets';
|
||||
import '@hcengineering/process-resources';
|
||||
import '@hcengineering/communication-assets';
|
||||
import '@hcengineering/communication-resources';
|
||||
import '@hcengineering/emoji-assets';
|
||||
import '@hcengineering/emoji-resources';
|
||||
import '@hcengineering/billing-assets';
|
||||
import '@hcengineering/billing-resources';
|
||||
import '@hcengineering/huly-mail-assets';
|
||||
import '@hcengineering/huly-mail-resources';
|
||||
import '@hcengineering/ai-assistant-assets';
|
||||
import '@hcengineering/ai-assistant-resources';
|
||||
import '@hcengineering/inbox-assets';
|
||||
import '@hcengineering/inbox-resources';
|
||||
import '@hcengineering/rating-assets';
|
||||
import '@hcengineering/rating-resources';
|
||||
import '@hcengineering/platform/lang/en.json';
|
||||
@@ -28,6 +28,6 @@ function enableDevModel () {
|
||||
setMetadata(presentation.metadata.ClientHook, new PresentationClientHook())
|
||||
addLocation(
|
||||
devModelId,
|
||||
async () => await import(/* webpackChunkName: "devmodel" */ '@hcengineering/devmodel-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "devmodel" */ '@hcengineering/devmodel-resources')
|
||||
)
|
||||
}
|
||||
|
||||
+143
-134
@@ -278,9 +278,9 @@ function configureI18n(): void {
|
||||
addStringsLoader(
|
||||
platformId,
|
||||
async (lang: string) =>
|
||||
await import(
|
||||
await import(/* webpackMode: "eager" */
|
||||
/* webpackInclude: /\.json$/ */
|
||||
/* webpackMode: "lazy" */
|
||||
/* webpackMode: "eager" */
|
||||
/* webpackChunkName: "lang-[request]" */
|
||||
`@hcengineering/platform/lang/${lang}.json`
|
||||
)
|
||||
@@ -288,143 +288,152 @@ function configureI18n(): void {
|
||||
addStringsLoader(
|
||||
coreId,
|
||||
async (lang: string) =>
|
||||
await import(
|
||||
await import(/* webpackMode: "eager" */
|
||||
/* webpackInclude: /\.json$/ */
|
||||
/* webpackMode: "lazy" */
|
||||
/* webpackMode: "eager" */
|
||||
/* webpackChunkName: "lang-[request]" */
|
||||
`@hcengineering/core/lang/${lang}.json`
|
||||
)
|
||||
)
|
||||
addStringsLoader(
|
||||
presentationId,
|
||||
async (lang: string) => await import(`@hcengineering/presentation/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/presentation/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
textEditorId,
|
||||
async (lang: string) => await import(`@hcengineering/text-editor-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/text-editor-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(uiId, async (lang: string) => await import(`@hcengineering/ui/lang/${lang}.json`))
|
||||
addStringsLoader(uploaderId, async (lang: string) => await import(`@hcengineering/uploader-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recorderId, async (lang: string) => await import(`@hcengineering/recorder-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mediaId, async (lang: string) => await import(`@hcengineering/media-assets/lang/${lang}.json`))
|
||||
addStringsLoader(activityId, async (lang: string) => await import(`@hcengineering/activity-assets/lang/${lang}.json`))
|
||||
addStringsLoader(uiId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/ui/lang/${lang}.json`))
|
||||
addStringsLoader(uploaderId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/uploader-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recorderId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/recorder-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mediaId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/media-assets/lang/${lang}.json`))
|
||||
addStringsLoader(activityId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/activity-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
attachmentId,
|
||||
async (lang: string) => await import(`@hcengineering/attachment-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/attachment-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(bitrixId, async (lang: string) => await import(`@hcengineering/bitrix-assets/lang/${lang}.json`))
|
||||
addStringsLoader(boardId, async (lang: string) => await import(`@hcengineering/board-assets/lang/${lang}.json`))
|
||||
addStringsLoader(calendarId, async (lang: string) => await import(`@hcengineering/calendar-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chunterId, async (lang: string) => await import(`@hcengineering/chunter-assets/lang/${lang}.json`))
|
||||
addStringsLoader(contactId, async (lang: string) => await import(`@hcengineering/contact-assets/lang/${lang}.json`))
|
||||
addStringsLoader(driveId, async (lang: string) => await import(`@hcengineering/drive-assets/lang/${lang}.json`))
|
||||
addStringsLoader(gmailId, async (lang: string) => await import(`@hcengineering/gmail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(hrId, async (lang: string) => await import(`@hcengineering/hr-assets/lang/${lang}.json`))
|
||||
addStringsLoader(bitrixId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/bitrix-assets/lang/${lang}.json`))
|
||||
addStringsLoader(boardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/board-assets/lang/${lang}.json`))
|
||||
addStringsLoader(calendarId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/calendar-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chunterId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/chunter-assets/lang/${lang}.json`))
|
||||
addStringsLoader(contactId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/contact-assets/lang/${lang}.json`))
|
||||
addStringsLoader(driveId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/drive-assets/lang/${lang}.json`))
|
||||
addStringsLoader(gmailId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/gmail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(hrId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/hr-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
inventoryId,
|
||||
async (lang: string) => await import(`@hcengineering/inventory-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/inventory-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(leadId, async (lang: string) => await import(`@hcengineering/lead-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loginId, async (lang: string) => await import(`@hcengineering/login-assets/lang/${lang}.json`))
|
||||
addStringsLoader(leadId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/lead-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loginId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/login-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
notificationId,
|
||||
async (lang: string) => await import(`@hcengineering/notification-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/notification-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(onboardId, async (lang: string) => await import(`@hcengineering/onboard-assets/lang/${lang}.json`))
|
||||
addStringsLoader(onboardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/onboard-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
preferenceId,
|
||||
async (lang: string) => await import(`@hcengineering/preference-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/preference-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(recruitId, async (lang: string) => await import(`@hcengineering/recruit-assets/lang/${lang}.json`))
|
||||
addStringsLoader(requestId, async (lang: string) => await import(`@hcengineering/request-assets/lang/${lang}.json`))
|
||||
addStringsLoader(settingId, async (lang: string) => await import(`@hcengineering/setting-assets/lang/${lang}.json`))
|
||||
addStringsLoader(supportId, async (lang: string) => await import(`@hcengineering/support-assets/lang/${lang}.json`))
|
||||
addStringsLoader(tagsId, async (lang: string) => await import(`@hcengineering/tags-assets/lang/${lang}.json`))
|
||||
addStringsLoader(taskId, async (lang: string) => await import(`@hcengineering/task-assets/lang/${lang}.json`))
|
||||
addStringsLoader(telegramId, async (lang: string) => await import(`@hcengineering/telegram-assets/lang/${lang}.json`))
|
||||
addStringsLoader(recruitId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/recruit-assets/lang/${lang}.json`))
|
||||
addStringsLoader(requestId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/request-assets/lang/${lang}.json`))
|
||||
addStringsLoader(settingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/setting-assets/lang/${lang}.json`))
|
||||
addStringsLoader(supportId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/support-assets/lang/${lang}.json`))
|
||||
addStringsLoader(tagsId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/tags-assets/lang/${lang}.json`))
|
||||
addStringsLoader(taskId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/task-assets/lang/${lang}.json`))
|
||||
addStringsLoader(telegramId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/telegram-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
templatesId,
|
||||
async (lang: string) => await import(`@hcengineering/templates-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/templates-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(trackerId, async (lang: string) => await import(`@hcengineering/tracker-assets/lang/${lang}.json`))
|
||||
addStringsLoader(viewId, async (lang: string) => await import(`@hcengineering/view-assets/lang/${lang}.json`))
|
||||
addStringsLoader(trackerId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/tracker-assets/lang/${lang}.json`))
|
||||
addStringsLoader(viewId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/view-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
workbenchId,
|
||||
async (lang: string) => await import(`@hcengineering/workbench-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/workbench-assets/lang/${lang}.json`)
|
||||
)
|
||||
|
||||
addStringsLoader(
|
||||
desktopPreferencesId,
|
||||
async (lang: string) => await import(`@hcengineering/desktop-preferences-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/desktop-preferences-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(diffviewId, async (lang: string) => await import(`@hcengineering/diffview-assets/lang/${lang}.json`))
|
||||
addStringsLoader(documentId, async (lang: string) => await import(`@hcengineering/document-assets/lang/${lang}.json`))
|
||||
addStringsLoader(timeId, async (lang: string) => await import(`@hcengineering/time-assets/lang/${lang}.json`))
|
||||
addStringsLoader(githubId, async (lang: string) => await import(`@hcengineering/github-assets/lang/${lang}.json`))
|
||||
addStringsLoader(diffviewId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/diffview-assets/lang/${lang}.json`))
|
||||
addStringsLoader(documentId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/document-assets/lang/${lang}.json`))
|
||||
addStringsLoader(timeId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/time-assets/lang/${lang}.json`))
|
||||
addStringsLoader(githubId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/github-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
documentsId,
|
||||
async (lang: string) => await import(`@hcengineering/controlled-documents-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/controlled-documents-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(productsId, async (lang: string) => await import(`@hcengineering/products-assets/lang/${lang}.json`))
|
||||
addStringsLoader(productsId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/products-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
questionsId,
|
||||
async (lang: string) => await import(`@hcengineering/questions-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/questions-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(trainingId, async (lang: string) => await import(`@hcengineering/training-assets/lang/${lang}.json`))
|
||||
addStringsLoader(guestId, async (lang: string) => await import(`@hcengineering/guest-assets/lang/${lang}.json`))
|
||||
addStringsLoader(trainingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/training-assets/lang/${lang}.json`))
|
||||
addStringsLoader(guestId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/guest-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
globalProfileId,
|
||||
async (lang: string) => await import(`@hcengineering/global-profile-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/global-profile-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(loveId, async (lang: string) => await import(`@hcengineering/love-assets/lang/${lang}.json`))
|
||||
addStringsLoader(printId, async (lang: string) => await import(`@hcengineering/print-assets/lang/${lang}.json`))
|
||||
addStringsLoader(exportId, async (lang: string) => await import(`@hcengineering/export-assets/lang/${lang}.json`))
|
||||
addStringsLoader(loveId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/love-assets/lang/${lang}.json`))
|
||||
addStringsLoader(printId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/print-assets/lang/${lang}.json`))
|
||||
addStringsLoader(exportId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/export-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
analyticsCollectorId,
|
||||
async (lang: string) => await import(`@hcengineering/analytics-collector-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/analytics-collector-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
testManagementId,
|
||||
async (lang: string) => await import(`@hcengineering/test-management-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/test-management-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(surveyId, async (lang: string) => await import(`@hcengineering/survey-assets/lang/${lang}.json`))
|
||||
addStringsLoader(cardId, async (lang: string) => await import(`@hcengineering/card-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mailId, async (lang: string) => await import(`@hcengineering/mail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chatId, async (lang: string) => await import(`@hcengineering/chat-assets/lang/${lang}.json`))
|
||||
addStringsLoader(processId, async (lang: string) => await import(`@hcengineering/process-assets/lang/${lang}.json`))
|
||||
addStringsLoader(surveyId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/survey-assets/lang/${lang}.json`))
|
||||
addStringsLoader(cardId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/card-assets/lang/${lang}.json`))
|
||||
addStringsLoader(mailId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/mail-assets/lang/${lang}.json`))
|
||||
addStringsLoader(chatId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/chat-assets/lang/${lang}.json`))
|
||||
addStringsLoader(processId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/process-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
achievementId,
|
||||
async (lang: string) => await import(`@hcengineering/achievement-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/achievement-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
communicationId,
|
||||
async (lang: string) => await import(`@hcengineering/communication-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/communication-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(inboxId, async (lang: string) => await import(`@hcengineering/inbox-assets/lang/${lang}.json`))
|
||||
addStringsLoader(emojiId, async (lang: string) => await import(`@hcengineering/emoji-assets/lang/${lang}.json`))
|
||||
addStringsLoader(billingId, async (lang: string) => await import(`@hcengineering/billing-assets/lang/${lang}.json`))
|
||||
addStringsLoader(inboxId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/inbox-assets/lang/${lang}.json`))
|
||||
addStringsLoader(emojiId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/emoji-assets/lang/${lang}.json`))
|
||||
addStringsLoader(billingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/billing-assets/lang/${lang}.json`))
|
||||
addStringsLoader(
|
||||
hulyMailId,
|
||||
async (lang: string) => await import(`@hcengineering/huly-mail-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/huly-mail-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(
|
||||
aiAssistantId,
|
||||
async (lang: string) => await import(`@hcengineering/ai-assistant-assets/lang/${lang}.json`)
|
||||
async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/ai-assistant-assets/lang/${lang}.json`)
|
||||
)
|
||||
addStringsLoader(ratingId, async (lang: string) => await import(`@hcengineering/rating-assets/lang/${lang}.json`))
|
||||
addStringsLoader(ratingId, async (lang: string) => await import(/* webpackMode: "eager" */ `@hcengineering/rating-assets/lang/${lang}.json`))
|
||||
}
|
||||
|
||||
export async function configurePlatform() {
|
||||
const dev = process.env.NODE_ENV === 'development';
|
||||
setMetadata(platform.metadata.LoadHelper, async (loader) => {
|
||||
for (let i = 0; i < 5; i++) {
|
||||
for (let i = 0; i < (dev ? 30 : 5); i++) {
|
||||
try {
|
||||
console.log(`[Rspack] Chunk loading`);
|
||||
return await loader()
|
||||
} catch (err: any) {
|
||||
if (err.message.includes('Loading chunk') && i != 4) {
|
||||
continue
|
||||
if (err.message.includes('Loading chunk') || err.message.includes('Loading hot update')) {
|
||||
if (dev) {
|
||||
console.log(`[Rspack] Chunk loading failed, retrying in 1s (${i + 1}/30)...`);
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
continue;
|
||||
}
|
||||
if (i < 4) continue;
|
||||
}
|
||||
console.error('Platform load error:', err)
|
||||
if (!dev) {
|
||||
location.reload()
|
||||
}
|
||||
console.log('reload due to loading error')
|
||||
location.reload()
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -563,156 +572,156 @@ export async function configurePlatform() {
|
||||
addLocation(coreId, async () => ({ default: async () => ({}) }))
|
||||
addLocation(presentationId, async () => ({ default: async () => ({}) }))
|
||||
|
||||
addLocation(clientId, async () => await import(/* webpackChunkName: "client" */ '@hcengineering/client-resources'))
|
||||
addLocation(loginId, async () => await import(/* webpackChunkName: "login" */ '@hcengineering/login-resources'))
|
||||
addLocation(onboardId, async () => await import(/* webpackChunkName: "onboard" */ '@hcengineering/onboard-resources'))
|
||||
addLocation(clientId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "client" */ '@hcengineering/client-resources'))
|
||||
addLocation(loginId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "login" */ '@hcengineering/login-resources'))
|
||||
addLocation(onboardId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "onboard" */ '@hcengineering/onboard-resources'))
|
||||
addLocation(
|
||||
workbenchId,
|
||||
async () => await import(/* webpackChunkName: "workbench" */ '@hcengineering/workbench-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "workbench" */ '@hcengineering/workbench-resources')
|
||||
)
|
||||
addLocation(viewId, async () => await import(/* webpackChunkName: "view" */ '@hcengineering/view-resources'))
|
||||
addLocation(converterId, async () => await import(/* webpackChunkName: "converter" */ '@hcengineering/converter-resources'))
|
||||
addLocation(taskId, async () => await import(/* webpackChunkName: "task" */ '@hcengineering/task-resources'))
|
||||
addLocation(contactId, async () => await import(/* webpackChunkName: "contact" */ '@hcengineering/contact-resources'))
|
||||
addLocation(chunterId, async () => await import(/* webpackChunkName: "chunter" */ '@hcengineering/chunter-resources'))
|
||||
addLocation(recruitId, async () => await import(/* webpackChunkName: "recruit" */ '@hcengineering/recruit-resources'))
|
||||
addLocation(viewId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "view" */ '@hcengineering/view-resources'))
|
||||
addLocation(converterId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "converter" */ '@hcengineering/converter-resources'))
|
||||
addLocation(taskId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "task" */ '@hcengineering/task-resources'))
|
||||
addLocation(contactId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "contact" */ '@hcengineering/contact-resources'))
|
||||
addLocation(chunterId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "chunter" */ '@hcengineering/chunter-resources'))
|
||||
addLocation(recruitId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "recruit" */ '@hcengineering/recruit-resources'))
|
||||
addLocation(
|
||||
activityId,
|
||||
async () => await import(/* webpackChunkName: "activity" */ '@hcengineering/activity-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "activity" */ '@hcengineering/activity-resources')
|
||||
)
|
||||
addLocation(settingId, async () => await import(/* webpackChunkName: "setting" */ '@hcengineering/setting-resources'))
|
||||
addLocation(leadId, async () => await import(/* webpackChunkName: "lead" */ '@hcengineering/lead-resources'))
|
||||
addLocation(settingId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "setting" */ '@hcengineering/setting-resources'))
|
||||
addLocation(leadId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "lead" */ '@hcengineering/lead-resources'))
|
||||
addLocation(
|
||||
telegramId,
|
||||
async () => await import(/* webpackChunkName: "telegram" */ '@hcengineering/telegram-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "telegram" */ '@hcengineering/telegram-resources')
|
||||
)
|
||||
addLocation(
|
||||
attachmentId,
|
||||
async () => await import(/* webpackChunkName: "attachment" */ '@hcengineering/attachment-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "attachment" */ '@hcengineering/attachment-resources')
|
||||
)
|
||||
addLocation(gmailId, async () => await import(/* webpackChunkName: "gmail" */ '@hcengineering/gmail-resources'))
|
||||
addLocation(gmailId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "gmail" */ '@hcengineering/gmail-resources'))
|
||||
addLocation(
|
||||
imageCropperId,
|
||||
async () => await import(/* webpackChunkName: "image-cropper" */ '@hcengineering/image-cropper-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "image-cropper" */ '@hcengineering/image-cropper-resources')
|
||||
)
|
||||
addLocation(
|
||||
inventoryId,
|
||||
async () => await import(/* webpackChunkName: "inventory" */ '@hcengineering/inventory-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "inventory" */ '@hcengineering/inventory-resources')
|
||||
)
|
||||
addLocation(
|
||||
templatesId,
|
||||
async () => await import(/* webpackChunkName: "templates" */ '@hcengineering/templates-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "templates" */ '@hcengineering/templates-resources')
|
||||
)
|
||||
addLocation(
|
||||
notificationId,
|
||||
async () => await import(/* webpackChunkName: "notification" */ '@hcengineering/notification-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "notification" */ '@hcengineering/notification-resources')
|
||||
)
|
||||
addLocation(tagsId, async () => await import(/* webpackChunkName: "tags" */ '@hcengineering/tags-resources'))
|
||||
addLocation(tagsId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "tags" */ '@hcengineering/tags-resources'))
|
||||
addLocation(
|
||||
calendarId,
|
||||
async () => await import(/* webpackChunkName: "calendar" */ '@hcengineering/calendar-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "calendar" */ '@hcengineering/calendar-resources')
|
||||
)
|
||||
addLocation(
|
||||
diffviewId,
|
||||
async () => await import(/* webpackChunkName: "diffview" */ '@hcengineering/diffview-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "diffview" */ '@hcengineering/diffview-resources')
|
||||
)
|
||||
addLocation(timeId, async () => await import(/* webpackChunkName: "time" */ '@hcengineering/time-resources'))
|
||||
addLocation(timeId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "time" */ '@hcengineering/time-resources'))
|
||||
addLocation(
|
||||
desktopPreferencesId,
|
||||
async () =>
|
||||
await import(/* webpackChunkName: "desktop-preferences" */ '@hcengineering/desktop-preferences-resources')
|
||||
await import(/* webpackMode: "eager" */ /* webpackChunkName: "desktop-preferences" */ '@hcengineering/desktop-preferences-resources')
|
||||
)
|
||||
addLocation(analyticsCollectorId, async () => await import('@hcengineering/analytics-collector-resources'))
|
||||
addLocation(aiBotId, async () => await import('@hcengineering/ai-bot-resources'))
|
||||
addLocation(analyticsCollectorId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/analytics-collector-resources'))
|
||||
addLocation(aiBotId, async () => await import(/* webpackMode: "eager" */ '@hcengineering/ai-bot-resources'))
|
||||
|
||||
addLocation(trackerId, async () => await import(/* webpackChunkName: "tracker" */ '@hcengineering/tracker-resources'))
|
||||
addLocation(boardId, async () => await import(/* webpackChunkName: "board" */ '@hcengineering/board-resources'))
|
||||
addLocation(hrId, async () => await import(/* webpackChunkName: "hr" */ '@hcengineering/hr-resources'))
|
||||
addLocation(bitrixId, async () => await import(/* webpackChunkName: "bitrix" */ '@hcengineering/bitrix-resources'))
|
||||
addLocation(requestId, async () => await import(/* webpackChunkName: "request" */ '@hcengineering/request-resources'))
|
||||
addLocation(driveId, async () => await import(/* webpackChunkName: "drive" */ '@hcengineering/drive-resources'))
|
||||
addLocation(supportId, async () => await import(/* webpackChunkName: "support" */ '@hcengineering/support-resources'))
|
||||
addLocation(trackerId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "tracker" */ '@hcengineering/tracker-resources'))
|
||||
addLocation(boardId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "board" */ '@hcengineering/board-resources'))
|
||||
addLocation(hrId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "hr" */ '@hcengineering/hr-resources'))
|
||||
addLocation(bitrixId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "bitrix" */ '@hcengineering/bitrix-resources'))
|
||||
addLocation(requestId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "request" */ '@hcengineering/request-resources'))
|
||||
addLocation(driveId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "drive" */ '@hcengineering/drive-resources'))
|
||||
addLocation(supportId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "support" */ '@hcengineering/support-resources'))
|
||||
|
||||
addLocation(
|
||||
documentId,
|
||||
async () => await import(/* webpackChunkName: "document" */ '@hcengineering/document-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "document" */ '@hcengineering/document-resources')
|
||||
)
|
||||
addLocation(githubId, async () => await import(/* webpackChunkName: "github" */ '@hcengineering/github-resources'))
|
||||
addLocation(githubId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "github" */ '@hcengineering/github-resources'))
|
||||
addLocation(
|
||||
questionsId,
|
||||
async () => await import(/* webpackChunkName: "training" */ '@hcengineering/questions-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "training" */ '@hcengineering/questions-resources')
|
||||
)
|
||||
addLocation(
|
||||
trainingId,
|
||||
async () => await import(/* webpackChunkName: "training" */ '@hcengineering/training-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "training" */ '@hcengineering/training-resources')
|
||||
)
|
||||
addLocation(
|
||||
productsId,
|
||||
async () => await import(/* webpackChunkName: "products" */ '@hcengineering/products-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "products" */ '@hcengineering/products-resources')
|
||||
)
|
||||
addLocation(
|
||||
documentsId,
|
||||
async () => await import(/* webpackChunkName: "documents" */ '@hcengineering/controlled-documents-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "documents" */ '@hcengineering/controlled-documents-resources')
|
||||
)
|
||||
addLocation(guestId, async () => await import(/* webpackChunkName: "guest" */ '@hcengineering/guest-resources'))
|
||||
addLocation(guestId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "guest" */ '@hcengineering/guest-resources'))
|
||||
addLocation(
|
||||
globalProfileId,
|
||||
async () => await import(/* webpackChunkName: "global-profile" */ '@hcengineering/global-profile-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "global-profile" */ '@hcengineering/global-profile-resources')
|
||||
)
|
||||
addLocation(loveId, async () => await import(/* webpackChunkName: "love" */ '@hcengineering/love-resources'))
|
||||
addLocation(printId, async () => await import(/* webpackChunkName: "print" */ '@hcengineering/print-resources'))
|
||||
addLocation(exportId, async () => await import(/* webpackChunkName: "export" */ '@hcengineering/export-resources'))
|
||||
addLocation(loveId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "love" */ '@hcengineering/love-resources'))
|
||||
addLocation(printId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "print" */ '@hcengineering/print-resources'))
|
||||
addLocation(exportId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "export" */ '@hcengineering/export-resources'))
|
||||
addLocation(
|
||||
textEditorId,
|
||||
async () => await import(/* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources')
|
||||
)
|
||||
addLocation(
|
||||
uploaderId,
|
||||
async () => await import(/* webpackChunkName: "uploader" */ '@hcengineering/uploader-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "uploader" */ '@hcengineering/uploader-resources')
|
||||
)
|
||||
addLocation(
|
||||
recorderId,
|
||||
async () => await import(/* webpackChunkName: "recorder" */ '@hcengineering/recorder-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "recorder" */ '@hcengineering/recorder-resources')
|
||||
)
|
||||
addLocation(mediaId, async () => await import(/* webpackChunkName: "media" */ '@hcengineering/media-resources'))
|
||||
addLocation(mediaId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "media" */ '@hcengineering/media-resources'))
|
||||
|
||||
addLocation(
|
||||
testManagementId,
|
||||
async () => await import(/* webpackChunkName: "test-management" */ '@hcengineering/test-management-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "test-management" */ '@hcengineering/test-management-resources')
|
||||
)
|
||||
addLocation(surveyId, async () => await import(/* webpackChunkName: "survey" */ '@hcengineering/survey-resources'))
|
||||
addLocation(surveyId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "survey" */ '@hcengineering/survey-resources'))
|
||||
addLocation(
|
||||
presenceId,
|
||||
async () => await import(/* webpackChunkName: "presence" */ '@hcengineering/presence-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "presence" */ '@hcengineering/presence-resources')
|
||||
)
|
||||
addLocation(cardId, async () => await import(/* webpackChunkName: "card" */ '@hcengineering/card-resources'))
|
||||
addLocation(chatId, async () => await import(/* webpackChunkName: "chat" */ '@hcengineering/chat-resources'))
|
||||
addLocation(processId, async () => await import(/* webpackChunkName: "process" */ '@hcengineering/process-resources'))
|
||||
addLocation(cardId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "card" */ '@hcengineering/card-resources'))
|
||||
addLocation(chatId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "chat" */ '@hcengineering/chat-resources'))
|
||||
addLocation(processId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "process" */ '@hcengineering/process-resources'))
|
||||
addLocation(
|
||||
achievementId,
|
||||
async () => await import(/* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "achievement" */ '@hcengineering/achievement-resources')
|
||||
)
|
||||
addLocation(
|
||||
communicationId,
|
||||
async () => await import(/* webpackChunkName: "communication" */ '@hcengineering/communication-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "communication" */ '@hcengineering/communication-resources')
|
||||
)
|
||||
addLocation(emojiId, async () => await import(/* webpackChunkName: "emoji" */ '@hcengineering/emoji-resources'))
|
||||
addLocation(emojiId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "emoji" */ '@hcengineering/emoji-resources'))
|
||||
if ((config.BILLING_URL ?? '') !== '') {
|
||||
addLocation(
|
||||
billingId,
|
||||
async () => await import(/* webpackChunkName: "billing" */ '@hcengineering/billing-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "billing" */ '@hcengineering/billing-resources')
|
||||
)
|
||||
}
|
||||
addLocation(
|
||||
hulyMailId,
|
||||
async () => await import(/* webpackChunkName: "hulyMail" */ '@hcengineering/huly-mail-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "hulyMail" */ '@hcengineering/huly-mail-resources')
|
||||
)
|
||||
addLocation(
|
||||
aiAssistantId,
|
||||
async () => await import(/* webpackChunkName: "ai-assistant" */ '@hcengineering/ai-assistant-resources')
|
||||
async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "ai-assistant" */ '@hcengineering/ai-assistant-resources')
|
||||
)
|
||||
addLocation(inboxId, async () => await import(/* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources'))
|
||||
addLocation(ratingId, async () => await import(/* webpackChunkName: "rating" */ '@hcengineering/rating-resources'))
|
||||
addLocation(inboxId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "inbox" */ '@hcengineering/inbox-resources'))
|
||||
addLocation(ratingId, async () => await import(/* webpackMode: "eager" */ /* webpackChunkName: "rating" */ '@hcengineering/rating-resources'))
|
||||
|
||||
setMetadata(client.metadata.FilterModel, 'ui')
|
||||
setMetadata(client.metadata.ExtraFilter, disabledFeatures)
|
||||
|
||||
@@ -168,7 +168,16 @@ switch (args[0]) {
|
||||
default: {
|
||||
let st = performance.now()
|
||||
const filesToTranspile = collectFiles(join(process.cwd(), 'src'))
|
||||
Promise.all([performESBuild(filesToTranspile), validateTSC()]).then(() => {
|
||||
const skipValidate = process.env.SKIP_VALIDATE === 'true' || args.includes('--fast')
|
||||
|
||||
const tasks = [performESBuild(filesToTranspile)]
|
||||
if (!skipValidate) {
|
||||
tasks.push(validateTSC())
|
||||
} else {
|
||||
console.log('Skipping TSC validation...')
|
||||
}
|
||||
|
||||
Promise.all(tasks).then(() => {
|
||||
console.log('Full build time: ', Math.round((performance.now() - st) * 100) / 100)
|
||||
})
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user