With n8n everyone can have their own free node-based workflow automation tool. n8n is self-hostable, so the data stays with you. It can be easily extended and so also used with in-house tools and allows to automate complex tasks. Launch it directly from the CLI via npx n8n or run the offered Docker container. If …
Tag Archives: automation
Automatically update your GitHub readme through GitHub Actions
Pawel Grzybek has set up a workflow that uses GitHub Actions’ Scheduled Events to automatically update his profile README.md. It runs every 6 hours and pulls in his RSS feed to populate the README.md import fs from "fs"; import fetch from "node-fetch"; import parser from "xml2json"; const FEED_URL = "https://pawelgrzybek.com/feed.xml"; const TAG_OPEN = `<!– FEED-START …
Continue reading “Automatically update your GitHub readme through GitHub Actions”
Building with Friction
Tim Kaldec takes a look at our modern workflow – in which lots of tools have removed friction – and makes the case to add some “healthy friction”: A lot of modern workflow improvements have been around removing friction. We want to make it easier to deploy rapidly. Tools like npm make it very easy …
Puppeteer 2.1.0, with native Firefox support
Late January Puppeteer 2.1.0 got released, with native support for Firefox: The launcher now has an option to run Puppeteer with different browsers, starting with Firefox. Puppeteer can now talk to a real, unpatched Firefox binary. This is a first step towards eventually deprecating the separate puppeteer-firefox package in favor of supporting Firefox directly in …
Continue reading “Puppeteer 2.1.0, with native Firefox support”
Wombat Dressing Room, an npm publication proxy on GCP
When automating the publishing of an NPM package, 2FA can get in the way, as you can’t really automate entering a 2FA auth code off a cellphone. Enter Wombat Dressing Room from Google: With Wombat Dressing Room, rather than an individual configuring two factor authentication in an authenticator app, 2FA is managed by a shared …
Continue reading “Wombat Dressing Room, an npm publication proxy on GCP”
Programmatically add scripts to package.json
with npm-add-script
Recently I needed to automate the addition of the addition of a script defined in a package.json‘s scripts section. To do this I used npm-add-script (an older, but still functioning project), along with the aforementioned npx. For example, to add a script labelled start with the contents webpack-dev-server –config ./config/webpack.config.babel.js –env.MODE=development –open –hot, I use: …
Continue reading “Programmatically add scripts to package.json
with npm-add-script
“
Automatically set up your Mac and configure macOS using ./freshinstall
Recently I configured my new MacBook Pro. I decided to start with a clean slate and not migrate anything from my old MacBook. To configure macOS I whipped up ./freshinstall, which automates that process. Steps included are: Configure macOS Preferences and the like Generate and load SSH keys Install the essentials: XCode, Git, Homebrew Copy …
Continue reading “Automatically set up your Mac and configure macOS using ./freshinstall
“
Puppeteer – Headless Chrome Node API
Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome. const puppeteer = require(‘puppeteer’); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(‘https://example.com’); await page.screenshot({path: ‘example.png’}); browser.close(); })(); Puppeteer – …
Chromeless Playground: Chrome Automation Made Simple
With Chrome 59 came the ability to run a Headless Chrome. Controlling it via code isn’t that easy nor elegant. Enter Chromeless (not be confused with Mozilla’s Chromeless): With Chromeless you can control Chrome (open website, click elements, fill out forms…) using an elegant API. This is useful for integration tests or any other scenario …
Continue reading “Chromeless Playground: Chrome Automation Made Simple”