Secretary workbench has been updated: https://github.com/apache/whimsy/commit/dee30b73b5637f33806d8369cf9c5e9e528635fd
If there are any problems that are suspected to be caused by this change, feel free to remove that line. - Sam Ruby On Mon, Jan 15, 2018 at 4:08 PM, Sam Ruby <ru...@intertwingly.net> wrote: > TL;DR: in the upcoming weeks and months, I plan to upgrade the scripts > generated to "use strict" and to make use of ECMAScript 2015 and later > syntax. > > --- > > I've been making changes to ruby2js in the past week or so to support > features added to Javascript since 2009. All browsers from IE 10 on support > "use strict", and the major browsers (Chrome, Edge, Firefox, and Safari) > support ES2017. > > Enabling these changes is as simple as "require 'ruby2js/strict'" and/or > "require 'ruby2js/es2017'". I don't plan on adding those statements until > after I have run some tests. I also don't plan on changing the board agenda > tool until after this month's meeting. Should we need to revert the changes > (either temporarily or permanently), all we will have to do is change back > to "require 'ruby2js'". > > In my opinion, all whimsy tools (particularly the one that run under > passenger) should be upgraded to "use strict". As I believe that it is > unlikely that the secretary workbench will be used with IE 11, I believe > that it is safe to update that tool to ES2017. > > Some links outlining the changes: > > https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode > > https://babeljs.io/learn-es2015/ > > --- > > Early explorations with the board agenda tool have identified some > problematic code; things that work, but aren't quite right. As an example, > it seems that with the current code, 'color' is a computed property (more > specifically a 'getter') that use used to determine the color of the top and > bottom banners. Despite not having a setter, the code does assign this > value, which without either having strict on or using ES2015 classes will > overwrite the getter. > > Having JavaScript enforce the desired semantics will result in more > maintainable code. > > - Sam Ruby