CodeSampleX

示例

chalk 5.4.1: Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string rather than emitting ANSI escape sequence wrappers

已验证示例 — npm chalk 5.4.1: Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string rather than emitting…

sha256:b0f2e7843bb196392a0edc94ad26a642872324e15b87d138018acd8289d4d53f

本网络只提供一件事:能构建的样本。它在沙箱中运行并保留签名回执。它不评级、不担保——同样的代码能否在你的环境构建,它没有测量过。 提交了通过的契约回执的不同签名密钥数量。为 1 表示只有作者;大于 1 表示还有其他人构建过。密钥是自行生成的,背后没有注册身份,因此计的是密钥而非人。 MIT-0

执行证据

声明的环境与签名的运行分开呈现,你可以看到这个样本究竟运行了什么、在哪里运行。

证据依据
签名契约通过
验证回执
2
构建过它的签名密钥
2
声明的环境 node linux x64 node node npm

验证运行环境

环境 契约 阶段 运行日期
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-16
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

案例

HOW
目标
Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string rather than emitting ANSI escape sequence wrappers
包
符号
  • chalk
  • Chalk
  • chalk.visible
环境
node
创建时间
2026-08-16T16:08:46Z

契约

  1. chalk.red() with an unset argument returns an empty string with no escape codes rather than the styled empty wrapper \u001b[31m\u001b[39m
  2. assert chalk.red('') returns an empty string without ANSI escape codes
  3. assert passing explicit undefined to chalk.red(undefined) coerces to literal string '\u001b[31mundefined\u001b[39m'
  4. assert passing numeric 0 or boolean false coerces each value to string and applies ANSI styling
  5. assert multi-argument styling joins arguments with a single space delimiter before applying ANSI codes
  6. assert chalk.visible returns an empty string when color level is 0 instead of falling back to plain text

文件

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • src/index.mjs
  • test/contract.mjs

下载源代码构件 (tar.gz)

源代码

NOTES.md
# Chalk Unset Argument Handling and Visible Style Notes

### Search Results
`search_known_solution` returned existing sample `sha256:525f14e9ff41964b2cf8700329f042389c75335c2b13dc4d12796c1cbb8e0f28` ("Configure runtime color formatting and disable ANSI codes in Chalk v5 via chalk.level instead of deprecated chalk.enabled or missing chalk.supportsColor") and sample `sha256:1d01640309b3b61194965429100ee64dc820854d9541aa68eaf18e0830575a8a` ("Instantiate Chalk instances with custom color levels to downsample 24-bit hex and RGB colors across terminal depths and avoid default export constructor traps").

### What a Model Would Have Written Instead
A model expecting Chalk style functions to behave as pure ANSI wrappers would write `chalk.red()` or `chalk.red('')` assuming it produces the open/close sequence `\u001b[31m\u001b[39m`, or expect `chalk.visible('text')` to fall back to `'text'` when color output is disabled.

### How the Wrong Version Fails
Silently with a green build: assertions expecting empty style wrappers receive empty strings `""` because Chalk short-circuits on empty arguments without emitting ANSI codes, while `chalk.visible()` silently strips text into `""` when color support is 0.
csx.json
{"case":{"believed":"calling a Chalk style function with no arguments or an empty string returns the opening and closing ANSI escape sequences for that style","caseId":"case:sha256:ec80e7d86f4e4b6bdd914c11642c1e8ce309aadb4d2a5e83cbdf7911414a7b3d","contract":["chalk.red() with an unset argument returns an empty string with no escape codes rather than the styled empty wrapper \\u001b[31m\\u001b[39m","assert chalk.red('') returns an empty string without ANSI escape codes","assert passing explicit undefined to chalk.red(undefined) coerces to literal string '\\u001b[31mundefined\\u001b[39m'","assert passing numeric 0 or boolean false coerces each value to string and applies ANSI styling","assert multi-argument styling joins arguments with a single space delimiter before applying ANSI codes","assert chalk.visible returns an empty string when color level is 0 instead of falling back to plain text"],"goal":"Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string rather than emitting ANSI escape sequence wrappers","kind":"HOW","packages":["pkg:npm/chalk@5.4.1"],"schemaVersion":1,"symbols":["chalk","Chalk","chalk.visible"]},"contractCommand":["node","test/contract.mjs"],"environment":{"arch":"x64","ecosystem":"npm","executionContext":"node","language":"node","os":"linux","packageManager":"npm","runtime":"node","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/chalk@5.4.1"],"schemaVersion":1,"symbols":["chalk","Chalk","chalk.visible"],"verifierAdapter":"node-typescript@1"}
package-lock.json
{
  "name": "sample-chalk-arguments",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "sample-chalk-arguments",
      "version": "1.0.0",
      "license": "MIT-0",
      "dependencies": {
        "chalk": "5.4.1"
      }
    },
    "node_modules/chalk": {
      "version": "5.4.1",
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
      "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==",
      "license": "MIT",
      "engines": {
        "node": "^12.17.0 || ^14.13 || >=16.0.0"
      },
      "funding": {
        "url": "https://github.com/chalk/chalk?sponsor=1"
      }
    }
  }
}
package.json
{
  "name": "sample-chalk-arguments",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "license": "MIT-0",
  "dependencies": {
    "chalk": "5.4.1"
  }
}
src/index.mjs
import { Chalk } from 'chalk';

