workspace-tools 0.41.0 → 0.41.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 (160) hide show
  1. package/README.md +1 -1
  2. package/lib/dependencies/index.d.ts +2 -2
  3. package/lib/dependencies/index.js +31 -12
  4. package/lib/dependencies/index.js.map +1 -1
  5. package/lib/dependencies/transitiveDeps.d.ts +1 -1
  6. package/lib/dependencies/transitiveDeps.js +59 -38
  7. package/lib/dependencies/transitiveDeps.js.map +1 -1
  8. package/lib/getPackageInfo.d.ts +1 -1
  9. package/lib/getPackageInfo.js +46 -40
  10. package/lib/getPackageInfo.js.map +1 -1
  11. package/lib/getPackageInfos.d.ts +4 -2
  12. package/lib/getPackageInfos.js +35 -53
  13. package/lib/getPackageInfos.js.map +1 -1
  14. package/lib/git/config.d.ts +1 -1
  15. package/lib/git/config.js +15 -12
  16. package/lib/git/config.js.map +1 -1
  17. package/lib/git/getDefaultRemote.js +45 -30
  18. package/lib/git/getDefaultRemote.js.map +1 -1
  19. package/lib/git/getDefaultRemoteBranch.d.ts +1 -1
  20. package/lib/git/getDefaultRemoteBranch.js +35 -24
  21. package/lib/git/getDefaultRemoteBranch.js.map +1 -1
  22. package/lib/git/getRepositoryName.d.ts +1 -1
  23. package/lib/git/getRepositoryName.js +17 -19
  24. package/lib/git/getRepositoryName.js.map +1 -1
  25. package/lib/git/git.d.ts +2 -5
  26. package/lib/git/git.js +62 -64
  27. package/lib/git/git.js.map +1 -1
  28. package/lib/git/gitUtilities.d.ts +3 -3
  29. package/lib/git/gitUtilities.js +377 -147
  30. package/lib/git/gitUtilities.js.map +1 -1
  31. package/lib/git/index.d.ts +5 -5
  32. package/lib/git/index.js +50 -28
  33. package/lib/git/index.js.map +1 -1
  34. package/lib/git/types.js +4 -3
  35. package/lib/git/types.js.map +1 -1
  36. package/lib/graph/createDependencyMap.d.ts +2 -2
  37. package/lib/graph/createDependencyMap.js +18 -18
  38. package/lib/graph/createDependencyMap.js.map +1 -1
  39. package/lib/graph/createPackageGraph.d.ts +3 -3
  40. package/lib/graph/createPackageGraph.js +58 -45
  41. package/lib/graph/createPackageGraph.js.map +1 -1
  42. package/lib/graph/getPackageDependencies.d.ts +1 -1
  43. package/lib/graph/getPackageDependencies.js +17 -17
  44. package/lib/graph/getPackageDependencies.js.map +1 -1
  45. package/lib/graph/index.d.ts +4 -4
  46. package/lib/graph/index.js +25 -27
  47. package/lib/graph/index.js.map +1 -1
  48. package/lib/index.d.ts +29 -26
  49. package/lib/index.js +154 -70
  50. package/lib/index.js.map +1 -1
  51. package/lib/isCachingEnabled.js +17 -6
  52. package/lib/isCachingEnabled.js.map +1 -1
  53. package/lib/lockfile/nameAtVersion.js +9 -4
  54. package/lib/lockfile/nameAtVersion.js.map +1 -1
  55. package/lib/lockfile/parseBerryLock.d.ts +1 -1
  56. package/lib/lockfile/parseBerryLock.js +13 -11
  57. package/lib/lockfile/parseBerryLock.js.map +1 -1
  58. package/lib/lockfile/parseLockFile.d.ts +2 -0
  59. package/lib/lockfile/parseLockFile.js +87 -0
  60. package/lib/lockfile/parseLockFile.js.map +1 -0
  61. package/lib/lockfile/parseNpmLock.d.ts +1 -1
  62. package/lib/lockfile/parseNpmLock.js +15 -7
  63. package/lib/lockfile/parseNpmLock.js.map +1 -1
  64. package/lib/lockfile/parsePnpmLock.d.ts +1 -1
  65. package/lib/lockfile/parsePnpmLock.js +14 -9
  66. package/lib/lockfile/parsePnpmLock.js.map +1 -1
  67. package/lib/lockfile/queryLockFile.d.ts +1 -1
  68. package/lib/lockfile/queryLockFile.js +11 -6
  69. package/lib/lockfile/queryLockFile.js.map +1 -1
  70. package/lib/lockfile/readYaml.js +17 -9
  71. package/lib/lockfile/readYaml.js.map +1 -1
  72. package/lib/lockfile/types.js +3 -2
  73. package/lib/lockfile/types.js.map +1 -1
  74. package/lib/logging.js +10 -6
  75. package/lib/logging.js.map +1 -1
  76. package/lib/paths.d.ts +1 -1
  77. package/lib/paths.js +59 -59
  78. package/lib/paths.js.map +1 -1
  79. package/lib/scope.js +30 -21
  80. package/lib/scope.js.map +1 -1
  81. package/lib/types/Catalogs.js +8 -3
  82. package/lib/types/Catalogs.js.map +1 -1
  83. package/lib/types/PackageGraph.js +4 -3
  84. package/lib/types/PackageGraph.js.map +1 -1
  85. package/lib/types/PackageInfo.d.ts +1 -1
  86. package/lib/types/PackageInfo.js +3 -2
  87. package/lib/types/PackageInfo.js.map +1 -1
  88. package/lib/types/WorkspaceInfo.d.ts +1 -1
  89. package/lib/types/WorkspaceInfo.js +3 -2
  90. package/lib/types/WorkspaceInfo.js.map +1 -1
  91. package/lib/types/WorkspaceManager.js +3 -2
  92. package/lib/types/WorkspaceManager.js.map +1 -1
  93. package/lib/workspaces/catalogsToYaml.d.ts +1 -1
  94. package/lib/workspaces/catalogsToYaml.js +12 -10
  95. package/lib/workspaces/catalogsToYaml.js.map +1 -1
  96. package/lib/workspaces/findWorkspacePath.d.ts +2 -1
  97. package/lib/workspaces/findWorkspacePath.js +10 -12
  98. package/lib/workspaces/findWorkspacePath.js.map +1 -1
  99. package/lib/workspaces/getAllPackageJsonFiles.js +32 -28
  100. package/lib/workspaces/getAllPackageJsonFiles.js.map +1 -1
  101. package/lib/workspaces/getCatalogVersion.d.ts +1 -1
  102. package/lib/workspaces/getCatalogVersion.js +19 -32
  103. package/lib/workspaces/getCatalogVersion.js.map +1 -1
  104. package/lib/workspaces/getCatalogs.d.ts +2 -2
  105. package/lib/workspaces/getCatalogs.js +17 -22
  106. package/lib/workspaces/getCatalogs.js.map +1 -1
  107. package/lib/workspaces/getChangedPackages.d.ts +1 -1
  108. package/lib/workspaces/getChangedPackages.js +47 -30
  109. package/lib/workspaces/getChangedPackages.js.map +1 -1
  110. package/lib/workspaces/getPackagesByFiles.js +29 -24
  111. package/lib/workspaces/getPackagesByFiles.js.map +1 -1
  112. package/lib/workspaces/getWorkspaceInfos.d.ts +2 -2
  113. package/lib/workspaces/getWorkspaceInfos.js +43 -58
  114. package/lib/workspaces/getWorkspaceInfos.js.map +1 -1
  115. package/lib/workspaces/getWorkspaceManagerRoot.d.ts +1 -1
  116. package/lib/workspaces/getWorkspaceManagerRoot.js +16 -13
  117. package/lib/workspaces/getWorkspaceManagerRoot.js.map +1 -1
  118. package/lib/workspaces/getWorkspacePackagePaths.d.ts +1 -1
  119. package/lib/workspaces/getWorkspacePackagePaths.js +86 -72
  120. package/lib/workspaces/getWorkspacePackagePaths.js.map +1 -1
  121. package/lib/workspaces/getWorkspacePatterns.d.ts +1 -1
  122. package/lib/workspaces/getWorkspacePatterns.js +18 -20
  123. package/lib/workspaces/getWorkspacePatterns.js.map +1 -1
  124. package/lib/workspaces/implementations/WorkspaceUtilities.d.ts +1 -1
  125. package/lib/workspaces/implementations/WorkspaceUtilities.js +3 -2
  126. package/lib/workspaces/implementations/WorkspaceUtilities.js.map +1 -1
  127. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.d.ts +1 -1
  128. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js +24 -22
  129. package/lib/workspaces/implementations/getPackageJsonWorkspacePatterns.js.map +1 -1
  130. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.d.ts +1 -1
  131. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js +38 -43
  132. package/lib/workspaces/implementations/getWorkspaceManagerAndRoot.js.map +1 -1
  133. package/lib/workspaces/implementations/getWorkspaceUtilities.d.ts +2 -2
  134. package/lib/workspaces/implementations/getWorkspaceUtilities.js +25 -13
  135. package/lib/workspaces/implementations/getWorkspaceUtilities.js.map +1 -1
  136. package/lib/workspaces/implementations/index.d.ts +2 -2
  137. package/lib/workspaces/implementations/index.js +19 -7
  138. package/lib/workspaces/implementations/index.js.map +1 -1
  139. package/lib/workspaces/implementations/lerna.d.ts +1 -1
  140. package/lib/workspaces/implementations/lerna.js +55 -31
  141. package/lib/workspaces/implementations/lerna.js.map +1 -1
  142. package/lib/workspaces/implementations/npm.d.ts +1 -1
  143. package/lib/workspaces/implementations/npm.js +12 -7
  144. package/lib/workspaces/implementations/npm.js.map +1 -1
  145. package/lib/workspaces/implementations/pnpm.d.ts +1 -1
  146. package/lib/workspaces/implementations/pnpm.js +28 -17
  147. package/lib/workspaces/implementations/pnpm.js.map +1 -1
  148. package/lib/workspaces/implementations/rush.d.ts +1 -1
  149. package/lib/workspaces/implementations/rush.js +27 -16
  150. package/lib/workspaces/implementations/rush.js.map +1 -1
  151. package/lib/workspaces/implementations/yarn.d.ts +1 -1
  152. package/lib/workspaces/implementations/yarn.js +34 -26
  153. package/lib/workspaces/implementations/yarn.js.map +1 -1
  154. package/lib/workspaces/wrapWorkspaceUtility.d.ts +1 -1
  155. package/lib/workspaces/wrapWorkspaceUtility.js +25 -27
  156. package/lib/workspaces/wrapWorkspaceUtility.js.map +1 -1
  157. package/package.json +21 -12
  158. package/lib/lockfile/index.d.ts +0 -6
  159. package/lib/lockfile/index.js +0 -105
  160. package/lib/lockfile/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gitUtilities.js","sourceRoot":"","sources":["../../src/git/gitUtilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/git/gitUtilities.ts"],"sourcesContent":["//\n// Assorted other git utilities\n// (could be split into separate files later if desired)\n//\n\nimport { getConfigValue } from \"./config.js\";\nimport { git, processGitOutput } from \"./git.js\";\nimport type {\n GetChangesBetweenRefsOptions,\n GitBranchOptions,\n GitCommitOptions,\n GitCommonOptions,\n GitFetchOptions,\n GitInitOptions,\n GitStageOptions,\n ParsedRemoteBranch,\n ParseRemoteBranchOptions,\n} from \"./types.js\";\n\nconst diffArgs = [\"--no-pager\", \"diff\", \"--name-only\", \"--relative\"];\n\n/**\n * Get a list of files with untracked changes.\n * Throws an error on failure by default.\n *\n * @returns An array of file paths with untracked changes\n */\n// TODO: move to getChanges.ts\nexport function getUntrackedChanges(options: GitCommonOptions): string[];\n/** @deprecated Use object params version */\nexport function getUntrackedChanges(cwd: string): string[];\nexport function getUntrackedChanges(cwdOrOptions: string | GitCommonOptions): string[] {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const results = git([\"ls-files\", \"--others\", \"--exclude-standard\"], {\n description: \"Gathering information about untracked changes\",\n throwOnError: true,\n ...options,\n });\n return processGitOutput(results, { excludeNodeModules: true });\n}\n\n/**\n * Fetch from the given remote (and optionally branch) or all remotes.\n * Throws an error on failure by default.\n */\n// TODO: move to fetch.ts\nexport function fetchRemote(options: GitFetchOptions): void;\n/** @deprecated Use object params version */\nexport function fetchRemote(remote: string, cwd: string): void;\nexport function fetchRemote(remoteOrOptions: string | GitFetchOptions, cwd?: string): void {\n const { remote, remoteBranch, options, ...gitOptions } =\n typeof remoteOrOptions === \"string\"\n ? ({ remote: remoteOrOptions, cwd: cwd! } satisfies GitFetchOptions)\n : remoteOrOptions;\n\n if (remoteBranch && !remote) {\n throw new Error('Must provide \"remote\" when using \"remoteBranch\" option');\n }\n\n const fetchArgs = [\n \"fetch\",\n \"--\",\n ...(remote ? [remote] : []),\n ...(remoteBranch ? [remoteBranch] : []),\n ...(options || []),\n ];\n\n git(fetchArgs, {\n description: remote\n ? `Fetching ${remoteBranch ? `branch \"${remoteBranch}\" from ` : \"\"}remote \"${remote}\"`\n : \"Fetching all remotes\",\n throwOnError: true,\n ...gitOptions,\n });\n}\n\n/**\n * Fetch from the given remote and branch. Throws an error on failure.\n * @deprecated Use `fetchRemote({ remote, remoteBranch, cwd })`\n */\n// TODO: move to fetch.ts\nexport function fetchRemoteBranch(remote: string, remoteBranch: string, cwd: string): void {\n fetchRemote({ remote, remoteBranch, cwd, throwOnError: true });\n}\n\n/**\n * Gets file paths with changes that have not been staged yet.\n * Throws an error on failure by default.\n *\n * @returns An array of relative file paths with unstaged changes\n */\n// TODO: move to getChanges.ts\nexport function getUnstagedChanges(options: GitCommonOptions): string[];\n/** @deprecated Use object params version */\nexport function getUnstagedChanges(cwd: string): string[];\nexport function getUnstagedChanges(cwdOrOptions: string | GitCommonOptions): string[] {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const results = git(diffArgs, {\n description: \"Gathering information about unstaged changes\",\n throwOnError: true,\n ...options,\n });\n return processGitOutput(results, { excludeNodeModules: true });\n}\n\n/**\n * Gets file paths with changes between the current branch and the given branch.\n * Throws an error on failure.\n *\n * @returns An array of relative file paths that have changed\n * @deprecated Use `getBranchChanges({ branch, cwd })`\n */\n// TODO: move to getChanges.ts\nexport function getChanges(branch: string, cwd: string): string[] {\n return getChangesBetweenRefs({ fromRef: branch, cwd, throwOnError: true });\n}\n\n/**\n * Gets file paths with changes between the branch and the merge-base.\n * Throws an error on failure by default.\n *\n * @returns An array of relative file paths that have changed\n */\n// TODO: move to getChanges.ts\nexport function getBranchChanges(options: GitBranchOptions): string[];\n/** @deprecated Use object params version */\nexport function getBranchChanges(branch: string, cwd: string): string[];\nexport function getBranchChanges(branchOrOptions: string | GitBranchOptions, cwd?: string): string[] {\n const { branch, ...options } =\n typeof branchOrOptions === \"string\" ? { branch: branchOrOptions, cwd: cwd! } : branchOrOptions;\n\n return getChangesBetweenRefs({ fromRef: branch, throwOnError: true, ...options });\n}\n\n/**\n * Gets file paths with changes between two git references (commits, branches, tags).\n * Throws an error on failure by default.\n *\n * @returns An array of file paths that have changed\n */\n// TODO: move to getChanges.ts\nexport function getChangesBetweenRefs(options: GetChangesBetweenRefsOptions): string[];\n/** @deprecated Use object param version */\nexport function getChangesBetweenRefs(\n fromRef: string,\n toRef: string,\n options: string[],\n pattern: string,\n cwd: string\n): string[];\nexport function getChangesBetweenRefs(\n fromRef: string | GetChangesBetweenRefsOptions,\n toRef?: string,\n options?: string[],\n pattern?: string,\n cwd?: string\n): string[] {\n let gitOptions: GitCommonOptions;\n if (typeof fromRef === \"string\") {\n gitOptions = { cwd: cwd! };\n } else {\n ({ fromRef, toRef, options, pattern, ...gitOptions } = fromRef);\n }\n\n const range = `${fromRef}...${toRef || \"\"}`;\n const results = git([...diffArgs, ...(options || []), range, ...(pattern ? [\"--\", pattern] : [])], {\n description: `Gathering information about changes between refs (${range})`,\n throwOnError: true,\n ...gitOptions,\n });\n return processGitOutput(results, { excludeNodeModules: true });\n}\n\n/**\n * Gets all files with staged changes (files added to the index).\n * Throws an error on failure by default.\n *\n * @returns An array of relative file paths that have been staged\n */\n// TODO: move to getChanges.ts\nexport function getStagedChanges(options: GitCommonOptions): string[];\n/** @deprecated Use object params version */\nexport function getStagedChanges(cwd: string): string[];\nexport function getStagedChanges(cwdOrOptions: string | GitCommonOptions): string[] {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const results = git([...diffArgs, \"--staged\"], {\n description: \"Gathering information about staged changes\",\n throwOnError: true,\n ...options,\n });\n return processGitOutput(results, { excludeNodeModules: true });\n}\n\n/**\n * Gets recent commit messages between the specified parent branch and HEAD.\n * By default, returns an empty array if the operation fails.\n *\n * @returns An array of commit message strings\n */\n// TODO: move to history.ts\nexport function getRecentCommitMessages(options: GitBranchOptions): string[];\n/** @deprecated Use object params version */\nexport function getRecentCommitMessages(branch: string, cwd: string): string[];\nexport function getRecentCommitMessages(branchOrOptions: string | GitBranchOptions, cwd?: string): string[] {\n const { branch, ...options } =\n typeof branchOrOptions === \"string\" ? { branch: branchOrOptions, cwd: cwd! } : branchOrOptions;\n\n const results = git([\"log\", \"--decorate\", \"--pretty=format:%s\", `${branch}..HEAD`], {\n description: `Getting recent commit messages for branch \"${branch}\"`,\n ...options,\n });\n return processGitOutput(results);\n}\n\n/**\n * Gets the user email from the git config.\n * @returns The email string if found, null otherwise\n */\n// TODO: move to config.ts\nexport function getUserEmail(options: GitCommonOptions): string | null;\n/** @deprecated Use object params version */\nexport function getUserEmail(cwd: string): string | null;\nexport function getUserEmail(cwdOrOptions: string | GitCommonOptions): string | null {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n return getConfigValue({ key: \"user.email\", ...options });\n}\n\n/**\n * Gets the current branch name.\n * In detached HEAD state, returns \"HEAD\".\n *\n * @returns The branch name if successful, null otherwise\n */\n// TODO: move to refs.ts\nexport function getBranchName(options: GitCommonOptions): string | null;\n/** @deprecated Use object params version */\nexport function getBranchName(cwd: string): string | null;\nexport function getBranchName(cwdOrOptions: string | GitCommonOptions): string | null {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const results = git([\"rev-parse\", \"--abbrev-ref\", \"HEAD\"], {\n description: \"Getting current branch name\",\n ...options,\n });\n return results.success ? results.stdout : null;\n}\n\n/**\n * Gets the full reference path for a given branch.\n * `branch` here is the short branch name, e.g. `branch-name`.\n * @returns The full branch reference (e.g., `refs/heads/branch-name`) if found, null otherwise\n */\n// TODO: move to refs.ts\nexport function getFullBranchRef(options: GitBranchOptions): string | null;\n/** @deprecated Use object params version */\nexport function getFullBranchRef(branch: string, cwd: string): string | null;\nexport function getFullBranchRef(branchOrOptions: string | GitBranchOptions, cwd?: string): string | null {\n const { branch, ...options } =\n typeof branchOrOptions === \"string\" ? { branch: branchOrOptions, cwd: cwd! } : branchOrOptions;\n\n const showRefResults = git([\"show-ref\", \"--heads\", branch], options);\n\n return showRefResults.success ? showRefResults.stdout.split(\" \")[1] : null;\n}\n\n/**\n * Gets the short branch name from a full branch reference.\n * @returns The short branch name if successful, null otherwise\n */\n// TODO: move to refs.ts\nexport function getShortBranchName(\n options: {\n /** The full branch reference (e.g., `refs/heads/branch-name`) */\n fullBranchRef: string;\n } & GitCommonOptions\n): string | null;\n/** @deprecated Use object params version */\nexport function getShortBranchName(fullBranchRef: string, cwd: string): string | null;\nexport function getShortBranchName(\n refOrOptions: string | ({ fullBranchRef: string } & GitCommonOptions),\n cwd?: string\n): string | null {\n const { fullBranchRef, ...options } =\n typeof refOrOptions === \"string\" ? { fullBranchRef: refOrOptions, cwd: cwd! } : refOrOptions;\n\n // The original command `git name-rev --name-only` returned unreliable results if multiple\n // named refs point to the same commit as the branch.\n const showRefResults = git([\"rev-parse\", \"--abbrev-ref\", fullBranchRef], options);\n\n return showRefResults.success ? showRefResults.stdout || null : null;\n}\n\n/**\n * Gets the current commit hash (SHA).\n * @returns The hash if successful, null otherwise\n */\n// TODO: move to refs.ts\nexport function getCurrentHash(options: GitCommonOptions): string | null;\n/** @deprecated Use object params version */\nexport function getCurrentHash(cwd: string): string | null;\nexport function getCurrentHash(cwdOrOptions: string | GitCommonOptions): string | null {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const results = git([\"rev-parse\", \"HEAD\"], {\n description: \"Getting current git hash\",\n ...options,\n });\n\n return results.success ? results.stdout : null;\n}\n\n/**\n * Get the commit hash in which the file was first added.\n * @returns The commit hash if found, undefined otherwise\n */\n// TODO: move to history.ts\nexport function getFileAddedHash(options: { filename: string } & GitCommonOptions): string | undefined;\n/** @deprecated Use object params version */\nexport function getFileAddedHash(filename: string, cwd: string): string | undefined;\nexport function getFileAddedHash(\n filenameOrOptions: string | ({ filename: string } & GitCommonOptions),\n cwd?: string\n): string | undefined {\n const { filename, ...options } =\n typeof filenameOrOptions === \"string\" ? { filename: filenameOrOptions, cwd: cwd! } : filenameOrOptions;\n\n const results = git([\"rev-list\", \"--max-count=1\", \"HEAD\", filename], options);\n\n return results.success ? results.stdout.trim() : undefined;\n}\n\n/**\n * Run `git init` and verify that the `user.name` and `user.email` configs are set (at any level).\n * Throws an error if `git init` fails.\n *\n * If `user.email` and `user.name` aren't already set globally, and the missing value is provided\n * in params, set it at the repo level. Otherwise, throw an error.\n */\n// TODO: move to init.ts\nexport function init(options: GitInitOptions): void;\n/** @deprecated Use object params version */\nexport function init(cwd: string, email?: string, username?: string): void;\nexport function init(cwdOrOptions: string | GitInitOptions, _email?: string, _username?: string): void {\n const { email, username, ...options } =\n typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions, email: _email, username: _username } : cwdOrOptions;\n\n git([\"init\"], { ...options, throwOnError: true });\n\n if (!getConfigValue({ key: \"user.name\", ...options })) {\n if (!username) {\n throw new Error(\"must include a username when initializing git repo\");\n }\n git([\"config\", \"user.name\", username], options);\n }\n\n if (!getUserEmail(options)) {\n if (!email) {\n throw new Error(\"must include a email when initializing git repo\");\n }\n git([\"config\", \"user.email\", email], options);\n }\n}\n\n/**\n * Stages files matching the given patterns.\n */\n// TODO: move to stageAndCommit.ts\nexport function stage(options: GitStageOptions): void;\n/** @deprecated Use object params version */\nexport function stage(patterns: string[], cwd: string): void;\nexport function stage(patternsOrOptions: string[] | GitStageOptions, cwd?: string): void {\n const { patterns, ...options } = Array.isArray(patternsOrOptions)\n ? { patterns: patternsOrOptions, cwd: cwd! }\n : patternsOrOptions;\n\n for (const pattern of patterns) {\n git([\"add\", pattern], { ...options, description: `Staging changes (git add ${pattern})` });\n }\n}\n\n/**\n * Commit changes. Throws an error on failure by default.\n */\n// TODO: move to stageAndCommit.ts\nexport function commit(options: GitCommitOptions): void;\n/** @deprecated Use object params version */\nexport function commit(message: string, cwd: string, options?: string[]): void;\nexport function commit(messageOrOptions: string | GitCommitOptions, _cwd?: string, _options?: string[]): void {\n const { message, options, ...gitOptions } =\n typeof messageOrOptions === \"string\"\n ? { message: messageOrOptions, cwd: _cwd!, options: _options }\n : messageOrOptions;\n\n git([\"commit\", \"-m\", message, ...(options || [])], {\n throwOnError: true,\n description: \"Committing changes\",\n ...gitOptions,\n });\n}\n\n/**\n * Stages files matching the given patterns and creates a commit with the specified message.\n * Convenience function that combines `stage()` and `commit()`.\n * Throws an error on commit failure by default.\n */\n// TODO: move to stageAndCommit.ts\nexport function stageAndCommit(options: GitStageOptions & GitCommitOptions): void;\n/** @deprecated Use object params version */\nexport function stageAndCommit(patterns: string[], message: string, cwd: string, commitOptions?: string[]): void;\nexport function stageAndCommit(\n patternsOrOptions: string[] | (GitStageOptions & GitCommitOptions),\n message?: string,\n cwd?: string,\n commitOptions?: string[]\n): void {\n const options: GitStageOptions & GitCommitOptions = Array.isArray(patternsOrOptions)\n ? { patterns: patternsOrOptions, message: message!, cwd: cwd!, options: commitOptions }\n : patternsOrOptions;\n\n stage(options);\n commit(options);\n}\n\n/**\n * Reverts all local changes (both staged and unstaged) by stashing them and then dropping the stash.\n * @returns True if the revert was successful, false otherwise. It will also be false if there were\n * no changes to revert. (To distinguish between this case and errors, use the `throwOnError` option.)\n */\n// TODO: move to revertLocalChanges.ts\nexport function revertLocalChanges(options: GitCommonOptions): boolean;\n/** @deprecated Use object params version */\nexport function revertLocalChanges(cwd: string): boolean;\nexport function revertLocalChanges(cwdOrOptions: string | GitCommonOptions): boolean {\n const options: GitCommonOptions = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n const stash = `workspace-tools_${new Date().getTime()}`;\n if (!git([\"stash\", \"push\", \"-u\", \"-m\", stash], options).success) {\n return false;\n }\n\n const results = git([\"stash\", \"list\"], options);\n if (results.success) {\n const matched = results.stdout\n .split(/\\n/)\n .find((line) => line.includes(stash))\n ?.match(/^[^:]+/);\n\n if (matched) {\n git([\"stash\", \"drop\", matched[0]], options);\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Attempts to determine the parent branch of the current branch using `git show-branch`.\n * @returns The parent branch name if found, null otherwise\n * @deprecated Does not appear to be used\n */\nexport function getParentBranch(cwd: string): string | null {\n const branchName = getBranchName({ cwd });\n\n if (!branchName || branchName === \"HEAD\") {\n return null;\n }\n\n const showBranchResult = git([\"show-branch\", \"-a\"], { cwd });\n\n if (showBranchResult.success) {\n const showBranchLines = showBranchResult.stdout.split(/\\n/);\n const parentLine = showBranchLines.find(\n (line) => line.includes(\"*\") && !line.includes(branchName) && !line.includes(\"publish_\")\n );\n\n const matched = parentLine?.match(/\\[(.*)\\]/);\n return matched ? matched[1] : null;\n }\n\n return null;\n}\n\n/**\n * Gets the remote tracking branch for the specified branch.\n *\n * @returns The remote branch name (e.g., `origin/main`) if found, null otherwise\n */\n// TODO: move to refs.ts\nexport function getRemoteBranch(options: GitBranchOptions): string | null;\n/** @deprecated Use object params version */\nexport function getRemoteBranch(branch: string, cwd: string): string | null;\nexport function getRemoteBranch(branchOrOptions: string | GitBranchOptions, cwd?: string): string | null {\n const options: GitBranchOptions =\n typeof branchOrOptions === \"string\" ? { branch: branchOrOptions, cwd: cwd! } : branchOrOptions;\n\n const results = git([\"rev-parse\", \"--abbrev-ref\", \"--symbolic-full-name\", `${options.branch}@{u}`], options);\n\n return results.success ? results.stdout.trim() : null;\n}\n\n/**\n * Get the remote and branch name from a full branch name that may include a remote prefix.\n * If the path doesn't start with one of `options.knownRemotes` (but has multiple segments),\n * the actual list of remotes will be fetched to see if one of those matches.\n *\n * NOTE: The additional verification is new in the object params version; the original version\n * incorrectly assumes the first segment before a slash is always a remote.\n */\n// TODO: move to parseRemoteBranch.ts\nexport function parseRemoteBranch(options: ParseRemoteBranchOptions): ParsedRemoteBranch;\n/**\n * @deprecated Use object params version, which does more verification. This version inaccurately\n * assumes the first segment before a slash is always a remote, which could lead to tricky bugs.\n */\nexport function parseRemoteBranch(branch: string): ParsedRemoteBranch;\nexport function parseRemoteBranch(branchOrOptions: string | ParseRemoteBranchOptions): ParsedRemoteBranch {\n if (typeof branchOrOptions === \"string\") {\n const branch = branchOrOptions;\n const firstSlashPos = branch.indexOf(\"/\", 0);\n return {\n remote: branch.substring(0, firstSlashPos),\n remoteBranch: branch.substring(firstSlashPos + 1),\n };\n }\n\n const { branch, knownRemotes = [\"origin\", \"upstream\"], ...options } = branchOrOptions;\n\n if (!branch.includes(\"/\")) {\n return { remote: \"\", remoteBranch: branch };\n }\n\n let remote = knownRemotes.find((r) => branch.startsWith(`${r}/`));\n\n if (!remote) {\n const remotes = git([\"remote\"], options).stdout.trim().split(/\\n/);\n remote = remotes.find((r) => branch.startsWith(`${r}/`));\n }\n\n if (remote) {\n return { remote, remoteBranch: branch.slice(remote.length + 1) };\n }\n return { remote: \"\", remoteBranch: branch };\n}\n\n/**\n * Gets the default branch based on `git config init.defaultBranch`, falling back to `master`.\n */\n// TODO: move to config.ts\nexport function getDefaultBranch(options: GitCommonOptions): string;\n/** @deprecated Use object params version */\nexport function getDefaultBranch(cwd: string): string;\nexport function getDefaultBranch(cwdOrOptions: string | GitCommonOptions): string {\n const options = typeof cwdOrOptions === \"string\" ? { cwd: cwdOrOptions } : cwdOrOptions;\n\n // Default to the legacy 'master' for backwards compat and old git clients\n return getConfigValue({ key: \"init.defaultBranch\", ...options }) || \"master\";\n}\n\n/**\n * Lists all tracked files matching the given patterns.\n * Throws on error by default.\n * @returns An array of file paths, or an empty array if no files are found\n */\n// TODO: move to history.ts\nexport function listAllTrackedFiles(\n options: {\n /** File patterns to match (passed to git ls-files) */\n patterns: string[];\n } & GitCommonOptions\n): string[];\n/** @deprecated Use object params version */\nexport function listAllTrackedFiles(patterns: string[], cwd: string): string[];\nexport function listAllTrackedFiles(\n patternsOrOptions: string[] | ({ patterns: string[] } & GitCommonOptions),\n cwd?: string\n): string[] {\n const { patterns, ...options } = Array.isArray(patternsOrOptions)\n ? { patterns: patternsOrOptions, cwd: cwd! }\n : patternsOrOptions;\n\n const results = git([\"ls-files\", ...patterns], { throwOnError: true, ...options });\n\n return processGitOutput(results);\n}\n"],"names":["commit","fetchRemote","fetchRemoteBranch","getBranchChanges","getBranchName","getChanges","getChangesBetweenRefs","getCurrentHash","getDefaultBranch","getFileAddedHash","getFullBranchRef","getParentBranch","getRecentCommitMessages","getRemoteBranch","getShortBranchName","getStagedChanges","getUnstagedChanges","getUntrackedChanges","getUserEmail","init","listAllTrackedFiles","parseRemoteBranch","revertLocalChanges","stage","stageAndCommit","diffArgs","cwdOrOptions","options","cwd","results","git","description","throwOnError","processGitOutput","excludeNodeModules","remoteOrOptions","remote","remoteBranch","gitOptions","Error","fetchArgs","branch","fromRef","branchOrOptions","toRef","pattern","range","getConfigValue","key","success","stdout","showRefResults","split","refOrOptions","fullBranchRef","filenameOrOptions","filename","trim","undefined","_email","_username","email","username","patternsOrOptions","patterns","Array","isArray","messageOrOptions","_cwd","_options","message","commitOptions","stash","Date","getTime","matched","find","line","includes","match","branchName","showBranchResult","showBranchLines","parentLine","firstSlashPos","indexOf","substring","knownRemotes","r","startsWith","remotes","slice","length"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export { GitError, GitObserver, GitOptions, GitProcessOutput, addGitObserver, clearGitObservers, git, gitFailFast, } from "./git";
