mathjs 9.2.0 → 9.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (936) hide show
  1. package/HISTORY.md +47 -1
  2. package/README.md +6 -5
  3. package/bin/cli.js +11 -11
  4. package/docs/datatypes/matrices.md +15 -0
  5. package/docs/expressions/parsing.md +21 -4
  6. package/docs/expressions/syntax.md +7 -0
  7. package/docs/reference/functions/complex.md +5 -49
  8. package/docs/reference/functions/eigs.md +12 -12
  9. package/docs/reference/functions/flatten.md +1 -0
  10. package/docs/reference/functions/lsolveAll.md +2 -2
  11. package/docs/reference/functions/matrixFromColumns.md +43 -0
  12. package/docs/reference/functions/matrixFromFunction.md +48 -0
  13. package/docs/reference/functions/matrixFromRows.md +43 -0
  14. package/docs/reference/functions/usolveAll.md +2 -2
  15. package/docs/reference/functions.md +6 -3
  16. package/examples/advanced/custom_scope_objects.js +115 -0
  17. package/examples/node_modules/.bin/envinfo +15 -0
  18. package/examples/node_modules/.bin/envinfo.cmd +17 -0
  19. package/examples/node_modules/.bin/envinfo.ps1 +18 -0
  20. package/examples/node_modules/.bin/import-local-fixture +15 -0
  21. package/examples/node_modules/.bin/import-local-fixture.cmd +17 -0
  22. package/examples/node_modules/.bin/import-local-fixture.ps1 +18 -0
  23. package/examples/node_modules/.bin/node-which +15 -0
  24. package/examples/node_modules/.bin/node-which.cmd +17 -0
  25. package/examples/node_modules/.bin/node-which.ps1 +18 -0
  26. package/examples/node_modules/.bin/webpack-cli +15 -0
  27. package/examples/node_modules/.bin/webpack-cli.cmd +17 -0
  28. package/examples/node_modules/.bin/webpack-cli.ps1 +18 -0
  29. package/examples/node_modules/@discoveryjs/json-ext/CHANGELOG.md +42 -0
  30. package/examples/node_modules/@discoveryjs/json-ext/LICENSE +21 -0
  31. package/examples/node_modules/@discoveryjs/json-ext/README.md +255 -0
  32. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.js +808 -0
  33. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +1 -0
  34. package/examples/node_modules/@discoveryjs/json-ext/package.json +93 -0
  35. package/examples/node_modules/@discoveryjs/json-ext/src/index.js +6 -0
  36. package/examples/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +339 -0
  37. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-info.js +224 -0
  38. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream-browser.js +3 -0
  39. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +394 -0
  40. package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder-browser.js +1 -0
  41. package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder.js +1 -0
  42. package/examples/node_modules/@discoveryjs/json-ext/src/utils.js +148 -0
  43. package/examples/node_modules/@webpack-cli/configtest/CHANGELOG.md +18 -0
  44. package/examples/node_modules/@webpack-cli/configtest/LICENSE +20 -0
  45. package/examples/node_modules/@webpack-cli/configtest/lib/index.d.ts +4 -0
  46. package/examples/node_modules/@webpack-cli/configtest/lib/index.js +62 -0
  47. package/examples/node_modules/@webpack-cli/configtest/package.json +45 -0
  48. package/examples/node_modules/@webpack-cli/info/CHANGELOG.md +61 -0
  49. package/examples/node_modules/@webpack-cli/info/LICENSE +20 -0
  50. package/examples/node_modules/@webpack-cli/info/README.md +49 -0
  51. package/examples/node_modules/@webpack-cli/info/lib/index.d.ts +4 -0
  52. package/examples/node_modules/@webpack-cli/info/lib/index.js +66 -0
  53. package/examples/node_modules/@webpack-cli/info/package.json +47 -0
  54. package/examples/node_modules/@webpack-cli/serve/CHANGELOG.md +93 -0
  55. package/examples/node_modules/@webpack-cli/serve/LICENSE +20 -0
  56. package/examples/node_modules/@webpack-cli/serve/README.md +26 -0
  57. package/examples/node_modules/@webpack-cli/serve/lib/index.d.ts +4 -0
  58. package/examples/node_modules/@webpack-cli/serve/lib/index.js +107 -0
  59. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.d.ts +12 -0
  60. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.js +113 -0
  61. package/examples/node_modules/@webpack-cli/serve/lib/types.d.ts +48 -0
  62. package/examples/node_modules/@webpack-cli/serve/lib/types.js +12 -0
  63. package/examples/node_modules/@webpack-cli/serve/package.json +50 -0
  64. package/examples/node_modules/ansi-colors/LICENSE +21 -0
  65. package/examples/node_modules/ansi-colors/README.md +315 -0
  66. package/examples/node_modules/ansi-colors/index.js +177 -0
  67. package/examples/node_modules/ansi-colors/package.json +152 -0
  68. package/examples/node_modules/ansi-colors/symbols.js +70 -0
  69. package/examples/node_modules/ansi-colors/types/index.d.ts +161 -0
  70. package/examples/node_modules/clone-deep/LICENSE +21 -0
  71. package/examples/node_modules/clone-deep/README.md +106 -0
  72. package/examples/node_modules/clone-deep/index.js +49 -0
  73. package/examples/node_modules/clone-deep/package.json +112 -0
  74. package/examples/node_modules/colorette/LICENSE.md +7 -0
  75. package/examples/node_modules/colorette/README.md +102 -0
  76. package/examples/node_modules/colorette/index.cjs +73 -0
  77. package/examples/node_modules/colorette/index.d.ts +49 -0
  78. package/examples/node_modules/colorette/index.js +73 -0
  79. package/examples/node_modules/colorette/package.json +73 -0
  80. package/examples/node_modules/commander/CHANGELOG.md +440 -0
  81. package/examples/node_modules/commander/LICENSE +22 -0
  82. package/examples/node_modules/commander/Readme.md +917 -0
  83. package/examples/node_modules/commander/esm.mjs +4 -0
  84. package/examples/node_modules/commander/index.js +2217 -0
  85. package/examples/node_modules/commander/package-support.json +16 -0
  86. package/examples/node_modules/commander/package.json +100 -0
  87. package/examples/node_modules/commander/typings/index.d.ts +627 -0
  88. package/examples/node_modules/cross-spawn/CHANGELOG.md +130 -0
  89. package/examples/node_modules/cross-spawn/LICENSE +21 -0
  90. package/examples/node_modules/cross-spawn/README.md +96 -0
  91. package/examples/node_modules/cross-spawn/index.js +39 -0
  92. package/examples/node_modules/cross-spawn/lib/enoent.js +59 -0
  93. package/examples/node_modules/cross-spawn/lib/parse.js +91 -0
  94. package/examples/node_modules/cross-spawn/lib/util/escape.js +45 -0
  95. package/examples/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  96. package/examples/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  97. package/examples/node_modules/cross-spawn/package.json +104 -0
  98. package/examples/node_modules/enquirer/CHANGELOG.md +135 -0
  99. package/examples/node_modules/enquirer/LICENSE +21 -0
  100. package/examples/node_modules/enquirer/README.md +1752 -0
  101. package/examples/node_modules/enquirer/index.d.ts +151 -0
  102. package/examples/node_modules/enquirer/index.js +250 -0
  103. package/examples/node_modules/enquirer/lib/ansi.js +116 -0
  104. package/examples/node_modules/enquirer/lib/combos.js +75 -0
  105. package/examples/node_modules/enquirer/lib/completer.js +52 -0
  106. package/examples/node_modules/enquirer/lib/interpolate.js +266 -0
  107. package/examples/node_modules/enquirer/lib/keypress.js +243 -0
  108. package/examples/node_modules/enquirer/lib/placeholder.js +63 -0
  109. package/examples/node_modules/enquirer/lib/prompt.js +485 -0
  110. package/examples/node_modules/enquirer/lib/prompts/autocomplete.js +113 -0
  111. package/examples/node_modules/enquirer/lib/prompts/basicauth.js +41 -0
  112. package/examples/node_modules/enquirer/lib/prompts/confirm.js +13 -0
  113. package/examples/node_modules/enquirer/lib/prompts/editable.js +136 -0
  114. package/examples/node_modules/enquirer/lib/prompts/form.js +196 -0
  115. package/examples/node_modules/enquirer/lib/prompts/index.js +28 -0
  116. package/examples/node_modules/enquirer/lib/prompts/input.js +55 -0
  117. package/examples/node_modules/enquirer/lib/prompts/invisible.js +11 -0
  118. package/examples/node_modules/enquirer/lib/prompts/list.js +36 -0
  119. package/examples/node_modules/enquirer/lib/prompts/multiselect.js +11 -0
  120. package/examples/node_modules/enquirer/lib/prompts/numeral.js +1 -0
  121. package/examples/node_modules/enquirer/lib/prompts/password.js +18 -0
  122. package/examples/node_modules/enquirer/lib/prompts/quiz.js +37 -0
  123. package/examples/node_modules/enquirer/lib/prompts/scale.js +237 -0
  124. package/examples/node_modules/enquirer/lib/prompts/select.js +139 -0
  125. package/examples/node_modules/enquirer/lib/prompts/snippet.js +185 -0
  126. package/examples/node_modules/enquirer/lib/prompts/sort.js +37 -0
  127. package/examples/node_modules/enquirer/lib/prompts/survey.js +163 -0
  128. package/examples/node_modules/enquirer/lib/prompts/text.js +1 -0
  129. package/examples/node_modules/enquirer/lib/prompts/toggle.js +109 -0
  130. package/examples/node_modules/enquirer/lib/render.js +33 -0
  131. package/examples/node_modules/enquirer/lib/roles.js +46 -0
  132. package/examples/node_modules/enquirer/lib/state.js +69 -0
  133. package/examples/node_modules/enquirer/lib/styles.js +144 -0
  134. package/examples/node_modules/enquirer/lib/symbols.js +66 -0
  135. package/examples/node_modules/enquirer/lib/theme.js +11 -0
  136. package/examples/node_modules/enquirer/lib/timer.js +38 -0
  137. package/examples/node_modules/enquirer/lib/types/array.js +658 -0
  138. package/examples/node_modules/enquirer/lib/types/auth.js +29 -0
  139. package/examples/node_modules/enquirer/lib/types/boolean.js +88 -0
  140. package/examples/node_modules/enquirer/lib/types/index.js +7 -0
  141. package/examples/node_modules/enquirer/lib/types/number.js +86 -0
  142. package/examples/node_modules/enquirer/lib/types/string.js +185 -0
  143. package/examples/node_modules/enquirer/lib/utils.js +268 -0
  144. package/examples/node_modules/enquirer/package.json +148 -0
  145. package/examples/node_modules/envinfo/LICENSE +21 -0
  146. package/examples/node_modules/envinfo/README.md +285 -0
  147. package/examples/node_modules/envinfo/dist/cli.js +2 -0
  148. package/examples/node_modules/envinfo/dist/envinfo.js +1 -0
  149. package/examples/node_modules/envinfo/package.json +130 -0
  150. package/examples/node_modules/execa/index.d.ts +554 -0
  151. package/examples/node_modules/execa/index.js +258 -0
  152. package/examples/node_modules/execa/lib/command.js +32 -0
  153. package/examples/node_modules/execa/lib/error.js +86 -0
  154. package/examples/node_modules/execa/lib/kill.js +112 -0
  155. package/examples/node_modules/execa/lib/promise.js +46 -0
  156. package/examples/node_modules/execa/lib/stdio.js +52 -0
  157. package/examples/node_modules/execa/lib/stream.js +97 -0
  158. package/examples/node_modules/execa/license +9 -0
  159. package/examples/node_modules/execa/package.json +102 -0
  160. package/examples/node_modules/execa/readme.md +650 -0
  161. package/examples/node_modules/fastest-levenshtein/.eslintrc.js +27 -0
  162. package/examples/node_modules/fastest-levenshtein/.prettierrc +4 -0
  163. package/examples/node_modules/fastest-levenshtein/.travis.yml +17 -0
  164. package/examples/node_modules/fastest-levenshtein/LICENSE.md +21 -0
  165. package/examples/node_modules/fastest-levenshtein/README.md +55 -0
  166. package/examples/node_modules/fastest-levenshtein/index.d.ts +2 -0
  167. package/examples/node_modules/fastest-levenshtein/index.js +147 -0
  168. package/examples/node_modules/fastest-levenshtein/package.json +90 -0
  169. package/examples/node_modules/fastest-levenshtein/test.js +64 -0
  170. package/examples/node_modules/find-up/index.d.ts +137 -0
  171. package/examples/node_modules/find-up/index.js +89 -0
  172. package/examples/node_modules/find-up/license +9 -0
  173. package/examples/node_modules/find-up/package.json +85 -0
  174. package/examples/node_modules/find-up/readme.md +156 -0
  175. package/examples/node_modules/function-bind/.editorconfig +20 -0
  176. package/examples/node_modules/function-bind/.eslintrc +15 -0
  177. package/examples/node_modules/function-bind/.jscs.json +176 -0
  178. package/examples/node_modules/function-bind/.npmignore +22 -0
  179. package/examples/node_modules/function-bind/.travis.yml +168 -0
  180. package/examples/node_modules/function-bind/LICENSE +20 -0
  181. package/examples/node_modules/function-bind/README.md +48 -0
  182. package/examples/node_modules/function-bind/implementation.js +52 -0
  183. package/examples/node_modules/function-bind/index.js +5 -0
  184. package/examples/node_modules/function-bind/package.json +94 -0
  185. package/examples/node_modules/function-bind/test/.eslintrc +9 -0
  186. package/examples/node_modules/function-bind/test/index.js +252 -0
  187. package/examples/node_modules/get-stream/buffer-stream.js +52 -0
  188. package/examples/node_modules/get-stream/index.d.ts +105 -0
  189. package/examples/node_modules/get-stream/index.js +61 -0
  190. package/examples/node_modules/get-stream/license +9 -0
  191. package/examples/node_modules/get-stream/package.json +79 -0
  192. package/examples/node_modules/get-stream/readme.md +124 -0
  193. package/examples/node_modules/has/LICENSE-MIT +22 -0
  194. package/examples/node_modules/has/README.md +18 -0
  195. package/examples/node_modules/has/package.json +73 -0
  196. package/examples/node_modules/has/src/index.js +5 -0
  197. package/examples/node_modules/has/test/index.js +10 -0
  198. package/examples/node_modules/human-signals/CHANGELOG.md +11 -0
  199. package/examples/node_modules/human-signals/LICENSE +201 -0
  200. package/examples/node_modules/human-signals/README.md +165 -0
  201. package/examples/node_modules/human-signals/build/src/core.js +273 -0
  202. package/examples/node_modules/human-signals/build/src/core.js.map +1 -0
  203. package/examples/node_modules/human-signals/build/src/main.d.ts +52 -0
  204. package/examples/node_modules/human-signals/build/src/main.js +71 -0
  205. package/examples/node_modules/human-signals/build/src/main.js.map +1 -0
  206. package/examples/node_modules/human-signals/build/src/realtime.js +19 -0
  207. package/examples/node_modules/human-signals/build/src/realtime.js.map +1 -0
  208. package/examples/node_modules/human-signals/build/src/signals.js +35 -0
  209. package/examples/node_modules/human-signals/build/src/signals.js.map +1 -0
  210. package/examples/node_modules/human-signals/package.json +96 -0
  211. package/examples/node_modules/import-local/fixtures/cli.js +7 -0
  212. package/examples/node_modules/import-local/index.js +19 -0
  213. package/examples/node_modules/import-local/license +9 -0
  214. package/examples/node_modules/import-local/package.json +83 -0
  215. package/examples/node_modules/import-local/readme.md +38 -0
  216. package/examples/node_modules/interpret/CHANGELOG +115 -0
  217. package/examples/node_modules/interpret/LICENSE +22 -0
  218. package/examples/node_modules/interpret/README.md +229 -0
  219. package/examples/node_modules/interpret/index.js +211 -0
  220. package/examples/node_modules/interpret/mjs-stub.js +1 -0
  221. package/examples/node_modules/interpret/package.json +118 -0
  222. package/examples/node_modules/is-core-module/.eslintignore +1 -0
  223. package/examples/node_modules/is-core-module/.eslintrc +18 -0
  224. package/examples/node_modules/is-core-module/.github/FUNDING.yml +12 -0
  225. package/examples/node_modules/is-core-module/.github/workflows/node-4+.yml +54 -0
  226. package/examples/node_modules/is-core-module/.github/workflows/node-iojs.yml +58 -0
  227. package/examples/node_modules/is-core-module/.github/workflows/node-pretest.yml +26 -0
  228. package/examples/node_modules/is-core-module/.github/workflows/node-zero.yml +58 -0
  229. package/examples/node_modules/is-core-module/.github/workflows/rebase.yml +15 -0
  230. package/examples/node_modules/is-core-module/.github/workflows/require-allow-edits.yml +14 -0
  231. package/examples/node_modules/is-core-module/.nycrc +13 -0
  232. package/examples/node_modules/is-core-module/CHANGELOG.md +58 -0
  233. package/examples/node_modules/is-core-module/LICENSE +20 -0
  234. package/examples/node_modules/is-core-module/README.md +37 -0
  235. package/examples/node_modules/is-core-module/core.json +83 -0
  236. package/examples/node_modules/is-core-module/index.js +69 -0
  237. package/examples/node_modules/is-core-module/package.json +94 -0
  238. package/examples/node_modules/is-core-module/test/index.js +83 -0
  239. package/examples/node_modules/is-plain-object/LICENSE +21 -0
  240. package/examples/node_modules/is-plain-object/README.md +104 -0
  241. package/examples/node_modules/is-plain-object/index.d.ts +5 -0
  242. package/examples/node_modules/is-plain-object/index.js +37 -0
  243. package/examples/node_modules/is-plain-object/package.json +121 -0
  244. package/examples/node_modules/is-stream/index.d.ts +80 -0
  245. package/examples/node_modules/is-stream/index.js +29 -0
  246. package/examples/node_modules/is-stream/license +9 -0
  247. package/examples/node_modules/is-stream/package.json +73 -0
  248. package/examples/node_modules/is-stream/readme.md +57 -0
  249. package/examples/node_modules/isexe/.npmignore +2 -0
  250. package/examples/node_modules/isexe/LICENSE +15 -0
  251. package/examples/node_modules/isexe/README.md +51 -0
  252. package/examples/node_modules/isexe/index.js +57 -0
  253. package/examples/node_modules/isexe/mode.js +41 -0
  254. package/examples/node_modules/isexe/package.json +60 -0
  255. package/examples/node_modules/isexe/test/basic.js +221 -0
  256. package/examples/node_modules/isexe/windows.js +42 -0
  257. package/examples/node_modules/isobject/LICENSE +21 -0
  258. package/examples/node_modules/isobject/README.md +122 -0
  259. package/examples/node_modules/isobject/index.d.ts +5 -0
  260. package/examples/node_modules/isobject/index.js +12 -0
  261. package/examples/node_modules/isobject/package.json +119 -0
  262. package/examples/node_modules/kind-of/CHANGELOG.md +160 -0
  263. package/examples/node_modules/kind-of/LICENSE +21 -0
  264. package/examples/node_modules/kind-of/README.md +367 -0
  265. package/examples/node_modules/kind-of/index.js +129 -0
  266. package/examples/node_modules/kind-of/package.json +144 -0
  267. package/examples/node_modules/locate-path/index.d.ts +83 -0
  268. package/examples/node_modules/locate-path/index.js +65 -0
  269. package/examples/node_modules/locate-path/license +9 -0
  270. package/examples/node_modules/locate-path/package.json +77 -0
  271. package/examples/node_modules/locate-path/readme.md +122 -0
  272. package/examples/node_modules/merge-stream/LICENSE +21 -0
  273. package/examples/node_modules/merge-stream/README.md +78 -0
  274. package/examples/node_modules/merge-stream/index.js +41 -0
  275. package/examples/node_modules/merge-stream/package.json +54 -0
  276. package/examples/node_modules/mimic-fn/index.d.ts +54 -0
  277. package/examples/node_modules/mimic-fn/index.js +13 -0
  278. package/examples/node_modules/mimic-fn/license +9 -0
  279. package/examples/node_modules/mimic-fn/package.json +74 -0
  280. package/examples/node_modules/mimic-fn/readme.md +69 -0
  281. package/examples/node_modules/npm-run-path/index.d.ts +89 -0
  282. package/examples/node_modules/npm-run-path/index.js +47 -0
  283. package/examples/node_modules/npm-run-path/license +9 -0
  284. package/examples/node_modules/npm-run-path/package.json +76 -0
  285. package/examples/node_modules/npm-run-path/readme.md +115 -0
  286. package/examples/node_modules/onetime/index.d.ts +64 -0
  287. package/examples/node_modules/onetime/index.js +44 -0
  288. package/examples/node_modules/onetime/license +9 -0
  289. package/examples/node_modules/onetime/package.json +75 -0
  290. package/examples/node_modules/onetime/readme.md +94 -0
  291. package/examples/node_modules/p-limit/index.d.ts +38 -0
  292. package/examples/node_modules/p-limit/index.js +57 -0
  293. package/examples/node_modules/p-limit/license +9 -0
  294. package/examples/node_modules/p-limit/package.json +84 -0
  295. package/examples/node_modules/p-limit/readme.md +101 -0
  296. package/examples/node_modules/p-locate/index.d.ts +64 -0
  297. package/examples/node_modules/p-locate/index.js +52 -0
  298. package/examples/node_modules/p-locate/license +9 -0
  299. package/examples/node_modules/p-locate/package.json +85 -0
  300. package/examples/node_modules/p-locate/readme.md +90 -0
  301. package/examples/node_modules/p-try/index.d.ts +39 -0
  302. package/examples/node_modules/p-try/index.js +9 -0
  303. package/examples/node_modules/p-try/license +9 -0
  304. package/examples/node_modules/p-try/package.json +74 -0
  305. package/examples/node_modules/p-try/readme.md +58 -0
  306. package/examples/node_modules/path-exists/index.d.ts +28 -0
  307. package/examples/node_modules/path-exists/index.js +23 -0
  308. package/examples/node_modules/path-exists/license +9 -0
  309. package/examples/node_modules/path-exists/package.json +71 -0
  310. package/examples/node_modules/path-exists/readme.md +52 -0
  311. package/examples/node_modules/path-key/index.d.ts +40 -0
  312. package/examples/node_modules/path-key/index.js +16 -0
  313. package/examples/node_modules/path-key/license +9 -0
  314. package/examples/node_modules/path-key/package.json +72 -0
  315. package/examples/node_modules/path-key/readme.md +61 -0
  316. package/examples/node_modules/path-parse/.travis.yml +9 -0
  317. package/examples/node_modules/path-parse/LICENSE +21 -0
  318. package/examples/node_modules/path-parse/README.md +42 -0
  319. package/examples/node_modules/path-parse/index.js +93 -0
  320. package/examples/node_modules/path-parse/package.json +61 -0
  321. package/examples/node_modules/path-parse/test.js +77 -0
  322. package/examples/node_modules/pkg-dir/index.d.ts +44 -0
  323. package/examples/node_modules/pkg-dir/index.js +17 -0
  324. package/examples/node_modules/pkg-dir/license +9 -0
  325. package/examples/node_modules/pkg-dir/package.json +88 -0
  326. package/examples/node_modules/pkg-dir/readme.md +66 -0
  327. package/examples/node_modules/rechoir/LICENSE +24 -0
  328. package/examples/node_modules/rechoir/README.md +74 -0
  329. package/examples/node_modules/rechoir/index.js +67 -0
  330. package/examples/node_modules/rechoir/lib/extension.js +19 -0
  331. package/examples/node_modules/rechoir/lib/normalize.js +13 -0
  332. package/examples/node_modules/rechoir/lib/register.js +15 -0
  333. package/examples/node_modules/rechoir/package.json +89 -0
  334. package/examples/node_modules/resolve/.editorconfig +37 -0
  335. package/examples/node_modules/resolve/.eslintignore +1 -0
  336. package/examples/node_modules/resolve/.eslintrc +39 -0
  337. package/examples/node_modules/resolve/LICENSE +21 -0
  338. package/examples/node_modules/resolve/SECURITY.md +3 -0
  339. package/examples/node_modules/resolve/appveyor.yml +74 -0
  340. package/examples/node_modules/resolve/example/async.js +5 -0
  341. package/examples/node_modules/resolve/example/sync.js +3 -0
  342. package/examples/node_modules/resolve/index.js +6 -0
  343. package/examples/node_modules/resolve/lib/async.js +320 -0
  344. package/examples/node_modules/resolve/lib/caller.js +8 -0
  345. package/examples/node_modules/resolve/lib/core.js +53 -0
  346. package/examples/node_modules/resolve/lib/core.json +83 -0
  347. package/examples/node_modules/resolve/lib/is-core.js +5 -0
  348. package/examples/node_modules/resolve/lib/node-modules-paths.js +42 -0
  349. package/examples/node_modules/resolve/lib/normalize-options.js +10 -0
  350. package/examples/node_modules/resolve/lib/sync.js +199 -0
  351. package/examples/node_modules/resolve/package.json +80 -0
  352. package/examples/node_modules/resolve/readme.markdown +279 -0
  353. package/examples/node_modules/resolve/test/.eslintrc +5 -0
  354. package/examples/node_modules/resolve/test/core.js +81 -0
  355. package/examples/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  356. package/examples/node_modules/resolve/test/dotdot/index.js +1 -0
  357. package/examples/node_modules/resolve/test/dotdot.js +29 -0
  358. package/examples/node_modules/resolve/test/faulty_basedir.js +29 -0
  359. package/examples/node_modules/resolve/test/filter.js +34 -0
  360. package/examples/node_modules/resolve/test/filter_sync.js +33 -0
  361. package/examples/node_modules/resolve/test/mock.js +315 -0
  362. package/examples/node_modules/resolve/test/mock_sync.js +216 -0
  363. package/examples/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  364. package/examples/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  365. package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  366. package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  367. package/examples/node_modules/resolve/test/module_dir.js +56 -0
  368. package/examples/node_modules/resolve/test/node-modules-paths.js +143 -0
  369. package/examples/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  370. package/examples/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  371. package/examples/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  372. package/examples/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  373. package/examples/node_modules/resolve/test/node_path.js +70 -0
  374. package/examples/node_modules/resolve/test/nonstring.js +9 -0
  375. package/examples/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  376. package/examples/node_modules/resolve/test/pathfilter.js +75 -0
  377. package/examples/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  378. package/examples/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  379. package/examples/node_modules/resolve/test/precedence/aaa.js +1 -0
  380. package/examples/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  381. package/examples/node_modules/resolve/test/precedence/bbb.js +1 -0
  382. package/examples/node_modules/resolve/test/precedence.js +23 -0
  383. package/examples/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  384. package/examples/node_modules/resolve/test/resolver/baz/package.json +4 -0
  385. package/examples/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  386. package/examples/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  387. package/examples/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  388. package/examples/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  389. package/examples/node_modules/resolve/test/resolver/cup.coffee +1 -0
  390. package/examples/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  391. package/examples/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  392. package/examples/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  393. package/examples/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  394. package/examples/node_modules/resolve/test/resolver/foo.js +1 -0
  395. package/examples/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  396. package/examples/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  397. package/examples/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  398. package/examples/node_modules/resolve/test/resolver/mug.coffee +0 -0
  399. package/examples/node_modules/resolve/test/resolver/mug.js +0 -0
  400. package/examples/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  401. package/examples/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  402. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  403. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  404. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  405. package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  406. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  407. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  408. package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  409. package/examples/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  410. package/examples/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  411. package/examples/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  412. package/examples/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  413. package/examples/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  414. package/examples/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  415. package/examples/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  416. package/examples/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  417. package/examples/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  418. package/examples/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  419. package/examples/node_modules/resolve/test/resolver.js +450 -0
  420. package/examples/node_modules/resolve/test/resolver_sync.js +358 -0
  421. package/examples/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  422. package/examples/node_modules/resolve/test/shadowed_core.js +54 -0
  423. package/examples/node_modules/resolve/test/subdirs.js +13 -0
  424. package/examples/node_modules/resolve/test/symlinks.js +176 -0
  425. package/examples/node_modules/resolve-cwd/index.d.ts +48 -0
  426. package/examples/node_modules/resolve-cwd/index.js +5 -0
  427. package/examples/node_modules/resolve-cwd/license +9 -0
  428. package/examples/node_modules/resolve-cwd/package.json +75 -0
  429. package/examples/node_modules/resolve-cwd/readme.md +58 -0
  430. package/examples/node_modules/resolve-from/index.d.ts +31 -0
  431. package/examples/node_modules/resolve-from/index.js +47 -0
  432. package/examples/node_modules/resolve-from/license +9 -0
  433. package/examples/node_modules/resolve-from/package.json +68 -0
  434. package/examples/node_modules/resolve-from/readme.md +72 -0
  435. package/examples/node_modules/shallow-clone/LICENSE +21 -0
  436. package/examples/node_modules/shallow-clone/README.md +153 -0
  437. package/examples/node_modules/shallow-clone/index.js +83 -0
  438. package/examples/node_modules/shallow-clone/package.json +101 -0
  439. package/examples/node_modules/shebang-command/index.js +19 -0
  440. package/examples/node_modules/shebang-command/license +9 -0
  441. package/examples/node_modules/shebang-command/package.json +66 -0
  442. package/examples/node_modules/shebang-command/readme.md +34 -0
  443. package/examples/node_modules/shebang-regex/index.d.ts +22 -0
  444. package/examples/node_modules/shebang-regex/index.js +2 -0
  445. package/examples/node_modules/shebang-regex/license +9 -0
  446. package/examples/node_modules/shebang-regex/package.json +67 -0
  447. package/examples/node_modules/shebang-regex/readme.md +33 -0
  448. package/examples/node_modules/signal-exit/CHANGELOG.md +35 -0
  449. package/examples/node_modules/signal-exit/LICENSE.txt +16 -0
  450. package/examples/node_modules/signal-exit/README.md +39 -0
  451. package/examples/node_modules/signal-exit/index.js +163 -0
  452. package/examples/node_modules/signal-exit/package.json +66 -0
  453. package/examples/node_modules/signal-exit/signals.js +53 -0
  454. package/examples/node_modules/strip-final-newline/index.js +16 -0
  455. package/examples/node_modules/strip-final-newline/license +9 -0
  456. package/examples/node_modules/strip-final-newline/package.json +72 -0
  457. package/examples/node_modules/strip-final-newline/readme.md +30 -0
  458. package/examples/node_modules/v8-compile-cache/CHANGELOG.md +53 -0
  459. package/examples/node_modules/v8-compile-cache/LICENSE +21 -0
  460. package/examples/node_modules/v8-compile-cache/README.md +55 -0
  461. package/examples/node_modules/v8-compile-cache/package.json +66 -0
  462. package/examples/node_modules/v8-compile-cache/v8-compile-cache.js +371 -0
  463. package/examples/node_modules/webpack-cli/CHANGELOG.md +501 -0
  464. package/examples/node_modules/webpack-cli/LICENSE +20 -0
  465. package/examples/node_modules/webpack-cli/README.md +116 -0
  466. package/examples/node_modules/webpack-cli/bin/cli.js +40 -0
  467. package/examples/node_modules/webpack-cli/lib/bootstrap.js +18 -0
  468. package/examples/node_modules/webpack-cli/lib/index.js +5 -0
  469. package/examples/node_modules/webpack-cli/lib/plugins/CLIPlugin.js +99 -0
  470. package/examples/node_modules/webpack-cli/lib/utils/__tests__/get-package-manager.test.js +108 -0
  471. package/examples/node_modules/webpack-cli/lib/utils/__tests__/prompt-installation.test.js +118 -0
  472. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-all-lock/package-lock.json +0 -0
  473. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-all-lock/pnpm-lock.yaml +0 -0
  474. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-all-lock/yarn.lock +0 -0
  475. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-pnpm/package-lock.json +0 -0
  476. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-pnpm/pnpm-lock.yaml +0 -0
  477. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-yarn/package-lock.json +0 -0
  478. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-and-yarn/yarn.lock +0 -0
  479. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-npm-lock/package-lock.json +0 -0
  480. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-pnpm-lock/pnpm-lock.yaml +0 -0
  481. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/pnpm-lock.yaml +0 -0
  482. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/yarn.lock +0 -0
  483. package/examples/node_modules/webpack-cli/lib/utils/__tests__/test-yarn-lock/yarn.lock +0 -0
  484. package/examples/node_modules/webpack-cli/lib/utils/capitalize-first-letter.js +9 -0
  485. package/examples/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +13 -0
  486. package/examples/node_modules/webpack-cli/lib/utils/get-package-manager.js +65 -0
  487. package/examples/node_modules/webpack-cli/lib/utils/index.js +49 -0
  488. package/examples/node_modules/webpack-cli/lib/utils/logger.js +11 -0
  489. package/examples/node_modules/webpack-cli/lib/utils/package-exists.js +9 -0
  490. package/examples/node_modules/webpack-cli/lib/utils/prompt-installation.js +58 -0
  491. package/examples/node_modules/webpack-cli/lib/utils/run-command.js +13 -0
  492. package/examples/node_modules/webpack-cli/lib/utils/to-kebab-case.js +5 -0
  493. package/examples/node_modules/webpack-cli/lib/webpack-cli.js +1803 -0
  494. package/examples/node_modules/webpack-cli/package.json +96 -0
  495. package/examples/node_modules/webpack-merge/CHANGELOG.md +421 -0
  496. package/examples/node_modules/webpack-merge/LICENSE +20 -0
  497. package/examples/node_modules/webpack-merge/README.md +314 -0
  498. package/examples/node_modules/webpack-merge/dist/index.d.ts +15 -0
  499. package/examples/node_modules/webpack-merge/dist/index.js +262 -0
  500. package/examples/node_modules/webpack-merge/dist/index.js.map +1 -0
  501. package/examples/node_modules/webpack-merge/dist/join-arrays.d.ts +6 -0
  502. package/examples/node_modules/webpack-merge/dist/join-arrays.js +69 -0
  503. package/examples/node_modules/webpack-merge/dist/join-arrays.js.map +1 -0
  504. package/examples/node_modules/webpack-merge/dist/merge-with.d.ts +2 -0
  505. package/examples/node_modules/webpack-merge/dist/merge-with.js +38 -0
  506. package/examples/node_modules/webpack-merge/dist/merge-with.js.map +1 -0
  507. package/examples/node_modules/webpack-merge/dist/types.d.ts +13 -0
  508. package/examples/node_modules/webpack-merge/dist/types.js +12 -0
  509. package/examples/node_modules/webpack-merge/dist/types.js.map +1 -0
  510. package/examples/node_modules/webpack-merge/dist/unique.d.ts +2 -0
  511. package/examples/node_modules/webpack-merge/dist/unique.js +40 -0
  512. package/examples/node_modules/webpack-merge/dist/unique.js.map +1 -0
  513. package/examples/node_modules/webpack-merge/dist/utils.d.ts +5 -0
  514. package/examples/node_modules/webpack-merge/dist/utils.js +24 -0
  515. package/examples/node_modules/webpack-merge/dist/utils.js.map +1 -0
  516. package/examples/node_modules/webpack-merge/package.json +86 -0
  517. package/examples/node_modules/which/CHANGELOG.md +166 -0
  518. package/examples/node_modules/which/LICENSE +15 -0
  519. package/examples/node_modules/which/README.md +54 -0
  520. package/examples/node_modules/which/bin/node-which +52 -0
  521. package/examples/node_modules/which/package.json +76 -0
  522. package/examples/node_modules/which/which.js +125 -0
  523. package/examples/node_modules/wildcard/.travis.yml +9 -0
  524. package/examples/node_modules/wildcard/README.md +99 -0
  525. package/examples/node_modules/wildcard/docs.json +9 -0
  526. package/examples/node_modules/wildcard/examples/arrays.js +10 -0
  527. package/examples/node_modules/wildcard/examples/objects.js +10 -0
  528. package/examples/node_modules/wildcard/examples/strings.js +7 -0
  529. package/examples/node_modules/wildcard/index.js +114 -0
  530. package/examples/node_modules/wildcard/package.json +82 -0
  531. package/examples/node_modules/wildcard/test/all.js +3 -0
  532. package/examples/node_modules/wildcard/test/arrays.js +33 -0
  533. package/examples/node_modules/wildcard/test/objects.js +106 -0
  534. package/examples/node_modules/wildcard/test/strings.js +46 -0
  535. package/examples/node_modules/wildcard/yarn.lock +228 -0
  536. package/lib/browser/math.js +10 -10
  537. package/lib/browser/math.js.map +1 -1
  538. package/lib/cjs/core/create.js +8 -7
  539. package/lib/cjs/core/function/import.js +9 -7
  540. package/lib/cjs/core/function/typed.js +6 -1
  541. package/lib/cjs/defaultInstance.js +3 -3
  542. package/lib/cjs/entry/allFactoriesAny.js +3 -3
  543. package/lib/cjs/entry/allFactoriesNumber.js +3 -3
  544. package/lib/cjs/entry/configReadonly.js +5 -4
  545. package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +51 -0
  546. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +29 -0
  547. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +26 -0
  548. package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +29 -0
  549. package/lib/cjs/entry/dependenciesAny.generated.js +24 -0
  550. package/lib/cjs/entry/impureFunctionsAny.generated.js +22 -17
  551. package/lib/cjs/entry/impureFunctionsNumber.generated.js +11 -9
  552. package/lib/cjs/entry/pureFunctionsAny.generated.js +78 -41
  553. package/lib/cjs/expression/Parser.js +22 -15
  554. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +9 -0
  555. package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +1 -1
  556. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +15 -0
  557. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +15 -0
  558. package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +15 -0
  559. package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +1 -1
  560. package/lib/cjs/expression/function/evaluate.js +6 -4
  561. package/lib/cjs/expression/keywords.js +1 -3
  562. package/lib/cjs/expression/node/AccessorNode.js +1 -0
  563. package/lib/cjs/expression/node/AssignmentNode.js +6 -3
  564. package/lib/cjs/expression/node/FunctionAssignmentNode.js +2 -4
  565. package/lib/cjs/expression/node/FunctionNode.js +86 -39
  566. package/lib/cjs/expression/node/IndexNode.js +5 -13
  567. package/lib/cjs/expression/node/Node.js +15 -9
  568. package/lib/cjs/expression/node/ObjectNode.js +5 -3
  569. package/lib/cjs/expression/node/SymbolNode.js +4 -4
  570. package/lib/cjs/expression/node/utils/access.js +5 -3
  571. package/lib/cjs/expression/node/utils/assign.js +5 -3
  572. package/lib/cjs/expression/parse.js +23 -20
  573. package/lib/cjs/expression/transform/utils/compileInlineExpression.js +5 -3
  574. package/lib/cjs/factoriesAny.js +24 -0
  575. package/lib/cjs/function/algebra/decomposition/qr.js +5 -3
  576. package/lib/cjs/function/algebra/simplify/resolve.js +7 -1
  577. package/lib/cjs/function/algebra/simplify.js +20 -14
  578. package/lib/cjs/function/algebra/solver/lsolveAll.js +9 -19
  579. package/lib/cjs/function/algebra/solver/usolveAll.js +9 -19
  580. package/lib/cjs/function/arithmetic/ceil.js +6 -16
  581. package/lib/cjs/function/arithmetic/floor.js +6 -16
  582. package/lib/cjs/function/arithmetic/norm.js +2 -2
  583. package/lib/cjs/function/arithmetic/pow.js +9 -7
  584. package/lib/cjs/function/arithmetic/round.js +7 -5
  585. package/lib/cjs/function/complex/im.js +3 -0
  586. package/lib/cjs/function/complex/re.js +3 -0
  587. package/lib/cjs/function/matrix/eigs/complexEigs.js +631 -0
  588. package/lib/cjs/function/matrix/eigs/realSymetric.js +341 -0
  589. package/lib/cjs/function/matrix/eigs.js +188 -334
  590. package/lib/cjs/function/matrix/flatten.js +1 -0
  591. package/lib/cjs/function/matrix/matrixFromColumns.js +118 -0
  592. package/lib/cjs/function/matrix/matrixFromFunction.js +85 -0
  593. package/lib/cjs/function/matrix/matrixFromRows.js +108 -0
  594. package/lib/cjs/function/probability/pickRandom.js +1 -1
  595. package/lib/cjs/function/probability/util/seededRNG.js +2 -2
  596. package/lib/cjs/function/relational/compareNatural.js +2 -2
  597. package/lib/cjs/function/utils/isPrime.js +67 -3
  598. package/lib/cjs/header.js +2 -2
  599. package/lib/cjs/plain/bignumber/index.js +2 -2
  600. package/lib/cjs/type/bignumber/BigNumber.js +2 -2
  601. package/lib/cjs/type/bignumber/function/bignumber.js +4 -4
  602. package/lib/cjs/type/complex/Complex.js +5 -5
  603. package/lib/cjs/type/fraction/Fraction.js +2 -2
  604. package/lib/cjs/type/matrix/DenseMatrix.js +138 -0
  605. package/lib/cjs/type/matrix/Matrix.js +10 -0
  606. package/lib/cjs/type/matrix/SparseMatrix.js +77 -3
  607. package/lib/cjs/type/matrix/function/matrix.js +2 -1
  608. package/lib/cjs/type/number.js +63 -5
  609. package/lib/cjs/type/unit/Unit.js +15 -13
  610. package/lib/cjs/utils/array.js +1 -1
  611. package/lib/cjs/utils/customs.js +18 -4
  612. package/lib/cjs/utils/emitter.js +2 -2
  613. package/lib/cjs/utils/function.js +6 -2
  614. package/lib/cjs/utils/is.js +7 -5
  615. package/lib/cjs/utils/latex.js +2 -2
  616. package/lib/cjs/utils/map.js +197 -0
  617. package/lib/cjs/utils/object.js +6 -5
  618. package/lib/cjs/utils/scope.js +33 -0
  619. package/lib/cjs/utils/snapshot.js +17 -16
  620. package/lib/cjs/utils/string.js +6 -4
  621. package/lib/cjs/version.js +1 -1
  622. package/lib/esm/constants.js +15 -15
  623. package/lib/esm/core/create.js +1 -2
  624. package/lib/esm/core/function/typed.js +5 -1
  625. package/lib/esm/entry/configReadonly.js +1 -2
  626. package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +34 -0
  627. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
  628. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
  629. package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
  630. package/lib/esm/entry/dependenciesAny.generated.js +3 -0
  631. package/lib/esm/entry/impureFunctionsAny.generated.js +13 -10
  632. package/lib/esm/entry/impureFunctionsNumber.generated.js +1 -1
  633. package/lib/esm/entry/pureFunctionsAny.generated.js +66 -32
  634. package/lib/esm/expression/Help.js +1 -1
  635. package/lib/esm/expression/Parser.js +23 -15
  636. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +6 -0
  637. package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
  638. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
  639. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
  640. package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
  641. package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
  642. package/lib/esm/expression/function/compile.js +1 -1
  643. package/lib/esm/expression/function/evaluate.js +6 -5
  644. package/lib/esm/expression/function/help.js +1 -1
  645. package/lib/esm/expression/function/parser.js +1 -1
  646. package/lib/esm/expression/keywords.js +1 -3
  647. package/lib/esm/expression/node/AccessorNode.js +2 -1
  648. package/lib/esm/expression/node/ArrayNode.js +1 -1
  649. package/lib/esm/expression/node/AssignmentNode.js +7 -4
  650. package/lib/esm/expression/node/BlockNode.js +1 -1
  651. package/lib/esm/expression/node/ConditionalNode.js +1 -1
  652. package/lib/esm/expression/node/ConstantNode.js +1 -1
  653. package/lib/esm/expression/node/FunctionAssignmentNode.js +3 -4
  654. package/lib/esm/expression/node/FunctionNode.js +68 -33
  655. package/lib/esm/expression/node/IndexNode.js +1 -1
  656. package/lib/esm/expression/node/Node.js +7 -8
  657. package/lib/esm/expression/node/ObjectNode.js +1 -1
  658. package/lib/esm/expression/node/OperatorNode.js +1 -1
  659. package/lib/esm/expression/node/ParenthesisNode.js +1 -1
  660. package/lib/esm/expression/node/RangeNode.js +1 -1
  661. package/lib/esm/expression/node/RelationalNode.js +1 -1
  662. package/lib/esm/expression/node/SymbolNode.js +5 -5
  663. package/lib/esm/expression/parse.js +15 -9
  664. package/lib/esm/expression/transform/apply.transform.js +1 -1
  665. package/lib/esm/expression/transform/column.transform.js +1 -1
  666. package/lib/esm/expression/transform/concat.transform.js +1 -1
  667. package/lib/esm/expression/transform/diff.transform.js +1 -1
  668. package/lib/esm/expression/transform/filter.transform.js +1 -1
  669. package/lib/esm/expression/transform/forEach.transform.js +1 -1
  670. package/lib/esm/expression/transform/index.transform.js +1 -1
  671. package/lib/esm/expression/transform/map.transform.js +1 -1
  672. package/lib/esm/expression/transform/max.transform.js +1 -1
  673. package/lib/esm/expression/transform/mean.transform.js +1 -1
  674. package/lib/esm/expression/transform/min.transform.js +1 -1
  675. package/lib/esm/expression/transform/range.transform.js +1 -1
  676. package/lib/esm/expression/transform/row.transform.js +1 -1
  677. package/lib/esm/expression/transform/std.transform.js +1 -1
  678. package/lib/esm/expression/transform/subset.transform.js +1 -1
  679. package/lib/esm/expression/transform/sum.transform.js +1 -1
  680. package/lib/esm/expression/transform/utils/compileInlineExpression.js +4 -3
  681. package/lib/esm/expression/transform/variance.transform.js +1 -1
  682. package/lib/esm/factoriesAny.js +3 -0
  683. package/lib/esm/factoriesNumber.js +1 -1
  684. package/lib/esm/function/algebra/decomposition/lup.js +1 -1
  685. package/lib/esm/function/algebra/decomposition/qr.js +2 -3
  686. package/lib/esm/function/algebra/decomposition/slu.js +1 -1
  687. package/lib/esm/function/algebra/derivative.js +1 -1
  688. package/lib/esm/function/algebra/rationalize.js +1 -1
  689. package/lib/esm/function/algebra/simplify/resolve.js +7 -2
  690. package/lib/esm/function/algebra/simplify/simplifyConstant.js +1 -1
  691. package/lib/esm/function/algebra/simplify/simplifyCore.js +1 -1
  692. package/lib/esm/function/algebra/simplify/util.js +1 -1
  693. package/lib/esm/function/algebra/simplify.js +16 -12
  694. package/lib/esm/function/algebra/solver/lsolve.js +1 -1
  695. package/lib/esm/function/algebra/solver/lsolveAll.js +4 -4
  696. package/lib/esm/function/algebra/solver/lusolve.js +1 -1
  697. package/lib/esm/function/algebra/solver/usolve.js +1 -1
  698. package/lib/esm/function/algebra/solver/usolveAll.js +4 -4
  699. package/lib/esm/function/algebra/sparse/csAmd.js +1 -1
  700. package/lib/esm/function/algebra/sparse/csChol.js +1 -1
  701. package/lib/esm/function/algebra/sparse/csCounts.js +1 -1
  702. package/lib/esm/function/algebra/sparse/csLu.js +1 -1
  703. package/lib/esm/function/algebra/sparse/csSpsolve.js +1 -1
  704. package/lib/esm/function/algebra/sparse/csSqr.js +1 -1
  705. package/lib/esm/function/algebra/sparse/csSymperm.js +1 -1
  706. package/lib/esm/function/arithmetic/abs.js +1 -1
  707. package/lib/esm/function/arithmetic/add.js +1 -1
  708. package/lib/esm/function/arithmetic/addScalar.js +1 -1
  709. package/lib/esm/function/arithmetic/cbrt.js +1 -1
  710. package/lib/esm/function/arithmetic/ceil.js +1 -1
  711. package/lib/esm/function/arithmetic/cube.js +1 -1
  712. package/lib/esm/function/arithmetic/divide.js +1 -1
  713. package/lib/esm/function/arithmetic/divideScalar.js +1 -1
  714. package/lib/esm/function/arithmetic/dotDivide.js +1 -1
  715. package/lib/esm/function/arithmetic/dotMultiply.js +1 -1
  716. package/lib/esm/function/arithmetic/dotPow.js +1 -1
  717. package/lib/esm/function/arithmetic/exp.js +1 -1
  718. package/lib/esm/function/arithmetic/expm1.js +1 -1
  719. package/lib/esm/function/arithmetic/fix.js +1 -1
  720. package/lib/esm/function/arithmetic/floor.js +1 -1
  721. package/lib/esm/function/arithmetic/gcd.js +1 -1
  722. package/lib/esm/function/arithmetic/hypot.js +1 -1
  723. package/lib/esm/function/arithmetic/lcm.js +1 -1
  724. package/lib/esm/function/arithmetic/log.js +1 -1
  725. package/lib/esm/function/arithmetic/log10.js +1 -1
  726. package/lib/esm/function/arithmetic/log1p.js +1 -1
  727. package/lib/esm/function/arithmetic/log2.js +1 -1
  728. package/lib/esm/function/arithmetic/mod.js +1 -1
  729. package/lib/esm/function/arithmetic/multiply.js +1 -1
  730. package/lib/esm/function/arithmetic/multiplyScalar.js +1 -1
  731. package/lib/esm/function/arithmetic/norm.js +3 -3
  732. package/lib/esm/function/arithmetic/nthRoot.js +2 -2
  733. package/lib/esm/function/arithmetic/nthRoots.js +1 -1
  734. package/lib/esm/function/arithmetic/pow.js +10 -8
  735. package/lib/esm/function/arithmetic/round.js +6 -6
  736. package/lib/esm/function/arithmetic/sign.js +1 -1
  737. package/lib/esm/function/arithmetic/sqrt.js +1 -1
  738. package/lib/esm/function/arithmetic/square.js +1 -1
  739. package/lib/esm/function/arithmetic/subtract.js +1 -1
  740. package/lib/esm/function/arithmetic/unaryMinus.js +1 -1
  741. package/lib/esm/function/arithmetic/unaryPlus.js +1 -1
  742. package/lib/esm/function/arithmetic/xgcd.js +1 -1
  743. package/lib/esm/function/bitwise/bitAnd.js +1 -1
  744. package/lib/esm/function/bitwise/bitNot.js +1 -1
  745. package/lib/esm/function/bitwise/bitOr.js +1 -1
  746. package/lib/esm/function/bitwise/bitXor.js +1 -1
  747. package/lib/esm/function/bitwise/leftShift.js +1 -1
  748. package/lib/esm/function/bitwise/rightArithShift.js +1 -1
  749. package/lib/esm/function/bitwise/rightLogShift.js +1 -1
  750. package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
  751. package/lib/esm/function/combinatorics/catalan.js +1 -1
  752. package/lib/esm/function/combinatorics/composition.js +1 -1
  753. package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
  754. package/lib/esm/function/complex/arg.js +1 -1
  755. package/lib/esm/function/complex/conj.js +1 -1
  756. package/lib/esm/function/complex/im.js +4 -1
  757. package/lib/esm/function/complex/re.js +4 -1
  758. package/lib/esm/function/geometry/distance.js +1 -1
  759. package/lib/esm/function/geometry/intersect.js +1 -1
  760. package/lib/esm/function/logical/and.js +1 -1
  761. package/lib/esm/function/logical/not.js +1 -1
  762. package/lib/esm/function/logical/or.js +1 -1
  763. package/lib/esm/function/logical/xor.js +1 -1
  764. package/lib/esm/function/matrix/apply.js +1 -1
  765. package/lib/esm/function/matrix/column.js +1 -1
  766. package/lib/esm/function/matrix/concat.js +1 -1
  767. package/lib/esm/function/matrix/count.js +1 -1
  768. package/lib/esm/function/matrix/cross.js +1 -1
  769. package/lib/esm/function/matrix/ctranspose.js +1 -1
  770. package/lib/esm/function/matrix/det.js +1 -1
  771. package/lib/esm/function/matrix/diag.js +1 -1
  772. package/lib/esm/function/matrix/diff.js +1 -1
  773. package/lib/esm/function/matrix/dot.js +1 -1
  774. package/lib/esm/function/matrix/eigs/complexEigs.js +586 -0
  775. package/lib/esm/function/matrix/eigs/realSymetric.js +335 -0
  776. package/lib/esm/function/matrix/eigs.js +187 -335
  777. package/lib/esm/function/matrix/expm.js +1 -1
  778. package/lib/esm/function/matrix/filter.js +1 -1
  779. package/lib/esm/function/matrix/flatten.js +2 -1
  780. package/lib/esm/function/matrix/forEach.js +1 -1
  781. package/lib/esm/function/matrix/getMatrixDataType.js +1 -1
  782. package/lib/esm/function/matrix/identity.js +1 -1
  783. package/lib/esm/function/matrix/inv.js +1 -1
  784. package/lib/esm/function/matrix/kron.js +1 -1
  785. package/lib/esm/function/matrix/map.js +1 -1
  786. package/lib/esm/function/matrix/matrixFromColumns.js +93 -0
  787. package/lib/esm/function/matrix/matrixFromFunction.js +78 -0
  788. package/lib/esm/function/matrix/matrixFromRows.js +83 -0
  789. package/lib/esm/function/matrix/ones.js +1 -1
  790. package/lib/esm/function/matrix/partitionSelect.js +1 -1
  791. package/lib/esm/function/matrix/range.js +1 -1
  792. package/lib/esm/function/matrix/reshape.js +1 -1
  793. package/lib/esm/function/matrix/resize.js +1 -1
  794. package/lib/esm/function/matrix/rotate.js +1 -1
  795. package/lib/esm/function/matrix/rotationMatrix.js +1 -1
  796. package/lib/esm/function/matrix/row.js +1 -1
  797. package/lib/esm/function/matrix/size.js +1 -1
  798. package/lib/esm/function/matrix/sort.js +1 -1
  799. package/lib/esm/function/matrix/sqrtm.js +1 -1
  800. package/lib/esm/function/matrix/squeeze.js +1 -1
  801. package/lib/esm/function/matrix/subset.js +1 -1
  802. package/lib/esm/function/matrix/trace.js +1 -1
  803. package/lib/esm/function/matrix/transpose.js +1 -1
  804. package/lib/esm/function/matrix/zeros.js +1 -1
  805. package/lib/esm/function/probability/combinations.js +1 -1
  806. package/lib/esm/function/probability/combinationsWithRep.js +1 -1
  807. package/lib/esm/function/probability/factorial.js +1 -1
  808. package/lib/esm/function/probability/gamma.js +1 -1
  809. package/lib/esm/function/probability/kldivergence.js +1 -1
  810. package/lib/esm/function/probability/multinomial.js +1 -1
  811. package/lib/esm/function/probability/permutations.js +1 -1
  812. package/lib/esm/function/probability/pickRandom.js +2 -2
  813. package/lib/esm/function/probability/random.js +2 -2
  814. package/lib/esm/function/probability/randomInt.js +1 -1
  815. package/lib/esm/function/relational/compare.js +2 -2
  816. package/lib/esm/function/relational/compareNatural.js +1 -1
  817. package/lib/esm/function/relational/compareText.js +2 -2
  818. package/lib/esm/function/relational/deepEqual.js +1 -1
  819. package/lib/esm/function/relational/equal.js +2 -2
  820. package/lib/esm/function/relational/equalScalar.js +2 -2
  821. package/lib/esm/function/relational/equalText.js +1 -1
  822. package/lib/esm/function/relational/larger.js +2 -2
  823. package/lib/esm/function/relational/largerEq.js +2 -2
  824. package/lib/esm/function/relational/smaller.js +2 -2
  825. package/lib/esm/function/relational/smallerEq.js +2 -2
  826. package/lib/esm/function/relational/unequal.js +2 -2
  827. package/lib/esm/function/set/setCartesian.js +1 -1
  828. package/lib/esm/function/set/setDifference.js +1 -1
  829. package/lib/esm/function/set/setDistinct.js +1 -1
  830. package/lib/esm/function/set/setIntersect.js +1 -1
  831. package/lib/esm/function/set/setIsSubset.js +1 -1
  832. package/lib/esm/function/set/setMultiplicity.js +1 -1
  833. package/lib/esm/function/set/setPowerset.js +1 -1
  834. package/lib/esm/function/set/setSize.js +1 -1
  835. package/lib/esm/function/set/setSymDifference.js +1 -1
  836. package/lib/esm/function/set/setUnion.js +1 -1
  837. package/lib/esm/function/special/erf.js +1 -1
  838. package/lib/esm/function/statistics/mad.js +1 -1
  839. package/lib/esm/function/statistics/max.js +1 -1
  840. package/lib/esm/function/statistics/mean.js +1 -1
  841. package/lib/esm/function/statistics/median.js +1 -1
  842. package/lib/esm/function/statistics/min.js +1 -1
  843. package/lib/esm/function/statistics/mode.js +1 -1
  844. package/lib/esm/function/statistics/prod.js +1 -1
  845. package/lib/esm/function/statistics/quantileSeq.js +1 -1
  846. package/lib/esm/function/statistics/std.js +1 -1
  847. package/lib/esm/function/statistics/sum.js +1 -1
  848. package/lib/esm/function/statistics/variance.js +1 -1
  849. package/lib/esm/function/string/bin.js +1 -1
  850. package/lib/esm/function/string/format.js +1 -1
  851. package/lib/esm/function/string/hex.js +1 -1
  852. package/lib/esm/function/string/oct.js +1 -1
  853. package/lib/esm/function/string/print.js +1 -1
  854. package/lib/esm/function/trigonometry/acos.js +1 -1
  855. package/lib/esm/function/trigonometry/acosh.js +1 -1
  856. package/lib/esm/function/trigonometry/acot.js +1 -1
  857. package/lib/esm/function/trigonometry/acoth.js +1 -1
  858. package/lib/esm/function/trigonometry/acsc.js +1 -1
  859. package/lib/esm/function/trigonometry/acsch.js +1 -1
  860. package/lib/esm/function/trigonometry/asec.js +1 -1
  861. package/lib/esm/function/trigonometry/asech.js +1 -1
  862. package/lib/esm/function/trigonometry/asin.js +1 -1
  863. package/lib/esm/function/trigonometry/asinh.js +1 -1
  864. package/lib/esm/function/trigonometry/atan.js +1 -1
  865. package/lib/esm/function/trigonometry/atan2.js +1 -1
  866. package/lib/esm/function/trigonometry/atanh.js +1 -1
  867. package/lib/esm/function/trigonometry/cos.js +1 -1
  868. package/lib/esm/function/trigonometry/cosh.js +1 -1
  869. package/lib/esm/function/trigonometry/cot.js +1 -1
  870. package/lib/esm/function/trigonometry/coth.js +1 -1
  871. package/lib/esm/function/trigonometry/csc.js +1 -1
  872. package/lib/esm/function/trigonometry/csch.js +1 -1
  873. package/lib/esm/function/trigonometry/sec.js +1 -1
  874. package/lib/esm/function/trigonometry/sech.js +1 -1
  875. package/lib/esm/function/trigonometry/sin.js +1 -1
  876. package/lib/esm/function/trigonometry/sinh.js +1 -1
  877. package/lib/esm/function/trigonometry/tan.js +1 -1
  878. package/lib/esm/function/trigonometry/tanh.js +1 -1
  879. package/lib/esm/function/unit/to.js +1 -1
  880. package/lib/esm/function/utils/clone.js +1 -1
  881. package/lib/esm/function/utils/hasNumericValue.js +1 -1
  882. package/lib/esm/function/utils/isInteger.js +1 -1
  883. package/lib/esm/function/utils/isNaN.js +1 -1
  884. package/lib/esm/function/utils/isNegative.js +1 -1
  885. package/lib/esm/function/utils/isNumeric.js +1 -1
  886. package/lib/esm/function/utils/isPositive.js +1 -1
  887. package/lib/esm/function/utils/isPrime.js +66 -4
  888. package/lib/esm/function/utils/isZero.js +1 -1
  889. package/lib/esm/function/utils/numeric.js +1 -1
  890. package/lib/esm/function/utils/typeOf.js +1 -1
  891. package/lib/esm/json/reviver.js +1 -1
  892. package/lib/esm/type/bignumber/BigNumber.js +1 -1
  893. package/lib/esm/type/bignumber/function/bignumber.js +5 -5
  894. package/lib/esm/type/boolean.js +1 -1
  895. package/lib/esm/type/chain/Chain.js +1 -1
  896. package/lib/esm/type/chain/function/chain.js +1 -1
  897. package/lib/esm/type/complex/function/complex.js +1 -1
  898. package/lib/esm/type/fraction/function/fraction.js +1 -1
  899. package/lib/esm/type/matrix/DenseMatrix.js +75 -1
  900. package/lib/esm/type/matrix/FibonacciHeap.js +1 -1
  901. package/lib/esm/type/matrix/ImmutableDenseMatrix.js +1 -1
  902. package/lib/esm/type/matrix/Matrix.js +10 -0
  903. package/lib/esm/type/matrix/MatrixIndex.js +1 -1
  904. package/lib/esm/type/matrix/Spa.js +1 -1
  905. package/lib/esm/type/matrix/SparseMatrix.js +37 -3
  906. package/lib/esm/type/matrix/function/index.js +1 -1
  907. package/lib/esm/type/matrix/function/matrix.js +3 -2
  908. package/lib/esm/type/matrix/function/sparse.js +1 -1
  909. package/lib/esm/type/matrix/utils/algorithm01.js +1 -1
  910. package/lib/esm/type/matrix/utils/algorithm02.js +1 -1
  911. package/lib/esm/type/matrix/utils/algorithm03.js +1 -1
  912. package/lib/esm/type/matrix/utils/algorithm04.js +1 -1
  913. package/lib/esm/type/matrix/utils/algorithm05.js +1 -1
  914. package/lib/esm/type/matrix/utils/algorithm06.js +1 -1
  915. package/lib/esm/type/matrix/utils/algorithm07.js +1 -1
  916. package/lib/esm/type/matrix/utils/algorithm08.js +1 -1
  917. package/lib/esm/type/matrix/utils/algorithm09.js +1 -1
  918. package/lib/esm/type/matrix/utils/algorithm10.js +1 -1
  919. package/lib/esm/type/matrix/utils/algorithm11.js +1 -1
  920. package/lib/esm/type/matrix/utils/algorithm12.js +1 -1
  921. package/lib/esm/type/matrix/utils/algorithm13.js +1 -1
  922. package/lib/esm/type/matrix/utils/algorithm14.js +1 -1
  923. package/lib/esm/type/number.js +64 -6
  924. package/lib/esm/type/string.js +1 -1
  925. package/lib/esm/type/unit/Unit.js +4 -5
  926. package/lib/esm/type/unit/function/createUnit.js +1 -1
  927. package/lib/esm/type/unit/function/splitUnit.js +1 -1
  928. package/lib/esm/type/unit/function/unit.js +1 -1
  929. package/lib/esm/type/unit/physicalConstants.js +2 -2
  930. package/lib/esm/utils/array.js +1 -1
  931. package/lib/esm/utils/customs.js +10 -0
  932. package/lib/esm/utils/map.js +135 -0
  933. package/lib/esm/utils/scope.js +26 -0
  934. package/lib/esm/utils/snapshot.js +3 -4
  935. package/lib/esm/version.js +1 -1
  936. package/package.json +22 -13
