Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use terser #3407

Merged
merged 6 commits into from Mar 22, 2022
Merged

Use terser #3407

merged 6 commits into from Mar 22, 2022

Conversation

RunDevelopment
Copy link
Member

This PR replaces UglifyJS 3 with Terser (5.x).

Since we want to transition to ES6 in v2, we'll need a minifier that supports ES6. We currently use UglifyJS 3, but that is a pure ES5 minifier. Since transpiling our code into ES5 would add complexity and result in worse file sizes, I think the easiest solution is to just minify our ES6(+?) code.

@github-actions
Copy link

github-actions bot commented Mar 21, 2022

JS File Size Changes (gzipped)

A total of 108 files have changed, with a combined diff of +288 B (+0.3%).

file master pull size diff % diff
components/prism-abnf.min.js 485 B 485 B 0 Bytes 0%
components/prism-agda.min.js 480 B 491 B +11 B +2.3%
components/prism-apex.min.js 1.11 KB 1.11 KB +2 B +0.2%
components/prism-arturo.min.js 1.61 KB 1.61 KB -1 B -0.1%
components/prism-asciidoc.min.js 1.62 KB 1.62 KB -1 B -0.1%
components/prism-avisynth.min.js 2.61 KB 2.62 KB +2 B +0.1%
components/prism-batch.min.js 656 B 656 B 0 Bytes 0%
components/prism-cooklang.min.js 604 B 601 B -3 B -0.5%
components/prism-coq.min.js 1.61 KB 1.61 KB +2 B +0.1%
components/prism-core.min.js 3.13 KB 3.13 KB +7 B +0.2%
components/prism-cpp.min.js 1.2 KB 1.2 KB +2 B +0.2%
components/prism-csharp.min.js 2.43 KB 2.44 KB +13 B +0.5%
components/prism-cshtml.min.js 1.15 KB 1.15 KB 0 Bytes 0%
components/prism-csp.min.js 600 B 600 B 0 Bytes 0%
components/prism-cue.min.js 742 B 735 B -7 B -0.9%
components/prism-dataweave.min.js 509 B 517 B +8 B +1.6%
components/prism-diff.min.js 400 B 401 B +1 B +0.3%
components/prism-django.min.js 572 B 573 B +1 B +0.2%
components/prism-docker.min.js 701 B 704 B +3 B +0.4%
components/prism-dot.min.js 604 B 606 B +2 B +0.3%
components/prism-ejs.min.js 262 B 263 B +1 B +0.4%
components/prism-elixir.min.js 855 B 856 B +1 B +0.1%
components/prism-erb.min.js 285 B 286 B +1 B +0.4%
components/prism-etlua.min.js 230 B 232 B +2 B +0.9%
components/prism-factor.min.js 3.55 KB 3.55 KB +1 B +0.0%
components/prism-false.min.js 266 B 278 B +12 B +4.5%
components/prism-ftl.min.js 800 B 805 B +5 B +0.6%
components/prism-gherkin.min.js 5.16 KB 5.17 KB +1 B +0.0%
components/prism-graphql.min.js 1.13 KB 1.14 KB +5 B +0.4%
components/prism-haml.min.js 808 B 809 B +1 B +0.1%
components/prism-handlebars.min.js 475 B 477 B +2 B +0.4%
components/prism-http.min.js 851 B 848 B -3 B -0.4%
components/prism-icu-message-format.min.js 827 B 829 B +2 B +0.2%
components/prism-java.min.js 1.2 KB 1.2 KB +2 B +0.2%
components/prism-javadoc.min.js 610 B 611 B +1 B +0.2%
components/prism-javadoclike.min.js 501 B 497 B -4 B -0.8%
components/prism-jq.min.js 641 B 643 B +2 B +0.3%
components/prism-js-extras.min.js 1.01 KB 1.01 KB +2 B +0.2%
components/prism-js-templates.min.js 1.17 KB 1.19 KB +14 B +1.2%
components/prism-jsdoc.min.js 647 B 648 B +1 B +0.2%
components/prism-jsx.min.js 962 B 966 B +4 B +0.4%
components/prism-keepalived.min.js 2.23 KB 2.23 KB +2 B +0.1%
components/prism-latte.min.js 536 B 543 B +7 B +1.3%
components/prism-lilypond.min.js 603 B 604 B +1 B +0.2%
components/prism-liquid.min.js 1.07 KB 1.07 KB +4 B +0.4%
components/prism-lisp.min.js 1.01 KB 999 B -7 B -0.7%
components/prism-llvm.min.js 374 B 385 B +11 B +2.9%
components/prism-markdown.min.js 1.96 KB 1.95 KB -9 B -0.5%
components/prism-markup-templating.min.js 559 B 553 B -6 B -1.1%
components/prism-markup.min.js 1.04 KB 1.04 KB +2 B +0.2%
components/prism-maxscript.min.js 844 B 845 B +1 B +0.1%
components/prism-mongodb.min.js 1.51 KB 1.51 KB +1 B +0.1%
components/prism-naniscript.min.js 779 B 781 B +2 B +0.3%
components/prism-nginx.min.js 385 B 386 B +1 B +0.3%
components/prism-parigp.min.js 500 B 501 B +1 B +0.2%
components/prism-pascaligo.min.js 678 B 683 B +5 B +0.7%
components/prism-perl.min.js 1.01 KB 1.01 KB +1 B +0.1%
components/prism-php.min.js 1.96 KB 1.96 KB +3 B +0.2%
components/prism-powershell.min.js 1.24 KB 1.24 KB +1 B +0.1%
components/prism-pug.min.js 982 B 984 B +2 B +0.2%
components/prism-pure.min.js 1.68 KB 1.68 KB +2 B +0.1%
components/prism-qml.min.js 603 B 605 B +2 B +0.3%
components/prism-qsharp.min.js 1.01 KB 1.01 KB -1 B -0.1%
components/prism-robotframework.min.js 598 B 599 B +1 B +0.2%
components/prism-rust.min.js 1.16 KB 1.17 KB +2 B +0.2%
components/prism-sas.min.js 3.01 KB 3.01 KB +2 B +0.1%
components/prism-scheme.min.js 1.62 KB 1.63 KB +8 B +0.5%
components/prism-shell-session.min.js 526 B 528 B +2 B +0.4%
components/prism-smarty.min.js 882 B 886 B +4 B +0.5%
components/prism-sml.min.js 770 B 770 B 0 Bytes 0%
components/prism-soy.min.js 802 B 806 B +4 B +0.5%
components/prism-swift.min.js 1.28 KB 1.28 KB +1 B +0.1%
components/prism-systemd.min.js 392 B 392 B 0 Bytes 0%
components/prism-t4-templating.min.js 405 B 407 B +2 B +0.5%
components/prism-textile.min.js 1.17 KB 1.17 KB +1 B +0.1%
components/prism-toml.min.js 492 B 494 B +2 B +0.4%
components/prism-tt2.min.js 640 B 642 B +2 B +0.3%
components/prism-twig.min.js 531 B 529 B -2 B -0.4%
components/prism-xml-doc.min.js 193 B 192 B -1 B -0.5%
components/prism-xquery.min.js 1.65 KB 1.65 KB -2 B -0.1%
components/prism-yaml.min.js 856 B 857 B +1 B +0.1%
components/prism-zig.min.js 1.18 KB 1.18 KB -1 B -0.1%
plugins/autolinker/prism-autolinker.min.js 595 B 597 B +2 B +0.3%
plugins/autoloader/prism-autoloader.min.js 2.39 KB 2.4 KB +2 B +0.1%
plugins/command-line/prism-command-line.min.js 1.16 KB 1.21 KB +43 B +3.7%
plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js 712 B 718 B +6 B +0.8%
plugins/custom-class/prism-custom-class.min.js 287 B 292 B +5 B +1.7%
plugins/data-uri-highlight/prism-data-uri-highlight.min.js 590 B 595 B +5 B +0.8%
plugins/diff-highlight/prism-diff-highlight.min.js 735 B 747 B +12 B +1.6%
plugins/download-button/prism-download-button.min.js 267 B 268 B +1 B +0.4%
plugins/file-highlight/prism-file-highlight.min.js 1.08 KB 1.07 KB -3 B -0.3%
plugins/filter-highlight-all/prism-filter-highlight-all.min.js 440 B 448 B +8 B +1.8%
plugins/highlight-keywords/prism-highlight-keywords.min.js 123 B 125 B +2 B +1.6%
plugins/inline-color/prism-inline-color.min.js 595 B 599 B +4 B +0.7%
plugins/jsonp-highlight/prism-jsonp-highlight.min.js 1.3 KB 1.3 KB -1 B -0.1%
plugins/keep-markup/prism-keep-markup.min.js 661 B 652 B -9 B -1.4%
plugins/line-highlight/prism-line-highlight.min.js 1.47 KB 1.47 KB +5 B +0.3%
plugins/line-numbers/prism-line-numbers.min.js 1.11 KB 1.13 KB +13 B +1.2%
plugins/match-braces/prism-match-braces.min.js 905 B 919 B +14 B +1.5%
plugins/normalize-whitespace/prism-normalize-whitespace.min.js 1.08 KB 1.09 KB +6 B +0.6%
plugins/previewers/prism-previewers.min.js 2.99 KB 3 KB +8 B +0.3%
plugins/remove-initial-line-feed/prism-remove-initial-line-feed.min.js 238 B 239 B +1 B +0.4%
plugins/show-invisibles/prism-show-invisibles.min.js 344 B 349 B +5 B +1.5%
plugins/show-language/prism-show-language.min.js 2.67 KB 2.67 KB +2 B +0.1%
plugins/toolbar/prism-toolbar.min.js 746 B 755 B +9 B +1.2%
plugins/treeview/prism-treeview.min.js 434 B 436 B +2 B +0.5%
plugins/unescaped-markup/prism-unescaped-markup.min.js 511 B 513 B +2 B +0.4%
plugins/wpd/prism-wpd.min.js 1.28 KB 1.27 KB -3 B -0.2%

Generated by 🚫 dangerJS against b5b1edf

@RunDevelopment
Copy link
Member Author

I had to disable unsafe transformations again because of a bug in the v8 version shipped in NodeJS 10.x. I even reported and helped fix this bug in terser a while ago, but it seems that there was a regression. It's a shame, but it's not worth the hassle now. Since this is a NodeJS 10.x specific bug, we might as well enable the transformation after dropping support for that version of Node.

@RunDevelopment RunDevelopment merged commit 11c5462 into PrismJS:master Mar 22, 2022
@RunDevelopment RunDevelopment deleted the terser branch March 22, 2022 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants