Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
The page structure was informed by
[logicrw/awesome-jev-projects](https://github.com/logicrw/awesome-jev-projects),
which is MIT licensed. The projects in this BeatAPI edition were independently
selected from an existing JEV X research batch, with original X cases, direct
project repositories, fixed-commit evidence, descriptions, and schema maintained
by BeatAPI.
selected through JEV X research, GitHub repository and code search, catalogue
cross-checking, and direct source inspection. Original discovery sources, direct
project repositories, fixed-commit evidence, descriptions, and schema are
maintained by BeatAPI.

Each listed project remains governed by its own license. Inclusion means only
that the linked source showed a Jev or TypeSafe integration at the captured
Expand Down
313 changes: 168 additions & 145 deletions README.ja.md

Large diffs are not rendered by default.

313 changes: 168 additions & 145 deletions README.md

Large diffs are not rendered by default.

313 changes: 168 additions & 145 deletions README.zh-CN.md

Large diffs are not rendered by default.

3,374 changes: 2,009 additions & 1,365 deletions data/projects.json

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions scripts/curate-star50-expansion-2026-09-22.mjs

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions scripts/validate.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const catalogue = JSON.parse(
test('catalogue metadata is explicit', () => {
assert.equal(catalogue.schemaVersion, 3);
assert.match(catalogue.capturedAt, /^\d{4}-\d{2}-\d{2}$/);
assert.equal(catalogue.projects.length, 148);
assert.equal(catalogue.projects.length, 171);
const belowFloor = catalogue.projects.filter((project) => project.starsAtCapture < 50).map((project) => project.id);
assert.deepEqual(belowFloor, ['choxos:jev-reviewer']);
});
Expand Down Expand Up @@ -41,7 +41,7 @@ test('every project keeps repository and fixed-commit evidence links', () => {

test('catalogue covers multiple practical patterns', () => {
assert.ok(new Set(catalogue.projects.map((project) => project.category)).size >= 9);
assert.equal(catalogue.projects.filter((project) => project.starsAtCapture >= 1_000).length, 34);
assert.equal(catalogue.projects.filter((project) => project.starsAtCapture >= 1_000).length, 48);
for (const required of ['jev-ultrafast', 'laya', 'jegrep']) {
assert.ok(catalogue.projects.some((project) => project.id === required), `missing ${required}`);
}
Expand All @@ -62,7 +62,7 @@ test('README identity and project-owned cover stay present', async () => {
assert.match(japaneseReadme, /<h2 align="center">概要<\/h2>/);
for (const localizedReadme of [readme, chineseReadme, japaneseReadme]) {
assert.match(localizedReadme, /<div align="center">\s*<table>/);
assert.match(localizedReadme, /<td align="center"><strong>148<\/strong><\/td>/);
assert.match(localizedReadme, /<td align="center"><strong>171<\/strong><\/td>/);
assert.doesNotMatch(localizedReadme, /GitHub 100|100\+ Star|100 stars/);
assert.match(localizedReadme, /\/v1\/systemone/);
assert.match(localizedReadme, /jev-1\.13/);
Expand Down
Loading