pusher-js 7.0.0 → 7.0.4

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.
Files changed (109) hide show
  1. package/.github/stale.yml +26 -0
  2. package/.github/workflows/release.yml +112 -0
  3. package/.github/workflows/release_pr.yml +42 -0
  4. package/.github/workflows/run-tests.yml +38 -0
  5. package/.vscode/settings.json +31 -0
  6. package/CHANGELOG.md +29 -0
  7. package/Makefile +17 -12
  8. package/README.md +28 -0
  9. package/dist/node/pusher.js +87 -45
  10. package/dist/node/pusher.js.map +1 -0
  11. package/dist/react-native/pusher.js +3 -2
  12. package/dist/react-native/pusher.js.map +1 -0
  13. package/dist/web/pusher-with-encryption.js +9 -6
  14. package/dist/web/pusher-with-encryption.js.map +1 -0
  15. package/dist/web/pusher-with-encryption.min.js +3 -2
  16. package/dist/web/pusher-with-encryption.min.js.map +1 -0
  17. package/dist/web/pusher.js +9 -6
  18. package/dist/web/pusher.js.map +1 -0
  19. package/dist/web/pusher.min.js +3 -2
  20. package/dist/web/pusher.min.js.map +1 -0
  21. package/dist/worker/pusher-with-encryption.worker.js +9 -6
  22. package/dist/worker/pusher-with-encryption.worker.js.map +1 -0
  23. package/dist/worker/pusher-with-encryption.worker.min.js +3 -2
  24. package/dist/worker/pusher-with-encryption.worker.min.js.map +1 -0
  25. package/dist/worker/pusher.worker.js +9 -6
  26. package/dist/worker/pusher.worker.js.map +1 -0
  27. package/dist/worker/pusher.worker.min.js +3 -2
  28. package/dist/worker/pusher.worker.min.js.map +1 -0
  29. package/package.json +17 -15
  30. package/react-native/index.d.ts +7 -8
  31. package/spec/config/jasmine/helpers/reporter.js +14 -0
  32. package/spec/config/jasmine/integration.json +13 -0
  33. package/spec/config/jasmine/unit.json +13 -0
  34. package/spec/config/{jasmine-node → jasmine}/webpack.integration.js +4 -4
  35. package/spec/config/{jasmine-node → jasmine}/webpack.unit.js +4 -6
  36. package/spec/config/karma/config.common.js +10 -4
  37. package/spec/config/karma/config.integration.js +4 -4
  38. package/spec/config/karma/config.unit.js +5 -7
  39. package/spec/config/karma/integration.js +3 -3
  40. package/spec/config/karma/unit.js +2 -2
  41. package/spec/javascripts/helpers/mocks.js +18 -18
  42. package/spec/javascripts/helpers/waitsFor.js +37 -0
  43. package/spec/javascripts/integration/core/cluster_config_spec.js +45 -34
  44. package/spec/javascripts/integration/core/falling_back_spec.js +124 -127
  45. package/spec/javascripts/integration/core/pusher_spec/test_builder.js +264 -284
  46. package/spec/javascripts/integration/core/timeout_configuration_spec.js +24 -22
  47. package/spec/javascripts/integration/core/transport_lists_spec.js +8 -8
  48. package/spec/javascripts/integration/web/dom/jsonp_spec.js +67 -69
  49. package/spec/javascripts/integration/web/dom/script_request_spec.js +44 -52
  50. package/spec/javascripts/unit/core/channels/channel_spec.js +32 -19
  51. package/spec/javascripts/unit/core/channels/encrypted_channel_spec.js +9 -17
  52. package/spec/javascripts/unit/core/channels/presence_channel_spec.js +8 -19
  53. package/spec/javascripts/unit/core/channels/private_channel_spec.js +9 -19
  54. package/spec/javascripts/unit/core/config_spec.js +2 -2
  55. package/spec/javascripts/unit/core/connection/connection_manager_spec.js +69 -63
  56. package/spec/javascripts/unit/core/connection/connection_spec.js +14 -13
  57. package/spec/javascripts/unit/core/connection/handshake_spec.js +14 -12
  58. package/spec/javascripts/unit/core/connection/protocol_spec.js +9 -4
  59. package/spec/javascripts/unit/core/defaults_spec.js +1 -1
  60. package/spec/javascripts/unit/core/events_dispatcher_spec.js +20 -20
  61. package/spec/javascripts/unit/core/http/http_polling_socket_spec.js +4 -4
  62. package/spec/javascripts/unit/core/http/http_request_spec.js +20 -17
  63. package/spec/javascripts/unit/core/http/http_socket_spec.js +35 -32
  64. package/spec/javascripts/unit/core/http/http_streaming_socket_spec.js +4 -4
  65. package/spec/javascripts/unit/core/http/http_xhr_request_spec.js +13 -13
  66. package/spec/javascripts/unit/core/pusher_authorizer_spec.js +11 -11
  67. package/spec/javascripts/unit/core/pusher_spec.js +41 -27
  68. package/spec/javascripts/unit/core/strategies/best_connected_ever_strategy_spec.js +5 -5
  69. package/spec/javascripts/unit/core/strategies/cached_strategy_spec.js +17 -13
  70. package/spec/javascripts/unit/core/strategies/delayed_strategy_spec.js +12 -8
  71. package/spec/javascripts/unit/core/strategies/sequential_strategy_spec.js +23 -19
  72. package/spec/javascripts/unit/core/strategies/transport_strategy_spec.js +22 -24
  73. package/spec/javascripts/unit/core/timeline/timeline_spec.js +16 -9
  74. package/spec/javascripts/unit/core/transports/assistant_to_the_transport_manager_spec.js +36 -22
  75. package/spec/javascripts/unit/core/transports/hosts_and_ports_spec.js +10 -10
  76. package/spec/javascripts/unit/core/transports/transport_connection_spec.js +81 -86
  77. package/spec/javascripts/unit/core/transports/transport_manager_spec.js +1 -1
  78. package/spec/javascripts/unit/core/utils/periodic_timer_spec.js +17 -16
  79. package/spec/javascripts/unit/core/utils/timers_spec.js +32 -26
  80. package/spec/javascripts/unit/isomorphic/transports/hosts_and_ports_spec.js +12 -8
  81. package/spec/javascripts/unit/isomorphic/transports/transports_spec.js +7 -7
  82. package/spec/javascripts/unit/node/timeline_sender_spec.js +5 -5
  83. package/spec/javascripts/unit/web/dom/dependency_loader_spec.js +30 -30
  84. package/spec/javascripts/unit/web/dom/jsonp_request_spec.js +7 -7
  85. package/spec/javascripts/unit/web/http/http_xdomain_request_spec.js +22 -22
  86. package/spec/javascripts/unit/web/pusher_authorizer_spec.js +3 -3
  87. package/spec/javascripts/unit/web/timeline/timeline_sender_spec.js +12 -12
  88. package/spec/javascripts/unit/web/transports/hosts_and_ports_spec.js +15 -12
  89. package/spec/javascripts/unit/web/transports/transports_spec.js +24 -26
  90. package/spec/javascripts/unit/worker/pusher_authorizer_spec.js +2 -2
  91. package/spec/javascripts/unit/worker/timeline_sender_spec.js +2 -2
  92. package/src/core/auth/options.ts +1 -0
  93. package/src/core/channels/channel.ts +1 -0
  94. package/src/core/pusher.ts +1 -1
  95. package/tags +393 -0
  96. package/types/src/core/auth/options.d.ts +1 -0
  97. package/webpack/config.node.js +2 -2
  98. package/webpack/config.react-native.js +2 -2
  99. package/webpack/config.shared.js +9 -1
  100. package/webpack/config.web.js +2 -2
  101. package/webpack/config.worker.js +2 -2
  102. package/with-encryption/index.d.ts +0 -1
  103. package/worker/index.d.ts +15 -0
  104. package/worker/index.js +1 -0
  105. package/worker/with-encryption/index.d.ts +15 -0
  106. package/worker/with-encryption/index.js +1 -0
  107. package/.travis.build +0 -22
  108. package/.travis.yml +0 -7
  109. package/spec/config/jasmine-node/config.js +0 -10
