pingerchips-js 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -655
- package/index.js +169 -0
- package/package.json +20 -59
- package/.editorconfig +0 -14
- package/.github/ISSUE_TEMPLATE.md +0 -11
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -14
- package/.github/dependabot.yml +0 -14
- package/.github/stale.yml +0 -26
- package/.github/workflows/release.yml +0 -112
- package/.github/workflows/release_pr.yml +0 -43
- package/.github/workflows/run-tests.yml +0 -62
- package/.gitmodules +0 -3
- package/.prettierrc +0 -2
- package/CHANGELOG.md +0 -924
- package/LICENCE +0 -19
- package/Makefile +0 -78
- package/bower.json +0 -28
- package/dist/node/pusher.js +0 -10870
- package/dist/node/pusher.js.map +0 -1
- package/dist/react-native/pusher.js +0 -9
- package/dist/react-native/pusher.js.map +0 -1
- package/dist/web/json2.js +0 -486
- package/dist/web/json2.min.js +0 -1
- package/dist/web/pusher-with-encryption.js +0 -7009
- package/dist/web/pusher-with-encryption.js.map +0 -1
- package/dist/web/pusher-with-encryption.min.js +0 -9
- package/dist/web/pusher-with-encryption.min.js.map +0 -1
- package/dist/web/pusher.js +0 -4587
- package/dist/web/pusher.js.map +0 -1
- package/dist/web/pusher.min.js +0 -9
- package/dist/web/pusher.min.js.map +0 -1
- package/dist/web/sockjs.js +0 -2435
- package/dist/web/sockjs.min.js +0 -89
- package/dist/worker/pusher-with-encryption.worker.js +0 -6622
- package/dist/worker/pusher-with-encryption.worker.js.map +0 -1
- package/dist/worker/pusher-with-encryption.worker.min.js +0 -9
- package/dist/worker/pusher-with-encryption.worker.min.js.map +0 -1
- package/dist/worker/pusher.worker.js +0 -4200
- package/dist/worker/pusher.worker.js.map +0 -1
- package/dist/worker/pusher.worker.min.js +0 -9
- package/dist/worker/pusher.worker.min.js.map +0 -1
- package/index.d.ts +0 -29
- package/integration_tests_server/index.js +0 -176
- package/integration_tests_server/package-lock.json +0 -1177
- package/integration_tests_server/package.json +0 -15
- package/node.js +0 -1
- package/pusher-with-encryption/index.js +0 -1
- package/react-native/index.d.ts +0 -29
- package/react-native/index.js +0 -1
- package/spec/config/jasmine/helpers/reporter.js +0 -14
- package/spec/config/jasmine/integration.json +0 -13
- package/spec/config/jasmine/unit.json +0 -13
- package/spec/config/jasmine/webpack.integration.js +0 -33
- package/spec/config/jasmine/webpack.unit.js +0 -30
- package/spec/config/karma/available_browsers.json +0 -4957
- package/spec/config/karma/config.ci.js +0 -25
- package/spec/config/karma/config.common.js +0 -50
- package/spec/config/karma/config.integration.js +0 -26
- package/spec/config/karma/config.unit.js +0 -10
- package/spec/config/karma/config.worker.js +0 -34
- package/spec/config/karma/integration.js +0 -24
- package/spec/config/karma/unit.js +0 -20
- package/spec/javascripts/helpers/mocks.js +0 -274
- package/spec/javascripts/helpers/node/integration.js +0 -33
- package/spec/javascripts/helpers/node/mock-dom-dependencies.ts +0 -1
- package/spec/javascripts/helpers/pusher_integration.js +0 -1
- package/spec/javascripts/helpers/pusher_integration_class.ts +0 -12
- package/spec/javascripts/helpers/timers/promises.js +0 -9
- package/spec/javascripts/helpers/waitsFor.js +0 -37
- package/spec/javascripts/helpers/web/integration.js +0 -44
- package/spec/javascripts/helpers/worker/mock-dom-dependencies.js +0 -1
- package/spec/javascripts/integration/core/cluster_config_spec.js +0 -153
- package/spec/javascripts/integration/core/falling_back_spec.js +0 -195
- package/spec/javascripts/integration/core/pusher_spec/index.js +0 -68
- package/spec/javascripts/integration/core/pusher_spec/test_builder.js +0 -715
- package/spec/javascripts/integration/core/timeout_configuration_spec.js +0 -200
- package/spec/javascripts/integration/core/transport_lists_spec.js +0 -103
- package/spec/javascripts/integration/index.node.js +0 -12
- package/spec/javascripts/integration/index.web.js +0 -63
- package/spec/javascripts/integration/index.worker.js +0 -13
- package/spec/javascripts/integration/web/dom/jsonp_spec.js +0 -97
- package/spec/javascripts/integration/web/dom/script_request_spec.js +0 -90
- package/spec/javascripts/polyfills/index.js +0 -105
- package/spec/javascripts/unit/core/channels/channel_spec.js +0 -355
- package/spec/javascripts/unit/core/channels/channels_spec.js +0 -94
- package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +0 -343
- package/spec/javascripts/unit/core/channels/presence_channel_spec.js +0 -553
- package/spec/javascripts/unit/core/channels/private_channel_spec.js +0 -182
- package/spec/javascripts/unit/core/config_spec.js +0 -507
- package/spec/javascripts/unit/core/connection/connection_manager_spec.js +0 -656
- package/spec/javascripts/unit/core/connection/connection_spec.js +0 -286
- package/spec/javascripts/unit/core/connection/handshake_spec.js +0 -160
- package/spec/javascripts/unit/core/connection/protocol_spec.js +0 -420
- package/spec/javascripts/unit/core/defaults_spec.js +0 -26
- package/spec/javascripts/unit/core/events_dispatcher_spec.js +0 -385
- package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +0 -60
- package/spec/javascripts/unit/core/http/http_request_spec.js +0 -185
- package/spec/javascripts/unit/core/http/http_socket_spec.js +0 -370
- package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +0 -56
- package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +0 -164
- package/spec/javascripts/unit/core/logger_spec.js +0 -133
- package/spec/javascripts/unit/core/pusher_spec.js +0 -613
- package/spec/javascripts/unit/core/pusher_with_encryption_spec.js +0 -18
- package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +0 -104
- package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +0 -95
- package/spec/javascripts/unit/core/strategies/first_connected_strategy_spec.js +0 -68
- package/spec/javascripts/unit/core/strategies/if_strategy_spec.js +0 -165
- package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +0 -213
- package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +0 -250
- package/spec/javascripts/unit/core/strategies/websocket_prioritized_cached_strategy_spec.js +0 -400
- package/spec/javascripts/unit/core/timeline/timeline_spec.js +0 -153
- package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +0 -223
- package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +0 -85
- package/spec/javascripts/unit/core/transports/transport_connection_spec.js +0 -585
- package/spec/javascripts/unit/core/transports/transport_manager_spec.js +0 -64
- package/spec/javascripts/unit/core/user_spec.js +0 -303
- package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +0 -74
- package/spec/javascripts/unit/core/utils/timers_spec.js +0 -157
- package/spec/javascripts/unit/core/utils/url_store_spec.js +0 -14
- package/spec/javascripts/unit/core/watchlist_spec.js +0 -48
- package/spec/javascripts/unit/core_with_runtime/auth/channel_authorizer_spec.js +0 -137
- package/spec/javascripts/unit/core_with_runtime/auth/deprecated_channel_authorizer_spec.js +0 -48
- package/spec/javascripts/unit/core_with_runtime/auth/user_authorizer_spec.js +0 -128
- package/spec/javascripts/unit/core_with_runtime/readme.md +0 -5
- package/spec/javascripts/unit/index.node.js +0 -11
- package/spec/javascripts/unit/index.web.js +0 -12
- package/spec/javascripts/unit/index.worker.js +0 -11
- package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +0 -82
- package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +0 -202
- package/spec/javascripts/unit/node/timeline_sender_spec.js +0 -83
- package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +0 -249
- package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +0 -130
- package/spec/javascripts/unit/web/dom/script_receiver_factory_spec.js +0 -68
- package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +0 -222
- package/spec/javascripts/unit/web/pusher_authorizer_spec.js +0 -64
- package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +0 -131
- package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +0 -127
- package/spec/javascripts/unit/web/transports/transports_spec.js +0 -444
- package/spec/javascripts/unit/worker/channel_authorizer_spec.js +0 -156
- package/spec/javascripts/unit/worker/timeline_sender_spec.js +0 -76
- package/src/core/auth/auth_transports.ts +0 -18
- package/src/core/auth/channel_authorizer.ts +0 -64
- package/src/core/auth/deprecated_channel_authorizer.ts +0 -58
- package/src/core/auth/options.ts +0 -78
- package/src/core/auth/user_authenticator.ts +0 -62
- package/src/core/base64.ts +0 -49
- package/src/core/channels/channel.ts +0 -163
- package/src/core/channels/channel_table.ts +0 -7
- package/src/core/channels/channels.ts +0 -85
- package/src/core/channels/encrypted_channel.ts +0 -149
- package/src/core/channels/members.ts +0 -80
- package/src/core/channels/metadata.ts +0 -5
- package/src/core/channels/presence_channel.ts +0 -113
- package/src/core/channels/private_channel.ts +0 -25
- package/src/core/config.ts +0 -189
- package/src/core/connection/callbacks.ts +0 -21
- package/src/core/connection/connection.ts +0 -160
- package/src/core/connection/connection_manager.ts +0 -371
- package/src/core/connection/connection_manager_options.ts +0 -14
- package/src/core/connection/handshake/handshake_payload.ts +0 -10
- package/src/core/connection/handshake/index.ts +0 -90
- package/src/core/connection/protocol/action.ts +0 -8
- package/src/core/connection/protocol/message-types.ts +0 -8
- package/src/core/connection/protocol/protocol.ts +0 -154
- package/src/core/defaults.ts +0 -66
- package/src/core/errors.ts +0 -69
- package/src/core/events/callback.ts +0 -6
- package/src/core/events/callback_registry.ts +0 -75
- package/src/core/events/callback_table.ts +0 -7
- package/src/core/events/dispatcher.ts +0 -84
- package/src/core/http/ajax.ts +0 -24
- package/src/core/http/http_factory.ts +0 -16
- package/src/core/http/http_polling_socket.ts +0 -24
- package/src/core/http/http_request.ts +0 -81
- package/src/core/http/http_socket.ts +0 -220
- package/src/core/http/http_streaming_socket.ts +0 -19
- package/src/core/http/request_hooks.ts +0 -9
- package/src/core/http/socket_hooks.ts +0 -11
- package/src/core/http/state.ts +0 -7
- package/src/core/http/url_location.ts +0 -6
- package/src/core/logger.ts +0 -53
- package/src/core/options.ts +0 -59
- package/src/core/pusher-licence.js +0 -7
- package/src/core/pusher-with-encryption.js +0 -1
- package/src/core/pusher-with-encryption.ts +0 -14
- package/src/core/pusher.js +0 -2
- package/src/core/pusher.ts +0 -249
- package/src/core/reachability.ts +0 -7
- package/src/core/socket.ts +0 -14
- package/src/core/strategies/best_connected_ever_strategy.ts +0 -81
- package/src/core/strategies/delayed_strategy.ts +0 -48
- package/src/core/strategies/first_connected_strategy.ts +0 -28
- package/src/core/strategies/if_strategy.ts +0 -34
- package/src/core/strategies/sequential_strategy.ts +0 -129
- package/src/core/strategies/strategy.ts +0 -8
- package/src/core/strategies/strategy_builder.ts +0 -67
- package/src/core/strategies/strategy_options.ts +0 -18
- package/src/core/strategies/strategy_runner.ts +0 -6
- package/src/core/strategies/transport_strategy.ts +0 -144
- package/src/core/strategies/websocket_prioritized_cached_strategy.ts +0 -157
- package/src/core/timeline/level.ts +0 -7
- package/src/core/timeline/timeline.ts +0 -90
- package/src/core/timeline/timeline_sender.ts +0 -33
- package/src/core/timeline/timeline_transport.ts +0 -11
- package/src/core/transports/assistant_to_the_transport_manager.ts +0 -104
- package/src/core/transports/ping_delay_options.ts +0 -7
- package/src/core/transports/transport.ts +0 -54
- package/src/core/transports/transport_connection.ts +0 -241
- package/src/core/transports/transport_connection_options.ts +0 -8
- package/src/core/transports/transport_hooks.ts +0 -16
- package/src/core/transports/transport_manager.ts +0 -52
- package/src/core/transports/transports_table.ts +0 -12
- package/src/core/transports/url_scheme.ts +0 -13
- package/src/core/transports/url_schemes.ts +0 -47
- package/src/core/user.ts +0 -186
- package/src/core/util.ts +0 -34
- package/src/core/utils/collections.ts +0 -353
- package/src/core/utils/factory.ts +0 -75
- package/src/core/utils/flat_promise.ts +0 -10
- package/src/core/utils/timers/abstract_timer.ts +0 -39
- package/src/core/utils/timers/index.ts +0 -39
- package/src/core/utils/timers/scheduling.ts +0 -11
- package/src/core/utils/timers/timed_callback.ts +0 -5
- package/src/core/utils/url_store.ts +0 -48
- package/src/core/watchlist.ts +0 -31
- package/src/d.ts/constants/index.d.ts +0 -5
- package/src/d.ts/faye-websocket/faye-websocket.d.ts +0 -21
- package/src/d.ts/global/global.d.ts +0 -1
- package/src/d.ts/module/module.d.ts +0 -12
- package/src/d.ts/tweetnacl-util/index.d.ts +0 -6
- package/src/d.ts/window/events.d.ts +0 -4
- package/src/d.ts/window/sockjs.d.ts +0 -3
- package/src/d.ts/window/websocket.d.ts +0 -4
- package/src/d.ts/window/xmlhttprequest.d.ts +0 -3
- package/src/runtimes/interface.ts +0 -59
- package/src/runtimes/isomorphic/auth/xhr_auth.ts +0 -90
- package/src/runtimes/isomorphic/default_strategy.ts +0 -155
- package/src/runtimes/isomorphic/http/http.ts +0 -32
- package/src/runtimes/isomorphic/http/http_xhr_request.ts +0 -35
- package/src/runtimes/isomorphic/runtime.ts +0 -62
- package/src/runtimes/isomorphic/timeline/xhr_timeline.ts +0 -50
- package/src/runtimes/isomorphic/transports/transport_connection_initializer.ts +0 -19
- package/src/runtimes/isomorphic/transports/transports.ts +0 -81
- package/src/runtimes/node/net_info.ts +0 -10
- package/src/runtimes/node/runtime.ts +0 -68
- package/src/runtimes/react-native/net_info.ts +0 -42
- package/src/runtimes/react-native/runtime.ts +0 -65
- package/src/runtimes/web/auth/jsonp_auth.ts +0 -51
- package/src/runtimes/web/browser.ts +0 -24
- package/src/runtimes/web/default_strategy.ts +0 -201
- package/src/runtimes/web/dom/dependencies.ts +0 -16
- package/src/runtimes/web/dom/dependency_loader.ts +0 -93
- package/src/runtimes/web/dom/json2.js +0 -486
- package/src/runtimes/web/dom/jsonp_request.ts +0 -52
- package/src/runtimes/web/dom/script_receiver.ts +0 -8
- package/src/runtimes/web/dom/script_receiver_factory.ts +0 -57
- package/src/runtimes/web/dom/script_request.ts +0 -85
- package/src/runtimes/web/dom/sockjs/COPYING +0 -11
- package/src/runtimes/web/dom/sockjs/Changelog +0 -147
- package/src/runtimes/web/dom/sockjs/LICENSE-MIT-SockJS +0 -19
- package/src/runtimes/web/dom/sockjs/Makefile +0 -109
- package/src/runtimes/web/dom/sockjs/README.md +0 -388
- package/src/runtimes/web/dom/sockjs/VERSION-GEN +0 -17
- package/src/runtimes/web/dom/sockjs/bin/render.coffee +0 -111
- package/src/runtimes/web/dom/sockjs/bin/run_testling.sh +0 -135
- package/src/runtimes/web/dom/sockjs/lib/all.js +0 -9
- package/src/runtimes/web/dom/sockjs/lib/dom.js +0 -185
- package/src/runtimes/web/dom/sockjs/lib/dom2.js +0 -280
- package/src/runtimes/web/dom/sockjs/lib/eventemitter.js +0 -57
- package/src/runtimes/web/dom/sockjs/lib/heartbeater.js +0 -70
- package/src/runtimes/web/dom/sockjs/lib/index.js +0 -41
- package/src/runtimes/web/dom/sockjs/lib/info.js +0 -117
- package/src/runtimes/web/dom/sockjs/lib/json2.min.js +0 -1
- package/src/runtimes/web/dom/sockjs/lib/reventtarget.js +0 -55
- package/src/runtimes/web/dom/sockjs/lib/simpleevent.js +0 -28
- package/src/runtimes/web/dom/sockjs/lib/sockjs.js +0 -288
- package/src/runtimes/web/dom/sockjs/lib/test-hooks.js +0 -16
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-eventsource.js +0 -29
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-htmlfile.js +0 -35
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-within.js +0 -100
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe-xhr-polling.js +0 -30
- package/src/runtimes/web/dom/sockjs/lib/trans-iframe.js +0 -103
- package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-polling.js +0 -106
- package/src/runtimes/web/dom/sockjs/lib/trans-jsonp-receiver.js +0 -116
- package/src/runtimes/web/dom/sockjs/lib/trans-polling.js +0 -44
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-eventsource.js +0 -41
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-htmlfile.js +0 -65
- package/src/runtimes/web/dom/sockjs/lib/trans-receiver-xhr.js +0 -42
- package/src/runtimes/web/dom/sockjs/lib/trans-sender.js +0 -138
- package/src/runtimes/web/dom/sockjs/lib/trans-xhr.js +0 -29
- package/src/runtimes/web/dom/sockjs/lib/utils.js +0 -297
- package/src/runtimes/web/dom/sockjs/package.json +0 -18
- package/src/runtimes/web/dom/sockjs/version +0 -1
- package/src/runtimes/web/http/http.ts +0 -8
- package/src/runtimes/web/http/http_xdomain_request.ts +0 -37
- package/src/runtimes/web/net_info.ts +0 -50
- package/src/runtimes/web/runtime.ts +0 -174
- package/src/runtimes/web/timeline/jsonp_timeline.ts +0 -34
- package/src/runtimes/web/transports/transport_connection_initializer.ts +0 -39
- package/src/runtimes/web/transports/transports.ts +0 -65
- package/src/runtimes/worker/auth/fetch_auth.ts +0 -69
- package/src/runtimes/worker/net_info.ts +0 -10
- package/src/runtimes/worker/runtime.ts +0 -75
- package/src/runtimes/worker/timeline/fetch_timeline.ts +0 -39
- package/tsconfig.json +0 -26
- package/types/spec/javascripts/helpers/node/mock-dom-dependencies.d.ts +0 -1
- package/types/spec/javascripts/helpers/pusher_integration_class.d.ts +0 -4
- package/types/src/core/auth/auth_transports.d.ts +0 -9
- package/types/src/core/auth/channel_authorizer.d.ts +0 -3
- package/types/src/core/auth/deprecated_channel_authorizer.d.ts +0 -18
- package/types/src/core/auth/options.d.ts +0 -48
- package/types/src/core/auth/user_authenticator.d.ts +0 -3
- package/types/src/core/base64.d.ts +0 -1
- package/types/src/core/channels/channel.d.ts +0 -23
- package/types/src/core/channels/channel_table.d.ts +0 -5
- package/types/src/core/channels/channels.d.ts +0 -12
- package/types/src/core/channels/encrypted_channel.d.ts +0 -15
- package/types/src/core/channels/members.d.ts +0 -14
- package/types/src/core/channels/metadata.d.ts +0 -4
- package/types/src/core/channels/presence_channel.d.ts +0 -13
- package/types/src/core/channels/private_channel.d.ts +0 -5
- package/types/src/core/config.d.ts +0 -31
- package/types/src/core/connection/callbacks.d.ts +0 -18
- package/types/src/core/connection/connection.d.ts +0 -16
- package/types/src/core/connection/connection_manager.d.ts +0 -50
- package/types/src/core/connection/connection_manager_options.d.ts +0 -11
- package/types/src/core/connection/handshake/handshake_payload.d.ts +0 -8
- package/types/src/core/connection/handshake/index.d.ts +0 -12
- package/types/src/core/connection/protocol/action.d.ts +0 -7
- package/types/src/core/connection/protocol/message-types.d.ts +0 -7
- package/types/src/core/connection/protocol/protocol.d.ts +0 -10
- package/types/src/core/defaults.d.ts +0 -26
- package/types/src/core/errors.d.ts +0 -28
- package/types/src/core/events/callback.d.ts +0 -5
- package/types/src/core/events/callback_registry.d.ts +0 -11
- package/types/src/core/events/callback_table.d.ts +0 -5
- package/types/src/core/events/dispatcher.d.ts +0 -14
- package/types/src/core/http/ajax.d.ts +0 -16
- package/types/src/core/http/http_factory.d.ts +0 -13
- package/types/src/core/http/http_polling_socket.d.ts +0 -3
- package/types/src/core/http/http_request.d.ts +0 -17
- package/types/src/core/http/http_socket.d.ts +0 -32
- package/types/src/core/http/http_streaming_socket.d.ts +0 -3
- package/types/src/core/http/request_hooks.d.ts +0 -6
- package/types/src/core/http/socket_hooks.d.ts +0 -8
- package/types/src/core/http/state.d.ts +0 -6
- package/types/src/core/http/url_location.d.ts +0 -5
- package/types/src/core/logger.d.ts +0 -11
- package/types/src/core/options.d.ts +0 -34
- package/types/src/core/pusher-with-encryption.d.ts +0 -5
- package/types/src/core/pusher.d.ts +0 -49
- package/types/src/core/reachability.d.ts +0 -5
- package/types/src/core/socket.d.ts +0 -12
- package/types/src/core/strategies/best_connected_ever_strategy.d.ts +0 -10
- package/types/src/core/strategies/delayed_strategy.d.ts +0 -15
- package/types/src/core/strategies/first_connected_strategy.d.ts +0 -8
- package/types/src/core/strategies/if_strategy.d.ts +0 -10
- package/types/src/core/strategies/sequential_strategy.d.ts +0 -16
- package/types/src/core/strategies/strategy.d.ts +0 -6
- package/types/src/core/strategies/strategy_builder.d.ts +0 -5
- package/types/src/core/strategies/strategy_options.d.ts +0 -16
- package/types/src/core/strategies/strategy_runner.d.ts +0 -5
- package/types/src/core/strategies/transport_strategy.d.ts +0 -15
- package/types/src/core/strategies/websocket_prioritized_cached_strategy.d.ts +0 -20
- package/types/src/core/timeline/level.d.ts +0 -6
- package/types/src/core/timeline/timeline.d.ts +0 -25
- package/types/src/core/timeline/timeline_sender.d.ts +0 -13
- package/types/src/core/timeline/timeline_transport.d.ts +0 -6
- package/types/src/core/transports/assistant_to_the_transport_manager.d.ts +0 -14
- package/types/src/core/transports/ping_delay_options.d.ts +0 -6
- package/types/src/core/transports/transport.d.ts +0 -8
- package/types/src/core/transports/transport_connection.d.ts +0 -35
- package/types/src/core/transports/transport_connection_options.d.ts +0 -6
- package/types/src/core/transports/transport_hooks.d.ts +0 -13
- package/types/src/core/transports/transport_manager.d.ts +0 -14
- package/types/src/core/transports/transports_table.d.ts +0 -10
- package/types/src/core/transports/url_scheme.d.ts +0 -11
- package/types/src/core/transports/url_schemes.d.ts +0 -4
- package/types/src/core/user.d.ts +0 -21
- package/types/src/core/util.d.ts +0 -8
- package/types/src/core/utils/collections.d.ts +0 -18
- package/types/src/core/utils/factory.d.ts +0 -29
- package/types/src/core/utils/flat_promise.d.ts +0 -6
- package/types/src/core/utils/timers/abstract_timer.d.ts +0 -10
- package/types/src/core/utils/timers/index.d.ts +0 -9
- package/types/src/core/utils/timers/scheduling.d.ts +0 -8
- package/types/src/core/utils/timers/timed_callback.d.ts +0 -4
- package/types/src/core/utils/url_store.d.ts +0 -4
- package/types/src/core/watchlist.d.ts +0 -8
- package/types/src/runtimes/interface.d.ts +0 -43
- package/types/src/runtimes/isomorphic/auth/xhr_auth.d.ts +0 -3
- package/types/src/runtimes/isomorphic/default_strategy.d.ts +0 -5
- package/types/src/runtimes/isomorphic/http/http.d.ts +0 -3
- package/types/src/runtimes/isomorphic/http/http_xhr_request.d.ts +0 -3
- package/types/src/runtimes/isomorphic/runtime.d.ts +0 -2
- package/types/src/runtimes/isomorphic/timeline/xhr_timeline.d.ts +0 -6
- package/types/src/runtimes/isomorphic/transports/transport_connection_initializer.d.ts +0 -1
- package/types/src/runtimes/isomorphic/transports/transports.d.ts +0 -5
- package/types/src/runtimes/node/net_info.d.ts +0 -6
- package/types/src/runtimes/node/runtime.d.ts +0 -3
- package/types/src/runtimes/react-native/net_info.d.ts +0 -8
- package/types/src/runtimes/react-native/runtime.d.ts +0 -3
- package/types/src/runtimes/web/auth/jsonp_auth.d.ts +0 -3
- package/types/src/runtimes/web/browser.d.ts +0 -19
- package/types/src/runtimes/web/default_strategy.d.ts +0 -5
- package/types/src/runtimes/web/dom/dependencies.d.ts +0 -4
- package/types/src/runtimes/web/dom/dependency_loader.d.ts +0 -10
- package/types/src/runtimes/web/dom/jsonp_request.d.ts +0 -10
- package/types/src/runtimes/web/dom/script_receiver.d.ts +0 -7
- package/types/src/runtimes/web/dom/script_receiver_factory.d.ts +0 -10
- package/types/src/runtimes/web/dom/script_request.d.ts +0 -9
- package/types/src/runtimes/web/http/http.d.ts +0 -2
- package/types/src/runtimes/web/http/http_xdomain_request.d.ts +0 -3
- package/types/src/runtimes/web/net_info.d.ts +0 -7
- package/types/src/runtimes/web/runtime.d.ts +0 -3
- package/types/src/runtimes/web/timeline/jsonp_timeline.d.ts +0 -6
- package/types/src/runtimes/web/transports/transport_connection_initializer.d.ts +0 -1
- package/types/src/runtimes/web/transports/transports.d.ts +0 -2
- package/types/src/runtimes/worker/auth/fetch_auth.d.ts +0 -3
- package/types/src/runtimes/worker/net_info.d.ts +0 -6
- package/types/src/runtimes/worker/runtime.d.ts +0 -3
- package/types/src/runtimes/worker/timeline/fetch_timeline.d.ts +0 -6
- package/webpack/config.node.js +0 -26
- package/webpack/config.react-native.js +0 -35
- package/webpack/config.shared.js +0 -50
- package/webpack/config.web.js +0 -36
- package/webpack/config.worker.js +0 -42
- package/webpack/dev.server.js +0 -17
- package/webpack/hosting_config.js +0 -6
- package/with-encryption/index.d.ts +0 -29
- package/with-encryption/index.js +0 -4
- package/worker/index.d.ts +0 -29
- package/worker/index.js +0 -1
- package/worker/with-encryption/index.d.ts +0 -29
- package/worker/with-encryption/index.js +0 -1
package/index.js
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { Socket } from "phoenix";
|
|
2
|
+
|
|
3
|
+
export class Pingerchips {
|
|
4
|
+
constructor(appKey, options = {}) {
|
|
5
|
+
this.key = appKey;
|
|
6
|
+
this.options = options;
|
|
7
|
+
this.socket = null;
|
|
8
|
+
this.channels = {};
|
|
9
|
+
this.socketId = null;
|
|
10
|
+
this.authInfo = options.authInfo || {}; // Store auth_info from constructor
|
|
11
|
+
|
|
12
|
+
this.connect();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
connect() {
|
|
16
|
+
const params = { app_key: this.key, ...this.options.params };
|
|
17
|
+
const endpoint =
|
|
18
|
+
this.options.endpoint || this.options.debug === "false"
|
|
19
|
+
? "wss://pinger-processor.pingerchips.com/socket"
|
|
20
|
+
: "ws://localhost:4000/socket";
|
|
21
|
+
|
|
22
|
+
this.socket = new Socket(endpoint, { params });
|
|
23
|
+
this.socket.connect();
|
|
24
|
+
|
|
25
|
+
this.socket.onOpen(() => {
|
|
26
|
+
console.log("Pingerchips connected");
|
|
27
|
+
// Store socket ID when connection is established
|
|
28
|
+
// Phoenix socket uses a ref-based ID system
|
|
29
|
+
this.socketId = this.socket.connectionState();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
this.socket.onClose(() => {
|
|
33
|
+
console.log("Pingerchips disconnected");
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async subscribe(channelName) {
|
|
38
|
+
if (this.channels[channelName]) {
|
|
39
|
+
return this.channels[channelName];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Topic format: "app:{app_key}:room:{channel_name}"
|
|
43
|
+
const topic = `app:${this.key}:room:${channelName}`;
|
|
44
|
+
|
|
45
|
+
// Check if authentication is needed
|
|
46
|
+
const isPrivate = channelName.startsWith("private-");
|
|
47
|
+
const isPresence = channelName.startsWith("presence-");
|
|
48
|
+
|
|
49
|
+
let joinParams = {};
|
|
50
|
+
|
|
51
|
+
if (isPrivate || isPresence) {
|
|
52
|
+
// Need to authenticate via user's auth endpoint
|
|
53
|
+
if (!this.options.authEndpoint) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
"authEndpoint must be configured for private/presence channels"
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
try {
|
|
60
|
+
const authData = await this.authenticate(channelName);
|
|
61
|
+
joinParams = authData;
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error(`Failed to authenticate for ${channelName}:`, error);
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const channel = this.socket.channel(topic, joinParams);
|
|
69
|
+
|
|
70
|
+
channel
|
|
71
|
+
.join()
|
|
72
|
+
.receive("ok", (resp) => {
|
|
73
|
+
console.log(`Joined ${channelName} successfully`, resp);
|
|
74
|
+
})
|
|
75
|
+
.receive("error", (resp) => {
|
|
76
|
+
console.log(`Unable to join ${channelName}`, resp);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
const wrapper = new ChannelWrapper(channel);
|
|
80
|
+
this.channels[channelName] = wrapper;
|
|
81
|
+
return wrapper;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async authenticate(channelName) {
|
|
85
|
+
// Call user's auth endpoint with socket_id, channel_name, and auth_info
|
|
86
|
+
// User's server will use Pingerchips.authenticate() to sign the data
|
|
87
|
+
const socketId = this.getSocketId();
|
|
88
|
+
|
|
89
|
+
const body = {
|
|
90
|
+
socket_id: socketId,
|
|
91
|
+
channel_name: channelName,
|
|
92
|
+
auth_info: this.authInfo,
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const response = await fetch(this.options.authEndpoint, {
|
|
96
|
+
method: "POST",
|
|
97
|
+
headers: {
|
|
98
|
+
"Content-Type": "application/json",
|
|
99
|
+
...this.options.authHeaders,
|
|
100
|
+
},
|
|
101
|
+
body: JSON.stringify(body),
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
if (!response.ok) {
|
|
105
|
+
const error = await response
|
|
106
|
+
.json()
|
|
107
|
+
.catch(() => ({ error: "Authentication failed" }));
|
|
108
|
+
throw new Error(error.error || "Authentication failed");
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Expected response from user's server: { auth: "app_key:signature", channel_data: "..." }
|
|
112
|
+
return await response.json();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
getSocketId() {
|
|
116
|
+
// Phoenix socket generates a unique ref for each connection
|
|
117
|
+
// We can use the socket's internal state or generate a compatible ID
|
|
118
|
+
// For now, use a simple approach: use the socket's makeRef() output
|
|
119
|
+
if (!this.socketId) {
|
|
120
|
+
this.socketId = `socket-${Date.now()}-${Math.random()
|
|
121
|
+
.toString(36)
|
|
122
|
+
.substring(2, 11)}`;
|
|
123
|
+
}
|
|
124
|
+
return this.socketId;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
getHttpEndpoint() {
|
|
128
|
+
const wsEndpoint = this.options.endpoint || "ws://localhost:4000/socket";
|
|
129
|
+
// Convert ws:// to http:// and wss:// to https://
|
|
130
|
+
return wsEndpoint
|
|
131
|
+
.replace("ws://", "http://")
|
|
132
|
+
.replace("wss://", "https://")
|
|
133
|
+
.replace("/socket", "");
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
unsubscribe(channelName) {
|
|
137
|
+
if (this.channels[channelName]) {
|
|
138
|
+
this.channels[channelName].leave();
|
|
139
|
+
delete this.channels[channelName];
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
class ChannelWrapper {
|
|
145
|
+
constructor(channel) {
|
|
146
|
+
this.channel = channel;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
bind(eventName, callback) {
|
|
150
|
+
this.channel.on(eventName, callback);
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
unbind(eventName) {
|
|
155
|
+
this.channel.off(eventName);
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
trigger(eventName, data) {
|
|
160
|
+
this.channel.push(eventName, data);
|
|
161
|
+
return this;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
leave() {
|
|
165
|
+
this.channel.leave();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export default Pingerchips;
|
package/package.json
CHANGED
|
@@ -1,70 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pingerchips-js",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Pingerchips
|
|
5
|
-
"main": "
|
|
6
|
-
"
|
|
7
|
-
"react-native": "dist/react-native/pusher.js",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "Pingerchips JavaScript client SDK for real-time WebSocket connections",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"type": "module",
|
|
8
7
|
"scripts": {
|
|
9
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
10
|
-
"format": "prettier --config .prettierrc --write 'src/**/*.ts' 'webpack/**/*.js'",
|
|
11
|
-
"check-format": "prettier --config .prettierrc --check 'src/**/*.ts' 'webpack/**/*.js'"
|
|
12
|
-
},
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "https://github.com/sahilpohare/pingerchips-js-client"
|
|
8
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
16
9
|
},
|
|
17
10
|
"keywords": [
|
|
18
|
-
"
|
|
19
|
-
"client",
|
|
11
|
+
"pingerchips",
|
|
20
12
|
"websocket",
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"pubsub"
|
|
13
|
+
"realtime",
|
|
14
|
+
"phoenix",
|
|
15
|
+
"channels",
|
|
16
|
+
"pusher"
|
|
26
17
|
],
|
|
27
18
|
"author": "Pingerchips",
|
|
28
19
|
"license": "MIT",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"phoenix": "^1.7.0"
|
|
31
22
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
"@stablelib/base64": "^1.0.0",
|
|
36
|
-
"@stablelib/utf8": "^1.0.0",
|
|
37
|
-
"buffer": "^5.6.0",
|
|
38
|
-
"faye-websocket": "^0.11.3",
|
|
39
|
-
"fetch-mock": "git+https://git@github.com/jpatel531/fetch-mock.git",
|
|
40
|
-
"isomorphic-fetch": "^3.0.0",
|
|
41
|
-
"jasmine": "^4.5.0",
|
|
42
|
-
"jasmine-spec-reporter": "^7.0.0",
|
|
43
|
-
"karma": "^6.4.1",
|
|
44
|
-
"karma-browserstack-launcher": "^1.6.0",
|
|
45
|
-
"karma-chrome-launcher": "^3.1.0",
|
|
46
|
-
"karma-firefox-launcher": "^2.1.1",
|
|
47
|
-
"karma-jasmine": "^4.0.1",
|
|
48
|
-
"karma-jasmine-web-worker": "git+https://git@github.com/pusher/karma-jasmine-web-worker.git#jasmine_3",
|
|
49
|
-
"karma-opera-launcher": "^1.0.0",
|
|
50
|
-
"karma-safari-launcher": "^1.0.0",
|
|
51
|
-
"karma-spec-reporter": "0.0.32",
|
|
52
|
-
"karma-verbose-reporter": "0.0.6",
|
|
53
|
-
"karma-webpack": "^4.0.2",
|
|
54
|
-
"prettier": "^1.19.1",
|
|
55
|
-
"source-map-loader": "^1.1.3",
|
|
56
|
-
"ts-loader": "^6.0.4",
|
|
57
|
-
"typescript": "^5.1.3",
|
|
58
|
-
"uglify-js": "^2.6.2",
|
|
59
|
-
"webpack": "^4.46.0",
|
|
60
|
-
"webpack-cli": "^3.3.12",
|
|
61
|
-
"webpack-dev-server": "^4.11.1",
|
|
62
|
-
"webpack-merge": "^5.8.0",
|
|
63
|
-
"xmlhttprequest": "^1.8.0",
|
|
64
|
-
"@types/node": "^20.3.0",
|
|
65
|
-
"@types/express-serve-static-core": "4.17.28"
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/pingerchips/pingerchips-js"
|
|
66
26
|
},
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
}
|
|
70
|
-
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/pingerchips/pingerchips-js/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://pingerchips.com"
|
|
31
|
+
}
|
package/.editorconfig
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# EditorConfig is awesome: http://EditorConfig.org
|
|
2
|
-
|
|
3
|
-
# top-most EditorConfig file
|
|
4
|
-
root = true
|
|
5
|
-
|
|
6
|
-
# Unix-style newlines with a newline ending every file
|
|
7
|
-
[*]
|
|
8
|
-
end_of_line = lf
|
|
9
|
-
insert_final_newline = true
|
|
10
|
-
|
|
11
|
-
[*.js]
|
|
12
|
-
charset = utf-8
|
|
13
|
-
indent_style = space
|
|
14
|
-
indent_size = 2
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
**Do you want to request a *feature* or report a *bug*?**
|
|
2
|
-
|
|
3
|
-
**What is the current behavior?**
|
|
4
|
-
|
|
5
|
-
**If the current behavior is a bug, please provide the steps to reproduce and
|
|
6
|
-
if possible a minimal demo of the problem via https://jsfiddle.net or similar.**
|
|
7
|
-
|
|
8
|
-
**What is the expected behavior?**
|
|
9
|
-
|
|
10
|
-
**Which versions of Pusher, and which browsers / OS are affected by this issue?
|
|
11
|
-
Did this work in previous versions of Pusher? If so, which?**
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
## What does this PR do?
|
|
2
|
-
|
|
3
|
-
[Description here]
|
|
4
|
-
|
|
5
|
-
## Checklist
|
|
6
|
-
|
|
7
|
-
- [ ] All new functionality has tests.
|
|
8
|
-
- [ ] All tests are passing.
|
|
9
|
-
- [ ] New or changed API methods have been documented.
|
|
10
|
-
- [ ] `npm run format` has been run
|
|
11
|
-
|
|
12
|
-
## CHANGELOG
|
|
13
|
-
|
|
14
|
-
- [CHANGED] Describe your change here. Look at CHANGELOG.md to see the format.
|
package/.github/dependabot.yml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
-
# package ecosystems to update and where the package manifests are located.
|
|
3
|
-
# Please see the documentation for all configuration options:
|
|
4
|
-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
|
5
|
-
|
|
6
|
-
version: 2
|
|
7
|
-
updates:
|
|
8
|
-
- package-ecosystem: "npm"
|
|
9
|
-
directory: "/" # Location of package manifests
|
|
10
|
-
schedule:
|
|
11
|
-
interval: "weekly"
|
|
12
|
-
# Always increase the version requirement
|
|
13
|
-
# to match the new version.
|
|
14
|
-
versioning-strategy: increase
|
package/.github/stale.yml
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Configuration for probot-stale - https://github.com/probot/stale
|
|
2
|
-
|
|
3
|
-
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
|
4
|
-
daysUntilStale: 90
|
|
5
|
-
|
|
6
|
-
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
|
|
7
|
-
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
|
|
8
|
-
daysUntilClose: 7
|
|
9
|
-
|
|
10
|
-
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
|
|
11
|
-
onlyLabels: []
|
|
12
|
-
|
|
13
|
-
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
|
|
14
|
-
exemptLabels:
|
|
15
|
-
- pinned
|
|
16
|
-
- security
|
|
17
|
-
|
|
18
|
-
# Set to true to ignore issues with an assignee (defaults to false)
|
|
19
|
-
exemptAssignees: true
|
|
20
|
-
|
|
21
|
-
# Comment to post when marking as stale. Set to `false` to disable
|
|
22
|
-
markComment: >
|
|
23
|
-
This issue has been automatically marked as stale because it has not had
|
|
24
|
-
recent activity. It will be closed if no further activity occurs. If you'd
|
|
25
|
-
like this issue to stay open please leave a comment indicating how this issue
|
|
26
|
-
is affecting you. Thank you.
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
on:
|
|
2
|
-
push:
|
|
3
|
-
branches: [ master ]
|
|
4
|
-
|
|
5
|
-
jobs:
|
|
6
|
-
check-release-tag:
|
|
7
|
-
runs-on: ubuntu-latest
|
|
8
|
-
steps:
|
|
9
|
-
- name: Checkout code
|
|
10
|
-
uses: actions/checkout@v2
|
|
11
|
-
with:
|
|
12
|
-
fetch-depth: 0
|
|
13
|
-
- name: Prepare tag
|
|
14
|
-
id: prepare_tag
|
|
15
|
-
continue-on-error: true
|
|
16
|
-
run: |
|
|
17
|
-
export TAG=v$(jq -r '.version' package.json)
|
|
18
|
-
echo "TAG=$TAG" >> $GITHUB_ENV
|
|
19
|
-
|
|
20
|
-
export CHECK_TAG=$(git tag | grep $TAG)
|
|
21
|
-
if [[ $CHECK_TAG ]]; then
|
|
22
|
-
echo "Skipping because release tag already exists"
|
|
23
|
-
exit 1
|
|
24
|
-
fi
|
|
25
|
-
- name: Output
|
|
26
|
-
id: release_output
|
|
27
|
-
if: ${{ steps.prepare_tag.outcome == 'success' }}
|
|
28
|
-
run: |
|
|
29
|
-
echo "::set-output name=tag::${{ env.TAG }}"
|
|
30
|
-
outputs:
|
|
31
|
-
tag: ${{ steps.release_output.outputs.tag }}
|
|
32
|
-
|
|
33
|
-
create-github-release:
|
|
34
|
-
runs-on: ubuntu-latest
|
|
35
|
-
needs: check-release-tag
|
|
36
|
-
if: ${{ needs.check-release-tag.outputs.tag }}
|
|
37
|
-
steps:
|
|
38
|
-
- uses: actions/checkout@v2
|
|
39
|
-
- name: Prepare tag
|
|
40
|
-
run: |
|
|
41
|
-
export TAG=v$(jq -r '.version' package.json)
|
|
42
|
-
echo "TAG=$TAG" >> $GITHUB_ENV
|
|
43
|
-
- name: Setup git
|
|
44
|
-
run: |
|
|
45
|
-
git config user.email "pusher-ci@pusher.com"
|
|
46
|
-
git config user.name "Pusher CI"
|
|
47
|
-
- name: Prepare description
|
|
48
|
-
run: |
|
|
49
|
-
csplit -s CHANGELOG.md "/##/" {1}
|
|
50
|
-
cat xx01 > CHANGELOG.tmp
|
|
51
|
-
- name: Create Release
|
|
52
|
-
uses: actions/create-release@v1
|
|
53
|
-
env:
|
|
54
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
-
with:
|
|
56
|
-
tag_name: ${{ env.TAG }}
|
|
57
|
-
release_name: ${{ env.TAG }}
|
|
58
|
-
body_path: CHANGELOG.tmp
|
|
59
|
-
draft: false
|
|
60
|
-
prerelease: false
|
|
61
|
-
|
|
62
|
-
publish-to-npm:
|
|
63
|
-
runs-on: ubuntu-latest
|
|
64
|
-
needs: create-github-release
|
|
65
|
-
steps:
|
|
66
|
-
- uses: actions/checkout@v2
|
|
67
|
-
- uses: flood-io/is-published-on-npm@8478347e2650eb228d303975415458183d0a37e4
|
|
68
|
-
id: is-published
|
|
69
|
-
- run: echo "This version is already published on NPM"
|
|
70
|
-
if: ${{ steps.is-published.outputs.published == 'true' }}
|
|
71
|
-
- uses: actions/setup-node@v2
|
|
72
|
-
if: ${{ steps.is-published.outputs.published == 'false' }}
|
|
73
|
-
with:
|
|
74
|
-
node-version: '16'
|
|
75
|
-
registry-url: https://registry.npmjs.org/
|
|
76
|
-
- run: npm install
|
|
77
|
-
if: ${{ steps.is-published.outputs.published == 'false' }}
|
|
78
|
-
- run: npm publish --access public
|
|
79
|
-
if: ${{ steps.is-published.outputs.published == 'false' }}
|
|
80
|
-
env:
|
|
81
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
82
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
83
|
-
|
|
84
|
-
upload-to-s3:
|
|
85
|
-
runs-on: ubuntu-latest
|
|
86
|
-
needs: create-github-release
|
|
87
|
-
steps:
|
|
88
|
-
- uses: actions/checkout@v2
|
|
89
|
-
- name: Upload to S3
|
|
90
|
-
run: |
|
|
91
|
-
VERSION=$(jq -r '.version' package.json | cut -d'.' -f1,2,3)
|
|
92
|
-
VERSION_MIN=$(jq -r '.version' package.json | cut -d'.' -f1,2)
|
|
93
|
-
|
|
94
|
-
egrep -o '^[0-9]+\.[0-9]+\.[0-9]+' <<< $VERSION
|
|
95
|
-
|
|
96
|
-
aws s3 sync dist/web/ s3://${BUCKET_NAME}/latest/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
97
|
-
aws s3 sync dist/worker/ s3://${BUCKET_NAME}/latest/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
98
|
-
|
|
99
|
-
aws s3 sync dist/web/ s3://${BUCKET_NAME}/${VERSION}/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
100
|
-
aws s3 sync dist/worker/ s3://${BUCKET_NAME}/${VERSION}/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
101
|
-
|
|
102
|
-
aws s3 sync dist/web/ s3://${BUCKET_NAME}/${VERSION_MIN}/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
103
|
-
aws s3 sync dist/worker/ s3://${BUCKET_NAME}/${VERSION_MIN}/ --acl public-read --cache-control max-age=$MAX_AGE
|
|
104
|
-
|
|
105
|
-
aws cloudfront create-invalidation --distribution-id ${CLOUDFRONT_DISTRIBUTION_ID} --paths "/latest/*" "/${VERSION}/*" "/${VERSION_MIN}/*"
|
|
106
|
-
env:
|
|
107
|
-
MAX_AGE: 2592000
|
|
108
|
-
BUCKET_NAME: ${{ secrets.BUCKET_NAME }}
|
|
109
|
-
AWS_ACCESS_KEY_ID: ${{ secrets.PUSHERINOS_AWS_ACCESS_KEY_ID }}
|
|
110
|
-
AWS_SECRET_ACCESS_KEY: ${{ secrets.PUSHERINOS_AWS_SECRET_ACCESS_KEY }}
|
|
111
|
-
AWS_DEFAULT_REGION: eu-west-2
|
|
112
|
-
CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
name: release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
types: [ labeled ]
|
|
6
|
-
branches:
|
|
7
|
-
- master
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
prepare-release:
|
|
11
|
-
name: Prepare release
|
|
12
|
-
runs-on: ubuntu-latest
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@v2
|
|
15
|
-
- name: Get current version
|
|
16
|
-
shell: bash
|
|
17
|
-
run: |
|
|
18
|
-
CURRENT_VERSION=$(jq -r '.version' package.json)
|
|
19
|
-
echo "CURRENT_VERSION=$CURRENT_VERSION" >> $GITHUB_ENV
|
|
20
|
-
- uses: actions/checkout@v2
|
|
21
|
-
with:
|
|
22
|
-
repository: pusher/public_actions
|
|
23
|
-
path: .github/actions
|
|
24
|
-
- uses: ./.github/actions/prepare-version-bump
|
|
25
|
-
id: bump
|
|
26
|
-
with:
|
|
27
|
-
current_version: ${{ env.CURRENT_VERSION }}
|
|
28
|
-
- uses: actions/setup-node@v2
|
|
29
|
-
with:
|
|
30
|
-
node-version: '16'
|
|
31
|
-
- run: npm install
|
|
32
|
-
- name: Push
|
|
33
|
-
shell: bash
|
|
34
|
-
run: |
|
|
35
|
-
echo "$(jq '.version = "${{ steps.bump.outputs.new_version }}"' package.json)" > package.json
|
|
36
|
-
|
|
37
|
-
make build_all
|
|
38
|
-
|
|
39
|
-
git status
|
|
40
|
-
|
|
41
|
-
git add package.json package-lock.json CHANGELOG.md dist/ types/
|
|
42
|
-
git commit -m "Bump to version ${{ steps.bump.outputs.new_version }}"
|
|
43
|
-
git push
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
name: test
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- '*'
|
|
6
|
-
pull_request:
|
|
7
|
-
branches:
|
|
8
|
-
- master
|
|
9
|
-
jobs:
|
|
10
|
-
run-web-tests:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
env:
|
|
13
|
-
CI: ${{ github.event_name == 'push' && 'basic' || 'full' }}
|
|
14
|
-
MINIMAL_INTEGRATION_TESTS: ${{ github.event_name == 'push' && 'true' || '' }}
|
|
15
|
-
steps:
|
|
16
|
-
- uses: actions/checkout@v2
|
|
17
|
-
- uses: actions/setup-node@v2
|
|
18
|
-
with:
|
|
19
|
-
node-version: '16'
|
|
20
|
-
- run: npm install
|
|
21
|
-
- run: npm run check-format
|
|
22
|
-
- run: make web_unit
|
|
23
|
-
- name: make web_integration
|
|
24
|
-
run: |
|
|
25
|
-
cd integration_tests_server
|
|
26
|
-
npm install
|
|
27
|
-
node index.js&
|
|
28
|
-
cd ..
|
|
29
|
-
make web_integration
|
|
30
|
-
env:
|
|
31
|
-
INTEGRATION_TESTS_APP_MT1_APP_ID: ${{ secrets.INTEGRATION_TESTS_APP_MT1_APP_ID }}
|
|
32
|
-
INTEGRATION_TESTS_APP_MT1_KEY: ${{ secrets.INTEGRATION_TESTS_APP_MT1_KEY }}
|
|
33
|
-
INTEGRATION_TESTS_APP_MT1_SECRET: ${{ secrets.INTEGRATION_TESTS_APP_MT1_SECRET }}
|
|
34
|
-
INTEGRATION_TESTS_APP_EU_APP_ID: ${{ secrets.INTEGRATION_TESTS_APP_EU_APP_ID }}
|
|
35
|
-
INTEGRATION_TESTS_APP_EU_KEY: ${{ secrets.INTEGRATION_TESTS_APP_EU_KEY }}
|
|
36
|
-
INTEGRATION_TESTS_APP_EU_SECRET: ${{ secrets.INTEGRATION_TESTS_APP_EU_SECRET }}
|
|
37
|
-
BROWSER_STACK_ACCESS_KEY: ${{ secrets.BROWSER_STACK_ACCESS_KEY }}
|
|
38
|
-
BROWSER_STACK_USERNAME: ${{ secrets.BROWSER_STACK_USERNAME }}
|
|
39
|
-
run-node-tests:
|
|
40
|
-
runs-on: ubuntu-latest
|
|
41
|
-
steps:
|
|
42
|
-
- uses: actions/checkout@v2
|
|
43
|
-
- uses: actions/setup-node@v2
|
|
44
|
-
with:
|
|
45
|
-
node-version: '16'
|
|
46
|
-
- run: npm install
|
|
47
|
-
- run: npm run check-format
|
|
48
|
-
- run: make node_unit
|
|
49
|
-
- name: make node_integration
|
|
50
|
-
run: |
|
|
51
|
-
cd integration_tests_server
|
|
52
|
-
npm install
|
|
53
|
-
node index.js&
|
|
54
|
-
cd ..
|
|
55
|
-
make node_integration
|
|
56
|
-
env:
|
|
57
|
-
INTEGRATION_TESTS_APP_MT1_APP_ID: ${{ secrets.INTEGRATION_TESTS_APP_MT1_APP_ID }}
|
|
58
|
-
INTEGRATION_TESTS_APP_MT1_KEY: ${{ secrets.INTEGRATION_TESTS_APP_MT1_KEY }}
|
|
59
|
-
INTEGRATION_TESTS_APP_MT1_SECRET: ${{ secrets.INTEGRATION_TESTS_APP_MT1_SECRET }}
|
|
60
|
-
INTEGRATION_TESTS_APP_EU_APP_ID: ${{ secrets.INTEGRATION_TESTS_APP_EU_APP_ID }}
|
|
61
|
-
INTEGRATION_TESTS_APP_EU_KEY: ${{ secrets.INTEGRATION_TESTS_APP_EU_KEY }}
|
|
62
|
-
INTEGRATION_TESTS_APP_EU_SECRET: ${{ secrets.INTEGRATION_TESTS_APP_EU_SECRET }}
|
package/.gitmodules
DELETED
package/.prettierrc
DELETED