ee.on('ping', (e) => console.log('received', e.detail)); ee.trigger('ping', { now: Date.now() });
Praktiske hjælpefunktioner: string‑helpers, math‑helpers og en lille EventEmitter. Projektet er skrevet i ESM og eksporterer en lille, stabil public API fra pakkeniveau.
Eksporter kun det du vil understøtte som public API fra roden (@ockley/utils). Undgå at forbrugere skal importere direkte fra src/ — det gør API'en skrøbelig over tid.
stringutils—capitalize,slugifymathutils—clamp,lerp,mapEventEmitter— lille event emitter baseret påEventTarget
Når pakken publiceres til npmjs.org installeres den med:
npm install @ockley/utilsImportér direkte fra pakkeniveau (ingen /src i importstien):
import { clamp, lerp, map } from '@ockley/utils';
import { capitalize, slugify } from '@ockley/utils';
import { EventEmitter } from '@ockley/utils';
console.log(clamp(10, 0, 5)); // 5
console.log(lerp(0, 100, 0.5)); // 50
const ee = new EventEmitter();
ee.on('hello', (e) => console.log('hello', e.detail));
ee.trigger('hello', { msg: 'hi' });Hvis du af en eller anden grund har brug for en subpath (kontrolleret eksport), kan du bruge:
import { clamp } from '@ockley/utils/math';
import { slugify } from '@ockley/utils/strings';Der er simple type-deklarationer i types/index.d.ts. package.json indeholder types-feltet, så forbrugere med TypeScript får autocompletion og type‑checks.
- Kør simple scripts lokalt med node hvis nødvendigt:
node ./src/math/tests/mathutils-test.js- Tilføj et test-framework (fx Vitest) for rigtige tests og CI.
- Opret en npm-konto hvis du ikke har en: https://www.npmjs.com/
- Login lokalt med
npm logineller brug en automation token i CI. - Bump version i
package.json, tag og push, eller publish lokalt:
npm version patch -m "Release v%s"
git push --follow-tags
npm publish --access public- Alternativ: automatiser publish via GitHub Actions ved at bruge en
NPM_TOKENsecret.
Åbn issues eller send PR'er på GitHub: ockley/utils
Fork → branch → PR.
ISC — se LICENSE.