Пример
minimatch 10.1.1: Minimatch
Проверенный пример — npm minimatch 10.1.1: Minimatch. Контракт выполнен на node 22 · linux alpine/x64 · docker и пройден: Minimatch compiles glob patterns…
sha256:90ac5d73d0a1619122122d91557352916377de2eefa6837c51eeba7d0a0e5f5c
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 1
- Ключи подписи, собравшие его
- 1
Заявленная среда
linux 24 · ubuntu · glibc 2.39 x64 npm
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| node 22 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1 |
2026-08-20 |
Кейс
HOW- Цель
- verify minimatch.Minimatch in pkg:npm/minimatch@10.1.1
- Пакеты
- Символы
-
- minimatch.Minimatch
- Создан
- 2026-08-20T13:35:54Z
Контракт
- Minimatch compiles glob patterns into reusable matcher instances that match file paths with configured options such as nocase
- Minimatch.prototype.hasMagic detects wildcard syntax in dynamic glob patterns while returning false for literal file paths
- Minimatch.prototype.makeRe compiles the glob pattern into a regular expression object capable of testing candidate paths
- Minimatch handles negation patterns by setting the negate property and inverting matching behavior
- Minimatch.prototype.matchOne evaluates segmented path components against parsed pattern sets
Файлы
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- src/index.mjs
- test/contract.mjs
Исходный код
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: verify minimatch.Minimatch in pkg:npm/minimatch@10.1.1
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/minimatch@10.1.1
Demonstrate these symbols/APIs:
- minimatch.Minimatch
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:1ff243e17d276992ea47f2adcabc5b2e0b37707160aee8d6ce994d1513dcd53f","contract":["Minimatch compiles glob patterns into reusable matcher instances that match file paths with configured options such as nocase","Minimatch.prototype.hasMagic detects wildcard syntax in dynamic glob patterns while returning false for literal file paths","Minimatch.prototype.makeRe compiles the glob pattern into a regular expression object capable of testing candidate paths","Minimatch handles negation patterns by setting the negate property and inverting matching behavior","Minimatch.prototype.matchOne evaluates segmented path components against parsed pattern sets"],"goal":"verify minimatch.Minimatch in pkg:npm/minimatch@10.1.1","kind":"HOW","packages":["pkg:npm/minimatch@10.1.1"],"schemaVersion":1,"symbols":["minimatch.Minimatch"]},"contractCommand":["node","test/contract.mjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"npm","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/minimatch@10.1.1"],"schemaVersion":1,"symbols":["minimatch.Minimatch"],"verifierAdapter":"node-typescript@1"}
{
"name": "sample-minimatch",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sample-minimatch",
"version": "1.0.0",
"license": "MIT-0",
"dependencies": {
"minimatch": "10.1.1"
}
},
"node_modules/@isaacs/balanced-match": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
"integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
"license": "MIT",
"engines": {
"node": "20 || >=22"
}
},
"node_modules/@isaacs/brace-expansion": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
"integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
"license": "MIT",
"dependencies": {
"@isaacs/balanced-match": "^4.0.1"
},
"engines": {
"node": "20 || >=22"
}
},
"node_modules/minimatch": {
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/brace-expansion": "^5.0.0"
},
"engines": {
"node": "20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
}
}
}
{
"name": "sample-minimatch",
"version": "1.0.0",
"type": "module",
"private": true,
"license": "MIT-0",
"dependencies": {
"minimatch": "10.1.1"
}
}
{
"schemaVersion": 1,
"goal": "verify minimatch.Minimatch in pkg:npm/minimatch@10.1.1",
"kind": "HOW",
"packages": [
"pkg:npm/minimatch@10.1.1"
],
"symbols": [
"minimatch.Minimatch"
]
}
import { Minimatch } from 'minimatch';
export function createMatcher(pattern, options = {}) {
return new Minimatch(pattern, options);
}
export function matchesPattern(pattern, filePath, options = {}) {
const matcher = new Minimatch(pattern, options);
return matcher.match(filePath);
}
import assert from 'node:assert/strict';
import { Minimatch } from 'minimatch';
// Minimatch compiles glob patterns into reusable matcher instances that match file paths with configured options such as nocase
{
const mm = new Minimatch('src/**/*.+(js|ts)', { nocase: true });
assert.equal(mm.match('src/components/App.JS'), true);
assert.equal(mm.match('src/utils/helper.TS'), true);
assert.equal(mm.match('dist/components/App.js'), false);
assert.equal(mm.match('src/image.png'), false);
}
// Minimatch.prototype.hasMagic detects wildcard syntax in dynamic glob patterns while returning false for literal file paths
{
const dynamicMm = new Minimatch('**/*.json');
assert.equal(dynamicMm.hasMagic(), true);
const literalMm = new Minimatch('config/settings.json');
assert.equal(literalMm.hasMagic(), false);
}
// Minimatch.prototype.makeRe compiles the glob pattern into a regular expression object capable of testing candidate paths
{
const mm = new Minimatch('lib/*.mjs');
const re = mm.makeRe();
assert.ok(re instanceof RegExp);
assert.equal(re.test('lib/index.mjs'), true);
assert.equal(re.test('lib/sub/index.mjs'), false);
}
// Minimatch handles negation patterns by setting the negate property and inverting matching behavior
{
const mmNeg = new Minimatch('!*.log');
assert.equal(mmNeg.negate, true);
assert.equal(mmNeg.match('server.js'), true);
assert.equal(mmNeg.match('error.log'), false);
}
// Minimatch.prototype.matchOne evaluates segmented path components against parsed pattern sets
{
const mm = new Minimatch('dist/*/bundle.js');
assert.equal(mm.matchOne(['dist', 'esm', 'bundle.js'], mm.set[0]), true);
assert.equal(mm.matchOne(['src', 'esm', 'bundle.js'], mm.set[0]), false);
}
console.log('Contract test passed successfully.');
Исходный сидер
аноним