TypeScript library starter that works out-of-the-box with Node, Deno, Bun, and the browser. Batteries included: linting, testing, bundling, size-limit, and automated releases.
.ts source imports for direct consumptionsrc/internal.ts is runtime-agnostic; src/index.ts (Node) and src/browser.ts (browser) wire runtime-specific APIsInstall dependencies and run scripts:
pnpm i
pnpm lint
pnpm test
pnpm build
Node usage:
import { add, greet, getSecureRandomId } from "@bgub/ts-base";
console.log(add(2, 3));
console.log(greet("Ada"));
console.log(getSecureRandomId());
Browser usage (bundled or via import maps):
import { add, greet, getSecureRandomId } from "@bgub/ts-base/browser";
add(1, 2);
greet("Linus");
getSecureRandomId();
Deno usage (import from src if desired):
import { add, greet } from "https://jsr.io/@bgub/ts-base/<version>/src/index.ts";
src/internal.ts: core logic, no Node/browser APIssrc/index.ts: Node adapter (e.g., crypto.randomBytes)src/browser.ts: browser adapter (e.g., crypto.getRandomValues)tsdown.config.ts: builds Node entry and browser core bundlevitest.config.ts: coverage config and thresholdsMIT © bgub
8 commits
3 commits
TypeScript
100.0%
TypeScript library starter that works out-of-the-box with Node, Deno, Bun, and the browser. Batteries included: linting, testing, bundling, size-limit, and automated releases.
.ts source imports for direct consumptionsrc/internal.ts is runtime-agnostic; src/index.ts (Node) and src/browser.ts (browser) wire runtime-specific APIsInstall dependencies and run scripts:
pnpm i
pnpm lint
pnpm test
pnpm build
Node usage:
import { add, greet, getSecureRandomId } from "@bgub/ts-base";
console.log(add(2, 3));
console.log(greet("Ada"));
console.log(getSecureRandomId());
Browser usage (bundled or via import maps):
import { add, greet, getSecureRandomId } from "@bgub/ts-base/browser";
add(1, 2);
greet("Linus");
getSecureRandomId();
Deno usage (import from src if desired):
import { add, greet } from "https://jsr.io/@bgub/ts-base/<version>/src/index.ts";
src/internal.ts: core logic, no Node/browser APIssrc/index.ts: Node adapter (e.g., crypto.randomBytes)src/browser.ts: browser adapter (e.g., crypto.getRandomValues)tsdown.config.ts: builds Node entry and browser core bundlevitest.config.ts: coverage config and thresholdsMIT © bgub
8 commits
3 commits
TypeScript
100.0%