@kontur.candy/tools 2.247.0 → 2.248.0

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.
Files changed (35) hide show
  1. package/README.md +9 -1
  2. package/distr/Common/CandyApiClient/CandyApiClient.js +3 -0
  3. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  4. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +3 -0
  5. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
  6. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  7. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/MaxCallExpression.js +15 -0
  8. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/MaxCallExpression.js.map +1 -0
  9. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/MinCallExpression.js +15 -0
  10. package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/MinCallExpression.js.map +1 -0
  11. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +3 -29
  12. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -1
  13. package/distr/Common/ModelPath/BaseModelFieldPath.js +42 -0
  14. package/distr/Common/ModelPath/BaseModelFieldPath.js.map +1 -0
  15. package/distr/Common/ModelPath/RelativeModelFieldPath.js +29 -0
  16. package/distr/Common/ModelPath/RelativeModelFieldPath.js.map +1 -0
  17. package/distr/Tools/src/BuildTasks/CandyWidget/BuildCandyWidgetTask.js +40 -0
  18. package/distr/Tools/src/BuildTasks/CandyWidget/BuildCandyWidgetTask.js.map +1 -0
  19. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +4 -0
  20. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -1
  21. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
  22. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
  23. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +11 -1
  24. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -1
  25. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +6 -0
  26. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
  27. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +10 -0
  28. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -1
  29. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +4 -1
  30. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
  31. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +1 -1
  32. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -1
  33. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  34. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\nimport { WorkspaceResourceType } from \"../../Engine/src/ContractorsServiceIntegration/Types/WorkspaceTypes\";\n\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse, InnerHistoryUndoResponseWithStatus } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n\n getWorkspaceDirectoryId(\n orgId: string,\n inn: string,\n resourceType: WorkspaceResourceType,\n kpp?: string\n ): Promise<string>;\n\n convertToPdfAndGetMeta(driveUri: string): Promise<ConvertedPDFMetaResponse>;\n convertToPdf(driveUri: string): Promise<ConvertedPdfResponse>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\" | \"Error\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv?: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getPartialFuf(rules: string[]): Promise<GetPartialFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n startGetInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n getInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<InnerHistoryUndoResponseWithStatus>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface GetPartialFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface BaseGetFufResponse {\n contentUri: string;\n name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport type FufWithAttachmentsTaskResult = FufWithAttachmentsResponse | { resultUri: string };\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n\nexport interface ConvertedPDFMetaResponse {\n contentUri: string;\n isModified: boolean;\n pageCount: number;\n lastPageHeight: number;\n contentSizeBytes: number;\n}\n\nexport interface ConvertedPdfResponse {\n contentUri: string;\n isModified: boolean;\n contentSizeBytes: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\nimport { WorkspaceResourceType } from \"../../Engine/src/ContractorsServiceIntegration/Types/WorkspaceTypes\";\n\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse, InnerHistoryUndoResponseWithStatus } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n\n getWorkspaceDirectoryId(\n orgId: string,\n inn: string,\n resourceType: WorkspaceResourceType,\n kpp?: string\n ): Promise<string>;\n\n convertToPdfAndGetMeta(driveUri: string): Promise<ConvertedPDFMetaResponse>;\n convertToPdf(driveUri: string): Promise<ConvertedPdfResponse>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\" | \"Error\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv?: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n restoreToSourceFuf(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>>;\n getPartialFuf(rules: string[]): Promise<GetPartialFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n startGetInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n getInnerFufTask(): Promise<PollingTaskWithResult<string>>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<InnerHistoryUndoResponseWithStatus>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface GetPartialFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface BaseGetFufResponse {\n contentUri: string;\n name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport type FufWithAttachmentsTaskResult = FufWithAttachmentsResponse | { resultUri: string };\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n\nexport interface ConvertedPDFMetaResponse {\n contentUri: string;\n isModified: boolean;\n pageCount: number;\n lastPageHeight: number;\n contentSizeBytes: number;\n}\n\nexport interface ConvertedPdfResponse {\n contentUri: string;\n isModified: boolean;\n contentSizeBytes: number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MaxCallExpression = void 0;
7
+ class MaxCallExpression {
8
+ constructor(argument) {
9
+ this.$discriminator = "MaxCall";
10
+ this.argument = void 0;
11
+ this.argument = argument;
12
+ }
13
+ }
14
+ exports.MaxCallExpression = MaxCallExpression;
15
+ //# sourceMappingURL=MaxCallExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaxCallExpression.js","names":["MaxCallExpression","constructor","argument","$discriminator","exports"],"sources":["../../../../../../../Common/CandyApiClient/Types/QueryCollecton/Expressions/MaxCallExpression.ts"],"sourcesContent":["import { InnerQueryExpression } from \"../InnerQueryExpression\";\n\nexport class MaxCallExpression implements InnerQueryExpression {\n public readonly $discriminator = \"MaxCall\";\n public readonly argument?: InnerQueryExpression;\n\n public constructor(argument?: InnerQueryExpression) {\n this.argument = argument;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,iBAAiB,CAAiC;EAIpDC,WAAWA,CAACC,QAA+B,EAAE;IAAA,KAHpCC,cAAc,GAAG,SAAS;IAAA,KAC1BD,QAAQ;IAGpB,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;AACJ;AAACE,OAAA,CAAAJ,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MinCallExpression = void 0;
7
+ class MinCallExpression {
8
+ constructor(argument) {
9
+ this.$discriminator = "MinCall";
10
+ this.argument = void 0;
11
+ this.argument = argument;
12
+ }
13
+ }
14
+ exports.MinCallExpression = MinCallExpression;
15
+ //# sourceMappingURL=MinCallExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MinCallExpression.js","names":["MinCallExpression","constructor","argument","$discriminator","exports"],"sources":["../../../../../../../Common/CandyApiClient/Types/QueryCollecton/Expressions/MinCallExpression.ts"],"sourcesContent":["import { InnerQueryExpression } from \"../InnerQueryExpression\";\n\nexport class MinCallExpression implements InnerQueryExpression {\n public readonly $discriminator = \"MinCall\";\n public readonly argument?: InnerQueryExpression;\n\n public constructor(argument?: InnerQueryExpression) {\n this.argument = argument;\n }\n}\n"],"mappings":";;;;;;AAEO,MAAMA,iBAAiB,CAAiC;EAIpDC,WAAWA,CAACC,QAA+B,EAAE;IAAA,KAHpCC,cAAc,GAAG,SAAS;IAAA,KAC1BD,QAAQ;IAGpB,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC5B;AACJ;AAACE,OAAA,CAAAJ,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -4,25 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AbsoluteModelFieldPath = void 0;
7
- var _CoreTypes = require("../../Engine/src/Engine/Core/CoreTypes");
8
- var _hashUtils = require("../hashUtils");
9
7
  var _TypingUtils = require("../TypingUtils");
10
- var _IterableUtils = require("../IterableUtils");
11
- var _EachCurrentCollision = require("./EachCurrentCollision");
12
8
  var _ModelPath = require("./ModelPath");
