| # This script detects obsolete Playwright snapshots and automatically removes them. | |
| # Obsolete snapshots are detected by re-generating the snapshots in a different folder and then | |
| # comparing these two folders. | |
| # To do this, we are taking advantage of the fact that development/pipeline snapshots | |
| # are created using a Linux docker container, as we can re-generate the Playwright snapshots using | |
| # the locally-installed version to have them automatically created in a separate folder (i.e. `linux` vs `windows`). | |
| # | |
| # This script will be required so long as Playwright does not have built-in functionality to detect and clean up | |
| # obsolete snapshots. | |
| # See: https://github.com/microsoft/playwright/issues/16582 |
| document.head.textContent = ''; document.body.textContent = ''; document.head.innerHTML = `<meta property="og:site_name" content="orbit-loona.github.io" />\n<meta property="og:type" content="website" />\n<meta property="og:title" content="ersatz mp3 player" />\n<meta property="og:url" content="https://orbit-loona.github.io/mp3.html" />\n<meta property="og:description" content="why" />\n<meta property="og:locale" content="en_US" />\n<meta property="og:image" content="https://orbit-loona.github.io/bin/why.png" />\n<meta property="og:image:width" content="133" />\n<meta property="og:image:height" content="87" />\n<meta property="og:image:alt" content="why" />\n<meta name="twitter:image:src" content="https://orbit-loona.github.io/bin/why.png" />\n<meta name="twitter:title" content="ersatz mp3 player" />\n<meta name="twitter:description" content="why" />\n\n<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE">\n<meta name="format-detection" content="telephone=no">\n<!--<meta name="viewport" content |
Title: Simple Sabotage Field Manual Author: Strategic Services Office of Strategic Services
| **/node_modules |
In the olden days, HTML was prepared by the server, and JavaScript was little more than a garnish, considered by some to have a soapy taste.
After a fashion, it was decided that sometimes our HTML is best rendered by JavaScript, running in a user's browser. While some would decry this new-found intimacy, the age of interactivity had begun.
But all was not right in the world. Somewhere along the way, we had slipped. Our pages went uncrawled by Bing, time to first meaningful paint grew faster than npm, and it became clear: something must be done.
And so it was decided that the applications first forged for the browser would also run on the server. We would render our HTML using the same logic on the server and the browser, and reap the advantages of both worlds. In a confusing series of events a name for this approach was agreed upon: Server-side rendering. What could go wrong?
In dark rooms, in hushed tones, we speak of colours.
| <link | |
| href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABmJLR0T///////8JWPfcAAAACXBIWXMAAABIAAAASABGyWs+AAAAF0lEQVRIx2NgGAWjYBSMglEwCkbBSAcACBAAAeaR9cIAAAAASUVORK5CYII=" | |
| rel="icon" | |
| type="image/x-icon" | |
| /> |
The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS.
This means you have the following choices:
import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide.await import(…) from CommonJS instead of require(…).This is a collection of the things I believe about software development. I have worked for years building backend and data processing systems, so read the below within that context.
Agree? Disagree? Feel free to let me know at @JanStette.
Keep it simple, stupid. You ain't gonna need it.
by Tatiana Mac
Last updated 14 April 2021
As speaking comes with immense privilege, I have crafted a speaker rider to set expectations and boundaries around my engagement. I am grateful to all the conference organisers who have brilliantly hosted me. I would love to continue to exercise this privilege to speak at conferences, and use this privilege to make the landscape more accessible and beneficial to tech's most historically excluded and marginalised communities.
😫 I provide a lot of explanations for those of you who never had to consider these things. Most thoughtful conferences I've attended check most of these boxes intrinsically, particularly when conference runners are experienced speakers. They get it.