mathjs 10.5.0 → 10.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. package/HISTORY.md +12 -0
  2. package/docs/datatypes/matrices.md +17 -0
  3. package/docs/expressions/syntax.md +4 -1
  4. package/docs/reference/functions/fix.md +1 -0
  5. package/docs/reference/functions/floor.md +4 -0
  6. package/docs/reference/functions/resolve.md +2 -2
  7. package/docs/reference/functions/simplifyConstant.md +52 -0
  8. package/lib/browser/math.js +5 -5
  9. package/lib/browser/math.js.map +1 -1
  10. package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +6 -0
  11. package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -0
  12. package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +6 -0
  13. package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -3
  14. package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +3 -0
  15. package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +6 -0
  16. package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +3 -0
  17. package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -3
  18. package/lib/cjs/entry/impureFunctionsAny.generated.js +0 -1
  19. package/lib/cjs/entry/impureFunctionsNumber.generated.js +6 -7
  20. package/lib/cjs/entry/pureFunctionsAny.generated.js +10 -3
  21. package/lib/cjs/entry/pureFunctionsNumber.generated.js +21 -15
  22. package/lib/cjs/expression/node/IndexNode.js +26 -61
  23. package/lib/cjs/factoriesNumber.js +29 -24
  24. package/lib/cjs/function/algebra/resolve.js +3 -3
  25. package/lib/cjs/function/arithmetic/ceil.js +75 -39
  26. package/lib/cjs/function/arithmetic/fix.js +54 -16
  27. package/lib/cjs/function/arithmetic/floor.js +79 -37
  28. package/lib/cjs/function/arithmetic/nthRoot.js +1 -3
  29. package/lib/cjs/function/arithmetic/round.js +27 -47
  30. package/lib/cjs/header.js +2 -2
  31. package/lib/cjs/plain/number/arithmetic.js +9 -27
  32. package/lib/cjs/type/matrix/function/sparse.js +6 -0
  33. package/lib/cjs/utils/lruQueue.js +1 -3
  34. package/lib/cjs/utils/object.js +3 -1
  35. package/lib/cjs/version.js +1 -1
  36. package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
  37. package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
  38. package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
  39. package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
  40. package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
  41. package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
  42. package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
  43. package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
  44. package/lib/esm/entry/impureFunctionsAny.generated.js +0 -1
  45. package/lib/esm/entry/impureFunctionsNumber.generated.js +7 -8
  46. package/lib/esm/entry/pureFunctionsAny.generated.js +10 -3
  47. package/lib/esm/entry/pureFunctionsNumber.generated.js +16 -10
  48. package/lib/esm/expression/node/BlockNode.js +3 -3
  49. package/lib/esm/expression/node/IndexNode.js +22 -59
  50. package/lib/esm/expression/parse.js +5 -5
  51. package/lib/esm/factoriesNumber.js +6 -6
  52. package/lib/esm/function/algebra/decomposition/qr.js +2 -2
  53. package/lib/esm/function/algebra/resolve.js +3 -3
  54. package/lib/esm/function/algebra/solver/utils/solveValidation.js +5 -5
  55. package/lib/esm/function/algebra/sparse/csChol.js +2 -2
  56. package/lib/esm/function/algebra/sparse/csLeaf.js +2 -2
  57. package/lib/esm/function/algebra/sparse/csLu.js +3 -3
  58. package/lib/esm/function/arithmetic/ceil.js +61 -24
  59. package/lib/esm/function/arithmetic/fix.js +51 -13
  60. package/lib/esm/function/arithmetic/floor.js +65 -23
  61. package/lib/esm/function/arithmetic/nthRoot.js +1 -3
  62. package/lib/esm/function/arithmetic/nthRoots.js +1 -1
  63. package/lib/esm/function/arithmetic/round.js +25 -43
  64. package/lib/esm/function/matrix/expm.js +2 -2
  65. package/lib/esm/function/probability/gamma.js +1 -1
  66. package/lib/esm/function/string/bin.js +1 -1
  67. package/lib/esm/function/string/hex.js +1 -1
  68. package/lib/esm/function/string/oct.js +1 -1
  69. package/lib/esm/plain/number/arithmetic.js +9 -17
  70. package/lib/esm/type/complex/Complex.js +2 -2
  71. package/lib/esm/type/matrix/DenseMatrix.js +2 -2
  72. package/lib/esm/type/matrix/FibonacciHeap.js +2 -2
  73. package/lib/esm/type/matrix/SparseMatrix.js +13 -13
  74. package/lib/esm/type/matrix/function/sparse.js +6 -0
  75. package/lib/esm/type/unit/Unit.js +7 -7
  76. package/lib/esm/utils/lruQueue.js +1 -2
  77. package/lib/esm/utils/number.js +3 -3
  78. package/lib/esm/utils/object.js +3 -1
  79. package/lib/esm/version.js +1 -1
  80. package/package.json +14 -3
  81. package/types/index.d.ts +1794 -1372
  82. package/types/index.ts +697 -266
