@kontur.candy/tools 2.237.0 → 2.238.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.
- package/distr/Common/CandyApiClient/CandyApiClient.js +8 -3
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +17 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +4 -3
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -1
- package/distr/Common/TypingUtils.js +5 -0
- package/distr/Common/TypingUtils.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +2 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -2
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +40 -36
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- 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\";\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 } 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\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 instantResultDelay?: number\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<BaseGetFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\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<number>;\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 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"],"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\";\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 } 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\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<number>;\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"],"mappings":"","ignoreList":[]}
|
|
@@ -74,7 +74,8 @@ class FSPrinterClient {
|
|
|
74
74
|
throw new Error("downloadFufHref is not defined");
|
|
75
75
|
}
|
|
76
76
|
async getInnerFufDriveUrl() {
|
|
77
|
-
|
|
77
|
+
await this.candyApiDraftClient.startGetInnerFufTask();
|
|
78
|
+
const downloadHref = await (0, _PollingTaskWaiter.waitPollingTask)(() => this.candyApiDraftClient.getInnerFufTask());
|
|
78
79
|
if (downloadHref) {
|
|
79
80
|
return downloadHref;
|
|
80
81
|
}
|
|
@@ -83,8 +84,8 @@ class FSPrinterClient {
|
|
|
83
84
|
async getFufDriveUrl() {
|
|
84
85
|
await this.candyApiDraftClient.startGetFufWithAttachmentsTask();
|
|
85
86
|
const downloadFufHref = await (0, _PollingTaskWaiter.waitPollingTask)(() => this.candyApiDraftClient.getFufWithAttachmentsTask("Json"));
|
|
86
|
-
if (downloadFufHref && "
|
|
87
|
-
return downloadFufHref === null || downloadFufHref === void 0 ? void 0 : downloadFufHref.
|
|
87
|
+
if (downloadFufHref && "fuf" in downloadFufHref && downloadFufHref !== null && downloadFufHref !== void 0 && downloadFufHref.fuf.contentUri) {
|
|
88
|
+
return downloadFufHref === null || downloadFufHref === void 0 ? void 0 : downloadFufHref.fuf.contentUri;
|
|
88
89
|
}
|
|
89
90
|
throw new Error("downloadFufHref is not defined");
|
|
90
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FSPrinterClient.js","names":["_HttpClient","require","_AuthenticationMode","_utils","_TypingUtils","_DraftPresentationType","_PollingTaskWaiter","_IFSPrinterClient","FSPrinterClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","candyApiDraftClient","exceptionLogger","httpClient","pullingDelay","factor","timeout","defaultPullingDelay","defaultFactor","defaultTimeout","taskResult","HttpClient","createAuthenticationProvider","printRSV","type","resultType","PrinterResultTypes","Excel","presentation","DraftPresentationType","fuf","innerFuf","requestOptions","options","rsvInfo","driveUri","print","printByRules","partialFufUri","getPartialFufDriveUrl","rules","Pdf","_this$taskResult","applyRequestOptions","task","createTask","runMonitoringTask","taskId","resultUrl","resultUri","resetPrintResult","downloadDocument","downloadFufHref","getPartialFuf","ContentUri","Error","getInnerFufDriveUrl","downloadHref","getInnerFuf","getFufDriveUrl","startGetFufWithAttachmentsTask","waitPollingTask","getFufWithAttachmentsTask","Fuf","_this$taskResult2","_this$taskResult3","checkTask","delay","taskStatus","get","json","errorInfo","userMessage","presentationUri","getPresentationUri","optionsWithFuf","appendFufUrlToOptions","optionsWithSender","appendSenderAppToOptions","taskInfo","post","withJsonBody","_options$fuf$driveUri","_options$fuf2","_options$fuf","driveUrl","isNullOrEmpty","_this$taskResult4","reject","window","location","href","fufUrl","senderApp","_requestOptions$pulli","_requestOptions$facto","_requestOptions$timeo","undefined","exports"],"sources":["../../../../Common/FSPrinterClient/FSPrinterClient.ts"],"sourcesContent":["import { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\nimport { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICandyApiDraftClient } from \"../CandyApiClient/ICandyApiClient\";\nimport { delay } from \"../../Engine/src/Engine/utils\";\nimport { isNullOrEmpty, reject } from \"../TypingUtils\";\nimport { DraftPresentationType } from \"../CandyApiClient/Types/Presentations/DraftPresentationType\";\nimport { waitPollingTask } from \"../CandyApiClient/Types/PollingTasks/PollingTaskWaiter\";\n\nimport {\n FSPrinterTaskResult,\n FSPrinterTaskStatus,\n IFSPrinterClient,\n PrintByRulesOptions,\n PrinterOptions,\n PrinterRequestOptions,\n PrinterResultTypes,\n RSVPrinterOptions,\n} from \"./IFSPrinterClient\";\n\nexport class FSPrinterClient implements IFSPrinterClient {\n private readonly httpClient: IHttpClient;\n private readonly candyApiDraftClient: ICandyApiDraftClient;\n\n private pullingDelay: number = 0;\n private factor: number = 0;\n private timeout: number = 0;\n\n private readonly defaultPullingDelay: number = 1200;\n private readonly defaultFactor: number = 2;\n private readonly defaultTimeout: number = 1000 * 60 * 10;\n\n private taskResult: FSPrinterTaskResult | undefined;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n candyApiDraftClient: ICandyApiDraftClient,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n this.candyApiDraftClient = candyApiDraftClient;\n }\n\n public async printRSV(\n {\n type,\n resultType = PrinterResultTypes.Excel,\n presentation = DraftPresentationType.fuf,\n innerFuf,\n }: RSVPrinterOptions,\n requestOptions?: PrinterRequestOptions\n ): Promise<void> {\n const options: PrinterOptions = {\n resultType: resultType,\n rsvInfo: { type: type },\n presentation: presentation,\n };\n if (innerFuf?.driveUri) {\n options.fuf = { driveUri: innerFuf?.driveUri };\n }\n await this.print(options, requestOptions);\n }\n\n public async printByRules(options: PrintByRulesOptions): Promise<void> {\n const partialFufUri = await this.getPartialFufDriveUrl(options.rules);\n await this.print({\n fuf: {\n driveUri: partialFufUri,\n },\n resultType: PrinterResultTypes.Pdf,\n ...options.options,\n });\n }\n\n public async print(options: PrinterOptions, requestOptions?: PrinterRequestOptions): Promise<void> {\n this.applyRequestOptions(requestOptions);\n const task = await this.createTask(options);\n await this.runMonitoringTask(task.taskId);\n const resultUrl = this.taskResult?.resultUri;\n this.resetPrintResult();\n this.downloadDocument(resultUrl);\n }\n\n private async getPartialFufDriveUrl(rules: string[]): Promise<string> {\n const downloadFufHref = await this.candyApiDraftClient.getPartialFuf(rules);\n if (downloadFufHref && downloadFufHref?.ContentUri) {\n return downloadFufHref?.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getInnerFufDriveUrl(): Promise<string> {\n const downloadHref = await this.candyApiDraftClient.getInnerFuf();\n if (downloadHref) {\n return downloadHref;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetFufWithAttachmentsTask();\n const downloadFufHref = await waitPollingTask(() => this.candyApiDraftClient.getFufWithAttachmentsTask(\"Json\"));\n if (downloadFufHref && \"Fuf\" in downloadFufHref && downloadFufHref?.Fuf.ContentUri) {\n return downloadFufHref?.Fuf.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async runMonitoringTask(taskId: string): Promise<void> {\n while (!this.taskResult?.resultUri) {\n await this.checkTask(taskId);\n if (!this.taskResult?.resultUri) {\n await delay(this.pullingDelay);\n this.pullingDelay *= this.factor;\n }\n }\n }\n\n private async checkTask(taskId: string): Promise<void> {\n const taskStatus = await this.httpClient.get(`v3/tasks/${taskId}`).json<FSPrinterTaskResult>();\n if (taskStatus.errorInfo) {\n throw new Error(taskStatus.errorInfo.userMessage);\n }\n if (taskStatus.resultUri) {\n this.taskResult = taskStatus;\n return;\n }\n if (this.timeout <= this.pullingDelay) {\n throw new Error(`Timeout ${this.timeout / 60 / 1000} min for print file has expired`);\n }\n }\n\n private async createTask(options: PrinterOptions): Promise<FSPrinterTaskStatus> {\n const presentationUri = await this.getPresentationUri(options);\n\n const optionsWithFuf = this.appendFufUrlToOptions(options, presentationUri);\n const optionsWithSender = this.appendSenderAppToOptions(optionsWithFuf);\n const taskInfo = await this.httpClient\n .post(\"v3/tasks\")\n .withJsonBody(optionsWithSender)\n .json<FSPrinterTaskStatus>();\n return taskInfo;\n }\n\n private async getPresentationUri(options: PrinterOptions) {\n if (options.presentation === DraftPresentationType.innerFuf) {\n if (options.fuf?.driveUri) {\n return options.fuf.driveUri;\n }\n return await this.getInnerFufDriveUrl();\n }\n return options.fuf?.driveUri ?? (await this.getFufDriveUrl());\n }\n\n private downloadDocument(driveUrl: string | undefined) {\n if (isNullOrEmpty(driveUrl)) {\n reject(`Ссылка на печать документа пустая или undefined. Трейс печати: ${this.taskResult?.taskId}`);\n }\n window.location.href = driveUrl;\n }\n\n private appendFufUrlToOptions(options: PrinterOptions, fufUrl: string): PrinterOptions {\n return { ...options, fuf: { driveUri: fufUrl } };\n }\n\n private appendSenderAppToOptions(options: PrinterOptions): PrinterOptions {\n return { ...options, senderApp: \"candy-front\" };\n }\n\n private applyRequestOptions(requestOptions?: PrinterRequestOptions) {\n this.pullingDelay = requestOptions?.pullingDelay ?? this.defaultPullingDelay;\n this.factor = requestOptions?.factor ?? this.defaultFactor;\n this.timeout = requestOptions?.timeout ?? this.defaultTimeout;\n }\n\n private resetPrintResult() {\n this.taskResult = undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FSPrinterClient.js","names":["_HttpClient","require","_AuthenticationMode","_utils","_TypingUtils","_DraftPresentationType","_PollingTaskWaiter","_IFSPrinterClient","FSPrinterClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","candyApiDraftClient","exceptionLogger","httpClient","pullingDelay","factor","timeout","defaultPullingDelay","defaultFactor","defaultTimeout","taskResult","HttpClient","createAuthenticationProvider","printRSV","type","resultType","PrinterResultTypes","Excel","presentation","DraftPresentationType","fuf","innerFuf","requestOptions","options","rsvInfo","driveUri","print","printByRules","partialFufUri","getPartialFufDriveUrl","rules","Pdf","_this$taskResult","applyRequestOptions","task","createTask","runMonitoringTask","taskId","resultUrl","resultUri","resetPrintResult","downloadDocument","downloadFufHref","getPartialFuf","ContentUri","Error","getInnerFufDriveUrl","startGetInnerFufTask","downloadHref","waitPollingTask","getInnerFufTask","getFufDriveUrl","startGetFufWithAttachmentsTask","getFufWithAttachmentsTask","contentUri","_this$taskResult2","_this$taskResult3","checkTask","delay","taskStatus","get","json","errorInfo","userMessage","presentationUri","getPresentationUri","optionsWithFuf","appendFufUrlToOptions","optionsWithSender","appendSenderAppToOptions","taskInfo","post","withJsonBody","_options$fuf$driveUri","_options$fuf2","_options$fuf","driveUrl","isNullOrEmpty","_this$taskResult4","reject","window","location","href","fufUrl","senderApp","_requestOptions$pulli","_requestOptions$facto","_requestOptions$timeo","undefined","exports"],"sources":["../../../../Common/FSPrinterClient/FSPrinterClient.ts"],"sourcesContent":["import { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, HttpClient } from \"../HttpClient/HttpClient\";\nimport { IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICandyApiDraftClient } from \"../CandyApiClient/ICandyApiClient\";\nimport { delay } from \"../../Engine/src/Engine/utils\";\nimport { isNullOrEmpty, reject } from \"../TypingUtils\";\nimport { DraftPresentationType } from \"../CandyApiClient/Types/Presentations/DraftPresentationType\";\nimport { waitPollingTask } from \"../CandyApiClient/Types/PollingTasks/PollingTaskWaiter\";\n\nimport {\n FSPrinterTaskResult,\n FSPrinterTaskStatus,\n IFSPrinterClient,\n PrintByRulesOptions,\n PrinterOptions,\n PrinterRequestOptions,\n PrinterResultTypes,\n RSVPrinterOptions,\n} from \"./IFSPrinterClient\";\n\nexport class FSPrinterClient implements IFSPrinterClient {\n private readonly httpClient: IHttpClient;\n private readonly candyApiDraftClient: ICandyApiDraftClient;\n\n private pullingDelay: number = 0;\n private factor: number = 0;\n private timeout: number = 0;\n\n private readonly defaultPullingDelay: number = 1200;\n private readonly defaultFactor: number = 2;\n private readonly defaultTimeout: number = 1000 * 60 * 10;\n\n private taskResult: FSPrinterTaskResult | undefined;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n candyApiDraftClient: ICandyApiDraftClient,\n exceptionLogger?: ExceptionLogger\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger\n );\n this.candyApiDraftClient = candyApiDraftClient;\n }\n\n public async printRSV(\n {\n type,\n resultType = PrinterResultTypes.Excel,\n presentation = DraftPresentationType.fuf,\n innerFuf,\n }: RSVPrinterOptions,\n requestOptions?: PrinterRequestOptions\n ): Promise<void> {\n const options: PrinterOptions = {\n resultType: resultType,\n rsvInfo: { type: type },\n presentation: presentation,\n };\n if (innerFuf?.driveUri) {\n options.fuf = { driveUri: innerFuf?.driveUri };\n }\n await this.print(options, requestOptions);\n }\n\n public async printByRules(options: PrintByRulesOptions): Promise<void> {\n const partialFufUri = await this.getPartialFufDriveUrl(options.rules);\n await this.print({\n fuf: {\n driveUri: partialFufUri,\n },\n resultType: PrinterResultTypes.Pdf,\n ...options.options,\n });\n }\n\n public async print(options: PrinterOptions, requestOptions?: PrinterRequestOptions): Promise<void> {\n this.applyRequestOptions(requestOptions);\n const task = await this.createTask(options);\n await this.runMonitoringTask(task.taskId);\n const resultUrl = this.taskResult?.resultUri;\n this.resetPrintResult();\n this.downloadDocument(resultUrl);\n }\n\n private async getPartialFufDriveUrl(rules: string[]): Promise<string> {\n const downloadFufHref = await this.candyApiDraftClient.getPartialFuf(rules);\n if (downloadFufHref && downloadFufHref?.ContentUri) {\n return downloadFufHref?.ContentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getInnerFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetInnerFufTask();\n const downloadHref = await waitPollingTask(() => this.candyApiDraftClient.getInnerFufTask());\n if (downloadHref) {\n return downloadHref;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async getFufDriveUrl(): Promise<string> {\n await this.candyApiDraftClient.startGetFufWithAttachmentsTask();\n const downloadFufHref = await waitPollingTask(() => this.candyApiDraftClient.getFufWithAttachmentsTask(\"Json\"));\n if (downloadFufHref && \"fuf\" in downloadFufHref && downloadFufHref?.fuf.contentUri) {\n return downloadFufHref?.fuf.contentUri;\n }\n throw new Error(\"downloadFufHref is not defined\");\n }\n\n private async runMonitoringTask(taskId: string): Promise<void> {\n while (!this.taskResult?.resultUri) {\n await this.checkTask(taskId);\n if (!this.taskResult?.resultUri) {\n await delay(this.pullingDelay);\n this.pullingDelay *= this.factor;\n }\n }\n }\n\n private async checkTask(taskId: string): Promise<void> {\n const taskStatus = await this.httpClient.get(`v3/tasks/${taskId}`).json<FSPrinterTaskResult>();\n if (taskStatus.errorInfo) {\n throw new Error(taskStatus.errorInfo.userMessage);\n }\n if (taskStatus.resultUri) {\n this.taskResult = taskStatus;\n return;\n }\n if (this.timeout <= this.pullingDelay) {\n throw new Error(`Timeout ${this.timeout / 60 / 1000} min for print file has expired`);\n }\n }\n\n private async createTask(options: PrinterOptions): Promise<FSPrinterTaskStatus> {\n const presentationUri = await this.getPresentationUri(options);\n\n const optionsWithFuf = this.appendFufUrlToOptions(options, presentationUri);\n const optionsWithSender = this.appendSenderAppToOptions(optionsWithFuf);\n const taskInfo = await this.httpClient\n .post(\"v3/tasks\")\n .withJsonBody(optionsWithSender)\n .json<FSPrinterTaskStatus>();\n return taskInfo;\n }\n\n private async getPresentationUri(options: PrinterOptions) {\n if (options.presentation === DraftPresentationType.innerFuf) {\n if (options.fuf?.driveUri) {\n return options.fuf.driveUri;\n }\n return await this.getInnerFufDriveUrl();\n }\n return options.fuf?.driveUri ?? (await this.getFufDriveUrl());\n }\n\n private downloadDocument(driveUrl: string | undefined) {\n if (isNullOrEmpty(driveUrl)) {\n reject(`Ссылка на печать документа пустая или undefined. Трейс печати: ${this.taskResult?.taskId}`);\n }\n window.location.href = driveUrl;\n }\n\n private appendFufUrlToOptions(options: PrinterOptions, fufUrl: string): PrinterOptions {\n return { ...options, fuf: { driveUri: fufUrl } };\n }\n\n private appendSenderAppToOptions(options: PrinterOptions): PrinterOptions {\n return { ...options, senderApp: \"candy-front\" };\n }\n\n private applyRequestOptions(requestOptions?: PrinterRequestOptions) {\n this.pullingDelay = requestOptions?.pullingDelay ?? this.defaultPullingDelay;\n this.factor = requestOptions?.factor ?? this.defaultFactor;\n this.timeout = requestOptions?.timeout ?? this.defaultTimeout;\n }\n\n private resetPrintResult() {\n this.taskResult = undefined;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAEA,IAAAM,iBAAA,GAAAN,OAAA;AAWO,MAAMO,eAAe,CAA6B;EAc9CC,WAAWA,CACdC,SAAgB,EAChBC,OAAe,EACfC,YAAgC,EAChCC,cAA8C,EAC9CC,mBAAyC,EACzCC,eAAiC,EACnC;IAAA,KApBeC,UAAU;IAAA,KACVF,mBAAmB;IAAA,KAE5BG,YAAY,GAAW,CAAC;IAAA,KACxBC,MAAM,GAAW,CAAC;IAAA,KAClBC,OAAO,GAAW,CAAC;IAAA,KAEVC,mBAAmB,GAAW,IAAI;IAAA,KAClCC,aAAa,GAAW,CAAC;IAAA,KACzBC,cAAc,GAAW,IAAI,GAAG,EAAE,GAAG,EAAE;IAAA,KAEhDC,UAAU;IAUd,IAAI,CAACP,UAAU,GAAG,IAAIQ,sBAAU,CAC5Bd,SAAS,EACTC,OAAO,EACP,IAAAc,gDAA4B,EAACZ,cAAc,CAAC,EAC5C;MACID,YAAY,EAAEA;IAClB,CAAC,EACDG,eACJ,CAAC;IACD,IAAI,CAACD,mBAAmB,GAAGA,mBAAmB;EAClD;EAEA,MAAaY,QAAQA,CACjB;IACIC,IAAI;IACJC,UAAU,GAAGC,oCAAkB,CAACC,KAAK;IACrCC,YAAY,GAAGC,4CAAqB,CAACC,GAAG;IACxCC;EACe,CAAC,EACpBC,cAAsC,EACzB;IACb,MAAMC,OAAuB,GAAG;MAC5BR,UAAU,EAAEA,UAAU;MACtBS,OAAO,EAAE;QAAEV,IAAI,EAAEA;MAAK,CAAC;MACvBI,YAAY,EAAEA;IAClB,CAAC;IACD,IAAIG,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEI,QAAQ,EAAE;MACpBF,OAAO,CAACH,GAAG,GAAG;QAAEK,QAAQ,EAAEJ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI;MAAS,CAAC;IAClD;IACA,MAAM,IAAI,CAACC,KAAK,CAACH,OAAO,EAAED,cAAc,CAAC;EAC7C;EAEA,MAAaK,YAAYA,CAACJ,OAA4B,EAAiB;IACnE,MAAMK,aAAa,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACN,OAAO,CAACO,KAAK,CAAC;IACrE,MAAM,IAAI,CAACJ,KAAK,CAAC;MACbN,GAAG,EAAE;QACDK,QAAQ,EAAEG;MACd,CAAC;MACDb,UAAU,EAAEC,oCAAkB,CAACe,GAAG;MAClC,GAAGR,OAAO,CAACA;IACf,CAAC,CAAC;EACN;EAEA,MAAaG,KAAKA,CAACH,OAAuB,EAAED,cAAsC,EAAiB;IAAA,IAAAU,gBAAA;IAC/F,IAAI,CAACC,mBAAmB,CAACX,cAAc,CAAC;IACxC,MAAMY,IAAI,GAAG,MAAM,IAAI,CAACC,UAAU,CAACZ,OAAO,CAAC;IAC3C,MAAM,IAAI,CAACa,iBAAiB,CAACF,IAAI,CAACG,MAAM,CAAC;IACzC,MAAMC,SAAS,IAAAN,gBAAA,GAAG,IAAI,CAACtB,UAAU,cAAAsB,gBAAA,uBAAfA,gBAAA,CAAiBO,SAAS;IAC5C,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACvB,IAAI,CAACC,gBAAgB,CAACH,SAAS,CAAC;EACpC;EAEA,MAAcT,qBAAqBA,CAACC,KAAe,EAAmB;IAClE,MAAMY,eAAe,GAAG,MAAM,IAAI,CAACzC,mBAAmB,CAAC0C,aAAa,CAACb,KAAK,CAAC;IAC3E,IAAIY,eAAe,IAAIA,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEE,UAAU,EAAE;MAChD,OAAOF,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEE,UAAU;IACtC;IACA,MAAM,IAAIC,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcC,mBAAmBA,CAAA,EAAoB;IACjD,MAAM,IAAI,CAAC7C,mBAAmB,CAAC8C,oBAAoB,CAAC,CAAC;IACrD,MAAMC,YAAY,GAAG,MAAM,IAAAC,kCAAe,EAAC,MAAM,IAAI,CAAChD,mBAAmB,CAACiD,eAAe,CAAC,CAAC,CAAC;IAC5F,IAAIF,YAAY,EAAE;MACd,OAAOA,YAAY;IACvB;IACA,MAAM,IAAIH,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcM,cAAcA,CAAA,EAAoB;IAC5C,MAAM,IAAI,CAAClD,mBAAmB,CAACmD,8BAA8B,CAAC,CAAC;IAC/D,MAAMV,eAAe,GAAG,MAAM,IAAAO,kCAAe,EAAC,MAAM,IAAI,CAAChD,mBAAmB,CAACoD,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/G,IAAIX,eAAe,IAAI,KAAK,IAAIA,eAAe,IAAIA,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAEtB,GAAG,CAACkC,UAAU,EAAE;MAChF,OAAOZ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEtB,GAAG,CAACkC,UAAU;IAC1C;IACA,MAAM,IAAIT,KAAK,CAAC,gCAAgC,CAAC;EACrD;EAEA,MAAcT,iBAAiBA,CAACC,MAAc,EAAiB;IAC3D,OAAO,GAAAkB,iBAAA,GAAC,IAAI,CAAC7C,UAAU,cAAA6C,iBAAA,eAAfA,iBAAA,CAAiBhB,SAAS,GAAE;MAAA,IAAAgB,iBAAA,EAAAC,iBAAA;MAChC,MAAM,IAAI,CAACC,SAAS,CAACpB,MAAM,CAAC;MAC5B,IAAI,GAAAmB,iBAAA,GAAC,IAAI,CAAC9C,UAAU,cAAA8C,iBAAA,eAAfA,iBAAA,CAAiBjB,SAAS,GAAE;QAC7B,MAAM,IAAAmB,YAAK,EAAC,IAAI,CAACtD,YAAY,CAAC;QAC9B,IAAI,CAACA,YAAY,IAAI,IAAI,CAACC,MAAM;MACpC;IACJ;EACJ;EAEA,MAAcoD,SAASA,CAACpB,MAAc,EAAiB;IACnD,MAAMsB,UAAU,GAAG,MAAM,IAAI,CAACxD,UAAU,CAACyD,GAAG,CAAC,YAAYvB,MAAM,EAAE,CAAC,CAACwB,IAAI,CAAsB,CAAC;IAC9F,IAAIF,UAAU,CAACG,SAAS,EAAE;MACtB,MAAM,IAAIjB,KAAK,CAACc,UAAU,CAACG,SAAS,CAACC,WAAW,CAAC;IACrD;IACA,IAAIJ,UAAU,CAACpB,SAAS,EAAE;MACtB,IAAI,CAAC7B,UAAU,GAAGiD,UAAU;MAC5B;IACJ;IACA,IAAI,IAAI,CAACrD,OAAO,IAAI,IAAI,CAACF,YAAY,EAAE;MACnC,MAAM,IAAIyC,KAAK,CAAC,WAAW,IAAI,CAACvC,OAAO,GAAG,EAAE,GAAG,IAAI,iCAAiC,CAAC;IACzF;EACJ;EAEA,MAAc6B,UAAUA,CAACZ,OAAuB,EAAgC;IAC5E,MAAMyC,eAAe,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC1C,OAAO,CAAC;IAE9D,MAAM2C,cAAc,GAAG,IAAI,CAACC,qBAAqB,CAAC5C,OAAO,EAAEyC,eAAe,CAAC;IAC3E,MAAMI,iBAAiB,GAAG,IAAI,CAACC,wBAAwB,CAACH,cAAc,CAAC;IACvE,MAAMI,QAAQ,GAAG,MAAM,IAAI,CAACnE,UAAU,CACjCoE,IAAI,CAAC,UAAU,CAAC,CAChBC,YAAY,CAACJ,iBAAiB,CAAC,CAC/BP,IAAI,CAAsB,CAAC;IAChC,OAAOS,QAAQ;EACnB;EAEA,MAAcL,kBAAkBA,CAAC1C,OAAuB,EAAE;IAAA,IAAAkD,qBAAA,EAAAC,aAAA;IACtD,IAAInD,OAAO,CAACL,YAAY,KAAKC,4CAAqB,CAACE,QAAQ,EAAE;MAAA,IAAAsD,YAAA;MACzD,KAAAA,YAAA,GAAIpD,OAAO,CAACH,GAAG,cAAAuD,YAAA,eAAXA,YAAA,CAAalD,QAAQ,EAAE;QACvB,OAAOF,OAAO,CAACH,GAAG,CAACK,QAAQ;MAC/B;MACA,OAAO,MAAM,IAAI,CAACqB,mBAAmB,CAAC,CAAC;IAC3C;IACA,QAAA2B,qBAAA,IAAAC,aAAA,GAAOnD,OAAO,CAACH,GAAG,cAAAsD,aAAA,uBAAXA,aAAA,CAAajD,QAAQ,cAAAgD,qBAAA,cAAAA,qBAAA,GAAK,MAAM,IAAI,CAACtB,cAAc,CAAC,CAAC;EAChE;EAEQV,gBAAgBA,CAACmC,QAA4B,EAAE;IACnD,IAAI,IAAAC,0BAAa,EAACD,QAAQ,CAAC,EAAE;MAAA,IAAAE,iBAAA;MACzB,IAAAC,mBAAM,EAAC,mEAAAD,iBAAA,GAAkE,IAAI,CAACpE,UAAU,cAAAoE,iBAAA,uBAAfA,iBAAA,CAAiBzC,MAAM,EAAE,CAAC;IACvG;IACA2C,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGN,QAAQ;EACnC;EAEQT,qBAAqBA,CAAC5C,OAAuB,EAAE4D,MAAc,EAAkB;IACnF,OAAO;MAAE,GAAG5D,OAAO;MAAEH,GAAG,EAAE;QAAEK,QAAQ,EAAE0D;MAAO;IAAE,CAAC;EACpD;EAEQd,wBAAwBA,CAAC9C,OAAuB,EAAkB;IACtE,OAAO;MAAE,GAAGA,OAAO;MAAE6D,SAAS,EAAE;IAAc,CAAC;EACnD;EAEQnD,mBAAmBA,CAACX,cAAsC,EAAE;IAAA,IAAA+D,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAChE,IAAI,CAACnF,YAAY,IAAAiF,qBAAA,GAAG/D,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAElB,YAAY,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,mBAAmB;IAC5E,IAAI,CAACF,MAAM,IAAAiF,qBAAA,GAAGhE,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEjB,MAAM,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,aAAa;IAC1D,IAAI,CAACF,OAAO,IAAAiF,qBAAA,GAAGjE,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEhB,OAAO,cAAAiF,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAAC9E,cAAc;EACjE;EAEQ+B,gBAAgBA,CAAA,EAAG;IACvB,IAAI,CAAC9B,UAAU,GAAG8E,SAAS;EAC/B;AACJ;AAACC,OAAA,CAAA9F,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ exports.isNotNullOrEmpty = isNotNullOrEmpty;
|
|
|
20
20
|
exports.isNotNullOrUndefined = isNotNullOrUndefined;
|
|
21
21
|
exports.isNullOrEmpty = isNullOrEmpty;
|
|
22
22
|
exports.isNullOrWhiteSpace = isNullOrWhiteSpace;
|
|
23
|
+
exports.isOneOf = void 0;
|
|
23
24
|
exports.minLengthOrUndefined = minLengthOrUndefined;
|
|
24
25
|
exports.noop = noop;
|
|
25
26
|
exports.reject = reject;
|
|
@@ -97,6 +98,10 @@ function ensureArrayLengthGreaterThenOrEqual(items, length) {
|
|
|
97
98
|
throw new Error(`Array must have minimal length ${length}`);
|
|
98
99
|
}
|
|
99
100
|
}
|
|
101
|
+
|
|
102
|
+
// проверяет, что родительский тип находится в массиве дочерних
|
|
103
|
+
const isOneOf = (value, array) => array.includes(value);
|
|
104
|
+
exports.isOneOf = isOneOf;
|
|
100
105
|
function ensureNever(_neverArgument) {
|
|
101
106
|
// noop
|
|
102
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypingUtils.js","names":["isNotNullOrUndefined","input","undefined","stringifyUnknownError","error","ensureNotNullOrUndefined","message","Error","ensureHasFunctionType","noop","reject","isLengthGreaterThenOrEqual","items","minLength","length","minLengthOrUndefined","ensureIsArray","Array","isArray","arrayHasLength","arrayIsNotEmpty","arrayHasAtLeastOneItem","ensureArrayIsNotEmpty","ensureArrayHasLength","ensureArrayLengthGreaterThenOrEqual","ensureNever","_neverArgument","ensureAndGetString","neverArgument","runAsyncAction","action","isNullOrEmpty","isNotNullOrEmpty","isNullOrWhiteSpace","trim","trimLastSlash","url","slice","assertIs","_"],"sources":["../../../Common/TypingUtils.ts"],"sourcesContent":["/***\n * Строготипизированная замена для Boolean(...)\n * Обычно используется для [...].filter(isNotNullOrUndefined)\n */\nexport function isNotNullOrUndefined<T>(input: T): input is NonNullable<T> {\n return input != undefined;\n}\n\nexport function stringifyUnknownError(error: unknown): undefined | string {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return typeof error === \"object\" && error?.[\"message\"];\n}\n\nexport function ensureNotNullOrUndefined<T>(input: T, message?: string): asserts input is NonNullable<T> {\n if (!isNotNullOrUndefined(input)) {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function ensureHasFunctionType(input: unknown, message?: string): asserts input is Function {\n if (typeof input !== \"function\") {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function noop(): void {\n // noop\n}\n\nexport type ErrorFirstCallback<T> = (...args: [Error, null | undefined] | [null | undefined, T] | [Error]) => void;\n\nexport function reject(message?: string | Error): never {\n if (typeof message === \"string\" || message == undefined) {\n throw new Error(message ?? \"Undefined is not allowed\");\n } else {\n throw message;\n }\n}\n\ntype ArrayOfLength<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends { length: TLength }\n ? TRest\n : ArrayOfLength<TItem, TLength, [TItem, ...TRest]>;\n\nexport type MinLengthArray<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends {\n length: TLength;\n}\n ? [...TRest, ...TItem[]]\n : MinLengthArray<TItem, TLength, [...TRest, TItem]>;\n\nexport function isLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n minLength: TNum\n): items is MinLengthArray<T, TNum> {\n return items.length >= minLength;\n}\n\nexport function minLengthOrUndefined<T, TNum extends number>(\n items: T[],\n minLength: TNum\n): undefined | MinLengthArray<T, TNum> {\n if (isLengthGreaterThenOrEqual(items, minLength)) {\n return items;\n }\n return undefined;\n}\n\nexport function ensureIsArray<T>(items: unknown): T[] {\n if (!Array.isArray(items)) {\n throw new Error(`Must be an array!`);\n }\n return items as T[];\n}\n\nexport function arrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): items is ArrayOfLength<T, TNum> {\n return items.length === length;\n}\n\nexport function arrayIsNotEmpty<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function arrayHasAtLeastOneItem<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function ensureArrayIsNotEmpty<T>(items: readonly T[], message?: string): asserts items is MinLengthArray<T, 1> {\n if (!arrayIsNotEmpty(items)) {\n throw new Error(message ?? `Array must be not empty`);\n }\n}\n\nexport function ensureArrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!arrayHasLength(items, length)) {\n throw new Error(`Array should has length ${length}`);\n }\n}\n\nexport function ensureArrayLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!isLengthGreaterThenOrEqual(items, length)) {\n throw new Error(`Array must have minimal length ${length}`);\n }\n}\n\nexport function ensureNever(_neverArgument: never): void {\n // noop\n}\n\nexport function ensureAndGetString(neverArgument: never): string {\n return `${neverArgument}`;\n}\n\nexport function runAsyncAction(action: () => Promise<void>): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n action();\n}\n\nexport function isNullOrEmpty(input: string | undefined): input is undefined {\n return input == undefined || input === \"\";\n}\n\nexport function isNotNullOrEmpty(input: string | undefined): input is string {\n return !isNullOrEmpty(input);\n}\n\nexport function isNullOrWhiteSpace(input: string | undefined | null): input is undefined | null {\n return input == undefined || input.trim() === \"\";\n}\n\nexport function trimLastSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nexport function assertIs<T>(_: T): void {\n // noop\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypingUtils.js","names":["isNotNullOrUndefined","input","undefined","stringifyUnknownError","error","ensureNotNullOrUndefined","message","Error","ensureHasFunctionType","noop","reject","isLengthGreaterThenOrEqual","items","minLength","length","minLengthOrUndefined","ensureIsArray","Array","isArray","arrayHasLength","arrayIsNotEmpty","arrayHasAtLeastOneItem","ensureArrayIsNotEmpty","ensureArrayHasLength","ensureArrayLengthGreaterThenOrEqual","isOneOf","value","array","includes","exports","ensureNever","_neverArgument","ensureAndGetString","neverArgument","runAsyncAction","action","isNullOrEmpty","isNotNullOrEmpty","isNullOrWhiteSpace","trim","trimLastSlash","url","slice","assertIs","_"],"sources":["../../../Common/TypingUtils.ts"],"sourcesContent":["/***\n * Строготипизированная замена для Boolean(...)\n * Обычно используется для [...].filter(isNotNullOrUndefined)\n */\nexport function isNotNullOrUndefined<T>(input: T): input is NonNullable<T> {\n return input != undefined;\n}\n\nexport function stringifyUnknownError(error: unknown): undefined | string {\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return typeof error === \"object\" && error?.[\"message\"];\n}\n\nexport function ensureNotNullOrUndefined<T>(input: T, message?: string): asserts input is NonNullable<T> {\n if (!isNotNullOrUndefined(input)) {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function ensureHasFunctionType(input: unknown, message?: string): asserts input is Function {\n if (typeof input !== \"function\") {\n throw new Error(message ?? `Value must be defined`);\n }\n}\n\nexport function noop(): void {\n // noop\n}\n\nexport type ErrorFirstCallback<T> = (...args: [Error, null | undefined] | [null | undefined, T] | [Error]) => void;\n\nexport function reject(message?: string | Error): never {\n if (typeof message === \"string\" || message == undefined) {\n throw new Error(message ?? \"Undefined is not allowed\");\n } else {\n throw message;\n }\n}\n\ntype ArrayOfLength<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends { length: TLength }\n ? TRest\n : ArrayOfLength<TItem, TLength, [TItem, ...TRest]>;\n\nexport type MinLengthArray<TItem, TLength extends number, TRest extends TItem[] = []> = TRest extends {\n length: TLength;\n}\n ? [...TRest, ...TItem[]]\n : MinLengthArray<TItem, TLength, [...TRest, TItem]>;\n\nexport function isLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n minLength: TNum\n): items is MinLengthArray<T, TNum> {\n return items.length >= minLength;\n}\n\nexport function minLengthOrUndefined<T, TNum extends number>(\n items: T[],\n minLength: TNum\n): undefined | MinLengthArray<T, TNum> {\n if (isLengthGreaterThenOrEqual(items, minLength)) {\n return items;\n }\n return undefined;\n}\n\nexport function ensureIsArray<T>(items: unknown): T[] {\n if (!Array.isArray(items)) {\n throw new Error(`Must be an array!`);\n }\n return items as T[];\n}\n\nexport function arrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): items is ArrayOfLength<T, TNum> {\n return items.length === length;\n}\n\nexport function arrayIsNotEmpty<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function arrayHasAtLeastOneItem<T>(items: readonly T[]): items is MinLengthArray<T, 1> {\n return items.length > 0;\n}\n\nexport function ensureArrayIsNotEmpty<T>(items: readonly T[], message?: string): asserts items is MinLengthArray<T, 1> {\n if (!arrayIsNotEmpty(items)) {\n throw new Error(message ?? `Array must be not empty`);\n }\n}\n\nexport function ensureArrayHasLength<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!arrayHasLength(items, length)) {\n throw new Error(`Array should has length ${length}`);\n }\n}\n\nexport function ensureArrayLengthGreaterThenOrEqual<T, TNum extends number>(\n items: readonly T[],\n length: TNum\n): asserts items is ArrayOfLength<T, TNum> {\n if (!isLengthGreaterThenOrEqual(items, length)) {\n throw new Error(`Array must have minimal length ${length}`);\n }\n}\n\n// проверяет, что родительский тип находится в массиве дочерних\nexport const isOneOf = <Value, Item extends Value>(value: Value, array: Item[]): value is Item =>\n array.includes(value as Item);\n\nexport function ensureNever(_neverArgument: never): void {\n // noop\n}\n\nexport function ensureAndGetString(neverArgument: never): string {\n return `${neverArgument}`;\n}\n\nexport function runAsyncAction(action: () => Promise<void>): void {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n action();\n}\n\nexport function isNullOrEmpty(input: string | undefined): input is undefined {\n return input == undefined || input === \"\";\n}\n\nexport function isNotNullOrEmpty(input: string | undefined): input is string {\n return !isNullOrEmpty(input);\n}\n\nexport function isNullOrWhiteSpace(input: string | undefined | null): input is undefined | null {\n return input == undefined || input.trim() === \"\";\n}\n\nexport function trimLastSlash(url: string): string {\n return url.slice(-1) === \"/\" ? url.slice(0, -1) : url;\n}\n\nexport function assertIs<T>(_: T): void {\n // noop\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAAIC,KAAQ,EAA2B;EACvE,OAAOA,KAAK,IAAIC,SAAS;AAC7B;AAEO,SAASC,qBAAqBA,CAACC,KAAc,EAAsB;EACtE;EACA;EACA,OAAO,OAAOA,KAAK,KAAK,QAAQ,KAAIA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,SAAS,CAAC;AAC1D;AAEO,SAASC,wBAAwBA,CAAIJ,KAAQ,EAAEK,OAAgB,EAAmC;EACrG,IAAI,CAACN,oBAAoB,CAACC,KAAK,CAAC,EAAE;IAC9B,MAAM,IAAIM,KAAK,CAACD,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,uBAAuB,CAAC;EACvD;AACJ;AAEO,SAASE,qBAAqBA,CAACP,KAAc,EAAEK,OAAgB,EAA6B;EAC/F,IAAI,OAAOL,KAAK,KAAK,UAAU,EAAE;IAC7B,MAAM,IAAIM,KAAK,CAACD,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,uBAAuB,CAAC;EACvD;AACJ;AAEO,SAASG,IAAIA,CAAA,EAAS;EACzB;AAAA;AAKG,SAASC,MAAMA,CAACJ,OAAwB,EAAS;EACpD,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,IAAIJ,SAAS,EAAE;IACrD,MAAM,IAAIK,KAAK,CAACD,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,0BAA0B,CAAC;EAC1D,CAAC,MAAM;IACH,MAAMA,OAAO;EACjB;AACJ;AAYO,SAASK,0BAA0BA,CACtCC,KAAmB,EACnBC,SAAe,EACiB;EAChC,OAAOD,KAAK,CAACE,MAAM,IAAID,SAAS;AACpC;AAEO,SAASE,oBAAoBA,CAChCH,KAAU,EACVC,SAAe,EACoB;EACnC,IAAIF,0BAA0B,CAACC,KAAK,EAAEC,SAAS,CAAC,EAAE;IAC9C,OAAOD,KAAK;EAChB;EACA,OAAOV,SAAS;AACpB;AAEO,SAASc,aAAaA,CAAIJ,KAAc,EAAO;EAClD,IAAI,CAACK,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;IACvB,MAAM,IAAIL,KAAK,CAAC,mBAAmB,CAAC;EACxC;EACA,OAAOK,KAAK;AAChB;AAEO,SAASO,cAAcA,CAC1BP,KAAmB,EACnBE,MAAY,EACmB;EAC/B,OAAOF,KAAK,CAACE,MAAM,KAAKA,MAAM;AAClC;AAEO,SAASM,eAAeA,CAAIR,KAAmB,EAAiC;EACnF,OAAOA,KAAK,CAACE,MAAM,GAAG,CAAC;AAC3B;AAEO,SAASO,sBAAsBA,CAAIT,KAAmB,EAAiC;EAC1F,OAAOA,KAAK,CAACE,MAAM,GAAG,CAAC;AAC3B;AAEO,SAASQ,qBAAqBA,CAAIV,KAAmB,EAAEN,OAAgB,EAAyC;EACnH,IAAI,CAACc,eAAe,CAACR,KAAK,CAAC,EAAE;IACzB,MAAM,IAAIL,KAAK,CAACD,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,yBAAyB,CAAC;EACzD;AACJ;AAEO,SAASiB,oBAAoBA,CAChCX,KAAmB,EACnBE,MAAY,EAC2B;EACvC,IAAI,CAACK,cAAc,CAACP,KAAK,EAAEE,MAAM,CAAC,EAAE;IAChC,MAAM,IAAIP,KAAK,CAAC,2BAA2BO,MAAM,EAAE,CAAC;EACxD;AACJ;AAEO,SAASU,mCAAmCA,CAC/CZ,KAAmB,EACnBE,MAAY,EAC2B;EACvC,IAAI,CAACH,0BAA0B,CAACC,KAAK,EAAEE,MAAM,CAAC,EAAE;IAC5C,MAAM,IAAIP,KAAK,CAAC,kCAAkCO,MAAM,EAAE,CAAC;EAC/D;AACJ;;AAEA;AACO,MAAMW,OAAO,GAAGA,CAA4BC,KAAY,EAAEC,KAAa,KAC1EA,KAAK,CAACC,QAAQ,CAACF,KAAa,CAAC;AAACG,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AAE3B,SAASK,WAAWA,CAACC,cAAqB,EAAQ;EACrD;AAAA;AAGG,SAASC,kBAAkBA,CAACC,aAAoB,EAAU;EAC7D,OAAO,GAAGA,aAAa,EAAE;AAC7B;AAEO,SAASC,cAAcA,CAACC,MAA2B,EAAQ;EAC9D;EACAA,MAAM,CAAC,CAAC;AACZ;AAEO,SAASC,aAAaA,CAACnC,KAAyB,EAAsB;EACzE,OAAOA,KAAK,IAAIC,SAAS,IAAID,KAAK,KAAK,EAAE;AAC7C;AAEO,SAASoC,gBAAgBA,CAACpC,KAAyB,EAAmB;EACzE,OAAO,CAACmC,aAAa,CAACnC,KAAK,CAAC;AAChC;AAEO,SAASqC,kBAAkBA,CAACrC,KAAgC,EAA6B;EAC5F,OAAOA,KAAK,IAAIC,SAAS,IAAID,KAAK,CAACsC,IAAI,CAAC,CAAC,KAAK,EAAE;AACpD;AAEO,SAASC,aAAaA,CAACC,GAAW,EAAU;EAC/C,OAAOA,GAAG,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAGD,GAAG,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGD,GAAG;AACzD;AAEO,SAASE,QAAQA,CAAIC,CAAI,EAAQ;EACpC;AAAA","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ var _FsUtils = require("../../../../Commons/FsUtils");
|
|
|
21
21
|
var _FormPathUtils = require("../../../../../../Common/FormPathUtils");
|
|
22
22
|
var _TypingUtils = require("../../../../../../Common/TypingUtils");
|
|
23
23
|
var _WellKnownDirectories = require("../../../../../../Common/WellKnownDirectories");
|
|
24
|
+
var _NotFoundWebError = require("../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError");
|
|
24
25
|
var _ReportGeneratorErrorToPageBody = require("./ReportGeneratorErrorToPageBody");
|
|
25
26
|
var _RunFormCompilationViaWebpackDevServer = require("./RunFormCompilationViaWebpackDevServer");
|
|
26
27
|
var _WebpackHybridFileSystem = require("./WebpackInMemoryUtils/WebpackHybridFileSystem");
|
|
@@ -189,7 +190,7 @@ class BuildFormDevServer {
|
|
|
189
190
|
}
|
|
190
191
|
}
|
|
191
192
|
if (resultFileName === "") {
|
|
192
|
-
throw
|
|
193
|
+
throw new _NotFoundWebError.NotFoundWebError(`getGeneratedFileAsStream ${filename} not found`);
|
|
193
194
|
}
|
|
194
195
|
return new Promise((resolve, r) => {
|
|
195
196
|
var _this$webpackHybridFi3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw Error(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildFormDevServer.js","names":["path","_interopRequireWildcard","require","_stream","_https","_nodeFetch","_interopRequireDefault","_pLimit","_fsExtra","_GenerateForm","_AcquireFormGenerator","_PublishedVersionUtils","_ResolveFormInfo","_AsyncUtils","_Observe","_FsUtils","_FormPathUtils","_TypingUtils","_WellKnownDirectories","_NotFoundWebError","_ReportGeneratorErrorToPageBody","_RunFormCompilationViaWebpackDevServer","_WebpackHybridFileSystem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","buildGfvToPathMap","repositoryRoots","result","Map","repositoryRoot","formPaths","globAsync","WellKnownDirectories","CandySubdirectoryName","cwd","formPath","gfv","extractGfvFromFormPath","join","BuildFormDevServer","constructor","port","allFarmConfig","candyModulesDirectory","farmConfigArray","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","skipCodeReformatting","nightly","farmDirectory","startParallelLimit","generateChain","webpackDevServerStarted","webpackHybridFileSystem","gfvPaths","undefined","pLimit","findFormPath","_this$gfvPaths","map","x","_this$gfvPaths$get","reject","normalize","formDirPath","allPossibleFilePath","pth","pathExists","Error","writeErrorInEntryAndShowInBrowser","_this$webpackHybridFi","formEntryPointPath","writeBatch","getReportGeneratorErrorToPageBodyScript","formatError","start","WebpackHybridFileSystem","Observe","file","FormJsonFileName","transform","formJsonFile","resolveFormInfo","generatorSource","resolveLocalGeneratorSource","engineSource","resolveLocalEngineSource","generatorVersion","engineVersion","resolveGeneratorVersion","resolveEngineVersion","attach","fi","generatorFactory","y","generator","getGeneratorSourceKey","files","formSourcesPath","do","FormsDirWithHlPath","find","generateForm","hlFarmDirectoryPath","resourcesHash","observe","runFormCompilationViaWebpackDevServer","getGeneratedFileAsStream","filename","delay","resultFileName","GeneratedFormSubdirectory","_this$webpackHybridFi2","statSync","NotFoundWebError","Promise","resolve","_this$webpackHybridFi3","readFile","error","data","Readable","from","getFileAsStream","response","fetch","method","agent","Agent","rejectUnauthorized","compress","status","textResponse","text","buffer","stack","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.ts"],"sourcesContent":["import * as path from \"path\";\nimport { Readable } from \"stream\";\nimport { Agent } from \"https\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\nimport { pathExists } from \"fs-extra\";\n\nimport { generateForm } from \"../../../../BuildTasks/Form/GenerateForm\";\nimport { generatorFactory, getGeneratorSourceKey } from \"../../../../BuildTasks/Generator/AcquireFormGenerator\";\nimport {\n resolveEngineVersion,\n resolveGeneratorVersion,\n resolveLocalEngineSource,\n resolveLocalGeneratorSource,\n} from \"../../../../BuildTasks/PublishedVersionUtils\";\nimport { resolveFormInfo } from \"../../../../BuildTasks/ResolveFormInfo\";\nimport { delay } from \"../../../../../../Common/AsyncUtils\";\nimport { ReasonOrError } from \"../../../../Commons/ErrorUntyped\";\nimport { ChainableValueProducer } from \"../../../../Commons/TasksCore/ChainableValueProducer\";\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { globAsync } from \"../../../../Commons/FsUtils\";\nimport { extractGfvFromFormPath } from \"../../../../../../Common/FormPathUtils\";\nimport { reject } from \"../../../../../../Common/TypingUtils\";\nimport { WellKnownDirectories } from \"../../../../../../Common/WellKnownDirectories\";\nimport { NotFoundWebError } from \"../../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\n\nimport { getReportGeneratorErrorToPageBodyScript } from \"./ReportGeneratorErrorToPageBody\";\nimport { runFormCompilationViaWebpackDevServer } from \"./RunFormCompilationViaWebpackDevServer\";\nimport { WebpackHybridFileSystem } from \"./WebpackInMemoryUtils/WebpackHybridFileSystem\";\n\nasync function buildGfvToPathMap(repositoryRoots: string[]): Promise<Map<string, string>> {\n const result = new Map<string, string>();\n\n for (const repositoryRoot of repositoryRoots) {\n const formPaths = await globAsync(`forms/**/*/${WellKnownDirectories.CandySubdirectoryName}`, {\n cwd: repositoryRoot,\n });\n for (const formPath of formPaths) {\n const gfv = extractGfvFromFormPath(formPath);\n result.set(gfv, path.join(repositoryRoot, formPath));\n }\n }\n\n return result;\n}\n\nexport class BuildFormDevServer {\n private readonly port: number;\n private readonly allFarmConfig: string[];\n private readonly gfv: string;\n private readonly candyModulesDirectory: string;\n private farmDirectory: string;\n private formPath: string;\n private readonly farmConfigArray: FarmConfig[];\n private readonly startParallelLimit: Limit;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private generateChain?: ChainableValueProducer<any>;\n private webpackDevServerStarted = false;\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n private readonly skipCodeReformatting: boolean;\n private webpackHybridFileSystem?: WebpackHybridFileSystem;\n private gfvPaths: undefined | Map<string, string> = undefined;\n\n public constructor(\n port: number,\n allFarmConfig: string[],\n gfv: string,\n candyModulesDirectory: string,\n farmConfigArray: FarmConfig[],\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n skipCodeReformatting: boolean,\n nightly: boolean\n ) {\n this.port = port;\n this.allFarmConfig = allFarmConfig;\n this.gfv = gfv;\n this.candyModulesDirectory = candyModulesDirectory;\n this.farmConfigArray = farmConfigArray;\n this.startParallelLimit = pLimit(1);\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n this.skipCodeReformatting = skipCodeReformatting;\n this.nightly = nightly;\n this.farmDirectory = \"\";\n this.formPath = \"\";\n }\n\n private async findFormPath(gfv: string): Promise<{ formPath: string; farmDirectory: string }> {\n this.gfvPaths = this.gfvPaths ?? (await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, \"..\"))));\n\n if (this.gfvPaths.has(gfv)) {\n const formPath = this.gfvPaths.get(gfv) ?? reject();\n return {\n formPath: formPath ?? reject(),\n farmDirectory: path.normalize(path.join(formPath, \"..\", \"..\", \"..\", \"..\", \"..\", \"candy.farm\")),\n };\n }\n\n let farmDirectory: string | undefined;\n let formDirPath = \"\";\n\n const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, \"forms\", this.gfv));\n for (const pth of allPossibleFilePath) {\n if (await pathExists(pth)) {\n formDirPath = pth;\n farmDirectory = path.join(pth, \"..\", \"..\");\n break;\n }\n }\n\n if (formDirPath === \"\") {\n throw Error(\"formDirPath not found\");\n }\n if (farmDirectory == undefined || !(await pathExists(farmDirectory))) {\n throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);\n }\n return {\n formPath: formDirPath,\n farmDirectory: farmDirectory,\n };\n }\n\n private async writeErrorInEntryAndShowInBrowser(e: unknown) {\n const formEntryPointPath = path.join(this.formPath, \"form\", \"web.js\");\n await this.webpackHybridFileSystem?.writeBatch({\n [formEntryPointPath]: getReportGeneratorErrorToPageBodyScript(this.formatError(e)),\n });\n }\n\n public start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.generateChain != undefined) {\n return;\n }\n\n const { formPath, farmDirectory } = await this.findFormPath(this.gfv);\n this.farmDirectory = farmDirectory;\n this.formPath = formPath;\n this.webpackHybridFileSystem = new WebpackHybridFileSystem(path.join(this.formPath, \"form\"));\n\n this.generateChain = Observe.file(path.join(this.formPath, WellKnownDirectories.FormJsonFileName))\n .transform(formJsonFile =>\n resolveFormInfo(\n formJsonFile,\n this.formPath,\n undefined,\n undefined,\n undefined,\n undefined,\n undefined,\n this.nightly\n )\n )\n .transform(async x => {\n if (this.useGeneratorFromLocalSources) {\n return {\n ...x,\n generatorSource: resolveLocalGeneratorSource(this.engineDirectory),\n engineSource: resolveLocalEngineSource(this.engineDirectory),\n };\n } else {\n if (x.generatorVersion == undefined) {\n throw new Error(\"generatorVersion is no defined\");\n }\n if (x.engineVersion == undefined) {\n throw new Error(\"engineVersion is no defined\");\n }\n return {\n ...x,\n generatorSource: await resolveGeneratorVersion(x.generatorVersion),\n engineSource: await resolveEngineVersion(x.engineVersion),\n };\n }\n })\n .attach(\n async fi => generatorFactory(fi.generatorSource, this.candyModulesDirectory, false, undefined),\n async (fi, y) => ({ ...fi, generator: y }),\n async fi => getGeneratorSourceKey(fi.generatorSource)\n )\n .attach(async fi =>\n Observe.files(\n fi.formSourcesPath,\n \"../../controls/**/generator/*\",\n `./${WellKnownDirectories.FormJsonFileName}`,\n \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\n \"normalizers/**/*\",\n \"validations/**/*\",\n \"localization/**/*\"\n )\n )\n .do(async fi => {\n try {\n const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);\n if (FormsDirWithHlPath == undefined) {\n throw Error(\"FormsDirWithHlPath === undefined\");\n }\n await generateForm(\n fi.formSourcesPath,\n this.farmDirectory,\n FormsDirWithHlPath.hlFarmDirectoryPath,\n fi.generator,\n undefined,\n {\n skipCodeReformatting: this.skipCodeReformatting,\n resourcesHash: \"local-hash\",\n },\n this.webpackHybridFileSystem\n );\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n });\n try {\n await this.generateChain.observe();\n } catch (e) {\n await this.writeErrorInEntryAndShowInBrowser(e);\n }\n\n await runFormCompilationViaWebpackDevServer(\n this.gfv,\n this.formPath,\n path.join(this.farmDirectory, \"res\"),\n \"local-hash\",\n this.buildDebugOnly,\n this.webpackHybridFileSystem,\n this.port\n );\n this.webpackDevServerStarted = true;\n });\n }\n\n public async getGeneratedFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n let resultFileName = \"\";\n const formPath = await this.findFormPath(this.gfv);\n const allPossibleFilePath = [\n path.join(formPath.formPath, WellKnownDirectories.GeneratedFormSubdirectory, filename),\n ];\n for (const pth of allPossibleFilePath) {\n try {\n if (this.webpackHybridFileSystem?.statSync(pth)) {\n resultFileName = pth;\n break;\n }\n } catch {\n continue;\n }\n }\n if (resultFileName === \"\") {\n throw new NotFoundWebError(`getGeneratedFileAsStream ${filename} not found`);\n }\n\n return new Promise((resolve, r) => {\n this.webpackHybridFileSystem?.readFile(resultFileName, \"utf-8\", (error, data) => {\n if (error) {\n r(error);\n } else {\n resolve(Readable.from([data]));\n }\n });\n });\n }\n\n public async getFileAsStream(filename: string): Promise<NodeJS.ReadableStream> {\n while (!this.webpackDevServerStarted) {\n await delay(500);\n }\n const response = await fetch(`https://localhost:${this.port}/${filename}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n if (response.status != 200) {\n const textResponse = await response.text();\n throw new Error(textResponse);\n }\n const buffer = await response.buffer();\n return Readable.from(buffer);\n }\n\n private formatError(e: ReasonOrError): string {\n if (e instanceof Error) {\n return `${e}\\n${e.stack}`;\n }\n return `${e}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,8 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
9
9
|
var _miniCssExtractPlugin = _interopRequireDefault(require("mini-css-extract-plugin"));
|
|
10
10
|
var _webpack = _interopRequireDefault(require("webpack"));
|
|
11
11
|
var _CacheAssetsPlugin = require("./CacheAssetsPlugin");
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
14
|
async function createConfigVariant(options) {
|
|
13
15
|
const {
|
|
14
16
|
gfv
|
|
@@ -25,8 +27,8 @@ async function createConfigVariant(options) {
|
|
|
25
27
|
};
|
|
26
28
|
const babelLoaderRules = [];
|
|
27
29
|
if (!options.isLocalDev) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
const loader = await Promise.resolve().then(() => _interopRequireWildcard(require("thread-loader")));
|
|
31
|
+
loader.warmup(threadLoaderOptions, ["babel-loader", "@babel/preset-env", "@babel/preset-react"]);
|
|
30
32
|
babelLoaderRules.push({
|
|
31
33
|
loader: require.resolve("thread-loader"),
|
|
32
34
|
options: threadLoaderOptions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFormWebpackConfiguration.js","names":["_path","_interopRequireDefault","require","_miniCssExtractPlugin","_webpack","_CacheAssetsPlugin","createConfigVariant","options","gfv","fileNameSuffix","mode","formPath","buildCache","buildCacheOptions","undefined","BuildCache","farmDirectory","buildCacheWebpackPlugin","createWebpackPlugin","devtoolOption","isLocalDev","threadLoaderOptions","workers","workerParallelJobs","workerNodeArgs","babelLoaderRules","warmup","push","loader","resolve","target","context","output","filename","path","resourcesDirectoryPath","publicPath","alias","join","__dirname","variables","Resources","extensions","entry","devtool","cache","type","maxGenerations","module","rules","test","use","MiniCssExtractPlugin","modules","localIdentName","postcssOptions","ident","plugins","overrideBrowserslist","oneOf","babelrc","configFile","presets","targets","browsers","loose","useBuiltIns","corejs","legacy","cacheDirectory","fullySpecified","exclude","name","webpack","DefinePlugin","GFV","JSON","stringify","NODE_ENV","RESOURCES_HASH","resourcesHash","filter","isNotNullOrUndefined","input","createConfig","result","modes","Promise","all"],"sources":["../../../../src/FormWebpackConfiguration/createFormWebpackConfiguration.ts"],"sourcesContent":["import path from \"path\";\n\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\nimport webpack, { Configuration } from \"webpack\";\n\nimport { BuildCache, FormBuildCacheOptions } from \"./CacheAssetsPlugin\";\n\ntype BuildMode = \"production\" | \"development\";\n\ninterface CreateWebpackConfigurationVariantOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n mode?: BuildMode;\n isLocalDev?: boolean;\n resourcesDirectoryPath: string;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nasync function createConfigVariant(options: CreateWebpackConfigurationVariantOptions): Promise<Configuration> {\n const { gfv } = options;\n\n const fileNameSuffix = options.mode === \"production\" ? \".min\" : \"\";\n\n const formPath = options.formPath;\n const buildCache =\n options.buildCacheOptions != undefined\n ? new BuildCache(options.buildCacheOptions.farmDirectory, options.buildCacheOptions.mode)\n : undefined;\n\n const buildCacheWebpackPlugin =\n buildCache != undefined && options.buildCacheOptions != undefined\n ? await buildCache.createWebpackPlugin(options.buildCacheOptions)\n : undefined;\n\n const devtoolOption: Configuration[\"devtool\"] =\n options.mode === \"production\" ? \"hidden-source-map\" : options.isLocalDev ? \"inline-source-map\" : \"source-map\";\n\n const threadLoaderOptions = {\n workers: 4,\n workerParallelJobs: 10,\n workerNodeArgs: [\"--max-old-space-size=3072\"],\n };\n\n const babelLoaderRules = [];\n\n if (!options.isLocalDev) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n require(\"thread-loader\").warmup(threadLoaderOptions, [\n \"babel-loader\",\n \"@babel/preset-env\",\n \"@babel/preset-react\",\n ]);\n\n babelLoaderRules.push({\n loader: require.resolve(\"thread-loader\"),\n options: threadLoaderOptions,\n });\n }\n\n return {\n mode: options.mode,\n target: [\"web\", \"es5\"],\n context: formPath,\n output: {\n filename: `public/scripts/${gfv}${fileNameSuffix}.js`,\n path: options.resourcesDirectoryPath,\n publicPath: \"/static/\",\n },\n resolve: {\n alias: {\n \"variables.less\": path.resolve(path.join(__dirname, \"variables.less\")),\n variables: path.resolve(path.join(__dirname, \"variables.less\")),\n Resources: path.join(formPath, \"form\", \"resources\"),\n },\n extensions: [\".js\", \".jsx\"],\n },\n entry: [path.join(formPath, \"form\", \"./web\")],\n devtool: devtoolOption,\n cache:\n options.mode === \"development\"\n ? {\n type: \"memory\",\n maxGenerations: 5,\n }\n : false,\n module: {\n rules: [\n {\n test: /\\.less$/,\n use: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n loader: MiniCssExtractPlugin.loader as any,\n options: { publicPath: \"../../\" },\n },\n {\n loader: require.resolve(\"css-loader\"),\n options: {\n modules: {\n localIdentName: \"[hash:base64:5]\",\n },\n },\n },\n {\n loader: require.resolve(\"postcss-loader\"),\n options: {\n postcssOptions: {\n ident: \"postcss\",\n plugins: [\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n require(\"autoprefixer\")({\n // Просто дефолтные значение из текущего (1.7.7) browserslist\n overrideBrowserslist: \"> 1%, last 2 versions, Firefox ESR\",\n }),\n ],\n },\n },\n },\n {\n loader: require.resolve(\"less-loader\"),\n },\n ],\n },\n {\n test: /\\.jsx?$/,\n oneOf: [\n {\n test: /(kcXmlValidationConfigurator|kcXmlAutoCalculationConfigurator|dataDeclaration)\\.js$/,\n type: \"javascript/auto\",\n },\n {\n use: [\n ...babelLoaderRules,\n {\n loader: require.resolve(\"babel-loader\"),\n options: {\n babelrc: false,\n configFile: false,\n presets: [\n require.resolve(\"@babel/preset-react\"),\n [\n require.resolve(\"@babel/preset-env\"),\n {\n targets: {\n browsers: [\">0.5%\", \"last 2 versions\", \"not dead\", \"not IE 11\"],\n },\n loose: true,\n useBuiltIns: \"usage\",\n corejs: 3,\n },\n ],\n ],\n plugins: [\n [require.resolve(\"@babel/plugin-proposal-decorators\"), { legacy: true }],\n [\n require.resolve(\"@babel/plugin-transform-class-properties\"),\n { loose: true },\n ],\n require.resolve(\"@babel/plugin-proposal-export-default-from\"),\n ],\n cacheDirectory: true,\n },\n },\n ],\n resolve: {\n fullySpecified: false,\n },\n exclude: [/node_modules/],\n },\n ],\n },\n {\n test: /\\.(png|svg)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/images/[hash].[ext]\" },\n },\n {\n test: /\\.(ttf|eot|woff2?)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/fonts/[hash].[ext]\" },\n },\n ],\n },\n // @ts-expect-error Починится, когда все либы обновятся\n plugins: [\n new MiniCssExtractPlugin({\n filename: `public/styles/${gfv}${fileNameSuffix}.css`,\n }),\n new webpack.DefinePlugin({\n \"process.env\": {\n GFV: JSON.stringify(gfv),\n NODE_ENV: JSON.stringify(options.mode),\n RESOURCES_HASH: JSON.stringify(options.resourcesHash),\n },\n }),\n buildCacheWebpackPlugin,\n ].filter(isNotNullOrUndefined),\n };\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n\nexport interface CreateWebpackConfigurationOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n resourcesDirectoryPath: string;\n modes: BuildMode[];\n isLocalDev?: boolean;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nexport function createConfig(options: CreateWebpackConfigurationOptions): Promise<Configuration[]> {\n const result: Array<Promise<Configuration>> = [];\n\n for (const mode of options.modes) {\n result.push(\n createConfigVariant({\n gfv: options.gfv,\n resourcesHash: options.resourcesHash,\n formPath: options.formPath,\n resourcesDirectoryPath: options.resourcesDirectoryPath,\n mode: mode,\n isLocalDev: options.isLocalDev,\n buildCacheOptions: options.buildCacheOptions,\n })\n );\n }\n return Promise.all(result);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createFormWebpackConfiguration.js","names":["_path","_interopRequireDefault","require","_miniCssExtractPlugin","_webpack","_CacheAssetsPlugin","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","createConfigVariant","options","gfv","fileNameSuffix","mode","formPath","buildCache","buildCacheOptions","undefined","BuildCache","farmDirectory","buildCacheWebpackPlugin","createWebpackPlugin","devtoolOption","isLocalDev","threadLoaderOptions","workers","workerParallelJobs","workerNodeArgs","babelLoaderRules","loader","Promise","resolve","then","warmup","push","target","context","output","filename","path","resourcesDirectoryPath","publicPath","alias","join","__dirname","variables","Resources","extensions","entry","devtool","cache","type","maxGenerations","module","rules","test","use","MiniCssExtractPlugin","modules","localIdentName","postcssOptions","ident","plugins","overrideBrowserslist","oneOf","babelrc","configFile","presets","targets","browsers","loose","useBuiltIns","corejs","legacy","cacheDirectory","fullySpecified","exclude","name","webpack","DefinePlugin","GFV","JSON","stringify","NODE_ENV","RESOURCES_HASH","resourcesHash","filter","isNotNullOrUndefined","input","createConfig","result","modes","all"],"sources":["../../../../src/FormWebpackConfiguration/createFormWebpackConfiguration.ts"],"sourcesContent":["import path from \"path\";\n\nimport MiniCssExtractPlugin from \"mini-css-extract-plugin\";\nimport webpack, { Configuration } from \"webpack\";\n\nimport { BuildCache, FormBuildCacheOptions } from \"./CacheAssetsPlugin\";\n\ntype BuildMode = \"production\" | \"development\";\n\ninterface CreateWebpackConfigurationVariantOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n mode?: BuildMode;\n isLocalDev?: boolean;\n resourcesDirectoryPath: string;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nasync function createConfigVariant(options: CreateWebpackConfigurationVariantOptions): Promise<Configuration> {\n const { gfv } = options;\n\n const fileNameSuffix = options.mode === \"production\" ? \".min\" : \"\";\n\n const formPath = options.formPath;\n const buildCache =\n options.buildCacheOptions != undefined\n ? new BuildCache(options.buildCacheOptions.farmDirectory, options.buildCacheOptions.mode)\n : undefined;\n\n const buildCacheWebpackPlugin =\n buildCache != undefined && options.buildCacheOptions != undefined\n ? await buildCache.createWebpackPlugin(options.buildCacheOptions)\n : undefined;\n\n const devtoolOption: Configuration[\"devtool\"] =\n options.mode === \"production\" ? \"hidden-source-map\" : options.isLocalDev ? \"inline-source-map\" : \"source-map\";\n\n const threadLoaderOptions = {\n workers: 4,\n workerParallelJobs: 10,\n workerNodeArgs: [\"--max-old-space-size=3072\"],\n };\n\n const babelLoaderRules = [];\n\n if (!options.isLocalDev) {\n const loader = await import(\"thread-loader\");\n loader.warmup(threadLoaderOptions, [\"babel-loader\", \"@babel/preset-env\", \"@babel/preset-react\"]);\n\n babelLoaderRules.push({\n loader: require.resolve(\"thread-loader\"),\n options: threadLoaderOptions,\n });\n }\n\n return {\n mode: options.mode,\n target: [\"web\", \"es5\"],\n context: formPath,\n output: {\n filename: `public/scripts/${gfv}${fileNameSuffix}.js`,\n path: options.resourcesDirectoryPath,\n publicPath: \"/static/\",\n },\n resolve: {\n alias: {\n \"variables.less\": path.resolve(path.join(__dirname, \"variables.less\")),\n variables: path.resolve(path.join(__dirname, \"variables.less\")),\n Resources: path.join(formPath, \"form\", \"resources\"),\n },\n extensions: [\".js\", \".jsx\"],\n },\n entry: [path.join(formPath, \"form\", \"./web\")],\n devtool: devtoolOption,\n cache:\n options.mode === \"development\"\n ? {\n type: \"memory\",\n maxGenerations: 5,\n }\n : false,\n module: {\n rules: [\n {\n test: /\\.less$/,\n use: [\n {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n loader: MiniCssExtractPlugin.loader as any,\n options: { publicPath: \"../../\" },\n },\n {\n loader: require.resolve(\"css-loader\"),\n options: {\n modules: {\n localIdentName: \"[hash:base64:5]\",\n },\n },\n },\n {\n loader: require.resolve(\"postcss-loader\"),\n options: {\n postcssOptions: {\n ident: \"postcss\",\n plugins: [\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n require(\"autoprefixer\")({\n // Просто дефолтные значение из текущего (1.7.7) browserslist\n overrideBrowserslist: \"> 1%, last 2 versions, Firefox ESR\",\n }),\n ],\n },\n },\n },\n {\n loader: require.resolve(\"less-loader\"),\n },\n ],\n },\n {\n test: /\\.jsx?$/,\n oneOf: [\n {\n test: /(kcXmlValidationConfigurator|kcXmlAutoCalculationConfigurator|dataDeclaration)\\.js$/,\n type: \"javascript/auto\",\n },\n {\n use: [\n ...babelLoaderRules,\n {\n loader: require.resolve(\"babel-loader\"),\n options: {\n babelrc: false,\n configFile: false,\n presets: [\n require.resolve(\"@babel/preset-react\"),\n [\n require.resolve(\"@babel/preset-env\"),\n {\n targets: {\n browsers: [\">0.5%\", \"last 2 versions\", \"not dead\", \"not IE 11\"],\n },\n loose: true,\n useBuiltIns: \"usage\",\n corejs: 3,\n },\n ],\n ],\n plugins: [\n [require.resolve(\"@babel/plugin-proposal-decorators\"), { legacy: true }],\n [\n require.resolve(\"@babel/plugin-transform-class-properties\"),\n { loose: true },\n ],\n require.resolve(\"@babel/plugin-proposal-export-default-from\"),\n ],\n cacheDirectory: true,\n },\n },\n ],\n resolve: {\n fullySpecified: false,\n },\n exclude: [/node_modules/],\n },\n ],\n },\n {\n test: /\\.(png|svg)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/images/[hash].[ext]\" },\n },\n {\n test: /\\.(ttf|eot|woff2?)$/,\n loader: require.resolve(\"file-loader\"),\n options: { name: \"public/fonts/[hash].[ext]\" },\n },\n ],\n },\n // @ts-expect-error Починится, когда все либы обновятся\n plugins: [\n new MiniCssExtractPlugin({\n filename: `public/styles/${gfv}${fileNameSuffix}.css`,\n }),\n new webpack.DefinePlugin({\n \"process.env\": {\n GFV: JSON.stringify(gfv),\n NODE_ENV: JSON.stringify(options.mode),\n RESOURCES_HASH: JSON.stringify(options.resourcesHash),\n },\n }),\n buildCacheWebpackPlugin,\n ].filter(isNotNullOrUndefined),\n };\n}\n\nfunction isNotNullOrUndefined<T>(input: T | undefined | null): input is T {\n return input != undefined;\n}\n\nexport interface CreateWebpackConfigurationOptions {\n gfv: string;\n resourcesHash: string;\n formPath: string;\n resourcesDirectoryPath: string;\n modes: BuildMode[];\n isLocalDev?: boolean;\n buildCacheOptions?: FormBuildCacheOptions;\n}\n\nexport function createConfig(options: CreateWebpackConfigurationOptions): Promise<Configuration[]> {\n const result: Array<Promise<Configuration>> = [];\n\n for (const mode of options.modes) {\n result.push(\n createConfigVariant({\n gfv: options.gfv,\n resourcesHash: options.resourcesHash,\n formPath: options.formPath,\n resourcesDirectoryPath: options.resourcesDirectoryPath,\n mode: mode,\n isLocalDev: options.isLocalDev,\n buildCacheOptions: options.buildCacheOptions,\n })\n );\n }\n return Promise.all(result);\n}\n"],"mappings":"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","ignoreList":[]}
|