- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117) - AppNav, ListingCard, SearchView with filters/sort, composables (useSnipeMode, useKonamiCode, useMotion), Pinia search store - Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue - docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve) - compose.yml: api (8510) + web (8509) services - Dockerfile CMD updated to uvicorn for upcoming FastAPI layer - Clean build: 0 TS errors, 380 modules
33 lines
689 B
TypeScript
33 lines
689 B
TypeScript
export type Options = {
|
|
/**
|
|
Match only the first ANSI escape.
|
|
|
|
@default false
|
|
*/
|
|
readonly onlyFirst: boolean;
|
|
};
|
|
|
|
/**
|
|
Regular expression for matching ANSI escape codes.
|
|
|
|
@example
|
|
```
|
|
import ansiRegex from 'ansi-regex';
|
|
|
|
ansiRegex().test('\u001B[4mcake\u001B[0m');
|
|
//=> true
|
|
|
|
ansiRegex().test('cake');
|
|
//=> false
|
|
|
|
'\u001B[4mcake\u001B[0m'.match(ansiRegex());
|
|
//=> ['\u001B[4m', '\u001B[0m']
|
|
|
|
'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
|
|
//=> ['\u001B[4m']
|
|
|
|
'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
|
|
//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
|
|
```
|
|
*/
|
|
export default function ansiRegex(options?: Options): RegExp;
|