Пример
require-from-string 2.0.2: load and execute CommonJS module code from string
Проверенный пример — npm require-from-string 2.0.2: load and execute CommonJS module code from string. Контракт выполнен на node 22 · linux alpine/x64 …
sha256:0e3523002de82cc2e6bb3c6888f9bce97e877957b37afa67901d93b83884226b
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 1
- Ключи подписи, собравшие его
- 1
Заявленная среда
node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript 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-27 |
Кейс
HOW- Цель
- load and execute CommonJS module code from string
- Пакеты
- Символы
-
- requireFromString
- Окружение
- node 22.23.2
- Создан
- 2026-08-27T21:55:24Z
Контракт
- requireFromString compiles and executes JavaScript code from string and returns module exports
- requireFromString supports exports object and CommonJS module semantics
- requireFromString sets custom module filename and directory path when specified
- requireFromString accepts option paths to prepend and append to module search paths
- requireFromString throws an Error when code parameter is not a string
Файлы
- PROMPT.md
- csx.json
- package-lock.json
- package.json
- spec.json
- test/contract.cjs
Исходный код
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: load and execute CommonJS module code from string
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/require-from-string@2.0.2
Demonstrate these symbols/APIs:
- requireFromString
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:19391753a14789bace58b7bcf9cde47a309379d414e90c4d8d586e40decaf745","contract":["requireFromString compiles and executes JavaScript code from string and returns module exports","requireFromString supports exports object and CommonJS module semantics","requireFromString sets custom module filename and directory path when specified","requireFromString accepts option paths to prepend and append to module search paths","requireFromString throws an Error when code parameter is not a string"],"goal":"load and execute CommonJS module code from string","kind":"HOW","packages":["pkg:npm/require-from-string@2.0.2"],"schemaVersion":1,"symbols":["requireFromString"]},"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","runtime":"node","runtimeVersion":"22.23.2","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/require-from-string@2.0.2"],"schemaVersion":1,"subject":"pkg:npm/require-from-string@2.0.2","symbols":["requireFromString"],"verifierAdapter":"node-typescript@1"}
{
"name": "sample-require-from-string",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sample-require-from-string",
"version": "1.0.0",
"dependencies": {
"require-from-string": "2.0.2"
}
},
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
}
}
}
{
"name": "sample-require-from-string",
"version": "1.0.0",
"private": true,
"description": "Clean-room verification of require-from-string",
"dependencies": {
"require-from-string": "2.0.2"
}
}
{
"schemaVersion": 1,
"goal": "load and execute CommonJS module code from string",
"kind": "HOW",
"packages": [
"pkg:npm/require-from-string@2.0.2"
],
"symbols": [
"requireFromString"
]
}
'use strict';
const assert = require('node:assert/strict');
const path = require('node:path');
const requireFromString = require('require-from-string');
// 1. requireFromString compiles and executes JavaScript code from string and returns module exports
const exportedObject = requireFromString('module.exports = { name: "test-module", sum: (a, b) => a + b, value: 42 };');
assert.equal(typeof exportedObject, 'object', 'exportedObject should be an object');
assert.equal(exportedObject.name, 'test-module', 'name property should match');
assert.equal(exportedObject.value, 42, 'value property should match');
assert.equal(exportedObject.sum(10, 32), 42, 'sum function should work');
// 2. requireFromString supports exports object and CommonJS module semantics
const directExports = requireFromString('exports.hello = "world"; exports.fn = () => true;');
assert.equal(directExports.hello, 'world', 'exports.hello should match');
assert.equal(directExports.fn(), true, 'exports.fn should return true');
// 3. requireFromString sets custom module filename and directory path when specified
const customFilename = '/virtual/path/test-script.js';
const fileInfo = requireFromString('module.exports = { file: __filename, dir: __dirname };', customFilename);
assert.equal(fileInfo.file, customFilename, '__filename should match specified filename');
assert.equal(fileInfo.dir, path.dirname(customFilename), '__dirname should match dirname of filename');
// 4. requireFromString accepts option paths to prepend and append to module search paths
const customPaths = requireFromString('module.exports = module.paths;', {
prependPaths: ['/virtual/prepend-dir'],
appendPaths: ['/virtual/append-dir']
});
assert.ok(Array.isArray(customPaths), 'module.paths should be an array');
assert.equal(customPaths[0], '/virtual/prepend-dir', 'prependPaths should be placed first');
assert.equal(customPaths[customPaths.length - 1], '/virtual/append-dir', 'appendPaths should be placed last');
// 5. requireFromString throws an Error when code parameter is not a string
assert.throws(
() => requireFromString(123),
{
name: 'Error',
message: 'code must be a string, not number'
}
);
assert.throws(
() => requireFromString(null),
{
name: 'Error',
message: 'code must be a string, not object'
}
);
console.log('Contract test passed.');
Исходный сидер
аноним