* Upgrade to Babel 7
* Update dependencies
* Remove `modules` and `useEsModules` as module support is automatically detected
Target browsers supporting ESM in the ESM build.
* Disable corejs aliasing (polyfill)
* Fix package.json and update lockfile
* Bump CircleCI cache version
* Remove `Object.values()` use for Node 6 compatability
* Remove redundant arguments to @babel/register
* Update rollup and rollup-plugin-babel
* Add ignore option to no-transform-runtime-aliasing
Ignore JSON.stringify, parseInt, and ParseFloat
* Upgrade babel-loader to 8.0.1
* Use api.env() in Babel configuration
* Upgrade babel-loader to 8.0.2
It does so by mercilessly removing the katex/ folder, if it exists
(presumably left by previous failed dist:zip attempts), copying dist/
to katex/, and archiving the latter. On success, katex/ gets removed.
Settled on this version after a more sophisticated script was considered
to use too much POSIX features (like set and trap) in #1665.
Deliberately not adding katex/ to .gitignore because if katex/ shows up,
it indicates that the latest dist attempt has not completed successfully.
* Collect code coverage in screenshotter tests
* Using instanbul, no additional dependencies required as they are part
of jest
* Collect in CircleCI builds and upload to Codecov
* Remove clover report
* screenshotter: replace promisify(fs) and mkdirp with fs-extra
* screenshotter: replace selenium.promise with builtin Promise
* Lint all JavaScript files in the root
* unicodeMake: replace console.log with writeFile(string)
* unicodeMake: check timestamp, do not build if up-to-date
* Replace check-dependencies with yarn check
* Exclude src/unicodeMake.js from coverage
* Add (missing) dependencies
* Skip CircleCI if only unrelated has been changed
* Fix commit range
* Use fs-extra in update-sri
* Switch from nomnom to commander
* Fix#1489
* --macro repeatable option replaced with single --macros option with ";"
separator (until https://github.com/tj/commander.js/issues/674)
* Add missing --max-expand option
* Replace expired --unicode-text-in-math-mode option with --strict
(https://github.com/Khan/KaTeX/issues/1483#issuecomment-405108291)
* Add instructions for how to run in the opening comments
* Clean up option doc strings
* Implement @ylemkimon's comments
* Fix try/const bug
* Fix use of --selenium-ip
It was a quirk that --seleniumIP worked. --help lists --selenium-ip.
* Implement comments, restore --macro repeatable argument
* Cleanup
* Restore 0 default for maxExpand
* Fix more comments from @ylemkimon
* npm run dist -> npm run build
In preparation for #1500
* Fix line length error
* chore(package): update css-loader to version 1.0.0
* Require minimum Node 6.9
* Use `postcss-loader` and `cssnano` to minimize CSS
* chore(package): update lockfile
* Remove unnecessary `ident` and function
* chore(package): update cssnano to version 4.0.1
* Tag sketch
* Drop objectAssign; already using Object.assign elsewhere
* Basic \gdef support
* Bug fix
* Finish \tag
* MathML numbers equations with <mlabeledtr>
* Fix flow bugs
* \gdef tests
* Add basic \tag tests
* Screenshot test for \tag
* \tag* test
* Add missing file
* Bug fix screenshot
* Major refactor
* Represent tag at top level of parse tree, requiring less hackery
* No more \@tag function; it was essentially just doing \text
* Wrap tag in group so e.g. ( and ) are formatted the same
* Add `feed` method to MacroExpander for multiple inputs (for tag)
* Bug fixes in buildHTML, makeTextRow, _getBuilt (for display mode)
* Remove excess <mrow> wrapper when unnecessary
* Update screenshot from tag being wrapped in group
* Add maxExpand limit
* Move test helpers into common modules
* helpers.js gets all the helper functions
* setup.js gets the common Jest setup (serializer, expect extensions)
* Exclude test from coverage testing
* @ylemkimon's comments: parsing -> building, settings || defaultSettings
* Default argument for settings
* Fix lint errors
* @ylemklemon's comment: use buildAndSetResult
* Use template literals
* Implement strict mode (replacing unicodeTextInMathMode)
Add new "strict" setting (default value false) that can take a boolean
(whether to throw an error or silently ignore), string ("ignore",
"warn", or "error"), or a function possibly returning such a value.
This enables a variety of ways of handling or ignoring transgressions
from "true" LaTeX behavior, making KaTeX easier to use while still
providing the ability for strict LaTeX adherance.
Resolve#1226, implementing that spec, for two existing
transgressions from regular LaTeX:
* src/functions/kern.js had some errors and warnings about use of
(units in) math vs. text mode commands.
* The former setting unicodeTextInMathMode (not in any released version)
needed to be set to true to enable Unicode text symbols in math mode.
Now these are controlled by the strict setting. By default, KaTeX is now
very permissive, but if desired, the user can request warnings or errors.
* Rewrite strict description
* Add tests for strict functions
* Stricter type for strict
* Switch default strict setting to "warn"
* Fix new flow error
* Fix another flow bug
* Expose defineSymbol in the main KaTeX object
* More Unicode letters (#1260)
This PR serves as a complement to PR #1232 by supporting some letters that are omitted from the Unicode range 1D400–1D7FF.
* Include Bold-Italic fonts for \boldsymbol (#1257)
* Include Bold-Italic fonts for \boldsymbol
Fix#1228
* Update screenshots
* README: Add size badge (#1253)
* README: Add size badge
Add a size badge showing size of gzipped katex.min.js
* update-sri: Add code to replace size badge in readme
* Change to use badge from shields.io instead
My bad for assuming that badgesize.io supports https. Change to use the
badge from shields.io which supports https.
* More Unicode letters (#1260)
This PR serves as a complement to PR #1232 by supporting some letters that are omitted from the Unicode range 1D400–1D7FF.
* Include Bold-Italic fonts for \boldsymbol (#1257)
* Include Bold-Italic fonts for \boldsymbol
Fix#1228
* Update screenshots
* README: Add size badge
Add a size badge showing size of gzipped katex.min.js
* update-sri: Add code to replace size badge in readme
* Change to use badge from shields.io instead
My bad for assuming that badgesize.io supports https. Change to use the
badge from shields.io which supports https.
* Use badgesize.io with https
* Fix space width in \texttt (#1261)
* Fix space width in \texttt
Fix#1255 via https://github.com/KaTeX/katex-fonts/pull/41.
Also fix width metrics via https://github.com/KaTeX/katex-fonts/pull/42.
* Improve test
* Update screenshots