Improve build/minification error reporting

Avatar

Avatar

philiplawrence

Avatar

philiplawrence

philiplawrence

19-02-2019

Right now the minification process when building just returns if there was an error and the error itself, but no context around what code is causing it. This makes it hard to debug since there is no way to search all custom code in Launch; users instead have to go rule by rule to find the error.

 

For example, I could have the following (valid) custom code in a rule:

 

let myVar = "foo";

return myVar;

 

But since this is ES6, the minifier will fail, saying "There was an error minifying your custom code":

launch1.png

 

This does not provide any useful information on where/why the minifier is failing. It'd be nice to see the rule/extension/data element, as well as the line number of what is causing the issue:

launch2.png

 

Even if just a stopgap, being able to see the raw JS file before it goes through the minifier to search for the error would be helpful.

icebox
6 Comments (6 New)
6 Comments

Avatar

Avatar

thebenrobb

Employee

Avatar

thebenrobb

Employee

thebenrobb
Employee

16-04-2019

We've talked about this in the past.  If I recall correctly, the major obstacle is that minification happens after the library is assembled.  The minifier tries to minify everything all at once, and either succeeds or fails.  If it fails, it doesn't report enough info back for us to trace the minification error back to the original resource.

We're taking up Search as our next big project and that will allow you to search for particular strings in custom code, we're hoping that will help you to pinpoint the source of the issue as a stopgap until we can figure out a smarter approach (or a different minifier I suppose).

Avatar

Avatar

timf13285459

Avatar

timf13285459

timf13285459

16-05-2019

Please this a million times over!

As the sunset announcement from DTM is becoming more pronounced - people (like me) will be more eager to click the convert to launch button.

And I started with my simplest property and received a JS minification error and absolutely NO clue what converted rule was the issue.

If the minification debug options are as bad as my last 48 hours - I will be dreading porting the rest of my properties. (And wasting a ton of my employer's time as well)

Avatar

Avatar

thebenrobb

Employee

Avatar

thebenrobb

Employee

thebenrobb
Employee

17-07-2019

We're adding a feature soon (in code review now) that the code editor will be validating your code as you go, to warn you about compile-time errors before you save.  It uses the same minification library that we use at build time but is self-contained within the front-end UI.

This won't solve the problem but will mean that you run into it a whole lot less often.

Avatar

Avatar

thebenrobb

Employee

Avatar

thebenrobb

Employee

thebenrobb
Employee

27-08-2019

The code editor will now minify your code behind the scenes and report back to you problems that you'll run into at compile time.

Avatar

Avatar

LuisJJ

Avatar

LuisJJ

LuisJJ

26-12-2019

Hello,

We are facing the same problem, when upgrading from DTM to Launch.

For the migration use-case, the feature in the code-editor is useless, as it fails when it tries to minify the whole library.

Is there something to help to get all the errors at once (and where)??

 

We are having trouble on migrating a working library in DTM. In DTM it works. In Launch not.

Thanks.

Avatar

Avatar

thebenrobb

Employee

Avatar

thebenrobb

Employee

thebenrobb
Employee

18-02-2020

We recently updated to a more recent version of the minifier library that we use.  During that update we found some (new?) functionality to report a few lines of code around the lines that threw the error.  This combined with the Search functionality we added in December should go a long way towards identifying where the errors are coming from.  I'm leaving the idea in Accepted status because there's more on the roadmap that will come at a future time.

Status changed to: Accepted