
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
@stll/text-search
Advanced tools
Multi-engine text search orchestrator for Node.js and Bun. Routes literals, regex, and fuzzy patterns to the right engine automatically.
Multi-engine text search orchestrator for Node.js and Bun. It classifies each pattern once, routes literals to Aho-Corasick, regex to RegexSet, fuzzy entries to FuzzySearch, and merges the results into one stable match stream.
Part of the @stll text search ecosystem: @stll/regex-set, @stll/aho-corasick, @stll/fuzzy-search.
Node.js / Bun:
npm install @stll/text-search
# or
bun add @stll/text-search
@stll/text-search ships the engine packages as
regular dependencies. You do not install them
separately unless you want to use the lower-level
engine APIs directly.
Browser / WebAssembly:
npm install @stll/text-search-wasm
# or
bun add @stll/text-search-wasm
@stll/text-search-wasm depends on the browser
variants of the Stella engines. Import the bundled
Vite plugin so those WASM loaders stay out of
pre-bundling and keep their relative asset paths.
import stllTextSearchWasm from "@stll/text-search-wasm/vite";
export default {
plugins: [stllTextSearchWasm()],
};
import { TextSearch } from "@stll/text-search";
const search = new TextSearch([
"Confidential",
"Attorney-Client Privilege",
/\b\d{2}\.\d{2}\.\d{4}\b/,
/\b[\w.+-]+@[\w-]+\.[\w]+\b/,
{ pattern: "Novák", distance: 1, name: "person" },
{ pattern: "s.r.o.", literal: true, name: "company-type" },
]);
const matches = search.findIter("Ing. Jan Novak, s.r.o., born 15.03.1990.");
Patterns are classified once at construction time.
| Engine | Used for |
|---|---|
| Aho-Corasick | Pure literals and explicit literal: true entries |
| RegexSet | Standard regex patterns |
| FuzzySearch | Entries with a distance field |
Large alternation-heavy regexes are isolated into their own RegexSet instance so they do not poison the shared DFA for simpler patterns.
The repository also contains stella-text-search-core
in crates/core. It mirrors the orchestration layer:
classification, engine routing, regex chunking, lazy
prefilters, split literal search, match merging, and
replacement. The crate is not published yet; it exists
as the native core boundary for downstream bindings.
new TextSearch(patterns, {
unicodeBoundaries: true,
wholeWords: false,
maxAlternations: 50,
fuzzyMetric: "levenshtein",
normalizeDiacritics: false,
caseInsensitive: false,
overlapStrategy: "longest",
allLiteral: false,
});
| Method | Returns | Description |
|---|---|---|
findIter(text) | Match[] | Find matches in input text |
isMatch(text) | boolean | Fast yes/no check |
whichMatch(text) | number[] | Pattern indices that matched |
replaceAll(text, replacements) | string | Replace matched ranges |
length | number | Number of configured patterns |
"literal"
/\bregex\b/i
{ pattern: "\\d+", name: "number" }
{ pattern: "Novák", distance: 1, name: "person" }
{ pattern: "s.r.o.", literal: true, wholeWords: true }
type Match = {
pattern: number;
start: number;
end: number;
text: string;
name?: string;
distance?: number;
};
The Match shape is aligned with the other Stella
text-search packages.
bun install
bun test
bun run lint
bun run format
bun run build
cargo fmt --all --check
cargo clippy --all-targets --locked
cargo test --locked
FAQs
Multi-engine text search orchestrator for Node.js and Bun. Routes literals, regex, and fuzzy patterns to the right engine automatically.
The npm package @stll/text-search receives a total of 31 weekly downloads. As such, @stll/text-search popularity was classified as not popular.
We found that @stll/text-search demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.