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

Fix classes whose constructor name was broken by minification #17938

Merged
merged 3 commits into from Aug 28, 2018

Conversation

Projects
None yet
2 participants
@maxbrunsfeld
Contributor

maxbrunsfeld commented Aug 28, 2018

In Atom, several classes are registered as deserializers in a way that relies on their constructor.name property. When I introduced minification, I disabled constructor name mangling because I anticipated that code might rely on constructor.name. But classes that are written in Coffee-script are translated to old-school functions as opposed to ES6 classes, so their names were still mangled, breaking deserialization.

  • PaneAxis
  • TextBuffer

/cc @Arcanemagus

@Arcanemagus

This comment has been minimized.

Show comment
Hide comment
@Arcanemagus

Arcanemagus Aug 28, 2018

Contributor

Confirming that fixes the deserialization errors I was seeing on v1.32.0-nightly2. 🎉

Contributor

Arcanemagus commented Aug 28, 2018

Confirming that fixes the deserialization errors I was seeing on v1.32.0-nightly2. 🎉

maxbrunsfeld added some commits Aug 28, 2018

@maxbrunsfeld

This comment has been minimized.

Show comment
Hide comment
@maxbrunsfeld

maxbrunsfeld Aug 28, 2018

Contributor

That linux failure on VSTS looks unrelated to this change; the test script exited before it even started. The Travis-CI build passed.

Contributor

maxbrunsfeld commented Aug 28, 2018

That linux failure on VSTS looks unrelated to this change; the test script exited before it even started. The Travis-CI build passed.

@maxbrunsfeld maxbrunsfeld merged commit f3ca547 into master Aug 28, 2018

2 of 3 checks passed

Atom Pull Requests #20180828.5 failed
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@maxbrunsfeld maxbrunsfeld deleted the mb-decaf-classes-with-deserializers branch Aug 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment