affaan-m/ECC · error

Missing value for ${argument}.

Error message

Missing value for ${argument}.

What it means

parseMutationArguments looked at the token after a value-taking Nasiko argument (e.g. --version or --install-dir) and found it missing or flag-shaped. The argument named in the message requires a following value token.

Source

Thrown at scripts/nasiko.js:36

Usage:
  ecc nasiko status [--install-dir <absolute-path>] [--json]
  ecc nasiko install --version v0.1.0 --yes [--install-dir <absolute-path>] [--json]
  ecc nasiko install --version v0.1.0 --dry-run [--install-dir <absolute-path>] [--json]
  ecc nasiko uninstall --version v0.1.0 --yes [--install-dir <absolute-path>] [--json]

The installer is opt-in, accepts only ECC-qualified pinned releases, downloads
content-addressed OCI artifacts from registry.nasiko.dev, verifies SHA-256
digests before extraction, and never executes fetched shell or PowerShell code.
`;
}

function parseMutationArguments(argumentsList, command = 'install') {
  let options = { dryRun: false, installDir: undefined, json: false, version: undefined, yes: false };
  for (let index = 0; index < argumentsList.length; index += 1) {
    const argument = argumentsList[index];
    if (argument === '--version' || argument === '--install-dir') {
      const value = argumentsList[index + 1];
      if (!value || value.startsWith('--')) throw new Error(`Missing value for ${argument}.`);
      options = {
        ...options,
        [argument === '--version' ? 'version' : 'installDir']: value,
      };
      index += 1;
    } else if (argument === '--yes' || argument === '-y') {
      options = { ...options, yes: true };
    } else if (argument === '--dry-run') {
      options = { ...options, dryRun: true };
    } else if (argument === '--json') {
      options = { ...options, json: true };
    } else {
      throw new Error(`Unknown Nasiko ${command} argument: ${argument}`);
    }
  }
  if (!options.version) throw new Error(`Nasiko ${command} requires --version v0.1.0.`);
  if (options.installDir) validateInstallDirectory(options.installDir);
  return options;

View on GitHub (pinned to 06c5e118c4)

Solutions

  1. Pass a value immediately after the flag (e.g. `<flag> <value>`); the value was missing or consumed as another flag.
Defensive patterns

Strategy: validation

When it happens

Trigger: Triggered when nasiko.js rejects the current invocation: Missing value for <value>.

Common situations: Occurs while running scripts/nasiko.js with invalid arguments, missing flags, or a failing external dependency; the guard at scripts/nasiko.js:36 aborts the command with this message.


AI-assisted analysis of affaan-m/ECC@06c5e118c4 (2026-08-18). Data as JSON: /api/errors/1c67dad9a9d5d40a. Report an issue: GitHub.