@@ -0,0 +1,314 @@
1
+ [![Financial Contributors on Open Collective](https://opencollective.com/webpack-merge/all/badge.svg?label=financial+contributors)](https://opencollective.com/webpack-merge) [![build status](https://secure.travis-ci.org/survivejs/webpack-merge.svg)](http://travis-ci.org/survivejs/webpack-merge) [![codecov](https://codecov.io/gh/survivejs/webpack-merge/branch/master/graph/badge.svg)](https://codecov.io/gh/survivejs/webpack-merge)
2
+
3
+ # webpack-merge - Merge designed for Webpack
4
+
5
+ **webpack-merge** provides a `merge` function that concatenates arrays and merges objects creating a new object. If functions are encountered, it will execute them, run the results through the algorithm, and then wrap the returned values within a function again.
6
+
7
+ This behavior is particularly useful in configuring webpack although it has uses beyond it. Whenever you need to merge configuration objects, **webpack-merge** can come in handy.
8
+
9
+ ## **`merge(...configuration | [...configuration])`**
10
+
11
+ `merge` is the core, and the most important idea, of the API. Often this is all you need unless you want further customization.
12
+
13
+ ```javascript
14
+ const { merge } = require('webpack-merge');
15
+
16
+ // Default API
17
+ const output = merge(object1, object2, object3, ...);
18
+
19
+ // You can pass an array of objects directly.
20
+ // This works with all available functions.
21
+ const output = merge([object1, object2, object3]);
22
+
23
+ // Keys matching to the right take precedence:
24
+ const output = merge(
25
+ { fruit: "apple", color: "red" },
26
+ { fruit: "strawberries" }
27
+ );
28
+ console.log(output);
29
+ // { color: "red", fruit: "strawberries"}
30
+ ```
31
+
32
+ ### Limitations
33
+
34
+ Note that `Promise`s are not supported! If you want to return a configuration wrapped within a `Promise`, `merge` inside one. Example: `Promise.resolve(merge({ ... }, { ... }))`.
35
+
36
+ The same goes for configuration level functions as in the example below:
37
+
38
+ **webpack.config.js**
39
+
40
+ ```javascript
41
+ const commonConfig = { ... };
42
+
43
+ const productionConfig = { ... };
44
+
45
+ const developmentConfig = { ... };
46
+
47
+ module.exports = env => {
48
+ switch(env) {
49
+ case 'development':
50
+ return merge(commonConfig, developmentConfig);
51
+ case 'production':
52
+ return merge(commonConfig, productionConfig);
53
+ default:
54
+ throw new Error('No matching configuration was found!');
55
+ }
56
+ }
57
+ ```
58
+
59
+ You can choose the configuration you want by using `webpack --env development` assuming you are using _webpack-cli_.
60
+
61
+ ## **`mergeWithCustomize({ customizeArray, customizeObject })(...configuration | [...configuration])`**
62
+
63
+ In case you need more flexibility, `merge` behavior can be customized per field as below:
64
+
65
+ ```javascript
66
+ const { mergeWithCustomize } = require('webpack-merge');
67
+
68
+ const output = mergeWithCustomize(
69
+ {
70
+ customizeArray(a, b, key) {
71
+ if (key === 'extensions') {
72
+ return _.uniq([...a, ...b]);
73
+ }
74
+
75
+ // Fall back to default merging
76
+ return undefined;
77
+ },
78
+ customizeObject(a, b, key) {
79
+ if (key === 'module') {
80
+ // Custom merging
81
+ return _.merge({}, a, b);
82
+ }
83
+
84
+ // Fall back to default merging
85
+ return undefined;
86
+ }
87
+ }
88
+ )(object1, object2, object3, ...);
89
+ ```
90
+
91
+ For example, if the previous code was invoked with only `object1` and `object2`
92
+ with `object1` as:
93
+
94
+ ```javascript
95
+ {
96
+ foo1: ['object1'],
97
+ foo2: ['object1'],
98
+ bar1: { object1: {} },
99
+ bar2: { object1: {} },
100
+ }
101
+ ```
102
+
103
+ and `object2` as:
104
+
105
+ ```javascript
106
+ {
107
+ foo1: ['object2'],
108
+ foo2: ['object2'],
109
+ bar1: { object2: {} },
110
+ bar2: { object2: {} },
111
+ }
112
+ ```
113
+
114
+ then `customizeArray` will be invoked for each property of `Array` type, i.e:
115
+
116
+ ```javascript
117
+ customizeArray(["object1"], ["object2"], "foo1");
118
+ customizeArray(["object1"], ["object2"], "foo2");
119
+ ```
120
+
121
+ and `customizeObject` will be invoked for each property of `Object` type, i.e:
122
+
123
+ ```javascript
124
+ customizeObject({ object1: {} }, { object2: {} }, bar1);
125
+ customizeObject({ object1: {} }, { object2: {} }, bar2);
126
+ ```
127
+
128
+ ## **`customizeArray`** and **`customizeObject`**
129
+
130
+ `customizeArray` and `customizeObject` provide small strategies to for `mergeWithCustomize`. They support `append`, `prepend`, `replace`, and wildcards for field names.
131
+
132
+ ```javascript
133
+ const { mergeWithCustomize, customizeArray, customizeObject } = require('webpack-merge');
134
+
135
+ const output = mergeWithCustomize({
136
+ customizeArray: customizeArray({
137
+ 'entry.*': 'prepend'
138
+ }),
139
+ customizeObject: customizeObject({
140
+ entry: 'prepend'
141
+ })
142
+ })(object1, object2, object3, ...);
143
+ ```
144
+
145
+ ## **`unique(<field>, <fields>, field => field)`**
146
+
147
+ `unique` is a strategy used for forcing uniqueness within configuration. It's most useful with plugins when you want to make sure there's only one in place.
148
+
149
+ The first `<field>` is the config property to look through for duplicates.
150
+
151
+ `<fields>` represents the values that should be unique when you run the field => field function on each duplicate.
152
+
153
+ When the order of elements of the `<field>` in the first configuration differs from the order in the second configuration, the latter is preserved.
154
+
155
+ ```javascript
156
+ const { mergeWithCustomize, unique } = require("webpack-merge");
157
+
158
+ const output = mergeWithCustomize({
159
+ customizeArray: unique(
160
+ "plugins",
161
+ ["HotModuleReplacementPlugin"],
162
+ (plugin) => plugin.constructor && plugin.constructor.name
163
+ ),
164
+ })(
165
+ {
166
+ plugins: [new webpack.HotModuleReplacementPlugin()],
167
+ },
168
+ {
169
+ plugins: [new webpack.HotModuleReplacementPlugin()],
170
+ }
171
+ );
172
+
173
+ // Output contains only single HotModuleReplacementPlugin now and it's
174
+ // going to be the last plugin instance.
175
+ ```
176
+
177
+ ## **`mergeWithRules`**
178
+
179
+ To support advanced merging needs (i.e. merging within loaders), `mergeWithRules` includes additional syntax that allows you to match fields and apply strategies to match. Consider the full example below:
180
+
181
+ ```javascript
182
+ const a = {
183
+ module: {
184
+ rules: [
185
+ {
186
+ test: /\.css$/,
187
+ use: [{ loader: "style-loader" }, { loader: "sass-loader" }],
188
+ },
189
+ ],
190
+ },
191
+ };
192
+ const b = {
193
+ module: {
194
+ rules: [
195
+ {
196
+ test: /\.css$/,
197
+ use: [
198
+ {
199
+ loader: "style-loader",
200
+ options: {
201
+ modules: true,
202
+ },
203
+ },
204
+ ],
205
+ },
206
+ ],
207
+ },
208
+ };
209
+ const result = {
210
+ module: {
211
+ rules: [
212
+ {
213
+ test: /\.css$/,
214
+ use: [
215
+ {
216
+ loader: "style-loader",
217
+ options: {
218
+ modules: true,
219
+ },
220
+ },
221
+ { loader: "sass-loader" },
222
+ ],
223
+ },
224
+ ],
225
+ },
226
+ };
227
+
228
+ assert.deepStrictEqual(
229
+ mergeWithRules({
230
+ module: {
231
+ rules: {
232
+ test: "match",
233
+ use: {
234
+ loader: "match",
235
+ options: "replace",
236
+ },
237
+ },
238
+ },
239
+ })(a, b),
240
+ result
241
+ );
242
+ ```
243
+
244
+ The way it works is that you should annotate fields to match using `match` (or `CustomizeRule.Match` if you are using TypeScript) matching your configuration structure and then use specific strategies to define how particular fields should be transformed. If a match doesn't exist above a rule, then it will apply the rule automatically.
245
+
246
+ **Supported annotations:**
247
+
248
+ - `match` (`CustomizeRule.Match`) - Optional matcher that scopes merging behavior to a specific part based on similarity (think DOM or jQuery selectors)
249
+ - `append` (`CustomizeRule.Append`) - Appends items
250
+ - `prepend` (`CustomizeRule.Prepend`) - Prepends items
251
+ - `replace` (`CustomizeRule.Replace`) - Replaces items
252
+ - `merge` (`CustomizeRule.Merge`) - Merges objects (shallow merge)
253
+
254
+ ## Using with TypeScript
255
+
256
+ **webpack-merge** supports TypeScript out of the box. You should pass `Configuration` type from webpack to it as follows:
257
+
258
+ ```typescript
259
+ import { Configuration } from "webpack";
260
+ import { merge } from "webpack-merge";
261
+
262
+ const config = merge<Configuration>({...}, {...});
263
+
264
+ ...
265
+ ```
266
+
267
+ ## Development
268
+
269
+ 1. `nvm use`
270
+ 1. `npm i`
271
+ 1. `npm run build -- --watch` in one terminal
272
+ 1. `npm t -- --watch` in another one
273
+
274
+ Before contributing, please [open an issue](https://github.com/survivejs/webpack-merge/issues/new) where to discuss.
275
+
276
+ ## Further Information and Support
277
+
278
+ Check out [SurviveJS - Webpack 5](http://survivejs.com/) to dig deeper into webpack. The free book uses **webpack-merge** extensively and shows you how to compose your configuration to keep it maintainable.
279
+
280
+ I am also available as a consultant in case you require specific assistance. I can contribute particularly in terms of improving maintainability of the setup while speeding it up and pointing out better practices. In addition to improving developer productivity, the work has impact on the end users of the product in terms of reduced application size and loading times.
281
+
282
+ ## Contributors
283
+
284
+ ### Code Contributors
285
+
286
+ This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
287
+ <a href="https://github.com/survivejs/webpack-merge/graphs/contributors"><img src="https://opencollective.com/webpack-merge/contributors.svg?width=890&button=false" /></a>
288
+
289
+ ### Financial Contributors
290
+
291
+ Become a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/webpack-merge/contribute)]
292
+
293
+ #### Individuals
294
+
295
+ <a href="https://opencollective.com/webpack-merge"><img src="https://opencollective.com/webpack-merge/individuals.svg?width=890"></a>
296
+
297
+ #### Organizations
298
+
299
+ Support this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/webpack-merge/contribute)]
300
+
301
+ <a href="https://opencollective.com/webpack-merge/organization/0/website"><img src="https://opencollective.com/webpack-merge/organization/0/avatar.svg"></a>
302
+ <a href="https://opencollective.com/webpack-merge/organization/1/website"><img src="https://opencollective.com/webpack-merge/organization/1/avatar.svg"></a>
303
+ <a href="https://opencollective.com/webpack-merge/organization/2/website"><img src="https://opencollective.com/webpack-merge/organization/2/avatar.svg"></a>
304
+ <a href="https://opencollective.com/webpack-merge/organization/3/website"><img src="https://opencollective.com/webpack-merge/organization/3/avatar.svg"></a>
305
+ <a href="https://opencollective.com/webpack-merge/organization/4/website"><img src="https://opencollective.com/webpack-merge/organization/4/avatar.svg"></a>
306
+ <a href="https://opencollective.com/webpack-merge/organization/5/website"><img src="https://opencollective.com/webpack-merge/organization/5/avatar.svg"></a>
307
+ <a href="https://opencollective.com/webpack-merge/organization/6/website"><img src="https://opencollective.com/webpack-merge/organization/6/avatar.svg"></a>
308
+ <a href="https://opencollective.com/webpack-merge/organization/7/website"><img src="https://opencollective.com/webpack-merge/organization/7/avatar.svg"></a>
309
+ <a href="https://opencollective.com/webpack-merge/organization/8/website"><img src="https://opencollective.com/webpack-merge/organization/8/avatar.svg"></a>
310
+ <a href="https://opencollective.com/webpack-merge/organization/9/website"><img src="https://opencollective.com/webpack-merge/organization/9/avatar.svg"></a>
311
+
312
+ ## License
313
+
314
+ **webpack-merge** is available under MIT. See LICENSE for more details.
@@ -0,0 +1,15 @@
1
+ import unique from "./unique";
2
+ import { CustomizeRule, ICustomizeOptions, Key } from "./types";
3
+ declare function merge<Configuration extends object>(firstConfiguration: Configuration | Configuration[], ...configurations: Configuration[]): Configuration;
4
+ declare function mergeWithCustomize<Configuration extends object>(options: ICustomizeOptions): (firstConfiguration: Configuration | Configuration[], ...configurations: Configuration[]) => Configuration;
5
+ declare function customizeArray(rules: {
6
+ [s: string]: CustomizeRule;
7
+ }): (a: any, b: any, key: Key) => any;
8
+ declare type Rules = {
9
+ [s: string]: CustomizeRule | Rules;
10
+ };
11
+ declare function mergeWithRules(rules: Rules): (firstConfiguration: object | object[], ...configurations: object[]) => object;
12
+ declare function customizeObject(rules: {
13
+ [s: string]: CustomizeRule;
14
+ }): (a: any, b: any, key: Key) => any;
15
+ export { customizeArray, customizeObject, CustomizeRule, merge, merge as default, mergeWithCustomize, mergeWithRules, unique, };
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spread = (this && this.__spread) || function () {
30
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
31
+ return ar;
32
+ };
33
+ var __importDefault = (this && this.__importDefault) || function (mod) {
34
+ return (mod && mod.__esModule) ? mod : { "default": mod };
35
+ };
36
+ exports.__esModule = true;
37
+ exports.unique = exports.mergeWithRules = exports.mergeWithCustomize = exports["default"] = exports.merge = exports.CustomizeRule = exports.customizeObject = exports.customizeArray = void 0;
38
+ var wildcard_1 = __importDefault(require("wildcard"));
39
+ var merge_with_1 = __importDefault(require("./merge-with"));
40
+ var join_arrays_1 = __importDefault(require("./join-arrays"));
41
+ var unique_1 = __importDefault(require("./unique"));
42
+ exports.unique = unique_1["default"];
43
+ var types_1 = require("./types");
44
+ exports.CustomizeRule = types_1.CustomizeRule;
45
+ var utils_1 = require("./utils");
46
+ function merge(firstConfiguration) {
47
+ var configurations = [];
48
+ for (var _i = 1; _i < arguments.length; _i++) {
49
+ configurations[_i - 1] = arguments[_i];
50
+ }
51
+ return mergeWithCustomize({}).apply(void 0, __spread([firstConfiguration], configurations));
52
+ }
53
+ exports.merge = merge;
54
+ exports["default"] = merge;
55
+ function mergeWithCustomize(options) {
56
+ return function mergeWithOptions(firstConfiguration) {
57
+ var configurations = [];
58
+ for (var _i = 1; _i < arguments.length; _i++) {
59
+ configurations[_i - 1] = arguments[_i];
60
+ }
61
+ if (utils_1.isUndefined(firstConfiguration) || configurations.some(utils_1.isUndefined)) {
62
+ throw new TypeError("Merging undefined is not supported");
63
+ }
64
+ // @ts-ignore
65
+ if (firstConfiguration.then) {
66
+ throw new TypeError("Promises are not supported");
67
+ }
68
+ // No configuration at all
69
+ if (!firstConfiguration) {
70
+ return {};
71
+ }
72
+ if (configurations.length === 0) {
73
+ if (Array.isArray(firstConfiguration)) {
74
+ // Empty array
75
+ if (firstConfiguration.length === 0) {
76
+ return {};
77
+ }
78
+ if (firstConfiguration.some(utils_1.isUndefined)) {
79
+ throw new TypeError("Merging undefined is not supported");
80
+ }
81
+ // @ts-ignore
82
+ if (firstConfiguration[0].then) {
83
+ throw new TypeError("Promises are not supported");
84
+ }
85
+ return merge_with_1["default"](firstConfiguration, join_arrays_1["default"](options));
86
+ }
87
+ return firstConfiguration;
88
+ }
89
+ return merge_with_1["default"]([firstConfiguration].concat(configurations), join_arrays_1["default"](options));
90
+ };
91
+ }
92
+ exports.mergeWithCustomize = mergeWithCustomize;
93
+ function customizeArray(rules) {
94
+ return function (a, b, key) {
95
+ var matchedRule = Object.keys(rules).find(function (rule) { return wildcard_1["default"](rule, key); }) || "";
96
+ if (matchedRule) {
97
+ switch (rules[matchedRule]) {
98
+ case types_1.CustomizeRule.Prepend:
99
+ return __spread(b, a);
100
+ case types_1.CustomizeRule.Replace:
101
+ return b;
102
+ case types_1.CustomizeRule.Append:
103
+ default:
104
+ return __spread(a, b);
105
+ }
106
+ }
107
+ };
108
+ }
109
+ exports.customizeArray = customizeArray;
110
+ function mergeWithRules(rules) {
111
+ return mergeWithCustomize({
112
+ customizeArray: function (a, b, key) {
113
+ var currentRule = rules;
114
+ key.split(".").forEach(function (k) {
115
+ if (!currentRule) {
116
+ return;
117
+ }
118
+ currentRule = currentRule[k];
119
+ });
120
+ if (utils_1.isPlainObject(currentRule)) {
121
+ return mergeWithRule({ currentRule: currentRule, a: a, b: b });
122
+ }
123
+ if (typeof currentRule === "string") {
124
+ return mergeIndividualRule({ currentRule: currentRule, a: a, b: b });
125
+ }
126
+ return undefined;
127
+ }
128
+ });
129
+ }
130
+ exports.mergeWithRules = mergeWithRules;
131
+ var isArray = Array.isArray;
132
+ function mergeWithRule(_a) {
133
+ var currentRule = _a.currentRule, a = _a.a, b = _a.b;
134
+ if (!isArray(a)) {
135
+ return a;
136
+ }
137
+ var bAllMatches = [];
138
+ var ret = a.map(function (ao) {
139
+ if (!utils_1.isPlainObject(currentRule)) {
140
+ return ao;
141
+ }
142
+ var ret = {};
143
+ var rulesToMatch = [];
144
+ var operations = {};
145
+ Object.entries(currentRule).forEach(function (_a) {
146
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
147
+ if (v === types_1.CustomizeRule.Match) {
148
+ rulesToMatch.push(k);
149
+ }
150
+ else {
151
+ operations[k] = v;
152
+ }
153
+ });
154
+ var bMatches = b.filter(function (o) {
155
+ var matches = rulesToMatch.every(function (rule) { var _a, _b; return ((_a = ao[rule]) === null || _a === void 0 ? void 0 : _a.toString()) === ((_b = o[rule]) === null || _b === void 0 ? void 0 : _b.toString()); });
156
+ if (matches) {
157
+ bAllMatches.push(o);
158
+ }
159
+ return matches;
160
+ });
161
+ if (!utils_1.isPlainObject(ao)) {
162
+ return ao;
163
+ }
164
+ Object.entries(ao).forEach(function (_a) {
165
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
166
+ var rule = currentRule;
167
+ switch (currentRule[k]) {
168
+ case types_1.CustomizeRule.Match:
169
+ ret[k] = v;
170
+ Object.entries(rule).forEach(function (_a) {
171
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
172
+ if (v === types_1.CustomizeRule.Replace && bMatches.length > 0) {
173
+ var val = last(bMatches)[k];
174
+ if (typeof val !== "undefined") {
175
+ ret[k] = val;
176
+ }
177
+ }
178
+ });
179
+ break;
180
+ case types_1.CustomizeRule.Append:
181
+ if (!bMatches.length) {
182
+ ret[k] = v;
183
+ break;
184
+ }
185
+ var appendValue = last(bMatches)[k];
186
+ if (!isArray(v) || !isArray(appendValue)) {
187
+ throw new TypeError("Trying to append non-arrays");
188
+ }
189
+ ret[k] = v.concat(appendValue);
190
+ break;
191
+ case types_1.CustomizeRule.Merge:
192
+ if (!bMatches.length) {
193
+ ret[k] = v;
194
+ break;
195
+ }
196
+ var lastValue = last(bMatches)[k];
197
+ if (!utils_1.isPlainObject(v) || !utils_1.isPlainObject(lastValue)) {
198
+ throw new TypeError("Trying to merge non-objects");
199
+ }
200
+ // @ts-ignore: These should be objects now
201
+ ret[k] = __assign(__assign({}, v), lastValue);
202
+ break;
203
+ case types_1.CustomizeRule.Prepend:
204
+ if (!bMatches.length) {
205
+ ret[k] = v;
206
+ break;
207
+ }
208
+ var prependValue = last(bMatches)[k];
209
+ if (!isArray(v) || !isArray(prependValue)) {
210
+ throw new TypeError("Trying to prepend non-arrays");
211
+ }
212
+ ret[k] = prependValue.concat(v);
213
+ break;
214
+ case types_1.CustomizeRule.Replace:
215
+ ret[k] = bMatches.length > 0 ? last(bMatches)[k] : v;
216
+ break;
217
+ default:
218
+ var currentRule_1 = operations[k];
219
+ // Use .flat(); starting from Node 12
220
+ var b_1 = bMatches
221
+ .map(function (o) { return o[k]; })
222
+ .reduce(function (acc, val) {
223
+ return isArray(acc) && isArray(val) ? __spread(acc, val) : acc;
224
+ }, []);
225
+ ret[k] = mergeWithRule({ currentRule: currentRule_1, a: v, b: b_1 });
226
+ break;
227
+ }
228
+ });
229
+ return ret;
230
+ });
231
+ return ret.concat(b.filter(function (o) { return !bAllMatches.includes(o); }));
232
+ }
233
+ function mergeIndividualRule(_a) {
234
+ var currentRule = _a.currentRule, a = _a.a, b = _a.b;
235
+ // What if there's no match?
236
+ switch (currentRule) {
237
+ case types_1.CustomizeRule.Append:
238
+ return a.concat(b);
239
+ case types_1.CustomizeRule.Prepend:
240
+ return b.concat(a);
241
+ case types_1.CustomizeRule.Replace:
242
+ return b;
243
+ }
244
+ return a;
245
+ }
246
+ function last(arr) {
247
+ return arr[arr.length - 1];
248
+ }
249
+ function customizeObject(rules) {
250
+ return function (a, b, key) {
251
+ switch (rules[key]) {
252
+ case types_1.CustomizeRule.Prepend:
253
+ return merge_with_1["default"]([b, a], join_arrays_1["default"]());
254
+ case types_1.CustomizeRule.Replace:
255
+ return b;
256
+ case types_1.CustomizeRule.Append:
257
+ return merge_with_1["default"]([a, b], join_arrays_1["default"]());
258
+ }
259
+ };
260
+ }
261
+ exports.customizeObject = customizeObject;
262
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Customize, Key } from "./types";
2
+ export default function joinArrays({ customizeArray, customizeObject, key, }?: {
3
+ customizeArray?: Customize;
4
+ customizeObject?: Customize;
5
+ key?: Key;
6
+ }): (a: any, b: any, k: Key) => any;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spread = (this && this.__spread) || function () {
19
+ for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
20
+ return ar;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ exports.__esModule = true;
26
+ var clone_deep_1 = __importDefault(require("clone-deep"));
27
+ var merge_with_1 = __importDefault(require("./merge-with"));
28
+ var utils_1 = require("./utils");
29
+ var isArray = Array.isArray;
30
+ function joinArrays(_a) {
31
+ var _b = _a === void 0 ? {} : _a, customizeArray = _b.customizeArray, customizeObject = _b.customizeObject, key = _b.key;
32
+ return function _joinArrays(a, b, k) {
33
+ var newKey = key ? key + "." + k : k;
34
+ if (utils_1.isFunction(a) && utils_1.isFunction(b)) {
35
+ return function () {
36
+ var args = [];
37
+ for (var _i = 0; _i < arguments.length; _i++) {
38
+ args[_i] = arguments[_i];
39
+ }
40
+ return _joinArrays(a.apply(void 0, __spread(args)), b.apply(void 0, __spread(args)), k);
41
+ };
42
+ }
43
+ if (isArray(a) && isArray(b)) {
44
+ var customResult = customizeArray && customizeArray(a, b, newKey);
45
+ return customResult || __spread(a, b);
46
+ }
47
+ if (utils_1.isRegex(b)) {
48
+ return b;
49
+ }
50
+ if (utils_1.isPlainObject(a) && utils_1.isPlainObject(b)) {
51
+ var customResult = customizeObject && customizeObject(a, b, newKey);
52
+ return (customResult ||
53
+ merge_with_1["default"]([a, b], joinArrays({
54
+ customizeArray: customizeArray,
55
+ customizeObject: customizeObject,
56
+ key: newKey
57
+ })));
58
+ }
59
+ if (utils_1.isPlainObject(b)) {
60
+ return clone_deep_1["default"](b);
61
+ }
62
+ if (isArray(b)) {
63
+ return __spread(b);
64
+ }
65
+ return b;
66
+ };
67
+ }
68
+ exports["default"] = joinArrays;
69
+ //# sourceMappingURL=join-arrays.js.map