@@ -17,6 +17,7 @@ export interface AuthorizerGenerator {
17
17
  }
18
18
  export interface AuthorizerOptions {
19
19
  authTransport: 'ajax' | 'jsonp';
20
+ authEndpoint: string;
20
21
  auth?: AuthOptions;
21
22
  authorizer?: AuthorizerGenerator;
22
23
  }
@@ -1,9 +1,9 @@
1
1
  var path = require('path');
2
- var objectAssign = require('object-assign-deep');
2
+ const { merge } = require('webpack-merge');
3
3
  var configShared = require('./config.shared');
4
4
  var webpack = require('webpack');
5
5
 
6
- module.exports = objectAssign({}, configShared, {
6
+ module.exports = merge({}, configShared, {
7
7
  entry: {
8
8
  pusher: './src/core/pusher-with-encryption.js'
9
9
  },
@@ -2,12 +2,12 @@ var path = require('path');
2
2
  var NormalModuleReplacementPlugin = require('webpack')
3
3
  .NormalModuleReplacementPlugin;
4
4
  var version = require('../package').version;
5
- var objectAssign = require('object-assign-deep');
5
+ const { merge } = require('webpack-merge');
6
6
  var configShared = require('./config.shared');
7
7
  var webpack = require('webpack');
8
8
  var buffer = require('buffer');
9
9
 
10
- module.exports = objectAssign({}, configShared, {
10
+ module.exports = merge({}, configShared, {
11
11
  entry: {
12
12
  pusher: './src/core/pusher-with-encryption.js'
13
13
  },
@@ -16,13 +16,21 @@ module.exports = {
16
16
  entry: {
17
17
  pusher: './src/core/pusher.js'
18
18
  },
19
+ devtool: 'source-map',
19
20
  resolve: {
20
21
  extensions: ['.webpack.js', '.web.js', '.ts', '.js'],
21
22
  // add runtimes for easier importing of isomorphic runtime modules
22
23
  modules: ['src', 'src/runtimes', 'node_modules']
23
24
  },
24
25
  module: {
25
- rules: [{ test: /\.ts$/, loader: 'ts-loader' }]
26
+ rules: [
27
+ { test: /\.ts$/, loader: 'ts-loader' },
28
+ {
29
+ test: /\.js$/,
30
+ enforce: 'pre',
31
+ use: ['source-map-loader']
32
+ }
33
+ ]
26
34
  },
27
35
  node: {
28
36
  // nacl uses Buffer on node.js but has a different code path for the browser.
@@ -1,7 +1,7 @@
1
1
  var path = require('path');
2
2
  var webpack = require('webpack');
3
3
  var NormalModuleReplacementPlugin = webpack.NormalModuleReplacementPlugin;
4
- var objectAssign = require('object-assign-deep');
4
+ const { merge } = require('webpack-merge');
5
5
  var configShared = require('./config.shared');
6
6
 
7
7
  var filename = configShared.optimization.minimize
@@ -14,7 +14,7 @@ if (process.env.INCLUDE_TWEETNACL === 'true') {
14
14
  filename = filename.replace('pusher', 'pusher-with-encryption');
15
15
  }
16
16
 
17
- module.exports = objectAssign({}, configShared, {
17
+ module.exports = merge({}, configShared, {
18
18
  entry: {
19
19
  pusher: entry
20
20
  },
@@ -2,7 +2,7 @@ var path = require('path');
2
2
  var NormalModuleReplacementPlugin = require('webpack')
3
3
  .NormalModuleReplacementPlugin;
4
4
  var version = require('../package').version;
5
- var objectAssign = require('object-assign-deep');
5
+ const { merge } = require('webpack-merge');
6
6
  var webpack = require('webpack');
7
7
  var configShared = require('./config.shared');
8
8
 
@@ -16,7 +16,7 @@ if (process.env.INCLUDE_TWEETNACL === 'true') {
16
16
  filename = filename.replace('pusher', 'pusher-with-encryption');
17
17
  }
18
18
 
19
- var config = objectAssign(configShared, {
19
+ var config = merge(configShared, {
20
20
  entry: {
21
21
  pusher: entry
22
22
  },
@@ -1,5 +1,4 @@
1
1
  export {
2
- AuthInfo,
3
2
  Authorizer,
4
3
  AuthOptions,
5
4
  AuthorizerGenerator,
@@ -0,0 +1,15 @@
1
+ export {
2
+ Authorizer,
3
+ AuthOptions,
4
+ AuthorizerGenerator,
5
+ AuthorizerCallback,
6
+ } from '../types/src/core/auth/options';
7
+ export { Options } from '../types/src/core/options';
8
+
9
+ export { default as Channel } from '../types/src/core/channels/channel';
10
+ export { default as PresenceChannel } from '../types/src/core/channels/presence_channel';
11
+ export { default as Members } from '../types/src/core/channels/members';
12
+ export { default as Runtime } from '../types/src/runtimes/interface';
13
+ export { default as ConnectionManager } from '../types/src/core/connection/connection_manager';
14
+
15
+ export { default } from '../types/src/core/pusher';
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/worker/pusher.worker.js');
@@ -0,0 +1,15 @@
1
+ export {
2
+ Authorizer,
3
+ AuthOptions,
4
+ AuthorizerGenerator,
5
+ AuthorizerCallback,
6
+ } from '../../types/src/core/auth/options';
7
+ export { Options } from '../../types/src/core/options';
8
+
9
+ export { default as Channel } from '../../types/src/core/channels/channel';
10
+ export { default as PresenceChannel } from '../../types/src/core/channels/presence_channel';
11
+ export { default as Members } from '../../types/src/core/channels/members';
12
+ export { default as Runtime } from '../../types/src/runtimes/interface';
13
+ export { default as ConnectionManager } from '../../types/src/core/connection/connection_manager';
14
+
15
+ export { default } from '../../types/src/core/pusher';
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/worker/pusher-with-encryption.worker.js');
package/.travis.build DELETED
@@ -1,22 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- if [ "$TRAVIS_PULL_REQUEST" != "false" ] || [ "$TRAVIS_BRANCH" == "master" ]; then
6
- export CI='full' ;
7
- else
8
- export MINIMAL_INTEGRATION_TESTS='true'
9
- export CI='basic' ;
10
- fi
11
-
12
- echo "Running web unit tests..."
13
- make web_unit
14
-
15
- echo "Running web integration tests..."
16
- make web_integration
17
-
18
- echo "Running node unit tests..."
19
- make node_unit
20
-
21
- echo "Running node integration tests..."
22
- make node_integration
package/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: node_js
2
- node_js: "10"
3
- before_script:
4
- - npm install
5
- script:
6
- - ./node_modules/.bin/prettier --version
7
- - npm run check-format && ./.travis.build
@@ -1,10 +0,0 @@
1
- var jasmine = require('jasmine-node');
2
- var SpecReporter = require('jasmine-spec-reporter');
3
- var path = process.argv[2];
4
-
5
- jasmine.executeSpecsInFolder({
6
- specFolders: [path],
7
- showColors: true
8
- });
9
-
10
- jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: true}));