샘플
isexe 4.0.0
검증된 샘플 — npm isexe 4.0.0. node 22 · linux alpine/x64 · docker에서 contract를 실행해 통과했습니다: sync returns true for executable files and false for non-executable…
sha256:ef5f47e9207c5cc60787a2c22188c710de6b13dd3597abe636eae090eb07d1a6
이 네트워크가 제공하는 것은 하나입니다. 빌드되는 샘플. 샌드박스에서 돌리고 서명된 영수증을 보관합니다. 등급을 매기지 않고 무엇도 보증하지 않습니다 — 같은 코드가 당신 환경에서 빌드되는지는 측정한 적이 없습니다.
통과한 계약 영수증을 낸 서로 다른 서명 키의 수입니다. 하나면 작성자 혼자이고, 둘 이상이면 다른 사람도 빌드했다는 뜻입니다. 키는 스스로 만드는 것이고 뒤에 등록된 신원이 없으므로, 세는 것은 사람이 아니라 키입니다.
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-21 |
케이스
HOW- 목표
- verify pkg:npm/isexe@4.0.0
- 패키지
- 생성일
- 2026-08-21T14:47:34Z
컨트랙트
- sync returns true for executable files and false for non-executable files
- isexe asynchronously returns true for executable files and false for non-executable files
- sync and isexe return false for non-existent files when ignoreErrors is true
- posix.sync and posix.isexe correctly detect executable status on posix platform
파일
- PROMPT.md
- csx.json
- index.mjs
- package-lock.json
- package.json
- spec.json
- 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 pkg:npm/isexe@4.0.0
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/isexe@4.0.0
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:062b6152c647899ae6b76f24d68e14311cfdd5d783a5dec573733bb4033c7a08","contract":["sync returns true for executable files and false for non-executable files","isexe asynchronously returns true for executable files and false for non-executable files","sync and isexe return false for non-existent files when ignoreErrors is true","posix.sync and posix.isexe correctly detect executable status on posix platform"],"goal":"verify pkg:npm/isexe@4.0.0","kind":"HOW","packages":["pkg:npm/isexe@4.0.0"],"schemaVersion":1},"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/isexe@4.0.0"],"schemaVersion":1,"subject":"pkg:npm/isexe@4.0.0","verifierAdapter":"node-typescript@1"}
import { isexe, sync, posix, win32 } from 'isexe';
/**
* Asynchronously check if a file path is executable.
*
* @param {string} filePath - Path to the file
* @param {import('isexe').IsexeOptions} [options] - Options for executable check
* @returns {Promise<boolean>}
*/
export async function checkExecutable(filePath, options) {
return await isexe(filePath, options);
}
/**
* Synchronously check if a file path is executable.
*
* @param {string} filePath - Path to the file
* @param {import('isexe').IsexeOptions} [options] - Options for executable check
* @returns {boolean}
*/
export function checkExecutableSync(filePath, options) {
return sync(filePath, options);
}
export { isexe, sync, posix, win32 };
{
"name": "sample-isexe",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sample-isexe",
"version": "1.0.0",
"license": "MIT-0",
"dependencies": {
"isexe": "4.0.0"
}
},
"node_modules/isexe": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz",
"integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==",
"license": "BlueOak-1.0.0",
"engines": {
"node": ">=20"
}
}
}
}
{
"name": "sample-isexe",
"version": "1.0.0",
"type": "module",
"private": true,
"license": "MIT-0",
"dependencies": {
"isexe": "4.0.0"
}
}
{
"schemaVersion": 1,
"goal": "verify pkg:npm/isexe@4.0.0",
"kind": "HOW",
"packages": [
"pkg:npm/isexe@4.0.0"
]
}
import assert from 'node:assert/strict';
import fs from 'node:fs';
import path from 'node:path';
import os from 'node:os';
import { isexe, sync, posix, win32 } from 'isexe';
import { checkExecutable, checkExecutableSync } from '../index.mjs';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'isexe-sample-contract-'));
const execFile = path.join(tmpDir, 'script.sh');
const nonExecFile = path.join(tmpDir, 'document.txt');
const missingFile = path.join(tmpDir, 'does-not-exist.bin');
try {
fs.writeFileSync(execFile, '#!/bin/sh\necho "test"\n', { mode: 0o755 });
fs.chmodSync(execFile, 0o755);
fs.writeFileSync(nonExecFile, 'plain document text\n', { mode: 0o644 });
fs.chmodSync(nonExecFile, 0o644);
// 1. Synchronous detection: sync returns true for executable files and false for non-executable files
assert.equal(sync(execFile), true, 'sync should return true for executable files');
assert.equal(checkExecutableSync(execFile), true, 'checkExecutableSync should return true for executable files');
assert.equal(sync(nonExecFile), false, 'sync should return false for non-executable files');
assert.equal(checkExecutableSync(nonExecFile), false, 'checkExecutableSync should return false for non-executable files');
// 2. Asynchronous detection: isexe asynchronously returns true for executable files and false for non-executable files
assert.equal(await isexe(execFile), true, 'isexe should asynchronously return true for executable files');
assert.equal(await checkExecutable(execFile), true, 'checkExecutable should asynchronously return true for executable files');
assert.equal(await isexe(nonExecFile), false, 'isexe should asynchronously return false for non-executable files');
assert.equal(await checkExecutable(nonExecFile), false, 'checkExecutable should asynchronously return false for non-executable files');
// 3. Error handling: sync and isexe return false for non-existent files when ignoreErrors is true
assert.equal(sync(missingFile, { ignoreErrors: true }), false, 'sync with ignoreErrors should return false for missing file');
assert.equal(await isexe(missingFile, { ignoreErrors: true }), false, 'isexe with ignoreErrors should return false for missing file');
assert.equal(checkExecutableSync(missingFile, { ignoreErrors: true }), false, 'checkExecutableSync with ignoreErrors should return false');
assert.equal(await checkExecutable(missingFile, { ignoreErrors: true }), false, 'checkExecutable with ignoreErrors should return false');
// 4. POSIX specifics: posix.sync and posix.isexe correctly detect executable status on posix platform
if (process.platform !== 'win32') {
assert.equal(posix.sync(execFile), true, 'posix.sync should return true for executable file');
assert.equal(posix.sync(nonExecFile), false, 'posix.sync should return false for non-executable file');
assert.equal(await posix.isexe(execFile), true, 'posix.isexe should return true for executable file');
assert.equal(await posix.isexe(nonExecFile), false, 'posix.isexe should return false for non-executable file');
assert.equal(posix.sync(missingFile, { ignoreErrors: true }), false, 'posix.sync with ignoreErrors should return false');
assert.equal(await posix.isexe(missingFile, { ignoreErrors: true }), false, 'posix.isexe with ignoreErrors should return false');
}
// Native binary verification
assert.equal(sync(process.execPath), true, 'process.execPath must be executable synchronously');
assert.equal(await isexe(process.execPath), true, 'process.execPath must be executable asynchronously');
console.log('isexe contract tests passed successfully.');
} finally {
fs.rmSync(tmpDir, { recursive: true, force: true });
}
오리진 시더
익명