Echo JS 0.11.0

<~>

tracker1 comments

tracker1 1964 days ago. link 1 point
It's 2021... time to put down jQuery and learn how to leverage JavaScript and the DOM to deal with these things.

There's already Array.prototype.forEach standardized in 2013, and in every browser since IE7.  You do *NOT* need jQuery for this.  It's also there with Element.prototype.forEach.

For the DOM example...

    document.querySelectorAll('#ul_items li')
      .forEach(el => {
        console.log(el.innerText);
      });
tracker1 1964 days ago. link 0 point
Neither the original article, or the polyfill references any proposal to add this to the EcmaScript spec.  And there's no reference to this on MozDev.

It's definitely a cool method, that said, I would suggest *NOT* doing a polyfill unless or until this is an actual EcmaScript proposal at Stage 1 at the very least.  It's not really a polyfill, because it's not filling any actual spec at any stage.  It's a non-standard extension.

--

Edit, would also copy/paste this on the blog itself, but they want permission to "Act on my behalf" in Github which is a non-starter and ridiculous permission to ask for.
tracker1 1964 days ago. link 1 point
Most of the "dependencies" should be "peerDependencies" and/or worked around directly.  gh-pages in particular should be a "devDependency" .. your demo/gh-pages  should really have its' own directory/package.json and be part of .npmignore so they aren't in the final distribution.
tracker1 1965 days ago. link 1 point
With help from https://stackoverflow.com/a/43438960

    window.addEventListener('DOMContentLoaded', (event) => {
      document.documentElement.addEventListener('paste', e => {
        if (e.target.nodeName.toLowerCase() === 'input') {
          e.preventDefault();
          var text;
          var clp = (e.originalEvent || e).clipboardData;
          if (clp === undefined || clp === null) {
            text = window.clipboardData.getData("text") || "";
            if (text !== "") {
              text = text.replace(/[\t\r\n\s]+/g, " ");
              document.selection.createRange().pasteHTML(text);
            }
          } else {
            text = clp.getData('text/plain') || " ";
            if (text !== "") {
              text = text.replace(/[\t\r\n\s]+/g, " ");
              document.execCommand('insertText', false, text);
            }
          }
        }
      });
    });

Note, the regex I'm calling out \t as well as \r\s and \s ... \s is any whitespace, and probably all you want/need adjust ast desired.
tracker1 1965 days ago. link 1 point
I don't know what this adds beyond the existing React class component lifecycle beyond adding new property/event names.
tracker1 1970 days ago. link 1 point
Been using this via babel for years, glad it's finally in Node 14, and the browsers without a transform or polyfill.
tracker1 1970 days ago. link 1 point
Crazy light on content for this one... I mean there's a lot of words and description, but the little example doesn't lead anyone down a path of being able to use the feature at all.
tracker1 1971 days ago. link 2 points
These days you should really be using Intl.DateTimeFormat for this.
tracker1 1973 days ago. link 1 point
Are you meaning the Chrome/Firefox console?  Or firebug as an integrated console extension.  You can definitely debug mjs with the developer console.
[more]