Pierre-Yves Gérardy

Results 169 comments of Pierre-Yves Gérardy

Another corner case is the argument/context of DOM event handlers (`e.currentTarget`, etc...).

@Rich-Harris More generally, objects that are injected from foreign code as function arguments (or otherwise) must not have their properties mangled. Maybe that was implicitly covered by "part of an...

Adding some clarifications, because there are j2c specific bits in the docs. When you are ready, start here: The backend/filter API provides a PostCSS-like system without a need to materialize...

@porsager The prefix plugin is client-side only at the moment, for SSR, I have a PostCSS adapter that creates a PostCSS AST out of what you feed it, applies PostCSS...

Note that TypeScript may be an exception here. At least at some point they used to recommend using extension-less imports. Not sure if it is still the case.

Ok, I'm on it... Why are you using the `RegExp` constructor rather than literals?

Well, if I [follow the JS Spec with a hack for identifiers](https://flems.io/#0=N4Igxg9gdgzhA2BTEAucD4EMAONEBMQAaEAMwEskZUBtUKTAW2TQDoALAF0fmPSk6IBqECAC+RekxYhWAK2olIAoZxEB6dQAJsACiiIA7loBKiAOYBRAB56A5OUbYIAJ04AdT+5gAqOmIASL3dDHyJgmABdHwifXQB+FC1SFwhGLQAfAEoaTzt3EEjg1njg9V1WGK8SmkwAWgAvaJy8gsi7Ii07czssrPcoAc0tFy0AXi11R2c3T19-IJCwuei5uMTk1PTsmnzCzxLPcsqD+NrG5t229XMBgeUYTi1gPABHAFchMEROxHJOdiIFydGDvUgUaydMA4TjvFyIMTjLSQJwQPBmcyIWx3KAPJ6MTAATwARogkaDweRrLoCqUQP1cdBHloGkCINh4O8YOSwRCaSAYvT7kyntBEK5GK4yRMKXyCgBqAoMvEstkcrnwzlgTiYAQ8ynUgo+OnKkVaXWEpHqGgAPUi6hxKseLnIUHMSL+AKBNKgWi0b0+uMQuj2HVVqXVMF0nsBLl0Aa+wYKwQKnQtWU66lY6j6nVDGYGfoTQf5e06rIjnKjMe9xe+-JTxHNUEJGcm2dzWgKewLvv9iA+if5AANU+H2VXo-9Y-GB4H68ngk302mW52CqP6eEoAzhbAnijmHqJjW44X+4OSwVNGPrTbPFBouo8w-etui3Oh9fBeW1VXNe82q6pwugrl2AoOkKO6OmaMDYJg3wetO3oOt4z7ImkR6cKa+5aAA+kiFYTly8bwd8OHMnhBETGKEpSroeG7oyuHkPgqjkBQQJWrakhiEcKzyg6gzMcyABy0gAMpkYgACSqJuOSn5XgKY54Z0BSYDAqlqVorHsZxLhMSqckzJwUmIGAHHkFxJ7IWefZ1sGekCFZQKdFR6kgJp2mdM5nCuYZ766WxLkGQMRlmiZricAAMuQzIykpC59kRka6FFbjmZZBnuZ54RNoxQUZWZ2AWQF4Uwbh4nMPgxXcrZXr2R+l4LiAwCqZ5fFbuejn8u1BWdMVcWPLlWgEiSSbEKpbYFF1bZ+l20HCcZ8mcAAwlgXLSlop4+s187Bh5wX6dZwI7XZe0Lb1Omph152NZdC0XgdujVYgUkIbJq3uYV55Pb1b21atMDuQyT25n9+F4eeEMOUlwZvR93zFT9vb7UOgN1aDfoVctkWrQAIhZWAuJg-nQIpLVJn2BTTNFt19rtkPXSCnAum6aNXfD6WrRtmBbZ5KRpHdzquuYYNaAyTF6MVRNgCTZPkNADLDFosvE5gpPk1AKBDNodNuMVfNbQAYlsxt4AA3HrumrQAshA+DvEgWUBdbwnDEbm14LrUCe6tBBE6Q-PwJwABCrr4GLNuI9JxUx9IQOmVpfvaMVgeIMHzvh5HYtELHn3x6nasB-gQchznUBR26+eJ3VOL+6ZGdZ6HEdV2LvuN9FBBt9Xtwe9oBfI6tnfaD4mnp-gvfRwPWiY8Do-PHxxfAHVw2cMvwyr8D69EMvNtm2kFuIIvQuMA7Tsu6V2WnQ3ac7-FnCL8VrthcXa+P0QL-X+Vs-f2VBln6l2nm6G2MkQr+QMm9CewDc6gNnhfZ270f6AJthJNmYs4qCFJvAO+Jcm5TzgeYReIDzDgJOkCGgAA-AAmtZeA+BOhUIAIKGEwP8IoUA+B4CQNqJWsARAABYUCCIAAziEkCABgzARCsDADARQ-BBDCDQOISIJB4CugANbUBQHQKR0gRAomcHgOo8JMS2D4HCXgaAuCcFwCgTQ7woDYC0eYORaR1DGLRIgMxFgsTYAAAKiNYAAVlYAAZi8ZhaAChomolMeYgJ8hFGcEJKVEQMAwAumwGoMQkQxBAA), I end up with this for just detecting imports: ``/import(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:"(?:\\[^]|.)*"|'(?:\\[^]|.)*'|`(?:\\[^]|[^])*`)|(?:(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*,(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:\*(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+|(?:\{(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*\}|\{(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:(?:[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+|[^,{}\/\s]+)(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*,(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)*(?:[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+|[^,{}\/\s]+)(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:,(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)?\})(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)|(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+)|\*(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+|(?:\{(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*\}|\{(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:(?:[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+|[^,{}\/\s]+)(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*,(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)*(?:[^,{}\/\s]+(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+as(?:(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)+[^,{}\/\s]+|[^,{}\/\s]+)(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:,(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)?\})(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*)from(?:\s|\/\/[^\n]*\n|\/\*[^]*?\*\/)*(?:"(?:\\[^]|.)*"|'(?:\\[^]|.)*'|`(?:\\[^]|[^])*`))/`` ... which is probably a bit much... Also,...

A third possibility would be to load said runtime, but I don't know how heavy it is, or if it can be done lazily. I suppose that targeting ES6 would...

It took me a while to remember which was which as well... What about this (glowing/dim depending on state)? "Live" may clash with UI related to streaming but hopefully this...