CodeSampleX

Пример

bare-path 3.1.1: extname

Проверенный пример — npm bare-path 3.1.1: extname. Контракт выполнен на node 22 · linux alpine/x64 · docker и пройден: bare-path.extname returns file…

sha256:d36582b0b694ce552623fc37964a6e9e4f1c3e1d38bca8006446a27072c0fe47

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
1
Ключи подписи, собравшие его
1
Заявленная среда node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript npm 10

Среды запусков проверки

Окружение Контракт Этапы Запуск
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-27

Кейс

HOW
Цель
verify bare-path.extname in pkg:npm/bare-path@3.1.1
Пакеты
Символы
  • bare-path.extname
Окружение
node 22.23.2
Создан
2026-08-27T16:00:57Z

Контракт

  1. bare-path.extname returns file extension including leading dot for files with extension
  2. bare-path.extname returns empty string for dotfiles or files without extension
  3. bare-path.extname returns trailing dot when path ends with dot
  4. bare-path.extname extracts extension from nested paths and paths with trailing slashes
  5. bare-path.extname throws TypeError when argument is not a string

Файлы

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

Скачать артефакт с исходным кодом (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 bare-path.extname in pkg:npm/bare-path@3.1.1
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:npm/bare-path@3.1.1
Demonstrate these symbols/APIs:
  - bare-path.extname

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:4a3e689e6641c8ba761b3674c3bf62ef49df63e460698214471035613a0a8ccc","contract":["bare-path.extname returns file extension including leading dot for files with extension","bare-path.extname returns empty string for dotfiles or files without extension","bare-path.extname returns trailing dot when path ends with dot","bare-path.extname extracts extension from nested paths and paths with trailing slashes","bare-path.extname throws TypeError when argument is not a string"],"goal":"verify bare-path.extname in pkg:npm/bare-path@3.1.1","kind":"HOW","packages":["pkg:npm/bare-path@3.1.1"],"schemaVersion":1,"symbols":["bare-path.extname"]},"contractCommand":["node","test/contract.cjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","executionContext":"node","language":"javascript","libc":"glibc","libcVersion":"2.39","moduleSystem":"cjs","os":"linux","osVersionBucket":"24","packageManager":"npm","packageManagerVersion":"10.9.8","runtime":"node","runtimeVersion":"22.23.2","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/bare-path@3.1.1"],"schemaVersion":1,"subject":"pkg:npm/bare-path@3.1.1","symbols":["bare-path.extname"],"verifierAdapter":"node-typescript@1"}
index.cjs
'use strict';

// Bare environment compatibility bootstrap when running in Node.js
if (typeof Bare === 'undefined') {
  global.Bare = { platform: process.platform };
}
const origJsExtension = require.extensions['.js'];
require.extensions['.js'] = function (module, filename) {
  if (filename.endsWith('binding.js') && filename.includes('bare-path')) {
    module.exports = {
      cwd: () => process.cwd()
    };
    return;
  }
  return origJsExtension(module, filename);
};

const path = require('bare-path');

/**
 * Returns the extension of the path, from the last '.' to end of string in the last portion of the path.
 * @param {string} filepath
 * @returns {string}
 */
function getExtension(filepath) {
  return path.extname(filepath);
}

module.exports = {
  path,
  getExtension
};
package-lock.json
{
  "name": "sample-bare-path-extname",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "sample-bare-path-extname",
      "version": "1.0.0",
      "dependencies": {
        "bare-path": "3.1.1"
      }
    },
    "node_modules/bare-path": {
      "version": "3.1.1",
      "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.1.1.tgz",
      "integrity": "sha512-JprUlveX3QjApC1cTpsUOiscADftCGVWkzitbHsRqv84hzYwYHw2mbluddsq5TvI8mH/8Ov1f4BiMAdcB0oYnQ==",
      "license": "Apache-2.0"
    }
  }
}
package.json
{
  "name": "sample-bare-path-extname",
  "version": "1.0.0",
  "private": true,
  "description": "Clean-room verification of bare-path.extname",
  "dependencies": {
    "bare-path": "3.1.1"
  }
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify bare-path.extname in pkg:npm/bare-path@3.1.1",
  "kind": "HOW",
  "packages": [
    "pkg:npm/bare-path@3.1.1"
  ],
  "symbols": [
    "bare-path.extname"
  ]
}
test/contract.cjs
'use strict';

const assert = require('node:assert/strict');
const { path, getExtension } = require('../index.cjs');

// Verify function export
assert.equal(typeof path.extname, 'function', 'path.extname must be a function');
assert.equal(typeof getExtension, 'function', 'getExtension helper must be a function');

// Standard extensions with leading dot
assert.equal(path.extname('index.html'), '.html');
assert.equal(getExtension('index.html'), '.html');
assert.equal(path.extname('archive.tar.gz'), '.gz');
assert.equal(path.extname('app.config.json'), '.json');

// Files without extension or dotfiles
assert.equal(path.extname('index'), '');
assert.equal(path.extname('.bashrc'), '');
assert.equal(path.extname('.gitignore'), '');
assert.equal(path.extname(''), '');

// Path ending in dot or dot after dotfile
assert.equal(path.extname('index.'), '.');
assert.equal(path.extname('.index.md'), '.md');

// Paths with directory separators
assert.equal(path.extname('/path/to/file.ext'), '.ext');
assert.equal(path.extname('/path/to/.config/settings.json'), '.json');
assert.equal(path.extname('/path/to/directory/'), '');
assert.equal(path.extname('/path/to/file.ext/'), '.ext');

// Type validation
assert.throws(
  () => {
    path.extname(123);
  },
  {
    name: 'TypeError'
  }
);

assert.throws(
  () => {
    path.extname(null);
  },
  {
    name: 'TypeError'
  }
);

console.log('All bare-path.extname contract assertions passed.');

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

аноним