2
- export { getConfigValue } from "./config";
3
- export * from "./getDefaultRemote";
4
- export * from "./getDefaultRemoteBranch";
5
- export * from "./gitUtilities";
1
+ export { type GitError, type GitObserver, type GitOptions, type GitProcessOutput, addGitObserver, clearGitObservers, git, gitFailFast, } from "./git.js";
2
+ export { getConfigValue } from "./config.js";
3
+ export { type GetDefaultRemoteOptions, getDefaultRemote } from "./getDefaultRemote.js";
4
+ export { type GetDefaultRemoteBranchOptions, getDefaultRemoteBranch } from "./getDefaultRemoteBranch.js";
5
+ export * from "./gitUtilities.js";
package/lib/git/index.js CHANGED
@@ -1,30 +1,52 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get addGitObserver () {
13
+ return _git.addGitObserver;
14
+ },
15
+ get clearGitObservers () {
16
+ return _git.clearGitObservers;
17
+ },
18
+ get getConfigValue () {
19
+ return _config.getConfigValue;
20
+ },
21
+ get getDefaultRemote () {
22
+ return _getDefaultRemote.getDefaultRemote;
23
+ },
24
+ get getDefaultRemoteBranch () {
25
+ return _getDefaultRemoteBranch.getDefaultRemoteBranch;
26
+ },
27
+ get git () {
28
+ return _git.git;
29
+ },
30
+ get gitFailFast () {
31
+ return _git.gitFailFast;
7
32
  }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getConfigValue = exports.gitFailFast = exports.git = exports.clearGitObservers = exports.addGitObserver = exports.GitError = void 0;
