Skip to content

Instantly share code, notes, and snippets.

@tilleps
tilleps / log-formatter.js
Created June 24, 2022 15:00
Log formatter
#!/usr/bin/env node
const EventEmitter = require("events");
const stdin = new EventEmitter();
stdin.on("line", console.error);
let buff = "";
@tilleps
tilleps / gist:185c81baa4b943f81d101a8b2a6b547b
Created September 7, 2023 09:37
PassportJS promise support workaround
//
// Add Promise support for PassportJS: req.logIn() and req.logOut()
//
import { promisify } from "node:util";
import passportHttpRequest from "passport/lib/http/request.js";
// Workaround: Convert to promises before passport.initialize()
app.use(function (req, res, next) {
req.logIn = promisify(passportHttpRequest.logIn);
req.logOut = promisify(passportHttpRequest.logOut);
@tilleps
tilleps / gist:805d9144090b13cf1c161e38532af0e8
Last active October 2, 2023 17:37
Convert .env files to Docker .env
VAR_QUOTED="FOOBAR"
VAR_QUOTED_WITH_HASH="FOO#BAR"
VAR_QUOTED_WITH_HASH_SPACE="FOO #BAR"
VAR_QUOTED_WITH_COMMENT="FOOBAR" # COMMENT
VAR_QUOTED_WITH_COMMENT_NOSPACE="FOOBAR"# COMMENT
VAR_UNQUOTED=FOOBAR
VAR_UNQUOTED_WITH_HASH=FOO#BAR
#VAR_COMMENTED_OUT="FOO"
#VAR_COMMENTED_OUT_WITH_COMMENT="FOO" # BAR
import { mkdir } from "node:fs/promises";
import { dirname, join } from "node:path";
import unzipper from "unzipper";
import { createWriteStream } from "node:fs";
/**
* Main function to unzip and filter files based on user-defined patterns
*/
async function unzipAndFilter(inputZip, destDir, ignorePatterns) {