rx-player 3.26.2 → 3.27.0-dev.20220317
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/.github/workflows/perfs.yml +22 -0
- package/CHANGELOG.md +33 -1
- package/FILES.md +5 -4
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/browser_detection.d.ts +4 -2
- package/dist/_esm5.processed/compat/browser_detection.js +4 -2
- package/dist/_esm5.processed/compat/eme/close_session.d.ts +11 -5
- package/dist/_esm5.processed/compat/eme/close_session.js +144 -36
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.d.ts +3 -5
- package/dist/_esm5.processed/compat/eme/custom_media_keys/index.js +27 -24
- package/dist/_esm5.processed/compat/eme/custom_media_keys/old_webkit_media_keys.js +53 -34
- package/dist/_esm5.processed/compat/eme/custom_media_keys/webkit_media_keys.js +43 -41
- package/dist/_esm5.processed/compat/eme/generate_key_request.d.ts +2 -3
- package/dist/_esm5.processed/compat/eme/generate_key_request.js +22 -26
- package/dist/_esm5.processed/compat/eme/load_session.d.ts +1 -2
- package/dist/_esm5.processed/compat/eme/load_session.js +68 -17
- package/dist/_esm5.processed/compat/event_listeners.js +2 -1
- package/dist/_esm5.processed/compat/should_favour_custom_safari_EME.js +2 -2
- package/dist/_esm5.processed/config.d.ts +166 -1080
- package/dist/_esm5.processed/config.js +17 -1119
- package/dist/_esm5.processed/core/abr/bandwidth_estimator.js +4 -1
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.d.ts +28 -6
- package/dist/_esm5.processed/core/abr/buffer_based_chooser.js +63 -12
- package/dist/_esm5.processed/core/abr/network_analyzer.d.ts +1 -1
- package/dist/_esm5.processed/core/abr/network_analyzer.js +2 -1
- package/dist/_esm5.processed/core/abr/pending_requests_store.js +3 -5
- package/dist/_esm5.processed/core/abr/representation_estimator.d.ts +1 -1
- package/dist/_esm5.processed/core/abr/representation_estimator.js +2 -2
- package/dist/_esm5.processed/core/api/get_player_state.js +1 -1
- package/dist/_esm5.processed/core/api/index.d.ts +2 -1
- package/dist/_esm5.processed/core/api/media_element_track_choice_manager.d.ts +6 -0
- package/dist/_esm5.processed/core/api/media_element_track_choice_manager.js +22 -4
- package/dist/_esm5.processed/core/api/option_utils.d.ts +3 -1
- package/dist/_esm5.processed/core/api/option_utils.js +19 -6
- package/dist/_esm5.processed/core/api/playback_observer.js +5 -1
- package/dist/_esm5.processed/core/api/public_api.d.ts +82 -71
- package/dist/_esm5.processed/core/api/public_api.js +72 -33
- package/dist/_esm5.processed/core/api/track_choice_manager.d.ts +6 -6
- package/dist/_esm5.processed/core/{eme → decrypt}/__tests__/__global__/utils.d.ts +7 -51
- package/dist/_esm5.processed/core/{eme → decrypt}/__tests__/__global__/utils.js +30 -75
- package/dist/_esm5.processed/core/{eme → decrypt}/attach_media_keys.d.ts +12 -12
- package/dist/_esm5.processed/core/decrypt/attach_media_keys.js +104 -0
- package/dist/_esm5.processed/core/{eme/clear_eme_session.d.ts → decrypt/clear_on_stop.d.ts} +3 -4
- package/dist/_esm5.processed/core/decrypt/clear_on_stop.js +41 -0
- package/dist/_esm5.processed/core/decrypt/content_decryptor.d.ts +216 -0
- package/dist/_esm5.processed/core/decrypt/content_decryptor.js +866 -0
- package/dist/_esm5.processed/core/{eme/get_session.d.ts → decrypt/create_or_load_session.d.ts} +28 -26
- package/dist/_esm5.processed/core/decrypt/create_or_load_session.js +124 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/create_session.d.ts +22 -19
- package/dist/_esm5.processed/core/decrypt/create_session.js +174 -0
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.d.ts +21 -0
- package/dist/_esm5.processed/core/decrypt/dispose_decryption_resources.js +81 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/find_key_system.d.ts +11 -14
- package/dist/_esm5.processed/core/decrypt/find_key_system.js +300 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/get_current_key_system.d.ts +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/get_current_key_system.js +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt}/get_media_keys.d.ts +13 -5
- package/dist/_esm5.processed/core/decrypt/get_media_keys.js +153 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/index.d.ts +5 -6
- package/dist/_esm5.processed/core/{eme → decrypt}/index.js +5 -5
- package/dist/_esm5.processed/core/{eme → decrypt}/init_media_keys.d.ts +6 -4
- package/dist/_esm5.processed/core/decrypt/init_media_keys.js +82 -0
- package/dist/_esm5.processed/core/decrypt/session_events_listener.d.ts +77 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/session_events_listener.js +25 -24
- package/dist/_esm5.processed/core/{eme → decrypt}/set_server_certificate.d.ts +15 -6
- package/dist/_esm5.processed/core/decrypt/set_server_certificate.js +141 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/types.d.ts +120 -242
- package/dist/_esm5.processed/core/{eme → decrypt}/types.js +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/are_init_values_compatible.d.ts +3 -3
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/are_init_values_compatible.js +5 -5
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/check_key_statuses.d.ts +2 -2
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/check_key_statuses.js +4 -3
- package/dist/_esm5.processed/core/{eme/utils/close_session.d.ts → decrypt/utils/clean_old_loaded_sessions.d.ts} +8 -7
- package/dist/_esm5.processed/core/decrypt/utils/clean_old_loaded_sessions.js +85 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.d.ts +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.js +2 -2
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/get_drm_system_id.d.ts +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/get_drm_system_id.js +1 -1
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.d.ts +69 -0
- package/dist/_esm5.processed/core/decrypt/utils/init_data_values_container.js +99 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/is_session_usable.d.ts +0 -1
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/is_session_usable.js +4 -5
- package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.d.ts +44 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_id_comparison.js +77 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.d.ts +104 -0
- package/dist/_esm5.processed/core/decrypt/utils/key_session_record.js +155 -0
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.d.ts +108 -0
- package/dist/_esm5.processed/core/decrypt/utils/loaded_sessions_store.js +303 -0
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/media_keys_infos_store.d.ts +4 -4
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/media_keys_infos_store.js +0 -0
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/persistent_sessions_store.d.ts +8 -18
- package/dist/_esm5.processed/core/{eme → decrypt}/utils/persistent_sessions_store.js +119 -97
- package/dist/_esm5.processed/core/{eme/utils/init_data_container.d.ts → decrypt/utils/serializable_bytes.d.ts} +8 -5
- package/dist/_esm5.processed/core/{eme/utils/init_data_container.js → decrypt/utils/serializable_bytes.js} +9 -9
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/server_certificate_store.d.ts +1 -1
- package/dist/_esm5.processed/core/{eme → decrypt/utils}/server_certificate_store.js +1 -1
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.d.ts +4 -4
- package/dist/_esm5.processed/core/fetchers/manifest/manifest_fetcher.js +3 -3
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.d.ts +2 -2
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher.js +6 -2
- package/dist/_esm5.processed/core/fetchers/segment/segment_fetcher_creator.js +1 -1
- package/dist/_esm5.processed/core/fetchers/utils/try_urls_with_backoff.js +1 -1
- package/dist/_esm5.processed/core/init/get_initial_time.js +1 -1
- package/dist/_esm5.processed/core/init/initialize_directfile.d.ts +3 -3
- package/dist/_esm5.processed/core/init/initialize_directfile.js +11 -17
- package/dist/_esm5.processed/core/init/initialize_media_source.d.ts +5 -3
- package/dist/_esm5.processed/core/init/initialize_media_source.js +18 -69
- package/dist/_esm5.processed/core/init/link_drm_and_content.d.ts +61 -0
- package/dist/_esm5.processed/core/init/link_drm_and_content.js +94 -0
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.d.ts +4 -4
- package/dist/_esm5.processed/core/init/manifest_update_scheduler.js +2 -1
- package/dist/_esm5.processed/core/init/stall_avoider.js +1 -1
- package/dist/_esm5.processed/core/init/stream_events_emitter/are_same_stream_events.d.ts +4 -4
- package/dist/_esm5.processed/core/init/stream_events_emitter/stream_events_emitter.js +1 -1
- package/dist/_esm5.processed/core/init/stream_events_emitter/types.d.ts +2 -2
- package/dist/_esm5.processed/core/init/types.d.ts +2 -4
- package/dist/_esm5.processed/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.js +1 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.d.ts +3 -3
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/html_text_segment_buffer.js +3 -1
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/html/text_track_cues_store.js +32 -31
- package/dist/_esm5.processed/core/segment_buffers/implementations/text/native/native_text_segment_buffer.d.ts +4 -4
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.d.ts +17 -1
- package/dist/_esm5.processed/core/segment_buffers/inventory/segment_inventory.js +22 -5
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.d.ts +2 -1
- package/dist/_esm5.processed/core/stream/adaptation/adaptation_stream.js +6 -3
- package/dist/_esm5.processed/core/stream/events_generators.d.ts +8 -3
- package/dist/_esm5.processed/core/stream/events_generators.js +3 -2
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.d.ts +1 -0
- package/dist/_esm5.processed/core/stream/orchestrator/stream_orchestrator.js +3 -3
- package/dist/_esm5.processed/core/stream/period/create_empty_adaptation_stream.js +2 -1
- package/dist/_esm5.processed/core/stream/period/get_adaptation_switch_strategy.js +1 -1
- package/dist/_esm5.processed/core/stream/period/period_stream.d.ts +2 -1
- package/dist/_esm5.processed/core/stream/period/period_stream.js +3 -3
- package/dist/_esm5.processed/core/stream/representation/force_garbage_collection.js +5 -6
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.d.ts +6 -1
- package/dist/_esm5.processed/core/stream/representation/get_buffer_status.js +12 -9
- package/dist/_esm5.processed/core/stream/representation/get_needed_segments.d.ts +19 -14
- package/dist/_esm5.processed/core/stream/representation/get_needed_segments.js +86 -10
- package/dist/_esm5.processed/core/stream/representation/get_segment_priority.js +1 -1
- package/dist/_esm5.processed/core/stream/representation/push_media_segment.js +3 -3
- package/dist/_esm5.processed/core/stream/representation/representation_stream.d.ts +6 -0
- package/dist/_esm5.processed/core/stream/representation/representation_stream.js +19 -8
- package/dist/_esm5.processed/core/stream/types.d.ts +1 -1
- package/dist/_esm5.processed/default_config.d.ts +1114 -0
- package/dist/_esm5.processed/default_config.js +1145 -0
- package/dist/_esm5.processed/errors/request_error.js +3 -1
- package/dist/_esm5.processed/experimental/index.d.ts +2 -0
- package/dist/_esm5.processed/experimental/index.js +2 -0
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/push_data.d.ts +1 -0
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.d.ts +2 -2
- package/dist/_esm5.processed/experimental/tools/VideoThumbnailLoader/thumbnail_loader.js +2 -4
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.d.ts +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.js +1 -1
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +1 -2
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.js +1 -2
- package/dist/_esm5.processed/experimental/tools/mediaCapabilitiesProber/types.d.ts +3 -3
- package/dist/_esm5.processed/features/features_object.js +1 -1
- package/dist/_esm5.processed/features/initialize_features.js +1 -1
- package/dist/_esm5.processed/features/list/eme.d.ts +3 -3
- package/dist/_esm5.processed/features/list/eme.js +5 -5
- package/dist/_esm5.processed/features/types.d.ts +3 -3
- package/dist/_esm5.processed/manifest/adaptation.d.ts +2 -2
- package/dist/_esm5.processed/manifest/adaptation.js +3 -1
- package/dist/_esm5.processed/manifest/manifest.d.ts +10 -23
- package/dist/_esm5.processed/manifest/manifest.js +10 -74
- package/dist/_esm5.processed/manifest/period.d.ts +3 -3
- package/dist/_esm5.processed/manifest/representation.d.ts +37 -5
- package/dist/_esm5.processed/manifest/representation_index/types.d.ts +18 -18
- package/dist/_esm5.processed/manifest/types.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_hdr_information.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/get_periods_time_infos.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/base.d.ts +6 -6
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_init_segment.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/get_segments_from_timeline.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/is_period_fulfilled.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/list.d.ts +14 -14
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.d.ts +17 -17
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/template.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.d.ts +28 -20
- package/dist/_esm5.processed/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.js +20 -5
- package/dist/_esm5.processed/parsers/manifest/dash/common/infer_adaptation_type.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/manifest_bounds_calculator.d.ts +1 -1
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.d.ts +17 -35
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_adaptation_sets.js +109 -96
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.d.ts +8 -8
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_mpd.js +1 -2
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.d.ts +18 -27
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_periods.js +25 -23
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.d.ts +21 -15
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representation_index.js +19 -19
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.d.ts +15 -38
- package/dist/_esm5.processed/parsers/manifest/dash/common/parse_representations.js +8 -8
- package/dist/_esm5.processed/parsers/manifest/dash/node_parser_types.d.ts +30 -30
- package/dist/_esm5.processed/parsers/manifest/dash/parsers_types.d.ts +3 -3
- package/dist/_esm5.processed/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.js +1 -1
- package/dist/_esm5.processed/parsers/manifest/metaplaylist/metaplaylist_parser.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.d.ts +7 -7
- package/dist/_esm5.processed/parsers/manifest/smooth/create_parser.js +1 -0
- package/dist/_esm5.processed/parsers/manifest/smooth/representation_index.d.ts +8 -8
- package/dist/_esm5.processed/parsers/manifest/types.d.ts +28 -28
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.d.ts +3 -2
- package/dist/_esm5.processed/parsers/manifest/utils/clear_timeline_from_position.js +15 -5
- package/dist/_esm5.processed/parsers/manifest/utils/index_helpers.d.ts +2 -2
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.d.ts +11 -1
- package/dist/_esm5.processed/parsers/manifest/utils/update_segment_timeline.js +31 -19
- package/dist/_esm5.processed/parsers/texttracks/webvtt/html/to_html.d.ts +2 -2
- package/dist/_esm5.processed/parsers/texttracks/webvtt/parse_cue_block.d.ts +1 -1
- package/dist/_esm5.processed/public_types.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/add_segment_integrity_checks_to_loader.js +2 -1
- package/dist/_esm5.processed/transports/dash/image_pipelines.js +4 -1
- package/dist/_esm5.processed/transports/dash/init_segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/dash/manifest_parser.js +1 -1
- package/dist/_esm5.processed/transports/dash/segment_loader.d.ts +2 -2
- package/dist/_esm5.processed/transports/dash/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/dash/segment_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/segment_parser.js +6 -3
- package/dist/_esm5.processed/transports/dash/text_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/text_loader.js +1 -1
- package/dist/_esm5.processed/transports/dash/text_parser.d.ts +1 -1
- package/dist/_esm5.processed/transports/dash/text_parser.js +8 -2
- package/dist/_esm5.processed/transports/local/segment_loader.d.ts +1 -2
- package/dist/_esm5.processed/transports/local/segment_loader.js +1 -1
- package/dist/_esm5.processed/transports/local/segment_parser.js +4 -1
- package/dist/_esm5.processed/transports/local/text_parser.js +8 -2
- package/dist/_esm5.processed/transports/metaplaylist/manifest_loader.d.ts +1 -1
- package/dist/_esm5.processed/transports/metaplaylist/pipelines.js +1 -1
- package/dist/_esm5.processed/transports/smooth/pipelines.js +69 -11
- package/dist/_esm5.processed/transports/smooth/segment_loader.d.ts +0 -1
- package/dist/_esm5.processed/transports/smooth/segment_loader.js +2 -2
- package/dist/_esm5.processed/transports/types.d.ts +58 -30
- package/dist/_esm5.processed/transports/utils/call_custom_manifest_loader.js +1 -1
- package/dist/_esm5.processed/transports/utils/generate_manifest_loader.d.ts +1 -1
- package/dist/_esm5.processed/utils/cancellable_sleep.js +1 -1
- package/dist/_esm5.processed/utils/cast_to_observable.d.ts +1 -2
- package/dist/_esm5.processed/utils/cast_to_observable.js +1 -1
- package/dist/_esm5.processed/utils/deep_merge.d.ts +12 -0
- package/dist/_esm5.processed/utils/deep_merge.js +53 -0
- package/dist/_esm5.processed/utils/reference.d.ts +29 -0
- package/dist/_esm5.processed/utils/reference.js +72 -24
- package/dist/_esm5.processed/utils/request/fetch.d.ts +4 -5
- package/dist/_esm5.processed/utils/request/fetch.js +8 -6
- package/dist/_esm5.processed/utils/request/xhr.d.ts +6 -6
- package/dist/_esm5.processed/utils/request/xhr.js +3 -2
- package/dist/_esm5.processed/utils/rx-from_cancellable_promise.d.ts +1 -2
- package/dist/_esm5.processed/utils/rx-from_cancellable_promise.js +7 -2
- package/dist/_esm5.processed/utils/task_canceller.d.ts +5 -3
- package/dist/_esm5.processed/utils/task_canceller.js +3 -3
- package/dist/rx-player.js +5242 -3190
- package/dist/rx-player.min.js +1 -1
- package/dummy +1 -0
- package/{dist/_esm5.processed/core/eme/dispose_eme.d.ts → experimental/index.d.ts} +1 -4
- package/{dist/_esm5.processed/core/eme/dispose_media_keys.d.ts → experimental/index.js} +1 -6
- package/package.json +33 -36
- package/scripts/build/templates/experimental/index.d.ts +16 -0
- package/scripts/build/templates/experimental/index.js +16 -0
- package/scripts/doc-generator/generate_header_html.js +6 -7
- package/scripts/doc-generator/generate_page_html.js +3 -4
- package/scripts/doc-generator/generate_page_list_html.js +4 -5
- package/scripts/doc-generator/generate_sidebar_html.js +4 -7
- package/scripts/doc-generator/utils.js +0 -11
- package/scripts/generate_demo_list.js +3 -3
- package/scripts/generate_documentation_list.js +3 -3
- package/scripts/launch_static_server.js +127 -67
- package/scripts/run_standalone_demo.js +1 -0
- package/scripts/start_demo_web_server.js +1 -0
- package/sonar-project.properties +1 -1
- package/src/README.md +6 -6
- package/src/compat/__tests__/fullscreen.test.ts +7 -7
- package/src/compat/__tests__/is_vtt_cue.test.ts +1 -1
- package/src/compat/__tests__/should_favour_custom_safari_EME.test.ts +45 -5
- package/src/compat/browser_detection.ts +4 -2
- package/src/compat/eme/close_session.ts +90 -56
- package/src/compat/eme/custom_media_keys/ie11_media_keys.ts +1 -1
- package/src/compat/eme/custom_media_keys/index.ts +28 -41
- package/src/compat/eme/custom_media_keys/old_webkit_media_keys.ts +63 -46
- package/src/compat/eme/custom_media_keys/webkit_media_keys.ts +51 -49
- package/src/compat/eme/generate_key_request.ts +25 -33
- package/src/compat/eme/load_session.ts +29 -31
- package/src/compat/event_listeners.ts +2 -1
- package/src/compat/should_favour_custom_safari_EME.ts +5 -2
- package/src/config.ts +17 -1210
- package/src/core/README.md +1 -1
- package/src/core/abr/__tests__/{get_estimate_from_buffer_levels.test.ts → buffer_based_chooser.test.ts} +94 -123
- package/src/core/abr/bandwidth_estimator.ts +4 -4
- package/src/core/abr/buffer_based_chooser.ts +85 -20
- package/src/core/abr/network_analyzer.ts +6 -7
- package/src/core/abr/pending_requests_store.ts +3 -5
- package/src/core/abr/representation_estimator.ts +6 -3
- package/src/core/api/__tests__/get_player_state.test.ts +3 -3
- package/src/core/api/__tests__/option_utils.test.ts +17 -17
- package/src/core/api/get_player_state.ts +1 -1
- package/src/core/api/index.ts +3 -0
- package/src/core/api/media_element_track_choice_manager.ts +22 -3
- package/src/core/api/option_utils.ts +37 -20
- package/src/core/api/playback_observer.ts +12 -8
- package/src/core/api/public_api.ts +152 -112
- package/src/core/api/track_choice_manager.ts +10 -9
- package/src/core/decrypt/README.md +22 -0
- package/src/core/decrypt/__tests__/__global__/get_license.test.ts +418 -0
- package/src/core/decrypt/__tests__/__global__/init_data.test.ts +675 -0
- package/src/core/{eme → decrypt}/__tests__/__global__/media_key_system_access.test.ts +99 -92
- package/src/core/decrypt/__tests__/__global__/media_keys.test.ts +156 -0
- package/src/core/decrypt/__tests__/__global__/server_certificate.test.ts +262 -0
- package/src/core/{eme → decrypt}/__tests__/__global__/utils.ts +36 -103
- package/src/core/{eme → decrypt}/attach_media_keys.ts +49 -56
- package/src/core/decrypt/clear_on_stop.ts +48 -0
- package/src/core/decrypt/content_decryptor.ts +1158 -0
- package/src/core/decrypt/create_or_load_session.ts +130 -0
- package/src/core/decrypt/create_session.ts +175 -0
- package/src/core/decrypt/dispose_decryption_resources.ts +39 -0
- package/src/core/{eme → decrypt}/find_key_system.ts +126 -134
- package/src/core/{eme → decrypt}/get_current_key_system.ts +1 -1
- package/src/core/decrypt/get_media_keys.ts +145 -0
- package/src/core/{eme → decrypt}/index.ts +11 -8
- package/src/core/decrypt/init_media_keys.ts +51 -0
- package/src/core/{eme → decrypt}/session_events_listener.ts +93 -55
- package/src/core/decrypt/set_server_certificate.ts +104 -0
- package/src/core/{eme → decrypt}/types.ts +129 -259
- package/src/core/{eme → decrypt}/utils/__tests__/are_init_values_compatible.test.ts +1 -1
- package/src/core/{eme → decrypt/utils}/__tests__/clean_old_loaded_sessions.test.ts +29 -71
- package/src/core/{eme → decrypt/utils}/__tests__/clean_old_stored_persistent_info.test.ts +6 -6
- package/src/core/{eme → decrypt}/utils/are_init_values_compatible.ts +9 -9
- package/src/core/{eme → decrypt/utils}/check_key_statuses.ts +6 -5
- package/{dist/_esm5.processed/core/eme/clean_old_loaded_sessions.js → src/core/decrypt/utils/clean_old_loaded_sessions.ts} +20 -20
- package/src/core/{eme → decrypt/utils}/clean_old_stored_persistent_info.ts +3 -3
- package/src/core/{eme → decrypt/utils}/get_drm_system_id.ts +1 -1
- package/src/core/decrypt/utils/init_data_values_container.ts +119 -0
- package/src/core/{eme → decrypt}/utils/is_session_usable.ts +4 -5
- package/src/core/decrypt/utils/key_id_comparison.ts +82 -0
- package/src/core/decrypt/utils/key_session_record.ts +175 -0
- package/src/core/decrypt/utils/loaded_sessions_store.ts +318 -0
- package/src/core/{eme → decrypt/utils}/media_keys_infos_store.ts +4 -4
- package/src/core/{eme → decrypt}/utils/persistent_sessions_store.ts +122 -104
- package/src/core/{eme/utils/init_data_container.ts → decrypt/utils/serializable_bytes.ts} +8 -5
- package/src/core/{eme → decrypt/utils}/server_certificate_store.ts +2 -2
- package/src/core/fetchers/manifest/manifest_fetcher.ts +9 -9
- package/src/core/fetchers/segment/segment_fetcher.ts +10 -7
- package/src/core/fetchers/segment/segment_fetcher_creator.ts +2 -2
- package/src/core/fetchers/utils/try_urls_with_backoff.ts +1 -1
- package/src/core/init/.initialize_media_source.ts.un~ +0 -0
- package/src/core/init/get_initial_time.ts +2 -1
- package/src/core/init/initialize_directfile.ts +19 -22
- package/src/core/init/initialize_media_source.ts +43 -106
- package/src/core/init/link_drm_and_content.ts +176 -0
- package/src/core/init/manifest_update_scheduler.ts +12 -10
- package/src/core/init/stall_avoider.ts +6 -5
- package/src/core/init/stream_events_emitter/are_same_stream_events.ts +4 -4
- package/src/core/init/stream_events_emitter/stream_events_emitter.ts +2 -1
- package/src/core/init/stream_events_emitter/types.ts +2 -2
- package/src/core/init/types.ts +1 -39
- package/src/core/segment_buffers/implementations/audio_video/audio_video_segment_buffer.ts +2 -1
- package/src/core/segment_buffers/implementations/text/html/html_text_segment_buffer.ts +6 -7
- package/src/core/segment_buffers/implementations/text/html/text_track_cues_store.ts +32 -31
- package/src/core/segment_buffers/implementations/text/native/native_text_segment_buffer.ts +4 -4
- package/src/core/segment_buffers/inventory/segment_inventory.ts +42 -8
- package/src/core/stream/adaptation/adaptation_stream.ts +7 -1
- package/src/core/stream/events_generators.ts +9 -4
- package/src/core/stream/orchestrator/stream_orchestrator.ts +9 -4
- package/src/core/stream/period/create_empty_adaptation_stream.ts +2 -1
- package/src/core/stream/period/get_adaptation_switch_strategy.ts +1 -1
- package/src/core/stream/period/period_stream.ts +5 -2
- package/src/core/stream/representation/force_garbage_collection.ts +5 -7
- package/src/core/stream/representation/get_buffer_status.ts +28 -16
- package/src/core/stream/representation/get_needed_segments.ts +124 -28
- package/src/core/stream/representation/get_segment_priority.ts +1 -2
- package/src/core/stream/representation/push_media_segment.ts +3 -2
- package/src/core/stream/representation/representation_stream.ts +30 -7
- package/src/core/stream/types.ts +1 -1
- package/src/default_config.ts +1241 -0
- package/src/errors/request_error.ts +4 -1
- package/src/experimental/index.ts +5 -0
- package/src/experimental/tools/VideoThumbnailLoader/push_data.ts +1 -0
- package/src/experimental/tools/VideoThumbnailLoader/thumbnail_loader.ts +5 -7
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/DRMInfos.test.ts +3 -10
- package/src/experimental/tools/mediaCapabilitiesProber/__tests__/probers/HDCPPolicy.test.ts +4 -4
- package/src/experimental/tools/mediaCapabilitiesProber/api/index.ts +1 -1
- package/src/experimental/tools/mediaCapabilitiesProber/api/probeMediaConfiguration.ts +3 -3
- package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +1 -2
- package/src/experimental/tools/mediaCapabilitiesProber/probers/HDCPPolicy.ts +1 -2
- package/src/experimental/tools/mediaCapabilitiesProber/types.ts +3 -3
- package/src/features/__tests__/initialize_features.test.ts +2 -2
- package/src/features/features_object.ts +1 -1
- package/src/features/initialize_features.ts +1 -1
- package/src/features/list/__tests__/eme.test.ts +5 -5
- package/src/features/list/eme.ts +5 -5
- package/src/features/types.ts +3 -10
- package/src/manifest/adaptation.ts +6 -4
- package/src/manifest/manifest.ts +16 -86
- package/src/manifest/period.ts +3 -3
- package/src/manifest/representation.ts +38 -5
- package/src/manifest/representation_index/types.ts +18 -18
- package/src/manifest/types.ts +3 -3
- package/src/parsers/manifest/dash/common/__tests__/manifest_bounds_calculator.test.ts +1 -0
- package/src/parsers/manifest/dash/common/get_hdr_information.ts +1 -1
- package/src/parsers/manifest/dash/common/get_periods_time_infos.ts +3 -3
- package/src/parsers/manifest/dash/common/indexes/base.ts +6 -6
- package/src/parsers/manifest/dash/common/indexes/get_init_segment.ts +4 -2
- package/src/parsers/manifest/dash/common/indexes/get_segments_from_timeline.ts +2 -2
- package/src/parsers/manifest/dash/common/indexes/is_period_fulfilled.ts +1 -2
- package/src/parsers/manifest/dash/common/indexes/list.ts +14 -14
- package/src/parsers/manifest/dash/common/indexes/template.ts +18 -18
- package/src/parsers/manifest/dash/common/indexes/timeline/construct_timeline_from_elements.ts +1 -1
- package/src/parsers/manifest/dash/common/indexes/timeline/timeline_representation_index.ts +51 -23
- package/src/parsers/manifest/dash/common/infer_adaptation_type.ts +2 -2
- package/src/parsers/manifest/dash/common/manifest_bounds_calculator.ts +1 -1
- package/src/parsers/manifest/dash/common/parse_adaptation_sets.ts +167 -134
- package/src/parsers/manifest/dash/common/parse_mpd.ts +9 -10
- package/src/parsers/manifest/dash/common/parse_periods.ts +80 -79
- package/src/parsers/manifest/dash/common/parse_representation_index.ts +83 -75
- package/src/parsers/manifest/dash/common/parse_representations.ts +44 -63
- package/src/parsers/manifest/dash/node_parser_types.ts +30 -30
- package/src/parsers/manifest/dash/parsers_types.ts +3 -3
- package/src/parsers/manifest/dash/wasm-parser/ts/dash-wasm-parser.ts +1 -1
- package/src/parsers/manifest/metaplaylist/metaplaylist_parser.ts +4 -4
- package/src/parsers/manifest/smooth/create_parser.ts +24 -21
- package/src/parsers/manifest/smooth/representation_index.ts +14 -14
- package/src/parsers/manifest/types.ts +28 -28
- package/src/parsers/manifest/utils/__tests__/update_segment_timeline.test.ts +31 -33
- package/src/parsers/manifest/utils/clear_timeline_from_position.ts +15 -6
- package/src/parsers/manifest/utils/index_helpers.ts +2 -2
- package/src/parsers/manifest/utils/update_segment_timeline.ts +32 -21
- package/src/parsers/texttracks/webvtt/html/__tests__/create_styled_element.test.ts +1 -0
- package/src/parsers/texttracks/webvtt/html/to_html.ts +2 -2
- package/src/parsers/texttracks/webvtt/parse_cue_block.ts +1 -1
- package/src/public_types.ts +5 -1
- package/src/transports/dash/add_segment_integrity_checks_to_loader.ts +2 -2
- package/src/transports/dash/image_pipelines.ts +4 -1
- package/src/transports/dash/init_segment_loader.ts +1 -1
- package/src/transports/dash/manifest_parser.ts +1 -1
- package/src/transports/dash/segment_loader.ts +7 -7
- package/src/transports/dash/segment_parser.ts +8 -1
- package/src/transports/dash/text_loader.ts +2 -2
- package/src/transports/dash/text_parser.ts +11 -1
- package/src/transports/local/segment_loader.ts +4 -4
- package/src/transports/local/segment_parser.ts +4 -0
- package/src/transports/local/text_parser.ts +8 -0
- package/src/transports/metaplaylist/manifest_loader.ts +1 -1
- package/src/transports/metaplaylist/pipelines.ts +1 -1
- package/src/transports/smooth/pipelines.ts +29 -16
- package/src/transports/smooth/segment_loader.ts +8 -8
- package/src/transports/types.ts +59 -30
- package/src/transports/utils/call_custom_manifest_loader.ts +6 -6
- package/src/transports/utils/generate_manifest_loader.ts +1 -1
- package/src/utils/__tests__/deep_merge.test.ts +48 -0
- package/src/utils/__tests__/flat_map.test.ts +12 -7
- package/src/utils/cancellable_sleep.ts +1 -1
- package/src/utils/cast_to_observable.ts +1 -2
- package/src/utils/deep_merge.ts +46 -0
- package/src/utils/reference.ts +116 -23
- package/src/utils/request/fetch.ts +17 -15
- package/src/utils/request/xhr.ts +11 -8
- package/src/utils/rx-from_cancellable_promise.ts +8 -4
- package/src/utils/task_canceller.ts +6 -4
- package/tsconfig.json +1 -2
- package/tsconfig.modules.json +1 -2
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.d.ts +0 -29
- package/dist/_esm5.processed/core/abr/get_estimate_from_buffer_levels.js +0 -67
- package/dist/_esm5.processed/core/eme/attach_media_keys.js +0 -57
- package/dist/_esm5.processed/core/eme/clean_old_loaded_sessions.d.ts +0 -59
- package/dist/_esm5.processed/core/eme/clear_eme_session.js +0 -50
- package/dist/_esm5.processed/core/eme/create_session.js +0 -126
- package/dist/_esm5.processed/core/eme/dispose_eme.js +0 -23
- package/dist/_esm5.processed/core/eme/dispose_media_keys.js +0 -36
- package/dist/_esm5.processed/core/eme/eme_manager.d.ts +0 -31
- package/dist/_esm5.processed/core/eme/eme_manager.js +0 -278
- package/dist/_esm5.processed/core/eme/find_key_system.js +0 -243
- package/dist/_esm5.processed/core/eme/get_media_keys.js +0 -85
- package/dist/_esm5.processed/core/eme/get_session.js +0 -68
- package/dist/_esm5.processed/core/eme/init_media_keys.js +0 -66
- package/dist/_esm5.processed/core/eme/session_events_listener.d.ts +0 -41
- package/dist/_esm5.processed/core/eme/set_server_certificate.js +0 -85
- package/dist/_esm5.processed/core/eme/utils/close_session.js +0 -81
- package/dist/_esm5.processed/core/eme/utils/init_data_store.d.ts +0 -115
- package/dist/_esm5.processed/core/eme/utils/init_data_store.js +0 -181
- package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.d.ts +0 -123
- package/dist/_esm5.processed/core/eme/utils/loaded_sessions_store.js +0 -173
- package/dist/_esm5.processed/core/init/create_eme_manager.d.ts +0 -34
- package/dist/_esm5.processed/core/init/create_eme_manager.js +0 -52
- package/src/core/abr/get_estimate_from_buffer_levels.ts +0 -85
- package/src/core/eme/README.md +0 -26
- package/src/core/eme/__tests__/__global__/get_license.test.ts +0 -414
- package/src/core/eme/__tests__/__global__/init_data.test.ts +0 -908
- package/src/core/eme/__tests__/__global__/media_keys.test.ts +0 -266
- package/src/core/eme/__tests__/__global__/server_certificate.test.ts +0 -364
- package/src/core/eme/__tests__/init_media_keys.test.ts +0 -182
- package/src/core/eme/clean_old_loaded_sessions.ts +0 -96
- package/src/core/eme/clear_eme_session.ts +0 -62
- package/src/core/eme/create_session.ts +0 -187
- package/src/core/eme/dispose_eme.ts +0 -25
- package/src/core/eme/dispose_media_keys.ts +0 -46
- package/src/core/eme/eme_manager.ts +0 -387
- package/src/core/eme/get_media_keys.ts +0 -141
- package/src/core/eme/get_session.ts +0 -135
- package/src/core/eme/init_media_keys.ts +0 -106
- package/src/core/eme/set_server_certificate.ts +0 -115
- package/src/core/eme/utils/close_session.ts +0 -113
- package/src/core/eme/utils/init_data_store.ts +0 -234
- package/src/core/eme/utils/loaded_sessions_store.ts +0 -235
- package/src/core/init/create_eme_manager.ts +0 -95
package/dummy
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This is an unnecessary file, just added to trigger the integration tests in a PR through GitHub actions.
|
|
@@ -13,7 +13,4 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
* Free up all ressources taken by the EME management.
|
|
18
|
-
*/
|
|
19
|
-
export default function disposeEME(mediaElement: HTMLMediaElement): void;
|
|
16
|
+
export * from "../dist/_esm5.processed/experimental/index";
|
|
@@ -13,9 +13,4 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @param {Object} mediaKeysInfos
|
|
19
|
-
* @returns {Observable}
|
|
20
|
-
*/
|
|
21
|
-
export default function disposeMediaKeys(mediaElement: HTMLMediaElement): Observable<unknown>;
|
|
16
|
+
export * from "../dist/_esm5.processed/experimental/index.js";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rx-player",
|
|
3
3
|
"author": "Canal+",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.27.0-dev.20220317",
|
|
5
5
|
"description": "Canal+ HTML5 Video Player",
|
|
6
6
|
"main": "./dist/rx-player.js",
|
|
7
7
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"build:wasm:release": "cd ./src/parsers/manifest/dash/wasm-parser && cargo build --target wasm32-unknown-unknown --release && wasm-opt -O3 -o ../../../../../dist/mpd-parser.wasm target/wasm32-unknown-unknown/release/mpd_node_parser.wasm && cd ../../../../../ && npm run wasm-strip",
|
|
39
39
|
"certificate": "./scripts/generate_certificate",
|
|
40
40
|
"check": "npm run check:types && npm run lint",
|
|
41
|
-
"check:all": "npm run check:types && npm run lint && npm run lint:demo && npm run lint:tests && npm run test && npm run test:memory && node -r esm ./scripts/check_nodejs_import_compatibility.js",
|
|
41
|
+
"check:all": "npm run check:types && npm run lint && npm run lint:demo && npm run lint:tests && npm run test:unit && npm run test:integration && npm run test:memory && node -r esm ./scripts/check_nodejs_import_compatibility.js",
|
|
42
42
|
"check:appveyor": "npm run check:types && npm run lint && npm run lint:demo && npm run lint:tests && npm run test:appveyor",
|
|
43
43
|
"check:types": "tsc --noEmit --project .",
|
|
44
44
|
"check:types:watch": "tsc --noEmit --watch --project .",
|
|
@@ -80,59 +80,56 @@
|
|
|
80
80
|
"rxjs": "7.4.0"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@babel/core": "7.
|
|
84
|
-
"@babel/plugin-transform-runtime": "7.
|
|
85
|
-
"@babel/preset-env": "7.16.
|
|
83
|
+
"@babel/core": "7.17.7",
|
|
84
|
+
"@babel/plugin-transform-runtime": "7.17.0",
|
|
85
|
+
"@babel/preset-env": "7.16.11",
|
|
86
86
|
"@babel/preset-react": "7.16.7",
|
|
87
87
|
"@types/chai": "4.3.0",
|
|
88
|
-
"@types/jest": "27.4.
|
|
89
|
-
"@types/mocha": "9.
|
|
90
|
-
"@types/node": "17.0.
|
|
91
|
-
"@types/sinon": "10.0.
|
|
92
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
93
|
-
"@typescript-eslint/eslint-plugin-tslint": "5.
|
|
94
|
-
"@typescript-eslint/parser": "5.
|
|
88
|
+
"@types/jest": "27.4.1",
|
|
89
|
+
"@types/mocha": "9.1.0",
|
|
90
|
+
"@types/node": "17.0.21",
|
|
91
|
+
"@types/sinon": "10.0.11",
|
|
92
|
+
"@typescript-eslint/eslint-plugin": "5.15.0",
|
|
93
|
+
"@typescript-eslint/eslint-plugin-tslint": "5.15.0",
|
|
94
|
+
"@typescript-eslint/parser": "5.15.0",
|
|
95
95
|
"arraybuffer-loader": "1.0.8",
|
|
96
96
|
"babel-loader": "8.2.3",
|
|
97
|
-
"chai": "4.3.
|
|
97
|
+
"chai": "4.3.6",
|
|
98
98
|
"cheerio": "1.0.0-rc.10",
|
|
99
|
-
"core-js": "3.
|
|
100
|
-
"esbuild": "0.14.
|
|
101
|
-
"eslint": "8.
|
|
99
|
+
"core-js": "3.21.1",
|
|
100
|
+
"esbuild": "0.14.27",
|
|
101
|
+
"eslint": "8.11.0",
|
|
102
102
|
"eslint-plugin-import": "2.25.4",
|
|
103
|
-
"eslint-plugin-jsdoc": "
|
|
104
|
-
"eslint-plugin-react": "7.
|
|
103
|
+
"eslint-plugin-jsdoc": "38.0.4",
|
|
104
|
+
"eslint-plugin-react": "7.29.4",
|
|
105
105
|
"esm": "3.2.25",
|
|
106
|
-
"express": "4.17.
|
|
107
|
-
"highlight.js": "11.
|
|
108
|
-
"html-entities": "
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"karma": "
|
|
112
|
-
"karma-chrome-launcher": "3.1.0",
|
|
113
|
-
"karma-coverage-istanbul-reporter": "3.0.3",
|
|
106
|
+
"express": "4.17.3",
|
|
107
|
+
"highlight.js": "11.5.0",
|
|
108
|
+
"html-entities": "2.3.2",
|
|
109
|
+
"jest": "27.5.1",
|
|
110
|
+
"karma": "6.3.17",
|
|
111
|
+
"karma-chrome-launcher": "3.1.1",
|
|
114
112
|
"karma-firefox-launcher": "2.1.2",
|
|
115
113
|
"karma-mocha": "2.0.1",
|
|
116
114
|
"karma-webpack": "5.0.0",
|
|
117
|
-
"markdown-it": "12.3.
|
|
118
|
-
"mocha": "9.
|
|
115
|
+
"markdown-it": "12.3.2",
|
|
116
|
+
"mocha": "9.2.2",
|
|
119
117
|
"mocha-loader": "5.1.5",
|
|
120
118
|
"raw-loader": "4.0.2",
|
|
121
119
|
"react": "17.0.2",
|
|
122
120
|
"react-dom": "17.0.2",
|
|
123
121
|
"regenerator-runtime": "0.13.9",
|
|
124
122
|
"rimraf": "3.0.2",
|
|
125
|
-
"sanitize-html": "2.6.1",
|
|
126
123
|
"semver": "7.3.5",
|
|
127
|
-
"sinon": "
|
|
128
|
-
"terser-webpack-plugin": "5.3.
|
|
129
|
-
"ts-jest": "27.1.
|
|
130
|
-
"ts-loader": "9.2.
|
|
124
|
+
"sinon": "13.0.1",
|
|
125
|
+
"terser-webpack-plugin": "5.3.1",
|
|
126
|
+
"ts-jest": "27.1.3",
|
|
127
|
+
"ts-loader": "9.2.8",
|
|
131
128
|
"tslint": "6.1.3",
|
|
132
|
-
"typescript": "4.
|
|
133
|
-
"webpack": "5.
|
|
129
|
+
"typescript": "4.6.2",
|
|
130
|
+
"webpack": "5.70.0",
|
|
134
131
|
"webpack-bundle-analyzer": "4.5.0",
|
|
135
|
-
"webpack-cli": "4.9.
|
|
132
|
+
"webpack-cli": "4.9.2"
|
|
136
133
|
},
|
|
137
134
|
"scripts-list": {
|
|
138
135
|
"Build a demo page (e.g. to test a code change)": {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2015 CANAL+ Group
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export * from "../__BUILD_DIR__/experimental/index";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2015 CANAL+ Group
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export * from "../__BUILD_DIR__/experimental/index.js";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const path = require("path");
|
|
2
2
|
const { encode } = require("html-entities");
|
|
3
3
|
const {
|
|
4
|
-
encodeHtmlAttributeValue,
|
|
5
4
|
toUriCompatibleRelativePath,
|
|
6
5
|
getGithubSvg,
|
|
7
6
|
} = require("./utils");
|
|
@@ -30,12 +29,12 @@ function generateHeaderHtml(config, currentLinkIdx, currentPath, logoInfo) {
|
|
|
30
29
|
case "local-doc": {
|
|
31
30
|
const relativeUri = toUriCompatibleRelativePath(l.firstPage, currentDir);
|
|
32
31
|
const activeClass = i === currentLinkIdx ? " navbar-active" : "";
|
|
33
|
-
const cleanedHref =
|
|
32
|
+
const cleanedHref = encode(relativeUri);
|
|
34
33
|
return `<a class="navbar-item${activeClass}${customClass} hideable"` +
|
|
35
34
|
`href="${cleanedHref}">${encode(l.displayName)}</a>`;
|
|
36
35
|
}
|
|
37
36
|
case "external-link": {
|
|
38
|
-
const cleanedHref =
|
|
37
|
+
const cleanedHref = encode(l.link);
|
|
39
38
|
return `<a class="navbar-item${customClass} hideable"` +
|
|
40
39
|
`href="${cleanedHref}">${encode(l.displayName)}</a>`;
|
|
41
40
|
}
|
|
@@ -84,7 +83,7 @@ function constructVersionLinkHtmlInHeaderBar(versionInfo, customClass) {
|
|
|
84
83
|
if (typeof versionInfo.link === "string") {
|
|
85
84
|
hasLink = true;
|
|
86
85
|
element += `<a class="navbar-item${customClass}"` +
|
|
87
|
-
`href="${
|
|
86
|
+
`href="${encode(versionInfo.link)}">`;
|
|
88
87
|
} else {
|
|
89
88
|
element += `<span class="navbar-item${customClass}">`;
|
|
90
89
|
}
|
|
@@ -101,7 +100,7 @@ function constructVersionLinkHtmlInHeaderBar(versionInfo, customClass) {
|
|
|
101
100
|
* @returns {string}
|
|
102
101
|
*/
|
|
103
102
|
function constructGithubLinkHtmlInHeaderBar(githubLnk, customClass) {
|
|
104
|
-
const cleanedHref =
|
|
103
|
+
const cleanedHref = encode(githubLnk);
|
|
105
104
|
return `<a aria-label="Link to repository" class="navbar-item${customClass} hideable" href="${cleanedHref}">` +
|
|
106
105
|
getGithubSvg() +
|
|
107
106
|
"</a>";
|
|
@@ -133,11 +132,11 @@ function constructLogoHtmlInHeaderBar(logoInfo) {
|
|
|
133
132
|
let hasLink = false;
|
|
134
133
|
if (typeof logoInfo.link === "string") {
|
|
135
134
|
hasLink = true;
|
|
136
|
-
logoHtml += `<a href="${
|
|
135
|
+
logoHtml += `<a href="${encode(logoInfo.link)}">`;
|
|
137
136
|
}
|
|
138
137
|
if (typeof logoInfo.url === "string") {
|
|
139
138
|
logoHtml += `<img alt="Logo" class="navbar-item navbar-item-logo"` +
|
|
140
|
-
` src="${
|
|
139
|
+
` src="${encode(logoInfo.url)}" />`;
|
|
141
140
|
}
|
|
142
141
|
if (hasLink) {
|
|
143
142
|
logoHtml += "</a>";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const { encode } = require("html-entities");
|
|
2
|
-
const { encodeHtmlAttributeValue } = require("./utils");
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* Generate HTML page for the given documentation.
|
|
@@ -42,7 +41,7 @@ function generatePageHtml(
|
|
|
42
41
|
const styles = constructStylesHtml(cssUrls);
|
|
43
42
|
const scripts = constructScriptsHtml(scriptUrls);
|
|
44
43
|
const faviconHtml = typeof faviconUrl === "string" ?
|
|
45
|
-
`<link rel="icon" type="image/png" href="${
|
|
44
|
+
`<link rel="icon" type="image/png" href="${encode(faviconUrl)}">` :
|
|
46
45
|
"";
|
|
47
46
|
const hamburgerHtml = constructHamburgerBarHtml(pageListHtml);
|
|
48
47
|
|
|
@@ -98,7 +97,7 @@ function constructHamburgerBarHtml(pageListHtml) {
|
|
|
98
97
|
*/
|
|
99
98
|
function constructStylesHtml(cssUrls) {
|
|
100
99
|
return cssUrls.map(cssUrl =>
|
|
101
|
-
`<link rel="stylesheet" href="${
|
|
100
|
+
`<link rel="stylesheet" href="${encode(cssUrl)}"/>`)
|
|
102
101
|
.join("");
|
|
103
102
|
}
|
|
104
103
|
|
|
@@ -108,7 +107,7 @@ function constructStylesHtml(cssUrls) {
|
|
|
108
107
|
*/
|
|
109
108
|
function constructScriptsHtml(scriptUrls) {
|
|
110
109
|
return scriptUrls.map(scriptUrl =>
|
|
111
|
-
`<script type="text/javascript" src="${
|
|
110
|
+
`<script type="text/javascript" src="${encode(scriptUrl)}" ` +
|
|
112
111
|
`charset="utf-8"></script>`
|
|
113
112
|
).join("");
|
|
114
113
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const { encode } = require("html-entities");
|
|
2
2
|
const path = require("path");
|
|
3
3
|
const {
|
|
4
|
-
encodeHtmlAttributeValue,
|
|
5
4
|
getGithubSvg,
|
|
6
5
|
toUriCompatibleRelativePath,
|
|
7
6
|
} = require("./utils");
|
|
@@ -39,7 +38,7 @@ function generatePageListHtml(
|
|
|
39
38
|
const pageActiveClasses = isPageActive ? " active" : "";
|
|
40
39
|
const relativeUri = toUriCompatibleRelativePath(outputFile, currentDir);
|
|
41
40
|
return `<li class="page-list-item${pageActiveClasses}">` +
|
|
42
|
-
`<a href="${
|
|
41
|
+
`<a href="${encode(relativeUri)}">` +
|
|
43
42
|
encode(displayName) +
|
|
44
43
|
`</a></li>`;
|
|
45
44
|
}
|
|
@@ -54,7 +53,7 @@ function generatePageListHtml(
|
|
|
54
53
|
const { displayName, outputFile } = currentSubPage;
|
|
55
54
|
const relativeUri = toUriCompatibleRelativePath(outputFile, currentDir);
|
|
56
55
|
return `<li class="page-list-item${spActiveClasses}">` +
|
|
57
|
-
`<a href="${
|
|
56
|
+
`<a href="${encode(relativeUri)}">` +
|
|
58
57
|
encode(displayName) +
|
|
59
58
|
`</a></li>`;
|
|
60
59
|
}).join("\n") + "</ul></li>";
|
|
@@ -62,7 +61,7 @@ function generatePageListHtml(
|
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
case "external-link": {
|
|
65
|
-
const cleanedHref =
|
|
64
|
+
const cleanedHref = encode(l.link);
|
|
66
65
|
return `<li class="page-list-item">` +
|
|
67
66
|
`<a href="${cleanedHref}">` +
|
|
68
67
|
encode(l.displayName) +
|
|
@@ -70,7 +69,7 @@ function generatePageListHtml(
|
|
|
70
69
|
}
|
|
71
70
|
|
|
72
71
|
case "github-link":
|
|
73
|
-
const cleanedHref =
|
|
72
|
+
const cleanedHref = encode(l.link);
|
|
74
73
|
return `<li class="page-list-item">` +
|
|
75
74
|
`<a aria-label="Link to repository" href="${cleanedHref}">` +
|
|
76
75
|
getGithubSvg() +
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
const path = require("path");
|
|
2
2
|
const { encode } = require("html-entities");
|
|
3
|
-
const {
|
|
4
|
-
encodeHtmlAttributeValue,
|
|
5
|
-
toUriCompatibleRelativePath,
|
|
6
|
-
} = require("./utils");
|
|
3
|
+
const { toUriCompatibleRelativePath } = require("./utils");
|
|
7
4
|
|
|
8
5
|
/**
|
|
9
6
|
* Construct HTML element, as a string, which corresponds to the sidebar for
|
|
@@ -52,7 +49,7 @@ function generateSidebarHtml(
|
|
|
52
49
|
path.dirname(currentPath)
|
|
53
50
|
);
|
|
54
51
|
const activeClass = isActive ? " active" : "";
|
|
55
|
-
const cleanedHref =
|
|
52
|
+
const cleanedHref = encode(relativeUri);
|
|
56
53
|
return "<li class=\"sidebar-item\">" +
|
|
57
54
|
`<a class="sidebar-link${activeClass}" href="` +
|
|
58
55
|
cleanedHref +
|
|
@@ -71,11 +68,11 @@ function constructSidebarHeaderHtml(logoInfo) {
|
|
|
71
68
|
let hasLink = false;
|
|
72
69
|
if (typeof logoInfo.link === "string") {
|
|
73
70
|
hasLink = true;
|
|
74
|
-
sidebarHeaderHtml += `<a href="${
|
|
71
|
+
sidebarHeaderHtml += `<a href="${encode(logoInfo.link)}">`;
|
|
75
72
|
}
|
|
76
73
|
if (typeof logoInfo.url === "string") {
|
|
77
74
|
sidebarHeaderHtml += `<img alt="logo" class="sidebar-header-logo"` +
|
|
78
|
-
` src="${
|
|
75
|
+
` src="${encode(logoInfo.url)}" />`;
|
|
79
76
|
}
|
|
80
77
|
if (hasLink) {
|
|
81
78
|
sidebarHeaderHtml += "</a>";
|
|
@@ -20,16 +20,6 @@ async function mkdirParent(dirPath, mode) {
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* @param {string} val
|
|
25
|
-
* @returns {string}
|
|
26
|
-
*/
|
|
27
|
-
function encodeHtmlAttributeValue(val) {
|
|
28
|
-
return val
|
|
29
|
-
.replace(/&/g, "&")
|
|
30
|
-
.replace(/"/g, """);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
23
|
/**
|
|
34
24
|
* @param {string} target
|
|
35
25
|
* @param {string} currentDir
|
|
@@ -77,7 +67,6 @@ function getGithubSvg() {
|
|
|
77
67
|
}
|
|
78
68
|
|
|
79
69
|
module.exports = {
|
|
80
|
-
encodeHtmlAttributeValue,
|
|
81
70
|
getGithubSvg,
|
|
82
71
|
mkdirParent,
|
|
83
72
|
pathToUrl,
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
const fs = require("fs");
|
|
38
38
|
const path = require("path");
|
|
39
|
-
const
|
|
39
|
+
const { encode } = require("html-entities");
|
|
40
40
|
const semver = require("semver");
|
|
41
41
|
|
|
42
42
|
const INITIAL_PATH = "./versions";
|
|
@@ -88,8 +88,8 @@ if (versions.length <= 0) {
|
|
|
88
88
|
const version = sortedVersions[i];
|
|
89
89
|
// const versionAsNumber = +version.split(".").join();
|
|
90
90
|
const dirPath = path.join(INITIAL_PATH, version, "demo/index.html");
|
|
91
|
-
body += `<li><a href=${
|
|
92
|
-
|
|
91
|
+
body += `<li><a href=${encode(dirPath)}>` +
|
|
92
|
+
encode(version) +
|
|
93
93
|
"</a></li>";
|
|
94
94
|
}
|
|
95
95
|
body += "</ul>";
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
const fs = require("fs");
|
|
38
38
|
const path = require("path");
|
|
39
|
-
const
|
|
39
|
+
const { encode } = require("html-entities");
|
|
40
40
|
const semver = require("semver");
|
|
41
41
|
|
|
42
42
|
const INITIAL_PATH = "./versions";
|
|
@@ -92,8 +92,8 @@ if (versions.length <= 0) {
|
|
|
92
92
|
path.join(INITIAL_PATH, version, "doc/api/Overview.html") :
|
|
93
93
|
path.join(INITIAL_PATH, version, "doc/pages/index.html");
|
|
94
94
|
|
|
95
|
-
body += `<li><a href=${
|
|
96
|
-
|
|
95
|
+
body += `<li><a href=${encode(dirPath)}>` +
|
|
96
|
+
encode(version) +
|
|
97
97
|
"</a></li>";
|
|
98
98
|
}
|
|
99
99
|
body += "</ul>";
|
|
@@ -2,16 +2,11 @@
|
|
|
2
2
|
/* eslint-env node */
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Launch static server
|
|
6
|
+
* ====================
|
|
7
7
|
*
|
|
8
|
-
* This script allows to
|
|
9
|
-
*
|
|
10
|
-
* to serve it, on the port 8001 and 8444 respectively.
|
|
11
|
-
*
|
|
12
|
-
* You can run it as a script through `node run_standalone_demo.js`.
|
|
13
|
-
* Be aware that this demo will be built again every time one of the library
|
|
14
|
-
* file is updated.
|
|
8
|
+
* This script allows to start both an HTTP and an HTTPS (only if a certificate
|
|
9
|
+
* path and a key path have been given) static file server.
|
|
15
10
|
*/
|
|
16
11
|
|
|
17
12
|
const express = require("express");
|
|
@@ -26,78 +21,143 @@ const getHumanReadableHours = require("./utils/get_human_readable_hours");
|
|
|
26
21
|
* @param {Object} config - Associated configuration.
|
|
27
22
|
* @param {number} config.httpPort - Port on which the server will be listening
|
|
28
23
|
* for HTTP traffic.
|
|
29
|
-
* @param {number} config.httpsPort - Port on which the server will be
|
|
30
|
-
* for HTTPS traffic.
|
|
24
|
+
* @param {number} [config.httpsPort] - Port on which the server will be
|
|
25
|
+
* listening for HTTPS traffic.
|
|
26
|
+
* If not defined, the server won't listen for HTTPS traffic.
|
|
27
|
+
* @param {boolean} [config.verbose] - If set to `true` the server will output
|
|
28
|
+
* when the server start listening and when anything failed.
|
|
31
29
|
* @param {string} [config.certificatePath] - Path to the TLS certificate that
|
|
32
30
|
* will be used in HTTPS connections.
|
|
33
|
-
* If not defined
|
|
34
|
-
*
|
|
35
|
-
* @param {string} config.keyPath - Path to the public key allowing to encrypt
|
|
31
|
+
* If not defined, the server won't listen for HTTPS traffic.
|
|
32
|
+
* @param {string} [config.keyPath] - Path to the public key allowing to encrypt
|
|
36
33
|
* the HTTPS connection.
|
|
37
|
-
* If not defined
|
|
38
|
-
*
|
|
34
|
+
* If not defined, the server won't listen for HTTPS traffic.
|
|
35
|
+
* @returns {Object} Object with two properties:
|
|
36
|
+
* - `listeningPromise` (Promise.<Object>): This promise rejects if the HTTP
|
|
37
|
+
* server could not start but resolves in any other case (listening to HTTP
|
|
38
|
+
* alone or both HTTP and HTTPS), even if the asked HTTPS server could not
|
|
39
|
+
* be started.
|
|
40
|
+
*
|
|
41
|
+
* The resolved object contains two boolean properties: `http` and `https`,
|
|
42
|
+
* which are set to `true` when the corresponding server has been started.
|
|
43
|
+
*
|
|
44
|
+
* You can know the reason for the HTTPS server not starting by setting the
|
|
45
|
+
* `verbose` option to `true`. In that case, it will be logged.
|
|
46
|
+
*
|
|
47
|
+
* - `close` (Function): Method allowing to stop the servers from listening
|
|
48
|
+
* and to free their resources.
|
|
39
49
|
*/
|
|
40
50
|
module.exports = function launchStaticServer(path, config) {
|
|
51
|
+
const shouldStartHttps = config.httpsPort !== undefined &&
|
|
52
|
+
config.certificatePath !== undefined &&
|
|
53
|
+
config.keyPath !== undefined;
|
|
54
|
+
let isHttpServerStarted = false
|
|
55
|
+
let isHttpsServerStarted = false;
|
|
56
|
+
|
|
41
57
|
const app = express();
|
|
42
58
|
app.use(express.static(path));
|
|
43
59
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
let server;
|
|
61
|
+
const listeningPromise = new Promise((res, rej) => {
|
|
62
|
+
server = app.listen(config.httpPort, (err) => {
|
|
63
|
+
if (err) {
|
|
64
|
+
if (config.verbose) {
|
|
65
|
+
/* eslint-disable-next-line no-console */
|
|
66
|
+
console.error(`\x1b[31m[${getHumanReadableHours()}]\x1b[0m ` +
|
|
67
|
+
"Could not start static HTTP server:",
|
|
68
|
+
err);
|
|
69
|
+
}
|
|
70
|
+
server.close();
|
|
71
|
+
return rej(err);
|
|
72
|
+
}
|
|
73
|
+
if (config.verbose) {
|
|
74
|
+
/* eslint-disable-next-line no-console */
|
|
75
|
+
console.log(`[${getHumanReadableHours()}] ` +
|
|
76
|
+
`Listening HTTP at http://localhost:${config.httpPort}`);
|
|
77
|
+
}
|
|
78
|
+
isHttpServerStarted = true;
|
|
79
|
+
if (!shouldStartHttps || isHttpsServerStarted) {
|
|
80
|
+
res({ http: true, https: isHttpsServerStarted });
|
|
81
|
+
}
|
|
82
|
+
});
|
|
49
83
|
|
|
50
|
-
|
|
51
|
-
if (err) {
|
|
52
|
-
/* eslint-disable no-console */
|
|
53
|
-
console.error(`\x1b[31m[${getHumanReadableHours()}]\x1b[0m ` +
|
|
54
|
-
"Could not start HTTP server:",
|
|
55
|
-
err);
|
|
56
|
-
/* eslint-enable no-console */
|
|
84
|
+
if (!shouldStartHttps) {
|
|
57
85
|
return;
|
|
58
86
|
}
|
|
59
|
-
/* eslint-disable no-console */
|
|
60
|
-
console.log(`[${getHumanReadableHours()}] ` +
|
|
61
|
-
`Listening HTTP at http://localhost:${config.httpPort}`);
|
|
62
|
-
/* eslint-enable no-console */
|
|
63
|
-
});
|
|
64
87
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
88
|
+
Promise.all([
|
|
89
|
+
promisify(fs.readFile)(config.certificatePath),
|
|
90
|
+
promisify(fs.readFile)(config.keyPath),
|
|
91
|
+
]).then(([certFile, keyFile]) => {
|
|
92
|
+
if (certFile != null && keyFile != null) {
|
|
93
|
+
https.createServer({
|
|
94
|
+
key: keyFile,
|
|
95
|
+
cert: certFile,
|
|
96
|
+
}, app).listen(config.httpsPort, (err) => {
|
|
97
|
+
if (err) {
|
|
98
|
+
if (config.verbose) {
|
|
99
|
+
/* eslint-disable-next-line no-console */
|
|
100
|
+
console.error(`\x1b[31m[${getHumanReadableHours()}]\x1b[0m ` +
|
|
101
|
+
"Could not start static HTTPS server:",
|
|
102
|
+
err);
|
|
103
|
+
}
|
|
104
|
+
if (isHttpServerStarted) {
|
|
105
|
+
res({ http: true, https: false });
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
/* eslint-disable-next-line no-console */
|
|
110
|
+
console.log(`[${getHumanReadableHours()}] ` +
|
|
111
|
+
`Listening HTTPS at https://localhost:${config.httpsPort}`);
|
|
112
|
+
});
|
|
113
|
+
if (isHttpServerStarted) {
|
|
114
|
+
res();
|
|
115
|
+
}
|
|
116
|
+
isHttpsServerStarted = true;
|
|
117
|
+
} else {
|
|
118
|
+
const err = new Error("Impossible to load the certificate and/or key file");
|
|
119
|
+
if (config.verbose === true) {
|
|
120
|
+
/* eslint-disable-next-line no-console */
|
|
76
121
|
console.error(`\x1b[31m[${getHumanReadableHours()}]\x1b[0m ` +
|
|
77
|
-
"Could not start HTTPS server:",
|
|
122
|
+
"Could not start static HTTPS server:",
|
|
78
123
|
err);
|
|
79
|
-
/* eslint-enable no-console */
|
|
80
|
-
return;
|
|
81
124
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
125
|
+
if (isHttpServerStarted) {
|
|
126
|
+
res({ http: true, https: false });
|
|
127
|
+
}
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
}, (err) => {
|
|
131
|
+
if (err.code === "ENOENT") {
|
|
132
|
+
if (config.verbose) {
|
|
133
|
+
/* eslint-disable-next-line no-console */
|
|
134
|
+
console.warn(`[${getHumanReadableHours()}] ` +
|
|
135
|
+
"Could not start static HTTPS server: ",
|
|
136
|
+
"Certificate not generated.\n" +
|
|
137
|
+
"(You can run `npm run certificate` to generate a certificate.)");
|
|
138
|
+
}
|
|
139
|
+
if (isHttpServerStarted) {
|
|
140
|
+
res({ http: true, https: false });
|
|
141
|
+
}
|
|
142
|
+
return;
|
|
143
|
+
} else {
|
|
144
|
+
const err = new Error("Could not read key and certificate file.");
|
|
145
|
+
if (config.verbose) {
|
|
146
|
+
/* eslint-disable-next-line no-console */
|
|
147
|
+
console.error(`\x1b[31m[${getHumanReadableHours()}]\x1b[0m ` +
|
|
148
|
+
"Could not start static HTTPS server:",
|
|
149
|
+
err);
|
|
150
|
+
}
|
|
151
|
+
if (isHttpServerStarted) {
|
|
152
|
+
res({ http: true, https: false });
|
|
153
|
+
}
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
102
157
|
});
|
|
158
|
+
|
|
159
|
+
return {
|
|
160
|
+
listeningPromise,
|
|
161
|
+
close() { server.close() },
|
|
162
|
+
};
|
|
103
163
|
};
|
|
@@ -22,5 +22,6 @@ require("./generate_standalone_demo");
|
|
|
22
22
|
launchStaticServer(path.join(__dirname, "../demo/standalone/"),
|
|
23
23
|
{ certificatePath: path.join(__dirname, "../localhost.crt"),
|
|
24
24
|
keyPath: path.join(__dirname, "../localhost.key"),
|
|
25
|
+
verbose: true,
|
|
25
26
|
httpPort: 8001,
|
|
26
27
|
httpsPort: 8444 });
|
|
@@ -35,5 +35,6 @@ if (shouldRunFastVersion) {
|
|
|
35
35
|
launchStaticServer(path.join(__dirname, "../demo/full/"),
|
|
36
36
|
{ certificatePath: path.join(__dirname, "../localhost.crt"),
|
|
37
37
|
keyPath: path.join(__dirname, "../localhost.key"),
|
|
38
|
+
verbose: true,
|
|
38
39
|
httpPort: 8000,
|
|
39
40
|
httpsPort: 8443 });
|
package/sonar-project.properties
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
sonar.projectKey=rx-player
|
|
2
2
|
sonar.organization=rx-player
|
|
3
3
|
sonar.projectName=rx-player
|
|
4
|
-
sonar.projectVersion=3.
|
|
4
|
+
sonar.projectVersion=3.27.0-dev.2022031700
|
|
5
5
|
sonar.sources=./src,./demo,./tests
|
|
6
6
|
sonar.exclusions=demo/full/bundle.js,demo/standalone/lib.js,demo/bundle.js
|
|
7
7
|
sonar.host.url=https://sonarcloud.io
|