18
- var git_1 = require("./git");
19
- Object.defineProperty(exports, "GitError", { enumerable: true, get: function () { return git_1.GitError; } });
20
- Object.defineProperty(exports, "addGitObserver", { enumerable: true, get: function () { return git_1.addGitObserver; } });
21
- Object.defineProperty(exports, "clearGitObservers", { enumerable: true, get: function () { return git_1.clearGitObservers; } });
22
- Object.defineProperty(exports, "git", { enumerable: true, get: function () { return git_1.git; } });
23
- Object.defineProperty(exports, "gitFailFast", { enumerable: true, get: function () { return git_1.gitFailFast; } });
24
- var config_1 = require("./config");
25
- Object.defineProperty(exports, "getConfigValue", { enumerable: true, get: function () { return config_1.getConfigValue; } });
26
- __exportStar(require("./getDefaultRemote"), exports);
27
- __exportStar(require("./getDefaultRemoteBranch"), exports);
28
- __exportStar(require("./gitUtilities"), exports);
29
- // getRepositoryName is not currently exported; could be changed if it would be useful externally
30
- //# sourceMappingURL=index.js.map
33
+ });
34
+ const _git = require("./git.js");
35
+ const _config = require("./config.js");
36
+ const _getDefaultRemote = require("./getDefaultRemote.js");
37
+ const _getDefaultRemoteBranch = require("./getDefaultRemoteBranch.js");
38
+ _export_star(require("./gitUtilities.js"), exports);
39
+ function _export_star(from, to) {
40
+ Object.keys(from).forEach(function(k) {
41
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
42
+ Object.defineProperty(to, k, {
43
+ enumerable: true,
44
+ get: function() {
45
+ return from[k];
46
+ }
47
+ });
48
+ }
49
+ });
50
+ return from;
51
+ }
52
+ // getRepositoryName is not currently exported; could be changed if it would be useful externally
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/git/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BASe;AARb,+FAAA,QAAQ,OAAA;AAIR,qGAAA,cAAc,OAAA;AACd,wGAAA,iBAAiB,OAAA;AACjB,0FAAA,GAAG,OAAA;AACH,kGAAA,WAAW,OAAA;AAEb,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AACvB,qDAAmC;AACnC,2DAAyC;AACzC,iDAA+B;AAC/B,iGAAiG"}
1
+ {"version":3,"sources":["../../src/git/index.ts"],"sourcesContent":["export {\n type GitError,\n type GitObserver,\n type GitOptions,\n type GitProcessOutput,\n addGitObserver,\n clearGitObservers,\n git,\n gitFailFast,\n} from \"./git.js\";\nexport { getConfigValue } from \"./config.js\";\nexport { type GetDefaultRemoteOptions, getDefaultRemote } from \"./getDefaultRemote.js\";\nexport { type GetDefaultRemoteBranchOptions, getDefaultRemoteBranch } from \"./getDefaultRemoteBranch.js\";\nexport * from \"./gitUtilities.js\";\n// getRepositoryName is not currently exported; could be changed if it would be useful externally\n"],"names":["addGitObserver","clearGitObservers","getConfigValue","getDefaultRemote","getDefaultRemoteBranch","git","gitFailFast"],"mappings":";;;;;;;;;;;QAKEA;eAAAA,mBAAc;;QACdC;eAAAA,sBAAiB;;QAIVC;eAAAA,sBAAc;;QACgBC;eAAAA,kCAAgB;;QACVC;eAAAA,8CAAsB;;QALjEC;eAAAA,QAAG;;QACHC;eAAAA,gBAAW;;;qBACN;wBACwB;kCACgC;wCACY;qBAC7D;;;;;;;;;;;;;;CACd,iGAAiG"}
package/lib/git/types.js CHANGED
@@ -1,3 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
1
+ /** Options used for all git operations and wrappers */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/git/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../src/git/types.ts"],"sourcesContent":["/** Options used for all git operations and wrappers */\nexport type GitCommonOptions = {\n cwd: string;\n /** If true, throw if the command fails */\n throwOnError?: boolean;\n};\n\n/** Options for git operations related to a branch */\nexport type GitBranchOptions = { branch: string } & GitCommonOptions;\n\nexport type GitFetchOptions = GitCommonOptions & {\n /** Remote name to fetch, e.g. \"origin\" (if not provided, fetches all remotes) */\n remote?: string;\n /** Branch name to fetch, e.g. \"main\". To use this, `remote` must also be set. */\n remoteBranch?: string;\n /** Extra command line options */\n options?: string[];\n};\n\nexport type GetChangesBetweenRefsOptions = GitCommonOptions & {\n /** The starting reference */\n fromRef: string;\n /** The ending reference */\n toRef?: string;\n /** Extra command line options */\n options?: string[];\n /** Optional file pattern to filter results */\n pattern?: string;\n};\n\nexport type GitInitOptions = Omit<GitCommonOptions, \"throwOnError\"> & {\n /** Email to set in the git config, if not already set */\n email?: string;\n /** Username to set in the git config, if not already set */\n username?: string;\n};\n\nexport type ParseRemoteBranchOptions = GitCommonOptions & {\n /** Branch name with possible remote prefix */\n branch: string;\n /**\n * Well-known remote names. If these appear at the beginning of a branch name, they'll always\n * be returned as `ParsedRemoteBranch.remote` regardless of whether they exist locally.\n * @default [\"origin\", \"upstream\"]\n */\n knownRemotes?: string[];\n};\n\nexport type ParsedRemoteBranch = {\n /** Remote name, e.g. `origin` */\n remote: string;\n /** Branch name without remote, e.g. `main` */\n remoteBranch: string;\n};\n\nexport type GitStageOptions = {\n /** File patterns to stage */\n patterns: string[];\n} & GitCommonOptions;\n\nexport type GitCommitOptions = GitCommonOptions & {\n /** Commit message */\n message: string;\n /** Additional git commit options */\n options?: string[];\n};\n"],"names":[],"mappings":"AAAA,qDAAqD"}
@@ -1,5 +1,5 @@
1
- import { PackageDependenciesOptions } from "./getPackageDependencies";
2
- import type { PackageInfos } from "../types/PackageInfo";
1
+ import { type PackageDependenciesOptions } from "./getPackageDependencies.js";
2
+ import type { PackageInfos } from "../types/PackageInfo.js";
3
3
  export interface DependencyMap {
4
4
  /** Mapping from package names to their dependencies */
5
5
  dependencies: Map<string, Set<string>>;
@@ -1,24 +1,26 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDependencyMap = void 0;
4
- const getPackageDependencies_1 = require("./getPackageDependencies");
5
- /**
6
- * Creates a dependency map for the packages in a monorepo.
7
- *
8
- * @param packages - Information about all packages in the monorepo
9
- * @param options - Which dependency types to include. `dependencies` are always included, and it
10
- * defaults to also including `devDependencies`.
11
- * @returns A map of package dependencies and dependents
12
- */
13
- function createDependencyMap(packages, options = { withDevDependencies: true, withPeerDependencies: false }) {
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createDependencyMap", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createDependencyMap;
9
+ }
10
+ });
11
+ const _getPackageDependencies = require("./getPackageDependencies.js");
12
+ function createDependencyMap(packages, options = {
13
+ withDevDependencies: true,
14
+ withPeerDependencies: false
15
+ }) {
14
16
  const map = {
15
17
  dependencies: new Map(),
16
- dependents: new Map(),
18
+ dependents: new Map()
17
19
  };
18
20
  const internalPackages = new Set(Object.keys(packages));
19
- for (const [pkg, info] of Object.entries(packages)) {
20
- const deps = (0, getPackageDependencies_1.getPackageDependencies)(info, internalPackages, options);
21
- for (const dep of deps) {
21
+ for (const [pkg, info] of Object.entries(packages)){
22
+ const deps = (0, _getPackageDependencies.getPackageDependencies)(info, internalPackages, options);
23
+ for (const dep of deps){
22
24
  if (!map.dependencies.has(pkg)) {
23
25
  map.dependencies.set(pkg, new Set());
24
26
  }
@@ -31,5 +33,3 @@ function createDependencyMap(packages, options = { withDevDependencies: true, wi
31
33
  }
32
34
  return map;
33
35
  }
34
- exports.createDependencyMap = createDependencyMap;
35
- //# sourceMappingURL=createDependencyMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDependencyMap.js","sourceRoot":"","sources":["../../src/graph/createDependencyMap.ts"],"names":[],"mappings":";;;AAAA,qEAA8F;AAU9F;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,QAAsB,EACtB,UAAsC,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAEhG,MAAM,GAAG,GAAkB;QACzB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,UAAU,EAAE,IAAI,GAAG,EAAE;KACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClD,MAAM,IAAI,GAAG,IAAA,+CAAsB,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC9B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;aACtC;YACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC5B,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;aACpC;YACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACnC;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA1BD,kDA0BC"}
1
+ {"version":3,"sources":["../../src/graph/createDependencyMap.ts"],"sourcesContent":["import { getPackageDependencies, type PackageDependenciesOptions } from \"./getPackageDependencies.js\";\nimport type { PackageInfos } from \"../types/PackageInfo.js\";\n\nexport interface DependencyMap {\n /** Mapping from package names to their dependencies */\n dependencies: Map<string, Set<string>>;\n /** Mapping from package names to their dependents */\n dependents: Map<string, Set<string>>;\n}\n\n/**\n * Creates a dependency map for the packages in a monorepo.\n *\n * @param packages - Information about all packages in the monorepo\n * @param options - Which dependency types to include. `dependencies` are always included, and it\n * defaults to also including `devDependencies`.\n * @returns A map of package dependencies and dependents\n */\nexport function createDependencyMap(\n packages: PackageInfos,\n options: PackageDependenciesOptions = { withDevDependencies: true, withPeerDependencies: false }\n): DependencyMap {\n const map: DependencyMap = {\n dependencies: new Map(),\n dependents: new Map(),\n };\n\n const internalPackages = new Set(Object.keys(packages));\n\n for (const [pkg, info] of Object.entries(packages)) {\n const deps = getPackageDependencies(info, internalPackages, options);\n for (const dep of deps) {\n if (!map.dependencies.has(pkg)) {\n map.dependencies.set(pkg, new Set());\n }\n map.dependencies.get(pkg)!.add(dep);\n\n if (!map.dependents.has(dep)) {\n map.dependents.set(dep, new Set());\n }\n map.dependents.get(dep)!.add(pkg);\n }\n }\n return map;\n}\n"],"names":["createDependencyMap","packages","options","withDevDependencies","withPeerDependencies","map","dependencies","Map","dependents","internalPackages","Set","Object","keys","pkg","info","entries","deps","getPackageDependencies","dep","has","set","get","add"],"mappings":";;;;+BAkBgBA;;;eAAAA;;;wCAlBwD;AAkBjE,SAASA,oBACdC,QAAsB,EACtBC,UAAsC;IAAEC,qBAAqB;IAAMC,sBAAsB;AAAM,CAAC;IAEhG,MAAMC,MAAqB;QACzBC,cAAc,IAAIC;QAClBC,YAAY,IAAID;IAClB;IAEA,MAAME,mBAAmB,IAAIC,IAAIC,OAAOC,IAAI,CAACX;IAE7C,KAAK,MAAM,CAACY,KAAKC,KAAK,IAAIH,OAAOI,OAAO,CAACd,UAAW;QAClD,MAAMe,OAAOC,IAAAA,8CAAsB,EAACH,MAAML,kBAAkBP;QAC5D,KAAK,MAAMgB,OAAOF,KAAM;YACtB,IAAI,CAACX,IAAIC,YAAY,CAACa,GAAG,CAACN,MAAM;gBAC9BR,IAAIC,YAAY,CAACc,GAAG,CAACP,KAAK,IAAIH;YAChC;YACAL,IAAIC,YAAY,CAACe,GAAG,CAACR,KAAMS,GAAG,CAACJ;YAE/B,IAAI,CAACb,IAAIG,UAAU,CAACW,GAAG,CAACD,MAAM;gBAC5Bb,IAAIG,UAAU,CAACY,GAAG,CAACF,KAAK,IAAIR;YAC9B;YACAL,IAAIG,UAAU,CAACa,GAAG,CAACH,KAAMI,GAAG,CAACT;QAC/B;IACF;IACA,OAAOR;AACT"}
@@ -1,6 +1,6 @@
1
- import type { PackageGraph } from "../types/PackageGraph";
2
- import type { PackageInfos } from "../types/PackageInfo";
3
- import type { PackageDependenciesOptions } from "./getPackageDependencies";
1
+ import type { PackageGraph } from "../types/PackageGraph.js";
2
+ import type { PackageInfos } from "../types/PackageInfo.js";
3
+ import type { PackageDependenciesOptions } from "./getPackageDependencies.js";
4
4
  /**
5
5
  * Reference: https://github.com/pnpm/pnpm/blob/597047fc056dd25b83638a9ab3df0df1c555ee49/packages/filter-workspace-packages/src/parsePackageSelector.ts
6
6
  */
@@ -1,92 +1,102 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createPackageGraph = void 0;
7
- const micromatch_1 = __importDefault(require("micromatch"));
8
- const createDependencyMap_1 = require("./createDependencyMap");
9
- /**
10
- * Create a package graph for the given packages, optionally filtered by the provided filters.
11
- */
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createPackageGraph", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createPackageGraph;
9
+ }
10
+ });
11
+ const _micromatch = /*#__PURE__*/ _interop_require_default(require("micromatch"));
12
+ const _createDependencyMap = require("./createDependencyMap.js");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
12
18
  function createPackageGraph(packages, filters) {
13
- /** Set of packages being accumulated as the graph is filtered */
14
- const packageSet = new Set();
15
- /** Array of package names & its dependencies being accumulated as the graph is filtered */
16
- const edges = [];
19
+ /** Set of packages being accumulated as the graph is filtered */ const packageSet = new Set();
20
+ /** Array of package names & its dependencies being accumulated as the graph is filtered */ const edges = [];
17
21
  const edgeKeys = new Set();
18
22
  const dependencyMapCache = new Map();
19
23
  function visitorForFilter(filter, pkg, dependencies, dependents) {
20
24
  packageSet.add(pkg);
21
- if (!filter || (filter.includeDependencies && dependencies)) {
22
- for (const dep of dependencies) {
25
+ if (!filter || filter.includeDependencies && dependencies) {
26
+ for (const dep of dependencies){
23
27
  const key = edgeKey(pkg, dep);
24
28
  if (!edgeKeys.has(key)) {
25
29
  edgeKeys.add(key);
26
- edges.push({ name: pkg, dependency: dep });
30
+ edges.push({
31
+ name: pkg,
32
+ dependency: dep
33
+ });
27
34
  }
28
35
  packageSet.add(dep);
29
36
  }
30
37
  }
31
- if (!filter || (filter.includeDependents && dependents)) {
32
- for (const dep of dependents) {
38
+ if (!filter || filter.includeDependents && dependents) {
39
+ for (const dep of dependents){
33
40
  const key = edgeKey(dep, pkg);
34
41
  if (!edgeKeys.has(key)) {
35
42
  edgeKeys.add(key);
36
- edges.push({ name: dep, dependency: pkg });
43
+ edges.push({
44
+ name: dep,
45
+ dependency: pkg
46
+ });
37
47
  }
38
48
  packageSet.add(dep);
39
49
  }
40
50
  }
41
51
  }
42
52
  if (filters) {
43
- filters = Array.isArray(filters) ? filters : [filters];
44
- for (const filter of filters) {
53
+ filters = Array.isArray(filters) ? filters : [
54
+ filters
55
+ ];
56
+ for (const filter of filters){
45
57
  const visitor = visitorForFilter.bind(undefined, filter);
46
58
  const dependencyMap = getDependencyMapForFilter(packages, filter);
47
59
  visitPackageGraph(packages, dependencyMap, visitor, filter);
48
60
  }
49
- }
50
- else {
61
+ } else {
51
62
  const visitor = visitorForFilter.bind(undefined, undefined);
52
63
  const dependencyMap = getDependencyMapForFilter(packages);
53
64
  visitPackageGraph(packages, dependencyMap, visitor);
54
65
  }
55
- return { packages: [...packageSet], dependencies: edges };
56
- /** Calculates a key for checking if an edge is already added */
57
- function edgeKey(name, dependency) {
66
+ return {
67
+ packages: [
68
+ ...packageSet
69
+ ],
70
+ dependencies: edges
71
+ };
72
+ /** Calculates a key for checking if an edge is already added */ function edgeKey(name, dependency) {
58
73
  return `${name}->${dependency}`;
59
74
  }
60
- /** Gets the dependencyMap for a filter, using a cache based on filter options */
61
- function getDependencyMapForFilter(packages, filter) {
75
+ /** Gets the dependencyMap for a filter, using a cache based on filter options */ function getDependencyMapForFilter(pkgs, filter) {
62
76
  const cacheKey = getCacheKeyForFilter(filter);
63
77
  if (!dependencyMapCache.has(cacheKey)) {
64
- const dependencyMap = (0, createDependencyMap_1.createDependencyMap)(packages, filter);
78
+ const dependencyMap = (0, _createDependencyMap.createDependencyMap)(pkgs, filter);
65
79
  dependencyMapCache.set(cacheKey, dependencyMap);
66
80
  }
67
81
  return dependencyMapCache.get(cacheKey);
68
82
  }
69
- /** Generates a cache key based on the filter options */
70
- function getCacheKeyForFilter(filter) {
83
+ /** Generates a cache key based on the filter options */ function getCacheKeyForFilter(filter) {
71
84
  if (!filter) {
72
85
  return "default";
73
86
  }
74
87
  const options = [
75
88
  filter.withDevDependencies ? "dev" : "",
76
89
  filter.withPeerDependencies ? "peer" : "",
77
- filter.withOptionalDependencies ? "optional" : "",
78
- ]
79
- .filter(Boolean)
80
- .join("_");
90
+ filter.withOptionalDependencies ? "optional" : ""
91
+ ].filter(Boolean).join("_");
81
92
  return options || "prod";
82
93
  }
83
94
  }
84
- exports.createPackageGraph = createPackageGraph;
85
95
  function visitPackageGraph(packages, dependencyMap, visitor, filter) {
86
96
  const visited = new Set();
87
97
  const packageNames = Object.keys(packages);
88
- const stack = filter ? (0, micromatch_1.default)(packageNames, filter.namePatterns) : packageNames;
89
- while (stack.length > 0) {
98
+ const stack = filter ? (0, _micromatch.default)(packageNames, filter.namePatterns) : packageNames;
99
+ while(stack.length > 0){
90
100
  const pkg = stack.pop();
91
101
  if (visited.has(pkg)) {
92
102
  continue;
@@ -95,24 +105,27 @@ function visitPackageGraph(packages, dependencyMap, visitor, filter) {
95
105
  let dependencies = [];
96
106
  let dependents = [];
97
107
  if (!filter || filter.includeDependencies) {
98
- dependencies = [...(dependencyMap.dependencies.get(pkg) ?? [])];
99
- for (const dep of dependencies) {
108
+ dependencies = [
109
+ ...dependencyMap.dependencies.get(pkg) ?? []
110
+ ];
111
+ for (const dep of dependencies){
100
112
  nextPkgs.add(dep);
101
113
  }
102
114
  }
103
115
  if (!filter || filter.includeDependents) {
104
- dependents = [...(dependencyMap.dependents.get(pkg) ?? [])];
105
- for (const dep of dependents) {
116
+ dependents = [
117
+ ...dependencyMap.dependents.get(pkg) ?? []
118
+ ];
119
+ for (const dep of dependents){
106
120
  nextPkgs.add(dep);
107
121
  }
108
122
  }
109
123
  visitor(pkg, dependencies, dependents);
110
124
  visited.add(pkg);
111
125
  if (nextPkgs.size > 0) {
112
- for (const nextPkg of nextPkgs) {
126
+ for (const nextPkg of nextPkgs){
113
127
  stack.push(nextPkg);
114
128
  }
115
129
  }
116
130
  }
117
131
  }
118
- //# sourceMappingURL=createPackageGraph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageGraph.js","sourceRoot":"","sources":["../../src/graph/createPackageGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/graph/createPackageGraph.ts"],"sourcesContent":["import micromatch from \"micromatch\";\nimport type { PackageGraph } from \"../types/PackageGraph.js\";\nimport type { PackageInfos } from \"../types/PackageInfo.js\";\nimport type { DependencyMap } from \"./createDependencyMap.js\";\nimport { createDependencyMap } from \"./createDependencyMap.js\";\nimport type { PackageDependenciesOptions } from \"./getPackageDependencies.js\";\n\n/**\n * Reference: https://github.com/pnpm/pnpm/blob/597047fc056dd25b83638a9ab3df0df1c555ee49/packages/filter-workspace-packages/src/parsePackageSelector.ts\n */\nexport interface PackageGraphFilter extends PackageDependenciesOptions {\n namePatterns: string[];\n includeDependencies?: boolean;\n includeDependents?: boolean;\n}\n\n/** Package graph visitor is called as it visits every package in dependency order */\ninterface PackageGraphVisitor {\n (pkg: string, dependencies: string[], dependents: string[]): void;\n}\n\n/**\n * Create a package graph for the given packages, optionally filtered by the provided filters.\n */\nexport function createPackageGraph(\n packages: PackageInfos,\n filters?: PackageGraphFilter[] | PackageGraphFilter\n): PackageGraph {\n /** Set of packages being accumulated as the graph is filtered */\n const packageSet = new Set<string>();\n\n /** Array of package names & its dependencies being accumulated as the graph is filtered */\n const edges: PackageGraph[\"dependencies\"] = [];\n\n const edgeKeys: Set<string> = new Set();\n const dependencyMapCache = new Map<string, DependencyMap>();\n\n function visitorForFilter(\n filter: PackageGraphFilter | undefined,\n pkg: string,\n dependencies: string[],\n dependents: string[]\n ) {\n packageSet.add(pkg);\n\n if (!filter || (filter.includeDependencies && dependencies)) {\n for (const dep of dependencies) {\n const key = edgeKey(pkg, dep);\n\n if (!edgeKeys.has(key)) {\n edgeKeys.add(key);\n edges.push({ name: pkg, dependency: dep });\n }\n\n packageSet.add(dep);\n }\n }\n\n if (!filter || (filter.includeDependents && dependents)) {\n for (const dep of dependents) {\n const key = edgeKey(dep, pkg);\n\n if (!edgeKeys.has(key)) {\n edgeKeys.add(key);\n edges.push({ name: dep, dependency: pkg });\n }\n\n packageSet.add(dep);\n }\n }\n }\n\n if (filters) {\n filters = Array.isArray(filters) ? filters : [filters];\n for (const filter of filters) {\n const visitor = visitorForFilter.bind(undefined, filter);\n const dependencyMap = getDependencyMapForFilter(packages, filter);\n visitPackageGraph(packages, dependencyMap, visitor, filter);\n }\n } else {\n const visitor = visitorForFilter.bind(undefined, undefined);\n const dependencyMap = getDependencyMapForFilter(packages);\n visitPackageGraph(packages, dependencyMap, visitor);\n }\n\n return { packages: [...packageSet], dependencies: edges };\n\n /** Calculates a key for checking if an edge is already added */\n function edgeKey(name: string, dependency: string) {\n return `${name}->${dependency}`;\n }\n\n /** Gets the dependencyMap for a filter, using a cache based on filter options */\n function getDependencyMapForFilter(pkgs: PackageInfos, filter?: PackageGraphFilter) {\n const cacheKey = getCacheKeyForFilter(filter);\n if (!dependencyMapCache.has(cacheKey)) {\n const dependencyMap = createDependencyMap(pkgs, filter);\n dependencyMapCache.set(cacheKey, dependencyMap);\n }\n return dependencyMapCache.get(cacheKey)!;\n }\n\n /** Generates a cache key based on the filter options */\n function getCacheKeyForFilter(filter?: PackageGraphFilter): string {\n if (!filter) {\n return \"default\";\n }\n const options = [\n filter.withDevDependencies ? \"dev\" : \"\",\n filter.withPeerDependencies ? \"peer\" : \"\",\n filter.withOptionalDependencies ? \"optional\" : \"\",\n ]\n .filter(Boolean)\n .join(\"_\");\n return options || \"prod\";\n }\n}\n\nfunction visitPackageGraph(\n packages: PackageInfos,\n dependencyMap: DependencyMap,\n visitor: PackageGraphVisitor,\n filter?: PackageGraphFilter\n) {\n const visited = new Set<string>();\n const packageNames = Object.keys(packages);\n\n const stack: string[] = filter ? micromatch(packageNames, filter.namePatterns) : packageNames;\n\n while (stack.length > 0) {\n const pkg = stack.pop()!;\n\n if (visited.has(pkg)) {\n continue;\n }\n\n const nextPkgs: Set<string> = new Set();\n let dependencies: string[] = [];\n let dependents: string[] = [];\n\n if (!filter || filter.includeDependencies) {\n dependencies = [...(dependencyMap.dependencies.get(pkg) ?? [])];\n for (const dep of dependencies) {\n nextPkgs.add(dep);\n }\n }\n\n if (!filter || filter.includeDependents) {\n dependents = [...(dependencyMap.dependents.get(pkg) ?? [])];\n for (const dep of dependents) {\n nextPkgs.add(dep);\n }\n }\n\n visitor(pkg, dependencies, dependents);\n\n visited.add(pkg);\n\n if (nextPkgs.size > 0) {\n for (const nextPkg of nextPkgs) {\n stack.push(nextPkg);\n }\n }\n }\n}\n"],"names":["createPackageGraph","packages","filters","packageSet","Set","edges","edgeKeys","dependencyMapCache","Map","visitorForFilter","filter","pkg","dependencies","dependents","add","includeDependencies","dep","key","edgeKey","has","push","name","dependency","includeDependents","Array","isArray","visitor","bind","undefined","dependencyMap","getDependencyMapForFilter","visitPackageGraph","pkgs","cacheKey","getCacheKeyForFilter","createDependencyMap","set","get","options","withDevDependencies","withPeerDependencies","withOptionalDependencies","Boolean","join","visited","packageNames","Object","keys","stack","micromatch","namePatterns","length","pop","nextPkgs","size","nextPkg"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PackageInfo } from "../types/PackageInfo";
1
+ import { type PackageInfo } from "../types/PackageInfo.js";
2
2
  export interface PackageDependenciesOptions {
3
3
  withDevDependencies?: boolean;
4
4
  withPeerDependencies?: boolean;
@@ -1,27 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageDependencies = void 0;
4
- /**
5
- * Gets the monorepo package dependencies for a given package (excluding `file:` or `npm:` versions).
6
- * It only considers `dependencies` and `devDependencies` unless options specify otherwise.
7
- *
8
- * @param info - The package information containing dependencies
9
- * @param internalPackages - Set of in-repo package names to consider.
10
- * @param options - Configuration options for which dependency types to include
11
- * @returns Subset of `packages` that are dependencies of the given package
12
- */
13
- function getPackageDependencies(info, internalPackages, options = { withDevDependencies: true }) {
14
- const depTypes = ["dependencies"];
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getPackageDependencies", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getPackageDependencies;
9
+ }
10
+ });
11
+ function getPackageDependencies(info, internalPackages, options = {
12
+ withDevDependencies: true
13
+ }) {
14
+ const depTypes = [
15
+ "dependencies"
16
+ ];
15
17
  options.withDevDependencies && depTypes.push("devDependencies");
16
18
  options.withPeerDependencies && depTypes.push("peerDependencies");
17
19
  options.withOptionalDependencies && depTypes.push("optionalDependencies");
18
20
  const deps = [];
19
- for (const depType of depTypes) {
21
+ for (const depType of depTypes){
20
22
  const dependencies = info[depType];
21
23
  if (!dependencies) {
22
24
  continue;
23
25
  }
24
- for (const [dep, range] of Object.entries(dependencies)) {
26
+ for (const [dep, range] of Object.entries(dependencies)){
25
27
  if (dep !== info.name && internalPackages.has(dep) && !range.startsWith("npm:") && !range.startsWith("file:")) {
26
28
  deps.push(dep);
27
29
  }
@@ -29,5 +31,3 @@ function getPackageDependencies(info, internalPackages, options = { withDevDepen
29
31
  }
30
32
  return deps;
31
33
  }
32
- exports.getPackageDependencies = getPackageDependencies;
33
- //# sourceMappingURL=getPackageDependencies.js.map