Commit Graph

134 Commits

Author SHA1 Message Date
greenkeeper[bot]
6151907ecb Update uglifyjs-webpack-plugin to the latest version 🚀 (#1714)
* chore(package): update uglifyjs-webpack-plugin to version 2.0.0

* chore(package): update lockfile yarn.lock
2018-09-16 15:23:33 +09:00
greenkeeper[bot]
db5d75db07 Update flow-bin to the latest version 🚀 (#1715)
* chore(package): update flow-bin to version 0.81.0

* chore(package): update lockfile yarn.lock
2018-09-16 00:37:40 +09:00
ylemkimon
1cf3cd6fe5 Remove greenkeeper-lockfile (#1710) 2018-09-12 22:01:30 +09:00
greenkeeper[bot]
91553c1dfe Update webpack-bundle-analyzer to the latest version 🚀 (#1709)
* chore(package): update webpack-bundle-analyzer to version 3.0.0

* chore(package): update lockfile

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-09-11 23:47:55 -04:00
ylemkimon
7f7d063e73 chore(package): update file-loader to version 2.0.0 (#1697) 2018-09-04 21:55:46 -04:00
greenkeeper[bot]
a88310e51d chore(package): update style-loader to version 0.23.0 (#1668)
* chore(package): update style-loader to version 0.23.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-09-04 09:06:52 +09:00
ylemkimon
4178639ea5 Upgrade to Babel 7 (#1595)
* 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
2018-09-03 17:19:12 -04:00
ccorn
d3ec100d02 dist script packs release tarball/zip with "katex" directory prefix again. (#1665)
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.
2018-09-01 13:54:31 +09:00
greenkeeper[bot]
5585187abb Update flow-bin to the latest version 🚀 (#1689)
* chore(package): update flow-bin to version 0.80.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-09-01 11:10:02 +09:00
greenkeeper[bot]
16f79435b3 Update rollup to the latest version 🚀 (#1663)
* chore(package): update rollup to version 0.65.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-08-25 23:13:21 +09:00
ylemkimon
7bc15d4d76 Revert pkg.main to CommonJS (ES5) module and remove pkg.module field (#1653) 2018-08-23 01:30:01 +09:00
ylemkimon
41a43974ce Collect code coverage in screenshotter tests (#1644)
* 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
2018-08-21 12:09:29 +09:00
ylemkimon
293af2936d Release v0.10.0-rc (#1634)
* Release v0.10.0-rc

Bump master to v0.10.0-pre

* Update CHANGELOG.md

* Update SRI hashes

* Update SRI hashes
2018-08-20 00:25:11 +09:00
ylemkimon
93b1b7947c Fix scrollspy.js & use query-string@5 to support IE (#1621)
* Fix scrollspy.js syntax error on IE

* Use query-string@5 to support IE
2018-08-18 21:25:37 +09:00
greenkeeper[bot]
46e7939fa9 chore(package): update flow-bin to version 0.79.0 (#1628)
* chore(package): update flow-bin to version 0.79.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-08-17 20:00:14 +09:00
ylemkimon
f829ebc692 Improve prestart and tests (#1610)
* 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
2018-08-17 16:29:27 +09:00
greenkeeper[bot]
4e53f9d059 Update eslint-plugin-transform-runtime-aliasing to the latest version 🚀 (#1608)
* chore(package): update eslint-plugin-transform-runtime-aliasing to version 1.0.0

* chore(package): update lockfile

https://npm.im/greenkeeper-lockfile
2018-08-13 18:30:46 +09:00
ylemkimon
fdb155aa97 Build ECMAScript modules (#1479)
* Separate type import statement from module import statement

* Remove extension from import statements

* Build ECMAScript modules

* Add `cross-env` devDependency

* Use `babel-plugin-import-rename` instead of custom plugin

* Improve `.babelrc` style and add comments

* Update README.md

* Change file extension to `.mjs`

Comply with Node.js spec. Use extensionless package:main.

* Enforce only ESM compatible imports

* Dedupe packages

* Add `unicodeMake.js` to overrides:excludedFiles

* Fix .eslintrc merge conflict

* Use rollup to bundle ES module

* Remove `eslint-plugin-import`

* Change build directory to `dist`

* Change build directory to `dist`

* Change build directory

* Move docs from README.md to browser.md

* Update update-sri.js

* Revert update-sri.js

* Revert update-sri.js

* Update .eslintrc

* Remove SSH key testing
2018-08-13 13:06:40 +09:00
ylemkimon
295d933845 Enable greenkeeper-lockfile (#1531)
* Enable `greenkeeper-lockfile`

* Change colon to dash

* Fix command path

* Add SSH key
2018-08-12 23:55:19 -04:00
ylemkimon
7f1ce374e0 Lint against function polyfills that may be expensive (#1597)
* Lint against polyfills that may be expensive

* Exclude test file from source code linting
2018-08-13 11:26:46 +09:00
Erik Demaine
881d780287 Rename Screenshotter -> screenshotter (#1573)
Fix #1570
2018-08-10 19:29:16 +09:00
ylemkimon
e4db097f0c Enable stylelint-config-standard, lint CSS files (#1575) 2018-08-09 13:10:30 -04:00
greenkeeper[bot]
8fb92f6866 chore(package): update postcss-loader to version 3.0.0 (#1572)
* chore(package): update lockfile
2018-08-09 12:58:06 +09:00
greenkeeper[bot]
0b8277c37b chore(package): update style-loader to version 0.22.0 (#1561)
* chore(package): update lockfile
2018-08-08 17:56:00 +09:00
greenkeeper[bot]
ddddd3ad8c chore(package): update flow-bin to version 0.78.0 (#1545) 2018-08-03 21:16:00 -04:00
ylemkimon
c06b36cb6a Replace yarn run and yarn install with yarn, remove building with npm instructions (#1528)
* Replace `yarn run` with `yarn`

* Replace `yarn install` with `yarn`

* Remove building using `npm` from node.md
2018-07-30 14:31:25 +09:00
ylemkimon
a76c4b9a2f Switch npm to Yarn (#1522)
* Add testUrl to jest config

* Switch npm to Yarn
2018-07-29 11:36:27 -07:00
ylemkimon
edede0867d Add codecov as devDependencies (#1524)
* Add codecov as devDependencies

* Update CI commands
2018-07-30 02:15:25 +09:00
ylemkimon
db2aecce24 Lint website (#1519)
* Lint website

* Add comment to empty_thead.js
2018-07-28 10:49:36 -04:00
Erik Demaine
9fe5e221e5 Switch from nomnom to commander (#1496)
* 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
2018-07-23 13:16:45 -04:00
ylemkimon
237986a7ca Change build directory to dist and cleanup NPM scripts (#1500)
* Move the build path to `dist`

* mkdir dist if not exists

* Remove build from .gitignore

* Delete `dist/` before building and when cleaning
2018-07-23 12:46:15 -04:00
greenkeeper[bot]
78870abbe8 Update css-loader to the latest version 🚀 and use postcss-loader and cssnano to minimize CSS (#1464)
* 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
2018-07-22 15:37:19 +09:00
greenkeeper[bot]
e5cb511f5a chore(package): update flow-bin to version 0.77.0 (#1493)
* chore(package): update lock file
2018-07-21 20:18:44 +09:00
ylemkimon
48e9058a06 Inline version using babel-plugin-version-inline (#1475)
* Inline version using `babel-plugin-version-inline`

* Fix `unicodeSymbols.js` generation
2018-07-16 03:41:03 +09:00
ylemkimon
0fb71c8bf8 Lint webpack.*.js (#1467)
* Lint webpack.*.js

* Fix webpack.analyze.js style
2018-07-07 13:17:05 -04:00
greenkeeper[bot]
00c91cdc35 chore(package): update flow-bin to version 0.76.0 (#1465)
* chore(package): update flow-bin to version 0.76.0

* chore(package): update lockfile
2018-07-08 00:07:14 +09:00
ylemkimon
518379aed5 lexer: Remove match-at dependency, use RegExp (#1447)
* lexer: Remove `match-at` dependency, use RegExp

* chore(package): update flow-bin to version 0.75.0

* Fix flow error

* Remove unused flow libs

* Minor fix

* Throw an error when `RegExp.exec` jumps
2018-06-28 03:13:27 +09:00
greenkeeper[bot]
6195f2f176 chore(package): update eslint to version 5.0.0 (#1448)
* chore(package): update eslint to version 5.0.0

* chore(package): update lockfile
2018-06-23 13:26:02 +09:00
ylemkimon
3f1b13e352 Fix Webpack global function definition, including hot module replacement (#1435)
* Upgrade webpack-cli to 3.0.1

* Wrap output.globalObject in parentheses

Fix global function definition, such as hot module update.
2018-06-17 08:19:02 -04:00
greenkeeper[bot]
f929f0a683 chore(package): update flow-bin to version 0.74.0 (#1414) 2018-06-07 14:33:23 -04:00
Erik Demaine
4f9851fb0c Automatic submodule updating via husky tool (#1391)
* Automatic submodule updating via husky tool

* Update documentation
2018-06-04 20:22:12 -04:00
greenkeeper[bot]
59a25fe3d9 Update webpack-cli to the latest version 🚀 (#1397)
* chore(package): update webpack-cli to version 3.0.0

* chore(package): update lockfile
2018-06-02 14:54:29 -04:00
greenkeeper[bot]
659b4e30c8 Update dependencies to enable Greenkeeper 🌴 (#1368)
* chore: add Greenkeeper config file

* chore(package): update dependencies

* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Exclude "dockers/texcmp/package.json",

* Revert "dockers/texcmp/package.json"

Reverts ddc6aa9e05d9e3a7e1e960c7c62f15b8dbff70a9
2018-05-28 05:37:36 +02:00
ylemkimon
25e07a7df6 Upgrade to webpack 4 (#1337) 2018-05-28 05:20:33 +02:00
Ashish Myles
e3fb2f95ae Update flow version and address type errors. (#1369) 2018-05-27 16:19:10 -04:00
ylemkimon
ef666c18da Update dependencies: less(-loader), uglifyjs-webpack-plugin, request (#1343) 2018-05-23 16:13:06 +02:00
Kevin Barabash
5aad11eff3 Bump master to v0.11.0-pre 2018-05-19 20:49:11 -04:00
Erik Demaine
a0ddad338e Support \tag, \tag*, and \gdef (#1309)
* 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
2018-05-19 22:19:21 +02:00
Erik Demaine
7b22eeb64a Move test helpers into common modules (#1318)
* 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
2018-05-18 09:45:19 -04:00
Erik Demaine
7ab4f76e16 Implement strict mode (replacing unicodeTextInMathMode) (#1278)
* 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
2018-05-13 14:27:30 -04:00