npm.io
1.4.0 • Published 3 years ago

@maieuticallabs/mathx-nf-checker

Licence
UNLICENSED
Version
1.4.0
Deps
0
Size
657 kB
Vulns
0
Weekly
0

Mathx normal form checker

Normalizzatore di espressioni matematiche in LaTeX basato su Cortex-js/computute-engine.

La libreria wrappa il compute-engine di Cortex e ne modifica il comportamento per adeguarlo a quanto ci serve sui prodotti Maieutical (MathX, Solve, etc).

Una live demo è disponibile qui: https://mathx-nf-checker.netlify.app/

Environment

Node: >= 14.x.x

Sviluppo

Per sviluppare la libreria è sufficiente aver installato node e yarn ed installare i pacchetti di sviluppo con:

  • yarn install => installa le dipendeze utili a lavorare a tutto il workspace

  • cd lib && yarn install --focus => installa solo le dipendenza necessarie a lavorare sulla libreria

Per lanciare i test è sufficiente lanciare yarn test mentre il linting del è suddiviso tra ESLint e il typecheck di TSC.

La build utilizza ESbuild per ottenere 2 bundle:

  • CJS ./dist/index.cjs.js
  • ES-module ./dist/index.esm.js

Durante la build viene generato anche il file di typing .d.ts utile quando si consuma la libreria da un altro progetto (auto-complete in VSCode).

Debugging

Per debuggare gli alberi sintattici MathJSON è sufficiente settare la variabile d'ambiente DEBUG_TREE=1 prima di fare la build o lanciare i test.

Changelog

1.4.0
  • cambiato il separatore decimale da "." a ","
1.3.2
  • fix: corretto bug serializzazione expressione algebriche
1.3.1
  • fix: corretto problema nella gestione degli errori
1.3.0
  • aggiornamento a cortex 0.12.2 (breaking)
  • fix: corretto bug serializzazione radicali
  • fix: corretto bug serializzazione gradi
1.2.0
  • fix: aggiunti build target in linea con i consumer della libreria
1.1.0
  • new: Operatore : per la divisione
  • fix: corretto bug \le -> \leslant
  • fix: forzato uso di \frac per le frazioni
  • fix: forzato \cdot per la moltiplicazione
  • new: accettiamo operatori \vee e \wedge
  • fix: rimuoviamo separatore migliaia per i numeri
  • new accettiamo l'operatore \pm