CodeSampleX

Пример

minimatch 10.1.1: defaults

Проверенный пример — npm minimatch 10.1.1: defaults. Контракт выполнен на node 22 · linux alpine/x64 · docker и пройден: minimatch.defaults returns the…

sha256:a476ab3659ad1307fee136315c1b70f7472f63a4e463dee244b2bbbff21d4c68

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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@1node:22-alpine@sha256:c610fcdfb1d5…
2026-08-28

Кейс

HOW
Цель
verify minimatch.defaults in pkg:npm/minimatch@10.1.1
Пакеты
Символы
  • minimatch.defaults
Создан
2026-08-28T00:05:09Z

Контракт

  1. minimatch.defaults returns the original minimatch function when called with empty or invalid default options
  2. minimatch.defaults returns a bound matcher function applying preset options like nocase, dot, and matchBase
  3. minimatch.defaults allows per-call options to override preset default options
  4. minimatch.defaults provides bound helper methods match, filter, and makeRe reflecting default options
  5. minimatch.defaults provides a bound Minimatch class constructor applying default options
  6. minimatch.defaults allows chaining additional default options via its attached defaults method

Файлы

  • PROMPT.md
  • csx.json
  • index.mjs
  • package-lock.json
  • package.json
  • spec.json
  • test/contract.mjs

Скачать артефакт с исходным кодом (tar.gz)

Исходный код

PROMPT.md
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.defaults 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.defaults

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.
csx.json
{"case":{"caseId":"case:sha256:9d47d15a8564354bf0428d89ce842ef51fd11affd7abe05ec7292e8dff3b1202","contract":["minimatch.defaults returns the original minimatch function when called with empty or invalid default options","minimatch.defaults returns a bound matcher function applying preset options like nocase, dot, and matchBase","minimatch.defaults allows per-call options to override preset default options","minimatch.defaults provides bound helper methods match, filter, and makeRe reflecting default options","minimatch.defaults provides a bound Minimatch class constructor applying default options","minimatch.defaults allows chaining additional default options via its attached defaults method"],"goal":"verify minimatch.defaults in pkg:npm/minimatch@10.1.1","kind":"HOW","packages":["pkg:npm/minimatch@10.1.1"],"schemaVersion":1,"symbols":["minimatch.defaults"]},"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,"subject":"pkg:npm/minimatch@10.1.1","symbols":["minimatch.defaults"],"verifierAdapter":"node-typescript@1"}
index.mjs
import { minimatch } from 'minimatch';

/**
 * Creates a scoped minimatch instance with predefined default options.
 *
 * @param {import('minimatch').MinimatchOptions} [defaultOptions] - Default options to apply to all pattern operations.
 * @returns {typeof minimatch} A bound minimatch instance with default options configured.
 */
export function createScopedMatcher(defaultOptions = {}) {
  return minimatch.defaults(defaultOptions);
}
package-lock.json
{
  "name": "sample-minimatch-defaults",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "sample-minimatch-defaults",
      "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"
      }
    }
  }
}
package.json
{
  "name": "sample-minimatch-defaults",
  "version": "1.0.0",
  "type": "module",
  "private": true,
  "license": "MIT-0",
  "dependencies": {
    "minimatch": "10.1.1"
  }
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify minimatch.defaults in pkg:npm/minimatch@10.1.1",
  "kind": "HOW",
  "packages": [
    "pkg:npm/minimatch@10.1.1"
  ],
  "symbols": [
    "minimatch.defaults"
  ]
}
test/contract.mjs
import assert from 'node:assert/strict';
import { minimatch } from 'minimatch';
import { createScopedMatcher } from '../index.mjs';

// 1. minimatch.defaults returns the original minimatch function when called with empty or invalid default options
{
  assert.equal(minimatch.defaults(), minimatch);
  assert.equal(minimatch.defaults(null), minimatch);
  assert.equal(minimatch.defaults({}), minimatch);
  assert.equal(createScopedMatcher({}), minimatch);
}

// 2. minimatch.defaults returns a bound matcher function applying preset options like nocase, dot, and matchBase
{
  const scopedCase = minimatch.defaults({ nocase: true });
  assert.equal(minimatch('FILE.TXT', '*.txt'), false);
  assert.equal(scopedCase('FILE.TXT', '*.txt'), true);

  const scopedDot = minimatch.defaults({ dot: true });
  assert.equal(minimatch('.env', '*'), false);
  assert.equal(scopedDot('.env', '*'), true);

  const scopedBase = minimatch.defaults({ matchBase: true });
  assert.equal(minimatch('a/b/c/file.js', '*.js'), false);
  assert.equal(scopedBase('a/b/c/file.js', '*.js'), true);

  const scopedCustom = createScopedMatcher({ nocase: true, dot: true });
  assert.equal(scopedCustom('.HIDDEN.TXT', '*.txt'), true);
}

// 3. minimatch.defaults allows per-call options to override preset default options
{
  const scopedCase = minimatch.defaults({ nocase: true });
  assert.equal(scopedCase('FILE.TXT', '*.txt'), true);
  assert.equal(scopedCase('FILE.TXT', '*.txt', { nocase: false }), false);

  const scopedDot = minimatch.defaults({ dot: true });
  assert.equal(scopedDot('.env', '*'), true);
  assert.equal(scopedDot('.env', '*', { dot: false }), false);
}

// 4. minimatch.defaults provides bound helper methods match, filter, and makeRe reflecting default options
{
  const scoped = minimatch.defaults({ nocase: true, dot: true });

  const files = ['FILE.JS', '.config.js', 'other.txt'];
  const matched = scoped.match(files, '*.js');
  assert.deepEqual(matched, ['FILE.JS', '.config.js']);

  const filtered = files.filter(scoped.filter('*.js'));
  assert.deepEqual(filtered, ['FILE.JS', '.config.js']);

  const regex = scoped.makeRe('*.txt');
  assert.ok(regex instanceof RegExp);
  assert.equal(regex.test('README.TXT'), true);
}

// 5. minimatch.defaults provides a bound Minimatch class constructor applying default options
{
  const scoped = minimatch.defaults({ nocase: true });
  const mm = new scoped.Minimatch('*.txt');
  assert.equal(mm.match('FILE.TXT'), true);
  assert.equal(mm.match('FILE.MD'), false);
}

// 6. minimatch.defaults allows chaining additional default options via its attached defaults method
{
  const baseScoped = minimatch.defaults({ nocase: true });
  const chainedScoped = baseScoped.defaults({ dot: true });

  assert.equal(chainedScoped('.CONFIG.TXT', '*.txt'), true);
  assert.equal(chainedScoped('FILE.TXT', '*.txt'), true);
}

console.log('All minimatch.defaults contract assertions passed.');

Исходный сидер

аноним