13
- var _AbsoluteModelFieldPath;
14
- class AbsoluteModelFieldPath {
9
+ var _BaseModelFieldPath = require("./BaseModelFieldPath");
10
+ class AbsoluteModelFieldPath extends _BaseModelFieldPath.BaseModelFieldPath {
15
11
  constructor(path, fieldName) {
16
- this.path = void 0;
17
- this.field = void 0;
18
- this.path = path;
19
- this.field = fieldName;
20
- }
21
- getHash() {
22
- return this.path.getHash() + (0, _hashUtils.getSimpleHashByString)(this.field);
23
- }
24
- isEquals(modelPath, eachCurrentCollision = _EachCurrentCollision.EachCurrentCollision.AreSame) {
25
- return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;
12
+ super(path, fieldName);
26
13
  }
27
14
  static createFromString(pathWithFieldName, defaultFieldName) {
28
15
  return this.createFrom(pathWithFieldName, path => (0, _ModelPath.createAbsolute)(path), defaultFieldName);
@@ -37,19 +24,6 @@ class AbsoluteModelFieldPath {
37
24
  const field = match != undefined ? (_ref = match[2]) !== null && _ref !== void 0 ? _ref : (0, _TypingUtils.reject)() : defaultFieldName;
38
25
  return new AbsoluteModelFieldPath(modelPathFactory(path), field);
39
26
  }
40
- toString(includeLeadingSlash = false) {
41
- return `${includeLeadingSlash ? "/" : ""}${this.path.toLegacyPath()}.${this.field}`;
42
- }
43
- toLegacyPath(addSlashIfLastTokenIsInstanceOrMultiplicity = true) {
44
- const lastToken = _IterableUtils.IterUtils.last(this.path.getPathParts());
45
- const isLastTokenAnInstanceOrMultiplicity = _ModelPath.PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || _ModelPath.PathTokens.isMultiToken(lastToken);
46
- const slashIfRequired = addSlashIfLastTokenIsInstanceOrMultiplicity && isLastTokenAnInstanceOrMultiplicity && (0, _TypingUtils.isNotNullOrEmpty)(this.field) ? "/" : "";
47
- const dotIfRequired = (0, _TypingUtils.isNotNullOrEmpty)(this.field) ? "." : "";
48
- return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;
49
- }
50
27
  }
51
28
  exports.AbsoluteModelFieldPath = AbsoluteModelFieldPath;
52
- _AbsoluteModelFieldPath = AbsoluteModelFieldPath;
53
- AbsoluteModelFieldPath.extraFieldNames = ["\\$errorCount", "\\$warningCount"];
54
- AbsoluteModelFieldPath.fieldExtractRegex = new RegExp(`^(.*)\\.(${_AbsoluteModelFieldPath.extraFieldNames.concat(...(0, _CoreTypes.getKnownViewModelFieldNames)().values()).join("|")})$`);
55
29
  //# sourceMappingURL=AbsoluteModelFieldPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbsoluteModelFieldPath.js","names":["_CoreTypes","require","_hashUtils","_TypingUtils","_IterableUtils","_EachCurrentCollision","_ModelPath","_AbsoluteModelFieldPath","AbsoluteModelFieldPath","constructor","path","fieldName","field","getHash","getSimpleHashByString","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","createFromString","pathWithFieldName","defaultFieldName","createFrom","createAbsolute","createFromMask","multiplicitySymbol","createAbsoluteFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","toString","includeLeadingSlash","toLegacyPath","addSlashIfLastTokenIsInstanceOrMultiplicity","lastToken","IterUtils","last","getPathParts","isLastTokenAnInstanceOrMultiplicity","PathTokens","isInstanceTokenOrInstancesSpec","isMultiToken","slashIfRequired","isNotNullOrEmpty","dotIfRequired","exports","extraFieldNames","RegExp","concat","getKnownViewModelFieldNames","values","join"],"sources":["../../../../Common/ModelPath/AbsoluteModelFieldPath.ts"],"sourcesContent":["import { getKnownViewModelFieldNames, ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { getSimpleHashByString } from \"../hashUtils\";\nimport { isNotNullOrEmpty, reject } from \"../TypingUtils\";\nimport { IterUtils } from \"../IterableUtils\";\n\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { IEquatable } from \"./IEquatable\";\nimport {\n AbsoluteModelPath,\n AbsoluteResolvedModelPath,\n createAbsolute,\n createAbsoluteFromMask,\n PathToken,\n PathTokens,\n} from \"./ModelPath\";\n\nexport type ViewModelFieldNameWithCustomFields = ViewModelFieldName | \"$errorCount\" | \"$warningCount\" | \"\";\n\nexport class AbsoluteModelFieldPath implements IEquatable<AbsoluteModelFieldPath> {\n private static readonly extraFieldNames = [\"\\\\$errorCount\", \"\\\\$warningCount\"];\n private static readonly fieldExtractRegex = new RegExp(\n `^(.*)\\\\.(${AbsoluteModelFieldPath.extraFieldNames\n .concat(...getKnownViewModelFieldNames().values())\n .join(\"|\")})$`\n );\n public readonly path: AbsoluteModelPath;\n public readonly field: ViewModelFieldNameWithCustomFields;\n\n public constructor(path: AbsoluteModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n this.path = path;\n this.field = fieldName;\n }\n\n public getHash(): number {\n return this.path.getHash() + getSimpleHashByString(this.field);\n }\n\n public isEquals(\n modelPath: AbsoluteModelFieldPath,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createAbsolute(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createAbsoluteFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends AbsoluteModelPath | AbsoluteResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): AbsoluteModelFieldPath {\n const match = AbsoluteModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? (match[1] ?? reject()) : pathWithFieldName;\n const field =\n match != undefined ? ((match[2] as ViewModelFieldName | undefined) ?? reject()) : defaultFieldName;\n\n return new AbsoluteModelFieldPath(modelPathFactory(path), field);\n }\n\n public toString(includeLeadingSlash: boolean = false): string {\n return `${includeLeadingSlash ? \"/\" : \"\"}${this.path.toLegacyPath()}.${this.field}`;\n }\n\n public toLegacyPath(addSlashIfLastTokenIsInstanceOrMultiplicity: boolean = true): string {\n const lastToken = IterUtils.last(this.path.getPathParts());\n const isLastTokenAnInstanceOrMultiplicity =\n PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || PathTokens.isMultiToken(lastToken);\n const slashIfRequired =\n addSlashIfLastTokenIsInstanceOrMultiplicity &&\n isLastTokenAnInstanceOrMultiplicity &&\n isNotNullOrEmpty(this.field)\n ? \"/\"\n : \"\";\n const dotIfRequired = isNotNullOrEmpty(this.field) ? \".\" : \"\";\n return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AbsoluteModelFieldPath.js","names":["_TypingUtils","require","_ModelPath","_BaseModelFieldPath","AbsoluteModelFieldPath","BaseModelFieldPath","constructor","path","fieldName","createFromString","pathWithFieldName","defaultFieldName","createFrom","createAbsolute","createFromMask","multiplicitySymbol","createAbsoluteFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","field","exports"],"sources":["../../../../Common/ModelPath/AbsoluteModelFieldPath.ts"],"sourcesContent":["import { ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { reject } from \"../TypingUtils\";\n\nimport {\n AbsoluteModelPath,\n AbsoluteResolvedModelPath,\n createAbsolute,\n createAbsoluteFromMask,\n PathToken,\n} from \"./ModelPath\";\nimport { BaseModelFieldPath } from \"./BaseModelFieldPath\";\n\nexport type ViewModelFieldNameWithCustomFields = ViewModelFieldName | \"$errorCount\" | \"$warningCount\" | \"\";\n\nexport class AbsoluteModelFieldPath extends BaseModelFieldPath<AbsoluteModelPath> {\n public constructor(path: AbsoluteModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n super(path, fieldName);\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createAbsolute(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): AbsoluteModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createAbsoluteFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends AbsoluteModelPath | AbsoluteResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): AbsoluteModelFieldPath {\n const match = AbsoluteModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? (match[1] ?? reject()) : pathWithFieldName;\n const field =\n match != undefined ? ((match[2] as ViewModelFieldName | undefined) ?? reject()) : defaultFieldName;\n\n return new AbsoluteModelFieldPath(modelPathFactory(path), field);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAOA,IAAAE,mBAAA,GAAAF,OAAA;AAIO,MAAMG,sBAAsB,SAASC,sCAAkB,CAAoB;EACvEC,WAAWA,CAACC,IAAuB,EAAEC,SAA6C,EAAE;IACvF,KAAK,CAACD,IAAI,EAAEC,SAAS,CAAC;EAC1B;EAEA,OAAcC,gBAAgBA,CAC1BC,iBAAyB,EACzBC,gBAAqD,EAC/B;IACtB,OAAO,IAAI,CAACC,UAAU,CAACF,iBAAiB,EAAEH,IAAI,IAAI,IAAAM,yBAAc,EAACN,IAAI,CAAC,EAAEI,gBAAgB,CAAC;EAC7F;EAEA,OAAcG,cAAcA,CACxBJ,iBAAyB,EACzBK,kBAA6B,EAC7BJ,gBAAqD,EAC/B;IACtB,OAAO,IAAI,CAACC,UAAU,CAClBF,iBAAiB,EACjBH,IAAI,IAAI,IAAAS,iCAAsB,EAACT,IAAI,EAAEQ,kBAAkB,CAAC,EACxDJ,gBACJ,CAAC;EACL;EAEA,OAAeC,UAAUA,CACrBF,iBAAyB,EACzBO,gBAA8C,EAC9CN,gBAAoD,GAAG,OAAO,EACxC;IAAA,IAAAO,OAAA,EAAAC,IAAA;IACtB,MAAMC,KAAK,GAAGhB,sBAAsB,CAACiB,iBAAiB,CAACC,IAAI,CAACZ,iBAAiB,CAAC;IAC9E,MAAMH,IAAI,GAAGa,KAAK,IAAIG,SAAS,IAAAL,OAAA,GAAIE,KAAK,CAAC,CAAC,CAAC,cAAAF,OAAA,cAAAA,OAAA,GAAI,IAAAM,mBAAM,EAAC,CAAC,GAAId,iBAAiB;IAC5E,MAAMe,KAAK,GACPL,KAAK,IAAIG,SAAS,IAAAJ,IAAA,GAAKC,KAAK,CAAC,CAAC,CAAC,cAAAD,IAAA,cAAAA,IAAA,GAAuC,IAAAK,mBAAM,EAAC,CAAC,GAAIb,gBAAgB;IAEtG,OAAO,IAAIP,sBAAsB,CAACa,gBAAgB,CAACV,IAAI,CAAC,EAAEkB,KAAK,CAAC;EACpE;AACJ;AAACC,OAAA,CAAAtB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BaseModelFieldPath = void 0;
7
+ var _CoreTypes = require("../../Engine/src/Engine/Core/CoreTypes");
8
+ var _hashUtils = require("../hashUtils");
9
+ var _IterableUtils = require("../IterableUtils");
10
+ var _TypingUtils = require("../TypingUtils");
11
+ var _EachCurrentCollision = require("./EachCurrentCollision");
12
+ var _ModelPath = require("./ModelPath");
13
+ var _BaseModelFieldPath;
14
+ class BaseModelFieldPath {
15
+ constructor(path, fieldName) {
16
+ this.path = void 0;
17
+ this.field = void 0;
18
+ this.path = path;
19
+ this.field = fieldName;
20
+ }
21
+ getHash() {
22
+ return this.path.getHash() + (0, _hashUtils.getSimpleHashByString)(this.field);
23
+ }
24
+ isEquals(modelPath, eachCurrentCollision = _EachCurrentCollision.EachCurrentCollision.AreSame) {
25
+ return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;
26
+ }
27
+ toString(includeLeadingSlash = false) {
28
+ return `${includeLeadingSlash ? "/" : ""}${this.path.toLegacyPath()}.${this.field}`;
29
+ }
30
+ toLegacyPath(addSlashIfLastTokenIsInstanceOrMultiplicity = true) {
31
+ const lastToken = _IterableUtils.IterUtils.last(this.path.getPathParts());
32
+ const isLastTokenAnInstanceOrMultiplicity = _ModelPath.PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || _ModelPath.PathTokens.isMultiToken(lastToken);
33
+ const slashIfRequired = addSlashIfLastTokenIsInstanceOrMultiplicity && isLastTokenAnInstanceOrMultiplicity && (0, _TypingUtils.isNotNullOrEmpty)(this.field) ? "/" : "";
34
+ const dotIfRequired = (0, _TypingUtils.isNotNullOrEmpty)(this.field) ? "." : "";
35
+ return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;
36
+ }
37
+ }
38
+ exports.BaseModelFieldPath = BaseModelFieldPath;
39
+ _BaseModelFieldPath = BaseModelFieldPath;
40
+ BaseModelFieldPath.extraFieldNames = ["\\$errorCount", "\\$warningCount"];
41
+ BaseModelFieldPath.fieldExtractRegex = new RegExp(`^(.*)\\.(${_BaseModelFieldPath.extraFieldNames.concat(...(0, _CoreTypes.getKnownViewModelFieldNames)().values()).join("|")})$`);
42
+ //# sourceMappingURL=BaseModelFieldPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseModelFieldPath.js","names":["_CoreTypes","require","_hashUtils","_IterableUtils","_TypingUtils","_EachCurrentCollision","_ModelPath","_BaseModelFieldPath","BaseModelFieldPath","constructor","path","fieldName","field","getHash","getSimpleHashByString","isEquals","modelPath","eachCurrentCollision","EachCurrentCollision","AreSame","toString","includeLeadingSlash","toLegacyPath","addSlashIfLastTokenIsInstanceOrMultiplicity","lastToken","IterUtils","last","getPathParts","isLastTokenAnInstanceOrMultiplicity","PathTokens","isInstanceTokenOrInstancesSpec","isMultiToken","slashIfRequired","isNotNullOrEmpty","dotIfRequired","exports","extraFieldNames","fieldExtractRegex","RegExp","concat","getKnownViewModelFieldNames","values","join"],"sources":["../../../../Common/ModelPath/BaseModelFieldPath.ts"],"sourcesContent":["import { getKnownViewModelFieldNames } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { getSimpleHashByString } from \"../hashUtils\";\nimport { IterUtils } from \"../IterableUtils\";\nimport { isNotNullOrEmpty } from \"../TypingUtils\";\n\nimport { IEquatable } from \"./IEquatable\";\nimport { ViewModelFieldNameWithCustomFields } from \"./AbsoluteModelFieldPath\";\nimport { EachCurrentCollision } from \"./EachCurrentCollision\";\nimport { ModelPath, PathTokens } from \"./ModelPath\";\n\nexport abstract class BaseModelFieldPath<T extends ModelPath> implements IEquatable<BaseModelFieldPath<T>> {\n protected static readonly extraFieldNames = [\"\\\\$errorCount\", \"\\\\$warningCount\"];\n protected static readonly fieldExtractRegex = new RegExp(\n `^(.*)\\\\.(${BaseModelFieldPath.extraFieldNames.concat(...getKnownViewModelFieldNames().values()).join(\"|\")})$`\n );\n public readonly path: T;\n public readonly field: ViewModelFieldNameWithCustomFields;\n\n protected constructor(path: T, fieldName: ViewModelFieldNameWithCustomFields) {\n this.path = path;\n this.field = fieldName;\n }\n\n public getHash(): number {\n return this.path.getHash() + getSimpleHashByString(this.field);\n }\n\n public isEquals(\n modelPath: BaseModelFieldPath<T>,\n eachCurrentCollision: EachCurrentCollision = EachCurrentCollision.AreSame\n ): boolean {\n return this.path.isEquals(modelPath.path, eachCurrentCollision) && this.field === modelPath.field;\n }\n\n public toString(includeLeadingSlash: boolean = false): string {\n return `${includeLeadingSlash ? \"/\" : \"\"}${this.path.toLegacyPath()}.${this.field}`;\n }\n\n public toLegacyPath(addSlashIfLastTokenIsInstanceOrMultiplicity: boolean = true): string {\n const lastToken = IterUtils.last(this.path.getPathParts());\n const isLastTokenAnInstanceOrMultiplicity =\n PathTokens.isInstanceTokenOrInstancesSpec(lastToken) || PathTokens.isMultiToken(lastToken);\n const slashIfRequired =\n addSlashIfLastTokenIsInstanceOrMultiplicity &&\n isLastTokenAnInstanceOrMultiplicity &&\n isNotNullOrEmpty(this.field)\n ? \"/\"\n : \"\";\n const dotIfRequired = isNotNullOrEmpty(this.field) ? \".\" : \"\";\n return `${this.path.toLegacyPath()}${slashIfRequired}${dotIfRequired}${this.field}`;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAIA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAoD,IAAAM,mBAAA;AAE7C,MAAeC,kBAAkB,CAAmE;EAQ7FC,WAAWA,CAACC,IAAO,EAAEC,SAA6C,EAAE;IAAA,KAH9DD,IAAI;IAAA,KACJE,KAAK;IAGjB,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,KAAK,GAAGD,SAAS;EAC1B;EAEOE,OAAOA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACH,IAAI,CAACG,OAAO,CAAC,CAAC,GAAG,IAAAC,gCAAqB,EAAC,IAAI,CAACF,KAAK,CAAC;EAClE;EAEOG,QAAQA,CACXC,SAAgC,EAChCC,oBAA0C,GAAGC,0CAAoB,CAACC,OAAO,EAClE;IACP,OAAO,IAAI,CAACT,IAAI,CAACK,QAAQ,CAACC,SAAS,CAACN,IAAI,EAAEO,oBAAoB,CAAC,IAAI,IAAI,CAACL,KAAK,KAAKI,SAAS,CAACJ,KAAK;EACrG;EAEOQ,QAAQA,CAACC,mBAA4B,GAAG,KAAK,EAAU;IAC1D,OAAO,GAAGA,mBAAmB,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAACX,IAAI,CAACY,YAAY,CAAC,CAAC,IAAI,IAAI,CAACV,KAAK,EAAE;EACvF;EAEOU,YAAYA,CAACC,2CAAoD,GAAG,IAAI,EAAU;IACrF,MAAMC,SAAS,GAAGC,wBAAS,CAACC,IAAI,CAAC,IAAI,CAAChB,IAAI,CAACiB,YAAY,CAAC,CAAC,CAAC;IAC1D,MAAMC,mCAAmC,GACrCC,qBAAU,CAACC,8BAA8B,CAACN,SAAS,CAAC,IAAIK,qBAAU,CAACE,YAAY,CAACP,SAAS,CAAC;IAC9F,MAAMQ,eAAe,GACjBT,2CAA2C,IAC3CK,mCAAmC,IACnC,IAAAK,6BAAgB,EAAC,IAAI,CAACrB,KAAK,CAAC,GACtB,GAAG,GACH,EAAE;IACZ,MAAMsB,aAAa,GAAG,IAAAD,6BAAgB,EAAC,IAAI,CAACrB,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE;IAC7D,OAAO,GAAG,IAAI,CAACF,IAAI,CAACY,YAAY,CAAC,CAAC,GAAGU,eAAe,GAAGE,aAAa,GAAG,IAAI,CAACtB,KAAK,EAAE;EACvF;AACJ;AAACuB,OAAA,CAAA3B,kBAAA,GAAAA,kBAAA;AAAAD,mBAAA,GAzCqBC,kBAAkB;AAAlBA,kBAAkB,CACV4B,eAAe,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC;AAD9D5B,kBAAkB,CAEV6B,iBAAiB,GAAG,IAAIC,MAAM,CACpD,YAAY9B,mBAAkB,CAAC4B,eAAe,CAACG,MAAM,CAAC,GAAG,IAAAC,sCAA2B,EAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,IAC9G,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RelativeModelFieldPath = void 0;
7
+ var _TypingUtils = require("../TypingUtils");
8
+ var _ModelPath = require("./ModelPath");
9
+ var _BaseModelFieldPath = require("./BaseModelFieldPath");
10
+ class RelativeModelFieldPath extends _BaseModelFieldPath.BaseModelFieldPath {
11
+ constructor(path, fieldName) {
12
+ super(path, fieldName);
13
+ }
14
+ static createFromString(pathWithFieldName, defaultFieldName) {
15
+ return this.createFrom(pathWithFieldName, path => (0, _ModelPath.createRelativeResolvedModelPath)(path), defaultFieldName);
16
+ }
17
+ static createFromMask(pathWithFieldName, multiplicitySymbol, defaultFieldName) {
18
+ return this.createFrom(pathWithFieldName, path => (0, _ModelPath.createRelativeFromMask)(path, multiplicitySymbol), defaultFieldName);
19
+ }
20
+ static createFrom(pathWithFieldName, modelPathFactory, defaultFieldName = "value") {
21
+ var _match$, _ref;
22
+ const match = RelativeModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);
23
+ const path = match != undefined ? (_match$ = match[1]) !== null && _match$ !== void 0 ? _match$ : (0, _TypingUtils.reject)() : pathWithFieldName;
24
+ const field = match != undefined ? (_ref = match[2]) !== null && _ref !== void 0 ? _ref : (0, _TypingUtils.reject)() : defaultFieldName;
25
+ return new RelativeModelFieldPath(modelPathFactory(path), field);
26
+ }
27
+ }
28
+ exports.RelativeModelFieldPath = RelativeModelFieldPath;
29
+ //# sourceMappingURL=RelativeModelFieldPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelativeModelFieldPath.js","names":["_TypingUtils","require","_ModelPath","_BaseModelFieldPath","RelativeModelFieldPath","BaseModelFieldPath","constructor","path","fieldName","createFromString","pathWithFieldName","defaultFieldName","createFrom","createRelativeResolvedModelPath","createFromMask","multiplicitySymbol","createRelativeFromMask","modelPathFactory","_match$","_ref","match","fieldExtractRegex","exec","undefined","reject","field","exports"],"sources":["../../../../Common/ModelPath/RelativeModelFieldPath.ts"],"sourcesContent":["import { ViewModelFieldName } from \"../../Engine/src/Engine/Core/CoreTypes\";\nimport { reject } from \"../TypingUtils\";\n\nimport {\n createRelativeFromMask,\n createRelativeResolvedModelPath,\n PathToken,\n RelativeModelPath,\n RelativeResolvedModelPath,\n} from \"./ModelPath\";\nimport { ViewModelFieldNameWithCustomFields } from \"./AbsoluteModelFieldPath\";\nimport { BaseModelFieldPath } from \"./BaseModelFieldPath\";\n\nexport class RelativeModelFieldPath extends BaseModelFieldPath<RelativeModelPath> {\n public constructor(path: RelativeModelPath, fieldName: ViewModelFieldNameWithCustomFields) {\n super(path, fieldName);\n }\n\n public static createFromString(\n pathWithFieldName: string,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): RelativeModelFieldPath {\n return this.createFrom(pathWithFieldName, path => createRelativeResolvedModelPath(path), defaultFieldName);\n }\n\n public static createFromMask(\n pathWithFieldName: string,\n multiplicitySymbol: PathToken,\n defaultFieldName?: ViewModelFieldNameWithCustomFields\n ): RelativeModelFieldPath {\n return this.createFrom(\n pathWithFieldName,\n path => createRelativeFromMask(path, multiplicitySymbol),\n defaultFieldName\n );\n }\n\n private static createFrom<TModelPath extends RelativeModelPath | RelativeResolvedModelPath>(\n pathWithFieldName: string,\n modelPathFactory: (path: string) => TModelPath,\n defaultFieldName: ViewModelFieldNameWithCustomFields = \"value\"\n ): RelativeModelFieldPath {\n const match = RelativeModelFieldPath.fieldExtractRegex.exec(pathWithFieldName);\n const path = match != undefined ? (match[1] ?? reject()) : pathWithFieldName;\n const field =\n match != undefined ? ((match[2] as ViewModelFieldName | undefined) ?? reject()) : defaultFieldName;\n\n return new RelativeModelFieldPath(modelPathFactory(path), field);\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAQA,IAAAE,mBAAA,GAAAF,OAAA;AAEO,MAAMG,sBAAsB,SAASC,sCAAkB,CAAoB;EACvEC,WAAWA,CAACC,IAAuB,EAAEC,SAA6C,EAAE;IACvF,KAAK,CAACD,IAAI,EAAEC,SAAS,CAAC;EAC1B;EAEA,OAAcC,gBAAgBA,CAC1BC,iBAAyB,EACzBC,gBAAqD,EAC/B;IACtB,OAAO,IAAI,CAACC,UAAU,CAACF,iBAAiB,EAAEH,IAAI,IAAI,IAAAM,0CAA+B,EAACN,IAAI,CAAC,EAAEI,gBAAgB,CAAC;EAC9G;EAEA,OAAcG,cAAcA,CACxBJ,iBAAyB,EACzBK,kBAA6B,EAC7BJ,gBAAqD,EAC/B;IACtB,OAAO,IAAI,CAACC,UAAU,CAClBF,iBAAiB,EACjBH,IAAI,IAAI,IAAAS,iCAAsB,EAACT,IAAI,EAAEQ,kBAAkB,CAAC,EACxDJ,gBACJ,CAAC;EACL;EAEA,OAAeC,UAAUA,CACrBF,iBAAyB,EACzBO,gBAA8C,EAC9CN,gBAAoD,GAAG,OAAO,EACxC;IAAA,IAAAO,OAAA,EAAAC,IAAA;IACtB,MAAMC,KAAK,GAAGhB,sBAAsB,CAACiB,iBAAiB,CAACC,IAAI,CAACZ,iBAAiB,CAAC;IAC9E,MAAMH,IAAI,GAAGa,KAAK,IAAIG,SAAS,IAAAL,OAAA,GAAIE,KAAK,CAAC,CAAC,CAAC,cAAAF,OAAA,cAAAA,OAAA,GAAI,IAAAM,mBAAM,EAAC,CAAC,GAAId,iBAAiB;IAC5E,MAAMe,KAAK,GACPL,KAAK,IAAIG,SAAS,IAAAJ,IAAA,GAAKC,KAAK,CAAC,CAAC,CAAC,cAAAD,IAAA,cAAAA,IAAA,GAAuC,IAAAK,mBAAM,EAAC,CAAC,GAAIb,gBAAgB;IAEtG,OAAO,IAAIP,sBAAsB,CAACa,gBAAgB,CAACV,IAAI,CAAC,EAAEkB,KAAK,CAAC;EACpE;AACJ;AAACC,OAAA,CAAAtB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BuildCandyWidgetTask = void 0;
8
+ var _path = _interopRequireDefault(require("path"));
9
+ var _ChainableValueProducer = require("../../Commons/TasksCore/ChainableValueProducer");
10
+ var _ILogger = require("../../Commons/Logging/ILogger");
11
+ var _StaticLogger = require("../../Commons/Logging/StaticLogger");
12
+ var _ProcessUtils = require("../ProcessUtils/ProcessUtils");
13
+ class BuildCandyWidgetTask extends _ChainableValueProducer.ObservableValueProducerBase {
14
+ constructor(pathToViteProvider, logger) {
15
+ super();
16
+ this.pathToViteProvider = void 0;
17
+ this.logger = void 0;
18
+ this.pathToViteProvider = pathToViteProvider;
19
+ this.logger = (logger || (0, _StaticLogger.getLogger)()).withPrefix("CANDY_WIDGET");
20
+ }
21
+ async getCurrentValue() {
22
+ const viteConfigFile = await this.pathToViteProvider.currentValue;
23
+ await this.buildWidgetFromSources(viteConfigFile);
24
+ return viteConfigFile;
25
+ }
26
+ async buildWidgetFromSources(configPath) {
27
+ const action = (0, _ILogger.buildActionBegin)(this.logger, "Build Candy widget");
28
+ const workingDirectory = _path.default.dirname(configPath);
29
+ const buildProcess = _ProcessUtils.ProcessUtils.createShellProcess(`npm`, ["run", "build:withInstall"], workingDirectory);
30
+ buildProcess.onStdOut.subscribe(data => this.logger.log(data.trimRight()));
31
+ buildProcess.start();
32
+ const code = await buildProcess.waitForExit();
33
+ if (code !== 0) {
34
+ throw new Error(`Executed with exit code ${code}`);
35
+ }
36
+ action.complete();
37
+ }
38
+ }
39
+ exports.BuildCandyWidgetTask = BuildCandyWidgetTask;
40
+ //# sourceMappingURL=BuildCandyWidgetTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildCandyWidgetTask.js","names":["_path","_interopRequireDefault","require","_ChainableValueProducer","_ILogger","_StaticLogger","_ProcessUtils","BuildCandyWidgetTask","ObservableValueProducerBase","constructor","pathToViteProvider","logger","getLogger","withPrefix","getCurrentValue","viteConfigFile","currentValue","buildWidgetFromSources","configPath","action","buildActionBegin","workingDirectory","path","dirname","buildProcess","ProcessUtils","createShellProcess","onStdOut","subscribe","data","log","trimRight","start","code","waitForExit","Error","complete","exports"],"sources":["../../../../../src/BuildTasks/CandyWidget/BuildCandyWidgetTask.ts"],"sourcesContent":["import path from \"path\";\n\nimport { ObservableValueProducerBase } from \"../../Commons/TasksCore/ChainableValueProducer\";\nimport { buildActionBegin, ILogger } from \"../../Commons/Logging/ILogger\";\nimport { getLogger } from \"../../Commons/Logging/StaticLogger\";\nimport { ProcessUtils } from \"../ProcessUtils/ProcessUtils\";\nimport { IValueProducer } from \"../../Commons/TasksCore/BuildTask\";\n\nexport class BuildCandyWidgetTask extends ObservableValueProducerBase<string> {\n private readonly pathToViteProvider: IValueProducer<string>;\n private readonly logger: ILogger;\n\n public constructor(pathToViteProvider: IValueProducer<string>, logger?: ILogger) {\n super();\n this.pathToViteProvider = pathToViteProvider;\n this.logger = (logger || getLogger()).withPrefix(\"CANDY_WIDGET\");\n }\n\n public async getCurrentValue(): Promise<string> {\n const viteConfigFile = await this.pathToViteProvider.currentValue;\n await this.buildWidgetFromSources(viteConfigFile);\n\n return viteConfigFile;\n }\n\n private async buildWidgetFromSources(configPath: string): Promise<void> {\n const action = buildActionBegin(this.logger, \"Build Candy widget\");\n const workingDirectory = path.dirname(configPath);\n const buildProcess = ProcessUtils.createShellProcess(`npm`, [\"run\", \"build:withInstall\"], workingDirectory);\n\n buildProcess.onStdOut.subscribe(data => this.logger.log(data.trimRight()));\n buildProcess.start();\n const code = await buildProcess.waitForExit();\n if (code !== 0) {\n throw new Error(`Executed with exit code ${code}`);\n }\n action.complete();\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAGO,MAAMK,oBAAoB,SAASC,mDAA2B,CAAS;EAInEC,WAAWA,CAACC,kBAA0C,EAAEC,MAAgB,EAAE;IAC7E,KAAK,CAAC,CAAC;IAAC,KAJKD,kBAAkB;IAAA,KAClBC,MAAM;IAInB,IAAI,CAACD,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACC,MAAM,GAAG,CAACA,MAAM,IAAI,IAAAC,uBAAS,EAAC,CAAC,EAAEC,UAAU,CAAC,cAAc,CAAC;EACpE;EAEA,MAAaC,eAAeA,CAAA,EAAoB;IAC5C,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACL,kBAAkB,CAACM,YAAY;IACjE,MAAM,IAAI,CAACC,sBAAsB,CAACF,cAAc,CAAC;IAEjD,OAAOA,cAAc;EACzB;EAEA,MAAcE,sBAAsBA,CAACC,UAAkB,EAAiB;IACpE,MAAMC,MAAM,GAAG,IAAAC,yBAAgB,EAAC,IAAI,CAACT,MAAM,EAAE,oBAAoB,CAAC;IAClE,MAAMU,gBAAgB,GAAGC,aAAI,CAACC,OAAO,CAACL,UAAU,CAAC;IACjD,MAAMM,YAAY,GAAGC,0BAAY,CAACC,kBAAkB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAEL,gBAAgB,CAAC;IAE3GG,YAAY,CAACG,QAAQ,CAACC,SAAS,CAACC,IAAI,IAAI,IAAI,CAAClB,MAAM,CAACmB,GAAG,CAACD,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC1EP,YAAY,CAACQ,KAAK,CAAC,CAAC;IACpB,MAAMC,IAAI,GAAG,MAAMT,YAAY,CAACU,WAAW,CAAC,CAAC;IAC7C,IAAID,IAAI,KAAK,CAAC,EAAE;MACZ,MAAM,IAAIE,KAAK,CAAC,2BAA2BF,IAAI,EAAE,CAAC;IACtD;IACAd,MAAM,CAACiB,QAAQ,CAAC,CAAC;EACrB;AACJ;AAACC,OAAA,CAAA9B,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.createClientViteConfigTask = createClientViteConfigTask;
7
8
  exports.createClientWebpackConfigTask = createClientWebpackConfigTask;
8
9
  exports.createEngineWebpackConfigTask = createEngineWebpackConfigTask;
9
10
  exports.isNewEngineStructure = isNewEngineStructure;
@@ -39,4 +40,7 @@ async function createClientWebpackConfigTask(engineDirectory) {
39
40
  return _Observe.Observe.file(_path.default.join(engineDirectory, "clientjs.webpack.config.js"));
40
41
  }
41
42
  }
