testPackTwoRangesSideBySide

tcmts.cli.test.e2e.pack.testPackTwoRangesSideBySide · #vzpxivn4 · term

A package pinned at two ranges keeps both, side by side.

import { setUp } from "#codebase/tcmts/cli/test/e2e/pack";
import assert from "node:assert/strict";

export const testPackTwoRangesSideBySide = () => {
  const { tcm, write, read } = setUp();
  write("old.ts", `// tcm: namespace old\nimport escape from "escape-string-regexp";\nexport const quote = (s: string): string => escape(s);\n`);
  tcm("add", "old.ts");
  tcm("upgrade", "escape-string-regexp@4", "old");
  tcm("pack", "greet.finder", "old.quote", "--name", "both");
  const pkg = JSON.parse(read(".tcm/pack/both/package.json"));
  assert.deepEqual(Object.keys(pkg.dependencies), ["npm__escape-string-regexp__4", "npm__escape-string-regexp__5"]);
  assert.match(pkg.dependencies["npm__escape-string-regexp__4"], /^npm:escape-string-regexp@4\.\d+\.\d+$/);
}

uses