Skip to content

Browserify hotfix#1057

Merged
k4b7 merged 2 commits intoKaTeX:masterfrom
nickkolok:browserify-hotfix
Jan 14, 2018
Merged

Browserify hotfix#1057
k4b7 merged 2 commits intoKaTeX:masterfrom
nickkolok:browserify-hotfix

Conversation

@nickkolok
Copy link
Contributor

Greetings from Russia, comrads!

0.8.0 and higher are incompatible with browserify. 0.7.1 is compatible.
The problem is described in detail here.

I suggest this solution as a hotfix. Real solution should use standalone option as described in a link above.

I believe that this PR should be merged into 0.8.x ASAP, because otherwise upgrading from 0.7.x to 0.8.x breaks any application which uses katex through browserify.

@khanbot
Copy link

khanbot commented Jan 4, 2018

CLA signature looks good 👍

@k4b7
Copy link
Member

k4b7 commented Jan 4, 2018

@nickkolok thanks for the PR. This should be pretty easy to back port to 0.8.x. I'll have to set up a 0.8.x branch to do the deploy from. I think I'll merge it into master and then back port it afterwards.

@k4b7 k4b7 self-assigned this Jan 4, 2018
@nickkolok
Copy link
Contributor Author

@kevinbarabash Can I do something to fastenate integration of this PR into 0.8.x ? I need browserify-compatible version of katex in production, and I'd definitely prefer 0.8.x to 0.7.x.

@k4b7 k4b7 merged commit f6b5091 into KaTeX:master Jan 14, 2018
@k4b7
Copy link
Member

k4b7 commented Jan 14, 2018

Still need to create a 0.8.x branch and merge this in there.

@nickkolok
Copy link
Contributor Author

@kevinbarabash I've backported this patch on v0.8.3 (patch + version bump to v0.8.4): https://github.com/nickkolok/KaTeX/tree/browserify-hotfix-0.8.4
Hope this helps.

k4b7 pushed a commit that referenced this pull request Jan 22, 2018
* Create a separate entry point for webpack

Created a webpack entry point for KaTeX, which imports katex.less. As
flow[1] and jest[2] doesn't support CSS modules natively, a separate
entry point is used and it is not flowtyped.

[1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef
[2] https://facebook.github.io/jest/docs/en/webpack.html

* Use webpack to build files

* Made webpack.config.js export valid webpack configuration
* Use:
browserify -> webpack
babelify -> babel-loader
UglifyJS CLI -> UglifyJsPlugin
Less CLI -> less-loader
cleancss -> cssnano in css-loader
build/fonts -> file-loader
* Inline CSS(Less) using style-loader and export them using
ExtractTextPlugin
* Add `watch` npm script calling `webpack --watch`

* Improve local testing(webpack-dev-server)

* Made webpackDevServer export a valid webpack configuration
* Compile Less and inline CSS using less-loader and style-loader
* Instead of copying files serve files from /static and use file-loader
* Remove old server.js and its dependencies

* Use webpack-dev-server in Screenshotter

* Include contrib in webpack-dev-server

+ Moved common configurations to webpack.common.js

* Rename webpackDevServer.js to webpack.dev...

to be consistent, avoid confusion with webpack-dev-server and follow
webpack configuration naming convention.

* Remove unnecessary conditional output.path

* Use map instead of reduce

+ Add comments regarding function arguments

* Remove unnecessary mkdir and clean build/* before build

* Use katex as external dependency instead of global variable in contrib

Fixes #692.

* Unblock codes as they are built as a module

* Update package-lock.json

* Add comments regarding devServer option

* Lint renamed webpack.dev.js

a0d8b33

* Export ES6 module and expose its default export

* Revert "Browserify hotfix (#1057)"

This reverts commit f6b5091.

* Enables colors on the console when running the dev server in Screenshotter

* Add context to webpack configuration

Allows webpack to be run from other directories

* Move `rm -rf build/*` to npm scripts

* Check dependencies before build

* Move UglifyJsPlugin into config creation

* Let webpack handle ES6 modules

Do not transform modules to commonjs in Babel. However Jest doesn't not
support ES6 modules, so transfrom modules to commonjs when NODE_ENV is
`test`.

* Add documentation on testing in IE 9 and 10 using webpack-dev-server

Changed version range to include IE-compatible version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants