miniread 1.97.0 → 1.98.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +16 -0
  2. package/bin/miniread-pick-random-transform +17 -0
  3. package/dist/scripts/pick-random-transform/create-pick-random-transform-command.d.ts +11 -0
  4. package/dist/scripts/pick-random-transform/create-pick-random-transform-command.js +30 -0
  5. package/dist/scripts/pick-random-transform/load-transform-performance-entries.d.ts +5 -0
  6. package/dist/scripts/pick-random-transform/load-transform-performance-entries.js +53 -0
  7. package/dist/scripts/pick-random-transform/parse-pick-random-transform-cli-options.d.ts +12 -0
  8. package/dist/scripts/pick-random-transform/parse-pick-random-transform-cli-options.js +20 -0
  9. package/dist/scripts/pick-random-transform/pick-random-transform-candidates.d.ts +26 -0
  10. package/dist/scripts/pick-random-transform/pick-random-transform-candidates.js +55 -0
  11. package/dist/scripts/pick-random-transform/run-pick-random-transform-cli.d.ts +1 -0
  12. package/dist/scripts/pick-random-transform/run-pick-random-transform-cli.js +73 -0
  13. package/dist/scripts/pick-random-transform.d.ts +1 -0
  14. package/dist/scripts/pick-random-transform.js +12 -0
  15. package/dist/transforms/_generated/manifest.js +1 -70
  16. package/dist/transforms/_generated/registry.js +0 -24
  17. package/dist/transforms/preset-stats.json +2 -2
  18. package/dist/transforms/rename-timeout-promises/manifest.json +2 -2
  19. package/dist/transforms/rename-timeout-promises/rename-timeout-promises-transform.js +18 -15
  20. package/package.json +4 -1
  21. package/dist/transforms/expand-sequence-expressions-v4/expand-expression-statement-sequence.d.ts +0 -3
  22. package/dist/transforms/expand-sequence-expressions-v4/expand-expression-statement-sequence.js +0 -86
  23. package/dist/transforms/expand-sequence-expressions-v4/expand-return-sequence.d.ts +0 -3
  24. package/dist/transforms/expand-sequence-expressions-v4/expand-return-sequence.js +0 -91
  25. package/dist/transforms/expand-sequence-expressions-v4/expand-sequence-expressions-v4-transform.d.ts +0 -2
  26. package/dist/transforms/expand-sequence-expressions-v4/expand-sequence-expressions-v4-transform.js +0 -48
  27. package/dist/transforms/expand-sequence-expressions-v4/expand-throw-sequence.d.ts +0 -3
  28. package/dist/transforms/expand-sequence-expressions-v4/expand-throw-sequence.js +0 -101
  29. package/dist/transforms/expand-sequence-expressions-v4/expand-variable-declaration-sequence.d.ts +0 -3
  30. package/dist/transforms/expand-sequence-expressions-v4/expand-variable-declaration-sequence.js +0 -99
  31. package/dist/transforms/expand-sequence-expressions-v4/manifest.json +0 -14
  32. package/dist/transforms/rename-charcode-variables/manifest.json +0 -14
  33. package/dist/transforms/rename-charcode-variables/rename-charcode-variables-transform.d.ts +0 -2
  34. package/dist/transforms/rename-charcode-variables/rename-charcode-variables-transform.js +0 -67
  35. package/dist/transforms/rename-default-options-parameters/manifest.json +0 -21
  36. package/dist/transforms/rename-default-options-parameters/rename-default-options-parameters-transform.d.ts +0 -2
  37. package/dist/transforms/rename-default-options-parameters/rename-default-options-parameters-transform.js +0 -110
  38. package/dist/transforms/rename-default-options-parameters-v2/manifest.json +0 -13
  39. package/dist/transforms/rename-default-options-parameters-v2/rename-default-options-parameters-v2-transform.d.ts +0 -2
  40. package/dist/transforms/rename-default-options-parameters-v2/rename-default-options-parameters-v2-transform.js +0 -43
  41. package/dist/transforms/rename-loop-index-variables/manifest.json +0 -21
  42. package/dist/transforms/rename-loop-index-variables/rename-loop-index-variables-transform.d.ts +0 -2
  43. package/dist/transforms/rename-loop-index-variables/rename-loop-index-variables-transform.js +0 -131
  44. package/dist/transforms/rename-loop-index-variables-v2/get-loop-counter-name.d.ts +0 -5
  45. package/dist/transforms/rename-loop-index-variables-v2/get-loop-counter-name.js +0 -123
  46. package/dist/transforms/rename-loop-index-variables-v2/get-renamed-ancestor-loop-count.d.ts +0 -3
  47. package/dist/transforms/rename-loop-index-variables-v2/get-renamed-ancestor-loop-count.js +0 -19
  48. package/dist/transforms/rename-loop-index-variables-v2/get-target-index-base-name.d.ts +0 -1
  49. package/dist/transforms/rename-loop-index-variables-v2/get-target-index-base-name.js +0 -6
  50. package/dist/transforms/rename-loop-index-variables-v2/manifest.json +0 -21
  51. package/dist/transforms/rename-loop-index-variables-v2/rename-loop-index-variables-v2-transform.d.ts +0 -2
  52. package/dist/transforms/rename-loop-index-variables-v2/rename-loop-index-variables-v2-transform.js +0 -47
  53. package/dist/transforms/rename-parameters-to-match-properties/manifest.json +0 -21
  54. package/dist/transforms/rename-parameters-to-match-properties/rename-parameters-to-match-properties-transform.d.ts +0 -2
  55. package/dist/transforms/rename-parameters-to-match-properties/rename-parameters-to-match-properties-transform.js +0 -98
  56. package/dist/transforms/rename-promise-executor-parameters/manifest.json +0 -21
  57. package/dist/transforms/rename-promise-executor-parameters/promise-executor-heuristics.d.ts +0 -5
  58. package/dist/transforms/rename-promise-executor-parameters/promise-executor-heuristics.js +0 -63
  59. package/dist/transforms/rename-promise-executor-parameters/rename-binding-if-safe.d.ts +0 -3
  60. package/dist/transforms/rename-promise-executor-parameters/rename-binding-if-safe.js +0 -11
  61. package/dist/transforms/rename-promise-executor-parameters/rename-promise-executor-parameters-transform.d.ts +0 -2
  62. package/dist/transforms/rename-promise-executor-parameters/rename-promise-executor-parameters-transform.js +0 -84
  63. package/dist/transforms/rename-safe-property-accessor-parameters/get-return-expression.d.ts +0 -3
  64. package/dist/transforms/rename-safe-property-accessor-parameters/get-return-expression.js +0 -21
  65. package/dist/transforms/rename-safe-property-accessor-parameters/get-returned-function.d.ts +0 -3
  66. package/dist/transforms/rename-safe-property-accessor-parameters/get-returned-function.js +0 -22
  67. package/dist/transforms/rename-safe-property-accessor-parameters/is-member-access.d.ts +0 -2
  68. package/dist/transforms/rename-safe-property-accessor-parameters/is-member-access.js +0 -24
  69. package/dist/transforms/rename-safe-property-accessor-parameters/is-nullish-check.d.ts +0 -4
  70. package/dist/transforms/rename-safe-property-accessor-parameters/is-nullish-check.js +0 -74
  71. package/dist/transforms/rename-safe-property-accessor-parameters/manifest.json +0 -13
  72. package/dist/transforms/rename-safe-property-accessor-parameters/match-safe-property-accessor-factory.d.ts +0 -9
  73. package/dist/transforms/rename-safe-property-accessor-parameters/match-safe-property-accessor-factory.js +0 -44
  74. package/dist/transforms/rename-safe-property-accessor-parameters/rename-safe-property-accessor-parameters-transform.d.ts +0 -3
  75. package/dist/transforms/rename-safe-property-accessor-parameters/rename-safe-property-accessor-parameters-transform.js +0 -56
  76. package/dist/transforms/rename-safe-property-accessor-parameters/unwrap-parentheses.d.ts +0 -2
  77. package/dist/transforms/rename-safe-property-accessor-parameters/unwrap-parentheses.js +0 -7
  78. package/dist/transforms/rename-string-split-variables/get-split-helper-info.d.ts +0 -8
  79. package/dist/transforms/rename-string-split-variables/get-split-helper-info.js +0 -40
  80. package/dist/transforms/rename-string-split-variables/manifest.json +0 -14
  81. package/dist/transforms/rename-string-split-variables/rename-string-split-variables-transform.d.ts +0 -2
  82. package/dist/transforms/rename-string-split-variables/rename-string-split-variables-transform.js +0 -69
  83. package/dist/transforms/rename-string-split-variables/split-helper-declarations.d.ts +0 -11
  84. package/dist/transforms/rename-string-split-variables/split-helper-declarations.js +0 -80
  85. package/dist/transforms/rename-string-split-variables/split-helper-guards.d.ts +0 -8
  86. package/dist/transforms/rename-string-split-variables/split-helper-guards.js +0 -73
  87. package/dist/transforms/rename-string-split-variables/split-helper-loop.d.ts +0 -3
  88. package/dist/transforms/rename-string-split-variables/split-helper-loop.js +0 -116
  89. package/dist/transforms/rename-string-split-variables/split-helper-tail-expressions.d.ts +0 -3
  90. package/dist/transforms/rename-string-split-variables/split-helper-tail-expressions.js +0 -86
  91. package/dist/transforms/rename-string-split-variables/split-helper-tail-tests.d.ts +0 -4
  92. package/dist/transforms/rename-string-split-variables/split-helper-tail-tests.js +0 -39
  93. package/dist/transforms/rename-string-split-variables/split-helper-tail.d.ts +0 -3
  94. package/dist/transforms/rename-string-split-variables/split-helper-tail.js +0 -49
  95. package/dist/transforms/rename-timeout-duration-parameters/manifest.json +0 -20
  96. package/dist/transforms/rename-timeout-duration-parameters/rename-timeout-duration-parameters-transform.d.ts +0 -2
  97. package/dist/transforms/rename-timeout-duration-parameters/rename-timeout-duration-parameters-transform.js +0 -137
  98. package/dist/transforms/rename-use-reference-guards/get-member-expression-for-reference.d.ts +0 -3
  99. package/dist/transforms/rename-use-reference-guards/get-member-expression-for-reference.js +0 -10
  100. package/dist/transforms/rename-use-reference-guards/get-reference-usage.d.ts +0 -9
  101. package/dist/transforms/rename-use-reference-guards/get-reference-usage.js +0 -47
  102. package/dist/transforms/rename-use-reference-guards/is-use-reference-false-initializer.d.ts +0 -2
  103. package/dist/transforms/rename-use-reference-guards/is-use-reference-false-initializer.js +0 -25
  104. package/dist/transforms/rename-use-reference-guards/manifest.json +0 -21
  105. package/dist/transforms/rename-use-reference-guards/rename-use-reference-guards-transform.d.ts +0 -3
  106. package/dist/transforms/rename-use-reference-guards/rename-use-reference-guards-transform.js +0 -54
