@kontur.candy/tools 2.210.1-cgroupv2.0 → 2.210.1-cgroupv2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/distr/Common/AsyncUtils.js +18 -0
- package/distr/Common/AsyncUtils.js.map +1 -0
- package/distr/Common/AutoValidationUtils.js +8 -0
- package/distr/Common/AutoValidationUtils.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClient.js +578 -0
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/CandyApiClientContext.js +18 -0
- package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +12 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +1 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +6 -0
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +33 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +35 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +20 -0
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +89 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +42 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +9 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +6 -0
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +18 -0
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +15 -0
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +19 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +1 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +6 -0
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +248 -0
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/ICandyApiClient.js +6 -0
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -0
- package/distr/Common/CandyApiClient/IsBuffer.js +15 -0
- package/distr/Common/CandyApiClient/IsBuffer.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +6 -0
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +6 -0
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +24 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +9 -0
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/DraftFullId.js +6 -0
- package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +12 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolveInnerPathRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ResolvePathResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +17 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +13 -0
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +15 -0
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +9 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Guid.js +6 -0
- package/distr/Common/CandyApiClient/Types/Guid.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +6 -0
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +6 -0
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +24 -0
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +6 -0
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js +12 -0
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +19 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +13 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +21 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +19 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +15 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +6 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +26 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +16 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +16 -0
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +6 -0
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +6 -0
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +14 -0
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +1 -0
- package/distr/Common/CollectionUtils.js +15 -0
- package/distr/Common/CollectionUtils.js.map +1 -0
- package/distr/Common/CommonConstants/SectionNames.js +11 -0
- package/distr/Common/CommonConstants/SectionNames.js.map +1 -0
- package/distr/Common/Comparers.js +63 -0
- package/distr/Common/Comparers.js.map +1 -0
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +22 -0
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +1 -0
- package/distr/Common/EndPoints.js +16 -0
- package/distr/Common/EndPoints.js.map +1 -0
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js +12 -0
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +1 -0
- package/distr/Common/Errors.js +44 -0
- package/distr/Common/Errors.js.map +1 -0
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +31 -0
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +1 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +153 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +19 -0
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +1 -0
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js +39 -0
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +1 -0
- package/distr/Common/FormActionHandlers/ContextualActionNames.js +14 -0
- package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +1 -0
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +6 -0
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +1 -0
- package/distr/Common/FormPathUtils.js +21 -0
- package/distr/Common/FormPathUtils.js.map +1 -0
- package/distr/Common/Funcs.js +11 -0
- package/distr/Common/Funcs.js.map +1 -0
- package/distr/Common/GFV.js +6 -0
- package/distr/Common/GFV.js.map +1 -0
- package/distr/Common/GetRngSchemaFileExtension.js +26 -0
- package/distr/Common/GetRngSchemaFileExtension.js.map +1 -0
- package/distr/Common/Hooks/UseLocalStorage.js +35 -0
- package/distr/Common/Hooks/UseLocalStorage.js.map +1 -0
- package/distr/Common/HttpClient/AuthenticationMode.js +31 -0
- package/distr/Common/HttpClient/AuthenticationMode.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +9 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +9 -0
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js +6 -0
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +8 -0
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +1 -0
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +36 -0
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +1 -0
- package/distr/Common/HttpClient/HttpClient.js +313 -0
- package/distr/Common/HttpClient/HttpClient.js.map +1 -0
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +6 -0
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +1 -0
- package/distr/Common/HttpClient/IHttpClient.js +6 -0
- package/distr/Common/HttpClient/IHttpClient.js.map +1 -0
- package/distr/Common/IndentString.js +16 -0
- package/distr/Common/IndentString.js.map +1 -0
- package/distr/Common/IntRangeUtils.js +32 -0
- package/distr/Common/IntRangeUtils.js.map +1 -0
- package/distr/Common/IterableUtils.js +288 -0
- package/distr/Common/IterableUtils.js.map +1 -0
- package/distr/Common/KCLangRuntimeUtils.js +266 -0
- package/distr/Common/KCLangRuntimeUtils.js.map +1 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +55 -0
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -0
- package/distr/Common/ModelPath/BuildIterationSequence.js +41 -0
- package/distr/Common/ModelPath/BuildIterationSequence.js.map +1 -0
- package/distr/Common/ModelPath/EachCurrentCollision.js +12 -0
- package/distr/Common/ModelPath/EachCurrentCollision.js.map +1 -0
- package/distr/Common/ModelPath/IEquatable.js +6 -0
- package/distr/Common/ModelPath/IEquatable.js.map +1 -0
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +23 -0
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/Map/Map2.js +99 -0
- package/distr/Common/ModelPath/Map/Map2.js.map +1 -0
- package/distr/Common/ModelPath/Map/ModelPathMap.js +23 -0
- package/distr/Common/ModelPath/Map/ModelPathMap.js.map +1 -0
- package/distr/Common/ModelPath/ModelPath.js +476 -0
- package/distr/Common/ModelPath/ModelPath.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathBuilder.js +42 -0
- package/distr/Common/ModelPath/ModelPathBuilder.js.map +1 -0
- package/distr/Common/ModelPath/ModelPathHelper.js +34 -0
- package/distr/Common/ModelPath/ModelPathHelper.js.map +1 -0
- package/distr/Common/ModelPath/PathMatcher.js +95 -0
- package/distr/Common/ModelPath/PathMatcher.js.map +1 -0
- package/distr/Common/ModelPath/PathSplitHelper.js +21 -0
- package/distr/Common/ModelPath/PathSplitHelper.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/ModelPathSet.js +31 -0
- package/distr/Common/ModelPath/Set/ModelPathSet.js.map +1 -0
- package/distr/Common/ModelPath/Set/Set2.js +59 -0
- package/distr/Common/ModelPath/Set/Set2.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +33 -0
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +6 -0
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +11 -0
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +66 -0
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +108 -0
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +1 -0
- package/distr/Common/NidusClient/INidusClient.js +14 -0
- package/distr/Common/NidusClient/INidusClient.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientContext.js +34 -0
- package/distr/Common/NidusClient/NidusClientContext.js.map +1 -0
- package/distr/Common/NidusClient/NidusClientImpl.js +55 -0
- package/distr/Common/NidusClient/NidusClientImpl.js.map +1 -0
- package/distr/Common/PathConstants.js +11 -0
- package/distr/Common/PathConstants.js.map +1 -0
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js +6 -0
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistApiClient.js +31 -0
- package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +1 -0
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +36 -0
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +53 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +37 -0
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +6 -0
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +1 -0
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +6 -0
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +1 -0
- package/distr/Common/RngSchemeTypes/types.js +6 -0
- package/distr/Common/RngSchemeTypes/types.js.map +1 -0
- package/distr/Common/StringArrayKey.js +26 -0
- package/distr/Common/StringArrayKey.js.map +1 -0
- package/distr/Common/TextExtractor/TextExtractorTypes.js +6 -0
- package/distr/Common/TextExtractor/TextExtractorTypes.js.map +1 -0
- package/distr/Common/TypingUtils.js +118 -0
- package/distr/Common/TypingUtils.js.map +1 -0
- package/distr/Common/UUID.js +14 -0
- package/distr/Common/UUID.js.map +1 -0
- package/distr/Common/UseAsyncEffect.js +20 -0
- package/distr/Common/UseAsyncEffect.js.map +1 -0
- package/distr/Common/UseShowOnce.js +60 -0
- package/distr/Common/UseShowOnce.js.map +1 -0
- package/distr/Common/UseTypedSelector.js +10 -0
- package/distr/Common/UseTypedSelector.js.map +1 -0
- package/distr/Common/WellKnownDirectories.js +14 -0
- package/distr/Common/WellKnownDirectories.js.map +1 -0
- package/distr/Common/hashUtils.js +14 -0
- package/distr/Common/hashUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +77 -0
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +14 -0
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +22 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +88 -0
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +82 -0
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +10 -0
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +42 -0
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +30 -0
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/FSTask.js +67 -0
- package/distr/Tools/src/BuildTasks/FSTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +52 -0
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +44 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +37 -0
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +25 -0
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +31 -0
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +27 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +95 -0
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +126 -0
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +174 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +121 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +45 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +52 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +49 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +19 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +64 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +84 -0
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +1 -0
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +174 -0
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +112 -0
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +1 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +107 -0
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Version.js +41 -0
- package/distr/Tools/src/BuildTasks/Version.js.map +1 -0
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +27 -0
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +28 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +169 -0
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js +24 -0
- package/distr/Tools/src/CLICommands/BuildForms/ClearSourceMapForProduction.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +234 -0
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +36 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +112 -0
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +158 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +94 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +129 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js +45 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerCandyWidgetController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +76 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +67 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +65 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +117 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +22 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +96 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +231 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js +70 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +57 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +67 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +21 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +52 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +80 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +31 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +184 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +213 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +28 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +6 -0
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +110 -0
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -0
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +50 -0
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +19 -0
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +30 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +1 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +6 -0
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +163 -0
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +112 -0
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +34 -0
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +50 -0
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -0
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +54 -0
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}./320/232/320/241.candy.js.kclang +0 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.AfterMerge.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.BeforePreload.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.fufPatcher.xslt +11 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/converters/{gfv}.outer.inner.json +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +2 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/form.json +12 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/addPril1.txt +6 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/presentations.json +8 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{gfv}.0.rng.xml +20 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/sugar/index.sugar.xml +10 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +16 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +23 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/validations.KC.kclang +0 -0
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +34 -0
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +117 -0
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +44 -0
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +73 -0
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +25 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +1 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +38 -0
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +36 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +50 -0
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +144 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +78 -0
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +1 -0
- package/distr/Tools/src/CandyCLI.js +144 -0
- package/distr/Tools/src/CandyCLI.js.map +1 -0
- package/distr/Tools/src/CheckNodeJsVersion.js +32 -0
- package/distr/Tools/src/CheckNodeJsVersion.js.map +1 -0
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +28 -0
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +93 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +1 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +24 -0
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +1 -0
- package/distr/Tools/src/Commons/ErrorUntyped.js +6 -0
- package/distr/Tools/src/Commons/ErrorUntyped.js.map +1 -0
- package/distr/Tools/src/Commons/EventObject.js +74 -0
- package/distr/Tools/src/Commons/EventObject.js.map +1 -0
- package/distr/Tools/src/Commons/ExecUtils.js +38 -0
- package/distr/Tools/src/Commons/ExecUtils.js.map +1 -0
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +21 -0
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +1 -0
- package/distr/Tools/src/Commons/FormGlobsUtils.js +137 -0
- package/distr/Tools/src/Commons/FormGlobsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/FormLocationInfo.js +6 -0
- package/distr/Tools/src/Commons/FormLocationInfo.js.map +1 -0
- package/distr/Tools/src/Commons/FsUtils.js +35 -0
- package/distr/Tools/src/Commons/FsUtils.js.map +1 -0
- package/distr/Tools/src/Commons/GetCpuLimits.js +64 -0
- package/distr/Tools/src/Commons/GetCpuLimits.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +38 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +57 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +15 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +18 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +6 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +14 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +17 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +22 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +20 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +46 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +18 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +6 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +13 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +113 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +24 -0
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +106 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +1 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +22 -0
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/Lock.js +24 -0
- package/distr/Tools/src/Commons/Locks/Lock.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/LockHandle.js +17 -0
- package/distr/Tools/src/Commons/Locks/LockHandle.js.map +1 -0
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +31 -0
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +56 -0
- package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/ILogger.js +25 -0
- package/distr/Tools/src/Commons/Logging/ILogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +61 -0
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/Logger.js +78 -0
- package/distr/Tools/src/Commons/Logging/Logger.js.map +1 -0
- package/distr/Tools/src/Commons/Logging/StaticLogger.js +37 -0
- package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +2 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +1 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +152 -0
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +1 -0
- package/distr/Tools/src/Commons/PathPattern.js +42 -0
- package/distr/Tools/src/Commons/PathPattern.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +16 -0
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js +6 -0
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +668 -0
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +77 -0
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +20 -0
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +48 -0
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +45 -0
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +25 -0
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/Observe.js +35 -0
- package/distr/Tools/src/Commons/TasksCore/Observe.js.map +1 -0
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +29 -0
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +1 -0
- package/distr/Tools/src/Commons/TimingUtils.js +13 -0
- package/distr/Tools/src/Commons/TimingUtils.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +180 -0
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +145 -0
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +1 -0
- package/distr/Tools/src/FormWebpackConfiguration/variables.less +132 -0
- package/distr/Tools/src/GenerateReadMe.js +54 -0
- package/distr/Tools/src/GenerateReadMe.js.map +1 -0
- package/distr/Tools/src/Keys/localhost-key.pem +116 -0
- package/distr/Tools/src/Keys/localhost.pem +35 -0
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +2 -0
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +49 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon-16x16.png +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon-32x32.png +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/favicon.ico +0 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.html +1 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +3 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +60 -0
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -0
- package/distr/Tools/src/Options/CandyToolOptions.js +20 -0
- package/distr/Tools/src/Options/CandyToolOptions.js.map +1 -0
- package/distr/Tools/src/ReadFarmConfig.js +18 -0
- package/distr/Tools/src/ReadFarmConfig.js.map +1 -0
- package/distr/Tools/src/SelfUpdate.js +121 -0
- package/distr/Tools/src/SelfUpdate.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1722 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +1076 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +3328 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +6517 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +222 -0
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +3328 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +6517 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +1 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +222 -0
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuildServerPublishedEngineController.js","names":["path","_interopRequireWildcard","require","_fsExtra","_mimeTypes","_interopRequireDefault","_AcquireFormEngine","_EngineVersionUtils","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerPublishedEngineController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","candyModulesDirectory","usedEngines","getEngineScript","engineName","fileName","engineVersion","EngineVersionUtils","extractVersionFromEngineFileName","pathToPublishedEngine","getPathToPublishedEngine","FileStreamResult","getEngineChunk","chunkname","getEngineStyles","getEngineScriptSourceMap","getEngineChunkSourceMap","getEngineStylesSourceMap","getFormFont","pathToEngine","fileNamePath","join","pathExists","mime","lookup","NotFoundWebError","getFormImages","engine","engineFactory","type","version","result","currentValue","includes","push","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { pathExists } from \"fs-extra\";\nimport mime from \"mime-types\";\n\nimport { engineFactory } from \"../../../BuildTasks/Engine/AcquireFormEngine\";\nimport { EngineVersionUtils } from \"../../../BuildTasks/EngineVersionUtils\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport {\n FileStreamResult,\n StreamReturnResult,\n} from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\n\nexport class BuildServerPublishedEngineController extends SingletonController {\n private readonly candyModulesDirectory: string;\n private readonly usedEngines: string[] = [];\n\n public constructor(candyModulesDirectory: string) {\n super();\n this.candyModulesDirectory = candyModulesDirectory;\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScript(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/:chunkname.candy_v:engineName.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"chunkname\", httpType.String),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineChunk(chunkname: string, engineName: string): Promise<StreamReturnResult> {\n const fileName = `${chunkname}.candy_v${engineName}.js`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStyles(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/candy_v:engineName.js.map\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineScriptSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.js.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/scripts/:chunkname.candy_v:engineName.js.map\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"chunkname\", httpType.String),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineChunkSourceMap(chunkname: string, engineName: string): Promise<StreamReturnResult> {\n const fileName = `${chunkname}.candy_v${engineName}.js.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/scripts/${fileName}`);\n }\n\n @httpGet(\n \"/public/styles/candy_v:engineName.css.map\",\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"engineName\", httpType.String)\n )\n public async getEngineStylesSourceMap(engineName: string): Promise<StreamReturnResult> {\n const fileName = `candy_v${engineName}.css.map`;\n const engineVersion = EngineVersionUtils.extractVersionFromEngineFileName(fileName);\n const pathToPublishedEngine = await this.getPathToPublishedEngine(engineVersion);\n return new FileStreamResult(`${pathToPublishedEngine}/styles/${fileName}`);\n }\n\n @httpGet(\"/public/fonts/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormFont(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `fonts/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\");\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamReturnResult> {\n for (const pathToEngine of this.usedEngines) {\n const fileNamePath = path.join(pathToEngine, `images/${fileName}`);\n if (await pathExists(fileNamePath)) {\n return new FileStreamResult(fileNamePath, mime.lookup(fileName));\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n private async getPathToPublishedEngine(engineVersion: string): Promise<string> {\n const engine = engineFactory(\n { type: \"PublishedEngine\", version: engineVersion },\n this.candyModulesDirectory,\n false\n );\n const result = await engine.currentValue;\n if (!this.usedEngines.includes(result)) {\n this.usedEngines.push(result);\n }\n return result;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BuildFormDevServer = void 0;
|
|
8
|
+
var path = _interopRequireWildcard(require("path"));
|
|
9
|
+
var _stream = require("stream");
|
|
10
|
+
var _https = require("https");
|
|
11
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
12
|
+
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
13
|
+
var _fsExtra = require("fs-extra");
|
|
14
|
+
var _GenerateForm = require("../../../../BuildTasks/Form/GenerateForm");
|
|
15
|
+
var _AcquireFormGenerator = require("../../../../BuildTasks/Generator/AcquireFormGenerator");
|
|
16
|
+
var _PublishedVersionUtils = require("../../../../BuildTasks/PublishedVersionUtils");
|
|
17
|
+
var _ResolveFormInfo = require("../../../../BuildTasks/ResolveFormInfo");
|
|
18
|
+
var _AsyncUtils = require("../../../../../../Common/AsyncUtils");
|
|
19
|
+
var _Observe = require("../../../../Commons/TasksCore/Observe");
|
|
20
|
+
var _FsUtils = require("../../../../Commons/FsUtils");
|
|
21
|
+
var _FormPathUtils = require("../../../../../../Common/FormPathUtils");
|
|
22
|
+
var _TypingUtils = require("../../../../../../Common/TypingUtils");
|
|
23
|
+
var _WellKnownDirectories = require("../../../../../../Common/WellKnownDirectories");
|
|
24
|
+
var _ReportGeneratorErrorToPageBody = require("./ReportGeneratorErrorToPageBody");
|
|
25
|
+
var _RunFormCompilationViaWebpackDevServer = require("./RunFormCompilationViaWebpackDevServer");
|
|
26
|
+
var _WebpackHybridFileSystem = require("./WebpackInMemoryUtils/WebpackHybridFileSystem");
|
|
27
|
+
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); }
|
|
28
|
+
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; }
|
|
29
|
+
async function buildGfvToPathMap(repositoryRoots) {
|
|
30
|
+
const result = new Map();
|
|
31
|
+
for (const repositoryRoot of repositoryRoots) {
|
|
32
|
+
const formPaths = await (0, _FsUtils.globAsync)(`forms/**/*/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}`, {
|
|
33
|
+
cwd: repositoryRoot
|
|
34
|
+
});
|
|
35
|
+
for (const formPath of formPaths) {
|
|
36
|
+
const gfv = (0, _FormPathUtils.extractGfvFromFormPath)(formPath);
|
|
37
|
+
result.set(gfv, path.join(repositoryRoot, formPath));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
class BuildFormDevServer {
|
|
43
|
+
constructor(port, allFarmConfig, gfv, candyModulesDirectory, farmConfigArray, useGeneratorFromLocalSources, engineDirectory, buildDebugOnly, skipCodeReformatting, nightly) {
|
|
44
|
+
this.port = void 0;
|
|
45
|
+
this.allFarmConfig = void 0;
|
|
46
|
+
this.gfv = void 0;
|
|
47
|
+
this.candyModulesDirectory = void 0;
|
|
48
|
+
this.farmDirectory = void 0;
|
|
49
|
+
this.formPath = void 0;
|
|
50
|
+
this.farmConfigArray = void 0;
|
|
51
|
+
this.startParallelLimit = void 0;
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
this.generateChain = void 0;
|
|
54
|
+
this.webpackDevServerStarted = false;
|
|
55
|
+
this.useGeneratorFromLocalSources = void 0;
|
|
56
|
+
this.engineDirectory = void 0;
|
|
57
|
+
this.nightly = void 0;
|
|
58
|
+
this.buildDebugOnly = void 0;
|
|
59
|
+
this.skipCodeReformatting = void 0;
|
|
60
|
+
this.webpackHybridFileSystem = void 0;
|
|
61
|
+
this.gfvPaths = undefined;
|
|
62
|
+
this.port = port;
|
|
63
|
+
this.allFarmConfig = allFarmConfig;
|
|
64
|
+
this.gfv = gfv;
|
|
65
|
+
this.candyModulesDirectory = candyModulesDirectory;
|
|
66
|
+
this.farmConfigArray = farmConfigArray;
|
|
67
|
+
this.startParallelLimit = (0, _pLimit.default)(1);
|
|
68
|
+
this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;
|
|
69
|
+
this.engineDirectory = engineDirectory;
|
|
70
|
+
this.buildDebugOnly = buildDebugOnly;
|
|
71
|
+
this.skipCodeReformatting = skipCodeReformatting;
|
|
72
|
+
this.nightly = nightly;
|
|
73
|
+
this.farmDirectory = "";
|
|
74
|
+
this.formPath = "";
|
|
75
|
+
}
|
|
76
|
+
async findFormPath(gfv) {
|
|
77
|
+
var _this$gfvPaths;
|
|
78
|
+
this.gfvPaths = (_this$gfvPaths = this.gfvPaths) !== null && _this$gfvPaths !== void 0 ? _this$gfvPaths : await buildGfvToPathMap(this.allFarmConfig.map(x => path.join(x, "..")));
|
|
79
|
+
if (this.gfvPaths.has(gfv)) {
|
|
80
|
+
var _this$gfvPaths$get;
|
|
81
|
+
const formPath = (_this$gfvPaths$get = this.gfvPaths.get(gfv)) !== null && _this$gfvPaths$get !== void 0 ? _this$gfvPaths$get : (0, _TypingUtils.reject)();
|
|
82
|
+
return {
|
|
83
|
+
formPath: formPath !== null && formPath !== void 0 ? formPath : (0, _TypingUtils.reject)(),
|
|
84
|
+
farmDirectory: path.normalize(path.join(formPath, "..", "..", "..", "..", "..", "candy.farm"))
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
let farmDirectory;
|
|
88
|
+
let formDirPath = "";
|
|
89
|
+
const allPossibleFilePath = this.allFarmConfig.map(i => path.join(i, "forms", this.gfv));
|
|
90
|
+
for (const pth of allPossibleFilePath) {
|
|
91
|
+
if (await (0, _fsExtra.pathExists)(pth)) {
|
|
92
|
+
formDirPath = pth;
|
|
93
|
+
farmDirectory = path.join(pth, "..", "..");
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (formDirPath === "") {
|
|
98
|
+
throw Error("formDirPath not found");
|
|
99
|
+
}
|
|
100
|
+
if (farmDirectory == undefined || !(await (0, _fsExtra.pathExists)(farmDirectory))) {
|
|
101
|
+
throw Error(`FarmDirectory = ${this.farmDirectory} not exist`);
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
formPath: formDirPath,
|
|
105
|
+
farmDirectory: farmDirectory
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
async writeErrorInEntryAndShowInBrowser(e) {
|
|
109
|
+
var _this$webpackHybridFi;
|
|
110
|
+
const formEntryPointPath = path.join(this.formPath, "form", "web.js");
|
|
111
|
+
await ((_this$webpackHybridFi = this.webpackHybridFileSystem) === null || _this$webpackHybridFi === void 0 ? void 0 : _this$webpackHybridFi.writeBatch({
|
|
112
|
+
[formEntryPointPath]: (0, _ReportGeneratorErrorToPageBody.getReportGeneratorErrorToPageBodyScript)(this.formatError(e))
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
start() {
|
|
116
|
+
return this.startParallelLimit(async () => {
|
|
117
|
+
if (this.generateChain != undefined) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const {
|
|
121
|
+
formPath,
|
|
122
|
+
farmDirectory
|
|
123
|
+
} = await this.findFormPath(this.gfv);
|
|
124
|
+
this.farmDirectory = farmDirectory;
|
|
125
|
+
this.formPath = formPath;
|
|
126
|
+
this.webpackHybridFileSystem = new _WebpackHybridFileSystem.WebpackHybridFileSystem(path.join(this.formPath, "form"));
|
|
127
|
+
this.generateChain = _Observe.Observe.file(path.join(this.formPath, _WellKnownDirectories.WellKnownDirectories.FormJsonFileName)).transform(formJsonFile => (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile, this.formPath, undefined, undefined, undefined, undefined, undefined, this.nightly)).transform(async x => {
|
|
128
|
+
if (this.useGeneratorFromLocalSources) {
|
|
129
|
+
return {
|
|
130
|
+
...x,
|
|
131
|
+
generatorSource: (0, _PublishedVersionUtils.resolveLocalGeneratorSource)(this.engineDirectory),
|
|
132
|
+
engineSource: (0, _PublishedVersionUtils.resolveLocalEngineSource)(this.engineDirectory)
|
|
133
|
+
};
|
|
134
|
+
} else {
|
|
135
|
+
if (x.generatorVersion == undefined) {
|
|
136
|
+
throw new Error("generatorVersion is no defined");
|
|
137
|
+
}
|
|
138
|
+
if (x.engineVersion == undefined) {
|
|
139
|
+
throw new Error("engineVersion is no defined");
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
...x,
|
|
143
|
+
generatorSource: await (0, _PublishedVersionUtils.resolveGeneratorVersion)(x.generatorVersion),
|
|
144
|
+
engineSource: await (0, _PublishedVersionUtils.resolveEngineVersion)(x.engineVersion)
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}).attach(async fi => (0, _AcquireFormGenerator.generatorFactory)(fi.generatorSource, this.candyModulesDirectory, false, undefined), async (fi, y) => ({
|
|
148
|
+
...fi,
|
|
149
|
+
generator: y
|
|
150
|
+
}), async fi => (0, _AcquireFormGenerator.getGeneratorSourceKey)(fi.generatorSource)).attach(async fi => _Observe.Observe.files(fi.formSourcesPath, "../../controls/**/generator/*", "schemas/**/*", "sugar/**/*", "controls/**/*", "autocalc/**/*", "helpers/**/*", "validations/**/*", "localization/**/*")).do(async fi => {
|
|
151
|
+
try {
|
|
152
|
+
const FormsDirWithHlPath = this.farmConfigArray.find(i => i.farmDirectory == farmDirectory);
|
|
153
|
+
if (FormsDirWithHlPath == undefined) {
|
|
154
|
+
throw Error("FormsDirWithHlPath === undefined");
|
|
155
|
+
}
|
|
156
|
+
await (0, _GenerateForm.generateForm)(fi.formSourcesPath, this.farmDirectory, FormsDirWithHlPath.hlFarmDirectoryPath, fi.generator, undefined, {
|
|
157
|
+
skipCodeReformatting: this.skipCodeReformatting,
|
|
158
|
+
resourcesHash: "local-hash"
|
|
159
|
+
}, this.webpackHybridFileSystem);
|
|
160
|
+
} catch (e) {
|
|
161
|
+
await this.writeErrorInEntryAndShowInBrowser(e);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
try {
|
|
165
|
+
await this.generateChain.observe();
|
|
166
|
+
} catch (e) {
|
|
167
|
+
await this.writeErrorInEntryAndShowInBrowser(e);
|
|
168
|
+
}
|
|
169
|
+
await (0, _RunFormCompilationViaWebpackDevServer.runFormCompilationViaWebpackDevServer)(this.gfv, this.farmDirectory, this.formPath, path.join(this.farmDirectory, "res"), "local-hash", this.buildDebugOnly, this.webpackHybridFileSystem, this.port);
|
|
170
|
+
this.webpackDevServerStarted = true;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
async getGeneratedFileAsStream(filename) {
|
|
174
|
+
while (!this.webpackDevServerStarted) {
|
|
175
|
+
await (0, _AsyncUtils.delay)(500);
|
|
176
|
+
}
|
|
177
|
+
let resultFileName = "";
|
|
178
|
+
const formPath = await this.findFormPath(this.gfv);
|
|
179
|
+
const allPossibleFilePath = [path.join(formPath.formPath, _WellKnownDirectories.WellKnownDirectories.GeneratedFormSubdirectory, filename)];
|
|
180
|
+
for (const pth of allPossibleFilePath) {
|
|
181
|
+
try {
|
|
182
|
+
var _this$webpackHybridFi2;
|
|
183
|
+
if ((_this$webpackHybridFi2 = this.webpackHybridFileSystem) !== null && _this$webpackHybridFi2 !== void 0 && _this$webpackHybridFi2.statSync(pth)) {
|
|
184
|
+
resultFileName = pth;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
} catch (e) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (resultFileName === "") {
|
|
192
|
+
throw Error(`getGeneratedFileAsStream ${filename} not found`);
|
|
193
|
+
}
|
|
194
|
+
return new Promise((resolve, r) => {
|
|
195
|
+
var _this$webpackHybridFi3;
|
|
196
|
+
(_this$webpackHybridFi3 = this.webpackHybridFileSystem) === null || _this$webpackHybridFi3 === void 0 || _this$webpackHybridFi3.readFile(resultFileName, "utf-8", (error, data) => {
|
|
197
|
+
if (error) {
|
|
198
|
+
r(error);
|
|
199
|
+
} else {
|
|
200
|
+
resolve(_stream.Readable.from([data]));
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
async getFileAsStream(filename) {
|
|
206
|
+
while (!this.webpackDevServerStarted) {
|
|
207
|
+
await (0, _AsyncUtils.delay)(500);
|
|
208
|
+
}
|
|
209
|
+
const response = await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filename}`, {
|
|
210
|
+
method: "GET",
|
|
211
|
+
agent: new _https.Agent({
|
|
212
|
+
rejectUnauthorized: false
|
|
213
|
+
}),
|
|
214
|
+
compress: true
|
|
215
|
+
});
|
|
216
|
+
if (response.status != 200) {
|
|
217
|
+
const textResponse = await response.text();
|
|
218
|
+
throw new Error(textResponse);
|
|
219
|
+
}
|
|
220
|
+
const buffer = await response.buffer();
|
|
221
|
+
return _stream.Readable.from(buffer);
|
|
222
|
+
}
|
|
223
|
+
formatError(e) {
|
|
224
|
+
if (e instanceof Error) {
|
|
225
|
+
return `${e}\n${e.stack}`;
|
|
226
|
+
}
|
|
227
|
+
return `${e}`;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
exports.BuildFormDevServer = BuildFormDevServer;
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9odHRwcyIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9mc0V4dHJhIiwiX0dlbmVyYXRlRm9ybSIsIl9BY3F1aXJlRm9ybUdlbmVyYXRvciIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX0FzeW5jVXRpbHMiLCJfT2JzZXJ2ZSIsIl9Gc1V0aWxzIiwiX0Zvcm1QYXRoVXRpbHMiLCJfVHlwaW5nVXRpbHMiLCJfV2VsbEtub3duRGlyZWN0b3JpZXMiLCJfUmVwb3J0R2VuZXJhdG9yRXJyb3JUb1BhZ2VCb2R5IiwiX1J1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJfV2VicGFja0h5YnJpZEZpbGVTeXN0ZW0iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJidWlsZEdmdlRvUGF0aE1hcCIsInJlcG9zaXRvcnlSb290cyIsInJlc3VsdCIsIk1hcCIsInJlcG9zaXRvcnlSb290IiwiZm9ybVBhdGhzIiwiZ2xvYkFzeW5jIiwiV2VsbEtub3duRGlyZWN0b3JpZXMiLCJDYW5keVN1YmRpcmVjdG9yeU5hbWUiLCJjd2QiLCJmb3JtUGF0aCIsImdmdiIsImV4dHJhY3RHZnZGcm9tRm9ybVBhdGgiLCJqb2luIiwiQnVpbGRGb3JtRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiYWxsRmFybUNvbmZpZyIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZhcm1Db25maWdBcnJheSIsInVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsInNraXBDb2RlUmVmb3JtYXR0aW5nIiwibmlnaHRseSIsImZhcm1EaXJlY3RvcnkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJnZW5lcmF0ZUNoYWluIiwid2VicGFja0RldlNlcnZlclN0YXJ0ZWQiLCJ3ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsImdmdlBhdGhzIiwidW5kZWZpbmVkIiwicExpbWl0IiwiZmluZEZvcm1QYXRoIiwiX3RoaXMkZ2Z2UGF0aHMiLCJtYXAiLCJ4IiwiX3RoaXMkZ2Z2UGF0aHMkZ2V0IiwicmVqZWN0Iiwibm9ybWFsaXplIiwiZm9ybURpclBhdGgiLCJhbGxQb3NzaWJsZUZpbGVQYXRoIiwicHRoIiwicGF0aEV4aXN0cyIsIkVycm9yIiwid3JpdGVFcnJvckluRW50cnlBbmRTaG93SW5Ccm93c2VyIiwiX3RoaXMkd2VicGFja0h5YnJpZEZpIiwiZm9ybUVudHJ5UG9pbnRQYXRoIiwid3JpdGVCYXRjaCIsImdldFJlcG9ydEdlbmVyYXRvckVycm9yVG9QYWdlQm9keVNjcmlwdCIsImZvcm1hdEVycm9yIiwic3RhcnQiLCJXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSIsIk9ic2VydmUiLCJmaWxlIiwiRm9ybUpzb25GaWxlTmFtZSIsInRyYW5zZm9ybSIsImZvcm1Kc29uRmlsZSIsInJlc29sdmVGb3JtSW5mbyIsImdlbmVyYXRvclNvdXJjZSIsInJlc29sdmVMb2NhbEdlbmVyYXRvclNvdXJjZSIsImVuZ2luZVNvdXJjZSIsInJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSIsImdlbmVyYXRvclZlcnNpb24iLCJlbmdpbmVWZXJzaW9uIiwicmVzb2x2ZUdlbmVyYXRvclZlcnNpb24iLCJyZXNvbHZlRW5naW5lVmVyc2lvbiIsImF0dGFjaCIsImZpIiwiZ2VuZXJhdG9yRmFjdG9yeSIsInkiLCJnZW5lcmF0b3IiLCJnZXRHZW5lcmF0b3JTb3VyY2VLZXkiLCJmaWxlcyIsImZvcm1Tb3VyY2VzUGF0aCIsImRvIiwiRm9ybXNEaXJXaXRoSGxQYXRoIiwiZmluZCIsImdlbmVyYXRlRm9ybSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJyZXNvdXJjZXNIYXNoIiwib2JzZXJ2ZSIsInJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIiLCJnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0iLCJmaWxlbmFtZSIsImRlbGF5IiwicmVzdWx0RmlsZU5hbWUiLCJHZW5lcmF0ZWRGb3JtU3ViZGlyZWN0b3J5IiwiX3RoaXMkd2VicGFja0h5YnJpZEZpMiIsInN0YXRTeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJfdGhpcyR3ZWJwYWNrSHlicmlkRmkzIiwicmVhZEZpbGUiLCJlcnJvciIsImRhdGEiLCJSZWFkYWJsZSIsImZyb20iLCJnZXRGaWxlQXNTdHJlYW0iLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwic3RhdHVzIiwidGV4dFJlc3BvbnNlIiwidGV4dCIsImJ1ZmZlciIsInN0YWNrIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0J1aWxkRm9ybURldlNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5cbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0IHBMaW1pdCwgeyBMaW1pdCB9IGZyb20gXCJwLWxpbWl0XCI7XG5pbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuaW1wb3J0IHsgcGF0aEV4aXN0cyB9IGZyb20gXCJmcy1leHRyYVwiO1xuXG5pbXBvcnQgeyBnZW5lcmF0ZUZvcm0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vQnVpbGRUYXNrcy9Gb3JtL0dlbmVyYXRlRm9ybVwiO1xuaW1wb3J0IHsgZ2VuZXJhdG9yRmFjdG9yeSwgZ2V0R2VuZXJhdG9yU291cmNlS2V5IH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvR2VuZXJhdG9yL0FjcXVpcmVGb3JtR2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICAgIHJlc29sdmVFbmdpbmVWZXJzaW9uLFxuICAgIHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uLFxuICAgIHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSxcbiAgICByZXNvbHZlTG9jYWxHZW5lcmF0b3JTb3VyY2UsXG59IGZyb20gXCIuLi8uLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vQXN5bmNVdGlsc1wiO1xuaW1wb3J0IHsgUmVhc29uT3JFcnJvciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0Vycm9yVW50eXBlZFwiO1xuaW1wb3J0IHsgQ2hhaW5hYmxlVmFsdWVQcm9kdWNlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL1Rhc2tzQ29yZS9DaGFpbmFibGVWYWx1ZVByb2R1Y2VyXCI7XG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGdsb2JBc3luYyB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0ZzVXRpbHNcIjtcbmltcG9ydCB7IGV4dHJhY3RHZnZGcm9tRm9ybVBhdGggfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vQ29tbW9uL0Zvcm1QYXRoVXRpbHNcIjtcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IFdlbGxLbm93bkRpcmVjdG9yaWVzIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL0NvbW1vbi9XZWxsS25vd25EaXJlY3Rvcmllc1wiO1xuXG5pbXBvcnQgeyBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQgfSBmcm9tIFwiLi9SZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlcIjtcbmltcG9ydCB7IHJ1bkZvcm1Db21waWxhdGlvblZpYVdlYnBhY2tEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9SdW5Gb3JtQ29tcGlsYXRpb25WaWFXZWJwYWNrRGV2U2VydmVyXCI7XG5pbXBvcnQgeyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbSB9IGZyb20gXCIuL1dlYnBhY2tJbk1lbW9yeVV0aWxzL1dlYnBhY2tIeWJyaWRGaWxlU3lzdGVtXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkR2Z2VG9QYXRoTWFwKHJlcG9zaXRvcnlSb290czogc3RyaW5nW10pOiBQcm9taXNlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCByZXBvc2l0b3J5Um9vdCBvZiByZXBvc2l0b3J5Um9vdHMpIHtcbiAgICAgICAgY29uc3QgZm9ybVBhdGhzID0gYXdhaXQgZ2xvYkFzeW5jKGBmb3Jtcy8qKi8qLyR7V2VsbEtub3duRGlyZWN0b3JpZXMuQ2FuZHlTdWJkaXJlY3RvcnlOYW1lfWAsIHtcbiAgICAgICAgICAgIGN3ZDogcmVwb3NpdG9yeVJvb3QsXG4gICAgICAgIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGZvcm1QYXRoIG9mIGZvcm1QYXRocykge1xuICAgICAgICAgICAgY29uc3QgZ2Z2ID0gZXh0cmFjdEdmdkZyb21Gb3JtUGF0aChmb3JtUGF0aCk7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGdmdiwgcGF0aC5qb2luKHJlcG9zaXRvcnlSb290LCBmb3JtUGF0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1aWxkRm9ybURldlNlcnZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtQ29uZmlnOiBzdHJpbmdbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdmdjogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb3JtUGF0aDogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFybUNvbmZpZ0FycmF5OiBGYXJtQ29uZmlnW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGFydFBhcmFsbGVsTGltaXQ6IExpbWl0O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUNoYWluPzogQ2hhaW5hYmxlVmFsdWVQcm9kdWNlcjxhbnk+O1xuICAgIHByaXZhdGUgd2VicGFja0RldlNlcnZlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuO1xuICAgIHByaXZhdGUgd2VicGFja0h5YnJpZEZpbGVTeXN0ZW0/OiBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbTtcbiAgICBwcml2YXRlIGdmdlBhdGhzOiB1bmRlZmluZWQgfCBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwb3J0OiBudW1iZXIsXG4gICAgICAgIGFsbEZhcm1Db25maWc6IHN0cmluZ1tdLFxuICAgICAgICBnZnY6IHN0cmluZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgICAgIGZhcm1Db25maWdBcnJheTogRmFybUNvbmZpZ1tdLFxuICAgICAgICB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuLFxuICAgICAgICBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICAgICAgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4sXG4gICAgICAgIHNraXBDb2RlUmVmb3JtYXR0aW5nOiBib29sZWFuLFxuICAgICAgICBuaWdodGx5OiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuYWxsRmFybUNvbmZpZyA9IGFsbEZhcm1Db25maWc7XG4gICAgICAgIHRoaXMuZ2Z2ID0gZ2Z2O1xuICAgICAgICB0aGlzLmNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5mYXJtQ29uZmlnQXJyYXkgPSBmYXJtQ29uZmlnQXJyYXk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLnVzZUdlbmVyYXRvckZyb21Mb2NhbFNvdXJjZXMgPSB1c2VHZW5lcmF0b3JGcm9tTG9jYWxTb3VyY2VzO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgICAgICB0aGlzLnNraXBDb2RlUmVmb3JtYXR0aW5nID0gc2tpcENvZGVSZWZvcm1hdHRpbmc7XG4gICAgICAgIHRoaXMubmlnaHRseSA9IG5pZ2h0bHk7XG4gICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSA9IFwiXCI7XG4gICAgICAgIHRoaXMuZm9ybVBhdGggPSBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmluZEZvcm1QYXRoKGdmdjogc3RyaW5nKTogUHJvbWlzZTx7IGZvcm1QYXRoOiBzdHJpbmc7IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB9PiB7XG4gICAgICAgIHRoaXMuZ2Z2UGF0aHMgPSB0aGlzLmdmdlBhdGhzID8/IChhd2FpdCBidWlsZEdmdlRvUGF0aE1hcCh0aGlzLmFsbEZhcm1Db25maWcubWFwKHggPT4gcGF0aC5qb2luKHgsIFwiLi5cIikpKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2Z2UGF0aHMuaGFzKGdmdikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYXRoID0gdGhpcy5nZnZQYXRocy5nZXQoZ2Z2KSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZm9ybVBhdGg6IGZvcm1QYXRoID8/IHJlamVjdCgpLFxuICAgICAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihmb3JtUGF0aCwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiY2FuZHkuZmFybVwiKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZhcm1EaXJlY3Rvcnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgbGV0IGZvcm1EaXJQYXRoID0gXCJcIjtcblxuICAgICAgICBjb25zdCBhbGxQb3NzaWJsZUZpbGVQYXRoID0gdGhpcy5hbGxGYXJtQ29uZmlnLm1hcChpID0+IHBhdGguam9pbihpLCBcImZvcm1zXCIsIHRoaXMuZ2Z2KSk7XG4gICAgICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbFBvc3NpYmxlRmlsZVBhdGgpIHtcbiAgICAgICAgICAgIGlmIChhd2FpdCBwYXRoRXhpc3RzKHB0aCkpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGlyUGF0aCA9IHB0aDtcbiAgICAgICAgICAgICAgICBmYXJtRGlyZWN0b3J5ID0gcGF0aC5qb2luKHB0aCwgXCIuLlwiLCBcIi4uXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1EaXJQYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcImZvcm1EaXJQYXRoIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmFybURpcmVjdG9yeSA9PSB1bmRlZmluZWQgfHwgIShhd2FpdCBwYXRoRXhpc3RzKGZhcm1EaXJlY3RvcnkpKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEZhcm1EaXJlY3RvcnkgPSAke3RoaXMuZmFybURpcmVjdG9yeX0gbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZvcm1QYXRoOiBmb3JtRGlyUGF0aCxcbiAgICAgICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB3cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZTogdW5rbm93bikge1xuICAgICAgICBjb25zdCBmb3JtRW50cnlQb2ludFBhdGggPSBwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIsIFwid2ViLmpzXCIpO1xuICAgICAgICBhd2FpdCB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy53cml0ZUJhdGNoKHtcbiAgICAgICAgICAgIFtmb3JtRW50cnlQb2ludFBhdGhdOiBnZXRSZXBvcnRHZW5lcmF0b3JFcnJvclRvUGFnZUJvZHlTY3JpcHQodGhpcy5mb3JtYXRFcnJvcihlKSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmdlbmVyYXRlQ2hhaW4gIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IGZvcm1QYXRoLCBmYXJtRGlyZWN0b3J5IH0gPSBhd2FpdCB0aGlzLmZpbmRGb3JtUGF0aCh0aGlzLmdmdik7XG4gICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnkgPSBmYXJtRGlyZWN0b3J5O1xuICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCA9IGZvcm1QYXRoO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbSA9IG5ldyBXZWJwYWNrSHlicmlkRmlsZVN5c3RlbShwYXRoLmpvaW4odGhpcy5mb3JtUGF0aCwgXCJmb3JtXCIpKTtcblxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUNoYWluID0gT2JzZXJ2ZS5maWxlKHBhdGguam9pbih0aGlzLmZvcm1QYXRoLCBXZWxsS25vd25EaXJlY3Rvcmllcy5Gb3JtSnNvbkZpbGVOYW1lKSlcbiAgICAgICAgICAgICAgICAudHJhbnNmb3JtKGZvcm1Kc29uRmlsZSA9PlxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRm9ybUluZm8oXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSnNvbkZpbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1QYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uaWdodGx5XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRyYW5zZm9ybShhc3luYyB4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudXNlR2VuZXJhdG9yRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRvclNvdXJjZTogcmVzb2x2ZUxvY2FsR2VuZXJhdG9yU291cmNlKHRoaXMuZW5naW5lRGlyZWN0b3J5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2U6IHJlc29sdmVMb2NhbEVuZ2luZVNvdXJjZSh0aGlzLmVuZ2luZURpcmVjdG9yeSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHguZ2VuZXJhdG9yVmVyc2lvbiA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZW5lcmF0b3JWZXJzaW9uIGlzIG5vIGRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeC5lbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImVuZ2luZVZlcnNpb24gaXMgbm8gZGVmaW5lZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0b3JTb3VyY2U6IGF3YWl0IHJlc29sdmVHZW5lcmF0b3JWZXJzaW9uKHguZ2VuZXJhdG9yVmVyc2lvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lU291cmNlOiBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbih4LmVuZ2luZVZlcnNpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmF0dGFjaChcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgZmkgPT4gZ2VuZXJhdG9yRmFjdG9yeShmaS5nZW5lcmF0b3JTb3VyY2UsIHRoaXMuY2FuZHlNb2R1bGVzRGlyZWN0b3J5LCBmYWxzZSwgdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgYXN5bmMgKGZpLCB5KSA9PiAoeyAuLi5maSwgZ2VuZXJhdG9yOiB5IH0pLFxuICAgICAgICAgICAgICAgICAgICBhc3luYyBmaSA9PiBnZXRHZW5lcmF0b3JTb3VyY2VLZXkoZmkuZ2VuZXJhdG9yU291cmNlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuYXR0YWNoKGFzeW5jIGZpID0+XG4gICAgICAgICAgICAgICAgICAgIE9ic2VydmUuZmlsZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaS5mb3JtU291cmNlc1BhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIi4uLy4uL2NvbnRyb2xzLyoqL2dlbmVyYXRvci8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNjaGVtYXMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWdhci8qKi8qXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImNvbnRyb2xzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXV0b2NhbGMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJoZWxwZXJzLyoqLypcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidmFsaWRhdGlvbnMvKiovKlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl6YXRpb24vKiovKlwiXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmRvKGFzeW5jIGZpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZvcm1zRGlyV2l0aEhsUGF0aCA9IHRoaXMuZmFybUNvbmZpZ0FycmF5LmZpbmQoaSA9PiBpLmZhcm1EaXJlY3RvcnkgPT0gZmFybURpcmVjdG9yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoRm9ybXNEaXJXaXRoSGxQYXRoID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKFwiRm9ybXNEaXJXaXRoSGxQYXRoID09PSB1bmRlZmluZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBnZW5lcmF0ZUZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmkuZm9ybVNvdXJjZXNQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3Jtc0RpcldpdGhIbFBhdGguaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaS5nZW5lcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcENvZGVSZWZvcm1hdHRpbmc6IHRoaXMuc2tpcENvZGVSZWZvcm1hdHRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlc0hhc2g6IFwibG9jYWwtaGFzaFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJwYWNrSHlicmlkRmlsZVN5c3RlbVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy53cml0ZUVycm9ySW5FbnRyeUFuZFNob3dJbkJyb3dzZXIoZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5nZW5lcmF0ZUNoYWluLm9ic2VydmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLndyaXRlRXJyb3JJbkVudHJ5QW5kU2hvd0luQnJvd3NlcihlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgcnVuRm9ybUNvbXBpbGF0aW9uVmlhV2VicGFja0RldlNlcnZlcihcbiAgICAgICAgICAgICAgICB0aGlzLmdmdixcbiAgICAgICAgICAgICAgICB0aGlzLmZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtUGF0aCxcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4odGhpcy5mYXJtRGlyZWN0b3J5LCBcInJlc1wiKSxcbiAgICAgICAgICAgICAgICBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5LFxuICAgICAgICAgICAgICAgIHRoaXMud2VicGFja0h5YnJpZEZpbGVTeXN0ZW0sXG4gICAgICAgICAgICAgICAgdGhpcy5wb3J0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRGaWxlQXNTdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIHdoaWxlICghdGhpcy53ZWJwYWNrRGV2U2VydmVyU3RhcnRlZCkge1xuICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTAwKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0RmlsZU5hbWUgPSBcIlwiO1xuICAgICAgICBjb25zdCBmb3JtUGF0aCA9IGF3YWl0IHRoaXMuZmluZEZvcm1QYXRoKHRoaXMuZ2Z2KTtcbiAgICAgICAgY29uc3QgYWxsUG9zc2libGVGaWxlUGF0aCA9IFtcbiAgICAgICAgICAgIHBhdGguam9pbihmb3JtUGF0aC5mb3JtUGF0aCwgV2VsbEtub3duRGlyZWN0b3JpZXMuR2VuZXJhdGVkRm9ybVN1YmRpcmVjdG9yeSwgZmlsZW5hbWUpLFxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHB0aCBvZiBhbGxQb3NzaWJsZUZpbGVQYXRoKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5zdGF0U3luYyhwdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdEZpbGVOYW1lID0gcHRoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlc3VsdEZpbGVOYW1lID09PSBcIlwiKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgZ2V0R2VuZXJhdGVkRmlsZUFzU3RyZWFtICR7ZmlsZW5hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndlYnBhY2tIeWJyaWRGaWxlU3lzdGVtPy5yZWFkRmlsZShyZXN1bHRGaWxlTmFtZSwgXCJ1dGYtOFwiLCAoZXJyb3IsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShSZWFkYWJsZS5mcm9tKFtkYXRhXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZUFzU3RyZWFtKGZpbGVuYW1lOiBzdHJpbmcpOiBQcm9taXNlPE5vZGVKUy5SZWFkYWJsZVN0cmVhbT4ge1xuICAgICAgICB3aGlsZSAoIXRoaXMud2VicGFja0RldlNlcnZlclN0YXJ0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlbGF5KDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZW5hbWV9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0UmVzcG9uc2UgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dFJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCByZXNwb25zZS5idWZmZXIoKTtcbiAgICAgICAgcmV0dXJuIFJlYWRhYmxlLmZyb20oYnVmZmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdEVycm9yKGU6IFJlYXNvbk9yRXJyb3IpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7ZX1cXG4ke2Uuc3RhY2t9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZX1gO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLHFCQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxzQkFBQSxHQUFBVCxPQUFBO0FBTUEsSUFBQVUsZ0JBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFdBQUEsR0FBQVgsT0FBQTtBQUdBLElBQUFZLFFBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLFFBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLGNBQUEsR0FBQWQsT0FBQTtBQUNBLElBQUFlLFlBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQixxQkFBQSxHQUFBaEIsT0FBQTtBQUVBLElBQUFpQiwrQkFBQSxHQUFBakIsT0FBQTtBQUNBLElBQUFrQixzQ0FBQSxHQUFBbEIsT0FBQTtBQUNBLElBQUFtQix3QkFBQSxHQUFBbkIsT0FBQTtBQUF5RixTQUFBb0IseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQXRCLHdCQUFBc0IsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFdBQUFLLE9BQUEsRUFBQUwsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLENBQUFILE9BQUEsR0FBQUwsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFFekYsZUFBZVcsaUJBQWlCQSxDQUFDQyxlQUF5QixFQUFnQztFQUN0RixNQUFNQyxNQUFNLEdBQUcsSUFBSUMsR0FBRyxDQUFpQixDQUFDO0VBRXhDLEtBQUssTUFBTUMsY0FBYyxJQUFJSCxlQUFlLEVBQUU7SUFDMUMsTUFBTUksU0FBUyxHQUFHLE1BQU0sSUFBQUMsa0JBQVMsRUFBQyxjQUFjQywwQ0FBb0IsQ0FBQ0MscUJBQXFCLEVBQUUsRUFBRTtNQUMxRkMsR0FBRyxFQUFFTDtJQUNULENBQUMsQ0FBQztJQUNGLEtBQUssTUFBTU0sUUFBUSxJQUFJTCxTQUFTLEVBQUU7TUFDOUIsTUFBTU0sR0FBRyxHQUFHLElBQUFDLHFDQUFzQixFQUFDRixRQUFRLENBQUM7TUFDNUNSLE1BQU0sQ0FBQ0gsR0FBRyxDQUFDWSxHQUFHLEVBQUVyRCxJQUFJLENBQUN1RCxJQUFJLENBQUNULGNBQWMsRUFBRU0sUUFBUSxDQUFDLENBQUM7SUFDeEQ7RUFDSjtFQUVBLE9BQU9SLE1BQU07QUFDakI7QUFFTyxNQUFNWSxrQkFBa0IsQ0FBQztFQW9CckJDLFdBQVdBLENBQ2RDLElBQVksRUFDWkMsYUFBdUIsRUFDdkJOLEdBQVcsRUFDWE8scUJBQTZCLEVBQzdCQyxlQUE2QixFQUM3QkMsNEJBQXFDLEVBQ3JDQyxlQUF1QixFQUN2QkMsY0FBdUIsRUFDdkJDLG9CQUE2QixFQUM3QkMsT0FBZ0IsRUFDbEI7SUFBQSxLQTlCZVIsSUFBSTtJQUFBLEtBQ0pDLGFBQWE7SUFBQSxLQUNiTixHQUFHO0lBQUEsS0FDSE8scUJBQXFCO0lBQUEsS0FDOUJPLGFBQWE7SUFBQSxLQUNiZixRQUFRO0lBQUEsS0FDQ1MsZUFBZTtJQUFBLEtBQ2ZPLGtCQUFrQjtJQUNuQztJQUFBLEtBQ1FDLGFBQWE7SUFBQSxLQUNiQyx1QkFBdUIsR0FBRyxLQUFLO0lBQUEsS0FDdEJSLDRCQUE0QjtJQUFBLEtBQzVCQyxlQUFlO0lBQUEsS0FDZkcsT0FBTztJQUFBLEtBQ1BGLGNBQWM7SUFBQSxLQUNkQyxvQkFBb0I7SUFBQSxLQUM3Qk0sdUJBQXVCO0lBQUEsS0FDdkJDLFFBQVEsR0FBb0NDLFNBQVM7SUFjekQsSUFBSSxDQUFDZixJQUFJLEdBQUdBLElBQUk7SUFDaEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBLGFBQWE7SUFDbEMsSUFBSSxDQUFDTixHQUFHLEdBQUdBLEdBQUc7SUFDZCxJQUFJLENBQUNPLHFCQUFxQixHQUFHQSxxQkFBcUI7SUFDbEQsSUFBSSxDQUFDQyxlQUFlLEdBQUdBLGVBQWU7SUFDdEMsSUFBSSxDQUFDTyxrQkFBa0IsR0FBRyxJQUFBTSxlQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQ1osNEJBQTRCLEdBQUdBLDRCQUE0QjtJQUNoRSxJQUFJLENBQUNDLGVBQWUsR0FBR0EsZUFBZTtJQUN0QyxJQUFJLENBQUNDLGNBQWMsR0FBR0EsY0FBYztJQUNwQyxJQUFJLENBQUNDLG9CQUFvQixHQUFHQSxvQkFBb0I7SUFDaEQsSUFBSSxDQUFDQyxPQUFPLEdBQUdBLE9BQU87SUFDdEIsSUFBSSxDQUFDQyxhQUFhLEdBQUcsRUFBRTtJQUN2QixJQUFJLENBQUNmLFFBQVEsR0FBRyxFQUFFO0VBQ3RCO0VBRUEsTUFBY3VCLFlBQVlBLENBQUN0QixHQUFXLEVBQXdEO0lBQUEsSUFBQXVCLGNBQUE7SUFDMUYsSUFBSSxDQUFDSixRQUFRLElBQUFJLGNBQUEsR0FBRyxJQUFJLENBQUNKLFFBQVEsY0FBQUksY0FBQSxjQUFBQSxjQUFBLEdBQUssTUFBTWxDLGlCQUFpQixDQUFDLElBQUksQ0FBQ2lCLGFBQWEsQ0FBQ2tCLEdBQUcsQ0FBQ0MsQ0FBQyxJQUFJOUUsSUFBSSxDQUFDdUQsSUFBSSxDQUFDdUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUU7SUFFM0csSUFBSSxJQUFJLENBQUNOLFFBQVEsQ0FBQzNDLEdBQUcsQ0FBQ3dCLEdBQUcsQ0FBQyxFQUFFO01BQUEsSUFBQTBCLGtCQUFBO01BQ3hCLE1BQU0zQixRQUFRLElBQUEyQixrQkFBQSxHQUFHLElBQUksQ0FBQ1AsUUFBUSxDQUFDMUMsR0FBRyxDQUFDdUIsR0FBRyxDQUFDLGNBQUEwQixrQkFBQSxjQUFBQSxrQkFBQSxHQUFJLElBQUFDLG1CQUFNLEVBQUMsQ0FBQztNQUNuRCxPQUFPO1FBQ0g1QixRQUFRLEVBQUVBLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUksSUFBQTRCLG1CQUFNLEVBQUMsQ0FBQztRQUM5QmIsYUFBYSxFQUFFbkUsSUFBSSxDQUFDaUYsU0FBUyxDQUFDakYsSUFBSSxDQUFDdUQsSUFBSSxDQUFDSCxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUM7TUFDakcsQ0FBQztJQUNMO0lBRUEsSUFBSWUsYUFBaUM7SUFDckMsSUFBSWUsV0FBVyxHQUFHLEVBQUU7SUFFcEIsTUFBTUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDeEIsYUFBYSxDQUFDa0IsR0FBRyxDQUFDckMsQ0FBQyxJQUFJeEMsSUFBSSxDQUFDdUQsSUFBSSxDQUFDZixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQ2EsR0FBRyxDQUFDLENBQUM7SUFDeEYsS0FBSyxNQUFNK0IsR0FBRyxJQUFJRCxtQkFBbUIsRUFBRTtNQUNuQyxJQUFJLE1BQU0sSUFBQUUsbUJBQVUsRUFBQ0QsR0FBRyxDQUFDLEVBQUU7UUFDdkJGLFdBQVcsR0FBR0UsR0FBRztRQUNqQmpCLGFBQWEsR0FBR25FLElBQUksQ0FBQ3VELElBQUksQ0FBQzZCLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzFDO01BQ0o7SUFDSjtJQUVBLElBQUlGLFdBQVcsS0FBSyxFQUFFLEVBQUU7TUFDcEIsTUFBTUksS0FBSyxDQUFDLHVCQUF1QixDQUFDO0lBQ3hDO0lBQ0EsSUFBSW5CLGFBQWEsSUFBSU0sU0FBUyxJQUFJLEVBQUUsTUFBTSxJQUFBWSxtQkFBVSxFQUFDbEIsYUFBYSxDQUFDLENBQUMsRUFBRTtNQUNsRSxNQUFNbUIsS0FBSyxDQUFDLG1CQUFtQixJQUFJLENBQUNuQixhQUFhLFlBQVksQ0FBQztJQUNsRTtJQUNBLE9BQU87TUFDSGYsUUFBUSxFQUFFOEIsV0FBVztNQUNyQmYsYUFBYSxFQUFFQTtJQUNuQixDQUFDO0VBQ0w7RUFFQSxNQUFjb0IsaUNBQWlDQSxDQUFDaEUsQ0FBVSxFQUFFO0lBQUEsSUFBQWlFLHFCQUFBO0lBQ3hELE1BQU1DLGtCQUFrQixHQUFHekYsSUFBSSxDQUFDdUQsSUFBSSxDQUFDLElBQUksQ0FBQ0gsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7SUFDckUsUUFBQW9DLHFCQUFBLEdBQU0sSUFBSSxDQUFDakIsdUJBQXVCLGNBQUFpQixxQkFBQSx1QkFBNUJBLHFCQUFBLENBQThCRSxVQUFVLENBQUM7TUFDM0MsQ0FBQ0Qsa0JBQWtCLEdBQUcsSUFBQUUsdUVBQXVDLEVBQUMsSUFBSSxDQUFDQyxXQUFXLENBQUNyRSxDQUFDLENBQUM7SUFDckYsQ0FBQyxDQUFDO0VBQ047RUFFT3NFLEtBQUtBLENBQUEsRUFBa0I7SUFDMUIsT0FBTyxJQUFJLENBQUN6QixrQkFBa0IsQ0FBQyxZQUFZO01BQ3ZDLElBQUksSUFBSSxDQUFDQyxhQUFhLElBQUlJLFNBQVMsRUFBRTtRQUNqQztNQUNKO01BRUEsTUFBTTtRQUFFckIsUUFBUTtRQUFFZTtNQUFjLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQ1EsWUFBWSxDQUFDLElBQUksQ0FBQ3RCLEdBQUcsQ0FBQztNQUNyRSxJQUFJLENBQUNjLGFBQWEsR0FBR0EsYUFBYTtNQUNsQyxJQUFJLENBQUNmLFFBQVEsR0FBR0EsUUFBUTtNQUN4QixJQUFJLENBQUNtQix1QkFBdUIsR0FBRyxJQUFJdUIsZ0RBQXVCLENBQUM5RixJQUFJLENBQUN1RCxJQUFJLENBQUMsSUFBSSxDQUFDSCxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7TUFFNUYsSUFBSSxDQUFDaUIsYUFBYSxHQUFHMEIsZ0JBQU8sQ0FBQ0MsSUFBSSxDQUFDaEcsSUFBSSxDQUFDdUQsSUFBSSxDQUFDLElBQUksQ0FBQ0gsUUFBUSxFQUFFSCwwQ0FBb0IsQ0FBQ2dELGdCQUFnQixDQUFDLENBQUMsQ0FDN0ZDLFNBQVMsQ0FBQ0MsWUFBWSxJQUNuQixJQUFBQyxnQ0FBZSxFQUNYRCxZQUFZLEVBQ1osSUFBSSxDQUFDL0MsUUFBUSxFQUNicUIsU0FBUyxFQUNUQSxTQUFTLEVBQ1RBLFNBQVMsRUFDVEEsU0FBUyxFQUNUQSxTQUFTLEVBQ1QsSUFBSSxDQUFDUCxPQUNULENBQ0osQ0FBQyxDQUNBZ0MsU0FBUyxDQUFDLE1BQU1wQixDQUFDLElBQUk7UUFDbEIsSUFBSSxJQUFJLENBQUNoQiw0QkFBNEIsRUFBRTtVQUNuQyxPQUFPO1lBQ0gsR0FBR2dCLENBQUM7WUFDSnVCLGVBQWUsRUFBRSxJQUFBQyxrREFBMkIsRUFBQyxJQUFJLENBQUN2QyxlQUFlLENBQUM7WUFDbEV3QyxZQUFZLEVBQUUsSUFBQUMsK0NBQXdCLEVBQUMsSUFBSSxDQUFDekMsZUFBZTtVQUMvRCxDQUFDO1FBQ0wsQ0FBQyxNQUFNO1VBQ0gsSUFBSWUsQ0FBQyxDQUFDMkIsZ0JBQWdCLElBQUloQyxTQUFTLEVBQUU7WUFDakMsTUFBTSxJQUFJYSxLQUFLLENBQUMsZ0NBQWdDLENBQUM7VUFDckQ7VUFDQSxJQUFJUixDQUFDLENBQUM0QixhQUFhLElBQUlqQyxTQUFTLEVBQUU7WUFDOUIsTUFBTSxJQUFJYSxLQUFLLENBQUMsNkJBQTZCLENBQUM7VUFDbEQ7VUFDQSxPQUFPO1lBQ0gsR0FBR1IsQ0FBQztZQUNKdUIsZUFBZSxFQUFFLE1BQU0sSUFBQU0sOENBQXVCLEVBQUM3QixDQUFDLENBQUMyQixnQkFBZ0IsQ0FBQztZQUNsRUYsWUFBWSxFQUFFLE1BQU0sSUFBQUssMkNBQW9CLEVBQUM5QixDQUFDLENBQUM0QixhQUFhO1VBQzVELENBQUM7UUFDTDtNQUNKLENBQUMsQ0FBQyxDQUNERyxNQUFNLENBQ0gsTUFBTUMsRUFBRSxJQUFJLElBQUFDLHNDQUFnQixFQUFDRCxFQUFFLENBQUNULGVBQWUsRUFBRSxJQUFJLENBQUN6QyxxQkFBcUIsRUFBRSxLQUFLLEVBQUVhLFNBQVMsQ0FBQyxFQUM5RixPQUFPcUMsRUFBRSxFQUFFRSxDQUFDLE1BQU07UUFBRSxHQUFHRixFQUFFO1FBQUVHLFNBQVMsRUFBRUQ7TUFBRSxDQUFDLENBQUMsRUFDMUMsTUFBTUYsRUFBRSxJQUFJLElBQUFJLDJDQUFxQixFQUFDSixFQUFFLENBQUNULGVBQWUsQ0FDeEQsQ0FBQyxDQUNBUSxNQUFNLENBQUMsTUFBTUMsRUFBRSxJQUNaZixnQkFBTyxDQUFDb0IsS0FBSyxDQUNUTCxFQUFFLENBQUNNLGVBQWUsRUFDbEIsK0JBQStCLEVBQy9CLGNBQWMsRUFDZCxZQUFZLEVBQ1osZUFBZSxFQUNmLGVBQWUsRUFDZixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLG1CQUNKLENBQ0osQ0FBQyxDQUNBQyxFQUFFLENBQUMsTUFBTVAsRUFBRSxJQUFJO1FBQ1osSUFBSTtVQUNBLE1BQU1RLGtCQUFrQixHQUFHLElBQUksQ0FBQ3pELGVBQWUsQ0FBQzBELElBQUksQ0FBQy9FLENBQUMsSUFBSUEsQ0FBQyxDQUFDMkIsYUFBYSxJQUFJQSxhQUFhLENBQUM7VUFDM0YsSUFBSW1ELGtCQUFrQixJQUFJN0MsU0FBUyxFQUFFO1lBQ2pDLE1BQU1hLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQztVQUNuRDtVQUNBLE1BQU0sSUFBQWtDLDBCQUFZLEVBQ2RWLEVBQUUsQ0FBQ00sZUFBZSxFQUNsQixJQUFJLENBQUNqRCxhQUFhLEVBQ2xCbUQsa0JBQWtCLENBQUNHLG1CQUFtQixFQUN0Q1gsRUFBRSxDQUFDRyxTQUFTLEVBQ1p4QyxTQUFTLEVBQ1Q7WUFDSVIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDQSxvQkFBb0I7WUFDL0N5RCxhQUFhLEVBQUU7VUFDbkIsQ0FBQyxFQUNELElBQUksQ0FBQ25ELHVCQUNULENBQUM7UUFDTCxDQUFDLENBQUMsT0FBT2hELENBQUMsRUFBRTtVQUNSLE1BQU0sSUFBSSxDQUFDZ0UsaUNBQWlDLENBQUNoRSxDQUFDLENBQUM7UUFDbkQ7TUFDSixDQUFDLENBQUM7TUFDTixJQUFJO1FBQ0EsTUFBTSxJQUFJLENBQUM4QyxhQUFhLENBQUNzRCxPQUFPLENBQUMsQ0FBQztNQUN0QyxDQUFDLENBQUMsT0FBT3BHLENBQUMsRUFBRTtRQUNSLE1BQU0sSUFBSSxDQUFDZ0UsaUNBQWlDLENBQUNoRSxDQUFDLENBQUM7TUFDbkQ7TUFFQSxNQUFNLElBQUFxRyw0RUFBcUMsRUFDdkMsSUFBSSxDQUFDdkUsR0FBRyxFQUNSLElBQUksQ0FBQ2MsYUFBYSxFQUNsQixJQUFJLENBQUNmLFFBQVEsRUFDYnBELElBQUksQ0FBQ3VELElBQUksQ0FBQyxJQUFJLENBQUNZLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFDcEMsWUFBWSxFQUNaLElBQUksQ0FBQ0gsY0FBYyxFQUNuQixJQUFJLENBQUNPLHVCQUF1QixFQUM1QixJQUFJLENBQUNiLElBQ1QsQ0FBQztNQUNELElBQUksQ0FBQ1ksdUJBQXVCLEdBQUcsSUFBSTtJQUN2QyxDQUFDLENBQUM7RUFDTjtFQUVBLE1BQWF1RCx3QkFBd0JBLENBQUNDLFFBQWdCLEVBQWtDO0lBQ3BGLE9BQU8sQ0FBQyxJQUFJLENBQUN4RCx1QkFBdUIsRUFBRTtNQUNsQyxNQUFNLElBQUF5RCxpQkFBSyxFQUFDLEdBQUcsQ0FBQztJQUNwQjtJQUNBLElBQUlDLGNBQWMsR0FBRyxFQUFFO0lBQ3ZCLE1BQU01RSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUN1QixZQUFZLENBQUMsSUFBSSxDQUFDdEIsR0FBRyxDQUFDO0lBQ2xELE1BQU04QixtQkFBbUIsR0FBRyxDQUN4Qm5GLElBQUksQ0FBQ3VELElBQUksQ0FBQ0gsUUFBUSxDQUFDQSxRQUFRLEVBQUVILDBDQUFvQixDQUFDZ0YseUJBQXlCLEVBQUVILFFBQVEsQ0FBQyxDQUN6RjtJQUNELEtBQUssTUFBTTFDLEdBQUcsSUFBSUQsbUJBQW1CLEVBQUU7TUFDbkMsSUFBSTtRQUFBLElBQUErQyxzQkFBQTtRQUNBLEtBQUFBLHNCQUFBLEdBQUksSUFBSSxDQUFDM0QsdUJBQXVCLGNBQUEyRCxzQkFBQSxlQUE1QkEsc0JBQUEsQ0FBOEJDLFFBQVEsQ0FBQy9DLEdBQUcsQ0FBQyxFQUFFO1VBQzdDNEMsY0FBYyxHQUFHNUMsR0FBRztVQUNwQjtRQUNKO01BQ0osQ0FBQyxDQUFDLE9BQU83RCxDQUFDLEVBQUU7UUFDUjtNQUNKO0lBQ0o7SUFDQSxJQUFJeUcsY0FBYyxLQUFLLEVBQUUsRUFBRTtNQUN2QixNQUFNMUMsS0FBSyxDQUFDLDRCQUE0QndDLFFBQVEsWUFBWSxDQUFDO0lBQ2pFO0lBRUEsT0FBTyxJQUFJTSxPQUFPLENBQUMsQ0FBQ0MsT0FBTyxFQUFFNUcsQ0FBQyxLQUFLO01BQUEsSUFBQTZHLHNCQUFBO01BQy9CLENBQUFBLHNCQUFBLE9BQUksQ0FBQy9ELHVCQUF1QixjQUFBK0Qsc0JBQUEsZUFBNUJBLHNCQUFBLENBQThCQyxRQUFRLENBQUNQLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQ1EsS0FBSyxFQUFFQyxJQUFJLEtBQUs7UUFDN0UsSUFBSUQsS0FBSyxFQUFFO1VBQ1AvRyxDQUFDLENBQUMrRyxLQUFLLENBQUM7UUFDWixDQUFDLE1BQU07VUFDSEgsT0FBTyxDQUFDSyxnQkFBUSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsQztNQUNKLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztFQUNOO0VBRUEsTUFBYUcsZUFBZUEsQ0FBQ2QsUUFBZ0IsRUFBa0M7SUFDM0UsT0FBTyxDQUFDLElBQUksQ0FBQ3hELHVCQUF1QixFQUFFO01BQ2xDLE1BQU0sSUFBQXlELGlCQUFLLEVBQUMsR0FBRyxDQUFDO0lBQ3BCO0lBQ0EsTUFBTWMsUUFBUSxHQUFHLE1BQU0sSUFBQUMsa0JBQUssRUFBQyxxQkFBcUIsSUFBSSxDQUFDcEYsSUFBSSxJQUFJb0UsUUFBUSxFQUFFLEVBQUU7TUFDdkVpQixNQUFNLEVBQUUsS0FBSztNQUNiQyxLQUFLLEVBQUUsSUFBSUMsWUFBSyxDQUFDO1FBQUVDLGtCQUFrQixFQUFFO01BQU0sQ0FBQyxDQUFDO01BQy9DQyxRQUFRLEVBQUU7SUFDZCxDQUFDLENBQUM7SUFDRixJQUFJTixRQUFRLENBQUNPLE1BQU0sSUFBSSxHQUFHLEVBQUU7TUFDeEIsTUFBTUMsWUFBWSxHQUFHLE1BQU1SLFFBQVEsQ0FBQ1MsSUFBSSxDQUFDLENBQUM7TUFDMUMsTUFBTSxJQUFJaEUsS0FBSyxDQUFDK0QsWUFBWSxDQUFDO0lBQ2pDO0lBQ0EsTUFBTUUsTUFBTSxHQUFHLE1BQU1WLFFBQVEsQ0FBQ1UsTUFBTSxDQUFDLENBQUM7SUFDdEMsT0FBT2IsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDWSxNQUFNLENBQUM7RUFDaEM7RUFFUTNELFdBQVdBLENBQUNyRSxDQUFnQixFQUFVO0lBQzFDLElBQUlBLENBQUMsWUFBWStELEtBQUssRUFBRTtNQUNwQixPQUFPLEdBQUcvRCxDQUFDLEtBQUtBLENBQUMsQ0FBQ2lJLEtBQUssRUFBRTtJQUM3QjtJQUNBLE9BQU8sR0FBR2pJLENBQUMsRUFBRTtFQUNqQjtBQUNKO0FBQUNrSSxPQUFBLENBQUFqRyxrQkFBQSxHQUFBQSxrQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +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 \"schemas/**/*\",\n \"sugar/**/*\",\n \"controls/**/*\",\n \"autocalc/**/*\",\n \"helpers/**/*\",\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.farmDirectory,\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 (e) {\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":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.CandyWidgetDevServer = void 0;
|
|
8
|
+
var _path = _interopRequireDefault(require("path"));
|
|
9
|
+
var _fs = require("fs");
|
|
10
|
+
var _util = require("util");
|
|
11
|
+
var _stream = require("stream");
|
|
12
|
+
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
13
|
+
var _Observe = require("../../../../Commons/TasksCore/Observe");
|
|
14
|
+
var _ExecUtils = require("../../../../Commons/ExecUtils");
|
|
15
|
+
var _StaticLogger = require("../../../../Commons/Logging/StaticLogger");
|
|
16
|
+
const readFileAsync = (0, _util.promisify)(_fs.readFile);
|
|
17
|
+
class CandyWidgetDevServer {
|
|
18
|
+
constructor(engineDirectory, buildDebugOnly) {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
this.port = void 0;
|
|
21
|
+
this.engineDirectory = void 0;
|
|
22
|
+
this.startParallelLimit = void 0;
|
|
23
|
+
this.started = false;
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
this.buildDebugOnly = void 0;
|
|
26
|
+
this.disposer = void 0;
|
|
27
|
+
this.engineDirectory = engineDirectory;
|
|
28
|
+
this.startParallelLimit = (0, _pLimit.default)(1);
|
|
29
|
+
this.buildDebugOnly = buildDebugOnly;
|
|
30
|
+
}
|
|
31
|
+
async start() {
|
|
32
|
+
return this.startParallelLimit(async () => {
|
|
33
|
+
if (this.started) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const candyWidgetRoot = _path.default.join(this.engineDirectory, "Widgets", "CandyWidget");
|
|
37
|
+
const filesObserver = _Observe.Observe.files(candyWidgetRoot, "**/*.ts").do(async x => {
|
|
38
|
+
const logger = (0, _StaticLogger.getLogger)().withPrefix("WIDGET");
|
|
39
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:loader", {
|
|
40
|
+
cwd: candyWidgetRoot
|
|
41
|
+
});
|
|
42
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:widget", {
|
|
43
|
+
cwd: candyWidgetRoot
|
|
44
|
+
});
|
|
45
|
+
await (0, _ExecUtils.execCommandAsync)(logger, "npm run build:jsLoader", {
|
|
46
|
+
cwd: candyWidgetRoot
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
this.disposer = await filesObserver.observe();
|
|
50
|
+
this.started = true;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async stop() {
|
|
54
|
+
var _this$disposer;
|
|
55
|
+
await ((_this$disposer = this.disposer) !== null && _this$disposer !== void 0 ? _this$disposer : Promise.resolve)();
|
|
56
|
+
}
|
|
57
|
+
async getFileStream(filePathUrl) {
|
|
58
|
+
const parts = filePathUrl.split("/");
|
|
59
|
+
const finalPath = _path.default.join(this.engineDirectory, "Widgets", "CandyWidget", ".artifacts", ...parts);
|
|
60
|
+
const fileData = await readFileAsync(finalPath);
|
|
61
|
+
return new _stream.Readable({
|
|
62
|
+
read: function () {
|
|
63
|
+
this.push(fileData);
|
|
64
|
+
this.push(null);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.CandyWidgetDevServer = CandyWidgetDevServer;
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2ZzIiwiX3V0aWwiLCJfc3RyZWFtIiwiX3BMaW1pdCIsIl9PYnNlcnZlIiwiX0V4ZWNVdGlscyIsIl9TdGF0aWNMb2dnZXIiLCJyZWFkRmlsZUFzeW5jIiwicHJvbWlzaWZ5IiwicmVhZEZpbGUiLCJDYW5keVdpZGdldERldlNlcnZlciIsImNvbnN0cnVjdG9yIiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJwb3J0Iiwic3RhcnRQYXJhbGxlbExpbWl0Iiwic3RhcnRlZCIsImRpc3Bvc2VyIiwicExpbWl0Iiwic3RhcnQiLCJjYW5keVdpZGdldFJvb3QiLCJwYXRoIiwiam9pbiIsImZpbGVzT2JzZXJ2ZXIiLCJPYnNlcnZlIiwiZmlsZXMiLCJkbyIsIngiLCJsb2dnZXIiLCJnZXRMb2dnZXIiLCJ3aXRoUHJlZml4IiwiZXhlY0NvbW1hbmRBc3luYyIsImN3ZCIsIm9ic2VydmUiLCJzdG9wIiwiX3RoaXMkZGlzcG9zZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldEZpbGVTdHJlYW0iLCJmaWxlUGF0aFVybCIsInBhcnRzIiwic3BsaXQiLCJmaW5hbFBhdGgiLCJmaWxlRGF0YSIsIlJlYWRhYmxlIiwicmVhZCIsInB1c2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0RldlNlcnZlcnMvQ2FuZHlXaWRnZXREZXZTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tIFwidXRpbFwiO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tIFwic3RyZWFtXCI7XG5cbmltcG9ydCBwTGltaXQsIHsgTGltaXQgfSBmcm9tIFwicC1saW1pdFwiO1xuXG5pbXBvcnQgeyBPYnNlcnZlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvbW1vbnMvVGFza3NDb3JlL09ic2VydmVcIjtcbmltcG9ydCB7IGV4ZWNDb21tYW5kQXN5bmMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29tbW9ucy9FeGVjVXRpbHNcIjtcbmltcG9ydCB7IGdldExvZ2dlciB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5cbmNvbnN0IHJlYWRGaWxlQXN5bmMgPSBwcm9taXNpZnkocmVhZEZpbGUpO1xuXG5leHBvcnQgY2xhc3MgQ2FuZHlXaWRnZXREZXZTZXJ2ZXIge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcHJpdmF0ZSByZWFkb25seSBidWlsZERlYnVnT25seTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGRpc3Bvc2VyPzogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZywgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbmdpbmVEaXJlY3RvcnkgPSBlbmdpbmVEaXJlY3Rvcnk7XG4gICAgICAgIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0ID0gcExpbWl0KDEpO1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgfVxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjYW5keVdpZGdldFJvb3QgPSBwYXRoLmpvaW4odGhpcy5lbmdpbmVEaXJlY3RvcnksIFwiV2lkZ2V0c1wiLCBcIkNhbmR5V2lkZ2V0XCIpO1xuICAgICAgICAgICAgY29uc3QgZmlsZXNPYnNlcnZlciA9IE9ic2VydmUuZmlsZXMoY2FuZHlXaWRnZXRSb290LCBcIioqLyoudHNcIikuZG8oYXN5bmMgeCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKCkud2l0aFByZWZpeChcIldJREdFVFwiKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBleGVjQ29tbWFuZEFzeW5jKGxvZ2dlciwgXCJucG0gcnVuIGJ1aWxkOmxvYWRlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGN3ZDogY2FuZHlXaWRnZXRSb290LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWNDb21tYW5kQXN5bmMobG9nZ2VyLCBcIm5wbSBydW4gYnVpbGQ6d2lkZ2V0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgY3dkOiBjYW5keVdpZGdldFJvb3QsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY0NvbW1hbmRBc3luYyhsb2dnZXIsIFwibnBtIHJ1biBidWlsZDpqc0xvYWRlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGN3ZDogY2FuZHlXaWRnZXRSb290LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZGlzcG9zZXIgPSBhd2FpdCBmaWxlc09ic2VydmVyLm9ic2VydmUoKTtcblxuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0ICh0aGlzLmRpc3Bvc2VyID8/IFByb21pc2UucmVzb2x2ZSkoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0RmlsZVN0cmVhbShmaWxlUGF0aFVybDogc3RyaW5nKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBmaWxlUGF0aFVybC5zcGxpdChcIi9cIik7XG4gICAgICAgIGNvbnN0IGZpbmFsUGF0aCA9IHBhdGguam9pbih0aGlzLmVuZ2luZURpcmVjdG9yeSwgXCJXaWRnZXRzXCIsIFwiQ2FuZHlXaWRnZXRcIiwgXCIuYXJ0aWZhY3RzXCIsIC4uLnBhcnRzKTtcbiAgICAgICAgY29uc3QgZmlsZURhdGEgPSBhd2FpdCByZWFkRmlsZUFzeW5jKGZpbmFsUGF0aCk7XG4gICAgICAgIHJldHVybiBuZXcgUmVhZGFibGUoe1xuICAgICAgICAgICAgcmVhZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRoaXMucHVzaChmaWxlRGF0YSk7XG4gICAgICAgICAgICAgICAgdGhpcy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsR0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksT0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBRUEsTUFBTVEs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CandyWidgetDevServer.js","names":["_path","_interopRequireDefault","require","_fs","_util","_stream","_pLimit","_Observe","_ExecUtils","_StaticLogger","readFileAsync","promisify","readFile","CandyWidgetDevServer","constructor","engineDirectory","buildDebugOnly","port","startParallelLimit","started","disposer","pLimit","start","candyWidgetRoot","path","join","filesObserver","Observe","files","do","x","logger","getLogger","withPrefix","execCommandAsync","cwd","observe","stop","_this$disposer","Promise","resolve","getFileStream","filePathUrl","parts","split","finalPath","fileData","Readable","read","push","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/CandyWidgetDevServer.ts"],"sourcesContent":["import path from \"path\";\nimport { readFile } from \"fs\";\nimport { promisify } from \"util\";\nimport { Readable } from \"stream\";\n\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { Observe } from \"../../../../Commons/TasksCore/Observe\";\nimport { execCommandAsync } from \"../../../../Commons/ExecUtils\";\nimport { getLogger } from \"../../../../Commons/Logging/StaticLogger\";\n\nconst readFileAsync = promisify(readFile);\n\nexport class CandyWidgetDevServer {\n // @ts-ignore\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n // @ts-ignore\n private readonly buildDebugOnly: boolean;\n private disposer?: () => Promise<void>;\n\n public constructor(engineDirectory: string, buildDebugOnly: boolean) {\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n const candyWidgetRoot = path.join(this.engineDirectory, \"Widgets\", \"CandyWidget\");\n const filesObserver = Observe.files(candyWidgetRoot, \"**/*.ts\").do(async x => {\n const logger = getLogger().withPrefix(\"WIDGET\");\n await execCommandAsync(logger, \"npm run build:loader\", {\n cwd: candyWidgetRoot,\n });\n await execCommandAsync(logger, \"npm run build:widget\", {\n cwd: candyWidgetRoot,\n });\n await execCommandAsync(logger, \"npm run build:jsLoader\", {\n cwd: candyWidgetRoot,\n });\n });\n\n this.disposer = await filesObserver.observe();\n\n this.started = true;\n });\n }\n\n public async stop(): Promise<void> {\n await (this.disposer ?? Promise.resolve)();\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const parts = filePathUrl.split(\"/\");\n const finalPath = path.join(this.engineDirectory, \"Widgets\", \"CandyWidget\", \".artifacts\", ...parts);\n const fileData = await readFileAsync(finalPath);\n return new Readable({\n read: function () {\n this.push(fileData);\n this.push(null);\n },\n });\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAEA,MAAMQ,aAAa,GAAG,IAAAC,eAAS,EAACC,YAAQ,CAAC;AAElC,MAAMC,oBAAoB,CAAC;EAUvBC,WAAWA,CAACC,eAAuB,EAAEC,cAAuB,EAAE;IATrE;IAAA,KACiBC,IAAI;IAAA,KACJF,eAAe;IAAA,KACfG,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IACvB;IAAA,KACiBH,cAAc;IAAA,KACvBI,QAAQ;IAGZ,IAAI,CAACL,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACG,kBAAkB,GAAG,IAAAG,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACL,cAAc,GAAGA,cAAc;EACxC;EACA,MAAaM,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACJ,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAMI,eAAe,GAAGC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACV,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC;MACjF,MAAMW,aAAa,GAAGC,gBAAO,CAACC,KAAK,CAACL,eAAe,EAAE,SAAS,CAAC,CAACM,EAAE,CAAC,MAAMC,CAAC,IAAI;QAC1E,MAAMC,MAAM,GAAG,IAAAC,uBAAS,EAAC,CAAC,CAACC,UAAU,CAAC,QAAQ,CAAC;QAC/C,MAAM,IAAAC,2BAAgB,EAACH,MAAM,EAAE,sBAAsB,EAAE;UACnDI,GAAG,EAAEZ;QACT,CAAC,CAAC;QACF,MAAM,IAAAW,2BAAgB,EAACH,MAAM,EAAE,sBAAsB,EAAE;UACnDI,GAAG,EAAEZ;QACT,CAAC,CAAC;QACF,MAAM,IAAAW,2BAAgB,EAACH,MAAM,EAAE,wBAAwB,EAAE;UACrDI,GAAG,EAAEZ;QACT,CAAC,CAAC;MACN,CAAC,CAAC;MAEF,IAAI,CAACH,QAAQ,GAAG,MAAMM,aAAa,CAACU,OAAO,CAAC,CAAC;MAE7C,IAAI,CAACjB,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAakB,IAAIA,CAAA,EAAkB;IAAA,IAAAC,cAAA;IAC/B,MAAM,EAAAA,cAAA,GAAC,IAAI,CAAClB,QAAQ,cAAAkB,cAAA,cAAAA,cAAA,GAAIC,OAAO,CAACC,OAAO,EAAE,CAAC;EAC9C;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,KAAK,GAAGD,WAAW,CAACE,KAAK,CAAC,GAAG,CAAC;IACpC,MAAMC,SAAS,GAAGrB,aAAI,CAACC,IAAI,CAAC,IAAI,CAACV,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG4B,KAAK,CAAC;IACnG,MAAMG,QAAQ,GAAG,MAAMpC,aAAa,CAACmC,SAAS,CAAC;IAC/C,OAAO,IAAIE,gBAAQ,CAAC;MAChBC,IAAI,EAAE,SAAAA,CAAA,EAAY;QACd,IAAI,CAACC,IAAI,CAACH,QAAQ,CAAC;QACnB,IAAI,CAACG,IAAI,CAAC,IAAI,CAAC;MACnB;IACJ,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAArC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ClientJsDevServer = void 0;
|
|
8
|
+
var _https = require("https");
|
|
9
|
+
var _stream = require("stream");
|
|
10
|
+
var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
11
|
+
var _pLimit = _interopRequireDefault(require("p-limit"));
|
|
12
|
+
var _WebpackDevServerWorkerFactory = require("./WebpackDevServerWorker/WebpackDevServerWorkerFactory");
|
|
13
|
+
class ClientJsDevServer {
|
|
14
|
+
constructor(port, engineDirectory, buildDebugOnly) {
|
|
15
|
+
this.port = void 0;
|
|
16
|
+
this.engineDirectory = void 0;
|
|
17
|
+
this.startParallelLimit = void 0;
|
|
18
|
+
this.started = false;
|
|
19
|
+
this.buildDebugOnly = void 0;
|
|
20
|
+
this.port = port;
|
|
21
|
+
this.engineDirectory = engineDirectory;
|
|
22
|
+
this.startParallelLimit = (0, _pLimit.default)(1);
|
|
23
|
+
this.buildDebugOnly = buildDebugOnly;
|
|
24
|
+
}
|
|
25
|
+
async start() {
|
|
26
|
+
return this.startParallelLimit(async () => {
|
|
27
|
+
if (this.started) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
await (0, _WebpackDevServerWorkerFactory.createWebPackDevServerWorker)(this.engineDirectory, "clientjs.webpack.config.js", this.port, {
|
|
31
|
+
resourcesPath: "dist",
|
|
32
|
+
outputFilename: "client",
|
|
33
|
+
development: "true",
|
|
34
|
+
production: this.buildDebugOnly ? "false" : "true",
|
|
35
|
+
sourceMapPrefix: "static/"
|
|
36
|
+
});
|
|
37
|
+
this.started = true;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async getClientJsContentAsStream(minified) {
|
|
41
|
+
const fileName = minified ? "client.min.js" : "client.js";
|
|
42
|
+
return this.getFileStream(`static/public/scripts/${fileName}`);
|
|
43
|
+
}
|
|
44
|
+
async getFileStream(filePathUrl) {
|
|
45
|
+
const request = await (0, _nodeFetch.default)(`https://localhost:${this.port}/${filePathUrl}`, {
|
|
46
|
+
method: "GET",
|
|
47
|
+
agent: new _https.Agent({
|
|
48
|
+
rejectUnauthorized: false
|
|
49
|
+
}),
|
|
50
|
+
compress: true
|
|
51
|
+
});
|
|
52
|
+
const buffer = await request.buffer();
|
|
53
|
+
return _stream.Readable.from(buffer);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.ClientJsDevServer = ClientJsDevServer;
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaHR0cHMiLCJyZXF1aXJlIiwiX3N0cmVhbSIsIl9ub2RlRmV0Y2giLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3BMaW1pdCIsIl9XZWJwYWNrRGV2U2VydmVyV29ya2VyRmFjdG9yeSIsIkNsaWVudEpzRGV2U2VydmVyIiwiY29uc3RydWN0b3IiLCJwb3J0IiwiZW5naW5lRGlyZWN0b3J5IiwiYnVpbGREZWJ1Z09ubHkiLCJzdGFydFBhcmFsbGVsTGltaXQiLCJzdGFydGVkIiwicExpbWl0Iiwic3RhcnQiLCJjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyIiwicmVzb3VyY2VzUGF0aCIsIm91dHB1dEZpbGVuYW1lIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwic291cmNlTWFwUHJlZml4IiwiZ2V0Q2xpZW50SnNDb250ZW50QXNTdHJlYW0iLCJtaW5pZmllZCIsImZpbGVOYW1lIiwiZ2V0RmlsZVN0cmVhbSIsImZpbGVQYXRoVXJsIiwicmVxdWVzdCIsImZldGNoIiwibWV0aG9kIiwiYWdlbnQiLCJBZ2VudCIsInJlamVjdFVuYXV0aG9yaXplZCIsImNvbXByZXNzIiwiYnVmZmVyIiwiUmVhZGFibGUiLCJmcm9tIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9EZXZTZXJ2ZXJzL0NsaWVudEpzRGV2U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFnZW50IH0gZnJvbSBcImh0dHBzXCI7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcblxuaW1wb3J0IGZldGNoIGZyb20gXCJub2RlLWZldGNoXCI7XG5pbXBvcnQgcExpbWl0LCB7IExpbWl0IH0gZnJvbSBcInAtbGltaXRcIjtcblxuaW1wb3J0IHsgY3JlYXRlV2ViUGFja0RldlNlcnZlcldvcmtlciB9IGZyb20gXCIuL1dlYnBhY2tEZXZTZXJ2ZXJXb3JrZXIvV2VicGFja0RldlNlcnZlcldvcmtlckZhY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIENsaWVudEpzRGV2U2VydmVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhcnRQYXJhbGxlbExpbWl0OiBMaW1pdDtcbiAgICBwcml2YXRlIHN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlciwgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLnN0YXJ0UGFyYWxsZWxMaW1pdCA9IHBMaW1pdCgxKTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRQYXJhbGxlbExpbWl0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXJ0ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVXZWJQYWNrRGV2U2VydmVyV29ya2VyKHRoaXMuZW5naW5lRGlyZWN0b3J5LCBcImNsaWVudGpzLndlYnBhY2suY29uZmlnLmpzXCIsIHRoaXMucG9ydCwge1xuICAgICAgICAgICAgICAgIHJlc291cmNlc1BhdGg6IFwiZGlzdFwiLFxuICAgICAgICAgICAgICAgIG91dHB1dEZpbGVuYW1lOiBcImNsaWVudFwiLFxuICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICBwcm9kdWN0aW9uOiB0aGlzLmJ1aWxkRGVidWdPbmx5ID8gXCJmYWxzZVwiIDogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgc291cmNlTWFwUHJlZml4OiBcInN0YXRpYy9cIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudEpzQ29udGVudEFzU3RyZWFtKG1pbmlmaWVkOiBib29sZWFuKTogUHJvbWlzZTxOb2RlSlMuUmVhZGFibGVTdHJlYW0+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBtaW5pZmllZCA/IFwiY2xpZW50Lm1pbi5qc1wiIDogXCJjbGllbnQuanNcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RmlsZVN0cmVhbShgc3RhdGljL3B1YmxpYy9zY3JpcHRzLyR7ZmlsZU5hbWV9YCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGdldEZpbGVTdHJlYW0oZmlsZVBhdGhVcmw6IHN0cmluZyk6IFByb21pc2U8Tm9kZUpTLlJlYWRhYmxlU3RyZWFtPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9sb2NhbGhvc3Q6JHt0aGlzLnBvcnR9LyR7ZmlsZVBhdGhVcmx9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgYWdlbnQ6IG5ldyBBZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSksXG4gICAgICAgICAgICBjb21wcmVzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHJlcXVlc3QuYnVmZmVyKCk7XG4gICAgICAgIHJldHVybiBSZWFkYWJsZS5mcm9tKGJ1ZmZlcik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssOEJBQUEsR0FBQUwsT0FBQTtBQUVPLE1BQU1NLGlCQUFpQixDQUFDO0VBT3BCQyxXQUFXQSxDQUFDQyxJQUFZLEVBQUVDLGVBQXVCLEVBQUVDLGNBQXVCLEVBQUU7SUFBQSxLQU5sRUYsSUFBSTtJQUFBLEtBQ0pDLGVBQWU7SUFBQSxLQUNmRSxrQkFBa0I7SUFBQSxLQUMzQkMsT0FBTyxHQUFHLEtBQUs7SUFBQSxLQUNORixjQUFjO0lBRzNCLElBQUksQ0FBQ0YsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQSxlQUFlO0lBQ3RDLElBQUksQ0FBQ0Usa0JBQWtCLEdBQUcsSUFBQUUsZUFBTSxFQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFJLENBQUNILGNBQWMsR0FBR0EsY0FBYztFQUN4QztFQUVBLE1BQWFJLEtBQUtBLENBQUEsRUFBa0I7SUFDaEMsT0FBTyxJQUFJLENBQUNILGtCQUFrQixDQUFDLFlBQVk7TUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sRUFBRTtRQUNkO01BQ0o7TUFDQSxNQUFNLElBQUFHLDJEQUE0QixFQUFDLElBQUksQ0FBQ04sZUFBZSxFQUFFLDRCQUE0QixFQUFFLElBQUksQ0FBQ0QsSUFBSSxFQUFFO1FBQzlGUSxhQUFhLEVBQUUsTUFBTTtRQUNyQkMsY0FBYyxFQUFFLFFBQVE7UUFDeEJDLFdBQVcsRUFBRSxNQUFNO1FBQ25CQyxVQUFVLEVBQUUsSUFBSSxDQUFDVCxjQUFjLEdBQUcsT0FBTyxHQUFHLE1BQU07UUFDbERVLGVBQWUsRUFBRTtNQUNyQixDQUFDLENBQUM7TUFDRixJQUFJLENBQUNSLE9BQU8sR0FBRyxJQUFJO0lBQ3ZCLENBQUMsQ0FBQztFQUNOO0VBRUEsTUFBYVMsMEJBQTBCQSxDQUFDQyxRQUFpQixFQUFrQztJQUN2RixNQUFNQyxRQUFRLEdBQUdELFFBQVEsR0FBRyxlQUFlLEdBQUcsV0FBVztJQUN6RCxPQUFPLElBQUksQ0FBQ0UsYUFBYSxDQUFDLHlCQUF5QkQsUUFBUSxFQUFFLENBQUM7RUFDbEU7RUFFQSxNQUFhQyxhQUFhQSxDQUFDQyxXQUFtQixFQUFrQztJQUM1RSxNQUFNQyxPQUFPLEdBQUcsTUFBTSxJQUFBQyxrQkFBSyxFQUFDLHFCQUFxQixJQUFJLENBQUNuQixJQUFJLElBQUlpQixXQUFXLEVBQUUsRUFBRTtNQUN6RUcsTUFBTSxFQUFFLEtBQUs7TUFDYkMsS0FBSyxFQUFFLElBQUlDLFlBQUssQ0FBQztRQUFFQyxrQkFBa0IsRUFBRTtNQUFNLENBQUMsQ0FBQztNQUMvQ0MsUUFBUSxFQUFFO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsTUFBTUMsTUFBTSxHQUFHLE1BQU1QLE9BQU8sQ0FBQ08sTUFBTSxDQUFDLENBQUM7SUFDckMsT0FBT0MsZ0JBQVEsQ0FBQ0MsSUFBSSxDQUFDRixNQUFNLENBQUM7RUFDaEM7QUFDSjtBQUFDRyxPQUFBLENBQUE5QixpQkFBQSxHQUFBQSxpQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientJsDevServer.js","names":["_https","require","_stream","_nodeFetch","_interopRequireDefault","_pLimit","_WebpackDevServerWorkerFactory","ClientJsDevServer","constructor","port","engineDirectory","buildDebugOnly","startParallelLimit","started","pLimit","start","createWebPackDevServerWorker","resourcesPath","outputFilename","development","production","sourceMapPrefix","getClientJsContentAsStream","minified","fileName","getFileStream","filePathUrl","request","fetch","method","agent","Agent","rejectUnauthorized","compress","buffer","Readable","from","exports"],"sources":["../../../../../../../src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.ts"],"sourcesContent":["import { Agent } from \"https\";\nimport { Readable } from \"stream\";\n\nimport fetch from \"node-fetch\";\nimport pLimit, { Limit } from \"p-limit\";\n\nimport { createWebPackDevServerWorker } from \"./WebpackDevServerWorker/WebpackDevServerWorkerFactory\";\n\nexport class ClientJsDevServer {\n private readonly port: number;\n private readonly engineDirectory: string;\n private readonly startParallelLimit: Limit;\n private started = false;\n private readonly buildDebugOnly: boolean;\n\n public constructor(port: number, engineDirectory: string, buildDebugOnly: boolean) {\n this.port = port;\n this.engineDirectory = engineDirectory;\n this.startParallelLimit = pLimit(1);\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async start(): Promise<void> {\n return this.startParallelLimit(async () => {\n if (this.started) {\n return;\n }\n await createWebPackDevServerWorker(this.engineDirectory, \"clientjs.webpack.config.js\", this.port, {\n resourcesPath: \"dist\",\n outputFilename: \"client\",\n development: \"true\",\n production: this.buildDebugOnly ? \"false\" : \"true\",\n sourceMapPrefix: \"static/\",\n });\n this.started = true;\n });\n }\n\n public async getClientJsContentAsStream(minified: boolean): Promise<NodeJS.ReadableStream> {\n const fileName = minified ? \"client.min.js\" : \"client.js\";\n return this.getFileStream(`static/public/scripts/${fileName}`);\n }\n\n public async getFileStream(filePathUrl: string): Promise<NodeJS.ReadableStream> {\n const request = await fetch(`https://localhost:${this.port}/${filePathUrl}`, {\n method: \"GET\",\n agent: new Agent({ rejectUnauthorized: false }),\n compress: true,\n });\n const buffer = await request.buffer();\n return Readable.from(buffer);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,8BAAA,GAAAL,OAAA;AAEO,MAAMM,iBAAiB,CAAC;EAOpBC,WAAWA,CAACC,IAAY,EAAEC,eAAuB,EAAEC,cAAuB,EAAE;IAAA,KANlEF,IAAI;IAAA,KACJC,eAAe;IAAA,KACfE,kBAAkB;IAAA,KAC3BC,OAAO,GAAG,KAAK;IAAA,KACNF,cAAc;IAG3B,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACE,kBAAkB,GAAG,IAAAE,eAAM,EAAC,CAAC,CAAC;IACnC,IAAI,CAACH,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAaI,KAAKA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACH,kBAAkB,CAAC,YAAY;MACvC,IAAI,IAAI,CAACC,OAAO,EAAE;QACd;MACJ;MACA,MAAM,IAAAG,2DAA4B,EAAC,IAAI,CAACN,eAAe,EAAE,4BAA4B,EAAE,IAAI,CAACD,IAAI,EAAE;QAC9FQ,aAAa,EAAE,MAAM;QACrBC,cAAc,EAAE,QAAQ;QACxBC,WAAW,EAAE,MAAM;QACnBC,UAAU,EAAE,IAAI,CAACT,cAAc,GAAG,OAAO,GAAG,MAAM;QAClDU,eAAe,EAAE;MACrB,CAAC,CAAC;MACF,IAAI,CAACR,OAAO,GAAG,IAAI;IACvB,CAAC,CAAC;EACN;EAEA,MAAaS,0BAA0BA,CAACC,QAAiB,EAAkC;IACvF,MAAMC,QAAQ,GAAGD,QAAQ,GAAG,eAAe,GAAG,WAAW;IACzD,OAAO,IAAI,CAACE,aAAa,CAAC,yBAAyBD,QAAQ,EAAE,CAAC;EAClE;EAEA,MAAaC,aAAaA,CAACC,WAAmB,EAAkC;IAC5E,MAAMC,OAAO,GAAG,MAAM,IAAAC,kBAAK,EAAC,qBAAqB,IAAI,CAACnB,IAAI,IAAIiB,WAAW,EAAE,EAAE;MACzEG,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,IAAIC,YAAK,CAAC;QAAEC,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAC/CC,QAAQ,EAAE;IACd,CAAC,CAAC;IACF,MAAMC,MAAM,GAAG,MAAMP,OAAO,CAACO,MAAM,CAAC,CAAC;IACrC,OAAOC,gBAAQ,CAACC,IAAI,CAACF,MAAM,CAAC;EAChC;AACJ;AAACG,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|