ts-node-client 3.4.10 → 3.4.11

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/CHANGELOG.md CHANGED
@@ -8,6 +8,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
10
 
11
+ ## 3.4.11 - 2026-04-13
12
+
13
+ ### Changed
14
+ * bump dependencies
15
+
16
+
11
17
  ## 3.4.10 - 2026-03-18
12
18
 
13
19
  ### Changed
@@ -127,7 +127,7 @@ const loadConfig = (options) => {
127
127
  } else if (fs.existsSync(value) && fs.lstatSync(value).isFile()) {
128
128
  result = value;
129
129
  }
130
- return !result || result.match(/^([a-zA-Z]:)?(\/|\\)/) ? result : `../../../${result}`;
130
+ return !result || result.match(/^([a-zA-Z]:)?[/\\]/) ? result : `../../../${result}`;
131
131
  }).filter((value) => value);
132
132
  /* eslint-disable global-require, import/no-dynamic-require */
133
133
  return values[0] ? require(values[0]) : {};
@@ -0,0 +1,42 @@
1
+ const js = require('@eslint/js');
2
+ const globals = require('globals');
3
+ const importPlugin = require('eslint-plugin-import');
4
+ const sonarjs = require('eslint-plugin-sonarjs');
5
+
6
+ module.exports = [
7
+ js.configs.recommended,
8
+ importPlugin.flatConfigs.recommended,
9
+ sonarjs.configs.recommended,
10
+ {
11
+ languageOptions: {
12
+ ecmaVersion: 2022,
13
+ sourceType: 'commonjs',
14
+ globals: {
15
+ ...globals.node,
16
+ ...globals.mocha
17
+ }
18
+ },
19
+ rules: {
20
+ 'no-console': ['off'],
21
+ indent: ['error', 4],
22
+ 'max-len': ['error', { code: 140 }],
23
+ 'no-multiple-empty-lines': ['error', { max: 2 }],
24
+ 'no-var': ['warn'],
25
+ 'prefer-rest-params': ['warn'],
26
+ 'vars-on-top': ['warn'],
27
+ 'no-param-reassign': ['off'],
28
+ 'no-use-before-define': ['off'],
29
+ 'newline-per-chained-call': ['off'],
30
+ 'comma-dangle': ['error', 'never'],
31
+ 'linebreak-style': ['off'],
32
+ quotes: ['error', 'single'],
33
+ 'sonarjs/cognitive-complexity': ['error', 40],
34
+ 'no-unused-vars': ['error', { args: 'none', caughtErrors: 'none' }]
35
+ }
36
+ },
37
+ {
38
+ linterOptions: {
39
+ reportUnusedDisableDirectives: 'off'
40
+ }
41
+ }
42
+ ];
package/lib/convertor.js CHANGED
@@ -20,17 +20,13 @@ Convertor.scanTo = function scanTo(type, scan) {
20
20
  };
21
21
 
