Drop IE 9/10 support (#2136)

* Drop IE 9/10 support

* Remove IE-related comments

They no longer apply.

* Update browserslist

* Exclude old Safari (5.1)
This commit is contained in:
ylemkimon
2019-11-02 07:43:47 +09:00
committed by Kevin Barabash
parent b14197d9c9
commit 4ec2806b3e
7 changed files with 32 additions and 39 deletions

View File

@@ -4,8 +4,8 @@ not dead
# Browsers with more than 0.1% global usage, excluding old browsers # Browsers with more than 0.1% global usage, excluding old browsers
> 0.1% > 0.1%
not chrome < 45 not ie < 11
not ie < 9 not safari < 9
# Currently maintained Node.js versions # Currently maintained Node.js versions
maintained node versions maintained node versions

View File

@@ -61,11 +61,6 @@ This will host an interactive editor at
[http://localhost:7936/](http://localhost:7936/) to play around with and test [http://localhost:7936/](http://localhost:7936/) to play around with and test
changes. changes.
webpack-dev-server 2.8.0 introduced a change which included ES6 keywords `const`
and `let` within the scripts being served to the browser, and therefore doesn't
support IE 9 and 10. If you want to test in IE 9 and 10, install version 2.7.1
by running `yarn add webpack-dev-server@2.7.1`.
#### Jest tests #### Jest tests
The JavaScript parser and some of the HTML and MathML tree The JavaScript parser and some of the HTML and MathML tree
@@ -114,10 +109,9 @@ with a new feature.
#### Testing in other browsers #### Testing in other browsers
KaTeX supports all major browsers, including IE 9 and newer. Unfortunately, it KaTeX supports all major browsers, including IE 11 and newer. Unfortunately, it
is hard to test new changes in many browsers. If you can, please test your is hard to test new changes in many browsers. If you can, please test your
changes in as many browsers as possible. In particular, if you make CSS changes, changes in as many browsers as possible.
try to test in IE 9, using [modern.ie](http://modern.ie) VMs.
## Building ## Building

View File

@@ -14,7 +14,7 @@ KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the we
* **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources. * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources.
* **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML. * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML.
KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 911. KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 11.
KaTeX supports much (but not all) of LaTeX and many LaTeX packages. See the [list of supported functions](https://katex.org/docs/supported.html). KaTeX supports much (but not all) of LaTeX and many LaTeX packages. See the [list of supported functions](https://katex.org/docs/supported.html).

View File

@@ -30,8 +30,8 @@
"babel-plugin-istanbul": "^5.1.1", "babel-plugin-istanbul": "^5.1.1",
"babel-plugin-version-inline": "^1.0.0", "babel-plugin-version-inline": "^1.0.0",
"benchmark": "^2.1.4", "benchmark": "^2.1.4",
"browserslist": "^4.4.1", "browserslist": "^4.7.1",
"caniuse-lite": "^1.0.30000938", "caniuse-lite": "^1.0.30001002",
"codecov": "^3.2.0", "codecov": "^3.2.0",
"css-loader": "^3.0.0", "css-loader": "^3.0.0",
"cssnano": "^4.1.10", "cssnano": "^4.1.10",

View File

@@ -292,10 +292,6 @@ function buildHTMLUnbreakable(children, options) {
// Add strut, which ensures that the top of the HTML element falls at // Add strut, which ensures that the top of the HTML element falls at
// the height of the expression, and the bottom of the HTML element // the height of the expression, and the bottom of the HTML element
// falls at the depth of the expression. // falls at the depth of the expression.
// We used to have separate top and bottom struts, where the bottom strut
// would like to use `vertical-align: top`, but in IE 9 this lowers the
// baseline of the box to the bottom of this strut (instead of staying in
// the normal place) so we use an absolute value for vertical-align instead.
const strut = makeSpan(["strut"]); const strut = makeSpan(["strut"]);
strut.style.height = (body.height + body.depth) + "em"; strut.style.height = (body.height + body.depth) + "em";
strut.style.verticalAlign = -body.depth + "em"; strut.style.verticalAlign = -body.depth + "em";

View File

@@ -17,8 +17,6 @@ export const assembleSupSub = (
slant: number, slant: number,
baseShift: number, baseShift: number,
): DomSpan => { ): DomSpan => {
// IE 8 clips \int if it is in a display: inline-block. We wrap it
// in a new span so it is an inline, and works.
base = buildCommon.makeSpan([], [base]); base = buildCommon.makeSpan([], [base]);
let sub; let sub;
let sup; let sup;

View File

@@ -1530,14 +1530,14 @@ browserify-zlib@^0.2.0:
dependencies: dependencies:
pako "~1.0.5" pako "~1.0.5"
browserslist@^4.0.0, browserslist@^4.0.1, browserslist@^4.3.4, browserslist@^4.4.1: browserslist@^4.0.0, browserslist@^4.0.1, browserslist@^4.3.4, browserslist@^4.7.1:
version "4.4.1" version "4.7.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz#bd400d1aea56538580e8c4d5f1c54ac11b5ab468"
integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== integrity sha512-QtULFqKIAtiyNx7NhZ/p4rB8m3xDozVo/pi5VgTlADLF2tNigz/QH+v0m5qhn7XfHT7u+607NcCNOnC0HZAlMg==
dependencies: dependencies:
caniuse-lite "^1.0.30000929" caniuse-lite "^1.0.30000999"
electron-to-chromium "^1.3.103" electron-to-chromium "^1.3.284"
node-releases "^1.1.3" node-releases "^1.1.36"
bser@^2.0.0: bser@^2.0.0:
version "2.0.0" version "2.0.0"
@@ -1683,10 +1683,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2" lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0" lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000865, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30000938: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000865, caniuse-lite@^1.0.30000999, caniuse-lite@^1.0.30001002:
version "1.0.30000938" version "1.0.30001002"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000938.tgz#b64bf1427438df40183fce910fe24e34feda7a3f" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001002.tgz#ba999a737b1abd5bf0fd47efe43a09b9cadbe9b0"
integrity sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw== integrity sha512-pRuxPE8wdrWmVPKcDmJJiGBxr6lFJq4ivdSeo9FTmGj5Rb8NX3Mby2pARG57MXF15hYAhZ0nHV5XxT2ig4bz3g==
capture-exit@^1.2.0: capture-exit@^1.2.0:
version "1.2.0" version "1.2.0"
@@ -2672,10 +2672,10 @@ ejs@^2.6.1:
resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0"
integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==
electron-to-chromium@^1.3.103: electron-to-chromium@^1.3.284:
version "1.3.113" version "1.3.293"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz#b1ccf619df7295aea17bc6951dc689632629e4a9" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.293.tgz#e52a30026b89276e211be36083a4d7136fd480ea"
integrity sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g== integrity sha512-DQSBRuU2Z1vG+CEWUIfCEVMHtuaGlhVojzg39mX5dx7PLSFDJ7DSrGUWzaPFFgWR1jo26hj1nXXRQZvFwk7F8w==
elliptic@^6.0.0: elliptic@^6.0.0:
version "6.4.0" version "6.4.0"
@@ -5693,12 +5693,12 @@ node-pre-gyp@^0.11.0:
semver "^5.3.0" semver "^5.3.0"
tar "^4" tar "^4"
node-releases@^1.1.3: node-releases@^1.1.36:
version "1.1.8" version "1.1.38"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.8.tgz#32a63fff63c5e51b7e0f540ac95947d220fc6862" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.38.tgz#d81b365df2936654ba37f509ba2fbe91eff2578b"
integrity sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA== integrity sha512-/5NZAaOyTj134Oy5Cp/J8mso8OD/D9CSuL+6TOXXsTKO8yjc5e4up75SRPCganCjwFKMj2jbp5tR0dViVdox7g==
dependencies: dependencies:
semver "^5.3.0" semver "^6.3.0"
nopt@^4.0.1: nopt@^4.0.1:
version "4.0.1" version "4.0.1"
@@ -7427,6 +7427,11 @@ semver@^6.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
send@0.16.2: send@0.16.2:
version "0.16.2" version "0.16.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"