Skip to content

Instantly share code, notes, and snippets.

View jeremyben's full-sized avatar
🐔
NaN hopefully.

Jeremy Bensimon jeremyben

🐔
NaN hopefully.
  • France
View GitHub Profile
@jeremyben
jeremyben / no-new.ts
Last active August 1, 2019 13:16
Make new keyword optional.
/**
* Gives a class constructor the possibility to be invoked
* with or without the `new` keyword, like built-in constructors.
*
* @param class_ class whose constructor will be proxified.
* @param constructorName if we need an accurate `constructor.name` property.
*/
export function makeNewOptional<C extends new (...args: any[]) => any>(class_: C, constructorName?: string) {
type NoNew<T extends C> = (...args: ConstructorParameters<T>) => InstanceType<T>
@jeremyben
jeremyben / jest-coverage-badges.ts
Last active January 26, 2022 05:38
Get shields.io badges for jest coverage.
// Make sure you have json-summary as a coverage reporter in your jest config.
// coverageReporters: ['json-summary', 'text', 'lcov']
import { readFileSync, mkdirSync, writeFileSync } from 'fs'
import { join } from 'path'
import { get } from 'https'
import { ok } from 'assert'
Promise.resolve().then(async () => {
const outputDir = join(process.cwd(), 'badges')
@jeremyben
jeremyben / myapp.service
Last active March 5, 2025 12:32
systemd socket activation
# https://www.freedesktop.org/software/systemd/man/systemd.unit.html
[Unit]
Description=My App
After=network.target
# https://www.freedesktop.org/software/systemd/man/systemd.exec.html
[Service]
Type=simple
# https://www.freedesktop.org/software/systemd/man/systemd.exec.html#WorkingDirectory=
WorkingDirectory=-/srv/app/
@jeremyben
jeremyben / mcp.md
Last active February 9, 2026 10:18
claude code config