43
+ async function createClientViteConfigTask(engineDirectory) {
44
+ return _Observe.Observe.file(_path.default.join(engineDirectory, "Widgets", "CandyWidget", "vite", "common.ts"));
45
+ }
42
46
  //# sourceMappingURL=EngineStructureUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","_fsExtra","_Observe","isOldGeneratorSourcesStructure","pathToGenerator","pathExists","path","join","isOldGeneratorGetSugarTextsStructure","isNewEngineStructure","engineDirectory","createEngineWebpackConfigTask","Observe","file","createClientWebpackConfigTask"],"sources":["../../../../src/BuildTasks/EngineStructureUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\n\nimport { ChainableValueProducer } from \"../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../Commons/TasksCore/Observe\";\n\n/// Новая стркутуа генератора -- когда при компиляции генератора, в каталог также компилируется движок и в\n// каталоге dist оказываются папки Engine и Generator\nexport async function isOldGeneratorSourcesStructure(pathToGenerator: string): Promise<boolean> {\n return pathExists(path.join(pathToGenerator, \"dist\", \"generators\", \"processSugar.js\"));\n}\n\nexport async function isOldGeneratorGetSugarTextsStructure(pathToGenerator: string): Promise<boolean> {\n return pathExists(path.join(pathToGenerator, \"dist\", \"generators\", \"getSugarTexts.js\"));\n}\n\n/// Новая стркутуа -- когда каталоги движка и генератора находятся на двух разных уровнях\nexport async function isNewEngineStructure(engineDirectory: string): Promise<boolean> {\n return !(await pathExists(path.join(engineDirectory, \"webpack.config.js\")));\n}\n\nexport async function createEngineWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n if (await isNewEngineStructure(engineDirectory)) {\n return Observe.file(path.join(engineDirectory, \"Engine\", \"webpack.config.js\"));\n } else {\n return Observe.file(path.join(engineDirectory, \"webpack.config.js\"));\n }\n}\n\nexport async function createClientWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n if (await isNewEngineStructure(engineDirectory)) {\n return Observe.file(path.join(engineDirectory, \"Engine\", \"clientjs.webpack.config.js\"));\n } else {\n return Observe.file(path.join(engineDirectory, \"clientjs.webpack.config.js\"));\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACO,eAAeG,8BAA8BA,CAACC,eAAuB,EAAoB;EAC5F,OAAO,IAAAC,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACH,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAC1F;AAEO,eAAeI,oCAAoCA,CAACJ,eAAuB,EAAoB;EAClG,OAAO,IAAAC,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACH,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAC3F;;AAEA;AACO,eAAeK,oBAAoBA,CAACC,eAAuB,EAAoB;EAClF,OAAO,EAAE,MAAM,IAAAL,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/E;AAEO,eAAeC,6BAA6BA,CAACD,eAAuB,EAA2C;EAClH,IAAI,MAAMD,oBAAoB,CAACC,eAAe,CAAC,EAAE;IAC7C,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;EAClF,CAAC,MAAM;IACH,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,mBAAmB,CAAC,CAAC;EACxE;AACJ;AAEO,eAAeI,6BAA6BA,CAACJ,eAAuB,EAA2C;EAClH,IAAI,MAAMD,oBAAoB,CAACC,eAAe,CAAC,EAAE;IAC7C,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;EAC3F,CAAC,MAAM;IACH,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,4BAA4B,CAAC,CAAC;EACjF;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"EngineStructureUtils.js","names":["_path","_interopRequireDefault","require","_fsExtra","_Observe","isOldGeneratorSourcesStructure","pathToGenerator","pathExists","path","join","isOldGeneratorGetSugarTextsStructure","isNewEngineStructure","engineDirectory","createEngineWebpackConfigTask","Observe","file","createClientWebpackConfigTask","createClientViteConfigTask"],"sources":["../../../../src/BuildTasks/EngineStructureUtils.ts"],"sourcesContent":["import path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\n\nimport { ChainableValueProducer } from \"../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../Commons/TasksCore/Observe\";\n\n/// Новая стркутуа генератора -- когда при компиляции генератора, в каталог также компилируется движок и в\n// каталоге dist оказываются папки Engine и Generator\nexport async function isOldGeneratorSourcesStructure(pathToGenerator: string): Promise<boolean> {\n return pathExists(path.join(pathToGenerator, \"dist\", \"generators\", \"processSugar.js\"));\n}\n\nexport async function isOldGeneratorGetSugarTextsStructure(pathToGenerator: string): Promise<boolean> {\n return pathExists(path.join(pathToGenerator, \"dist\", \"generators\", \"getSugarTexts.js\"));\n}\n\n/// Новая стркутуа -- когда каталоги движка и генератора находятся на двух разных уровнях\nexport async function isNewEngineStructure(engineDirectory: string): Promise<boolean> {\n return !(await pathExists(path.join(engineDirectory, \"webpack.config.js\")));\n}\n\nexport async function createEngineWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n if (await isNewEngineStructure(engineDirectory)) {\n return Observe.file(path.join(engineDirectory, \"Engine\", \"webpack.config.js\"));\n } else {\n return Observe.file(path.join(engineDirectory, \"webpack.config.js\"));\n }\n}\n\nexport async function createClientWebpackConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n if (await isNewEngineStructure(engineDirectory)) {\n return Observe.file(path.join(engineDirectory, \"Engine\", \"clientjs.webpack.config.js\"));\n } else {\n return Observe.file(path.join(engineDirectory, \"clientjs.webpack.config.js\"));\n }\n}\n\nexport async function createClientViteConfigTask(engineDirectory: string): Promise<ChainableValueProducer<string>> {\n return Observe.file(path.join(engineDirectory, \"Widgets\", \"CandyWidget\", \"vite\", \"common.ts\"));\n}\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAGA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACO,eAAeG,8BAA8BA,CAACC,eAAuB,EAAoB;EAC5F,OAAO,IAAAC,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACH,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAC1F;AAEO,eAAeI,oCAAoCA,CAACJ,eAAuB,EAAoB;EAClG,OAAO,IAAAC,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACH,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAC3F;;AAEA;AACO,eAAeK,oBAAoBA,CAACC,eAAuB,EAAoB;EAClF,OAAO,EAAE,MAAM,IAAAL,mBAAU,EAACC,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/E;AAEO,eAAeC,6BAA6BA,CAACD,eAAuB,EAA2C;EAClH,IAAI,MAAMD,oBAAoB,CAACC,eAAe,CAAC,EAAE;IAC7C,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;EAClF,CAAC,MAAM;IACH,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,mBAAmB,CAAC,CAAC;EACxE;AACJ;AAEO,eAAeI,6BAA6BA,CAACJ,eAAuB,EAA2C;EAClH,IAAI,MAAMD,oBAAoB,CAACC,eAAe,CAAC,EAAE;IAC7C,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;EAC3F,CAAC,MAAM;IACH,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,4BAA4B,CAAC,CAAC;EACjF;AACJ;AAEO,eAAeK,0BAA0BA,CAACL,eAAuB,EAA2C;EAC/G,OAAOE,gBAAO,CAACC,IAAI,CAACP,aAAI,CAACC,IAAI,CAACG,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAClG","ignoreList":[]}
