Beispiel
micromatch 4.0.8: makeRe
Verifiziertes Beispiel für npm micromatch 4.0.8: makeRe. Der Vertrag lief auf node 22 · linux alpine/x64 · docker und bestand.
sha256:bf53e8249777194cbf9c29ab3d9c8f3a255dbbb0db02e9db19e98a7c9c0b14ea
Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen.
Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen.
MIT-0
Ausführungsbelege
Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.
- Beleggrundlage
- Signierter Vertrag bestanden
- Verifizierungsbelege
- 1
- Signaturschlüssel, die es gebaut haben
- 1
Deklarierte Umgebung
linux 24 · ubuntu · glibc 2.39 x64 npm
Umgebungen der Verifizierungsläufe
| Umgebung | Contract | Stufen | Lauf |
|---|---|---|---|
| node 22 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1node:22-alpine@sha256:c610fcdfb1d5… |
2026-08-28 |
Fall
HOW- Ziel
- verify micromatch.makeRe in pkg:npm/micromatch@4.0.8
- Pakete
- Symbole
-
- micromatch.makeRe
- Erstellt
- 2026-08-28T02:48:09Z
Contract
- assert micromatch.makeRe returns a RegExp instance for glob patterns
- assert micromatch.makeRe matches wildcard and globstar directory patterns
- assert micromatch.makeRe matches brace expansion patterns
- assert micromatch.makeRe respects dot option to include or exclude dotfiles
- assert micromatch.makeRe respects nocase option for case-insensitive matching
- assert micromatch.makeRe respects contains option for substring matching
- assert micromatch.makeRe applies custom regex flags when specified
- assert micromatch.makeRe throws TypeError for non-string or empty patterns
Dateien
- PROMPT.md
- csx.json
- index.js
- package-lock.json
- package.json
- spec.json
- test/contract.mjs
Quelltext
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 micromatch.makeRe in pkg:npm/micromatch@4.0.8
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/micromatch@4.0.8
Demonstrate these symbols/APIs:
- micromatch.makeRe
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:d3a4cbfb27f92f220e1ec4d1e58194395daeb925c2b781997ab8e2f859eab9e1","contract":["assert micromatch.makeRe returns a RegExp instance for glob patterns","assert micromatch.makeRe matches wildcard and globstar directory patterns","assert micromatch.makeRe matches brace expansion patterns","assert micromatch.makeRe respects dot option to include or exclude dotfiles","assert micromatch.makeRe respects nocase option for case-insensitive matching","assert micromatch.makeRe respects contains option for substring matching","assert micromatch.makeRe applies custom regex flags when specified","assert micromatch.makeRe throws TypeError for non-string or empty patterns"],"goal":"verify micromatch.makeRe in pkg:npm/micromatch@4.0.8","kind":"HOW","packages":["pkg:npm/micromatch@4.0.8"],"schemaVersion":1,"symbols":["micromatch.makeRe"]},"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/micromatch@4.0.8"],"schemaVersion":1,"subject":"pkg:npm/micromatch@4.0.8","symbols":["micromatch.makeRe"],"verifierAdapter":"node-typescript@1"}
const micromatch = require('micromatch');
/**
* Creates a regular expression from a glob pattern.
*
* @param {string} pattern - Glob pattern to convert.
* @param {object} [options] - Options passed to micromatch.makeRe.
* @returns {RegExp} Compiled regular expression.
*/
function createMatcher(pattern, options) {
return micromatch.makeRe(pattern, options);
}
/**
* Tests whether a given path matches a glob pattern using micromatch.makeRe.
*
* @param {string} path - Target path string.
* @param {string} pattern - Glob pattern.
* @param {object} [options] - Optional configuration.
* @returns {boolean} True if the path matches the pattern regex.
*/
function testPattern(path, pattern, options) {
const regex = micromatch.makeRe(pattern, options);
return regex.test(path);
}
module.exports = {
createMatcher,
testPattern,
micromatch,
};
{
"name": "sample-micromatch-make-re",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sample-micromatch-make-re",
"version": "1.0.0",
"license": "MIT-0",
"dependencies": {
"micromatch": "4.0.8"
}
},
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/micromatch": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/picomatch": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
"integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"license": "MIT",
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
}
}
}
{
"name": "sample-micromatch-make-re",
"version": "1.0.0",
"description": "Clean-room sample verifying micromatch.makeRe functionality",
"main": "index.js",
"license": "MIT-0",
"dependencies": {
"micromatch": "4.0.8"
}
}
{
"schemaVersion": 1,
"goal": "verify micromatch.makeRe in pkg:npm/micromatch@4.0.8",
"kind": "HOW",
"packages": [
"pkg:npm/micromatch@4.0.8"
],
"symbols": [
"micromatch.makeRe"
]
}
import assert from 'node:assert';
import micromatch from 'micromatch';
import { createMatcher, testPattern } from '../index.js';
// 1. Returns a valid RegExp instance for standard glob patterns
const basicRe = createMatcher('*.js');
assert.ok(basicRe instanceof RegExp, 'makeRe must return a RegExp instance');
assert.strictEqual(basicRe.test('app.js'), true, 'makeRe regex matches matching filenames');
assert.strictEqual(basicRe.test('app.ts'), false, 'makeRe regex rejects non-matching filenames');
const directRe = micromatch.makeRe('*.js');
assert.ok(directRe instanceof RegExp, 'direct micromatch.makeRe must return a RegExp instance');
assert.strictEqual(directRe.test('index.js'), true);
assert.strictEqual(directRe.test('index.css'), false);
// 2. Supports globstar wildcard matching across directories
const globstarRe = createMatcher('src/**/*.ts');
assert.strictEqual(globstarRe.test('src/components/button.ts'), true, 'globstar pattern matches nested paths');
assert.strictEqual(globstarRe.test('lib/components/button.ts'), false, 'globstar pattern rejects non-matching root');
// 3. Supports brace expansion patterns
const braceRe = createMatcher('*.{js,jsx,ts,tsx}');
assert.strictEqual(braceRe.test('main.tsx'), true, 'brace expansion matches included extensions');
assert.strictEqual(braceRe.test('main.vue'), false, 'brace expansion rejects excluded extensions');
// 4. Respects dot option for hidden files
const dotDisabledRe = createMatcher('*.js', { dot: false });
assert.strictEqual(dotDisabledRe.test('.eslintrc.js'), false, 'dot=false rejects dotfiles');
const dotEnabledRe = createMatcher('*.js', { dot: true });
assert.strictEqual(dotEnabledRe.test('.eslintrc.js'), true, 'dot=true matches dotfiles');
// 5. Respects nocase option for case-insensitive matching
const caseSensitiveRe = createMatcher('*.JS', { nocase: false });
assert.strictEqual(caseSensitiveRe.test('index.js'), false, 'nocase=false is case sensitive');
const caseInsensitiveRe = createMatcher('*.JS', { nocase: true });
assert.strictEqual(caseInsensitiveRe.test('index.js'), true, 'nocase=true is case insensitive');
// 6. Respects contains option for substring / partial matching
const containsDisabledRe = createMatcher('build', { contains: false });
assert.strictEqual(containsDisabledRe.test('dist/build/output.js'), false, 'contains=false requires full match');
const containsEnabledRe = createMatcher('build', { contains: true });
assert.strictEqual(containsEnabledRe.test('dist/build/output.js'), true, 'contains=true matches substring');
// 7. Passes custom RegExp flags
const flagRe = createMatcher('sample', { flags: 'i' });
assert.ok(flagRe.flags.includes('i'), 'makeRe applies custom flags to the returned RegExp');
assert.strictEqual(flagRe.test('SAMPLE'), true, 'flags option allows case-insensitive matching');
// 8. testPattern helper integrates micromatch.makeRe
assert.strictEqual(testPattern('docs/guide.md', '**/*.md'), true, 'testPattern correctly evaluates glob matching');
assert.strictEqual(testPattern('docs/guide.txt', '**/*.md'), false, 'testPattern correctly rejects non-matching path');
// 9. Throws TypeError when invalid pattern is provided
assert.throws(
() => micromatch.makeRe(''),
{ name: 'TypeError', message: /Expected a non-empty string/ },
'makeRe throws TypeError for empty string pattern'
);
assert.throws(
() => micromatch.makeRe(null),
{ name: 'TypeError', message: /Expected a non-empty string/ },
'makeRe throws TypeError for null pattern'
);
assert.throws(
() => micromatch.makeRe(123),
{ name: 'TypeError', message: /Expected a non-empty string/ },
'makeRe throws TypeError for number pattern'
);
console.log('All micromatch.makeRe contract assertions passed.');
Ursprungs-Seeder
anonym