elasticio-sailor-nodejs 2.7.1-dev6 → 2.7.2-dev.1

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/.eslintrc.js CHANGED
@@ -1,150 +1,150 @@
1
- 'use strict';
2
-
3
- const ERROR = 'error';
4
- const WARN = 'warn';
5
- const ALWAYS = 'always';
6
- const NEVER = 'never';
7
-
8
- module.exports = {
9
- 'env': {
10
- es6: true,
11
- node: true,
12
- },
13
- 'parserOptions': {
14
- 'ecmaVersion': 2018
15
- },
16
- 'extends': 'eslint:recommended',
17
- 'plugins': [
18
- 'mocha'
19
- ],
20
- 'rules': {
21
- 'indent': [
22
- ERROR,
23
- 4,
24
- {
25
- SwitchCase: 1
26
- }
27
- ],
28
- 'linebreak-style': ERROR,
29
- 'quotes': [
30
- ERROR,
31
- 'single',
32
- {
33
- avoidEscape: true,
34
- allowTemplateLiterals: true
35
- }
36
- ],
37
- 'semi': [
38
- ERROR,
39
- ALWAYS
40
- ],
41
- 'func-names': ERROR,
42
- 'no-empty': ERROR,
43
- 'no-empty-function': ERROR,
44
- 'brace-style': [
45
- ERROR,
46
- '1tbs',
47
- { allowSingleLine: true }
48
- ],
49
- 'no-multiple-empty-lines': ERROR,
50
- 'no-multi-spaces': ERROR,
51
- 'one-var': [
52
- ERROR,
53
- NEVER
54
- ],
55
- 'quote-props': [
56
- ERROR,
57
- 'consistent-as-needed'
58
- ],
59
- 'key-spacing': ERROR,
60
- 'space-unary-ops': [
61
- ERROR,
62
- {
63
- words: true,
64
- nonwords: false
65
- }
66
- ],
67
- 'no-spaced-func': ERROR,
68
- 'space-before-function-paren': [
69
- ERROR,
70
- {
71
- anonymous: ALWAYS,
72
- named: NEVER
73
- }
74
- ],
75
- 'arrow-body-style': [
76
- ERROR,
77
- 'as-needed'
78
- ],
79
- 'array-bracket-spacing': ERROR,
80
- 'space-in-parens': ERROR,
81
- 'comma-dangle': ERROR,
82
- 'no-trailing-spaces': ERROR,
83
- 'yoda': ERROR,
84
- 'max-len': [
85
- ERROR,
86
- 120
87
- ],
88
- 'camelcase': [
89
- ERROR,
90
- {
91
- properties: 'never'
92
- }
93
- ],
94
- 'new-cap': [
95
- ERROR,
96
- {
97
- capIsNewExceptions: ['Q']
98
- }
99
- ],
100
- 'comma-style': ERROR,
101
- 'curly': ERROR,
102
- 'object-curly-spacing': [
103
- ERROR,
104
- ALWAYS
105
- ],
106
- 'template-curly-spacing': ERROR,
107
- 'dot-notation': ERROR,
108
- 'dot-location': [
109
- ERROR,
110
- 'property'
111
- ],
112
- 'func-style': [
113
- ERROR,
114
- 'declaration',
115
- {
116
- allowArrowFunctions: true
117
- }
118
- ],
119
- 'eol-last': ERROR,
120
- 'space-infix-ops': ERROR,
121
- 'keyword-spacing': ERROR,
122
- 'space-before-blocks': ERROR,
123
- 'no-invalid-this': ERROR,
124
- 'consistent-this': ERROR,
125
- 'no-this-before-super': ERROR,
126
- 'no-unreachable': ERROR,
127
- 'no-sparse-arrays': ERROR,
128
- 'array-callback-return': ERROR,
129
- 'eqeqeq': ERROR,
130
- 'no-use-before-define': WARN,
131
- 'no-undef': ERROR,
132
- 'no-unused-vars': WARN,
133
- 'no-mixed-spaces-and-tabs': ERROR,
134
- 'operator-linebreak': [
135
- ERROR,
136
- 'before'
137
- ],
138
- 'no-console': [
139
- WARN,
140
- {
141
- 'allow': [
142
- 'warn',
143
- 'error'
144
- ]
145
- }
146
- ],
147
- 'mocha/no-skipped-tests': ERROR,
148
- 'mocha/no-exclusive-tests': ERROR
149
- }
150
- };
1
+ 'use strict';
2
+
3
+ const ERROR = 'error';
4
+ const WARN = 'warn';
5
+ const ALWAYS = 'always';
6
+ const NEVER = 'never';
7
+
8
+ module.exports = {
9
+ 'env': {
10
+ es6: true,
11
+ node: true,
12
+ },
13
+ 'parserOptions': {
14
+ 'ecmaVersion': 2018
15
+ },
16
+ 'extends': 'eslint:recommended',
17
+ 'plugins': [
18
+ 'mocha'
19
+ ],
20
+ 'rules': {
21
+ 'indent': [
22
+ ERROR,
23
+ 4,
24
+ {
25
+ SwitchCase: 1
26
+ }
27
+ ],
28
+ 'linebreak-style': ERROR,
29
+ 'quotes': [
30
+ ERROR,
31
+ 'single',
32
+ {
33
+ avoidEscape: true,
34
+ allowTemplateLiterals: true
35
+ }
36
+ ],
37
+ 'semi': [
38
+ ERROR,
39
+ ALWAYS
40
+ ],
41
+ 'func-names': ERROR,
42
+ 'no-empty': ERROR,
43
+ 'no-empty-function': ERROR,
44
+ 'brace-style': [
45
+ ERROR,
46
+ '1tbs',
47
+ { allowSingleLine: true }
48
+ ],
49
+ 'no-multiple-empty-lines': ERROR,
50
+ 'no-multi-spaces': ERROR,
51
+ 'one-var': [
52
+ ERROR,
53
+ NEVER
54
+ ],
55
+ 'quote-props': [
56
+ ERROR,
57
+ 'consistent-as-needed'
58
+ ],
59
+ 'key-spacing': ERROR,
60
+ 'space-unary-ops': [
61
+ ERROR,
62
+ {
63
+ words: true,
64
+ nonwords: false
65
+ }
66
+ ],
67
+ 'no-spaced-func': ERROR,
68
+ 'space-before-function-paren': [
69
+ ERROR,
70
+ {
71
+ anonymous: ALWAYS,
72
+ named: NEVER
73
+ }
74
+ ],
75
+ 'arrow-body-style': [
76
+ ERROR,
77
+ 'as-needed'
78
+ ],
79
+ 'array-bracket-spacing': ERROR,
80
+ 'space-in-parens': ERROR,
81
+ 'comma-dangle': ERROR,
82
+ 'no-trailing-spaces': ERROR,
83
+ 'yoda': ERROR,
84
+ 'max-len': [
85
+ ERROR,
86
+ 120
87
+ ],
88
+ 'camelcase': [
89
+ ERROR,
90
+ {
91
+ properties: 'never'
92
+ }
93
+ ],
94
+ 'new-cap': [
95
+ ERROR,
96
+ {
97
+ capIsNewExceptions: ['Q']
98
+ }
99
+ ],
100
+ 'comma-style': ERROR,
101
+ 'curly': ERROR,
102
+ 'object-curly-spacing': [
103
+ ERROR,
104
+ ALWAYS
105
+ ],
106
+ 'template-curly-spacing': ERROR,
107
+ 'dot-notation': ERROR,
108
+ 'dot-location': [
109
+ ERROR,
110
+ 'property'
111
+ ],
112
+ 'func-style': [
113
+ ERROR,
114
+ 'declaration',
115
+ {
116
+ allowArrowFunctions: true
117
+ }
118
+ ],
119
+ 'eol-last': ERROR,
120
+ 'space-infix-ops': ERROR,
121
+ 'keyword-spacing': ERROR,
122
+ 'space-before-blocks': ERROR,
123
+ 'no-invalid-this': ERROR,
124
+ 'consistent-this': ERROR,
125
+ 'no-this-before-super': ERROR,
126
+ 'no-unreachable': ERROR,
127
+ 'no-sparse-arrays': ERROR,
128
+ 'array-callback-return': ERROR,
129
+ 'eqeqeq': ERROR,
130
+ 'no-use-before-define': WARN,
131
+ 'no-undef': ERROR,
132
+ 'no-unused-vars': WARN,
133
+ 'no-mixed-spaces-and-tabs': ERROR,
134
+ 'operator-linebreak': [
135
+ ERROR,
136
+ 'before'
137
+ ],
138
+ 'no-console': [
139
+ WARN,
140
+ {
141
+ 'allow': [
142
+ 'warn',
143
+ 'error'
144
+ ]
145
+ }
146
+ ],
147
+ 'mocha/no-skipped-tests': ERROR,
148
+ 'mocha/no-exclusive-tests': ERROR
149
+ }
150
+ };
@@ -1,8 +1,8 @@
1
- # https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
2
-
3
- # These owners will be the default owners for everything in
4
- # the repo. Unless a later match takes precedence,
5
- # elasticio/platform-qa and @elasticio/platform will be requested for
6
- # review when someone opens a pull request.
7
- # Introduced to make QA-team's code reivew approve required https://github.com/elasticio/elasticio/issues/5139
8
- * @elasticio/platform-qa
1
+ # https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
2
+
3
+ # These owners will be the default owners for everything in
4
+ # the repo. Unless a later match takes precedence,
5
+ # elasticio/platform-qa and @elasticio/platform will be requested for
6
+ # review when someone opens a pull request.
7
+ # Introduced to make QA-team's code reivew approve required https://github.com/elasticio/elasticio/issues/5139
8
+ * @elasticio/platform-qa
package/.nsprc CHANGED
@@ -1,18 +1,18 @@
1
- {
2
- "GHSA-wc69-rhjr-hc9g": {
3
- "active": true,
4
- "notes": "Bunyan library set only new Date to momentjs as parameter"
5
- },
6
- "GHSA-f8q6-p94x-37v3": {
7
- "active": true,
8
- "notes": "braceExpand is not used in rimraf"
9
- },
10
- "GHSA-hrpp-h998-j3pp": {
11
- "active": true,
12
- "notes": "There is no query-string user input in sailor"
13
- },
14
- "GHSA-27h2-hvpr-p74q": {
15
- "active": true,
16
- "notes": "The vulnerability is in maester-client. Maester-client doesn't use jwt.verify function."
17
- }
18
- }
1
+ {
2
+ "GHSA-wc69-rhjr-hc9g": {
3
+ "active": true,
4
+ "notes": "Bunyan library set only new Date to momentjs as parameter"
5
+ },
6
+ "GHSA-f8q6-p94x-37v3": {
7
+ "active": true,
8
+ "notes": "braceExpand is not used in rimraf"
9
+ },
10
+ "GHSA-hrpp-h998-j3pp": {
11
+ "active": true,
12
+ "notes": "There is no query-string user input in sailor"
13
+ },
14
+ "GHSA-27h2-hvpr-p74q": {
15
+ "active": true,
16
+ "notes": "The vulnerability is in maester-client. Maester-client doesn't use jwt.verify function."
17
+ }
18
+ }
package/CHANGELOG.md CHANGED
@@ -1,144 +1,153 @@
1
- ## 2.7.0 (September 15, 2022)
2
-
3
- * Add AMQP_PERSISTENT_MESSAGES configuration env var to enable persistent delivery mode.
4
-
5
- ## 2.6.29 (July 14, 2022)
6
-
7
- * Enabled keep-alive for global HTTPS agent ([#6359](https://github.com/elasticio/elasticio/issues/6359))
8
-
9
- ## 2.6.28 (June 21, 2022)
10
-
11
- * Fix: "sailor-nodejs ignores errors from maester during lightweight message upload" [#6233](https://github.com/elasticio/elasticio/issues/6233))
12
-
13
- ## 2.6.27 (March 10, 2022)
14
-
15
- * Added npm audit to CI and fixed all dependencies
16
-
17
- ## 2.6.26 (June 24, 2021)
18
-
19
- * Replaced exit on "unhandledRejection" with error logging
20
-
21
- ## 2.6.25 (June 17, 2021)
22
-
23
- * Improve consume performance by switching back to pushing instead of polling, keeping reconnections mechanism
24
- ([#5432](https://github.com/elasticio/elasticio/issues/5432))
25
-
26
- ## 2.6.24 (January 27, 2021)
27
-
28
- * Fix "Big messages processing is not stable" errors ([#5051](https://github.com/elasticio/elasticio/issues/5051))
29
-
30
- ## 2.6.23 (January 4, 2021)
31
-
32
- * Fix "Cannot read property 'publish' of undefined" error ([#5036](https://github.com/elasticio/elasticio/issues/5036))
33
-
34
- ## 2.6.22 (December 23, 2020)
35
-
36
- * Enabled keep-alive for global HTTP agent ([#5012](#https://github.com/elasticio/elasticio/issues/5012))
37
-
38
- ## 2.6.21 (December 3, 2020)
39
-
40
- * Fixed rebound message expiry time ([#4950](https://github.com/elasticio/elasticio/issues/4950))
41
-
42
- ## 2.6.20 (December 1, 2020)
43
-
44
- * Fixed rebound message headers ([#4950](https://github.com/elasticio/elasticio/issues/4950))
45
-
46
- ## 2.6.19 (November 23, 2020)
47
-
48
- * Separate connections for consuming and publishing
49
- * Consuming is done with polling instead of pushing
50
- * Reconnects on connection errors
51
- * Handling consumer cancel notification
52
- * Lowered log levels of some developers' log messages
53
- * Addded env vars:
54
- * AMQP_RECONNECT_ATTEMPTS - number of retries on connection close
55
- * AMQP_RECONNECT_TIMEOUT - delay between connection retries
56
- * WAIT_MESSAGES_TIMEOUT - delay between next poll when queue is empty
57
-
58
- ## 2.6.18 (October 26, 2020)
59
-
60
- * Remove the logging of triggers and actions processing errors stack
61
-
62
- ## 2.6.17 (October 15, 2020)
63
-
64
- * Annual audit of the component code to check if it exposes a sensitive data in the logs
65
-
66
- ## 2.6.16 (October 12, 2020)
67
-
68
- * Fix incoming headers appearance in the logs (part 2)
69
-
70
- ## 2.6.15 (October 12, 2020)
71
-
72
- * Fix incoming headers appearance in the logs (part 1)
73
-
74
- ## 2.6.14 (July 06, 2020)
75
-
76
- * Add Lightweight messages support
77
- * Sync this.emit() calls are not supported anymore. Use async process() interface and await this.emit() calls instead
78
-
79
- ## 2.6.13 (July 01, 2020)
80
-
81
- * Error as incoming message in custom error handler
82
-
83
- ## 2.6.10 (June 03, 2020)
84
-
85
- * Fix bug with incorrect publish retry policy.Dynamic flow control
86
- * Dynamic flow control
87
-
88
- ## 2.6.9 (May 26, 2020)
89
-
90
- * Fix bugs with 'Retention policy' notification and 'Nodejs sailor return promise interface does not support dynamic flow control'
91
-
92
- ## 2.6.8 (May 18, 2020)
93
-
94
- * Fix bug when Lookout throws exception if incoming message from error queue doesn't have errorInput property
95
- * From now on errors (description + stack) happening during component initialization won't be ignored and you will see them on frontend and in logs
96
-
97
- ## 2.6.7 (May 07, 2020)
98
-
99
- * Add ability to publish to arbitrary exchange
100
-
101
- ## 2.6.6 (May 06, 2020)
102
-
103
- * From now on Wiper will not suspend overloaded flows if all the components in the flow have the latest sailor (which supports dynamic flow control)
104
-
105
- ## 2.6.5 (February 20, 2020)
106
-
107
- * Add support of non-base64 message in Admiral. This function is activated if 2 neighbour components' Sailors support a feature of non-base64 message
108
-
109
- ## 2.6.4 (February 14, 2020)
110
-
111
- * Enable graceful restart for tasks pods
112
-
113
- ## 2.6.2 (January 29, 2020)
114
-
115
- * Fix bug when Sailor does not reliably publish large messages
116
-
117
- ## 2.6.1 (January 15, 2020)
118
-
119
- * Fix bug when publishing fail leads to fail in all subsequent pending messages
120
-
121
- ## 2.6.0 (January 06, 2020)
122
-
123
- * A step must not put its own output message into the passthrough object
124
-
125
- ## 2.5.4 (December 23, 2019)
126
-
127
- * Introduce new environment variable for Sailor: ELASTICIO_OUTGOING_MESSAGE_SIZE_LIMIT, which controls the outgoing message size limit
128
-
129
- ## 2.5.3 (December 11, 2019)
130
-
131
- * Introduce new component environment variable ELASTICIO_ADDITIONAL_VARS_FOR_HEADERS. It contains comma-separated environment variables that will be passed to message headers
132
-
133
- ## 2.4.1 (July 18, 2019)
134
-
135
- * Add additional information to RabbitMQ messages
136
-
137
- ## 2.4.0 (June 11, 2019)
138
-
139
- * Add elastic's Threads functionality support
140
- * Add component custom logger. E.g. `this.logger.info('hello')`
141
-
142
- ## 2.3.0 (October 19, 2018)
143
-
144
- * Sailor now handles RabbitMQ disconnects correctly
1
+ ## 2.7.2 (March 15, 2024)
2
+
3
+ * @elastic.io/maester-client updated to 5.0.2 ([#206](https://github.com/elasticio/sailor-nodejs/issues/206))
4
+
5
+ ## 2.7.1 (October 20, 2022)
6
+
7
+ * Replaced `object-storage-client` with `maester-client`
8
+
9
+ ## 2.7.0 (September 15, 2022)
10
+
11
+ * Add AMQP_PERSISTENT_MESSAGES configuration env var to enable persistent delivery mode.
12
+
13
+ ## 2.6.29 (July 14, 2022)
14
+
15
+ * Enabled keep-alive for global HTTPS agent ([#6359](https://github.com/elasticio/elasticio/issues/6359))
16
+
17
+ ## 2.6.28 (June 21, 2022)
18
+
19
+ * Fix: "sailor-nodejs ignores errors from maester during lightweight message upload" [#6233](https://github.com/elasticio/elasticio/issues/6233))
20
+
21
+ ## 2.6.27 (March 10, 2022)
22
+
23
+ * Added npm audit to CI and fixed all dependencies
24
+
25
+ ## 2.6.26 (June 24, 2021)
26
+
27
+ * Replaced exit on "unhandledRejection" with error logging
28
+
29
+ ## 2.6.25 (June 17, 2021)
30
+
31
+ * Improve consume performance by switching back to pushing instead of polling, keeping reconnections mechanism
32
+ ([#5432](https://github.com/elasticio/elasticio/issues/5432))
33
+
34
+ ## 2.6.24 (January 27, 2021)
35
+
36
+ * Fix "Big messages processing is not stable" errors ([#5051](https://github.com/elasticio/elasticio/issues/5051))
37
+
38
+ ## 2.6.23 (January 4, 2021)
39
+
40
+ * Fix "Cannot read property 'publish' of undefined" error ([#5036](https://github.com/elasticio/elasticio/issues/5036))
41
+
42
+ ## 2.6.22 (December 23, 2020)
43
+
44
+ * Enabled keep-alive for global HTTP agent ([#5012](#https://github.com/elasticio/elasticio/issues/5012))
45
+
46
+ ## 2.6.21 (December 3, 2020)
47
+
48
+ * Fixed rebound message expiry time ([#4950](https://github.com/elasticio/elasticio/issues/4950))
49
+
50
+ ## 2.6.20 (December 1, 2020)
51
+
52
+ * Fixed rebound message headers ([#4950](https://github.com/elasticio/elasticio/issues/4950))
53
+
54
+ ## 2.6.19 (November 23, 2020)
55
+
56
+ * Separate connections for consuming and publishing
57
+ * Consuming is done with polling instead of pushing
58
+ * Reconnects on connection errors
59
+ * Handling consumer cancel notification
60
+ * Lowered log levels of some developers' log messages
61
+ * Addded env vars:
62
+ * AMQP_RECONNECT_ATTEMPTS - number of retries on connection close
63
+ * AMQP_RECONNECT_TIMEOUT - delay between connection retries
64
+ * WAIT_MESSAGES_TIMEOUT - delay between next poll when queue is empty
65
+
66
+ ## 2.6.18 (October 26, 2020)
67
+
68
+ * Remove the logging of triggers and actions processing errors stack
69
+
70
+ ## 2.6.17 (October 15, 2020)
71
+
72
+ * Annual audit of the component code to check if it exposes a sensitive data in the logs
73
+
74
+ ## 2.6.16 (October 12, 2020)
75
+
76
+ * Fix incoming headers appearance in the logs (part 2)
77
+
78
+ ## 2.6.15 (October 12, 2020)
79
+
80
+ * Fix incoming headers appearance in the logs (part 1)
81
+
82
+ ## 2.6.14 (July 06, 2020)
83
+
84
+ * Add Lightweight messages support
85
+ * Sync this.emit() calls are not supported anymore. Use async process() interface and await this.emit() calls instead
86
+
87
+ ## 2.6.13 (July 01, 2020)
88
+
89
+ * Error as incoming message in custom error handler
90
+
91
+ ## 2.6.10 (June 03, 2020)
92
+
93
+ * Fix bug with incorrect publish retry policy.Dynamic flow control
94
+ * Dynamic flow control
95
+
96
+ ## 2.6.9 (May 26, 2020)
97
+
98
+ * Fix bugs with 'Retention policy' notification and 'Nodejs sailor return promise interface does not support dynamic flow control'
99
+
100
+ ## 2.6.8 (May 18, 2020)
101
+
102
+ * Fix bug when Lookout throws exception if incoming message from error queue doesn't have errorInput property
103
+ * From now on errors (description + stack) happening during component initialization won't be ignored and you will see them on frontend and in logs
104
+
105
+ ## 2.6.7 (May 07, 2020)
106
+
107
+ * Add ability to publish to arbitrary exchange
108
+
109
+ ## 2.6.6 (May 06, 2020)
110
+
111
+ * From now on Wiper will not suspend overloaded flows if all the components in the flow have the latest sailor (which supports dynamic flow control)
112
+
113
+ ## 2.6.5 (February 20, 2020)
114
+
115
+ * Add support of non-base64 message in Admiral. This function is activated if 2 neighbour components' Sailors support a feature of non-base64 message
116
+
117
+ ## 2.6.4 (February 14, 2020)
118
+
119
+ * Enable graceful restart for tasks pods
120
+
121
+ ## 2.6.2 (January 29, 2020)
122
+
123
+ * Fix bug when Sailor does not reliably publish large messages
124
+
125
+ ## 2.6.1 (January 15, 2020)
126
+
127
+ * Fix bug when publishing fail leads to fail in all subsequent pending messages
128
+
129
+ ## 2.6.0 (January 06, 2020)
130
+
131
+ * A step must not put its own output message into the passthrough object
132
+
133
+ ## 2.5.4 (December 23, 2019)
134
+
135
+ * Introduce new environment variable for Sailor: ELASTICIO_OUTGOING_MESSAGE_SIZE_LIMIT, which controls the outgoing message size limit
136
+
137
+ ## 2.5.3 (December 11, 2019)
138
+
139
+ * Introduce new component environment variable ELASTICIO_ADDITIONAL_VARS_FOR_HEADERS. It contains comma-separated environment variables that will be passed to message headers
140
+
141
+ ## 2.4.1 (July 18, 2019)
142
+
143
+ * Add additional information to RabbitMQ messages
144
+
145
+ ## 2.4.0 (June 11, 2019)
146
+
147
+ * Add elastic's Threads functionality support
148
+ * Add component custom logger. E.g. `this.logger.info('hello')`
149
+
150
+ ## 2.3.0 (October 19, 2018)
151
+
152
+ * Sailor now handles RabbitMQ disconnects correctly
153
+