diff --git a/lib/core/audience_evaluator/index.tests.js b/lib/core/audience_evaluator/index.tests.js index bc725a428..1dc5efd30 100644 --- a/lib/core/audience_evaluator/index.tests.js +++ b/lib/core/audience_evaluator/index.tests.js @@ -20,7 +20,7 @@ import { sprintf } from '../../utils/fns'; import AudienceEvaluator, { createAudienceEvaluator } from './index'; import * as conditionTreeEvaluator from '../condition_tree_evaluator'; import * as customAttributeConditionEvaluator from '../custom_attribute_condition_evaluator'; -import { AUDIENCE_EVALUATION_RESULT, EVALUATING_AUDIENCE } from '../../log_messages'; +import { AUDIENCE_EVALUATION_RESULT, EVALUATING_AUDIENCE } from 'log_message'; var buildLogMessageFromArgs = args => sprintf(args[1], ...args.splice(2)); var mockLogger = { diff --git a/lib/core/audience_evaluator/index.ts b/lib/core/audience_evaluator/index.ts index 4ada47bbe..e2b3bce0a 100644 --- a/lib/core/audience_evaluator/index.ts +++ b/lib/core/audience_evaluator/index.ts @@ -17,8 +17,8 @@ import * as conditionTreeEvaluator from '../condition_tree_evaluator'; import * as customAttributeConditionEvaluator from '../custom_attribute_condition_evaluator'; import * as odpSegmentsConditionEvaluator from './odp_segment_condition_evaluator'; import { Audience, Condition, OptimizelyUserContext } from '../../shared_types'; -import { CONDITION_EVALUATOR_ERROR, UNKNOWN_CONDITION_TYPE } from '../../error_messages'; -import { AUDIENCE_EVALUATION_RESULT, EVALUATING_AUDIENCE} from '../../log_messages'; +import { CONDITION_EVALUATOR_ERROR, UNKNOWN_CONDITION_TYPE } from 'error_message'; +import { AUDIENCE_EVALUATION_RESULT, EVALUATING_AUDIENCE} from 'log_message'; import { LoggerFacade } from '../../logging/logger'; export class AudienceEvaluator { diff --git a/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.tests.js b/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.tests.js index 684e28258..cc9218887 100644 --- a/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.tests.js +++ b/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.tests.js @@ -19,7 +19,7 @@ import { sprintf } from '../../../utils/fns'; import { LOG_LEVEL } from '../../../utils/enums'; import * as odpSegmentEvalutor from './'; -import { UNKNOWN_MATCH_TYPE } from '../../../error_messages'; +import { UNKNOWN_MATCH_TYPE } from 'error_message'; var odpSegment1Condition = { "value": "odp-segment-1", diff --git a/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.ts b/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.ts index d97ee9db5..7380c9269 100644 --- a/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.ts +++ b/lib/core/audience_evaluator/odp_segment_condition_evaluator/index.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * * limitations under the License. * ***************************************************************************/ -import { UNKNOWN_MATCH_TYPE } from '../../../error_messages'; +import { UNKNOWN_MATCH_TYPE } from 'error_message'; import { LoggerFacade } from '../../../logging/logger'; import { Condition, OptimizelyUserContext } from '../../../shared_types'; diff --git a/lib/core/bucketer/index.tests.js b/lib/core/bucketer/index.tests.js index 12bea0d3a..023431af7 100644 --- a/lib/core/bucketer/index.tests.js +++ b/lib/core/bucketer/index.tests.js @@ -22,7 +22,7 @@ import * as bucketer from './'; import { LOG_LEVEL } from '../../utils/enums'; import projectConfig from '../../project_config/project_config'; import { getTestProjectConfig } from '../../tests/test_data'; -import { INVALID_BUCKETING_ID, INVALID_GROUP_ID } from '../../error_messages'; +import { INVALID_BUCKETING_ID, INVALID_GROUP_ID } from 'error_message'; import { USER_BUCKETED_INTO_EXPERIMENT_IN_GROUP, USER_NOT_BUCKETED_INTO_EXPERIMENT_IN_GROUP, diff --git a/lib/core/bucketer/index.ts b/lib/core/bucketer/index.ts index 6d23856e5..d965e0217 100644 --- a/lib/core/bucketer/index.ts +++ b/lib/core/bucketer/index.ts @@ -26,7 +26,7 @@ import { Group, } from '../../shared_types'; -import { INVALID_BUCKETING_ID, INVALID_GROUP_ID } from '../../error_messages'; +import { INVALID_BUCKETING_ID, INVALID_GROUP_ID } from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; export const USER_NOT_IN_ANY_EXPERIMENT = 'User %s is not in any experiment of group %s.'; diff --git a/lib/core/custom_attribute_condition_evaluator/index.tests.js b/lib/core/custom_attribute_condition_evaluator/index.tests.js index b17f3d3f7..12607e001 100644 --- a/lib/core/custom_attribute_condition_evaluator/index.tests.js +++ b/lib/core/custom_attribute_condition_evaluator/index.tests.js @@ -17,20 +17,17 @@ import sinon from 'sinon'; import { assert } from 'chai'; import { sprintf } from '../../utils/fns'; -import { - LOG_LEVEL, -} from '../../utils/enums'; import * as customAttributeEvaluator from './'; import { MISSING_ATTRIBUTE_VALUE, UNEXPECTED_TYPE_NULL, -} from '../../log_messages'; +} from 'log_message'; import { UNKNOWN_MATCH_TYPE, UNEXPECTED_TYPE, OUT_OF_BOUNDS, UNEXPECTED_CONDITION_VALUE, -} from '../../error_messages'; +} from 'error_message'; var browserConditionSafari = { name: 'browser_type', diff --git a/lib/core/custom_attribute_condition_evaluator/index.ts b/lib/core/custom_attribute_condition_evaluator/index.ts index c722c1837..797a7d4e0 100644 --- a/lib/core/custom_attribute_condition_evaluator/index.ts +++ b/lib/core/custom_attribute_condition_evaluator/index.ts @@ -20,13 +20,13 @@ import { compareVersion } from '../../utils/semantic_version'; import { MISSING_ATTRIBUTE_VALUE, UNEXPECTED_TYPE_NULL, -} from '../../log_messages'; +} from 'log_message'; import { OUT_OF_BOUNDS, UNEXPECTED_TYPE, UNEXPECTED_CONDITION_VALUE, UNKNOWN_MATCH_TYPE -} from '../../error_messages'; +} from 'error_message'; import { LoggerFacade } from '../../logging/logger'; const EXACT_MATCH_TYPE = 'exact'; diff --git a/lib/core/decision_service/index.tests.js b/lib/core/decision_service/index.tests.js index 470d998eb..89b7113eb 100644 --- a/lib/core/decision_service/index.tests.js +++ b/lib/core/decision_service/index.tests.js @@ -45,7 +45,7 @@ import { VALID_BUCKETING_ID, SAVED_USER_VARIATION, SAVED_VARIATION_NOT_FOUND, -} from '../../log_messages'; +} from 'log_message'; import { EXPERIMENT_NOT_RUNNING, @@ -64,7 +64,7 @@ import { USER_MEETS_CONDITIONS_FOR_TARGETING_RULE, } from '../decision_service/index'; -import { BUCKETING_ID_NOT_STRING, USER_PROFILE_LOOKUP_ERROR, USER_PROFILE_SAVE_ERROR } from '../../error_messages'; +import { BUCKETING_ID_NOT_STRING, USER_PROFILE_LOOKUP_ERROR, USER_PROFILE_SAVE_ERROR } from 'error_message'; var testData = getTestProjectConfig(); var testDataWithFeatures = getTestProjectConfigWithFeatures(); diff --git a/lib/core/decision_service/index.ts b/lib/core/decision_service/index.ts index 9867d9b19..beb6b24da 100644 --- a/lib/core/decision_service/index.ts +++ b/lib/core/decision_service/index.ts @@ -56,7 +56,7 @@ import { USER_PROFILE_LOOKUP_ERROR, USER_PROFILE_SAVE_ERROR, BUCKETING_ID_NOT_STRING, -} from '../../error_messages'; +} from 'error_message'; import { SAVED_USER_VARIATION, @@ -70,7 +70,7 @@ import { USER_HAS_NO_FORCED_VARIATION_FOR_EXPERIMENT, VALID_BUCKETING_ID, VARIATION_REMOVED_FOR_USER, -} from '../../log_messages'; +} from 'log_message'; import { OptimizelyError } from '../../error/optimizly_error'; export const EXPERIMENT_NOT_RUNNING = 'Experiment %s is not running.'; diff --git a/lib/event_processor/batch_event_processor.ts b/lib/event_processor/batch_event_processor.ts index dae605d88..97b4dd8f4 100644 --- a/lib/event_processor/batch_event_processor.ts +++ b/lib/event_processor/batch_event_processor.ts @@ -27,7 +27,7 @@ import { isSuccessStatusCode } from "../utils/http_request_handler/http_util"; import { EventEmitter } from "../utils/event_emitter/event_emitter"; import { IdGenerator } from "../utils/id_generator"; import { areEventContextsEqual } from "./event_builder/user_event"; -import { EVENT_PROCESSOR_STOPPED, FAILED_TO_DISPATCH_EVENTS, FAILED_TO_DISPATCH_EVENTS_WITH_ARG } from "../error_messages"; +import { EVENT_PROCESSOR_STOPPED, FAILED_TO_DISPATCH_EVENTS, FAILED_TO_DISPATCH_EVENTS_WITH_ARG } from "error_message"; import { OptimizelyError } from "../error/optimizly_error"; export const DEFAULT_MIN_BACKOFF = 1000; diff --git a/lib/event_processor/event_dispatcher/default_dispatcher.ts b/lib/event_processor/event_dispatcher/default_dispatcher.ts index a812541cd..30da34823 100644 --- a/lib/event_processor/event_dispatcher/default_dispatcher.ts +++ b/lib/event_processor/event_dispatcher/default_dispatcher.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { OptimizelyError } from '../../error/optimizly_error'; -import { ONLY_POST_REQUESTS_ARE_SUPPORTED } from '../../error_messages'; +import { ONLY_POST_REQUESTS_ARE_SUPPORTED } from 'error_message'; import { RequestHandler } from '../../utils/http_request_handler/http'; import { EventDispatcher, EventDispatcherResponse, LogEvent } from './event_dispatcher'; diff --git a/lib/event_processor/event_dispatcher/send_beacon_dispatcher.browser.ts b/lib/event_processor/event_dispatcher/send_beacon_dispatcher.browser.ts index d3130342a..006adedd6 100644 --- a/lib/event_processor/event_dispatcher/send_beacon_dispatcher.browser.ts +++ b/lib/event_processor/event_dispatcher/send_beacon_dispatcher.browser.ts @@ -15,7 +15,7 @@ */ import { OptimizelyError } from '../../error/optimizly_error'; -import { SEND_BEACON_FAILED } from '../../error_messages'; +import { SEND_BEACON_FAILED } from 'error_message'; import { EventDispatcher, EventDispatcherResponse } from './event_dispatcher'; export type Event = { diff --git a/lib/event_processor/forwarding_event_processor.ts b/lib/event_processor/forwarding_event_processor.ts index 8ac6f6631..d516afe7c 100644 --- a/lib/event_processor/forwarding_event_processor.ts +++ b/lib/event_processor/forwarding_event_processor.ts @@ -23,7 +23,7 @@ import { buildLogEvent } from './event_builder/log_event'; import { BaseService, ServiceState } from '../service'; import { EventEmitter } from '../utils/event_emitter/event_emitter'; import { Consumer, Fn } from '../utils/type'; -import { SERVICE_STOPPED_BEFORE_IT_WAS_STARTED } from '../error_messages'; +import { SERVICE_STOPPED_BEFORE_IT_WAS_STARTED } from 'error_message'; import { OptimizelyError } from '../error/optimizly_error'; class ForwardingEventProcessor extends BaseService implements EventProcessor { private dispatcher: EventDispatcher; diff --git a/lib/index.browser.ts b/lib/index.browser.ts index c25971393..48c996cbd 100644 --- a/lib/index.browser.ts +++ b/lib/index.browser.ts @@ -29,7 +29,7 @@ import { createPollingProjectConfigManager } from './project_config/config_manag import { createBatchEventProcessor, createForwardingEventProcessor } from './event_processor/event_processor_factory.browser'; import { createVuidManager } from './vuid/vuid_manager_factory.browser'; import { createOdpManager } from './odp/odp_manager_factory.browser'; -import { ODP_DISABLED, UNABLE_TO_ATTACH_UNLOAD } from './log_messages'; +import { UNABLE_TO_ATTACH_UNLOAD } from 'error_message'; import { extractLogger, createLogger } from './logging/logger_factory'; import { extractErrorNotifier, createErrorNotifier } from './error/error_notifier_factory'; import { LoggerFacade } from './logging/logger'; diff --git a/lib/index.node.ts b/lib/index.node.ts index ba31fcbee..f66abcf28 100644 --- a/lib/index.node.ts +++ b/lib/index.node.ts @@ -27,8 +27,6 @@ import { createPollingProjectConfigManager } from './project_config/config_manag import { createForwardingEventProcessor, createBatchEventProcessor } from './event_processor/event_processor_factory.node'; import { createVuidManager } from './vuid/vuid_manager_factory.node'; import { createOdpManager } from './odp/odp_manager_factory.node'; -import { ODP_DISABLED } from './log_messages'; -import { create } from 'domain'; import { extractLogger, createLogger } from './logging/logger_factory'; import { extractErrorNotifier, createErrorNotifier } from './error/error_notifier_factory'; import { Maybe } from './utils/type'; diff --git a/lib/error_messages.ts b/lib/message/error_message.ts similarity index 99% rename from lib/error_messages.ts rename to lib/message/error_message.ts index 7ef14178d..97844f639 100644 --- a/lib/error_messages.ts +++ b/lib/message/error_message.ts @@ -142,6 +142,6 @@ export const ODP_MANAGER_STOPPED_BEFORE_RUNNING = 'odp manager stopped before ru export const ODP_EVENT_MANAGER_STOPPED = "ODP event manager stopped before it could start"; export const ONREADY_TIMEOUT_EXPIRED = 'onReady timeout expired after %s ms'; export const DATAFILE_MANAGER_FAILED_TO_START = 'Datafile manager failed to start'; - +export const UNABLE_TO_ATTACH_UNLOAD = 'unable to bind optimizely.close() to page unload event: "%s"'; export const messages: string[] = []; diff --git a/lib/log_messages.ts b/lib/message/log_message.ts similarity index 98% rename from lib/log_messages.ts rename to lib/message/log_message.ts index 6123adc74..bbd1d110e 100644 --- a/lib/log_messages.ts +++ b/lib/message/log_message.ts @@ -75,7 +75,6 @@ export const MISSING_ATTRIBUTE_VALUE = export const UNEXPECTED_TYPE_NULL = 'Audience condition %s evaluated to UNKNOWN because a null value was passed for user attribute "%s".'; export const UPDATED_OPTIMIZELY_CONFIG = 'Updated Optimizely config to revision %s (project id %s)'; -export const UNABLE_TO_ATTACH_UNLOAD = 'unable to bind optimizely.close() to page unload event: "%s"'; export const UNABLE_TO_PARSE_AND_SKIPPED_HEADER = 'Unable to parse & skipped header item'; export const ADDING_AUTHORIZATION_HEADER_WITH_BEARER_TOKEN = 'Adding Authorization header with Bearer Token'; export const MAKING_DATAFILE_REQ_TO_URL_WITH_HEADERS = 'Making datafile request to url %s with headers: %s'; diff --git a/lib/message/message_resolver.ts b/lib/message/message_resolver.ts index 4f6d38752..07a0cefdf 100644 --- a/lib/message/message_resolver.ts +++ b/lib/message/message_resolver.ts @@ -1,5 +1,5 @@ -import { messages as infoMessages } from '../log_messages'; -import { messages as errorMessages } from '../error_messages'; +import { messages as infoMessages } from 'log_message'; +import { messages as errorMessages } from 'error_message'; export interface MessageResolver { resolve(baseMessage: string): string; diff --git a/lib/notification_center/index.ts b/lib/notification_center/index.ts index 2db4d36d7..7b17ba658 100644 --- a/lib/notification_center/index.ts +++ b/lib/notification_center/index.ts @@ -20,7 +20,7 @@ import { NOTIFICATION_TYPES } from './type'; import { NotificationType, NotificationPayload } from './type'; import { Consumer, Fn } from '../utils/type'; import { EventEmitter } from '../utils/event_emitter/event_emitter'; -import { NOTIFICATION_LISTENER_EXCEPTION } from '../error_messages'; +import { NOTIFICATION_LISTENER_EXCEPTION } from 'error_message'; import { ErrorReporter } from '../error/error_reporter'; import { ErrorNotifier } from '../error/error_notifier'; diff --git a/lib/odp/event_manager/odp_event_manager.ts b/lib/odp/event_manager/odp_event_manager.ts index 9bf107874..11d4b37f1 100644 --- a/lib/odp/event_manager/odp_event_manager.ts +++ b/lib/odp/event_manager/odp_event_manager.ts @@ -32,7 +32,7 @@ import { ODP_NOT_INTEGRATED, FAILED_TO_DISPATCH_EVENTS_WITH_ARG, ODP_EVENT_MANAGER_STOPPED -} from '../../error_messages'; +} from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; export interface OdpEventManager extends Service { diff --git a/lib/odp/odp_manager.ts b/lib/odp/odp_manager.ts index 7b36c0eb9..6e7da8769 100644 --- a/lib/odp/odp_manager.ts +++ b/lib/odp/odp_manager.ts @@ -29,7 +29,7 @@ import { CLIENT_VERSION, JAVASCRIPT_CLIENT_ENGINE } from '../utils/enums'; import { ODP_DEFAULT_EVENT_TYPE, ODP_EVENT_ACTION, ODP_USER_KEY } from './constant'; import { isVuid } from '../vuid/vuid'; import { Maybe } from '../utils/type'; -import { ODP_MANAGER_STOPPED_BEFORE_RUNNING } from '../error_messages'; +import { ODP_MANAGER_STOPPED_BEFORE_RUNNING } from 'error_message'; import { OptimizelyError } from '../error/optimizly_error'; export interface OdpManager extends Service { diff --git a/lib/odp/segment_manager/odp_segment_manager.ts b/lib/odp/segment_manager/odp_segment_manager.ts index 71c300030..d243f2a14 100644 --- a/lib/odp/segment_manager/odp_segment_manager.ts +++ b/lib/odp/segment_manager/odp_segment_manager.ts @@ -20,7 +20,7 @@ import { OdpIntegrationConfig } from '../odp_config'; import { OptimizelySegmentOption } from './optimizely_segment_option'; import { ODP_USER_KEY } from '../constant'; import { LoggerFacade } from '../../logging/logger'; -import { ODP_CONFIG_NOT_AVAILABLE, ODP_NOT_INTEGRATED } from '../../error_messages'; +import { ODP_CONFIG_NOT_AVAILABLE, ODP_NOT_INTEGRATED } from 'error_message'; export interface OdpSegmentManager { fetchQualifiedSegments( diff --git a/lib/optimizely/index.tests.js b/lib/optimizely/index.tests.js index 30d67cd72..1d542beb2 100644 --- a/lib/optimizely/index.tests.js +++ b/lib/optimizely/index.tests.js @@ -47,7 +47,7 @@ import { USER_RECEIVED_DEFAULT_VARIABLE_VALUE, VALID_USER_PROFILE_SERVICE, VARIATION_REMOVED_FOR_USER, -} from '../log_messages'; +} from 'log_message'; import { EXPERIMENT_KEY_NOT_IN_DATAFILE, INVALID_ATTRIBUTES, @@ -59,7 +59,7 @@ import { USER_NOT_IN_FORCED_VARIATION, INSTANCE_CLOSED, ONREADY_TIMEOUT_EXPIRED, -} from '../error_messages'; +} from 'error_message'; import { AUDIENCE_EVALUATION_RESULT_COMBINED, diff --git a/lib/optimizely/index.ts b/lib/optimizely/index.ts index 87da57af7..b0e3a2f87 100644 --- a/lib/optimizely/index.ts +++ b/lib/optimizely/index.ts @@ -79,7 +79,7 @@ import { VARIABLE_REQUESTED_WITH_WRONG_TYPE, ONREADY_TIMEOUT, INSTANCE_CLOSED -} from '../error_messages'; +} from 'error_message'; import { FEATURE_ENABLED_FOR_USER, @@ -96,7 +96,7 @@ import { USER_RECEIVED_VARIABLE_VALUE, VALID_USER_PROFILE_SERVICE, VARIABLE_NOT_USED_RETURN_DEFAULT_VARIABLE_VALUE, -} from '../log_messages'; +} from 'log_message'; import { ErrorNotifier } from '../error/error_notifier'; import { ErrorReporter } from '../error/error_reporter'; diff --git a/lib/optimizely_user_context/index.tests.js b/lib/optimizely_user_context/index.tests.js index 92985fa5a..f30a21984 100644 --- a/lib/optimizely_user_context/index.tests.js +++ b/lib/optimizely_user_context/index.tests.js @@ -33,7 +33,7 @@ import { USER_HAS_FORCED_DECISION_WITH_NO_RULE_SPECIFIED_BUT_INVALID, USER_HAS_FORCED_DECISION_WITH_RULE_SPECIFIED, USER_HAS_FORCED_DECISION_WITH_RULE_SPECIFIED_BUT_INVALID, -} from '../log_messages'; +} from 'log_message'; const getMockEventDispatcher = () => { const dispatcher = { diff --git a/lib/project_config/polling_datafile_manager.ts b/lib/project_config/polling_datafile_manager.ts index 1f7c62473..354823c58 100644 --- a/lib/project_config/polling_datafile_manager.ts +++ b/lib/project_config/polling_datafile_manager.ts @@ -28,13 +28,13 @@ import { DATAFILE_FETCH_REQUEST_FAILED, ERROR_FETCHING_DATAFILE, FAILED_TO_FETCH_DATAFILE, -} from '../error_messages'; +} from 'error_message'; import { ADDING_AUTHORIZATION_HEADER_WITH_BEARER_TOKEN, MAKING_DATAFILE_REQ_TO_URL_WITH_HEADERS, RESPONSE_STATUS_CODE, SAVED_LAST_MODIFIED_HEADER_VALUE_FROM_RESPONSE, -} from '../log_messages'; +} from 'log_message'; import { OptimizelyError } from '../error/optimizly_error'; export class PollingDatafileManager extends BaseService implements DatafileManager { diff --git a/lib/project_config/project_config.tests.js b/lib/project_config/project_config.tests.js index ff8e18624..6e93327cc 100644 --- a/lib/project_config/project_config.tests.js +++ b/lib/project_config/project_config.tests.js @@ -30,7 +30,7 @@ import { VARIABLE_KEY_NOT_IN_DATAFILE, FEATURE_NOT_IN_DATAFILE, UNABLE_TO_CAST_VALUE -} from '../error_messages'; +} from 'error_message'; var createLogger = () => ({ debug: () => {}, diff --git a/lib/project_config/project_config.ts b/lib/project_config/project_config.ts index 1a7ad4313..38a4b42d6 100644 --- a/lib/project_config/project_config.ts +++ b/lib/project_config/project_config.ts @@ -48,8 +48,8 @@ import { UNRECOGNIZED_ATTRIBUTE, VARIABLE_KEY_NOT_IN_DATAFILE, VARIATION_ID_NOT_IN_DATAFILE_NO_EXPERIMENT, -} from '../error_messages'; -import { SKIPPING_JSON_VALIDATION, VALID_DATAFILE } from '../log_messages'; +} from 'error_message'; +import { SKIPPING_JSON_VALIDATION, VALID_DATAFILE } from 'log_message'; import { OptimizelyError } from '../error/optimizly_error'; interface TryCreatingProjectConfigConfig { diff --git a/lib/project_config/project_config_manager.ts b/lib/project_config/project_config_manager.ts index 985a0524e..b9dbf279e 100644 --- a/lib/project_config/project_config_manager.ts +++ b/lib/project_config/project_config_manager.ts @@ -22,7 +22,7 @@ import { scheduleMicrotask } from '../utils/microtask'; import { Service, ServiceState, BaseService } from '../service'; import { Consumer, Fn, Transformer } from '../utils/type'; import { EventEmitter } from '../utils/event_emitter/event_emitter'; -import { DATAFILE_MANAGER_STOPPED, NO_SDKKEY_OR_DATAFILE, DATAFILE_MANAGER_FAILED_TO_START } from '../error_messages'; +import { DATAFILE_MANAGER_STOPPED, NO_SDKKEY_OR_DATAFILE, DATAFILE_MANAGER_FAILED_TO_START } from 'error_message'; import { OptimizelyError } from '../error/optimizly_error'; interface ProjectConfigManagerConfig { diff --git a/lib/utils/attributes_validator/index.tests.js b/lib/utils/attributes_validator/index.tests.js index 17daf68e8..ecfc4bccb 100644 --- a/lib/utils/attributes_validator/index.tests.js +++ b/lib/utils/attributes_validator/index.tests.js @@ -17,7 +17,7 @@ import { assert } from 'chai'; import { sprintf } from '../../utils/fns'; import * as attributesValidator from './'; -import { INVALID_ATTRIBUTES, UNDEFINED_ATTRIBUTE } from '../../error_messages'; +import { INVALID_ATTRIBUTES, UNDEFINED_ATTRIBUTE } from 'error_message'; describe('lib/utils/attributes_validator', function() { describe('APIs', function() { diff --git a/lib/utils/attributes_validator/index.ts b/lib/utils/attributes_validator/index.ts index adbe70bdb..08b50eb43 100644 --- a/lib/utils/attributes_validator/index.ts +++ b/lib/utils/attributes_validator/index.ts @@ -16,7 +16,7 @@ import { ObjectWithUnknownProperties } from '../../shared_types'; import fns from '../../utils/fns'; -import { INVALID_ATTRIBUTES, UNDEFINED_ATTRIBUTE } from '../../error_messages'; +import { INVALID_ATTRIBUTES, UNDEFINED_ATTRIBUTE } from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; /** diff --git a/lib/utils/config_validator/index.tests.js b/lib/utils/config_validator/index.tests.js index 8ff6e7581..4df36a83e 100644 --- a/lib/utils/config_validator/index.tests.js +++ b/lib/utils/config_validator/index.tests.js @@ -25,7 +25,7 @@ import { INVALID_EVENT_DISPATCHER, INVALID_LOGGER, NO_DATAFILE_SPECIFIED, -} from '../../error_messages'; +} from 'error_message'; describe('lib/utils/config_validator', function() { describe('APIs', function() { diff --git a/lib/utils/config_validator/index.ts b/lib/utils/config_validator/index.ts index a61d4f1cf..636791613 100644 --- a/lib/utils/config_validator/index.ts +++ b/lib/utils/config_validator/index.ts @@ -26,7 +26,7 @@ import { INVALID_EVENT_DISPATCHER, INVALID_LOGGER, NO_DATAFILE_SPECIFIED, -} from '../../error_messages'; +} from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; const SUPPORTED_VERSIONS = [DATAFILE_VERSIONS.V2, DATAFILE_VERSIONS.V3, DATAFILE_VERSIONS.V4]; diff --git a/lib/utils/event_tag_utils/index.tests.js b/lib/utils/event_tag_utils/index.tests.js index f1e6e8834..f1f81a1fb 100644 --- a/lib/utils/event_tag_utils/index.tests.js +++ b/lib/utils/event_tag_utils/index.tests.js @@ -18,7 +18,7 @@ import { assert } from 'chai'; import { sprintf } from '../../utils/fns'; import * as eventTagUtils from './'; -import { FAILED_TO_PARSE_REVENUE, PARSED_REVENUE_VALUE, PARSED_NUMERIC_VALUE, FAILED_TO_PARSE_VALUE } from '../../log_messages'; +import { FAILED_TO_PARSE_REVENUE, PARSED_REVENUE_VALUE, PARSED_NUMERIC_VALUE, FAILED_TO_PARSE_VALUE } from 'log_message'; var buildLogMessageFromArgs = args => sprintf(args[1], ...args.splice(2)); diff --git a/lib/utils/event_tag_utils/index.ts b/lib/utils/event_tag_utils/index.ts index 8819086a9..7c4377d76 100644 --- a/lib/utils/event_tag_utils/index.ts +++ b/lib/utils/event_tag_utils/index.ts @@ -18,7 +18,7 @@ import { FAILED_TO_PARSE_VALUE, PARSED_NUMERIC_VALUE, PARSED_REVENUE_VALUE, -} from '../../log_messages'; +} from 'log_message'; import { EventTags } from '../../event_processor/event_builder/user_event'; import { LoggerFacade } from '../../logging/logger'; diff --git a/lib/utils/event_tags_validator/index.tests.js b/lib/utils/event_tags_validator/index.tests.js index a7ea58956..c18585d50 100644 --- a/lib/utils/event_tags_validator/index.tests.js +++ b/lib/utils/event_tags_validator/index.tests.js @@ -14,10 +14,9 @@ * limitations under the License. */ import { assert } from 'chai'; -import { sprintf } from '../../utils/fns'; import { validate } from './'; -import { INVALID_EVENT_TAGS } from '../../error_messages'; +import { INVALID_EVENT_TAGS } from 'error_message'; describe('lib/utils/event_tags_validator', function() { describe('APIs', function() { diff --git a/lib/utils/event_tags_validator/index.ts b/lib/utils/event_tags_validator/index.ts index 6dde8a045..421321f69 100644 --- a/lib/utils/event_tags_validator/index.ts +++ b/lib/utils/event_tags_validator/index.ts @@ -18,7 +18,7 @@ * Provides utility method for validating that event tags user has provided are valid */ import { OptimizelyError } from '../../error/optimizly_error'; -import { INVALID_EVENT_TAGS } from '../../error_messages'; +import { INVALID_EVENT_TAGS } from 'error_message'; /** * Validates user's provided event tags diff --git a/lib/utils/executor/backoff_retry_runner.ts b/lib/utils/executor/backoff_retry_runner.ts index 93b3ef748..f0b185a99 100644 --- a/lib/utils/executor/backoff_retry_runner.ts +++ b/lib/utils/executor/backoff_retry_runner.ts @@ -1,5 +1,5 @@ import { OptimizelyError } from "../../error/optimizly_error"; -import { RETRY_CANCELLED } from "../../error_messages"; +import { RETRY_CANCELLED } from "error_message"; import { resolvablePromise, ResolvablePromise } from "../promise/resolvablePromise"; import { BackoffController } from "../repeater/repeater"; import { AsyncProducer, Fn } from "../type"; diff --git a/lib/utils/http_request_handler/request_handler.browser.ts b/lib/utils/http_request_handler/request_handler.browser.ts index 5ab8ce1cb..a85137dad 100644 --- a/lib/utils/http_request_handler/request_handler.browser.ts +++ b/lib/utils/http_request_handler/request_handler.browser.ts @@ -17,8 +17,8 @@ import { AbortableRequest, Headers, RequestHandler, Response } from './http'; import { LoggerFacade, LogLevel } from '../../logging/logger'; import { REQUEST_TIMEOUT_MS } from '../enums'; -import { REQUEST_ERROR, REQUEST_TIMEOUT } from '../../error_messages'; -import { UNABLE_TO_PARSE_AND_SKIPPED_HEADER } from '../../log_messages'; +import { REQUEST_ERROR, REQUEST_TIMEOUT } from 'error_message'; +import { UNABLE_TO_PARSE_AND_SKIPPED_HEADER } from 'log_message'; import { OptimizelyError } from '../../error/optimizly_error'; /** diff --git a/lib/utils/http_request_handler/request_handler.node.ts b/lib/utils/http_request_handler/request_handler.node.ts index cf0a620db..7e64a7383 100644 --- a/lib/utils/http_request_handler/request_handler.node.ts +++ b/lib/utils/http_request_handler/request_handler.node.ts @@ -20,7 +20,7 @@ import { AbortableRequest, Headers, RequestHandler, Response } from './http'; import decompressResponse from 'decompress-response'; import { LoggerFacade } from '../../logging/logger'; import { REQUEST_TIMEOUT_MS } from '../enums'; -import { NO_STATUS_CODE_IN_RESPONSE, REQUEST_ERROR, REQUEST_TIMEOUT, UNSUPPORTED_PROTOCOL } from '../../error_messages'; +import { NO_STATUS_CODE_IN_RESPONSE, REQUEST_ERROR, REQUEST_TIMEOUT, UNSUPPORTED_PROTOCOL } from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; /** diff --git a/lib/utils/json_schema_validator/index.tests.js b/lib/utils/json_schema_validator/index.tests.js index aaee8dc27..cace62047 100644 --- a/lib/utils/json_schema_validator/index.tests.js +++ b/lib/utils/json_schema_validator/index.tests.js @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { sprintf } from '../fns'; import { assert } from 'chai'; import { validate } from './'; import testData from '../../tests/test_data'; -import { NO_JSON_PROVIDED } from '../../error_messages'; +import { NO_JSON_PROVIDED } from 'error_message'; describe('lib/utils/json_schema_validator', function() { diff --git a/lib/utils/json_schema_validator/index.ts b/lib/utils/json_schema_validator/index.ts index f5824931c..42fe19f11 100644 --- a/lib/utils/json_schema_validator/index.ts +++ b/lib/utils/json_schema_validator/index.ts @@ -16,7 +16,7 @@ import { JSONSchema4, validate as jsonSchemaValidator } from 'json-schema'; import schema from '../../project_config/project_config_schema'; -import { INVALID_DATAFILE, INVALID_JSON, NO_JSON_PROVIDED } from '../../error_messages'; +import { INVALID_DATAFILE, INVALID_JSON, NO_JSON_PROVIDED } from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; /** diff --git a/lib/utils/semantic_version/index.ts b/lib/utils/semantic_version/index.ts index 2e5e02e47..56fad06a5 100644 --- a/lib/utils/semantic_version/index.ts +++ b/lib/utils/semantic_version/index.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { UNKNOWN_MATCH_TYPE } from '../../error_messages'; +import { UNKNOWN_MATCH_TYPE } from 'error_message'; import { LoggerFacade } from '../../logging/logger'; import { VERSION_TYPE } from '../enums'; diff --git a/lib/utils/user_profile_service_validator/index.tests.js b/lib/utils/user_profile_service_validator/index.tests.js index 8f2e50b28..d5ad136e8 100644 --- a/lib/utils/user_profile_service_validator/index.tests.js +++ b/lib/utils/user_profile_service_validator/index.tests.js @@ -14,10 +14,9 @@ * limitations under the License. * ***************************************************************************/ import { assert } from 'chai'; -import { sprintf } from '../../utils/fns'; import { validate } from './'; -import { INVALID_USER_PROFILE_SERVICE } from '../../error_messages'; +import { INVALID_USER_PROFILE_SERVICE } from 'error_message'; describe('lib/utils/user_profile_service_validator', function() { describe('APIs', function() { diff --git a/lib/utils/user_profile_service_validator/index.ts b/lib/utils/user_profile_service_validator/index.ts index cb7529dcb..95e8cf61a 100644 --- a/lib/utils/user_profile_service_validator/index.ts +++ b/lib/utils/user_profile_service_validator/index.ts @@ -19,7 +19,7 @@ */ import { ObjectWithUnknownProperties } from '../../shared_types'; -import { INVALID_USER_PROFILE_SERVICE } from '../../error_messages'; +import { INVALID_USER_PROFILE_SERVICE } from 'error_message'; import { OptimizelyError } from '../../error/optimizly_error'; diff --git a/package-lock.json b/package-lock.json index 07043aa32..4cfbad348 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,6 +59,7 @@ "ts-loader": "^9.3.1", "ts-mockito": "^2.6.1", "ts-node": "^8.10.2", + "tsconfig-paths": "^4.2.0", "tslib": "^2.4.0", "typescript": "^4.7.4", "vitest": "^2.0.5", @@ -15800,6 +15801,29 @@ "source-map": "^0.6.0" } }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", diff --git a/package.json b/package.json index 367d40125..2d97998df 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "clean:win": "(if exist dist rd /s/q dist)", "lint": "tsc --noEmit && eslint 'lib/**/*.js' 'lib/**/*.ts'", "test-vitest": "tsc --noEmit --p tsconfig.spec.json && vitest run", - "test-mocha": "TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register -r lib/tests/exit_on_unhandled_rejection.js 'lib/**/*.tests.ts' 'lib/**/*.tests.js'", + "test-mocha": "TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\" }' mocha -r ts-node/register -r tsconfig-paths/register -r lib/tests/exit_on_unhandled_rejection.js 'lib/**/*.tests.ts' 'lib/**/*.tests.js'", "test": "npm run test-mocha && npm run test-vitest", "posttest": "npm run lint", "test-ci": "npm run test-xbrowser && npm run test-umdbrowser", @@ -82,14 +82,14 @@ "test-umdbrowser": "npm run build-browser-umd && karma start karma.umd.conf.js --single-run", "test-karma-local": "karma start karma.local_chrome.bs.conf.js && npm run build-browser-umd && karma start karma.local_chrome.umd.conf.js", "prebuild": "npm run clean", - "build": "rollup -c && cp dist/index.lite.d.ts dist/optimizely.lite.es.d.ts && cp dist/index.lite.d.ts dist/optimizely.lite.es.min.d.ts && cp dist/index.lite.d.ts dist/optimizely.lite.min.d.ts", - "build:win": "rollup -c && type nul > dist/optimizely.lite.es.d.ts && type nul > dist/optimizely.lite.es.min.d.ts && type nul > dist/optimizely.lite.min.d.ts", + "build": "npm run genmsg && rollup -c && cp dist/index.lite.d.ts dist/optimizely.lite.es.d.ts && cp dist/index.lite.d.ts dist/optimizely.lite.es.min.d.ts && cp dist/index.lite.d.ts dist/optimizely.lite.min.d.ts", + "build:win": "npm run genmsg && rollup -c && type nul > dist/optimizely.lite.es.d.ts && type nul > dist/optimizely.lite.es.min.d.ts && type nul > dist/optimizely.lite.min.d.ts", "build-browser-umd": "rollup -c --config-umd", "coveralls": "nyc --reporter=lcov npm test", "prepare": "npm run build", "prepublishOnly": "npm test && npm run test-ci", "postbuild:win": "@powershell copy \"dist/index.lite.d.ts\" \"dist/optimizely.lite.es.d.ts\" && @powershell copy \"dist/index.lite.d.ts\" \"dist/optimizely.lite.es.min.d.ts\" && @powershell copy \"dist/index.lite.d.ts\" \"dist/optimizely.lite.min.d.ts\"", - "genmsg": "jiti message_generator ./lib/error_messages.ts ./lib/log_messages.ts ./lib/exception_messages.ts" + "genmsg": "jiti message_generator ./lib/message/error_message.ts ./lib/message/log_message.ts" }, "repository": { "type": "git", @@ -157,6 +157,7 @@ "ts-loader": "^9.3.1", "ts-mockito": "^2.6.1", "ts-node": "^8.10.2", + "tsconfig-paths": "^4.2.0", "tslib": "^2.4.0", "typescript": "^4.7.4", "vitest": "^2.0.5", diff --git a/rollup.config.js b/rollup.config.js index 8a7887714..68d495c9c 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -31,6 +31,21 @@ const typescriptPluginOptions = { 'node_modules', ], include: ['./lib/**/*.ts', './lib/**/*.js'], + tsconfigOverride: { + compilerOptions: { + paths: { + "*": [ + "./typings/*" + ], + "error_message": [ + "./lib/message/error_message.gen" + ], + "log_message": [ + "./lib/message/log_message.gen" + ], + } + } + } }; const cjsBundleFor = platform => ({ diff --git a/tsconfig.json b/tsconfig.json index ef8012773..c69f440b6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,6 +17,12 @@ "*": [ "./typings/*" ], + "error_message": [ + "./lib/message/error_message" + ], + "log_message": [ + "./lib/message/log_message" + ], }, "resolveJsonModule": true, "allowJs": true, diff --git a/vitest.config.mts b/vitest.config.mts index 673f7d1c6..05669feb1 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -13,10 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +import path from 'path'; import { defineConfig } from 'vitest/config' export default defineConfig({ + resolve: { + alias: { + 'error_message': path.resolve(__dirname, './lib/message/error_message'), + 'log_message': path.resolve(__dirname, './lib/message/log_message'), + }, + }, test: { onConsoleLog: () => true, environment: 'happy-dom',