{ pkgs }: let dependencies = import ./yarn-dependencies.nix { inherit pkgs; src = ./test/yarn-dependencies; }; in pkgs.runCommand "quixos-yarn-dependencies-check" { nativeBuildInputs = [ pkgs.nodejs_24 ]; } '' node - ${dependencies} <<'JS' const assert = require('node:assert/strict'); const fs = require('node:fs'); const path = require('node:path'); const {execFileSync} = require('node:child_process'); const root = process.argv[2]; assert.deepEqual(require(path.join(root, 'fixture')), {value: 'retained dependency'}); assert.deepEqual(require(path.join(root, 'alias')), {value: 'retained dependency'}); assert.equal(fs.readlinkSync(path.join(root, 'alias')), 'fixture'); assert.equal(fs.readlinkSync(path.join(root, '.bin/fixture')), '../fixture/cli.cjs'); assert.equal(execFileSync(path.join(root, '.bin/fixture'), {encoding: 'utf8'}), 'linked executable\n'); assert.equal(fs.readFileSync(path.join(root, '.fixture-data'), 'utf8'), 'hidden dependency data\n'); assert.equal(fs.existsSync(path.join(root, '.yarn-state.yml')), false); JS touch "$out" ''