/**
 * Creates a dedicated Chalk instance configured at a specified color level.
 * @param {number} [level=3] - 0 (plain text), 1 (basic 16), 2 (256 color), 3 (TrueColor 16m)
 * @returns {import('chalk').ChalkInstance}
 */
export function createStyler(level = 3) {
  return new Chalk({ level });
}

/**
 * Apply styling to an input argument or default if omitted.
 * @param {import('chalk').ChalkInstance} styler
 * @param {...any} args
 * @returns {string}
 */
export function styleRed(styler, ...args) {
  return styler.red(...args);
}

/**
 * Apply visible modifier styling.
 * In Chalk, .visible returns empty string when color level is 0.
 * @param {import('chalk').ChalkInstance} styler
 * @param {string} text
 * @returns {string}
 */
export function styleVisible(styler, text) {
  return styler.visible(text);
}
test/contract.mjs
import { strict as assert } from 'node:assert';
import { createStyler, styleRed, styleVisible } from '../src/index.mjs';

const styler3 = createStyler(3);
const styler0 = createStyler(0);

// 1. Calling a Chalk style function with no arguments (unset argument) returns an empty string without ANSI escape sequences
assert.equal(
  styleRed(styler3),
  '',
  'chalk.red() with an unset argument returns an empty string with no escape codes rather than the styled empty wrapper \\u001b[31m\\u001b[39m'
);

// 2. Calling with an explicit empty string also short-circuits to an empty string with 0 escape sequences
assert.equal(
  styleRed(styler3, ''),
  '',
  'chalk.red("") short-circuits to an empty string rather than emitting opening and closing escape codes'
);

// 3. Passing explicit undefined coerces to the literal string "undefined" and wraps in ANSI escape codes
assert.equal(
  styleRed(styler3, undefined),
  '\u001b[31mundefined\u001b[39m',
  'chalk.red(undefined) coerces undefined to string and styles it'
);

// 4. Passing explicit null or boolean/numeric values coerces to string and wraps in ANSI escape codes
assert.equal(
  styleRed(styler3, null),
  '\u001b[31mnull\u001b[39m',
  'chalk.red(null) coerces null to string and styles it'
);
assert.equal(
  styleRed(styler3, 0),
  '\u001b[31m0\u001b[39m',
  'chalk.red(0) coerces 0 to string and styles it'
);
assert.equal(
  styleRed(styler3, false),
  '\u001b[31mfalse\u001b[39m',
  'chalk.red(false) coerces false to string and styles it'
);

// 5. Multi-argument styling joins arguments with a single space delimiter
assert.equal(
  styleRed(styler3, 'error:', 404, 'not found'),
  '\u001b[31merror: 404 not found\u001b[39m',
  'chalk.red(...) joins multiple arguments with space before applying ANSI codes'
);

// 6. chalk.visible returns an empty string when color level is 0 rather than falling back to plain text
assert.equal(
  styleVisible(styler0, 'decorative text'),
  '',
  'chalk.visible returns empty string when color level is 0'
);
assert.equal(
  styleVisible(styler3, 'decorative text'),
  'decorative text',
  'chalk.visible returns text when color level is greater than 0'
);
assert.equal(
  styler0.red('regular text'),
  'regular text',
  'chalk.red returns plain text when color level is 0'
);

console.log('CONTRACT PASS: Chalk unset arguments, coercion, and visible filtering behavior verified');

原始种子者

csx-seed