pingerchips-js 1.0.0-a
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/.editorconfig +14 -0
- package/.github/ISSUE_TEMPLATE.md +11 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +14 -0
- package/.github/dependabot.yml +14 -0
- package/.github/stale.yml +26 -0
- package/.github/workflows/release.yml +112 -0
- package/.github/workflows/release_pr.yml +43 -0
- package/.github/workflows/run-tests.yml +62 -0
- package/.gitmodules +3 -0
- package/.prettierrc +2 -0
- package/CHANGELOG.md +924 -0
- package/LICENCE +19 -0
- package/Makefile +78 -0
- package/README.md +707 -0
- package/bower.json +28 -0
- package/dist/node/pusher.js +10870 -0
- package/dist/node/pusher.js.map +1 -0
- package/dist/react-native/pusher.js +9 -0
- package/dist/react-native/pusher.js.map +1 -0
- package/dist/web/json2.js +486 -0
- package/dist/web/json2.min.js +1 -0
- package/dist/web/pusher-with-encryption.js +7009 -0
- package/dist/web/pusher-with-encryption.js.map +1 -0
- package/dist/web/pusher-with-encryption.min.js +9 -0
- package/dist/web/pusher-with-encryption.min.js.map +1 -0
- package/dist/web/pusher.js +4587 -0
- package/dist/web/pusher.js.map +1 -0
- package/dist/web/pusher.min.js +9 -0
- package/dist/web/pusher.min.js.map +1 -0
- package/dist/web/sockjs.js +2435 -0
- package/dist/web/sockjs.min.js +89 -0
- package/dist/worker/pusher-with-encryption.worker.js +6622 -0
- package/dist/worker/pusher-with-encryption.worker.js.map +1 -0
- package/dist/worker/pusher-with-encryption.worker.min.js +9 -0
- package/dist/worker/pusher-with-encryption.worker.min.js.map +1 -0
- package/dist/worker/pusher.worker.js +4200 -0
- package/dist/worker/pusher.worker.js.map +1 -0
- package/dist/worker/pusher.worker.min.js +9 -0
- package/dist/worker/pusher.worker.min.js.map +1 -0
- package/index.d.ts +29 -0
- package/integration_tests_server/index.js +176 -0
- package/integration_tests_server/package-lock.json +1177 -0
- package/integration_tests_server/package.json +15 -0
- package/node.js +1 -0
- package/package.json +70 -0
- package/pusher-with-encryption/index.js +1 -0
- package/react-native/index.d.ts +29 -0
- package/react-native/index.js +1 -0
- package/spec/config/jasmine/helpers/reporter.js +14 -0
- package/spec/config/jasmine/integration.json +13 -0
- package/spec/config/jasmine/unit.json +13 -0
- package/spec/config/jasmine/webpack.integration.js +33 -0
- package/spec/config/jasmine/webpack.unit.js +30 -0
- package/spec/config/karma/available_browsers.json +4957 -0
- package/spec/config/karma/config.ci.js +25 -0
- package/spec/config/karma/config.common.js +50 -0
- package/spec/config/karma/config.integration.js +26 -0
- package/spec/config/karma/config.unit.js +10 -0
- package/spec/config/karma/config.worker.js +34 -0
- package/spec/config/karma/integration.js +24 -0
- package/spec/config/karma/unit.js +20 -0
- package/spec/javascripts/helpers/mocks.js +274 -0
- package/spec/javascripts/helpers/node/integration.js +33 -0
- package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +1 -0
- package/spec/javascripts/helpers/pusher_integration.js +1 -0
- package/spec/javascripts/helpers/pusher_integration_class.ts +12 -0
- package/spec/javascripts/helpers/timers/promises.js +9 -0
- package/spec/javascripts/helpers/waitsFor.js +37 -0
- package/spec/javascripts/helpers/web/integration.js +44 -0
- package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +1 -0
- package/spec/javascripts/integration/core/cluster_config_spec.js +153 -0
- package/spec/javascripts/integration/core/falling_back_spec.js +195 -0
- package/spec/javascripts/integration/core/pusher_spec/index.js +68 -0
- package/spec/javascripts/integration/core/pusher_spec/test_builder.js +715 -0
- package/spec/javascripts/integration/core/timeout_configuration_spec.js +200 -0
- package/spec/javascripts/integration/core/transport_lists_spec.js +103 -0
- package/spec/javascripts/integration/index.node.js +12 -0
- package/spec/javascripts/integration/index.web.js +63 -0
- package/spec/javascripts/integration/index.worker.js +13 -0
- package/spec/javascripts/integration/web/dom/jsonp_spec.js +97 -0
- package/spec/javascripts/integration/web/dom/script_request_spec.js +90 -0
- package/spec/javascripts/polyfills/index.js +105 -0
- package/spec/javascripts/unit/core/channels/channel_spec.js +355 -0
- package/spec/javascripts/unit/core/channels/channels_spec.js +94 -0
- package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +343 -0
- package/spec/javascripts/unit/core/channels/presence_channel_spec.js +553 -0
- package/spec/javascripts/unit/core/channels/private_channel_spec.js +182 -0
- package/spec/javascripts/unit/core/config_spec.js +507 -0
- package/spec/javascripts/unit/core/connection/connection_manager_spec.js +656 -0
- package/spec/javascripts/unit/core/connection/connection_spec.js +286 -0
- package/spec/javascripts/unit/core/connection/handshake_spec.js +160 -0
- package/spec/javascripts/unit/core/connection/protocol_spec.js +420 -0
- package/spec/javascripts/unit/core/defaults_spec.js +26 -0
- package/spec/javascripts/unit/core/events_dispatcher_spec.js +385 -0
- package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +60 -0
- package/spec/javascripts/unit/core/http/http_request_spec.js +185 -0
- package/spec/javascripts/unit/core/http/http_socket_spec.js +370 -0
- package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +56 -0
- package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +164 -0
- package/spec/javascripts/unit/core/logger_spec.js +133 -0
- package/spec/javascripts/unit/core/pusher_spec.js +613 -0
- package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +18 -0
- package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +104 -0
- package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +95 -0
- package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +68 -0
- package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +165 -0
- package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +213 -0
- package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +250 -0
- package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +400 -0
- package/spec/javascripts/unit/core/timeline/timeline_spec.js +153 -0
- package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +223 -0
- package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +85 -0
- package/spec/javascripts/unit/core/transports/transport_connection_spec.js +585 -0
- package/spec/javascripts/unit/core/transports/transport_manager_spec.js +64 -0
- package/spec/javascripts/unit/core/user_spec.js +303 -0
- package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +74 -0
- package/spec/javascripts/unit/core/utils/timers_spec.js +157 -0
- package/spec/javascripts/unit/core/utils/url_store_spec.js +14 -0
- package/spec/javascripts/unit/core/watchlist_spec.js +48 -0
- package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +137 -0
- package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +48 -0
- package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +128 -0
- package/spec/javascripts/unit/core_with_runtime/readme.md +5 -0
- package/spec/javascripts/unit/index.node.js +11 -0
- package/spec/javascripts/unit/index.web.js +12 -0
- package/spec/javascripts/unit/index.worker.js +11 -0
- package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +82 -0
- package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +202 -0
- package/spec/javascripts/unit/node/timeline_sender_spec.js +83 -0
- package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +249 -0
- package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +130 -0
- package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +68 -0
- package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +222 -0
- package/spec/javascripts/unit/web/pusher_authorizer_spec.js +64 -0
- package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +131 -0
- package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +127 -0
- package/spec/javascripts/unit/web/transports/transports_spec.js +444 -0
- package/spec/javascripts/unit/worker/channel_authorizer_spec.js +156 -0
- package/spec/javascripts/unit/worker/timeline_sender_spec.js +76 -0
- package/src/core/auth/auth_transports.ts +18 -0
- package/src/core/auth/channel_authorizer.ts +64 -0
- package/src/core/auth/deprecated_channel_authorizer.ts +58 -0
- package/src/core/auth/options.ts +78 -0
- package/src/core/auth/user_authenticator.ts +62 -0
- package/src/core/base64.ts +49 -0
- package/src/core/channels/channel.ts +163 -0
- package/src/core/channels/channel_table.ts +7 -0
- package/src/core/channels/channels.ts +85 -0
- package/src/core/channels/encrypted_channel.ts +149 -0
- package/src/core/channels/members.ts +80 -0
- package/src/core/channels/metadata.ts +5 -0
- package/src/core/channels/presence_channel.ts +113 -0
- package/src/core/channels/private_channel.ts +25 -0
- package/src/core/config.ts +189 -0
- package/src/core/connection/callbacks.ts +21 -0
- package/src/core/connection/connection.ts +160 -0
- package/src/core/connection/connection_manager.ts +371 -0
- package/src/core/connection/connection_manager_options.ts +14 -0
- package/src/core/connection/handshake/handshake_payload.ts +10 -0
- package/src/core/connection/handshake/index.ts +90 -0
- package/src/core/connection/protocol/action.ts +8 -0
- package/src/core/connection/protocol/message-types.ts +8 -0
- package/src/core/connection/protocol/protocol.ts +154 -0
- package/src/core/defaults.ts +66 -0
- package/src/core/errors.ts +69 -0
- package/src/core/events/callback.ts +6 -0
- package/src/core/events/callback_registry.ts +75 -0
- package/src/core/events/callback_table.ts +7 -0
- package/src/core/events/dispatcher.ts +84 -0
- package/src/core/http/ajax.ts +24 -0
- package/src/core/http/http_factory.ts +16 -0
- package/src/core/http/http_polling_socket.ts +24 -0
- package/src/core/http/http_request.ts +81 -0
- package/src/core/http/http_socket.ts +220 -0
- package/src/core/http/http_streaming_socket.ts +19 -0
- package/src/core/http/request_hooks.ts +9 -0
- package/src/core/http/socket_hooks.ts +11 -0
- package/src/core/http/state.ts +7 -0
- package/src/core/http/url_location.ts +6 -0
- package/src/core/logger.ts +53 -0
- package/src/core/options.ts +59 -0
- package/src/core/pusher-licence.js +7 -0
- package/src/core/pusher-with-encryption.js +1 -0
- package/src/core/pusher-with-encryption.ts +14 -0
- package/src/core/pusher.js +2 -0
- package/src/core/pusher.ts +249 -0
- package/src/core/reachability.ts +7 -0
- package/src/core/socket.ts +14 -0
- package/src/core/strategies/best_connected_ever_strategy.ts +81 -0
- package/src/core/strategies/delayed_strategy.ts +48 -0
- package/src/core/strategies/first_connected_strategy.ts +28 -0
- package/src/core/strategies/if_strategy.ts +34 -0
- package/src/core/strategies/sequential_strategy.ts +129 -0
- package/src/core/strategies/strategy.ts +8 -0
- package/src/core/strategies/strategy_builder.ts +67 -0
- package/src/core/strategies/strategy_options.ts +18 -0
- package/src/core/strategies/strategy_runner.ts +6 -0
- package/src/core/strategies/transport_strategy.ts +144 -0
- package/src/core/strategies/websocket_prioritized_cached_strategy.ts +157 -0
- package/src/core/timeline/level.ts +7 -0
- package/src/core/timeline/timeline.ts +90 -0
- package/src/core/timeline/timeline_sender.ts +33 -0
- package/src/core/timeline/timeline_transport.ts +11 -0
- package/src/core/transports/assistant_to_the_transport_manager.ts +104 -0
- package/src/core/transports/ping_delay_options.ts +7 -0
- package/src/core/transports/transport.ts +54 -0
- package/src/core/transports/transport_connection.ts +241 -0
- package/src/core/transports/transport_connection_options.ts +8 -0
- package/src/core/transports/transport_hooks.ts +16 -0
- package/src/core/transports/transport_manager.ts +52 -0
- package/src/core/transports/transports_table.ts +12 -0
- package/src/core/transports/url_scheme.ts +13 -0
- package/src/core/transports/url_schemes.ts +47 -0
- package/src/core/user.ts +186 -0
- package/src/core/util.ts +34 -0
- package/src/core/utils/collections.ts +353 -0
- package/src/core/utils/factory.ts +75 -0
- package/src/core/utils/flat_promise.ts +10 -0
- package/src/core/utils/timers/abstract_timer.ts +39 -0
- package/src/core/utils/timers/index.ts +39 -0
- package/src/core/utils/timers/scheduling.ts +11 -0
- package/src/core/utils/timers/timed_callback.ts +5 -0
- package/src/core/utils/url_store.ts +48 -0
- package/src/core/watchlist.ts +31 -0
- package/src/d.ts/constants/index.d.ts +5 -0
- package/src/d.ts/faye-websocket/faye-websocket.d.ts +21 -0
- package/src/d.ts/global/global.d.ts +1 -0
- package/src/d.ts/module/module.d.ts +12 -0
- package/src/d.ts/tweetnacl-util/index.d.ts +6 -0
- package/src/d.ts/window/events.d.ts +4 -0
- package/src/d.ts/window/sockjs.d.ts +3 -0
- package/src/d.ts/window/websocket.d.ts +4 -0
- package/src/d.ts/window/xmlhttprequest.d.ts +3 -0
- package/src/runtimes/interface.ts +59 -0
- package/src/runtimes/isomorphic/auth/xhr_auth.ts +90 -0
- package/src/runtimes/isomorphic/default_strategy.ts +155 -0
- package/src/runtimes/isomorphic/http/http.ts +32 -0
- package/src/runtimes/isomorphic/http/http_xhr_request.ts +35 -0
- package/src/runtimes/isomorphic/runtime.ts +62 -0
- package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +50 -0
- package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +19 -0
- package/src/runtimes/isomorphic/transports/transports.ts +81 -0
- package/src/runtimes/node/net_info.ts +10 -0
- package/src/runtimes/node/runtime.ts +68 -0
- package/src/runtimes/react-native/net_info.ts +42 -0
- package/src/runtimes/react-native/runtime.ts +65 -0
- package/src/runtimes/web/auth/jsonp_auth.ts +51 -0
- package/src/runtimes/web/browser.ts +24 -0
- package/src/runtimes/web/default_strategy.ts +201 -0
- package/src/runtimes/web/dom/dependencies.ts +16 -0
- package/src/runtimes/web/dom/dependency_loader.ts +93 -0
- package/src/runtimes/web/dom/json2.js +486 -0
- package/src/runtimes/web/dom/jsonp_request.ts +52 -0
- package/src/runtimes/web/dom/script_receiver.ts +8 -0
- package/src/runtimes/web/dom/script_receiver_factory.ts +57 -0
- package/src/runtimes/web/dom/script_request.ts +85 -0
- package/src/runtimes/web/dom/sockjs/COPYING +11 -0
- package/src/runtimes/web/dom/sockjs/Changelog +147 -0
- package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +19 -0
- package/src/runtimes/web/dom/sockjs/Makefile +109 -0
- package/src/runtimes/web/dom/sockjs/README.md +388 -0
- package/src/runtimes/web/dom/sockjs/VERSION-GEN +17 -0
- package/src/runtimes/web/dom/sockjs/bin/render.coffee +111 -0
- package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +135 -0
- package/src/runtimes/web/dom/sockjs/lib/all.js +9 -0
- package/src/runtimes/web/dom/sockjs/lib/dom.js +185 -0
- package/src/runtimes/web/dom/sockjs/lib/dom2.js +280 -0
- package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +57 -0
- package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +70 -0
- package/src/runtimes/web/dom/sockjs/lib/index.js +41 -0
- package/src/runtimes/web/dom/sockjs/lib/info.js +117 -0
- package/src/runtimes/web/dom/sockjs/lib/json2.min.js +1 -0
- package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +55 -0
- package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +28 -0
- package/src/runtimes/web/dom/sockjs/lib/sockjs.js +288 -0
- package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +16 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +29 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +35 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +100 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +30 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +103 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +106 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +116 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +44 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +41 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +65 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +42 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +138 -0
- package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +29 -0
- package/src/runtimes/web/dom/sockjs/lib/utils.js +297 -0
- package/src/runtimes/web/dom/sockjs/package.json +18 -0
- package/src/runtimes/web/dom/sockjs/version +1 -0
- package/src/runtimes/web/http/http.ts +8 -0
- package/src/runtimes/web/http/http_xdomain_request.ts +37 -0
- package/src/runtimes/web/net_info.ts +50 -0
- package/src/runtimes/web/runtime.ts +174 -0
- package/src/runtimes/web/timeline/jsonp_timeline.ts +34 -0
- package/src/runtimes/web/transports/transport_connection_initializer.ts +39 -0
- package/src/runtimes/web/transports/transports.ts +65 -0
- package/src/runtimes/worker/auth/fetch_auth.ts +69 -0
- package/src/runtimes/worker/net_info.ts +10 -0
- package/src/runtimes/worker/runtime.ts +75 -0
- package/src/runtimes/worker/timeline/fetch_timeline.ts +39 -0
- package/tsconfig.json +26 -0
- package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +1 -0
- package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +4 -0
- package/types/src/core/auth/auth_transports.d.ts +9 -0
- package/types/src/core/auth/channel_authorizer.d.ts +3 -0
- package/types/src/core/auth/deprecated_channel_authorizer.d.ts +18 -0
- package/types/src/core/auth/options.d.ts +48 -0
- package/types/src/core/auth/user_authenticator.d.ts +3 -0
- package/types/src/core/base64.d.ts +1 -0
- package/types/src/core/channels/channel.d.ts +23 -0
- package/types/src/core/channels/channel_table.d.ts +5 -0
- package/types/src/core/channels/channels.d.ts +12 -0
- package/types/src/core/channels/encrypted_channel.d.ts +15 -0
- package/types/src/core/channels/members.d.ts +14 -0
- package/types/src/core/channels/metadata.d.ts +4 -0
- package/types/src/core/channels/presence_channel.d.ts +13 -0
- package/types/src/core/channels/private_channel.d.ts +5 -0
- package/types/src/core/config.d.ts +31 -0
- package/types/src/core/connection/callbacks.d.ts +18 -0
- package/types/src/core/connection/connection.d.ts +16 -0
- package/types/src/core/connection/connection_manager.d.ts +50 -0
- package/types/src/core/connection/connection_manager_options.d.ts +11 -0
- package/types/src/core/connection/handshake/handshake_payload.d.ts +8 -0
- package/types/src/core/connection/handshake/index.d.ts +12 -0
- package/types/src/core/connection/protocol/action.d.ts +7 -0
- package/types/src/core/connection/protocol/message-types.d.ts +7 -0
- package/types/src/core/connection/protocol/protocol.d.ts +10 -0
- package/types/src/core/defaults.d.ts +26 -0
- package/types/src/core/errors.d.ts +28 -0
- package/types/src/core/events/callback.d.ts +5 -0
- package/types/src/core/events/callback_registry.d.ts +11 -0
- package/types/src/core/events/callback_table.d.ts +5 -0
- package/types/src/core/events/dispatcher.d.ts +14 -0
- package/types/src/core/http/ajax.d.ts +16 -0
- package/types/src/core/http/http_factory.d.ts +13 -0
- package/types/src/core/http/http_polling_socket.d.ts +3 -0
- package/types/src/core/http/http_request.d.ts +17 -0
- package/types/src/core/http/http_socket.d.ts +32 -0
- package/types/src/core/http/http_streaming_socket.d.ts +3 -0
- package/types/src/core/http/request_hooks.d.ts +6 -0
- package/types/src/core/http/socket_hooks.d.ts +8 -0
- package/types/src/core/http/state.d.ts +6 -0
- package/types/src/core/http/url_location.d.ts +5 -0
- package/types/src/core/logger.d.ts +11 -0
- package/types/src/core/options.d.ts +34 -0
- package/types/src/core/pusher-with-encryption.d.ts +5 -0
- package/types/src/core/pusher.d.ts +49 -0
- package/types/src/core/reachability.d.ts +5 -0
- package/types/src/core/socket.d.ts +12 -0
- package/types/src/core/strategies/best_connected_ever_strategy.d.ts +10 -0
- package/types/src/core/strategies/delayed_strategy.d.ts +15 -0
- package/types/src/core/strategies/first_connected_strategy.d.ts +8 -0
- package/types/src/core/strategies/if_strategy.d.ts +10 -0
- package/types/src/core/strategies/sequential_strategy.d.ts +16 -0
- package/types/src/core/strategies/strategy.d.ts +6 -0
- package/types/src/core/strategies/strategy_builder.d.ts +5 -0
- package/types/src/core/strategies/strategy_options.d.ts +16 -0
- package/types/src/core/strategies/strategy_runner.d.ts +5 -0
- package/types/src/core/strategies/transport_strategy.d.ts +15 -0
- package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +20 -0
- package/types/src/core/timeline/level.d.ts +6 -0
- package/types/src/core/timeline/timeline.d.ts +25 -0
- package/types/src/core/timeline/timeline_sender.d.ts +13 -0
- package/types/src/core/timeline/timeline_transport.d.ts +6 -0
- package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +14 -0
- package/types/src/core/transports/ping_delay_options.d.ts +6 -0
- package/types/src/core/transports/transport.d.ts +8 -0
- package/types/src/core/transports/transport_connection.d.ts +35 -0
- package/types/src/core/transports/transport_connection_options.d.ts +6 -0
- package/types/src/core/transports/transport_hooks.d.ts +13 -0
- package/types/src/core/transports/transport_manager.d.ts +14 -0
- package/types/src/core/transports/transports_table.d.ts +10 -0
- package/types/src/core/transports/url_scheme.d.ts +11 -0
- package/types/src/core/transports/url_schemes.d.ts +4 -0
- package/types/src/core/user.d.ts +21 -0
- package/types/src/core/util.d.ts +8 -0
- package/types/src/core/utils/collections.d.ts +18 -0
- package/types/src/core/utils/factory.d.ts +29 -0
- package/types/src/core/utils/flat_promise.d.ts +6 -0
- package/types/src/core/utils/timers/abstract_timer.d.ts +10 -0
- package/types/src/core/utils/timers/index.d.ts +9 -0
- package/types/src/core/utils/timers/scheduling.d.ts +8 -0
- package/types/src/core/utils/timers/timed_callback.d.ts +4 -0
- package/types/src/core/utils/url_store.d.ts +4 -0
- package/types/src/core/watchlist.d.ts +8 -0
- package/types/src/runtimes/interface.d.ts +43 -0
- package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +3 -0
- package/types/src/runtimes/isomorphic/default_strategy.d.ts +5 -0
- package/types/src/runtimes/isomorphic/http/http.d.ts +3 -0
- package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +3 -0
- package/types/src/runtimes/isomorphic/runtime.d.ts +2 -0
- package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +6 -0
- package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +1 -0
- package/types/src/runtimes/isomorphic/transports/transports.d.ts +5 -0
- package/types/src/runtimes/node/net_info.d.ts +6 -0
- package/types/src/runtimes/node/runtime.d.ts +3 -0
- package/types/src/runtimes/react-native/net_info.d.ts +8 -0
- package/types/src/runtimes/react-native/runtime.d.ts +3 -0
- package/types/src/runtimes/web/auth/jsonp_auth.d.ts +3 -0
- package/types/src/runtimes/web/browser.d.ts +19 -0
- package/types/src/runtimes/web/default_strategy.d.ts +5 -0
- package/types/src/runtimes/web/dom/dependencies.d.ts +4 -0
- package/types/src/runtimes/web/dom/dependency_loader.d.ts +10 -0
- package/types/src/runtimes/web/dom/jsonp_request.d.ts +10 -0
- package/types/src/runtimes/web/dom/script_receiver.d.ts +7 -0
- package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +10 -0
- package/types/src/runtimes/web/dom/script_request.d.ts +9 -0
- package/types/src/runtimes/web/http/http.d.ts +2 -0
- package/types/src/runtimes/web/http/http_xdomain_request.d.ts +3 -0
- package/types/src/runtimes/web/net_info.d.ts +7 -0
- package/types/src/runtimes/web/runtime.d.ts +3 -0
- package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +6 -0
- package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +1 -0
- package/types/src/runtimes/web/transports/transports.d.ts +2 -0
- package/types/src/runtimes/worker/auth/fetch_auth.d.ts +3 -0
- package/types/src/runtimes/worker/net_info.d.ts +6 -0
- package/types/src/runtimes/worker/runtime.d.ts +3 -0
- package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +6 -0
- package/webpack/config.node.js +26 -0
- package/webpack/config.react-native.js +35 -0
- package/webpack/config.shared.js +50 -0
- package/webpack/config.web.js +36 -0
- package/webpack/config.worker.js +42 -0
- package/webpack/dev.server.js +17 -0
- package/webpack/hosting_config.js +6 -0
- package/with-encryption/index.d.ts +29 -0
- package/with-encryption/index.js +4 -0
- package/worker/index.d.ts +29 -0
- package/worker/index.js +1 -0
- package/worker/with-encryption/index.d.ts +29 -0
- package/worker/with-encryption/index.js +1 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import AssistantToTheTransportManager from './assistant_to_the_transport_manager';
|
|
2
|
+
import Transport from './transport';
|
|
3
|
+
import PingDelayOptions from './ping_delay_options';
|
|
4
|
+
export interface TransportManagerOptions extends PingDelayOptions {
|
|
5
|
+
lives?: number;
|
|
6
|
+
}
|
|
7
|
+
export default class TransportManager {
|
|
8
|
+
options: TransportManagerOptions;
|
|
9
|
+
livesLeft: number;
|
|
10
|
+
constructor(options: TransportManagerOptions);
|
|
11
|
+
getAssistant(transport: Transport): AssistantToTheTransportManager;
|
|
12
|
+
isAlive(): boolean;
|
|
13
|
+
reportDeath(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface URLSchemeParams {
|
|
2
|
+
useTLS: boolean;
|
|
3
|
+
hostTLS: string;
|
|
4
|
+
hostNonTLS: string;
|
|
5
|
+
httpPath: string;
|
|
6
|
+
}
|
|
7
|
+
interface URLScheme {
|
|
8
|
+
getInitial(key: string, params: any): string;
|
|
9
|
+
getPath?(key: string, options: any): string;
|
|
10
|
+
}
|
|
11
|
+
export default URLScheme;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Channel from './channels/channel';
|
|
2
|
+
import EventsDispatcher from './events/dispatcher';
|
|
3
|
+
import Pingerchips from './pusher';
|
|
4
|
+
import WatchlistFacade from './watchlist';
|
|
5
|
+
export default class UserFacade extends EventsDispatcher {
|
|
6
|
+
pusher: Pingerchips;
|
|
7
|
+
signin_requested: boolean;
|
|
8
|
+
user_data: any;
|
|
9
|
+
serverToUserChannel: Channel;
|
|
10
|
+
signinDonePromise: Promise<any>;
|
|
11
|
+
watchlist: WatchlistFacade;
|
|
12
|
+
private _signinDoneResolve;
|
|
13
|
+
constructor(pusher: Pingerchips);
|
|
14
|
+
signin(): void;
|
|
15
|
+
private _signin;
|
|
16
|
+
private _onAuthorize;
|
|
17
|
+
private _onSigninSuccess;
|
|
18
|
+
private _subscribeChannels;
|
|
19
|
+
private _cleanup;
|
|
20
|
+
private _newSigninPromiseIfNeeded;
|
|
21
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import TimedCallback from './utils/timers/timed_callback';
|
|
2
|
+
import { OneOffTimer } from './utils/timers';
|
|
3
|
+
declare var Util: {
|
|
4
|
+
now(): number;
|
|
5
|
+
defer(callback: TimedCallback): OneOffTimer;
|
|
6
|
+
method(name: string, ...args: any[]): Function;
|
|
7
|
+
};
|
|
8
|
+
export default Util;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function extend<T>(target: any, ...sources: any[]): T;
|
|
2
|
+
export declare function stringify(): string;
|
|
3
|
+
export declare function arrayIndexOf(array: any[], item: any): number;
|
|
4
|
+
export declare function objectApply(object: any, f: Function): void;
|
|
5
|
+
export declare function keys(object: any): string[];
|
|
6
|
+
export declare function values(object: any): any[];
|
|
7
|
+
export declare function apply(array: any[], f: Function, context?: any): void;
|
|
8
|
+
export declare function map(array: any[], f: Function): any[];
|
|
9
|
+
export declare function mapObject(object: any, f: Function): any;
|
|
10
|
+
export declare function filter(array: any[], test: Function): any[];
|
|
11
|
+
export declare function filterObject(object: Object, test: Function): {};
|
|
12
|
+
export declare function flatten(object: Object): any[];
|
|
13
|
+
export declare function any(array: any[], test: Function): boolean;
|
|
14
|
+
export declare function all(array: any[], test: Function): boolean;
|
|
15
|
+
export declare function encodeParamsObject(data: any): string;
|
|
16
|
+
export declare function buildQueryString(data: any): string;
|
|
17
|
+
export declare function decycleObject(object: any): any;
|
|
18
|
+
export declare function safeJSONStringify(source: any): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import Handshake from '../connection/handshake';
|
|
2
|
+
import AssistantToTheTransportManager from '../transports/assistant_to_the_transport_manager';
|
|
3
|
+
import PingDelayOptions from '../transports/ping_delay_options';
|
|
4
|
+
import Transport from '../transports/transport';
|
|
5
|
+
import TransportConnection from '../transports/transport_connection';
|
|
6
|
+
import TransportManager from '../transports/transport_manager';
|
|
7
|
+
import * as nacl from 'tweetnacl';
|
|
8
|
+
import Channel from '../channels/channel';
|
|
9
|
+
import Channels from '../channels/channels';
|
|
10
|
+
import EncryptedChannel from '../channels/encrypted_channel';
|
|
11
|
+
import PresenceChannel from '../channels/presence_channel';
|
|
12
|
+
import PrivateChannel from '../channels/private_channel';
|
|
13
|
+
import ConnectionManager from '../connection/connection_manager';
|
|
14
|
+
import ConnectionManagerOptions from '../connection/connection_manager_options';
|
|
15
|
+
import Pingerchips from '../pusher';
|
|
16
|
+
import Timeline from '../timeline/timeline';
|
|
17
|
+
import { default as TimelineSender, TimelineSenderOptions } from '../timeline/timeline_sender';
|
|
18
|
+
declare var Factory: {
|
|
19
|
+
createChannels(): Channels;
|
|
20
|
+
createConnectionManager(key: string, options: ConnectionManagerOptions): ConnectionManager;
|
|
21
|
+
createChannel(name: string, pusher: Pingerchips): Channel;
|
|
22
|
+
createPrivateChannel(name: string, pusher: Pingerchips): PrivateChannel;
|
|
23
|
+
createPresenceChannel(name: string, pusher: Pingerchips): PresenceChannel;
|
|
24
|
+
createEncryptedChannel(name: string, pusher: Pingerchips, nacl: nacl): EncryptedChannel;
|
|
25
|
+
createTimelineSender(timeline: Timeline, options: TimelineSenderOptions): TimelineSender;
|
|
26
|
+
createHandshake(transport: TransportConnection, callback: (HandshakePayload: any) => void): Handshake;
|
|
27
|
+
createAssistantToTheTransportManager(manager: TransportManager, transport: Transport, options: PingDelayOptions): AssistantToTheTransportManager;
|
|
28
|
+
};
|
|
29
|
+
export default Factory;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import TimedCallback from './timed_callback';
|
|
2
|
+
import { Delay, Scheduler, Canceller } from './scheduling';
|
|
3
|
+
declare abstract class Timer {
|
|
4
|
+
protected clear: Canceller;
|
|
5
|
+
protected timer: number | void;
|
|
6
|
+
constructor(set: Scheduler, clear: Canceller, delay: Delay, callback: TimedCallback);
|
|
7
|
+
isRunning(): boolean;
|
|
8
|
+
ensureAborted(): void;
|
|
9
|
+
}
|
|
10
|
+
export default Timer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Timer from './abstract_timer';
|
|
2
|
+
import TimedCallback from './timed_callback';
|
|
3
|
+
import { Delay } from './scheduling';
|
|
4
|
+
export declare class OneOffTimer extends Timer {
|
|
5
|
+
constructor(delay: Delay, callback: TimedCallback);
|
|
6
|
+
}
|
|
7
|
+
export declare class PeriodicTimer extends Timer {
|
|
8
|
+
constructor(delay: Delay, callback: TimedCallback);
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import EventsDispatcher from './events/dispatcher';
|
|
2
|
+
import Pingerchips from './pusher';
|
|
3
|
+
export default class WatchlistFacade extends EventsDispatcher {
|
|
4
|
+
private pusher;
|
|
5
|
+
constructor(pusher: Pingerchips);
|
|
6
|
+
handleEvent(pusherEvent: any): void;
|
|
7
|
+
private bindWatchlistInternalEvent;
|
|
8
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AuthTransports } from '../core/auth/auth_transports';
|
|
2
|
+
import { Config } from '../core/config';
|
|
3
|
+
import Ajax from '../core/http/ajax';
|
|
4
|
+
import HTTPFactory from '../core/http/http_factory';
|
|
5
|
+
import HTTPRequest from '../core/http/http_request';
|
|
6
|
+
import Pingerchips from '../core/pusher';
|
|
7
|
+
import Reachability from '../core/reachability';
|
|
8
|
+
import Socket from '../core/socket';
|
|
9
|
+
import Strategy from '../core/strategies/strategy';
|
|
10
|
+
import StrategyOptions from '../core/strategies/strategy_options';
|
|
11
|
+
import TimelineTransport from '../core/timeline/timeline_transport';
|
|
12
|
+
import TransportsTable from '../core/transports/transports_table';
|
|
13
|
+
import JSONPRequest from './web/dom/jsonp_request';
|
|
14
|
+
interface Runtime {
|
|
15
|
+
setup(PusherClass: {
|
|
16
|
+
new (key: string, options: any): Pingerchips;
|
|
17
|
+
ready(): void;
|
|
18
|
+
}): void;
|
|
19
|
+
getProtocol(): string;
|
|
20
|
+
getAuthorizers(): AuthTransports;
|
|
21
|
+
getLocalStorage(): any;
|
|
22
|
+
TimelineTransport: TimelineTransport;
|
|
23
|
+
createXHR(): Ajax;
|
|
24
|
+
createWebSocket(url: string): Socket;
|
|
25
|
+
getNetwork(): Reachability;
|
|
26
|
+
getDefaultStrategy(config: Config, options: StrategyOptions, defineTransport: Function): Strategy;
|
|
27
|
+
Transports: TransportsTable;
|
|
28
|
+
getWebSocketAPI(): new (url: string) => Socket;
|
|
29
|
+
getXHRAPI(): new () => Ajax;
|
|
30
|
+
addUnloadListener(listener: Function): void;
|
|
31
|
+
removeUnloadListener(listener: Function): void;
|
|
32
|
+
transportConnectionInitializer: Function;
|
|
33
|
+
HTTPFactory: HTTPFactory;
|
|
34
|
+
isXHRSupported(): boolean;
|
|
35
|
+
createSocketRequest(method: string, url: string): HTTPRequest;
|
|
36
|
+
randomInt(max: number): number;
|
|
37
|
+
getDocument?(): Document;
|
|
38
|
+
createScriptRequest?(url: string): any;
|
|
39
|
+
createJSONPRequest?(url: string, data: any): JSONPRequest;
|
|
40
|
+
ScriptReceivers?: any;
|
|
41
|
+
isXDRSupported?(useTLS?: boolean): boolean;
|
|
42
|
+
}
|
|
43
|
+
export default Runtime;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Strategy from 'core/strategies/strategy';
|
|
2
|
+
import { Config } from 'core/config';
|
|
3
|
+
import StrategyOptions from 'core/strategies/strategy_options';
|
|
4
|
+
declare var getDefaultStrategy: (config: Config, baseOptions: StrategyOptions, defineTransport: Function) => Strategy;
|
|
5
|
+
export default getDefaultStrategy;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import EventsDispatcher from 'core/events/dispatcher';
|
|
2
|
+
import Reachability from 'core/reachability';
|
|
3
|
+
export declare class NetInfo extends EventsDispatcher implements Reachability {
|
|
4
|
+
online: boolean;
|
|
5
|
+
constructor();
|
|
6
|
+
isOnline(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare var Network: NetInfo;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import AbstractRuntime from 'runtimes/interface';
|
|
2
|
+
import { ScriptReceiverFactory } from './dom/script_receiver_factory';
|
|
3
|
+
import ScriptRequest from './dom/script_request';
|
|
4
|
+
import JSONPRequest from './dom/jsonp_request';
|
|
5
|
+
import Ajax from 'core/http/ajax';
|
|
6
|
+
interface Browser extends AbstractRuntime {
|
|
7
|
+
nextAuthCallbackID: number;
|
|
8
|
+
auth_callbacks: any;
|
|
9
|
+
ScriptReceivers: ScriptReceiverFactory;
|
|
10
|
+
DependenciesReceivers: ScriptReceiverFactory;
|
|
11
|
+
onDocumentBody(callback: Function): any;
|
|
12
|
+
getDocument(): any;
|
|
13
|
+
createJSONPRequest(url: string, data: any): JSONPRequest;
|
|
14
|
+
createScriptRequest(src: string): ScriptRequest;
|
|
15
|
+
isXDRSupported(useTLS?: boolean): boolean;
|
|
16
|
+
createXMLHttpRequest(): Ajax;
|
|
17
|
+
createMicrosoftXHR(): Ajax;
|
|
18
|
+
}
|
|
19
|
+
export default Browser;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Strategy from 'core/strategies/strategy';
|
|
2
|
+
import StrategyOptions from 'core/strategies/strategy_options';
|
|
3
|
+
import { Config } from 'core/config';
|
|
4
|
+
declare var getDefaultStrategy: (config: Config, baseOptions: StrategyOptions, defineTransport: Function) => Strategy;
|
|
5
|
+
export default getDefaultStrategy;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ScriptReceiverFactory } from './script_receiver_factory';
|
|
2
|
+
export default class DependencyLoader {
|
|
3
|
+
options: any;
|
|
4
|
+
receivers: ScriptReceiverFactory;
|
|
5
|
+
loading: any;
|
|
6
|
+
constructor(options: any);
|
|
7
|
+
load(name: string, options: any, callback: Function): void;
|
|
8
|
+
getRoot(options: any): string;
|
|
9
|
+
getPath(name: string, options: any): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ScriptReceiver from './script_receiver';
|
|
2
|
+
import ScriptRequest from './script_request';
|
|
3
|
+
export default class JSONPRequest {
|
|
4
|
+
url: string;
|
|
5
|
+
data: any;
|
|
6
|
+
request: ScriptRequest;
|
|
7
|
+
constructor(url: string, data: any);
|
|
8
|
+
send(receiver: ScriptReceiver): void;
|
|
9
|
+
cleanup(): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import ScriptReceiver from './script_receiver';
|
|
2
|
+
export declare class ScriptReceiverFactory {
|
|
3
|
+
lastId: number;
|
|
4
|
+
prefix: string;
|
|
5
|
+
name: string;
|
|
6
|
+
constructor(prefix: string, name: string);
|
|
7
|
+
create(callback: Function): ScriptReceiver;
|
|
8
|
+
remove(receiver: ScriptReceiver): void;
|
|
9
|
+
}
|
|
10
|
+
export declare var ScriptReceivers: ScriptReceiverFactory;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Reachability from 'core/reachability';
|
|
2
|
+
import { default as EventsDispatcher } from 'core/events/dispatcher';
|
|
3
|
+
export declare class NetInfo extends EventsDispatcher implements Reachability {
|
|
4
|
+
constructor();
|
|
5
|
+
isOnline(): boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare var Network: NetInfo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): void;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
const { merge } = require('webpack-merge');
|
|
3
|
+
var configShared = require('./config.shared');
|
|
4
|
+
var webpack = require('webpack');
|
|
5
|
+
|
|
6
|
+
module.exports = merge({}, configShared, {
|
|
7
|
+
entry: {
|
|
8
|
+
pusher: './src/core/pusher-with-encryption.js'
|
|
9
|
+
},
|
|
10
|
+
output: {
|
|
11
|
+
library: 'Pusher',
|
|
12
|
+
libraryTarget: 'commonjs2',
|
|
13
|
+
path: path.join(__dirname, '../dist/node'),
|
|
14
|
+
filename: 'pusher.js'
|
|
15
|
+
},
|
|
16
|
+
target: 'node',
|
|
17
|
+
resolve: {
|
|
18
|
+
// in order to import the appropriate runtime.ts
|
|
19
|
+
modules: ['src/runtimes/node']
|
|
20
|
+
},
|
|
21
|
+
plugins: [
|
|
22
|
+
new webpack.DefinePlugin({
|
|
23
|
+
RUNTIME: JSON.stringify('node')
|
|
24
|
+
})
|
|
25
|
+
]
|
|
26
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var NormalModuleReplacementPlugin = require('webpack')
|
|
3
|
+
.NormalModuleReplacementPlugin;
|
|
4
|
+
var version = require('../package').version;
|
|
5
|
+
const { merge } = require('webpack-merge');
|
|
6
|
+
var configShared = require('./config.shared');
|
|
7
|
+
var webpack = require('webpack');
|
|
8
|
+
var buffer = require('buffer');
|
|
9
|
+
|
|
10
|
+
module.exports = merge({}, configShared, {
|
|
11
|
+
entry: {
|
|
12
|
+
pusher: './src/core/pusher-with-encryption.js'
|
|
13
|
+
},
|
|
14
|
+
output: {
|
|
15
|
+
library: 'Pusher',
|
|
16
|
+
libraryTarget: 'commonjs2',
|
|
17
|
+
path: path.join(__dirname, '../dist/react-native'),
|
|
18
|
+
filename: 'pusher.js'
|
|
19
|
+
},
|
|
20
|
+
externals: {
|
|
21
|
+
// our Reachability implementation needs to reference @react-native-community/netinfo.
|
|
22
|
+
'@react-native-community/netinfo': '@react-native-community/netinfo'
|
|
23
|
+
},
|
|
24
|
+
resolve: {
|
|
25
|
+
modules: ['src/runtimes/react-native']
|
|
26
|
+
},
|
|
27
|
+
plugins: [
|
|
28
|
+
new webpack.DefinePlugin({
|
|
29
|
+
RUNTIME: JSON.stringify('react-native')
|
|
30
|
+
}),
|
|
31
|
+
new webpack.ProvidePlugin({
|
|
32
|
+
Buffer: ['buffer', 'Buffer']
|
|
33
|
+
})
|
|
34
|
+
]
|
|
35
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var webpack = require('webpack');
|
|
4
|
+
var fs = require('fs');
|
|
5
|
+
var Config = require('./hosting_config');
|
|
6
|
+
var banner = fs.readFileSync('./src/core/pusher-licence.js', 'utf8');
|
|
7
|
+
banner = banner.replace('<VERSION>', Config.version);
|
|
8
|
+
|
|
9
|
+
var minimize = process.env.MINIMIZE === 'false' ? false : true;
|
|
10
|
+
|
|
11
|
+
module.exports = {
|
|
12
|
+
mode: process.env.MODE || 'production',
|
|
13
|
+
optimization: {
|
|
14
|
+
minimize: minimize
|
|
15
|
+
},
|
|
16
|
+
entry: {
|
|
17
|
+
pusher: './src/core/pusher.js'
|
|
18
|
+
},
|
|
19
|
+
devtool: 'source-map',
|
|
20
|
+
resolve: {
|
|
21
|
+
extensions: ['.webpack.js', '.web.js', '.ts', '.js'],
|
|
22
|
+
// add runtimes for easier importing of isomorphic runtime modules
|
|
23
|
+
modules: ['src', 'src/runtimes', 'node_modules']
|
|
24
|
+
},
|
|
25
|
+
module: {
|
|
26
|
+
rules: [
|
|
27
|
+
{ test: /\.ts$/, loader: 'ts-loader' },
|
|
28
|
+
{
|
|
29
|
+
test: /\.js$/,
|
|
30
|
+
enforce: 'pre',
|
|
31
|
+
use: ['source-map-loader']
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
node: {
|
|
36
|
+
// nacl uses Buffer on node.js but has a different code path for the browser.
|
|
37
|
+
// We don't need webpack to include a Buffer polyfill when seeing the usage,
|
|
38
|
+
// as it won't be used.
|
|
39
|
+
Buffer: false
|
|
40
|
+
},
|
|
41
|
+
plugins: [
|
|
42
|
+
new webpack.BannerPlugin({ banner: banner, raw: true }),
|
|
43
|
+
new webpack.DefinePlugin({
|
|
44
|
+
VERSION: JSON.stringify(Config.version),
|
|
45
|
+
CDN_HTTP: JSON.stringify(Config.cdn_http),
|
|
46
|
+
CDN_HTTPS: JSON.stringify(Config.cdn_https),
|
|
47
|
+
DEPENDENCY_SUFFIX: JSON.stringify(Config.dependency_suffix)
|
|
48
|
+
})
|
|
49
|
+
]
|
|
50
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var path = require('path');
|
|
2
|
+
var webpack = require('webpack');
|
|
3
|
+
var NormalModuleReplacementPlugin = webpack.NormalModuleReplacementPlugin;
|
|
4
|
+
const { merge } = require('webpack-merge');
|
|
5
|
+
var configShared = require('./config.shared');
|
|
6
|
+
|
|
7
|
+
var filename = configShared.optimization.minimize
|
|
8
|
+
? 'pusher.min.js'
|
|
9
|
+
: 'pusher.js';
|
|
10
|
+
|
|
11
|
+
var entry = './src/core/pusher.js';
|
|
12
|
+
if (process.env.INCLUDE_TWEETNACL === 'true') {
|
|
13
|
+
entry = './src/core/pusher-with-encryption.js';
|
|
14
|
+
filename = filename.replace('pusher', 'pusher-with-encryption');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
module.exports = merge({}, configShared, {
|
|
18
|
+
entry: {
|
|
19
|
+
pusher: entry
|
|
20
|
+
},
|
|
21
|
+
output: {
|
|
22
|
+
library: 'Pusher',
|
|
23
|
+
path: path.join(__dirname, '../dist/web'),
|
|
24
|
+
filename: filename,
|
|
25
|
+
libraryTarget: 'umd'
|
|
26
|
+
},
|
|
27
|
+
resolve: {
|
|
28
|
+
modules: ['src/runtimes/web']
|
|
29
|
+
},
|
|
30
|
+
plugins: [
|
|
31
|
+
new webpack.DefinePlugin({
|
|
32
|
+
global: 'window',
|
|
33
|
+
RUNTIME: JSON.stringify('web')
|
|
34
|
+
})
|
|
35
|
+
]
|
|
36
|
+
});
|