@@ -1,12 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
-
7
1
  import { factory } from '../../utils/factory.js';
8
2
  import { deepMap } from '../../utils/collection.js';
9
- import { isInteger } from '../../utils/number.js';
10
3
  import { createAlgorithm11 } from '../../type/matrix/utils/algorithm11.js';
11
4
  import { createAlgorithm12 } from '../../type/matrix/utils/algorithm12.js';
12
5
  import { createAlgorithm14 } from '../../type/matrix/utils/algorithm14.js';
@@ -70,7 +63,16 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
70
63
  * @return {number | BigNumber | Fraction | Complex | Array | Matrix} Rounded value
71
64
  */
72
65
 
73
- return typed(name, _objectSpread(_objectSpread({}, roundNumberSignatures), {}, {
66
+ return typed(name, {
67
+ number: roundNumber,
68
+ 'number, number': roundNumber,
69
+ 'number, BigNumber': function numberBigNumber(x, n) {
70
+ if (!n.isInteger()) {
71
+ throw new TypeError(NO_INT);
72
+ }
73
+
74
+ return new BigNumber(x).toDecimalPlaces(n.toNumber());
75
+ },
74
76
  Complex: function Complex(x) {
75
77
  return x.round();
76
78
  },
@@ -90,13 +92,6 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
90
92
 
91
93
  return x.round(_n);
92
94
  },
93
- 'number, BigNumber': function numberBigNumber(x, n) {
94
- if (!n.isInteger()) {
95
- throw new TypeError(NO_INT);
96
- }
97
-
98
- return new BigNumber(x).toDecimalPlaces(n.toNumber());
99
- },
100
95
  BigNumber: function BigNumber(x) {
101
96
  return x.toDecimalPlaces(0);
102
97
  },
@@ -117,6 +112,13 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
117
112
 
118
113
  return x.round(n);
119
114
  },
115
+ 'Fraction, BigNumber': function FractionBigNumber(x, n) {
116
+ if (!n.isInteger()) {
117
+ throw new TypeError(NO_INT);
118
+ }
119
+
120
+ return x.round(n.toNumber());
121
+ },
120
122
  'Array | Matrix': function ArrayMatrix(x) {
121
123
  // deep map collection, skip zeros since round(0) = 0
122
124
  return deepMap(x, this, true);
@@ -127,7 +129,11 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
127
129
  'DenseMatrix, number | BigNumber': function DenseMatrixNumberBigNumber(x, y) {
128
130
  return algorithm14(x, y, this, false);
129
131
  },
130
- 'number | Complex | BigNumber, SparseMatrix': function numberComplexBigNumberSparseMatrix(x, y) {
132
+ 'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
133
+ // use matrix implementation
134
+ return algorithm14(matrix(x), y, this, false).valueOf();
135
+ },
136
+ 'number | Complex | BigNumber | Fraction, SparseMatrix': function numberComplexBigNumberFractionSparseMatrix(x, y) {
131
137
  // check scalar is zero
132
138
  if (equalScalar(x, 0)) {
133
139
  // do not execute algorithm, result will be a zero matrix
@@ -136,7 +142,7 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
136
142
 
137
143
  return algorithm12(y, x, this, true);
138
144
  },
139
- 'number | Complex | BigNumber, DenseMatrix': function numberComplexBigNumberDenseMatrix(x, y) {
145
+ 'number | Complex | BigNumber | Fraction, DenseMatrix': function numberComplexBigNumberFractionDenseMatrix(x, y) {
140
146
  // check scalar is zero
141
147
  if (equalScalar(x, 0)) {
142
148
  // do not execute algorithm, result will be a zero matrix
@@ -145,33 +151,9 @@ export var createRound = /* #__PURE__ */factory(name, dependencies, _ref => {
145
151
 
146
152
  return algorithm14(y, x, this, true);
147
153
  },
148
- 'Array, number | BigNumber': function ArrayNumberBigNumber(x, y) {
149
- // use matrix implementation
150
- return algorithm14(matrix(x), y, this, false).valueOf();
151
- },
152
- 'number | Complex | BigNumber, Array': function numberComplexBigNumberArray(x, y) {
154
+ 'number | Complex | BigNumber | Fraction, Array': function numberComplexBigNumberFractionArray(x, y) {
153
155
  // use matrix implementation
154
156
  return algorithm14(matrix(y), x, this, true).valueOf();
155
157
  }
156
- }));
157
- });
158
- var roundNumberSignatures = {
159
- number: roundNumber,
160
- 'number, number': function numberNumber(x, n) {
161
- if (!isInteger(n)) {
162
- throw new TypeError(NO_INT);
163
- }
164
-
165
- if (n < 0 || n > 15) {
166
- throw new Error('Number of decimals in function round must be in the range of 0-15');
167
- }
168
-
169
- return roundNumber(x, n);
170
- }
171
- };
172
- export var createRoundNumber = /* #__PURE__ */factory(name, ['typed'], _ref2 => {
173
- var {
174
- typed
175
- } = _ref2;
176
- return typed(name, roundNumberSignatures);
158
+ });
177
159
  });
@@ -132,8 +132,8 @@ export var createExpm = /* #__PURE__ */factory(name, dependencies, _ref => {
132
132
 
133
133
  if (errorEstimate(infNorm, q, j) < eps) {
134
134
  return {
135
- q: q,
136
- j: j
135
+ q,
136
+ j
137
137
  };
138
138
  }
139
139
  }
@@ -107,7 +107,7 @@ export var createGamma = /* #__PURE__ */factory(name, dependencies, _ref => {
107
107
  var precision = config.precision + (Math.log(n.toNumber()) | 0);
108
108
 
109
109
  var Big = _BigNumber.clone({
110
- precision: precision
110
+ precision
111
111
  });
112
112
 
113
113
  if (n % 2 === 1) {
@@ -37,7 +37,7 @@ export var createBin = factory(name, dependencies, _ref => {
37
37
  'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) {
38
38
  return format(n, {
39
39
  notation: 'bin',
40
- wordSize: wordSize
40
+ wordSize
41
41
  });
42
42
  }
43
43
  });
@@ -37,7 +37,7 @@ export var createHex = factory(name, dependencies, _ref => {
37
37
  'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) {
38
38
  return format(n, {
39
39
  notation: 'hex',
40
- wordSize: wordSize
40
+ wordSize
41
41
  });
42
42
  }
43
43
  });
@@ -37,7 +37,7 @@ export var createOct = factory(name, dependencies, _ref => {
37
37
  'number | BigNumber, number': function numberBigNumberNumber(n, wordSize) {
38
38
  return format(n, {
39
39
  notation: 'oct',
40
- wordSize: wordSize
40
+ wordSize
41
41
  });
42
42
  }
43
43
  });
@@ -1,4 +1,4 @@
1
- import { isInteger, log2, log10, cbrt, expm1, sign, toFixed, log1p } from '../../utils/number.js';
1
+ import { cbrt, expm1, isInteger, log10, log1p, log2, sign, toFixed } from '../../utils/number.js';
2
2
  var n1 = 'number';
3
3
  var n2 = 'number, number';
4
4
  export function absNumber(a) {
@@ -33,10 +33,6 @@ export function cbrtNumber(x) {
33
33
  return cbrt(x);
34
34
  }
35
35
  cbrtNumber.signature = n1;
36
- export function ceilNumber(x) {
37
- return Math.ceil(x);
38
- }
39
- ceilNumber.signature = n1;
40
36
  export function cubeNumber(x) {
41
37
  return x * x * x;
42
38
  }
@@ -49,14 +45,6 @@ export function expm1Number(x) {
49
45
  return expm1(x);
50
46
  }
51
47
  expm1Number.signature = n1;
52
- export function fixNumber(x) {
53
- return x > 0 ? Math.floor(x) : Math.ceil(x);
54
- }
55
- fixNumber.signature = n1;
56
- export function floorNumber(x) {
57
- return Math.floor(x);
58
- }
59
- floorNumber.signature = n1;
60
48
  /**
61
49
  * Calculate gcd for numbers
62
50
  * @param {number} a
@@ -182,11 +170,12 @@ modNumber.signature = n2;
182
170
  * Calculate the nth root of a, solve x^root == a
183
171
  * http://rosettacode.org/wiki/Nth_root#JavaScript
184
172
  * @param {number} a
185
- * @param {number} root
173
+ * @param {number} [2] root
186
174
  * @private
187
175
  */
188
176
 
189
- export function nthRootNumber(a, root) {
177
+ export function nthRootNumber(a) {
178
+ var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
190
179
  var inv = root < 0;
191
180
 
192
181
  if (inv) {
@@ -236,7 +225,6 @@ export function nthRootNumber(a, root) {
236
225
  return inv ? 1 / x : x
237
226
  */
238
227
  }
239
- nthRootNumber.signature = n2;
240
228
  export function signNumber(x) {
241
229
  return sign(x);
242
230
  }
@@ -325,9 +313,13 @@ powNumber.signature = n2;
325
313
 
326
314
  export function roundNumber(value) {
327
315
  var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
316
+
317
+ if (!isInteger(decimals) || decimals < 0 || decimals > 15) {
318
+ throw new Error('Number of decimals in function round must be an integer from 0 to 15 inclusive');
319
+ }
320
+
328
321
  return parseFloat(toFixed(value, decimals));
329
322
  }
330
- roundNumber.signature = n2;
331
323
  /**
332
324
  * Calculate the norm of a number, the absolute value.
333
325
  * @param {number} x
@@ -138,8 +138,8 @@ export var createComplexClass = /* #__PURE__ */factory(name, dependencies, () =>
138
138
 
139
139
  if (isNumber(phi)) {
140
140
  return new Complex({
141
- r: r,
142
- phi: phi
141
+ r,
142
+ phi
143
143
  });
144
144
  }
145
145
 
@@ -793,7 +793,7 @@ export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _
793
793
 
794
794
 
795
795
  return new DenseMatrix({
796
- data: data,
796
+ data,
797
797
  size: [n],
798
798
  datatype: this._datatype
799
799
  });
@@ -918,7 +918,7 @@ export var createDenseMatrixClass = /* #__PURE__ */factory(name, dependencies, _
918
918
 
919
919
 
920
920
  return new DenseMatrix({
921
- data: data,
921
+ data,
922
922
  size: [rows, columns]
923
923
  });
924
924
  };
@@ -39,8 +39,8 @@ export var createFibonacciHeapClass = /* #__PURE__ */factory(name, dependencies,
39
39
  FibonacciHeap.prototype.insert = function (key, value) {
40
40
  // create node
41
41
  var node = {
42
- key: key,
43
- value: value,
42
+ key,
43
+ value,
44
44
  degree: 0
45
45
  }; // check we have a node in the minimum
46
46
 
@@ -350,10 +350,10 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
350
350
  ptr.push(index.length); // return matrix
351
351
 
352
352
  return new SparseMatrix({
353
- values: values,
354
- index: index,
355
- ptr: ptr,
356
- size: size,
353
+ values,
354
+ index,
355
+ ptr,
356
+ size,
357
357
  datatype: matrix._datatype
358
358
  });
359
359
  }
@@ -1004,9 +1004,9 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
1004
1004
  ptr.push(values.length); // return sparse matrix
1005
1005
 
1006
1006
  return new SparseMatrix({
1007
- values: values,
1008
- index: index,
1009
- ptr: ptr,
1007
+ values,
1008
+ index,
1009
+ ptr,
1010
1010
  size: [maxRow - minRow + 1, maxColumn - minColumn + 1]
1011
1011
  });
1012
1012
  }
@@ -1273,9 +1273,9 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
1273
1273
  ptr.push(values.length); // return matrix
1274
1274
 
1275
1275
  return new SparseMatrix({
1276
- values: values,
1277
- index: index,
1278
- ptr: ptr,
1276
+ values,
1277
+ index,
1278
+ ptr,
1279
1279
  size: [n, 1]
1280
1280
  });
1281
1281
  };
@@ -1432,9 +1432,9 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
1432
1432
  ptr.push(values.length); // create SparseMatrix
1433
1433
 
1434
1434
  return new SparseMatrix({
1435
- values: values,
1436
- index: index,
1437
- ptr: ptr,
1435
+ values,
1436
+ index,
1437
+ ptr,
1438
1438
  size: [rows, columns]
1439
1439
  });
1440
1440
  };
@@ -11,6 +11,9 @@ export var createSparse = /* #__PURE__ */factory(name, dependencies, _ref => {
11
11
  * Create a Sparse Matrix. The function creates a new `math.Matrix` object from
12
12
  * an `Array`. A Matrix has utility functions to manipulate the data in the
13
13
  * matrix, like getting the size and getting or setting values in the matrix.
14
+ * Note that a Sparse Matrix is always 2-dimensional, so for example if
15
+ * you create one from a plain array of _n_ numbers, you get an _n_ by 1
16
+ * Sparse "column vector".
14
17
  *
15
18
  * Syntax:
16
19
  *
@@ -25,6 +28,9 @@ export var createSparse = /* #__PURE__ */factory(name, dependencies, _ref => {
25
28
  * m.resize([3, 2], 5)
26
29
  * m.valueOf() // Array [[1, 2], [3, 4], [5, 5]]
27
30
  * m.get([1, 0]) // number 3
31
+ * let v = math.sparse([0, 0, 1])
32
+ * v.size() // Array [3, 1]
33
+ * v.get([2, 0]) // number 1
28
34
  *
29
35
  * See also:
30
36
  *
@@ -361,7 +361,7 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
361
361
  unit.units.push({
362
362
  unit: res.unit,
363
363
  prefix: res.prefix,
364
- power: power
364
+ power
365
365
  });
366
366
 
367
367
  for (var i = 0; i < BASE_DIMENSIONS.length; i++) {
@@ -3879,11 +3879,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
3879
3879
  newBaseUnit.key = baseName;
3880
3880
  BASE_UNITS[baseName] = newBaseUnit;
3881
3881
  newUnit = {
3882
- name: name,
3882
+ name,
3883
3883
  value: 1,
3884
3884
  dimensions: BASE_UNITS[baseName].dimensions.slice(0),
3885
- prefixes: prefixes,
3886
- offset: offset,
3885
+ prefixes,
3886
+ offset,
3887
3887
  base: BASE_UNITS[baseName]
3888
3888
  };
3889
3889
  currentUnitSystem[baseName] = {
@@ -3892,11 +3892,11 @@ export var createUnitClass = /* #__PURE__ */factory(name, dependencies, _ref =>
3892
3892
  };
3893
3893
  } else {
3894
3894
  newUnit = {
3895
- name: name,
3895
+ name,
3896
3896
  value: defUnit.value,
3897
3897
  dimensions: defUnit.dimensions.slice(0),
3898
- prefixes: prefixes,
3899
- offset: offset
3898
+ prefixes,
3899
+ offset
3900
3900
  }; // Create a new base if no matching base exists
3901
3901
 
3902
3902
  var anyMatch = false;
@@ -60,5 +60,4 @@ export function lruQueue(limit) {
60
60
  map = Object.create(null);
61
61
  }
62
62
  };
63
- }
64
- ;
63
+ }
@@ -345,9 +345,9 @@ export function splitNumber(value) {
345
345
  }
346
346
 
347
347
  return {
348
- sign: sign,
349
- coefficients: coefficients,
350
- exponent: exponent
348
+ sign,
349
+ coefficients,
350
+ exponent
351
351
  };
352
352
  }
353
353
  /**
@@ -200,7 +200,9 @@ export function canDefineProperty() {
200
200
  try {
201
201
  if (Object.defineProperty) {
202
202
  Object.defineProperty({}, 'x', {
203
- get: function get() {}
203
+ get: function get() {
204
+ return null;
205
+ }
204
206
  });
205
207
  return true;
206
208
  }
@@ -1,2 +1,2 @@
1
- export var version = '10.5.0'; // Note: This file is automatically generated when building math.js.
1
+ export var version = '10.5.1'; // Note: This file is automatically generated when building math.js.
2
2
  // Changes made in this file will be overwritten.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mathjs",
3
- "version": "10.5.0",
3
+ "version": "10.5.1",
4
4
  "description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
5
5
  "author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
6
6
  "homepage": "https://mathjs.org",
@@ -26,6 +26,7 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "@babel/runtime": "^7.17.9",
29
+ "@types/mocha": "^9.1.1",
29
30
  "complex.js": "^2.1.1",
30
31
  "decimal.js": "^10.3.1",
31
32
  "escape-latex": "^1.2.0",
@@ -42,6 +43,8 @@
42
43
  "@babel/preset-env": "7.16.11",
43
44
  "@babel/register": "7.17.7",
44
45
  "@types/assert": "^1.5.6",
46
+ "@typescript-eslint/eslint-plugin": "^5.20.0",
47
+ "@typescript-eslint/parser": "^5.20.0",
45
48
  "assert": "2.0.0",
46
49
  "babel-loader": "8.2.4",
47
50
  "benchmark": "2.1.4",
@@ -49,6 +52,14 @@
49
52
  "core-js": "3.22.0",
50
53
  "del": "6.0.0",
51
54
  "dtslint": "4.2.1",
55
+ "eslint": "^8.13.0",
56
+ "eslint-config-prettier": "^8.5.0",
57
+ "eslint-config-standard": "^17.0.0",
58
+ "eslint-plugin-import": "^2.26.0",
59
+ "eslint-plugin-mocha": "^10.0.4",
60
+ "eslint-plugin-n": "^15.1.0",
61
+ "eslint-plugin-prettier": "^4.0.0",
62
+ "eslint-plugin-promise": "^6.0.0",
52
63
  "expect-type": "^0.13.0",
53
64
  "expr-eval": "2.0.2",
54
65
  "fancy-log": "2.0.0",
@@ -75,8 +86,8 @@
75
86
  "numericjs": "1.2.6",
76
87
  "nyc": "15.1.0",
77
88
  "pad-right": "0.2.2",
89
+ "prettier": "^2.6.2",
78
90
  "process": "0.11.10",
79
- "standard": "16.0.4",
80
91
  "sylvester": "0.0.21",
81
92
  "ts-node": "10.7.0",
82
93
  "typescript": "4.6.3",
@@ -135,7 +146,7 @@
135
146
  "build:docs": "gulp --gulpfile gulpfile.cjs docs",
136
147
  "compile": "gulp --gulpfile gulpfile.cjs compile",
137
148
  "watch": "gulp --gulpfile gulpfile.cjs watch",
138
- "lint": "standard --env=mocha --env=worker",
149
+ "lint": "eslint --cache --max-warnings 0 src/ test/ types/",
139
150
  "format": "npm run lint -- --fix",
140
151
  "validate:ascii": "gulp --gulpfile gulpfile.cjs validate:ascii",
141
152
  "test": "npm run test:src && npm run lint",