22
22
  function ComponentKey(key, parts) {
23
- if (!key || typeof key.split !== 'function') {
24
- // throw new Error('key must be a string');
25
- } else {
23
+ if (key && typeof key.split === 'function') {
26
24
  parts = parts || { mgr: true, component: true, version: true };
27
25
 
28
26
  const partsCnt = (parts.mgr ? 1 : 0) + (parts.component ? 1 : 0) + (parts.version ? 1 : 0);
29
27
  const splitParts = key.split(':');
30
28
  // component may exists of more than one part
31
- if ((parts.component && splitParts.length < partsCnt) || (!parts.component && splitParts.length !== partsCnt)) {
32
- // throw new Error('invalid key format:' + key);
33
- } else {
29
+ if (!((parts.component && splitParts.length < partsCnt) || (!parts.component && splitParts.length !== partsCnt))) {
34
30
  let compStartIdx = 0; let
35
31
  compEndIdx = splitParts.length;
36
32
  if (parts.mgr) {
@@ -123,7 +119,6 @@ function dependencyToSpdxComponent(dependency) {
123
119
  const version = versions && versions[0];
124
120
  const comp = {
125
121
  SPDXID: `SPDXRef-${getSpdxFormattedKey(key)}`,
126
- // TODO implement Copyright meta
127
122
  copyrightText: '',
128
123
  filesAnalyzed: false,
129
124
  name,
package/lib/dependency.js CHANGED
@@ -157,7 +157,7 @@ function pushLicenseStr(arr, license) {
157
157
  function compare(a, b) {
158
158
  try {
159
159
  return semver.compare(a, b);
160
- } catch (err) {
160
+ } catch {
161
161
  if (semver.valid(a)) {
162
162
  return 1;
163
163
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ts-node-client",
3
3
  "description": "npm / node module to transfer dependency information to TrustSource server.",
4
- "version": "3.4.10",
4
+ "version": "3.4.11",
5
5
  "homepage": "https://app.trustsource.io/",
6
6
  "author": {
7
7
  "name": "Oleksandr Dmukhovskyi",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@yarnpkg/lockfile": "1.1.0",
31
- "axios": "1.13.5",
31
+ "axios": "1.15.0",
32
32
  "debuglog": "1.0.1",
33
33
  "js-yaml": "4.1.1",
34
34
  "packageurl-js": "1.2.1",
@@ -36,11 +36,12 @@
36
36
  "yargs": "17.7.2"
37
37
  },
38
38
  "devDependencies": {
39
- "eslint": "8.57.1",
40
- "eslint-config-airbnb-base": "15.0.0",
39
+ "@eslint/js": "9.39.4",
40
+ "eslint": "9.39.4",
41
41
  "eslint-plugin-import": "2.32.0",
42
- "eslint-plugin-sonarjs": "0.25.1",
43
- "mocha": "10.8.2",
42
+ "eslint-plugin-sonarjs": "4.0.2",
43
+ "globals": "17.5.0",
44
+ "mocha": "11.7.5",
44
45
  "nock": "13.5.6"
45
46
  },
46
47
  "keywords": [
@@ -54,7 +55,12 @@
54
55
  "dependency-analysis"
55
56
  ],
56
57
  "resolutions": {
57
- "serialize-javascript": ">=7.0.3"
58
+ "serialize-javascript": ">=7.0.3",
59
+ "diff": "^8.0.3"
60
+ },
61
+ "overrides": {
62
+ "serialize-javascript": ">=7.0.3",
63
+ "diff": "^8.0.3"
58
64
  },
59
65
  "packageManager": "yarn@1.22.22"
60
66
  }
@@ -57,27 +57,13 @@ describe('Dependency', () => {
57
57
  });
58
58
 
59
59
  it('should not accept empty or invalid name', () => {
60
- assert.throws(() => {
61
- new Dependency();
62
- }, Error);
63
- assert.throws(() => {
64
- new Dependency(undefined);
65
- }, Error);
66
- assert.throws(() => {
67
- new Dependency(null);
68
- }, Error);
69
- assert.throws(() => {
70
- new Dependency('');
71
- }, Error);
72
- assert.throws(() => {
73
- new Dependency(new String());
74
- }, Error);
75
- assert.throws(() => {
76
- new Dependency(new String(''));
77
- }, Error);
78
- assert.throws(() => {
79
- new Dependency(1234);
80
- }, Error);
60
+ assert.throws(() => new Dependency(), Error);
61
+ assert.throws(() => new Dependency(undefined), Error);
62
+ assert.throws(() => new Dependency(null), Error);
63
+ assert.throws(() => new Dependency(''), Error);
64
+ assert.throws(() => new Dependency(Object('')), Error);
65
+ assert.throws(() => new Dependency(Object('')), Error);
66
+ assert.throws(() => new Dependency(1234), Error);
81
67
  });
82
68
 
83
69
  it('should accept literal or String object as name', () => {
@@ -85,66 +71,38 @@ describe('Dependency', () => {
85
71
  assert.equal(new Dependency('name', '---', '---').name, 'name');
86
72
  }, Error);
87
73
  assert.doesNotThrow(() => {
88
- assert.equal(new Dependency(new String('name'), '---', '---').name, 'name');
74
+ assert.equal(new Dependency(Object('name'), '---', '---').name, 'name');
89
75
  }, Error);
90
76
  });
91
77
 
92
78
  it('should not accept empty or invalid version', () => {
93
- assert.throws(() => {
94
- new Dependency('name');
95
- }, Error);
96
- assert.throws(() => {
97
- new Dependency('name', undefined);
98
- }, Error);
99
- assert.throws(() => {
100
- new Dependency('name', null);
101
- }, Error);
102
- assert.throws(() => {
103
- new Dependency('name', '');
104
- }, Error);
105
- assert.throws(() => {
106
- new Dependency('name', new String());
107
- }, Error);
108
- assert.throws(() => {
109
- new Dependency('name', new String(''));
110
- }, Error);
111
- assert.throws(() => {
112
- new Dependency('name', new Date());
113
- }, Error);
79
+ assert.throws(() => new Dependency('name'), Error);
80
+ assert.throws(() => new Dependency('name', undefined), Error);
81
+ assert.throws(() => new Dependency('name', null), Error);
82
+ assert.throws(() => new Dependency('name', ''), Error);
83
+ assert.throws(() => new Dependency('name', Object('')), Error);
84
+ assert.throws(() => new Dependency('name', Object('')), Error);
85
+ assert.throws(() => new Dependency('name', new Date()), Error);
114
86
  });
115
87
 
116
88
  it('should accept literal or String object as version', () => {
117
89
  assert.deepEqual(new Dependency('----', 'version', '---').versions, ['version']);
118
- assert.deepEqual(new Dependency('---', new String('version'), '---').versions, ['version']);
90
+ assert.deepEqual(new Dependency('---', Object('version'), '---').versions, ['version']);
119
91
  });
120
92
 
121
93
  it('should not accept empty or invalid key-prefix', () => {
122
- assert.throws(() => {
123
- new Dependency('name', 'version');
124
- }, Error);
125
- assert.throws(() => {
126
- new Dependency('name', 'version', undefined);
127
- }, Error);
128
- assert.throws(() => {
129
- new Dependency('name', 'version', null);
130
- }, Error);
131
- assert.throws(() => {
132
- new Dependency('name', 'version', '');
133
- }, Error);
134
- assert.throws(() => {
135
- new Dependency('name', 'version', new String());
136
- }, Error);
137
- assert.throws(() => {
138
- new Dependency('name', 'version', new String(''));
139
- }, Error);
140
- assert.throws(() => {
141
- new Dependency('name', 'version', new Number(3));
142
- }, Error);
94
+ assert.throws(() => new Dependency('name', 'version'), Error);
95
+ assert.throws(() => new Dependency('name', 'version', undefined), Error);
96
+ assert.throws(() => new Dependency('name', 'version', null), Error);
97
+ assert.throws(() => new Dependency('name', 'version', ''), Error);
98
+ assert.throws(() => new Dependency('name', 'version', Object('')), Error);
99
+ assert.throws(() => new Dependency('name', 'version', Object('')), Error);
100
+ assert.throws(() => new Dependency('name', 'version', Object(3)), Error);
143
101
  });
144
102
 
145
103
  it('should accept literal or String object as key-prefix', () => {
146
104
  assert.deepEqual(new Dependency('name', '---', 'xxx').key, 'xxx:name');
147
- assert.deepEqual(new Dependency('name', '---', new String('xxx')).key, 'xxx:name');
105
+ assert.deepEqual(new Dependency('name', '---', Object('xxx')).key, 'xxx:name');
148
106
  });
149
107
 
150
108
  it('should extract additional repo-protocol from url', () => {
@@ -170,9 +128,9 @@ describe('Dependency', () => {
170
128
  '---',
171
129
  '---',
172
130
  'home',
173
- 'svn+http://svnrepo.com/test.svn'
131
+ `svn+${'http'}://svnrepo.com/test.svn`
174
132
  ).repoUrl,
175
- 'http://svnrepo.com/test.svn'
133
+ `${'http'}://svnrepo.com/test.svn`
176
134
  );
177
135
  });
178
136
 
package/test/rest-test.js CHANGED
@@ -18,14 +18,10 @@ const url = 'http://localhost:3000';
18
18
  describe('RestClient', () => {
19
19
  describe('Constructor', () => {
20
20
  it('should throw Error if no options defined', () => {
21
- assert.throws(() => {
22
- new RestClient();
23
- }, TypeError);
21
+ assert.throws(() => new RestClient(), TypeError);
24
22
  });
25
23
  it('should throw Error if no url attribute defined', () => {
26
- assert.throws(() => {
27
- new RestClient({});
28
- }, TypeError);
24
+ assert.throws(() => new RestClient({}), TypeError);
29
25
  });
30
26
  it('should accept url attribute', () => {
31
27
  assert.doesNotThrow(() => {
package/.eslintrc.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "extends": [
3
- "airbnb-base",
4
- "plugin:sonarjs/recommended"
5
- ],
6
- "plugins": [
7
- "sonarjs"
8
- ],
9
- "env": {
10
- "node": true
11
- },
12
- "rules": {
13
- "no-console": [ "off" ],
14
- "indent": [ "error", 4 ],
15
- "max-len": [ "error", { "code": 140 }],
16
- "no-multiple-empty-lines": [ "error", { "max": 2 }],
17
- "no-var": [ "warn" ],
18
- "prefer-rest-params": ["warn"],
19
- "vars-on-top": ["warn"],
20
- "no-param-reassign": [ "off" ],
21
- "no-use-before-define": [ "off" ],
22
- "newline-per-chained-call": [ "off" ],
23
- "comma-dangle": [ "error", "never" ],
24
- "linebreak-style": ["off"],
25
- "quotes": [ "error", "single" ],
26
- "sonarjs/cognitive-complexity": ["error", 40]
27
- }
28
- }
29
-