Skip to content

Commit 503b8f3

Browse files
committed
rename package
1 parent b897d7d commit 503b8f3

16 files changed

+59
-42
lines changed
File renamed without changes.

packages/pattern/package.json renamed to packages/markdown-patterns/package.json

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
11
{
2-
"name": "@synstack/pattern",
2+
"name": "@synstack/markdown-patterns",
33
"type": "module",
44
"publishConfig": {
55
"access": "public"
66
},
7-
"version": "1.0.1",
8-
"description": "Pattern engine",
7+
"version": "1.0.0",
8+
"description": "Query-based configuration engine for markdown files",
99
"keywords": [
10-
"synstack",
1110
"pattern",
12-
"utility"
11+
"engine",
12+
"configuration",
13+
"query",
14+
"matching",
15+
"markdown",
16+
"typescript",
17+
"ts",
18+
"rules",
19+
"hierarchy"
1320
],
1421
"author": {
1522
"name": "pAIrprog",
1623
"url": "https://pairprog.io"
1724
},
18-
"homepage": "https://github.com/pAIrprogio/synscript/tree/main/packages/pattern",
25+
"homepage": "https://github.com/pAIrprogio/synscript/tree/main/packages/markdown-patterns",
1926
"repository": {
2027
"type": "git",
2128
"url": "https://github.com/pAIrprogio/synscript.git",
22-
"directory": "packages/pattern"
29+
"directory": "packages/markdown-patterns"
2330
},
2431
"license": "Apache-2.0",
2532
"scripts": {
@@ -33,12 +40,12 @@
3340
"exports": {
3441
".": {
3542
"import": {
36-
"types": "./dist/pattern.index.d.ts",
37-
"default": "./dist/pattern.index.js"
43+
"types": "./dist/markdown-patterns.index.d.ts",
44+
"default": "./dist/markdown-patterns.index.js"
3845
},
3946
"require": {
40-
"types": "./dist/pattern.index.d.cts",
41-
"default": "./dist/pattern.index.cjs"
47+
"types": "./dist/markdown-patterns.index.d.cts",
48+
"default": "./dist/markdown-patterns.index.cjs"
4249
}
4350
}
4451
},
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/pattern/src/pattern.engine.test.ts renamed to packages/markdown-patterns/src/markdown-patterns.engine.test.ts

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import assert from "node:assert/strict";
44
import { describe, it } from "node:test";
55
import path from "path";
66
import { z } from "zod/v4";
7-
import { PatternEngine } from "./pattern.engine.ts";
7+
import { MarkdownPatternsEngine } from "./markdown-patterns.engine.ts";
88

99
const currentDirectoryPath =
1010
import.meta.dirname || path.dirname(import.meta.url.replace("file://", ""));
@@ -34,13 +34,13 @@ function createTestQueryEngine() {
3434
describe("PatternEngine", () => {
3535
describe("constructor and factory methods", () => {
3636
it("creates a PatternEngine with default query engine using cwd", () => {
37-
const engine = PatternEngine.cwd(testPatternsDir);
37+
const engine = MarkdownPatternsEngine.cwd(testPatternsDir);
3838

3939
assert.ok(engine);
4040
});
4141

4242
it("has a default config schema with query field", () => {
43-
const engine = PatternEngine.cwd(testPatternsDir);
43+
const engine = MarkdownPatternsEngine.cwd(testPatternsDir);
4444
const schema = engine.schema;
4545

4646
// Verify the schema has a query field
@@ -51,7 +51,7 @@ describe("PatternEngine", () => {
5151

5252
describe("setQueryEngine", () => {
5353
it("returns a new instance with updated query engine", () => {
54-
const engine1 = PatternEngine.cwd<TestInput>(testPatternsDir);
54+
const engine1 = MarkdownPatternsEngine.cwd<TestInput>(testPatternsDir);
5555

5656
const customQuery = QueryEngine.default<{
5757
content: string;
@@ -69,7 +69,7 @@ describe("PatternEngine", () => {
6969
it("updates query schema when setting new query engine", () => {
7070
const customQuery = createTestQueryEngine();
7171

72-
const engine = PatternEngine.cwd<TestInput>(testPatternsDir)
72+
const engine = MarkdownPatternsEngine.cwd<TestInput>(testPatternsDir)
7373
.setQueryEngine(customQuery)
7474
.setConfigSchema(z.object({ status: z.string() }));
7575

@@ -85,7 +85,7 @@ describe("PatternEngine", () => {
8585

8686
describe("setConfigSchema", () => {
8787
it("returns a new instance with extended config schema", () => {
88-
const engine1 = PatternEngine.cwd(testPatternsDir);
88+
const engine1 = MarkdownPatternsEngine.cwd(testPatternsDir);
8989
const engine2 = engine1.setConfigSchema(
9090
z.object({
9191
status: z
@@ -109,7 +109,9 @@ describe("PatternEngine", () => {
109109
});
110110

111111
it("applies default values from config schema", () => {
112-
const engine = PatternEngine.cwd(testPatternsDir).setConfigSchema(
112+
const engine = MarkdownPatternsEngine.cwd(
113+
testPatternsDir,
114+
).setConfigSchema(
113115
z.object({
114116
status: z
115117
.enum(["tag", "blocked", "ok", "ignore"])
@@ -131,7 +133,7 @@ describe("PatternEngine", () => {
131133

132134
describe("getPatterns", () => {
133135
it("loads patterns from markdown files", async () => {
134-
const engine = PatternEngine.cwd<TestInput>(
136+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
135137
testPatternsDir,
136138
).setQueryEngine(createTestQueryEngine());
137139

@@ -153,7 +155,7 @@ describe("PatternEngine", () => {
153155
});
154156

155157
it("handles duplicate folder/file names correctly", async () => {
156-
const engine = PatternEngine.cwd<TestInput>(
158+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
157159
testPatternsDir,
158160
).setQueryEngine(createTestQueryEngine());
159161
const patterns = await engine.getPatterns();
@@ -165,7 +167,7 @@ describe("PatternEngine", () => {
165167
});
166168

167169
it("loads patterns with custom config fields", async () => {
168-
const engine = PatternEngine.cwd<TestInput>(testPatternsDir)
170+
const engine = MarkdownPatternsEngine.cwd<TestInput>(testPatternsDir)
169171
.setQueryEngine(createTestQueryEngine())
170172
.setConfigSchema(
171173
z.object({
@@ -184,7 +186,7 @@ describe("PatternEngine", () => {
184186
});
185187

186188
it("returns patterns sorted by name", async () => {
187-
const engine = PatternEngine.cwd<TestInput>(
189+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
188190
testPatternsDir,
189191
).setQueryEngine(createTestQueryEngine());
190192
const patterns = await engine.getPatterns();
@@ -204,7 +206,7 @@ query:
204206
---`);
205207

206208
try {
207-
const engine = PatternEngine.cwd<TestInput>(
209+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
208210
testPatternsDir,
209211
).setQueryEngine(createTestQueryEngine());
210212
const patterns = await engine.getPatterns();
@@ -225,7 +227,7 @@ query:
225227

226228
describe("matchingPatterns", () => {
227229
it("filters patterns based on query evaluation", async () => {
228-
const engine = PatternEngine.cwd<TestInput>(
230+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
229231
testPatternsDir,
230232
).setQueryEngine(createTestQueryEngine());
231233

@@ -245,7 +247,7 @@ query:
245247
});
246248

247249
it("uses query engine to evaluate patterns", async () => {
248-
const engine = PatternEngine.cwd<TestInput>(
250+
const engine = MarkdownPatternsEngine.cwd<TestInput>(
249251
testPatternsDir,
250252
).setQueryEngine(createTestQueryEngine());
251253

@@ -272,7 +274,9 @@ query:
272274

273275
describe("schema getters", () => {
274276
it("returns the correct zod schema", () => {
275-
const engine = PatternEngine.cwd(testPatternsDir).setConfigSchema(
277+
const engine = MarkdownPatternsEngine.cwd(
278+
testPatternsDir,
279+
).setConfigSchema(
276280
z.object({
277281
status: z.string(),
278282
priority: z.number(),
@@ -302,7 +306,9 @@ query:
302306
});
303307

304308
it("generates valid JSON schema", () => {
305-
const engine = PatternEngine.cwd(testPatternsDir).setConfigSchema(
309+
const engine = MarkdownPatternsEngine.cwd(
310+
testPatternsDir,
311+
).setConfigSchema(
306312
z.object({
307313
status: z.enum(["blocked", "ok"]),
308314
}),
@@ -331,7 +337,7 @@ query:
331337
332338
Invalid pattern.`);
333339

334-
const engine = PatternEngine.cwd(testPatternsDir);
340+
const engine = MarkdownPatternsEngine.cwd(testPatternsDir);
335341

336342
await assert.rejects(
337343
async () => await engine.getPatterns(),
@@ -351,7 +357,9 @@ status: "ok"
351357
352358
Missing query field.`);
353359

354-
const engine = PatternEngine.cwd(testPatternsDir).setConfigSchema(
360+
const engine = MarkdownPatternsEngine.cwd(
361+
testPatternsDir,
362+
).setConfigSchema(
355363
z.object({
356364
status: z.string(),
357365
}),
@@ -369,14 +377,16 @@ Missing query field.`);
369377

370378
describe("type inference", () => {
371379
it("correctly infers config type", () => {
372-
const engine = PatternEngine.cwd(testPatternsDir).setConfigSchema(
380+
const engine = MarkdownPatternsEngine.cwd(
381+
testPatternsDir,
382+
).setConfigSchema(
373383
z.object({
374384
status: z.enum(["blocked", "ok"]),
375385
priority: z.number().optional(),
376386
}),
377387
);
378388

379-
type InferredConfig = PatternEngine.Config.Infer<typeof engine>;
389+
type InferredConfig = MarkdownPatternsEngine.Config.Infer<typeof engine>;
380390

381391
const config: InferredConfig = {
382392
query: { always: true },

packages/pattern/src/pattern.engine.ts renamed to packages/markdown-patterns/src/markdown-patterns.engine.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { FsDir } from "@synstack/fs";
22
import { QueryEngine } from "@synstack/query";
33
import { z } from "zod/v4";
4-
import { getPatterns, NAME_SEPARATOR } from "./pattern.lib.ts";
4+
import { getPatterns, NAME_SEPARATOR } from "./markdown-patterns.lib.ts";
55

66
type BaseConfigSchema = z.ZodObject<{
77
query: z.ZodType<unknown>;
@@ -11,7 +11,7 @@ type Pattern<CONFIG_SCHEMA extends BaseConfigSchema> = Awaited<
1111
ReturnType<typeof getPatterns<CONFIG_SCHEMA>>
1212
>[number];
1313

14-
export class PatternEngine<
14+
export class MarkdownPatternsEngine<
1515
INPUT = unknown,
1616
CONFIG_SCHEMA extends BaseConfigSchema = BaseConfigSchema,
1717
> {
@@ -38,7 +38,7 @@ export class PatternEngine<
3838

3939
public static cwd<INPUT = unknown>(cwd: FsDir) {
4040
const engine = QueryEngine.default<INPUT>();
41-
return new PatternEngine<INPUT, BaseConfigSchema>(
41+
return new MarkdownPatternsEngine<INPUT, BaseConfigSchema>(
4242
cwd,
4343
engine,
4444
z.object({ query: engine.schema }),
@@ -54,13 +54,13 @@ export class PatternEngine<
5454
const newSchema = this._configSchema.omit({ query: true }).extend({
5555
query: queryEngine.schema,
5656
}) as CONFIG_SCHEMA;
57-
return new PatternEngine(this._cwd, queryEngine, newSchema);
57+
return new MarkdownPatternsEngine(this._cwd, queryEngine, newSchema);
5858
}
5959

6060
public setConfigSchema<NEW_CONFIG_SCHEMA extends z.ZodObject<any>>(
6161
configSchema: NEW_CONFIG_SCHEMA,
6262
) {
63-
return new PatternEngine(
63+
return new MarkdownPatternsEngine(
6464
this._cwd,
6565
this._queryEngine,
6666
configSchema.extend({
@@ -185,17 +185,17 @@ export class PatternEngine<
185185
}
186186
}
187187

188-
export declare namespace PatternEngine {
188+
export declare namespace MarkdownPatternsEngine {
189189
export namespace Config {
190190
// Todo: fix typings in main class so it works
191-
export type Infer<T extends PatternEngine<any, any>> =
192-
T extends PatternEngine<any, infer CONFIG_SCHEMA>
191+
export type Infer<T extends MarkdownPatternsEngine<any, any>> =
192+
T extends MarkdownPatternsEngine<any, infer CONFIG_SCHEMA>
193193
? z.input<CONFIG_SCHEMA>
194194
: never;
195195
}
196196

197197
export namespace Pattern {
198-
export type Infer<T extends PatternEngine<any, any>> = Awaited<
198+
export type Infer<T extends MarkdownPatternsEngine<any, any>> = Awaited<
199199
ReturnType<T["getPatterns"]>
200200
>[number];
201201
}

0 commit comments

Comments
 (0)