package/README.md CHANGED
@@ -97,6 +97,22 @@ pnpm run miniread-evaluate -- --compare v1.0:v1.1 --compare v2.0:v2.1 --baseline
97
97
  | tail -n +2 | sort -k5,5nr | head -10
98
98
  ```
99
99
 
100
+ ## miniread-pick-random-transform (developer tool)
101
+
102
+ The `miniread-pick-random-transform` CLI picks random transform candidates from the slowest eligible recommended transforms based on `manifest.json` evaluation metrics.
103
+
104
+ ### Usage
105
+
106
+ ```bash
107
+ pnpm run miniread-pick-random-transform -- --help
108
+
109
+ # Pick 3 random candidates from the 10 slowest eligible transforms
110
+ pnpm run miniread-pick-random-transform
111
+
112
+ # Customize evaluation key and pool size
113
+ pnpm run miniread-pick-random-transform -- --evaluation-key v1.0:v1.1 --top 15 --pick 3
114
+ ```
115
+
100
116
  ## License
101
117
 
102
118
  MIT
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI entry point that dynamically imports the compiled TypeScript.
4
+ *
5
+ * Uses top-level await to ensure module evaluation errors are handled
6
+ * properly. Without await, errors during import would surface as unhandled
7
+ * rejections instead of clean CLI failures with appropriate exit codes.
8
+ */
9
+ try {
10
+ await import("../dist/scripts/pick-random-transform.js");
11
+ } catch (error) {
12
+ console.error(
13
+ "Failed to start miniread-pick-random-transform:",
14
+ error instanceof Error ? error.message : error,
15
+ );
16
+ process.exitCode = 1;
17
+ }
@@ -0,0 +1,11 @@
1
+ import { Command } from "@commander-js/extra-typings";
2
+ export type PickRandomTransformCliRawOptions = {
3
+ verbose: boolean;
4
+ evaluationKey: string;
5
+ transformsDirectory: string;
6
+ top: number;
7
+ pick: number;
8
+ };
9
+ export declare const createPickRandomTransformCommand: (options: {
10
+ version: string;
11
+ }) => Command;
@@ -0,0 +1,30 @@
1
+ import { Command, InvalidArgumentError } from "@commander-js/extra-typings";
2
+ const parsePositiveInt = (rawValue) => {
3
+ const value = Number(rawValue);
4
+ if (!Number.isInteger(value) || value < 1) {
5
+ throw new InvalidArgumentError(`invalid value '${rawValue}' (expected a positive integer)`);
6
+ }
7
+ return value;
8
+ };
9
+ export const createPickRandomTransformCommand = (options) => {
10
+ const program = new Command()
11
+ .name("miniread-pick-random-transform")
12
+ .description("Pick random transform candidates from the slowest recommended transforms.")
13
+ .version(options.version)
14
+ .showHelpAfterError("(add --help for additional information)")
15
+ .showSuggestionAfterError()
16
+ .option("-v, --verbose", "Enable verbose output")
17
+ .option("--evaluation-key <key>", "Evaluation key used to read duration metrics from manifest.json", "claude-code-2.1.10:claude-code-2.1.11")
18
+ .option("--transforms-directory <path>", "Directory containing transform subdirectories", "src/transforms")
19
+ .option("--top <count>", "How many slowest eligible transforms form the candidate pool", parsePositiveInt, 10)
20
+ .option("--pick <count>", "How many transforms to randomly pick from the top pool", parsePositiveInt, 3);
21
+ program.addHelpText("after", `
22
+ Examples:
23
+ # Pick 3 candidates from the 10 slowest recommended transforms
24
+ pnpm run miniread-pick-random-transform
25
+
26
+ # Use a different evaluation key and pool size
27
+ pnpm run miniread-pick-random-transform -- --evaluation-key claude-code-2.1.11:claude-code-2.1.12 --top 15 --pick 3
28
+ `);
29
+ return program;
30
+ };
@@ -0,0 +1,5 @@
1
+ import type { TransformPerformanceEntry } from "./pick-random-transform-candidates.js";
2
+ export declare const loadTransformPerformanceEntries: (options: {
3
+ transformsDirectory: string;
4
+ evaluationKey: string;
5
+ }) => TransformPerformanceEntry[];
@@ -0,0 +1,53 @@
1
+ import { readFileSync, readdirSync } from "node:fs";
2
+ import path from "node:path";
3
+ const parseManifest = (manifestPath) => {
4
+ const content = readFileSync(manifestPath, "utf8");
5
+ const parsed = JSON.parse(content);
6
+ return {
7
+ recommended: parsed.recommended,
8
+ supersededBy: parsed.supersededBy,
9
+ evaluations: parsed.evaluations,
10
+ };
11
+ };
12
+ const parseNumber = (value) => {
13
+ if (typeof value !== "number")
14
+ return undefined;
15
+ if (!Number.isFinite(value))
16
+ return undefined;
17
+ return value;
18
+ };
19
+ export const loadTransformPerformanceEntries = (options) => {
20
+ const { transformsDirectory, evaluationKey } = options;
21
+ const directoryEntries = readdirSync(transformsDirectory, {
22
+ withFileTypes: true,
23
+ });
24
+ const performanceEntries = [];
25
+ for (const directoryEntry of directoryEntries) {
26
+ if (!directoryEntry.isDirectory())
27
+ continue;
28
+ const transformId = directoryEntry.name;
29
+ const manifestPath = path.join(transformsDirectory, transformId, "manifest.json");
30
+ let manifest;
31
+ try {
32
+ manifest = parseManifest(manifestPath);
33
+ }
34
+ catch (error) {
35
+ const code = error instanceof Error && "code" in error ? error.code : undefined;
36
+ if (code === "ENOENT")
37
+ continue;
38
+ const message = error instanceof Error ? error.message : String(error);
39
+ throw new Error(`Failed to parse ${manifestPath}: ${message}`);
40
+ }
41
+ const evaluation = manifest.evaluations?.[evaluationKey];
42
+ performanceEntries.push({
43
+ transformId,
44
+ recommended: manifest.recommended === true,
45
+ supersededBy: typeof manifest.supersededBy === "string"
46
+ ? manifest.supersededBy
47
+ : undefined,
48
+ durationSeconds: parseNumber(evaluation?.durationSeconds),
49
+ changedLines: parseNumber(evaluation?.changedLines),
50
+ });
51
+ }
52
+ return performanceEntries;
53
+ };
@@ -0,0 +1,12 @@
1
+ import type { PickRandomTransformCliRawOptions } from "./create-pick-random-transform-command.js";
2
+ export type PickRandomTransformCliOptions = {
3
+ verbose: boolean;
4
+ evaluationKey: string;
5
+ transformsDirectory: string;
6
+ topCount: number;
7
+ pickCount: number;
8
+ };
9
+ export declare const parsePickRandomTransformCliOptions: (options: {
10
+ cwd: string;
11
+ rawOptions: PickRandomTransformCliRawOptions;
12
+ }) => PickRandomTransformCliOptions;
@@ -0,0 +1,20 @@
1
+ import path from "node:path";
2
+ export const parsePickRandomTransformCliOptions = (options) => {
3
+ const { cwd, rawOptions } = options;
4
+ const evaluationKey = rawOptions.evaluationKey.trim();
5
+ if (evaluationKey.length === 0) {
6
+ throw new Error("--evaluation-key must be a non-empty string");
7
+ }
8
+ const topCount = rawOptions.top;
9
+ const pickCount = rawOptions.pick;
10
+ if (pickCount > topCount) {
11
+ throw new Error("--pick must be less than or equal to --top");
12
+ }
13
+ return {
14
+ verbose: rawOptions.verbose,
15
+ evaluationKey,
16
+ transformsDirectory: path.resolve(cwd, rawOptions.transformsDirectory),
17
+ topCount,
18
+ pickCount,
19
+ };
20
+ };
@@ -0,0 +1,26 @@
1
+ export type RandomIntGenerator = {
2
+ nextInt: (maxExclusive: number) => number;
3
+ };
4
+ export type TransformPerformanceEntry = {
5
+ transformId: string;
6
+ recommended: boolean;
7
+ supersededBy: string | undefined;
8
+ durationSeconds: number | undefined;
9
+ changedLines: number | undefined;
10
+ };
11
+ type TransformCandidate = {
12
+ transformId: string;
13
+ durationSeconds: number;
14
+ changedLines: number;
15
+ };
16
+ type PickRandomTransformCandidatesResult = {
17
+ candidatePool: TransformCandidate[];
18
+ candidates: TransformCandidate[];
19
+ };
20
+ export declare const pickRandomTransformCandidates: (options: {
21
+ entries: TransformPerformanceEntry[];
22
+ topCount: number;
23
+ pickCount: number;
24
+ rng: RandomIntGenerator;
25
+ }) => PickRandomTransformCandidatesResult;
26
+ export {};
@@ -0,0 +1,55 @@
1
+ const toCandidate = (entry) => {
2
+ if (!entry.recommended)
3
+ return undefined;
4
+ if ((entry.supersededBy ?? "") !== "")
5
+ return undefined;
6
+ if (entry.durationSeconds === undefined || entry.durationSeconds <= 0) {
7
+ return undefined;
8
+ }
9
+ return {
10
+ transformId: entry.transformId,
11
+ durationSeconds: entry.durationSeconds,
12
+ changedLines: entry.changedLines ?? 0,
13
+ };
14
+ };
15
+ export const pickRandomTransformCandidates = (options) => {
16
+ const { entries, topCount, pickCount, rng } = options;
17
+ if (!Number.isInteger(topCount) || topCount < 1) {
18
+ throw new Error(`topCount must be >= 1 (got: ${topCount})`);
19
+ }
20
+ if (!Number.isInteger(pickCount) || pickCount < 1) {
21
+ throw new Error(`pickCount must be >= 1 (got: ${pickCount})`);
22
+ }
23
+ if (pickCount > topCount) {
24
+ throw new Error(`pickCount (${pickCount}) must be <= topCount (${topCount})`);
25
+ }
26
+ const candidatePool = entries
27
+ .map((entry) => toCandidate(entry))
28
+ .filter((candidate) => candidate !== undefined)
29
+ .toSorted((a, b) => b.durationSeconds - a.durationSeconds)
30
+ .slice(0, topCount);
31
+ if (candidatePool.length < pickCount) {
32
+ throw new Error(`Expected at least ${pickCount} eligible transforms in top-${topCount} set.`);
33
+ }
34
+ const pool = [...candidatePool];
35
+ const candidates = [];
36
+ for (let index = 0; index < pickCount; index += 1) {
37
+ const randomIndex = rng.nextInt(pool.length);
38
+ if (!Number.isInteger(randomIndex)) {
39
+ throw new TypeError(`RNG returned non-integer index: ${String(randomIndex)}`);
40
+ }
41
+ if (randomIndex < 0 || randomIndex >= pool.length) {
42
+ throw new Error(`RNG returned out-of-range index ${randomIndex} for pool length ${pool.length}`);
43
+ }
44
+ const pickedCandidate = pool[randomIndex];
45
+ if (!pickedCandidate) {
46
+ throw new Error(`Invariant violation: missing candidate at index ${randomIndex}`);
47
+ }
48
+ pool.splice(randomIndex, 1);
49
+ candidates.push(pickedCandidate);
50
+ }
51
+ return {
52
+ candidatePool,
53
+ candidates,
54
+ };
55
+ };
@@ -0,0 +1 @@
1
+ export declare const runPickRandomTransformCli: (argv: string[]) => number;
@@ -0,0 +1,73 @@
1
+ import { randomInt } from "node:crypto";
2
+ import packageJson from "../../../package.json" with { type: "json" };
3
+ import { createPickRandomTransformCommand, } from "./create-pick-random-transform-command.js";
4
+ import { parsePickRandomTransformCliOptions, } from "./parse-pick-random-transform-cli-options.js";
5
+ import { loadTransformPerformanceEntries } from "./load-transform-performance-entries.js";
6
+ import { pickRandomTransformCandidates, } from "./pick-random-transform-candidates.js";
7
+ const createCryptoRng = () => {
8
+ return {
9
+ nextInt(maxExclusive) {
10
+ if (!Number.isInteger(maxExclusive) || maxExclusive < 1) {
11
+ throw new Error(`maxExclusive must be a positive integer (got: ${maxExclusive})`);
12
+ }
13
+ return randomInt(maxExclusive);
14
+ },
15
+ };
16
+ };
17
+ export const runPickRandomTransformCli = (argv) => {
18
+ const program = createPickRandomTransformCommand({
19
+ version: packageJson.version,
20
+ });
21
+ program.parse(argv.filter((argument) => argument !== "--"));
22
+ const rawOptions = program.opts();
23
+ let parsedOptions;
24
+ try {
25
+ parsedOptions = parsePickRandomTransformCliOptions({
26
+ cwd: process.cwd(),
27
+ rawOptions,
28
+ });
29
+ }
30
+ catch (error) {
31
+ program.error(error instanceof Error ? error.message : String(error));
32
+ return 1;
33
+ }
34
+ let entries;
35
+ try {
36
+ entries = loadTransformPerformanceEntries({
37
+ transformsDirectory: parsedOptions.transformsDirectory,
38
+ evaluationKey: parsedOptions.evaluationKey,
39
+ });
40
+ }
41
+ catch (error) {
42
+ const message = error instanceof Error ? error.message : String(error);
43
+ console.error(message);
44
+ return 1;
45
+ }
46
+ let selection;
47
+ try {
48
+ selection = pickRandomTransformCandidates({
49
+ entries,
50
+ topCount: parsedOptions.topCount,
51
+ pickCount: parsedOptions.pickCount,
52
+ rng: createCryptoRng(),
53
+ });
54
+ }
55
+ catch (error) {
56
+ const message = error instanceof Error ? error.message : String(error);
57
+ console.error(message);
58
+ return 1;
59
+ }
60
+ if (parsedOptions.verbose) {
61
+ console.error(`Loaded ${entries.length} transforms from ${parsedOptions.transformsDirectory}`);
62
+ console.error(`Candidate pool size: ${selection.candidatePool.length}`);
63
+ }
64
+ process.stdout.write(`${JSON.stringify({
65
+ generatedAt: new Date().toISOString(),
66
+ evaluationKey: parsedOptions.evaluationKey,
67
+ topCount: parsedOptions.topCount,
68
+ pickCount: parsedOptions.pickCount,
69
+ candidatePool: selection.candidatePool,
70
+ candidates: selection.candidates,
71
+ }, undefined, 2)}\n`);
72
+ return 0;
73
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { runPickRandomTransformCli } from "./pick-random-transform/run-pick-random-transform-cli.js";
2
+ try {
3
+ const exitCode = runPickRandomTransformCli(process.argv);
4
+ if (exitCode !== 0) {
5
+ process.exitCode = exitCode;
6
+ }
7
+ }
8
+ catch (error) {
9
+ const message = error instanceof Error ? error.message : String(error);
10
+ console.error(`Error: ${message}`);
11
+ process.exitCode = 1;
12
+ }
@@ -7,12 +7,6 @@ const manifestData = {
7
7
  notes: "Improves readability but does not reduce diffs (boolean literals are already deterministic)",
8
8
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T22:55:59.511Z", "changedLines": 35954, "durationSeconds": 60.354829125, "stableNames": 1357 } },
9
9
  },
10
- "expand-sequence-expressions-v4": {
11
- recommended: false,
12
- notes: "Measured with baseline none: -1.73%. Supersedes all prior sequence expression transforms. Superseded by expand-sequence-expressions-v5.",
13
- supersededBy: "expand-sequence-expressions-v5",
14
- evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 101.73583550667121, "evaluatedAt": "2026-01-25T22:57:17.477Z", "changedLines": 181675, "durationSeconds": 74.706709875, "stableNames": 1357 } },
15
- },
16
10
  "expand-sequence-expressions-v5": {
17
11
  recommended: true,
18
12
  notes: "Extends expand-sequence-expressions-v4 by also expanding `if ((a, b)) ...` style tests.",
@@ -76,12 +70,6 @@ const manifestData = {
76
70
  notes: "Measured with baseline none: 0.00%. Renames variables used in charCodeAt to improve readability.",
77
71
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:07:16.752Z", "changedLines": 1716, "durationSeconds": 65.4581855, "stableNames": 1362 } },
78
72
  },
79
- "rename-charcode-variables": {
80
- recommended: false,
81
- notes: "Superseded by rename-charcode-variables-v2.",
82
- supersededBy: "rename-charcode-variables-v2",
83
- evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:43:52.967Z", "changedLines": 308, "durationSeconds": 57.065185917, "stableNames": 1359 } },
84
- },
85
73
  "rename-charcode-variables-v2": {
86
74
  recommended: true,
87
75
  notes: "Derives names from charCodeAt argument for better stability (e.g., $charCodeAtIndex, $charCodeAtIndexPlus1).",
@@ -102,17 +90,6 @@ const manifestData = {
102
90
  notes: "Measured with baseline none: 0.00%. Added to recommended for readability.",
103
91
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.99622028196697, "evaluatedAt": "2026-01-25T23:12:36.102Z", "changedLines": 354, "durationSeconds": 62.624233667, "stableNames": 1362 } },
104
92
  },
105
- "rename-default-options-parameters": {
106
- recommended: false,
107
- notes: "Superseded by rename-default-options-parameters-v2.",
108
- supersededBy: "rename-default-options-parameters-v2",
109
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T19:51:46.527Z", "changedLines": 0, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:13:21.099Z", "changedLines": 0, "durationSeconds": 41.827803458, "stableNames": 1357 } },
110
- },
111
- "rename-default-options-parameters-v2": {
112
- recommended: false,
113
- supersededBy: "rename-default-options-parameters-v3",
114
- evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-02-06T12:59:48.597Z", "changedLines": 774, "durationSeconds": 235.023578515, "stableNames": 1358 } },
115
- },
116
93
  "rename-default-options-parameters-v3": {
117
94
  recommended: true,
118
95
  notes: "Renames defaulted and member-access-only parameters (not limited to semantic options objects) into stable options-style names. Skips files with dynamic name lookup (eval/with) to avoid unsafe renames.",
@@ -196,18 +173,6 @@ const manifestData = {
196
173
  notes: "Added to recommended for readability of invalidParameterError call sites.",
197
174
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.99811516350957, "evaluatedAt": "2026-02-06T12:52:02.935Z", "changedLines": 452, "durationSeconds": 211.048545671, "stableNames": 1381 } },
198
175
  },
199
- "rename-loop-index-variables": {
200
- recommended: false,
201
- notes: "Superseded by rename-loop-index-variables-v3.",
202
- supersededBy: "rename-loop-index-variables-v3",
203
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:02:28.948Z", "changedLines": 1462, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:19:33.960Z", "changedLines": 1462, "durationSeconds": 58.388688125, "stableNames": 1360 } },
204
- },
205
- "rename-loop-index-variables-v2": {
206
- recommended: false,
207
- notes: "Superseded by rename-loop-index-variables-v3.",
208
- supersededBy: "rename-loop-index-variables-v3",
209
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:03:25.815Z", "changedLines": 1522, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:20:34.890Z", "changedLines": 1522, "durationSeconds": 57.805667625000005, "stableNames": 1361 } },
210
- },
211
176
  "rename-loop-index-variables-v3": {
212
177
  recommended: true,
213
178
  notes: "Unifies rename-loop-index-variables and rename-loop-index-variables-v2 without modifying older transforms. Measured with baseline none: 0.00%.",
@@ -240,12 +205,6 @@ const manifestData = {
240
205
  notes: "Measured with baseline none: 2.11%. Added to recommended for readability.",
241
206
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 97.88709829422298, "evaluatedAt": "2026-02-05T19:24:46.607Z", "changedLines": 12500, "durationSeconds": 2175.358991208, "stableNames": 2608 } },
242
207
  },
243
- "rename-parameters-to-match-properties": {
244
- recommended: false,
245
- notes: "Superseded by rename-parameters-to-match-properties-v2.",
246
- supersededBy: "rename-parameters-to-match-properties-v2",
247
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:06:13.642Z", "changedLines": 15823, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 99.99622028196697 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.99622028196697, "evaluatedAt": "2026-01-25T23:23:32.785Z", "changedLines": 15823, "durationSeconds": 56.566717458, "stableNames": 1357 } },
248
- },
249
208
  "rename-parameters-to-match-properties-v2": {
250
209
  recommended: true,
251
210
  notes: "Extends v1 to also handle this.property = param assignments.",
@@ -264,12 +223,6 @@ const manifestData = {
264
223
  recommended: true,
265
224
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.9943454905287, "evaluatedAt": "2026-02-04T13:02:28.995Z", "changedLines": 462, "durationSeconds": 287.68950817700005, "stableNames": 1358 } },
266
225
  },
267
- "rename-promise-executor-parameters": {
268
- recommended: false,
269
- notes: "Superseded by rename-promise-executor-parameters-v2. Known issue: can produce incorrect output for duplicate parameter names in non-strict scripts (e.g. `function (a, a) {}`).",
270
- supersededBy: "rename-promise-executor-parameters-v2",
271
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:08:45.593Z", "changedLines": 970, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:26:26.589Z", "changedLines": 970, "durationSeconds": 63.099434166, "stableNames": 1359 } },
272
- },
273
226
  "rename-promise-executor-parameters-v2": {
274
227
  recommended: true,
275
228
  notes: "Supersedes rename-promise-executor-parameters with improved error-handler detection. Intentionally self-contained (helpers duplicated) per docs/workflow.md §3.6.",
@@ -311,11 +264,6 @@ const manifestData = {
311
264
  recommended: true,
312
265
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-02-06T17:36:36.948Z", "changedLines": 14, "durationSeconds": 177.13338240899998, "stableNames": 1358 } },
313
266
  },
314
- "rename-safe-property-accessor-parameters": {
315
- recommended: false,
316
- notes: "Negative diff reduction in evaluation; keep optional.",
317
- evaluations: { "legacy:evaluation": { "diffSizePercent": 100.00188483649043, "evaluatedAt": "2026-01-25T10:04:22.417Z", "changedLines": 0, "durationSeconds": 0, "stableNames": 0 } },
318
- },
319
267
  "rename-search-parameters-variables": {
320
268
  recommended: true,
321
269
  notes: "Measured with baseline none: 100.00% of original diff. Added to recommended for readability.",
@@ -326,12 +274,6 @@ const manifestData = {
326
274
  notes: "Added to recommended for readability.",
327
275
  evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-02-06T14:45:47.110Z", "changedLines": 44, "durationSeconds": 167.840422062, "stableNames": 1358 } },
328
276
  },
329
- "rename-string-split-variables": {
330
- recommended: false,
331
- notes: "Superseded by rename-string-split-variables-v2, which also handles direct split results.",
332
- supersededBy: "rename-string-split-variables-v2",
333
- evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-27T06:41:49.624Z", "changedLines": 0, "durationSeconds": 149.03264720899998, "stableNames": 1357 } },
334
- },
335
277
  "rename-string-split-variables-v2": {
336
278
  recommended: true,
337
279
  notes: "Extends manual split helper renames to include direct split results. v2 helper modules are intentionally self-contained to match the project convention for versioned transforms.",
@@ -342,11 +284,6 @@ const manifestData = {
342
284
  notes: "Measured with baseline none: 0.00%. Improves readability by stabilizing `this` aliases used for closures.",
343
285
  evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:11:56.982Z", "changedLines": 1382, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 99.99622028196697 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.99622028196697, "evaluatedAt": "2026-01-25T23:30:05.259Z", "changedLines": 1382, "durationSeconds": 52.602296167, "stableNames": 1358 } },
344
286
  },
345
- "rename-timeout-duration-parameters": {
346
- recommended: false,
347
- notes: "Negative diff reduction; leaving out of recommended preset.",
348
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:12:50.886Z", "changedLines": 140, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:30:58.631Z", "changedLines": 140, "durationSeconds": 50.385009084, "stableNames": 1358 } },
349
- },
350
287
  "rename-timeout-ids": {
351
288
  recommended: true,
352
289
  notes: "Measured with baseline none: 0.00%. Added to recommended for readability.",
@@ -354,7 +291,7 @@ const manifestData = {
354
291
  },
355
292
  "rename-timeout-promises": {
356
293
  recommended: true,
357
- evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-02-06T12:55:01.018Z", "changedLines": 20, "durationSeconds": 227.12862355299998, "stableNames": 1358 } },
294
+ evaluations: { "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-02-07T11:09:11.126Z", "changedLines": 20, "durationSeconds": 212.701923797, "stableNames": 1358 } },
358
295
  },
359
296
  "rename-to-buffer-results": {
360
297
  recommended: true,
@@ -383,12 +320,6 @@ const manifestData = {
383
320
  notes: "Measured with baseline none: 0.00%. Added to recommended for readability.",
384
321
  evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-25T20:17:07.056Z", "changedLines": 218, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 99.99811014098348 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 99.99811014098348, "evaluatedAt": "2026-01-25T23:36:02.620Z", "changedLines": 218, "durationSeconds": 61.699322542000004, "stableNames": 1359 } },
385
322
  },
386
- "rename-use-reference-guards": {
387
- recommended: false,
388
- notes: "Superseded by rename-use-reference-guards-v2.",
389
- supersededBy: "rename-use-reference-guards-v2",
390
- evaluations: { "legacy:evaluation": { "evaluatedAt": "2026-01-22T17:03:19.826Z", "changedLines": 0, "durationSeconds": 0, "stableNames": 0, "diffSizePercent": 100 }, "claude-code-2.1.10:claude-code-2.1.11": { "diffSizePercent": 100, "evaluatedAt": "2026-01-25T23:36:57.889Z", "changedLines": 0, "durationSeconds": 51.11069466599999, "stableNames": 1357 } },
391
- },
392
323
  "rename-use-reference-guards-v2": {
393
324
  recommended: true,
394
325
  notes: "Supersedes rename-use-reference-guards and also covers guards that reset to false.",
@@ -1,7 +1,6 @@
1
1
  // THIS FILE IS AUTO-GENERATED. DO NOT EDIT.
2
2
  // Run `pnpm run build` to regenerate.
3
3
  import { expandBooleanLiteralsTransform } from "../expand-boolean-literals/expand-boolean-literals-transform.js";
4
- import { expandSequenceExpressionsV4Transform } from "../expand-sequence-expressions-v4/expand-sequence-expressions-v4-transform.js";
5
4
  import { expandSequenceExpressionsV5Transform } from "../expand-sequence-expressions-v5/expand-sequence-expressions-v5-transform.js";
6
5
  import { expandSpecialNumberLiteralsTransform } from "../expand-special-number-literals/expand-special-number-literals-transform.js";
7
6
  import { expandTypeofUndefinedComparisonsTransform } from "../expand-typeof-undefined-comparisons/expand-typeof-undefined-comparisons-transform.js";
@@ -15,13 +14,10 @@ import { renameAwaiterParametersTransform } from "../rename-awaiter-parameters/r
15
14
  import { renameBufferVariablesTransform } from "../rename-buffer-variables/rename-buffer-variables-transform.js";
16
15
  import { renameCatchParametersTransform } from "../rename-catch-parameters/rename-catch-parameters-transform.js";
17
16
  import { renameCharCodeAtTransform } from "../rename-char-code-at/rename-char-code-at-transform.js";
18
- import { renameCharcodeVariablesTransform } from "../rename-charcode-variables/rename-charcode-variables-transform.js";
19
17
  import { renameCharcodeVariablesV2Transform } from "../rename-charcode-variables-v2/rename-charcode-variables-v2-transform.js";
20
18
  import { renameClientAliasesTransform } from "../rename-client-aliases/rename-client-aliases-transform.js";
21
19
  import { renameComparisonFlagsTransform } from "../rename-comparison-flags/rename-comparison-flags-transform.js";
22
20
  import { renameDateNowStartTimesTransform } from "../rename-date-now-start-times/rename-date-now-start-times-transform.js";
23
- import { renameDefaultOptionsParametersTransform } from "../rename-default-options-parameters/rename-default-options-parameters-transform.js";
24
- import { renameDefaultOptionsParametersV2Transform } from "../rename-default-options-parameters-v2/rename-default-options-parameters-v2-transform.js";
25
21
  import { renameDefaultOptionsParametersV3Transform } from "../rename-default-options-parameters-v3/rename-default-options-parameters-v3-transform.js";
26
22
  import { renameDeferredResolveParametersTransform } from "../rename-deferred-resolve-parameters/rename-deferred-resolve-parameters-transform.js";
27
23
  import { renameDeferredResolveParametersV2Transform } from "../rename-deferred-resolve-parameters-v2/rename-deferred-resolve-parameters-v2-transform.js";
@@ -40,8 +36,6 @@ import { renameHttpServerParametersTransform } from "../rename-http-server-param
40
36
  import { renameIndexeddbRequestVariablesTransform } from "../rename-indexeddb-request-variables/rename-indexeddb-request-variables-transform.js";
41
37
  import { renameIntervalIdsTransform } from "../rename-interval-ids/rename-interval-ids-transform.js";
42
38
  import { renameInvalidParameterArgumentsTransform } from "../rename-invalid-parameter-arguments/rename-invalid-parameter-arguments-transform.js";
43
- import { renameLoopIndexVariablesTransform } from "../rename-loop-index-variables/rename-loop-index-variables-transform.js";
44
- import { renameLoopIndexVariablesV2Transform } from "../rename-loop-index-variables-v2/rename-loop-index-variables-v2-transform.js";
45
39
  import { renameLoopIndexVariablesV3Transform } from "../rename-loop-index-variables-v3/rename-loop-index-variables-v3-transform.js";
46
40
  import { renameLoopLengthVariablesTransform } from "../rename-loop-length-variables/rename-loop-length-variables-transform.js";
47
41
  import { renameObjectEntriesParametersTransform } from "../rename-object-entries-parameters/rename-object-entries-parameters-transform.js";
@@ -49,12 +43,10 @@ import { renameObjectKeysIteratorVariablesTransform } from "../rename-object-key
49
43
  import { renameObjectKeysReducerParametersTransform } from "../rename-object-keys-reducer-parameters/rename-object-keys-reducer-parameters-transform.js";
50
44
  import { renameObjectKeysVariablesTransform } from "../rename-object-keys-variables/rename-object-keys-variables-transform.js";
51
45
  import { renameObjectPropertyValueVariablesTransform } from "../rename-object-property-value-variables/rename-object-property-value-variables-transform.js";
52
- import { renameParametersToMatchPropertiesTransform } from "../rename-parameters-to-match-properties/rename-parameters-to-match-properties-transform.js";
53
46
  import { renameParametersToMatchPropertiesV2Transform } from "../rename-parameters-to-match-properties-v2/rename-parameters-to-match-properties-v2-transform.js";
54
47
  import { renamePlatformWin32FlagsTransform } from "../rename-platform-win32-flags/rename-platform-win32-flags-transform.js";
55
48
  import { renameProcessStdoutHandlersTransform } from "../rename-process-stdout-handlers/rename-process-stdout-handlers-transform.js";
56
49
  import { renamePromiseCatchParametersTransform } from "../rename-promise-catch-parameters/rename-promise-catch-parameters-transform.js";
57
- import { renamePromiseExecutorParametersTransform } from "../rename-promise-executor-parameters/rename-promise-executor-parameters-transform.js";
58
50
  import { renamePromiseExecutorParametersV2Transform } from "../rename-promise-executor-parameters-v2/rename-promise-executor-parameters-v2-transform.js";
59
51
  import { renameQueueTraversalVariablesTransform } from "../rename-queue-traversal-variables/rename-queue-traversal-variables-transform.js";
60
52
  import { renameRangeParametersTransform } from "../rename-range-parameters/rename-range-parameters-transform.js";
@@ -64,13 +56,10 @@ import { renameRegexSourceParametersTransform } from "../rename-regex-source-par
64
56
  import { renameReplaceChildParametersTransform } from "../rename-replace-child-parameters/rename-replace-child-parameters-transform.js";
65
57
  import { renameRestParametersTransform } from "../rename-rest-parameters/rename-rest-parameters-transform.js";
66
58
  import { renameRestPopCallbacksTransform } from "../rename-rest-pop-callbacks/rename-rest-pop-callbacks-transform.js";
67
- import { renameSafePropertyAccessorParametersTransform } from "../rename-safe-property-accessor-parameters/rename-safe-property-accessor-parameters-transform.js";
68
59
  import { renameSearchParametersVariablesTransform } from "../rename-search-parameters-variables/rename-search-parameters-variables-transform.js";
69
60
  import { renameSetstateUpdaterParametersTransform } from "../rename-setstate-updater-parameters/rename-setstate-updater-parameters-transform.js";
70
- import { renameStringSplitVariablesTransform } from "../rename-string-split-variables/rename-string-split-variables-transform.js";
71
61
  import { renameStringSplitVariablesV2Transform } from "../rename-string-split-variables-v2/rename-string-split-variables-v2-transform.js";
72
62
  import { renameThisAliasesTransform } from "../rename-this-aliases/rename-this-aliases-transform.js";
73
- import { renameTimeoutDurationParametersTransform } from "../rename-timeout-duration-parameters/rename-timeout-duration-parameters-transform.js";
74
63
  import { renameTimeoutIdsTransform } from "../rename-timeout-ids/rename-timeout-ids-transform.js";
75
64
  import { renameTimeoutPromisesTransform } from "../rename-timeout-promises/rename-timeout-promises-transform.js";
76
65
  import { renameToBufferResultsTransform } from "../rename-to-buffer-results/rename-to-buffer-results-transform.js";
@@ -79,7 +68,6 @@ import { renameTypescriptHelperAliasesTransform } from "../rename-typescript-hel
79
68
  import { renameUint8arrayConcatVariablesTransform } from "../rename-uint8array-concat-variables/rename-uint8array-concat-variables-transform.js";
80
69
  import { renameUrlParametersTransform } from "../rename-url-parameters/rename-url-parameters-transform.js";
81
70
  import { renameUrlVariablesTransform } from "../rename-url-variables/rename-url-variables-transform.js";
82
- import { renameUseReferenceGuardsTransform } from "../rename-use-reference-guards/rename-use-reference-guards-transform.js";
83
71
  import { renameUseReferenceGuardsV2Transform } from "../rename-use-reference-guards-v2/rename-use-reference-guards-v2-transform.js";
84
72
  import { renameUseReferenceSetsTransform } from "../rename-use-reference-sets/rename-use-reference-sets-transform.js";
85
73
  import { renameWorkerHandlesTransform } from "../rename-worker-handles/rename-worker-handles-transform.js";
@@ -97,7 +85,6 @@ import { useObjectShorthandTransform } from "../use-object-shorthand/use-object-
97
85
  import { useOptionalChainingTransform } from "../use-optional-chaining/use-optional-chaining-transform.js";
98
86
  export const transformRegistry = {
99
87
  [expandBooleanLiteralsTransform.id]: expandBooleanLiteralsTransform,
100
- [expandSequenceExpressionsV4Transform.id]: expandSequenceExpressionsV4Transform,
101
88
  [expandSequenceExpressionsV5Transform.id]: expandSequenceExpressionsV5Transform,
102
89
  [expandSpecialNumberLiteralsTransform.id]: expandSpecialNumberLiteralsTransform,
103
90
  [expandTypeofUndefinedComparisonsTransform.id]: expandTypeofUndefinedComparisonsTransform,
@@ -111,13 +98,10 @@ export const transformRegistry = {
111
98
  [renameBufferVariablesTransform.id]: renameBufferVariablesTransform,
112
99
  [renameCatchParametersTransform.id]: renameCatchParametersTransform,
113
100
  [renameCharCodeAtTransform.id]: renameCharCodeAtTransform,
114
- [renameCharcodeVariablesTransform.id]: renameCharcodeVariablesTransform,
115
101
  [renameCharcodeVariablesV2Transform.id]: renameCharcodeVariablesV2Transform,
116
102
  [renameClientAliasesTransform.id]: renameClientAliasesTransform,
117
103
  [renameComparisonFlagsTransform.id]: renameComparisonFlagsTransform,
118
104
  [renameDateNowStartTimesTransform.id]: renameDateNowStartTimesTransform,
119
- [renameDefaultOptionsParametersTransform.id]: renameDefaultOptionsParametersTransform,
120
- [renameDefaultOptionsParametersV2Transform.id]: renameDefaultOptionsParametersV2Transform,
121
105
  [renameDefaultOptionsParametersV3Transform.id]: renameDefaultOptionsParametersV3Transform,
122
106
  [renameDeferredResolveParametersTransform.id]: renameDeferredResolveParametersTransform,
123
107
  [renameDeferredResolveParametersV2Transform.id]: renameDeferredResolveParametersV2Transform,
@@ -136,8 +120,6 @@ export const transformRegistry = {
136
120
  [renameIndexeddbRequestVariablesTransform.id]: renameIndexeddbRequestVariablesTransform,
137
121
  [renameIntervalIdsTransform.id]: renameIntervalIdsTransform,
138
122
  [renameInvalidParameterArgumentsTransform.id]: renameInvalidParameterArgumentsTransform,
139
- [renameLoopIndexVariablesTransform.id]: renameLoopIndexVariablesTransform,
140
- [renameLoopIndexVariablesV2Transform.id]: renameLoopIndexVariablesV2Transform,
141
123
  [renameLoopIndexVariablesV3Transform.id]: renameLoopIndexVariablesV3Transform,
142
124
  [renameLoopLengthVariablesTransform.id]: renameLoopLengthVariablesTransform,
143
125
  [renameObjectEntriesParametersTransform.id]: renameObjectEntriesParametersTransform,
@@ -145,12 +127,10 @@ export const transformRegistry = {
145
127
  [renameObjectKeysReducerParametersTransform.id]: renameObjectKeysReducerParametersTransform,
146
128
  [renameObjectKeysVariablesTransform.id]: renameObjectKeysVariablesTransform,
147
129
  [renameObjectPropertyValueVariablesTransform.id]: renameObjectPropertyValueVariablesTransform,
148
- [renameParametersToMatchPropertiesTransform.id]: renameParametersToMatchPropertiesTransform,
149
130
  [renameParametersToMatchPropertiesV2Transform.id]: renameParametersToMatchPropertiesV2Transform,
150
131
  [renamePlatformWin32FlagsTransform.id]: renamePlatformWin32FlagsTransform,
151
132
  [renameProcessStdoutHandlersTransform.id]: renameProcessStdoutHandlersTransform,
152
133
  [renamePromiseCatchParametersTransform.id]: renamePromiseCatchParametersTransform,
153
- [renamePromiseExecutorParametersTransform.id]: renamePromiseExecutorParametersTransform,
154
134
  [renamePromiseExecutorParametersV2Transform.id]: renamePromiseExecutorParametersV2Transform,
155
135
  [renameQueueTraversalVariablesTransform.id]: renameQueueTraversalVariablesTransform,
156
136
  [renameRangeParametersTransform.id]: renameRangeParametersTransform,
@@ -160,13 +140,10 @@ export const transformRegistry = {
160
140
  [renameReplaceChildParametersTransform.id]: renameReplaceChildParametersTransform,
161
141
  [renameRestParametersTransform.id]: renameRestParametersTransform,
162
142
  [renameRestPopCallbacksTransform.id]: renameRestPopCallbacksTransform,
163
- [renameSafePropertyAccessorParametersTransform.id]: renameSafePropertyAccessorParametersTransform,
164
143
  [renameSearchParametersVariablesTransform.id]: renameSearchParametersVariablesTransform,
165
144
  [renameSetstateUpdaterParametersTransform.id]: renameSetstateUpdaterParametersTransform,
166
- [renameStringSplitVariablesTransform.id]: renameStringSplitVariablesTransform,
167
145
  [renameStringSplitVariablesV2Transform.id]: renameStringSplitVariablesV2Transform,
168
146
  [renameThisAliasesTransform.id]: renameThisAliasesTransform,
169
- [renameTimeoutDurationParametersTransform.id]: renameTimeoutDurationParametersTransform,
170
147
  [renameTimeoutIdsTransform.id]: renameTimeoutIdsTransform,
171
148
  [renameTimeoutPromisesTransform.id]: renameTimeoutPromisesTransform,
172
149
  [renameToBufferResultsTransform.id]: renameToBufferResultsTransform,
@@ -175,7 +152,6 @@ export const transformRegistry = {
175
152
  [renameUint8arrayConcatVariablesTransform.id]: renameUint8arrayConcatVariablesTransform,
176
153
  [renameUrlParametersTransform.id]: renameUrlParametersTransform,
177
154
  [renameUrlVariablesTransform.id]: renameUrlVariablesTransform,
178
- [renameUseReferenceGuardsTransform.id]: renameUseReferenceGuardsTransform,
179
155
  [renameUseReferenceGuardsV2Transform.id]: renameUseReferenceGuardsV2Transform,
180
156
  [renameUseReferenceSetsTransform.id]: renameUseReferenceSetsTransform,
181
157
  [renameWorkerHandlesTransform.id]: renameWorkerHandlesTransform,