CodeSampleX

Beispiel

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

Verifiziertes Beispiel für npm chalk 5.4.1: Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string…

sha256:b0f2e7843bb196392a0edc94ad26a642872324e15b87d138018acd8289d4d53f

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung node linux x64 node node npm

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
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

Fall

HOW
Ziel
Handle unset input arguments and empty strings in Chalk styler functions which short-circuit to empty string rather than emitting ANSI escape sequence wrappers
Pakete
Symbole
  • chalk
  • Chalk
  • chalk.visible
Umgebung
node
Erstellt
2026-08-16T16:08:46Z

Contract

  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

Dateien

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

Quellartefakt herunterladen (tar.gz)

Quelltext

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');

Ursprungs-Seeder

csx-seed