@@ -13,7 +13,7 @@ _TypedProcessWorker.TypedProcessWorker.start(async ([pathToGeneratorProcessSugar
13
13
  const formContent = await processSugar(formSource.sugarContent, formSource.resources, generationOptions);
14
14
 
15
15
  // eslint-disable-next-line no-warning-comments
16
- // TODO(2026-04-01): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)
16
+ // TODO(2026-05-01): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)
17
17
  // const validator = new GeneratorSourcesValidator(generationOptions);
18
18
  // await validator.validate(formContent);
19
19
 
@@ -1 +1 @@
1
- {"version":3,"file":"ReadSourcesAndProcessSugarWorker.js","names":["_IterableUtils","require","_GeneratorRequireUtils","_TypedProcessWorker","TypedProcessWorker","start","pathToGeneratorProcessSugar","formSourcesPath","farmDirectory","hlFarmDirectoryPath","generationOptions","purgeCache","requestNumber","send","formSource","importer","GeneratorSourcesImporter","readSources","importReadSources","processSugar","importProcessSugar","formContent","sugarContent","resources","result","key","formContentItem","iterateEntries","Buffer","payload","toString","encoding","type","gfv","generatedForm","error","Error","_formSource","errorText","stack","_formSource2"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.ts"],"sourcesContent":["import { GeneratedForm, GenerationOptions } from \"../../Form/GenerateForm\";\nimport { FormSource } from \"../../ReadFormSource\";\nimport { iterateEntries } from \"../../../../../Common/IterableUtils\";\n\nimport { GeneratorSourcesImporter } from \"./GeneratorRequireUtils\";\nimport { TypedProcessWorker } from \"./TypedProcessWorker\";\n\nexport interface GeneratedFormInterProcessMessage {\n [relativeFileName: string]: string | { payload: string; encoding: string };\n}\n\nexport type CallMessage = [string, string, string, string, undefined | GenerationOptions, boolean, number];\nexport type CallResponse =\n | { type: \"Result\"; gfv: string; generatedForm: GeneratedFormInterProcessMessage; requestNumber: number }\n | { type: \"Error\"; gfv?: string; errorText: string; requestNumber: number };\n\nTypedProcessWorker.start<CallMessage, CallResponse>(\n async (\n [\n pathToGeneratorProcessSugar,\n formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n generationOptions,\n purgeCache,\n requestNumber,\n ],\n send\n ): Promise<void> => {\n let formSource: FormSource | undefined;\n try {\n const importer = new GeneratorSourcesImporter(purgeCache);\n const readSources = await importer.importReadSources(pathToGeneratorProcessSugar);\n formSource = await readSources(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n\n const processSugar = await importer.importProcessSugar(pathToGeneratorProcessSugar);\n\n const formContent: GeneratedForm = await processSugar(\n formSource.sugarContent,\n formSource.resources,\n generationOptions\n );\n\n // eslint-disable-next-line no-warning-comments\n // TODO(2026-04-01): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)\n // const validator = new GeneratorSourcesValidator(generationOptions);\n // await validator.validate(formContent);\n\n const result: GeneratedFormInterProcessMessage = {};\n\n // NOTE Because only JSON are allowed for IPC we need to convert Buffer -> Base64\n // Another solution is use a stream, but formContent still need to convert or send by chunks\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n // @ts-ignore\n result[key] =\n formContentItem instanceof Buffer\n ? { payload: formContentItem.toString(\"base64\"), encoding: \"base64\" }\n : formContentItem;\n }\n\n send({\n type: \"Result\",\n gfv: formSource.resources.gfv,\n generatedForm: result,\n requestNumber: requestNumber,\n });\n } catch (error) {\n if (error instanceof Error) {\n send({\n type: \"Error\",\n gfv: formSource?.resources.gfv,\n errorText: `${error.toString()}\\n${error.stack}`,\n requestNumber: requestNumber,\n });\n } else {\n send({\n type: \"Error\",\n gfv: formSource?.resources.gfv,\n errorText: `${error}`,\n requestNumber: requestNumber,\n });\n }\n }\n }\n);\n"],"mappings":";;AAEA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAWAG,sCAAkB,CAACC,KAAK,CACpB,OACI,CACIC,2BAA2B,EAC3BC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,UAAU,EACVC,aAAa,CAChB,EACDC,IAAI,KACY;EAChB,IAAIC,UAAkC;EACtC,IAAI;IACA,MAAMC,QAAQ,GAAG,IAAIC,+CAAwB,CAACL,UAAU,CAAC;IACzD,MAAMM,WAAW,GAAG,MAAMF,QAAQ,CAACG,iBAAiB,CAACZ,2BAA2B,CAAC;IACjFQ,UAAU,GAAG,MAAMG,WAAW,CAACV,eAAe,EAAEC,aAAa,EAAEC,mBAAmB,CAAC;IAEnF,MAAMU,YAAY,GAAG,MAAMJ,QAAQ,CAACK,kBAAkB,CAACd,2BAA2B,CAAC;IAEnF,MAAMe,WAA0B,GAAG,MAAMF,YAAY,CACjDL,UAAU,CAACQ,YAAY,EACvBR,UAAU,CAACS,SAAS,EACpBb,iBACJ,CAAC;;IAED;IACA;IACA;IACA;;IAEA,MAAMc,MAAwC,GAAG,CAAC,CAAC;;IAEnD;IACA;IACA,KAAK,MAAM,CAACC,GAAG,EAAEC,eAAe,CAAC,IAAI,IAAAC,6BAAc,EAACN,WAAW,CAAC,EAAE;MAC9D;MACAG,MAAM,CAACC,GAAG,CAAC,GACPC,eAAe,YAAYE,MAAM,GAC3B;QAAEC,OAAO,EAAEH,eAAe,CAACI,QAAQ,CAAC,QAAQ,CAAC;QAAEC,QAAQ,EAAE;MAAS,CAAC,GACnEL,eAAe;IAC7B;IAEAb,IAAI,CAAC;MACDmB,IAAI,EAAE,QAAQ;MACdC,GAAG,EAAEnB,UAAU,CAACS,SAAS,CAACU,GAAG;MAC7BC,aAAa,EAAEV,MAAM;MACrBZ,aAAa,EAAEA;IACnB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOuB,KAAK,EAAE;IACZ,IAAIA,KAAK,YAAYC,KAAK,EAAE;MAAA,IAAAC,WAAA;MACxBxB,IAAI,CAAC;QACDmB,IAAI,EAAE,OAAO;QACbC,GAAG,GAAAI,WAAA,GAAEvB,UAAU,cAAAuB,WAAA,uBAAVA,WAAA,CAAYd,SAAS,CAACU,GAAG;QAC9BK,SAAS,EAAE,GAAGH,KAAK,CAACL,QAAQ,CAAC,CAAC,KAAKK,KAAK,CAACI,KAAK,EAAE;QAChD3B,aAAa,EAAEA;MACnB,CAAC,CAAC;IACN,CAAC,MAAM;MAAA,IAAA4B,YAAA;MACH3B,IAAI,CAAC;QACDmB,IAAI,EAAE,OAAO;QACbC,GAAG,GAAAO,YAAA,GAAE1B,UAAU,cAAA0B,YAAA,uBAAVA,YAAA,CAAYjB,SAAS,CAACU,GAAG;QAC9BK,SAAS,EAAE,GAAGH,KAAK,EAAE;QACrBvB,aAAa,EAAEA;MACnB,CAAC,CAAC;IACN;EACJ;AACJ,CACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ReadSourcesAndProcessSugarWorker.js","names":["_IterableUtils","require","_GeneratorRequireUtils","_TypedProcessWorker","TypedProcessWorker","start","pathToGeneratorProcessSugar","formSourcesPath","farmDirectory","hlFarmDirectoryPath","generationOptions","purgeCache","requestNumber","send","formSource","importer","GeneratorSourcesImporter","readSources","importReadSources","processSugar","importProcessSugar","formContent","sugarContent","resources","result","key","formContentItem","iterateEntries","Buffer","payload","toString","encoding","type","gfv","generatedForm","error","Error","_formSource","errorText","stack","_formSource2"],"sources":["../../../../../../src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.ts"],"sourcesContent":["import { GeneratedForm, GenerationOptions } from \"../../Form/GenerateForm\";\nimport { FormSource } from \"../../ReadFormSource\";\nimport { iterateEntries } from \"../../../../../Common/IterableUtils\";\n\nimport { GeneratorSourcesImporter } from \"./GeneratorRequireUtils\";\nimport { TypedProcessWorker } from \"./TypedProcessWorker\";\n\nexport interface GeneratedFormInterProcessMessage {\n [relativeFileName: string]: string | { payload: string; encoding: string };\n}\n\nexport type CallMessage = [string, string, string, string, undefined | GenerationOptions, boolean, number];\nexport type CallResponse =\n | { type: \"Result\"; gfv: string; generatedForm: GeneratedFormInterProcessMessage; requestNumber: number }\n | { type: \"Error\"; gfv?: string; errorText: string; requestNumber: number };\n\nTypedProcessWorker.start<CallMessage, CallResponse>(\n async (\n [\n pathToGeneratorProcessSugar,\n formSourcesPath,\n farmDirectory,\n hlFarmDirectoryPath,\n generationOptions,\n purgeCache,\n requestNumber,\n ],\n send\n ): Promise<void> => {\n let formSource: FormSource | undefined;\n try {\n const importer = new GeneratorSourcesImporter(purgeCache);\n const readSources = await importer.importReadSources(pathToGeneratorProcessSugar);\n formSource = await readSources(formSourcesPath, farmDirectory, hlFarmDirectoryPath);\n\n const processSugar = await importer.importProcessSugar(pathToGeneratorProcessSugar);\n\n const formContent: GeneratedForm = await processSugar(\n formSource.sugarContent,\n formSource.resources,\n generationOptions\n );\n\n // eslint-disable-next-line no-warning-comments\n // TODO(2026-05-01): временно отключаем валидацию компиляции Flang на бэкенде (исправить в задаче https://yt.skbkontur.ru/issue/FS-9242)\n // const validator = new GeneratorSourcesValidator(generationOptions);\n // await validator.validate(formContent);\n\n const result: GeneratedFormInterProcessMessage = {};\n\n // NOTE Because only JSON are allowed for IPC we need to convert Buffer -> Base64\n // Another solution is use a stream, but formContent still need to convert or send by chunks\n for (const [key, formContentItem] of iterateEntries(formContent)) {\n // @ts-ignore\n result[key] =\n formContentItem instanceof Buffer\n ? { payload: formContentItem.toString(\"base64\"), encoding: \"base64\" }\n : formContentItem;\n }\n\n send({\n type: \"Result\",\n gfv: formSource.resources.gfv,\n generatedForm: result,\n requestNumber: requestNumber,\n });\n } catch (error) {\n if (error instanceof Error) {\n send({\n type: \"Error\",\n gfv: formSource?.resources.gfv,\n errorText: `${error.toString()}\\n${error.stack}`,\n requestNumber: requestNumber,\n });\n } else {\n send({\n type: \"Error\",\n gfv: formSource?.resources.gfv,\n errorText: `${error}`,\n requestNumber: requestNumber,\n });\n }\n }\n }\n);\n"],"mappings":";;AAEA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAWAG,sCAAkB,CAACC,KAAK,CACpB,OACI,CACIC,2BAA2B,EAC3BC,eAAe,EACfC,aAAa,EACbC,mBAAmB,EACnBC,iBAAiB,EACjBC,UAAU,EACVC,aAAa,CAChB,EACDC,IAAI,KACY;EAChB,IAAIC,UAAkC;EACtC,IAAI;IACA,MAAMC,QAAQ,GAAG,IAAIC,+CAAwB,CAACL,UAAU,CAAC;IACzD,MAAMM,WAAW,GAAG,MAAMF,QAAQ,CAACG,iBAAiB,CAACZ,2BAA2B,CAAC;IACjFQ,UAAU,GAAG,MAAMG,WAAW,CAACV,eAAe,EAAEC,aAAa,EAAEC,mBAAmB,CAAC;IAEnF,MAAMU,YAAY,GAAG,MAAMJ,QAAQ,CAACK,kBAAkB,CAACd,2BAA2B,CAAC;IAEnF,MAAMe,WAA0B,GAAG,MAAMF,YAAY,CACjDL,UAAU,CAACQ,YAAY,EACvBR,UAAU,CAACS,SAAS,EACpBb,iBACJ,CAAC;;IAED;IACA;IACA;IACA;;IAEA,MAAMc,MAAwC,GAAG,CAAC,CAAC;;IAEnD;IACA;IACA,KAAK,MAAM,CAACC,GAAG,EAAEC,eAAe,CAAC,IAAI,IAAAC,6BAAc,EAACN,WAAW,CAAC,EAAE;MAC9D;MACAG,MAAM,CAACC,GAAG,CAAC,GACPC,eAAe,YAAYE,MAAM,GAC3B;QAAEC,OAAO,EAAEH,eAAe,CAACI,QAAQ,CAAC,QAAQ,CAAC;QAAEC,QAAQ,EAAE;MAAS,CAAC,GACnEL,eAAe;IAC7B;IAEAb,IAAI,CAAC;MACDmB,IAAI,EAAE,QAAQ;MACdC,GAAG,EAAEnB,UAAU,CAACS,SAAS,CAACU,GAAG;MAC7BC,aAAa,EAAEV,MAAM;MACrBZ,aAAa,EAAEA;IACnB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOuB,KAAK,EAAE;IACZ,IAAIA,KAAK,YAAYC,KAAK,EAAE;MAAA,IAAAC,WAAA;MACxBxB,IAAI,CAAC;QACDmB,IAAI,EAAE,OAAO;QACbC,GAAG,GAAAI,WAAA,GAAEvB,UAAU,cAAAuB,WAAA,uBAAVA,WAAA,CAAYd,SAAS,CAACU,GAAG;QAC9BK,SAAS,EAAE,GAAGH,KAAK,CAACL,QAAQ,CAAC,CAAC,KAAKK,KAAK,CAACI,KAAK,EAAE;QAChD3B,aAAa,EAAEA;MACnB,CAAC,CAAC;IACN,CAAC,MAAM;MAAA,IAAA4B,YAAA;MACH3B,IAAI,CAAC;QACDmB,IAAI,EAAE,OAAO;QACbC,GAAG,GAAAO,YAAA,GAAE1B,UAAU,cAAA0B,YAAA,uBAAVA,YAAA,CAAYjB,SAAS,CAACU,GAAG;QAC9BK,SAAS,EAAE,GAAGH,KAAK,EAAE;QACrBvB,aAAa,EAAEA;MACnB,CAAC,CAAC;IACN;EACJ;AACJ,CACJ,CAAC","ignoreList":[]}
@@ -107,8 +107,18 @@ const buildFormsOptionsDefinition = exports.buildFormsOptionsDefinition = (0, _C
107
107
  }),
108
108
  description: "Использовать версию движка и генератора из файловой системы",
109
109
  doesNotRequireValue: true
110
+ }, {
111
+ name: "build-candy-widget",
112
+ doesNotRequireValue: true,
113
+ defaultValue: {
114
+ buildCandyWidget: false
115
+ },
116
+ parse: input => ({
117
+ buildCandyWidget: input
118
+ }),
119
+ description: "Собирать candy-виджет"
110
120
  }, _CommonOptionDefintions.devModeOption, _CommonOptionDefintions.logVerbosityOption), {
111
- description: "Выполняет сборку одной или нескольких форм.\n" + "Подробнее: https://git.skbkontur.ru/ke/candy-utils/blob/new-candy-tool-cli/README.md",
121
+ description: "Выполняет сборку одной или нескольких форм.\n" + "Подробнее: https://git.skbkontur.ru/forms/candy/-/blob/master/Tools/README.md#candy-build",
112
122
  detailedDescription: `
113
123
  Основной сценарий: выполняет сборку форм в каталог с ресурсами. Действия, которые выполняет команда:
114
124
 
@@ -1 +1 @@
1
- {"version":3,"file":"BuildFormsOptions.js","names":["_CommandBasedOptionsParser","require","_CommonOptionDefintions","_BuildCacheMode","buildFormsOptionsDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","watch","parse","input","doesNotRequireValue","description","clean","mode","upgradeFormJson","buildCacheMode","BuildCacheMode","ReadOnly","parseBuildCacheMode","useLastStableVersion","usePrereleaseVersion","undefined","skipGeneratedCodeReformatting","formGlobs","defaultOption","multiple","useVersionFromCache","devModeOption","logVerbosityOption","detailedDescription","trim","examples","extendedDetails"],"sources":["../../../../../src/CLICommands/BuildForms/BuildFormsOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nimport { BuildCacheMode, parseBuildCacheMode } from \"./BuildCacheMode\";\n\nexport interface BuildFormsOptions extends CommonOptions {\n watch: boolean;\n clean: boolean;\n formGlobs: string[];\n upgradeFormJson: boolean;\n useLastStableVersion: boolean;\n usePrereleaseVersion?: string;\n skipGeneratedCodeReformatting: boolean;\n useVersionFromCache: boolean;\n mode: \"development\" | \"production\";\n buildCacheMode: BuildCacheMode;\n}\n\nexport const buildFormsOptionsDefinition = commandDefinition<\"build\", BuildFormsOptions>(\n \"build\",\n \"build\",\n optionsDefinition(\n {\n alias: \"w\",\n name: \"watch\",\n defaultValue: { watch: false },\n parse: input => ({ watch: input }),\n doesNotRequireValue: true,\n description:\n \"Watch-режим. Выполняет сборку форм, а затем пересобирает при изменениях. В том числе движка, генератора и статических ресурсов.\",\n },\n {\n name: \"clean\",\n defaultValue: { clean: false },\n parse: input => ({ clean: input }),\n doesNotRequireValue: true,\n description:\n \"Полностью очищает целевой каталог ресурсов. Используется при полной сборке форм для продакшена\",\n },\n {\n name: \"mode\",\n defaultValue: { mode: \"development\" },\n parse: (input: string) => ({ mode: input }),\n description:\n \"Разделение сборок на продовую (mode=production) и не продовую (mode=development). По умолчанию development\",\n },\n {\n name: \"upgrade-form-json\",\n defaultValue: { upgradeFormJson: false },\n parse: input => ({ upgradeFormJson: input }),\n doesNotRequireValue: true,\n description: \"Форсирует изменение формата файла form.json на новый\",\n },\n {\n name: \"build-cache\",\n defaultValue: { buildCacheMode: BuildCacheMode.ReadOnly },\n parse: (input: string) => ({ buildCacheMode: parseBuildCacheMode(input) }),\n description:\n \"Задаёт режим использования кэша сборки. Возможные значения:\\n\" +\n \" disabled - не использовать кэш\\n\" +\n \" readonly - использовать кэш для сборки, но не обновляет его (значение по умолчанию)\\n\" +\n \" update - использовать кэш для сборки и презаписывать, если не совпадает\\n\" +\n \" force-update - всегда выполнять сборку и обновить значения в кэше\\n\" +\n \"Отключается при использовании watch-режима\",\n },\n {\n name: \"use-last-stable-version\",\n defaultValue: { useLastStableVersion: false },\n parse: input => ({ useLastStableVersion: input }),\n doesNotRequireValue: true,\n description:\n \"Устанавливает версию движка в файла `form.json` в последнюю стабильную версию. Аналогичен запуску candy-build с параметром -ge master\",\n },\n {\n name: \"use-prerelease-version\",\n defaultValue: { usePrereleaseVersion: undefined as undefined | string },\n parse: (input: string) => ({ usePrereleaseVersion: input }),\n description:\n \"Устанавливает версию движка в файла form.json в последнюю пререлизную версию в заданным preid. В файле версии генератора и движка будут установлены в pre:some-preid.\",\n },\n {\n name: \"no-reformat\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: input }),\n description:\n \"Отлючает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для ускорения сборки форм. (default: true)\",\n },\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересборки. Может содержать значки `?` и `*`.\",\n },\n {\n name: \"use-version-from-cache\",\n defaultValue: { useVersionFromCache: false },\n parse: (input: boolean) => ({ useVersionFromCache: input }),\n description: \"Использовать версию движка и генератора из файловой системы\",\n doesNotRequireValue: true,\n },\n devModeOption,\n logVerbosityOption\n ),\n {\n description:\n \"Выполняет сборку одной или нескольких форм.\\n\" +\n \"Подробнее: https://git.skbkontur.ru/ke/candy-utils/blob/new-candy-tool-cli/README.md\",\n\n detailedDescription: `\nОсновной сценарий: выполняет сборку форм в каталог с ресурсами. Действия, которые выполняет команда:\n\n* Получение движка форм версии указанной в \\`form.json\\`,\n* получение генератора форм версии указанной в \\`form.json\\`,\n* генерация и компиляция формы в каталог ресурсов,\n* создание файлов \\`{gfv}.metas.json\\` в каталоге ресурсов\n* копирование конвертеров в каталог ресурсов,\n* копирование схемы в каталог ресурсов.\n`.trim(),\n\n examples: `\n\\`\\`\\`\n# Сборка формы 104816\ncandy build 104816\n\\`\\`\\`\n\n\\`\\`\\`\n# Сборка все формы группы 1\ncandy build 1?????\n\\`\\`\\`\n\n\\`\\`\\`\n# Собрать форму 104816 и следить за изменениями\ncandy build 104816 -w\n\\`\\`\\`\n\n\\`\\`\\`\n# Использовать последнюю пререлизную версию движка с preid=bso\ncandy build 104816 --use-prerelease-version bso\n\\`\\`\\`\n`.trim(),\n\n extendedDetails: `\n### Версионирование\n\nПри сборке форм, учитывается версия движка и генератора указанные файле form.json. Версии могут указывать не на конкретную версию, а адресовать диапазон в соответствии с [semver](https://semver.org/lang/ru/).\nВ этом случае будет выбрана последняя подходящая версия.\n\nФайл form.json должен выглядеть следующим образом:\n\\`\\`\\`\n{\n // Опционально\n \"themes\": [\"имя-темы\", ...],\n \"dependencies\": {\n \"engine\": \"[версия-движка]\",\n \"generator\": \"[версия-генератора]\"\n }\n}\n\\`\\`\\`\n\n\\`версия-движка\\`, \\`версия-генератора\\` - Соответственно, диапазоны версий. На данный момент всегда совпадают.\n\nДопустимые варианты версий:\n* Версия в формате [semver](https://semver.org/lang/ru/).\n* Версия с префиксом pre. Например, \\`pre:my-stange-branch-name\\`, где \\`my-stange-branch-name\\` - название предрелизной версии, выпускаемой разработчиками Candy, для предварительного выпуска форм.\nВерсия с префиксом pre используются для движков, которые не являются стабильными и используются для предварительных сборок форм.\n`.trim(),\n }\n);\n"],"mappings":";;;;;;AAAA,IAAAA,0BAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAeO,MAAMG,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,IAAAE,4CAAiB,EACxD,OAAO,EACP,OAAO,EACP,IAAAC,4CAAiB,EACb;EACIC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,OAAO;EACbC,YAAY,EAAE;IAAEC,KAAK,EAAE;EAAM,CAAC;EAC9BC,KAAK,EAAEC,KAAK,KAAK;IAAEF,KAAK,EAAEE;EAAM,CAAC,CAAC;EAClCC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,OAAO;EACbC,YAAY,EAAE;IAAEM,KAAK,EAAE;EAAM,CAAC;EAC9BJ,KAAK,EAAEC,KAAK,KAAK;IAAEG,KAAK,EAAEH;EAAM,CAAC,CAAC;EAClCC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE;IAAEO,IAAI,EAAE;EAAc,CAAC;EACrCL,KAAK,EAAGC,KAAa,KAAM;IAAEI,IAAI,EAAEJ;EAAM,CAAC,CAAC;EAC3CE,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,mBAAmB;EACzBC,YAAY,EAAE;IAAEQ,eAAe,EAAE;EAAM,CAAC;EACxCN,KAAK,EAAEC,KAAK,KAAK;IAAEK,eAAe,EAAEL;EAAM,CAAC,CAAC;EAC5CC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EAAE;AACjB,CAAC,EACD;EACIN,IAAI,EAAE,aAAa;EACnBC,YAAY,EAAE;IAAES,cAAc,EAAEC,8BAAc,CAACC;EAAS,CAAC;EACzDT,KAAK,EAAGC,KAAa,KAAM;IAAEM,cAAc,EAAE,IAAAG,mCAAmB,EAACT,KAAK;EAAE,CAAC,CAAC;EAC1EE,WAAW,EACP,+DAA+D,GAC/D,oCAAoC,GACpC,yFAAyF,GACzF,6EAA6E,GAC7E,uEAAuE,GACvE;AACR,CAAC,EACD;EACIN,IAAI,EAAE,yBAAyB;EAC/BC,YAAY,EAAE;IAAEa,oBAAoB,EAAE;EAAM,CAAC;EAC7CX,KAAK,EAAEC,KAAK,KAAK;IAAEU,oBAAoB,EAAEV;EAAM,CAAC,CAAC;EACjDC,mBAAmB,EAAE,IAAI;EACzBC,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,wBAAwB;EAC9BC,YAAY,EAAE;IAAEc,oBAAoB,EAAEC;EAAgC,CAAC;EACvEb,KAAK,EAAGC,KAAa,KAAM;IAAEW,oBAAoB,EAAEX;EAAM,CAAC,CAAC;EAC3DE,WAAW,EACP;AACR,CAAC,EACD;EACIN,IAAI,EAAE,aAAa;EACnBK,mBAAmB,EAAE,IAAI;EACzBJ,YAAY,EAAE;IAAEgB,6BAA6B,EAAE;EAAK,CAAC;EACrDd,KAAK,EAAGC,KAAc,KAAM;IAAEa,6BAA6B,EAAEb;EAAM,CAAC,CAAC;EACrEE,WAAW,EACP;AACR,CAAC,EACD;EACIP,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE;IAAEiB,SAAS,EAAE;EAAG,CAAC;EAC/Bf,KAAK,EAAGC,KAAe,KAAM;IAAEc,SAAS,EAAEd;EAAM,CAAC,CAAC;EAClDe,aAAa,EAAE,IAAI;EACnBC,QAAQ,EAAE,IAAI;EACdd,WAAW,EAAE;AACjB,CAAC,EACD;EACIN,IAAI,EAAE,wBAAwB;EAC9BC,YAAY,EAAE;IAAEoB,mBAAmB,EAAE;EAAM,CAAC;EAC5ClB,KAAK,EAAGC,KAAc,KAAM;IAAEiB,mBAAmB,EAAEjB;EAAM,CAAC,CAAC;EAC3DE,WAAW,EAAE,6DAA6D;EAC1ED,mBAAmB,EAAE;AACzB,CAAC,EACDiB,qCAAa,EACbC,0CACJ,CAAC,EACD;EACIjB,WAAW,EACP,+CAA+C,GAC/C,sFAAsF;EAE1FkB,mBAAmB,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACC,IAAI,CAAC,CAAC;EAEAC,QAAQ,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACD,IAAI,CAAC,CAAC;EAEAE,eAAe,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAACF,IAAI,CAAC;AACH,CACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"BuildFormsOptions.js","names":["_CommandBasedOptionsParser","require","_CommonOptionDefintions","_BuildCacheMode","buildFormsOptionsDefinition","exports","commandDefinition","optionsDefinition","alias","name","defaultValue","watch","parse","input","doesNotRequireValue","description","clean","mode","upgradeFormJson","buildCacheMode","BuildCacheMode","ReadOnly","parseBuildCacheMode","useLastStableVersion","usePrereleaseVersion","undefined","skipGeneratedCodeReformatting","formGlobs","defaultOption","multiple","useVersionFromCache","buildCandyWidget","devModeOption","logVerbosityOption","detailedDescription","trim","examples","extendedDetails"],"sources":["../../../../../src/CLICommands/BuildForms/BuildFormsOptions.ts"],"sourcesContent":["import { commandDefinition, optionsDefinition } from \"../../Commons/Options/CommandBasedOptionsParser\";\nimport { CommonOptions } from \"../CommonOptions/CommonOptions\";\nimport { devModeOption, logVerbosityOption } from \"../CommonOptions/CommonOptionDefintions\";\n\nimport { BuildCacheMode, parseBuildCacheMode } from \"./BuildCacheMode\";\n\nexport interface BuildFormsOptions extends CommonOptions {\n watch: boolean;\n clean: boolean;\n formGlobs: string[];\n upgradeFormJson: boolean;\n useLastStableVersion: boolean;\n usePrereleaseVersion?: string;\n skipGeneratedCodeReformatting: boolean;\n useVersionFromCache: boolean;\n mode: \"development\" | \"production\";\n buildCacheMode: BuildCacheMode;\n buildCandyWidget: boolean;\n}\n\nexport const buildFormsOptionsDefinition = commandDefinition<\"build\", BuildFormsOptions>(\n \"build\",\n \"build\",\n optionsDefinition(\n {\n alias: \"w\",\n name: \"watch\",\n defaultValue: { watch: false },\n parse: input => ({ watch: input }),\n doesNotRequireValue: true,\n description:\n \"Watch-режим. Выполняет сборку форм, а затем пересобирает при изменениях. В том числе движка, генератора и статических ресурсов.\",\n },\n {\n name: \"clean\",\n defaultValue: { clean: false },\n parse: input => ({ clean: input }),\n doesNotRequireValue: true,\n description:\n \"Полностью очищает целевой каталог ресурсов. Используется при полной сборке форм для продакшена\",\n },\n {\n name: \"mode\",\n defaultValue: { mode: \"development\" },\n parse: (input: string) => ({ mode: input }),\n description:\n \"Разделение сборок на продовую (mode=production) и не продовую (mode=development). По умолчанию development\",\n },\n {\n name: \"upgrade-form-json\",\n defaultValue: { upgradeFormJson: false },\n parse: input => ({ upgradeFormJson: input }),\n doesNotRequireValue: true,\n description: \"Форсирует изменение формата файла form.json на новый\",\n },\n {\n name: \"build-cache\",\n defaultValue: { buildCacheMode: BuildCacheMode.ReadOnly },\n parse: (input: string) => ({ buildCacheMode: parseBuildCacheMode(input) }),\n description:\n \"Задаёт режим использования кэша сборки. Возможные значения:\\n\" +\n \" disabled - не использовать кэш\\n\" +\n \" readonly - использовать кэш для сборки, но не обновляет его (значение по умолчанию)\\n\" +\n \" update - использовать кэш для сборки и презаписывать, если не совпадает\\n\" +\n \" force-update - всегда выполнять сборку и обновить значения в кэше\\n\" +\n \"Отключается при использовании watch-режима\",\n },\n {\n name: \"use-last-stable-version\",\n defaultValue: { useLastStableVersion: false },\n parse: input => ({ useLastStableVersion: input }),\n doesNotRequireValue: true,\n description:\n \"Устанавливает версию движка в файла `form.json` в последнюю стабильную версию. Аналогичен запуску candy-build с параметром -ge master\",\n },\n {\n name: \"use-prerelease-version\",\n defaultValue: { usePrereleaseVersion: undefined as undefined | string },\n parse: (input: string) => ({ usePrereleaseVersion: input }),\n description:\n \"Устанавливает версию движка в файла form.json в последнюю пререлизную версию в заданным preid. В файле версии генератора и движка будут установлены в pre:some-preid.\",\n },\n {\n name: \"no-reformat\",\n doesNotRequireValue: true,\n defaultValue: { skipGeneratedCodeReformatting: true },\n parse: (input: boolean) => ({ skipGeneratedCodeReformatting: input }),\n description:\n \"Отлючает форматирование генерируемого кода. Работает, только если версия генератора поддерживает эту опцию. Используется для ускорения сборки форм. (default: true)\",\n },\n {\n alias: \"g\",\n name: \"gfvs\",\n defaultValue: { formGlobs: [] },\n parse: (input: string[]) => ({ formGlobs: input }),\n defaultOption: true,\n multiple: true,\n description: \"Одна или несколько GFV или GFV-масок для пересборки. Может содержать значки `?` и `*`.\",\n },\n {\n name: \"use-version-from-cache\",\n defaultValue: { useVersionFromCache: false },\n parse: (input: boolean) => ({ useVersionFromCache: input }),\n description: \"Использовать версию движка и генератора из файловой системы\",\n doesNotRequireValue: true,\n },\n {\n name: \"build-candy-widget\",\n doesNotRequireValue: true,\n defaultValue: { buildCandyWidget: false },\n parse: (input: boolean) => ({ buildCandyWidget: input }),\n description: \"Собирать candy-виджет\",\n },\n devModeOption,\n logVerbosityOption\n ),\n {\n description:\n \"Выполняет сборку одной или нескольких форм.\\n\" +\n \"Подробнее: https://git.skbkontur.ru/forms/candy/-/blob/master/Tools/README.md#candy-build\",\n\n detailedDescription: `\nОсновной сценарий: выполняет сборку форм в каталог с ресурсами. Действия, которые выполняет команда:\n\n* Получение движка форм версии указанной в \\`form.json\\`,\n* получение генератора форм версии указанной в \\`form.json\\`,\n* генерация и компиляция формы в каталог ресурсов,\n* создание файлов \\`{gfv}.metas.json\\` в каталоге ресурсов\n* копирование конвертеров в каталог ресурсов,\n* копирование схемы в каталог ресурсов.\n`.trim(),\n\n examples: `\n\\`\\`\\`\n# Сборка формы 104816\ncandy build 104816\n\\`\\`\\`\n\n\\`\\`\\`\n# Сборка все формы группы 1\ncandy build 1?????\n\\`\\`\\`\n\n\\`\\`\\`\n# Собрать форму 104816 и следить за изменениями\ncandy build 104816 -w\n\\`\\`\\`\n\n\\`\\`\\`\n# Использовать последнюю пререлизную версию движка с preid=bso\ncandy build 104816 --use-prerelease-version bso\n\\`\\`\\`\n`.trim(),\n\n extendedDetails: `\n### Версионирование\n\nПри сборке форм, учитывается версия движка и генератора указанные файле form.json. Версии могут указывать не на конкретную версию, а адресовать диапазон в соответствии с [semver](https://semver.org/lang/ru/).\nВ этом случае будет выбрана последняя подходящая версия.\n\nФайл form.json должен выглядеть следующим образом:\n\\`\\`\\`\n{\n // Опционально\n \"themes\": [\"имя-темы\", ...],\n \"dependencies\": {\n \"engine\": \"[версия-движка]\",\n \"generator\": \"[версия-генератора]\"\n }\n}\n\\`\\`\\`\n\n\\`версия-движка\\`, \\`версия-генератора\\` - Соответственно, диапазоны версий. На данный момент всегда совпадают.\n\nДопустимые варианты версий:\n* Версия в формате [semver](https://semver.org/lang/ru/).\n* Версия с префиксом pre. Например, \\`pre:my-stange-branch-name\\`, где \\`my-stange-branch-name\\` - название предрелизной версии, выпускаемой разработчиками Candy, для предварительного выпуска форм.\nВерсия с префиксом pre используются для движков, которые не являются стабильными и используются для предварительных сборок форм.\n`.trim(),\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -28,12 +28,15 @@ var _TimingUtils = require("../../Commons/TimingUtils");
28
28
  var _CacheAssetsPlugin = require("../../FormWebpackConfiguration/CacheAssetsPlugin");
29
29
  var _TypingUtils = require("../../../../Common/TypingUtils");
30
30
  var _WriteAttachmentPathFiles = require("../../BuildTasks/Form/WriteAttachmentPathFiles");
31
+ var _EmptyProducer = require("../../Commons/TasksCore/EmptyProducer");
31
32
  var _GetRngSchemaFileExtension = require("../../../../Common/GetRngSchemaFileExtension");
32
33
  var _FormPathUtils = require("../../../../Common/FormPathUtils");
33
34
  var _WellKnownDirectories = require("../../../../Common/WellKnownDirectories");
34
35
  var _WriteAttachmentPathByGfvFiles = require("../../BuildTasks/Form/WriteAttachmentPathByGfvFiles");
35
36
  var _WriteAllKClangFiles = require("../../BuildTasks/Form/WriteAllKClangFiles");
36
37
  var _WriteExtendedSchemaFiles = require("../../BuildTasks/Form/WriteExtendedSchemaFiles");
38
+ var _EngineStructureUtils = require("../../BuildTasks/EngineStructureUtils");
39
+ var _BuildCandyWidgetTask = require("../../BuildTasks/CandyWidget/BuildCandyWidgetTask");
37
40
  function getGeneratorVersion(generatorSource) {
38
41
  if (generatorSource.type === "PublishedGenerator") {
39
42
  return generatorSource.version;
@@ -197,6 +200,8 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
197
200
  });
198
201
  };
199
202
  const buildFormsChain = _Observe.Observe.fixedFormDirectories(formInfos.map(x => _path.default.relative(repositoryRoot, x.formPath))).splitToParallelChains(x => x, x => x, createChainForForm);
203
+ const candyWidgetsConfigTask = await (0, _EngineStructureUtils.createClientViteConfigTask)(engineDirectory);
204
+ const buildCandyWidgetChain = !options.buildCandyWidget ? new _EmptyProducer.EmptyProducer() : candyWidgetsConfigTask.chainWith(p => new _BuildCandyWidgetTask.BuildCandyWidgetTask(p));
200
205
  if (options.clean) {
201
206
  await cleanTargetDirectory(resourcesDirectory, context.logger);
202
207
  }
@@ -221,6 +226,7 @@ async function runBuildForms(context, options, farmDirectory, resourcesDirectory
221
226
  await resourcesExternalConvertersChain.currentValue;
222
227
  await staticResourcesForProductionChain.currentValue;
223
228
  await buildFormsChain.currentValue;
229
+ await buildCandyWidgetChain.currentValue;
224
230
  // eslint-disable-next-line no-console
225
231
  console.log(_chalk.default.greenBright("Build success"));
226
232
  } finally {