@contember/cli-common 2.0.0-alpha.8 → 2.0.0-beta.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 (100) hide show
  1. package/dist/development/index.cjs +2 -0
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +3 -1
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/application/Application.cjs.map +1 -1
  6. package/dist/development/src/application/Application.js.map +1 -1
  7. package/dist/development/src/application/Argument.cjs.map +1 -1
  8. package/dist/development/src/application/Argument.js.map +1 -1
  9. package/dist/development/src/application/Command.cjs.map +1 -1
  10. package/dist/development/src/application/Command.js.map +1 -1
  11. package/dist/development/src/application/CommandConfiguration.cjs.map +1 -1
  12. package/dist/development/src/application/CommandConfiguration.js.map +1 -1
  13. package/dist/development/src/application/CommandManager.cjs.map +1 -1
  14. package/dist/development/src/application/CommandManager.js.map +1 -1
  15. package/dist/development/src/application/Input.cjs.map +1 -1
  16. package/dist/development/src/application/Input.js.map +1 -1
  17. package/dist/development/src/application/InputParser.cjs.map +1 -1
  18. package/dist/development/src/application/InputParser.js.map +1 -1
  19. package/dist/development/src/application/Option.cjs.map +1 -1
  20. package/dist/development/src/application/Option.js.map +1 -1
  21. package/dist/development/src/application/UsageFormatter.cjs.map +1 -1
  22. package/dist/development/src/application/UsageFormatter.js.map +1 -1
  23. package/dist/development/src/npm/CommandRunner.cjs.map +1 -1
  24. package/dist/development/src/npm/CommandRunner.js.map +1 -1
  25. package/dist/development/src/npm/Package.cjs.map +1 -1
  26. package/dist/development/src/npm/Package.js.map +1 -1
  27. package/dist/development/src/npm/PackageWorkspace.cjs.map +1 -1
  28. package/dist/development/src/npm/PackageWorkspace.js.map +1 -1
  29. package/dist/development/src/npm/PackageWorkspaceResolver.cjs.map +1 -1
  30. package/dist/development/src/npm/PackageWorkspaceResolver.js.map +1 -1
  31. package/dist/development/src/npm/packageManagers/Npm.cjs.map +1 -1
  32. package/dist/development/src/npm/packageManagers/Npm.js.map +1 -1
  33. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -1
  34. package/dist/development/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -1
  35. package/dist/development/src/npm/packageManagers/Pnpm.cjs.map +1 -1
  36. package/dist/development/src/npm/packageManagers/Pnpm.js.map +1 -1
  37. package/dist/development/src/npm/packageManagers/Yarn.cjs.map +1 -1
  38. package/dist/development/src/npm/packageManagers/Yarn.js.map +1 -1
  39. package/dist/development/src/npm/packageManagers/YarnClassic.cjs.map +1 -1
  40. package/dist/development/src/npm/packageManagers/YarnClassic.js.map +1 -1
  41. package/dist/development/src/utils/findPackageRoot.cjs +20 -0
  42. package/dist/development/src/utils/findPackageRoot.cjs.map +1 -0
  43. package/dist/development/src/utils/findPackageRoot.js +20 -0
  44. package/dist/development/src/utils/findPackageRoot.js.map +1 -0
  45. package/dist/production/index.cjs +2 -0
  46. package/dist/production/index.cjs.map +1 -1
  47. package/dist/production/index.js +3 -1
  48. package/dist/production/index.js.map +1 -1
  49. package/dist/production/src/application/Application.cjs.map +1 -1
  50. package/dist/production/src/application/Application.js.map +1 -1
  51. package/dist/production/src/application/Argument.cjs.map +1 -1
  52. package/dist/production/src/application/Argument.js.map +1 -1
  53. package/dist/production/src/application/Command.cjs.map +1 -1
  54. package/dist/production/src/application/Command.js.map +1 -1
  55. package/dist/production/src/application/CommandConfiguration.cjs.map +1 -1
  56. package/dist/production/src/application/CommandConfiguration.js.map +1 -1
  57. package/dist/production/src/application/CommandManager.cjs.map +1 -1
  58. package/dist/production/src/application/CommandManager.js.map +1 -1
  59. package/dist/production/src/application/Input.cjs.map +1 -1
  60. package/dist/production/src/application/Input.js.map +1 -1
  61. package/dist/production/src/application/InputParser.cjs.map +1 -1
  62. package/dist/production/src/application/InputParser.js.map +1 -1
  63. package/dist/production/src/application/Option.cjs.map +1 -1
  64. package/dist/production/src/application/Option.js.map +1 -1
  65. package/dist/production/src/application/UsageFormatter.cjs.map +1 -1
  66. package/dist/production/src/application/UsageFormatter.js.map +1 -1
  67. package/dist/production/src/npm/CommandRunner.cjs.map +1 -1
  68. package/dist/production/src/npm/CommandRunner.js.map +1 -1
  69. package/dist/production/src/npm/Package.cjs.map +1 -1
  70. package/dist/production/src/npm/Package.js.map +1 -1
  71. package/dist/production/src/npm/PackageWorkspace.cjs.map +1 -1
  72. package/dist/production/src/npm/PackageWorkspace.js.map +1 -1
  73. package/dist/production/src/npm/PackageWorkspaceResolver.cjs.map +1 -1
  74. package/dist/production/src/npm/PackageWorkspaceResolver.js.map +1 -1
  75. package/dist/production/src/npm/packageManagers/Npm.cjs.map +1 -1
  76. package/dist/production/src/npm/packageManagers/Npm.js.map +1 -1
  77. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.cjs.map +1 -1
  78. package/dist/production/src/npm/packageManagers/PackageManagerHelpers.js.map +1 -1
  79. package/dist/production/src/npm/packageManagers/Pnpm.cjs.map +1 -1
  80. package/dist/production/src/npm/packageManagers/Pnpm.js.map +1 -1
  81. package/dist/production/src/npm/packageManagers/Yarn.cjs.map +1 -1
  82. package/dist/production/src/npm/packageManagers/Yarn.js.map +1 -1
  83. package/dist/production/src/npm/packageManagers/YarnClassic.cjs.map +1 -1
  84. package/dist/production/src/npm/packageManagers/YarnClassic.js.map +1 -1
  85. package/dist/production/src/utils/findPackageRoot.cjs +20 -0
  86. package/dist/production/src/utils/findPackageRoot.cjs.map +1 -0
  87. package/dist/production/src/utils/findPackageRoot.js +20 -0
  88. package/dist/production/src/utils/findPackageRoot.js.map +1 -0
  89. package/dist/types/index.d.ts +1 -0
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/dist/types/utils/findPackageRoot.d.ts +2 -0
  93. package/dist/types/utils/findPackageRoot.d.ts.map +1 -0
  94. package/dist/types/utils/index.d.ts +2 -0
  95. package/dist/types/utils/index.d.ts.map +1 -0
  96. package/package.json +4 -4
  97. package/src/index.ts +1 -0
  98. package/src/utils/findPackageRoot.ts +20 -0
  99. package/src/utils/index.ts +1 -0
  100. package/tsconfig.settings.json +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"UsageFormatter.cjs","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":["OptionMode","assertNever"],"mappings":";;;;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAA;AACD,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MACxC;AAAA,IACD;AACA,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MACD;AACA,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAKA,OAAAA,WAAW;AAAA,QAChB,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD;AACCC,kCAAY,IAAI,IAAI;AAAA,MACtB;AACA,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAASD,OAAA,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MACnE;AACI,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAC1C;AACI,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAC1C;AACA,YAAM,KAAK,iBAAiB;AAAA,IAC7B;AACA,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IACnD;AACO,WAAA,MAAM,KAAK,GAAG;AAAA,EACtB;AACD;;"}
1
+ {"version":3,"file":"UsageFormatter.cjs","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":["OptionMode","assertNever"],"mappings":";;;;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAC;AACF,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA;AAAA,IACxC;AAED,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MAAA;AAED,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAKA,OAAW,WAAA;AAAA,QAChB,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD,KAAKA,OAAW,WAAA;AACI,6BAAA;AACnB;AAAA,QACD;AACCC,sBAAA,YAAY,IAAI,IAAI;AAAA,MAAA;AAEtB,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAASD,OAAA,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MAAA;AAE/D,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAAA;AAEtC,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAAA;AAE1C,YAAM,KAAK,iBAAiB;AAAA,IAAA;AAE7B,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IAAA;AAE5C,WAAA,MAAM,KAAK,GAAG;AAAA,EAAA;AAEvB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"UsageFormatter.js","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAA;AACD,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MACxC;AAAA,IACD;AACA,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MACD;AACA,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD;AACC,sBAAY,IAAI,IAAI;AAAA,MACtB;AACA,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAAS,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MACnE;AACI,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAC1C;AACI,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAC1C;AACA,YAAM,KAAK,iBAAiB;AAAA,IAC7B;AACA,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IACnD;AACO,WAAA,MAAM,KAAK,GAAG;AAAA,EACtB;AACD;"}
1
+ {"version":3,"file":"UsageFormatter.js","sources":["../../../../../packages/cli-common/src/application/UsageFormatter.ts"],"sourcesContent":["import { Argument } from './Argument'\nimport { Option, OptionMode } from './Option'\nimport { assertNever } from './assertNever'\n\nexport type UsageFormat = 'line' | 'short' | 'multiline'\nexport type UsageFormatOptions = { format?: UsageFormat; indent?: string }\n\nexport class UsageFormatter {\n\tpublic static format(args: Argument[], options: Option[], { format, indent }: UsageFormatOptions): string {\n\t\tlet parts = []\n\t\tformat ??= 'short'\n\t\tindent ??= ' '\n\t\tconst isShort = format === 'short'\n\t\tfor (let arg of args) {\n\t\t\tconst name = arg.name\n\t\t\tconst argDescription = !isShort && arg.description ? ` (${arg.description})` : ''\n\t\t\tif (arg.variadic) {\n\t\t\t\tparts.push(`[...${name}${argDescription}]`)\n\t\t\t} else if (arg.optional) {\n\t\t\t\tparts.push(`[${name}${argDescription}]`)\n\t\t\t} else {\n\t\t\t\tparts.push(`<${name}${argDescription}>`)\n\t\t\t}\n\t\t}\n\t\tfor (let opt of options) {\n\t\t\tif (opt.deprecated) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = `--${opt.name}` + (!isShort && opt.shortcut ? `|-${opt.shortcut}` : '')\n\t\t\tlet valueDescription\n\t\t\tswitch (opt.mode) {\n\t\t\t\tcase OptionMode.VALUE_ARRAY:\n\t\t\t\tcase OptionMode.VALUE_REQUIRED:\n\t\t\t\t\tvalueDescription = ' <value>'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_OPTIONAL:\n\t\t\t\t\tvalueDescription = ' [value]'\n\t\t\t\t\tbreak\n\t\t\t\tcase OptionMode.VALUE_NONE:\n\t\t\t\t\tvalueDescription = ''\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tassertNever(opt.mode)\n\t\t\t}\n\t\t\tlet optionDescription = `${name}${valueDescription}`\n\t\t\tif (opt.mode === OptionMode.VALUE_ARRAY) {\n\t\t\t\toptionDescription = `${optionDescription} [... ${optionDescription}]`\n\t\t\t}\n\t\t\tif (!isShort && opt.description) {\n\t\t\t\toptionDescription += ` (${opt.description})`\n\t\t\t}\n\t\t\tif (!opt.required) {\n\t\t\t\toptionDescription = `[${optionDescription}]`\n\t\t\t}\n\t\t\tparts.push(optionDescription)\n\t\t}\n\t\tif (format === 'multiline') {\n\t\t\treturn parts.map(it => `${indent}${it}`).join('\\n')\n\t\t}\n\t\treturn parts.join(' ')\n\t}\n}\n"],"names":[],"mappings":";;AAOO,MAAM,eAAe;AAAA,EAC3B,OAAc,OAAO,MAAkB,SAAmB,EAAE,QAAQ,UAAsC;AACzG,QAAI,QAAQ,CAAC;AACF,eAAA,SAAA;AACA,eAAA,SAAA;AACX,UAAM,UAAU,WAAW;AAC3B,aAAS,OAAO,MAAM;AACrB,YAAM,OAAO,IAAI;AACX,YAAA,iBAAiB,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI,WAAW,MAAM;AAC/E,UAAI,IAAI,UAAU;AACjB,cAAM,KAAK,OAAO,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,WAChC,IAAI,UAAU;AACxB,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA,OACjC;AACN,cAAM,KAAK,IAAI,IAAI,GAAG,cAAc,GAAG;AAAA,MAAA;AAAA,IACxC;AAED,aAAS,OAAO,SAAS;AACxB,UAAI,IAAI,YAAY;AACnB;AAAA,MAAA;AAED,YAAM,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,QAAQ,KAAK;AAC7E,UAAA;AACJ,cAAQ,IAAI,MAAM;AAAA,QACjB,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD,KAAK,WAAW;AACI,6BAAA;AACnB;AAAA,QACD;AACC,sBAAY,IAAI,IAAI;AAAA,MAAA;AAEtB,UAAI,oBAAoB,GAAG,IAAI,GAAG,gBAAgB;AAC9C,UAAA,IAAI,SAAS,WAAW,aAAa;AACpB,4BAAA,GAAG,iBAAiB,SAAS,iBAAiB;AAAA,MAAA;AAE/D,UAAA,CAAC,WAAW,IAAI,aAAa;AACX,6BAAA,KAAK,IAAI,WAAW;AAAA,MAAA;AAEtC,UAAA,CAAC,IAAI,UAAU;AAClB,4BAAoB,IAAI,iBAAiB;AAAA,MAAA;AAE1C,YAAM,KAAK,iBAAiB;AAAA,IAAA;AAE7B,QAAI,WAAW,aAAa;AACpB,aAAA,MAAM,IAAI,CAAA,OAAM,GAAG,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI;AAAA,IAAA;AAE5C,WAAA,MAAM,KAAK,GAAG;AAAA,EAAA;AAEvB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRunner.cjs","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":["spawn"],"mappings":";;;;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MACxG;AACM,YAAA,QAAQA,mBAAAA,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAC/B;AAEA,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM;MAAS,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM;MAAS,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MACjC;AACA,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MACjC;AAEA,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAC/C;AAAA,QAAA,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ;IAAM,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAErE;AACD;;;"}
1
+ {"version":3,"file":"CommandRunner.cjs","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":["spawn"],"mappings":";;;;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQA,mBAAAA,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRunner.js","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MACxG;AACM,YAAA,QAAQ,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAC/B;AAEA,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM;MAAS,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM;MAAS,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MACjC;AACA,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MACjC;AAEA,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAC/C;AAAA,QAAA,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ;IAAM,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAErE;AACD;"}
1
+ {"version":3,"file":"CommandRunner.js","sources":["../../../../../packages/cli-common/src/npm/CommandRunner.ts"],"sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from 'node:child_process'\nimport { Readable, Writable } from 'node:stream'\nimport chalk from 'chalk'\n\nexport type RunningCommand = { child: ChildProcessWithoutNullStreams; output: Promise<string> }\n\nexport class CommandRunner {\n\trunCommand = (\n\t\tcommand: string,\n\t\targs: (string | undefined)[],\n\t\toptions: {\n\t\t\tcwd: string\n\t\t\tstdin?: Readable\n\t\t\tstdout?: Writable\n\t\t\tstderr?: Writable\n\t\t\tenv?: NodeJS.ProcessEnv\n\t\t\tdetached?: boolean\n\t\t},\n\t): RunningCommand => {\n\t\tconst args2 = args.filter((it): it is string => it !== undefined)\n\t\tif (!process.env.DISABLE_COMMAND_PRINTING) {\n\t\t\tconsole.error(chalk.gray(`$ ${command} ${args2.map(it => `'${it.replace(/'/g, `'\\\\''`)}'`).join(' ')}`))\n\t\t}\n\t\tconst child = spawn(command, args2, {\n\t\t\tcwd: options.cwd,\n\t\t\tenv: { ...process.env, ...(options.env || {}) },\n\t\t\tdetached: options.detached,\n\t\t})\n\t\tif (options.stdin) {\n\t\t\toptions.stdin.pipe(child.stdin)\n\t\t}\n\n\t\tlet stdout = ''\n\t\tlet stderr = ''\n\n\t\tchild.stdout.on('data', (chunk): void => {\n\t\t\tstdout += chunk.toString()\n\t\t})\n\n\t\tchild.stderr.on('data', (chunk): void => {\n\t\t\tstderr += chunk.toString()\n\t\t})\n\t\tif (options.stdout) {\n\t\t\tchild.stdout.pipe(options.stdout)\n\t\t}\n\t\tif (options.stderr) {\n\t\t\tchild.stderr.pipe(options.stderr)\n\t\t}\n\n\t\tconst output = new Promise<string>((resolve, reject) => {\n\t\t\tchild.on('exit', (exitCode): void => {\n\t\t\t\tif (exitCode === 0) {\n\t\t\t\t\tresolve(stdout)\n\t\t\t\t} else {\n\t\t\t\t\treject(new ChildProcessError(exitCode, stderr))\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\n\t\treturn { output, child }\n\t}\n}\n\n\nexport class ChildProcessError extends Error {\n\tconstructor(public readonly exitCode: number | null, public readonly stderr: string) {\n\t\tsuper(`Command has failed(${exitCode}): ${stderr} `)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,cAAc;AAAA,EAApB,cAAA;AACO,kBAAA,MAAA,cAAA,CACZ,SACA,MACA,YAQoB;AACpB,YAAM,QAAQ,KAAK,OAAO,CAAC,OAAqB,OAAO,MAAS;AAC5D,UAAA,CAAC,QAAQ,IAAI,0BAA0B;AAClC,gBAAA,MAAM,MAAM,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAM,OAAA,IAAI,GAAG,QAAQ,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAAA,MAAA;AAElG,YAAA,QAAQ,MAAM,SAAS,OAAO;AAAA,QACnC,KAAK,QAAQ;AAAA,QACb,KAAK,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,OAAO,GAAI;AAAA,QAC9C,UAAU,QAAQ;AAAA,MAAA,CAClB;AACD,UAAI,QAAQ,OAAO;AACV,gBAAA,MAAM,KAAK,MAAM,KAAK;AAAA,MAAA;AAG/B,UAAI,SAAS;AACb,UAAI,SAAS;AAEb,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AAED,YAAM,OAAO,GAAG,QAAQ,CAAC,UAAgB;AACxC,kBAAU,MAAM,SAAS;AAAA,MAAA,CACzB;AACD,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAEjC,UAAI,QAAQ,QAAQ;AACb,cAAA,OAAO,KAAK,QAAQ,MAAM;AAAA,MAAA;AAGjC,YAAM,SAAS,IAAI,QAAgB,CAAC,SAAS,WAAW;AACjD,cAAA,GAAG,QAAQ,CAAC,aAAmB;AACpC,cAAI,aAAa,GAAG;AACnB,oBAAQ,MAAM;AAAA,UAAA,OACR;AACN,mBAAO,IAAI,kBAAkB,UAAU,MAAM,CAAC;AAAA,UAAA;AAAA,QAC/C,CACA;AAAA,MAAA,CACD;AAEM,aAAA,EAAE,QAAQ,MAAM;AAAA,IAAA,CACxB;AAAA,EAAA;AACD;AAGO,MAAM,0BAA0B,MAAM;AAAA,EAC5C,YAA4B,UAAyC,QAAgB;AACpF,UAAM,sBAAsB,QAAQ,MAAM,MAAM,GAAG;AADxB,SAAA,WAAA;AAAyC,SAAA,SAAA;AAAA,EAAA;AAGtE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Package.cjs","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAEjB;AACD;;"}
1
+ {"version":3,"file":"Package.cjs","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Package.js","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAEjB;AACD;"}
1
+ {"version":3,"file":"Package.js","sources":["../../../../../packages/cli-common/src/npm/Package.ts"],"sourcesContent":["import { PackageJson } from './PackageJson'\n\nexport class Package {\n\tconstructor(\n\t\tpublic readonly dir: string,\n\t\tpublic readonly isRoot: boolean,\n\t\tpublic readonly packageJson: PackageJson,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,QAAQ;AAAA,EACpB,YACiB,KACA,QACA,aACf;AAHe,SAAA,MAAA;AACA,SAAA,SAAA;AACA,SAAA,cAAA;AAAA,EAAA;AAGlB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageWorkspace.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["join","dirname","deps"],"mappings":";;;AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAEjB;AAAA,EAEA,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAC3C;AAAA,EAEO,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,YAAA,CAAa;AAAA,QAC7F;AAAA,MACD;AACA,aAAO;IAAC,CACR;AAAA,EACF;AAAA,EAEA,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAA;AAChE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,QAAA,CAAS;AACrB;AAAA,MACD;AACM,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAG,CAAA;AAAA,IACtF;AACO,WAAA;AAAA,EACR;AAAA,EAEA,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAWA,UAAAA,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MACR;AACA,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MACR;AACA,YAAMC,UAAAA,QAAQ,GAAG;AAAA,IAClB;AAAA,EACD;AAAA,EAEA,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa;AACnB,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK;AAC5B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IACZ;AAEA,UAAM,UAAwB,CAAA;AAC9B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOC,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QACD;AACM,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MACrB;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"PackageWorkspace.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["join","dirname","deps"],"mappings":";;;AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAAA;AAAA,EAIjB,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGpC,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,aAAa;AAAA,QAAA;AAAA,MAC7F;AAED,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAAA,EAGF,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAC;AACjE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,SAAS;AACrB;AAAA,MAAA;AAEK,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAA,CAAG;AAAA,IAAA;AAE/E,WAAA;AAAA,EAAA;AAAA,EAGR,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAWA,UAAAA,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MAAA;AAER,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MAAA;AAER,YAAMC,kBAAQ,GAAG;AAAA,IAAA;AAAA,EAClB;AAAA,EAGD,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa,IAA2B;AAC9C,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC;AAC7B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IAAA;AAGZ,UAAM,UAAwB,CAAC;AAC/B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOC,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QAAA;AAEK,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MAAA;AAAA,IACrB;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageWorkspace.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["deps"],"mappings":";AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAEjB;AAAA,EAEA,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAC3C;AAAA,EAEO,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,YAAA,CAAa;AAAA,QAC7F;AAAA,MACD;AACA,aAAO;IAAC,CACR;AAAA,EACF;AAAA,EAEA,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAA;AAChE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,QAAA,CAAS;AACrB;AAAA,MACD;AACM,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAG,CAAA;AAAA,IACtF;AACO,WAAA;AAAA,EACR;AAAA,EAEA,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAW,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MACR;AACA,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MACR;AACA,YAAM,QAAQ,GAAG;AAAA,IAClB;AAAA,EACD;AAAA,EAEA,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa;AACnB,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK;AAC5B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IACZ;AAEA,UAAM,UAAwB,CAAA;AAC9B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOA,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QACD;AACM,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MACrB;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"PackageWorkspace.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspace.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Package } from './Package'\nimport { dirname, join } from 'node:path'\nimport { PackageJson } from './PackageJson'\nimport { FileSystem } from './FileSystem'\n\nexport type Dependency = {\n\tpckg: Package\n\tisDev: boolean\n\tversion: string\n\tname: string\n}\n\n\nexport class PackageWorkspace {\n\tconstructor(\n\t\tprivate readonly packageManager: PackageManager,\n\t\tprivate readonly fs: FileSystem,\n\t\tpublic readonly rootPackage: Package,\n\t\tpublic readonly packages: Package[],\n\t) {\n\t}\n\n\tget allPackages() {\n\t\treturn [this.rootPackage, ...this.packages]\n\t}\n\n\tpublic findDefinedDependencies(packageName: string): Dependency[] {\n\t\treturn this.allPackages.flatMap<Dependency>(it => {\n\t\t\tfor (const type of ['dependencies', 'devDependencies'] as const) {\n\t\t\t\tconst version = it.packageJson[type]?.[packageName]\n\t\t\t\tif (version) {\n\t\t\t\t\treturn [{ pckg: it, isDev: type === 'devDependencies', version: version, name: packageName }]\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn []\n\t\t})\n\t}\n\n\tpublic async findInstalledDependencies(packageName: string): Promise<{ installed?: Dependency; defined: Dependency }[]> {\n\t\tconst definedDependencies = this.findDefinedDependencies(packageName)\n\n\t\tconst deps: { installed?: Dependency; defined: Dependency }[] = []\n\t\tfor (const defined of definedDependencies) {\n\t\t\tconst packageJsonPath = await this.resolvePackageJson(defined.pckg.dir, packageName)\n\t\t\tif (!packageJsonPath) {\n\t\t\t\tdeps.push({ defined })\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst packageJson = JSON.parse(await this.fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\tdeps.push({ defined, installed: { ...defined, version: packageJson?.version ?? '' } })\n\t\t}\n\t\treturn deps\n\t}\n\n\tprivate async resolvePackageJson(dir: string, packageName: string) {\n\t\twhile (true) {\n\t\t\tconst fullPath = join(dir, 'node_modules', packageName, 'package.json')\n\t\t\tif (await this.fs.pathExists(fullPath)) {\n\t\t\t\treturn fullPath\n\t\t\t}\n\t\t\tif (dir === '/') {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tdir = dirname(dir)\n\t\t}\n\t}\n\n\tasync updateEverywhere(updates: Record<string, string>): Promise<Dependency[]> {\n\t\tconst defined = Object.keys(updates).flatMap(it => this.findDefinedDependencies(it))\n\t\tconst byPckg = new Map<Package, Dependency[]>()\n\t\tfor (const it of defined) {\n\t\t\tconst arr = byPckg.get(it.pckg) ?? []\n\t\t\tbyPckg.set(it.pckg, arr)\n\t\t\tarr.push(it)\n\t\t}\n\n\t\tconst updated: Dependency[] = []\n\t\tfor (const [pckg, deps] of byPckg.entries()) {\n\t\t\tconst prod = deps.filter(it => !it.isDev)\n\t\t\tconst dev = deps.filter(it => it.isDev)\n\t\t\tfor (const [isDev, deps] of [[false, prod], [true, dev]] as const) {\n\t\t\t\tif (deps.length === 0) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tawait this.packageManager.install({\n\t\t\t\t\tpckg,\n\t\t\t\t\tisDev,\n\t\t\t\t\tdependencies: Object.fromEntries(deps.map(it => [it.name, updates[it.name]])),\n\t\t\t\t})\n\t\t\t\tupdated.push(...deps)\n\t\t\t}\n\t\t}\n\t\treturn updated\n\t}\n}\n\n"],"names":["deps"],"mappings":";AAcO,MAAM,iBAAiB;AAAA,EAC7B,YACkB,gBACA,IACD,aACA,UACf;AAJgB,SAAA,iBAAA;AACA,SAAA,KAAA;AACD,SAAA,cAAA;AACA,SAAA,WAAA;AAAA,EAAA;AAAA,EAIjB,IAAI,cAAc;AACjB,WAAO,CAAC,KAAK,aAAa,GAAG,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGpC,wBAAwB,aAAmC;AAC1D,WAAA,KAAK,YAAY,QAAoB,CAAM,OAAA;AACjD,iBAAW,QAAQ,CAAC,gBAAgB,iBAAiB,GAAY;AAChE,cAAM,UAAU,GAAG,YAAY,IAAI,IAAI,WAAW;AAClD,YAAI,SAAS;AACL,iBAAA,CAAC,EAAE,MAAM,IAAI,OAAO,SAAS,mBAAmB,SAAkB,MAAM,aAAa;AAAA,QAAA;AAAA,MAC7F;AAED,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAAA,EAGF,MAAa,0BAA0B,aAAiF;AACjH,UAAA,sBAAsB,KAAK,wBAAwB,WAAW;AAEpE,UAAM,OAA0D,CAAC;AACjE,eAAW,WAAW,qBAAqB;AAC1C,YAAM,kBAAkB,MAAM,KAAK,mBAAmB,QAAQ,KAAK,KAAK,WAAW;AACnF,UAAI,CAAC,iBAAiB;AAChB,aAAA,KAAK,EAAE,SAAS;AACrB;AAAA,MAAA;AAEK,YAAA,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAC/E,WAAK,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,SAAS,aAAa,WAAW,GAAG,EAAA,CAAG;AAAA,IAAA;AAE/E,WAAA;AAAA,EAAA;AAAA,EAGR,MAAc,mBAAmB,KAAa,aAAqB;AAClE,WAAO,MAAM;AACZ,YAAM,WAAW,KAAK,KAAK,gBAAgB,aAAa,cAAc;AACtE,UAAI,MAAM,KAAK,GAAG,WAAW,QAAQ,GAAG;AAChC,eAAA;AAAA,MAAA;AAER,UAAI,QAAQ,KAAK;AACT,eAAA;AAAA,MAAA;AAER,YAAM,QAAQ,GAAG;AAAA,IAAA;AAAA,EAClB;AAAA,EAGD,MAAM,iBAAiB,SAAwD;AACxE,UAAA,UAAU,OAAO,KAAK,OAAO,EAAE,QAAQ,CAAM,OAAA,KAAK,wBAAwB,EAAE,CAAC;AAC7E,UAAA,6BAAa,IAA2B;AAC9C,eAAW,MAAM,SAAS;AACzB,YAAM,MAAM,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC;AAC7B,aAAA,IAAI,GAAG,MAAM,GAAG;AACvB,UAAI,KAAK,EAAE;AAAA,IAAA;AAGZ,UAAM,UAAwB,CAAC;AAC/B,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,WAAW;AAC5C,YAAM,OAAO,KAAK,OAAO,CAAM,OAAA,CAAC,GAAG,KAAK;AACxC,YAAM,MAAM,KAAK,OAAO,CAAA,OAAM,GAAG,KAAK;AACtC,iBAAW,CAAC,OAAOA,KAAI,KAAK,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAY;AAC9DA,YAAAA,MAAK,WAAW,GAAG;AACtB;AAAA,QAAA;AAEK,cAAA,KAAK,eAAe,QAAQ;AAAA,UACjC;AAAA,UACA;AAAA,UACA,cAAc,OAAO,YAAYA,MAAK,IAAI,CAAM,OAAA,CAAC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;AAAA,QAAA,CAC5E;AACO,gBAAA,KAAK,GAAGA,KAAI;AAAA,MAAA;AAAA,IACrB;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageWorkspaceResolver.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["join","dirname","Package","PackageWorkspace"],"mappings":";;;;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAASD,UAAAA,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AACV,cAAA;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAIC,QAAQ,QAAA,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAIC,iBAAiB,iBAAA,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MACR;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"PackageWorkspaceResolver.cjs","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":["join","dirname","Package","PackageWorkspace"],"mappings":";;;;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAAA;AAAA,EAIT,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAAA;AAAA,EAG3C,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAED,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,gBAAgB;AAAA,IAAA;AAGjE,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAASD,UAAA,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AACV,cAAA;AAAA,MAAA;AAEP,aAAO,MAAM,KAAK,gBAAgBC,UAAQ,QAAA,GAAG,GAAG,IAAI;AAAA,IAAA;AAGrD,UAAM,cAAc,IAAIC,QAAAA,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAIC,iBAAiB,iBAAA,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EAAA;AAAA,EAGxE,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MAAA;AAAA,IACR;AAEM,WAAA;AAAA,EAAA;AAET;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageWorkspaceResolver.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAET;AAAA,EAEA,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAC3C;AAAA,EAEA,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QACP;AAAA,MACD;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IACjE;AAEA,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AACV,cAAA;AAAA,MACP;AACA,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,IAAI;AAAA,IACrD;AAEA,UAAM,cAAc,IAAI,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAI,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EACxE;AAAA,EAEA,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MACR;AAAA,IACD;AACO,WAAA;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"PackageWorkspaceResolver.js","sources":["../../../../../packages/cli-common/src/npm/PackageWorkspaceResolver.ts"],"sourcesContent":["import { PackageManager } from './packageManagers/PackageManager'\nimport { Yarn } from './packageManagers/Yarn'\nimport { YarnClassic } from './packageManagers/YarnClassic'\nimport { Pnpm } from './packageManagers/Pnpm'\nimport { Npm } from './packageManagers/Npm'\nimport { PackageJson } from './PackageJson'\nimport { dirname, join } from 'node:path'\nimport { Package } from './Package'\nimport { PackageWorkspace } from './PackageWorkspace'\nimport { FileSystem } from './FileSystem'\n\nexport class PackageWorkspaceResolver {\n\tconstructor(\n\t\tprivate readonly dir: string,\n\t\tprivate fs: FileSystem,\n\t\tprivate packageManagers: PackageManager[],\n\t) {\n\t}\n\n\tpublic async resolve(): Promise<PackageWorkspace> {\n\t\treturn await this.resolveInternal(this.dir)\n\t}\n\n\tpublic async resolveInternal(dir: string, packageJsonFound: boolean = false): Promise<PackageWorkspace> {\n\t\tif (!(await this.fs.pathExists(join(dir, 'package.json')))) {\n\t\t\tif (dir === '/') {\n\t\t\t\tif (packageJsonFound) {\n\t\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t\t} else {\n\t\t\t\t\tthrow `package.json not found.`\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), packageJsonFound)\n\t\t}\n\n\t\tconst packageJson = JSON.parse(await this.fs.readFile(join(dir, 'package.json'), 'utf-8')) as PackageJson\n\n\t\tconst pm = await this.resolvePackageManager({ dir, packageJson })\n\t\tif (!pm) {\n\t\t\tif (dir === '/') {\n\t\t\t\tthrow `No lockfile found. Please install dependencies using package manager of your choice.`\n\t\t\t}\n\t\t\treturn await this.resolveInternal(dirname(dir), true)\n\t\t}\n\n\t\tconst rootPackage = new Package(dir, true, packageJson)\n\t\tconst workspacePackages = await pm.readWorkspacePackages({ dir, packageJson })\n\n\t\treturn new PackageWorkspace(pm, this.fs, rootPackage, workspacePackages)\n\t}\n\n\tprivate async resolvePackageManager(args: { dir: string; packageJson: PackageJson }): Promise<PackageManager | null> {\n\t\tfor (const pm of this.packageManagers) {\n\t\t\tif (await pm.isActive(args)) {\n\t\t\t\treturn pm\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,yBAAyB;AAAA,EACrC,YACkB,KACT,IACA,iBACP;AAHgB,SAAA,MAAA;AACT,SAAA,KAAA;AACA,SAAA,kBAAA;AAAA,EAAA;AAAA,EAIT,MAAa,UAAqC;AACjD,WAAO,MAAM,KAAK,gBAAgB,KAAK,GAAG;AAAA,EAAA;AAAA,EAG3C,MAAa,gBAAgB,KAAa,mBAA4B,OAAkC;AACnG,QAAA,CAAE,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,cAAc,CAAC,GAAI;AAC3D,UAAI,QAAQ,KAAK;AAChB,YAAI,kBAAkB;AACf,gBAAA;AAAA,QAAA,OACA;AACA,gBAAA;AAAA,QAAA;AAAA,MACP;AAED,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,gBAAgB;AAAA,IAAA;AAGjE,UAAM,cAAc,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,cAAc,GAAG,OAAO,CAAC;AAEzF,UAAM,KAAK,MAAM,KAAK,sBAAsB,EAAE,KAAK,aAAa;AAChE,QAAI,CAAC,IAAI;AACR,UAAI,QAAQ,KAAK;AACV,cAAA;AAAA,MAAA;AAEP,aAAO,MAAM,KAAK,gBAAgB,QAAQ,GAAG,GAAG,IAAI;AAAA,IAAA;AAGrD,UAAM,cAAc,IAAI,QAAQ,KAAK,MAAM,WAAW;AACtD,UAAM,oBAAoB,MAAM,GAAG,sBAAsB,EAAE,KAAK,aAAa;AAE7E,WAAO,IAAI,iBAAiB,IAAI,KAAK,IAAI,aAAa,iBAAiB;AAAA,EAAA;AAAA,EAGxE,MAAc,sBAAsB,MAAiF;AACzG,eAAA,MAAM,KAAK,iBAAiB;AACtC,UAAI,MAAM,GAAG,SAAS,IAAI,GAAG;AACrB,eAAA;AAAA,MAAA;AAAA,IACR;AAEM,WAAA;AAAA,EAAA;AAET;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Npm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"Npm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAAA;AAAA,EAG/D,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Npm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"Npm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Npm.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Npm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('npm', [\n\t\t\t'install',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'package-lock.json'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,IAA8B;AAAA,EAC1C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,OAAO;AAAA,MACvD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,mBAAmB,CAAC;AAAA,EAAA;AAAA,EAG/D,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageManagerHelpers.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) => new Package(join(dir, subDir), false, packageJson))\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["join","packageJson","Package"],"mappings":";;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkBA,UAAA,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AACrC,eAAA;AAAA,MACR;AACMC,YAAAA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAChF,aAAA,CAACA,cAAa,EAAE;AAAA,IACvB,CAAA,CAAC;AAEK,WAAA,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE,IAAI,CAAC,CAACA,cAAa,MAAM,MAAM,IAAIC,QAAQ,QAAAF,eAAK,KAAK,MAAM,GAAG,OAAOC,YAAW,CAAC;AAAA,EACvJ;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AACxF,QAAA,CAAC,YAAY,YAAY;AAC5B,aAAO;IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,CAAA,GAAI,GAAG,YAAY,YAAY,WAAW,CAAA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;;"}
1
+ {"version":3,"file":"PackageManagerHelpers.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) => new Package(join(dir, subDir), false, packageJson))\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["join","packageJson","Package"],"mappings":";;;;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkBA,UAAA,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AACrC,eAAA;AAAA,MAAA;AAEFC,YAAAA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAChF,aAAA,CAACA,cAAa,EAAE;AAAA,IAAA,CACvB,CAAC;AAEK,WAAA,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE,IAAI,CAAC,CAACA,cAAa,MAAM,MAAM,IAAIC,QAAQ,QAAAF,eAAK,KAAK,MAAM,GAAG,OAAOC,YAAW,CAAC;AAAA,EAAA;AAAA,EAGvJ,OAAO,6BAA6B,EAAE,eAAuD;AACxF,QAAA,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAC;AAAA,IAAA;AAET,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IAAA;AAEpB,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAAA;AAAA,EAG5F,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAAA;AAE/E;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PackageManagerHelpers.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) => new Package(join(dir, subDir), false, packageJson))\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["packageJson"],"mappings":";;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkB,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AACrC,eAAA;AAAA,MACR;AACMA,YAAAA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAChF,aAAA,CAACA,cAAa,EAAE;AAAA,IACvB,CAAA,CAAC;AAEK,WAAA,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE,IAAI,CAAC,CAACA,cAAa,MAAM,MAAM,IAAI,QAAQ,KAAK,KAAK,MAAM,GAAG,OAAOA,YAAW,CAAC;AAAA,EACvJ;AAAA,EAEA,OAAO,6BAA6B,EAAE,eAAuD;AACxF,QAAA,CAAC,YAAY,YAAY;AAC5B,aAAO;IACR;AACA,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IACpB;AACA,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,CAAA,GAAI,GAAG,YAAY,YAAY,WAAW,CAAA,CAAE;AAAA,EAC5F;AAAA,EAEA,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAC9E;AACD;"}
1
+ {"version":3,"file":"PackageManagerHelpers.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/PackageManagerHelpers.ts"],"sourcesContent":["import { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { FileSystem } from '../FileSystem'\n\nexport class PackageManagerHelpers {\n\tstatic async readWorkspacePackages({ fs, dir, workspaces }: {\n\t\tfs: FileSystem\n\t\tdir: string\n\t\tworkspaces: string[]\n\t}): Promise<Package[]> {\n\t\tconst dirs = await fs.listDirectories(dir, workspaces)\n\n\t\tconst packageJson = await Promise.all(dirs.map(async it => {\n\t\t\tconst packageJsonPath = join(dir, it, 'package.json')\n\t\t\tif (!(await fs.pathExists(packageJsonPath))) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tconst packageJson: PackageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))\n\t\t\treturn [packageJson, it] as const\n\t\t}))\n\n\t\treturn packageJson.filter(<T>(it: T | null): it is T => it !== null).map(([packageJson, subDir]) => new Package(join(dir, subDir), false, packageJson))\n\t}\n\n\tstatic getWorkspacesFromPackageJson({ packageJson }: { packageJson: PackageJson }): string[] {\n\t\tif (!packageJson.workspaces) {\n\t\t\treturn []\n\t\t}\n\t\tif (Array.isArray(packageJson.workspaces)) {\n\t\t\treturn packageJson.workspaces\n\t\t}\n\t\treturn [...packageJson.workspaces?.packages ?? [], ...packageJson.workspaces?.nohoist ?? []]\n\t}\n\n\tstatic formatPackagesToInstall(packages: Record<string, string>): string[] {\n\t\treturn Object.entries(packages).map(([name, version]) => `${name}@${version}`)\n\t}\n}\n"],"names":["packageJson"],"mappings":";;AAKO,MAAM,sBAAsB;AAAA,EAClC,aAAa,sBAAsB,EAAE,IAAI,KAAK,cAIvB;AACtB,UAAM,OAAO,MAAM,GAAG,gBAAgB,KAAK,UAAU;AAErD,UAAM,cAAc,MAAM,QAAQ,IAAI,KAAK,IAAI,OAAM,OAAM;AAC1D,YAAM,kBAAkB,KAAK,KAAK,IAAI,cAAc;AACpD,UAAI,CAAE,MAAM,GAAG,WAAW,eAAe,GAAI;AACrC,eAAA;AAAA,MAAA;AAEFA,YAAAA,eAA2B,KAAK,MAAM,MAAM,GAAG,SAAS,iBAAiB,OAAO,CAAC;AAChF,aAAA,CAACA,cAAa,EAAE;AAAA,IAAA,CACvB,CAAC;AAEK,WAAA,YAAY,OAAO,CAAI,OAA0B,OAAO,IAAI,EAAE,IAAI,CAAC,CAACA,cAAa,MAAM,MAAM,IAAI,QAAQ,KAAK,KAAK,MAAM,GAAG,OAAOA,YAAW,CAAC;AAAA,EAAA;AAAA,EAGvJ,OAAO,6BAA6B,EAAE,eAAuD;AACxF,QAAA,CAAC,YAAY,YAAY;AAC5B,aAAO,CAAC;AAAA,IAAA;AAET,QAAI,MAAM,QAAQ,YAAY,UAAU,GAAG;AAC1C,aAAO,YAAY;AAAA,IAAA;AAEpB,WAAO,CAAC,GAAG,YAAY,YAAY,YAAY,IAAI,GAAG,YAAY,YAAY,WAAW,EAAE;AAAA,EAAA;AAAA,EAG5F,OAAO,wBAAwB,UAA4C;AAC1E,WAAO,OAAO,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,GAAG,IAAI,IAAI,OAAO,EAAE;AAAA,EAAA;AAE/E;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pnpm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAC5G,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC9C,uBAAA,KAAK,MAAM,MAAM,KAAK,GAAG,SAASA,UAAAA,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACO,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"Pnpm.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAAA;AAAA,EAG5D,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAC5G,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,WAAWA,UAAAA,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC9C,uBAAA,KAAK,MAAM,MAAM,KAAK,GAAG,SAASA,UAAAA,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAAA;AAEvF,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pnpm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAC5D;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAC5G,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC9C,uBAAA,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAC9F;AACO,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"Pnpm.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Pnpm.ts"],"sourcesContent":["import { FileSystem } from '../FileSystem'\nimport { join } from 'node:path'\n\nimport { PackageJson } from '../PackageJson'\nimport { PackageManager } from './PackageManager'\nimport { Package } from '../Package'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Pnpm implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('pnpm', [\n\t\t\t'add',\n\t\t\tisDev ? '--save-dev' : '--save',\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'pnpm-lock.yaml'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\tlet pnpmWorkspaces: any\n\t\tif (await this.fs.pathExists(join(dir, 'pnpm-workspace.yaml'))) {\n\t\t\tpnpmWorkspaces = JSON.parse(await this.fs.readFile(join(dir, 'pnpm-workspace.yaml'), 'utf-8'))\n\t\t}\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: pnpmWorkspaces.packages,\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AASO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,eAAe;AAAA,MACvB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,gBAAgB,CAAC;AAAA,EAAA;AAAA,EAG5D,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AAC5G,QAAA;AACA,QAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,qBAAqB,CAAC,GAAG;AAC9C,uBAAA,KAAK,MAAM,MAAM,KAAK,GAAG,SAAS,KAAK,KAAK,qBAAqB,GAAG,OAAO,CAAC;AAAA,IAAA;AAEvF,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,eAAe;AAAA,IAAA,CAC3B;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Yarn.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4') || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC7N;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"Yarn.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4') || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAWC,UAAA,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAAA;AAAA,EAG7N,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Yarn.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4') || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAC7N;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"Yarn.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/Yarn.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class Yarn implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t\t\t&& (!packageJson.packageManager || (packageJson.packageManager as string).startsWith('yarn@4') || (packageJson.packageManager as string).startsWith('yarn@3') || (packageJson.packageManager as string).startsWith('yarn@2'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,KAA+B;AAAA,EAC3C,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AAC1F,WAAA,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC,MACjD,CAAC,YAAY,kBAAmB,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ,KAAM,YAAY,eAA0B,WAAW,QAAQ;AAAA,EAAA;AAAA,EAG7N,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"YarnClassic.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAsB,sBAAA,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;;"}
1
+ {"version":3,"file":"YarnClassic.cjs","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":["PackageManagerHelpers","join"],"mappings":";;;;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAGA,sBAAAA,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAWC,UAAAA,KAAK,KAAK,WAAW,CAAC;AAAA,EAAA;AAAA,EAGvD,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAMD,4CAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAYA,sBAAA,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"YarnClassic.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAElB;AAAA,EAEA,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EACP;AAAA,EAEA,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EACvD;AAAA,EAEA,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,aAAa;AAAA,IAAA,CAC9E;AAAA,EACF;AACD;"}
1
+ {"version":3,"file":"YarnClassic.js","sources":["../../../../../../packages/cli-common/src/npm/packageManagers/YarnClassic.ts"],"sourcesContent":["import { PackageManager } from './PackageManager'\nimport { FileSystem } from '../FileSystem'\nimport { Package } from '../Package'\nimport { PackageJson } from '../PackageJson'\nimport { join } from 'node:path'\nimport { PackageManagerHelpers } from './PackageManagerHelpers'\nimport { CommandRunner } from '../CommandRunner'\n\nexport class YarnClassic implements PackageManager {\n\tconstructor(\n\t\tprivate readonly fs: FileSystem,\n\t\tprivate readonly commandRunner: CommandRunner,\n\t) {\n\t}\n\n\tasync install({ pckg, dependencies, isDev }: { pckg: Package; isDev: boolean; dependencies: Record<string, string> }): Promise<void> {\n\t\tconst { output } = this.commandRunner.runCommand('yarn', [\n\t\t\t'add',\n\t\t\tisDev ? '--dev' : undefined,\n\t\t\tpckg.isRoot ? '--ignore-workspace-root-check' : undefined,\n\t\t\t...PackageManagerHelpers.formatPackagesToInstall(dependencies),\n\t\t], {\n\t\t\tcwd: pckg.dir,\n\t\t\tstderr: process.stderr,\n\t\t\tstdout: process.stdout,\n\t\t})\n\t\tawait output\n\t}\n\n\tasync isActive({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<boolean> {\n\t\treturn await this.fs.pathExists(join(dir, 'yarn.lock'))\n\t}\n\n\tasync readWorkspacePackages({ dir, packageJson }: { dir: string; packageJson: PackageJson }): Promise<Package[]> {\n\t\treturn await PackageManagerHelpers.readWorkspacePackages({\n\t\t\tfs: this.fs,\n\t\t\tdir,\n\t\t\tworkspaces: PackageManagerHelpers.getWorkspacesFromPackageJson({ packageJson }),\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;AAQO,MAAM,YAAsC;AAAA,EAClD,YACkB,IACA,eAChB;AAFgB,SAAA,KAAA;AACA,SAAA,gBAAA;AAAA,EAAA;AAAA,EAIlB,MAAM,QAAQ,EAAE,MAAM,cAAc,SAAiG;AACpI,UAAM,EAAE,OAAO,IAAI,KAAK,cAAc,WAAW,QAAQ;AAAA,MACxD;AAAA,MACA,QAAQ,UAAU;AAAA,MAClB,KAAK,SAAS,kCAAkC;AAAA,MAChD,GAAG,sBAAsB,wBAAwB,YAAY;AAAA,IAAA,GAC3D;AAAA,MACF,KAAK,KAAK;AAAA,MACV,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IAAA,CAChB;AACK,UAAA;AAAA,EAAA;AAAA,EAGP,MAAM,SAAS,EAAE,KAAK,eAA4E;AACjG,WAAO,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,WAAW,CAAC;AAAA,EAAA;AAAA,EAGvD,MAAM,sBAAsB,EAAE,KAAK,eAA8E;AACzG,WAAA,MAAM,sBAAsB,sBAAsB;AAAA,MACxD,IAAI,KAAK;AAAA,MACT;AAAA,MACA,YAAY,sBAAsB,6BAA6B,EAAE,YAAa,CAAA;AAAA,IAAA,CAC9E;AAAA,EAAA;AAEH;"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node_fs = require("node:fs");
4
+ const node_path = require("node:path");
5
+ const findPackageRoot = (startPath) => {
6
+ let currentPath = startPath;
7
+ while (true) {
8
+ const packageJsonPath = node_path.join(currentPath, "package.json");
9
+ if (node_fs.existsSync(packageJsonPath)) {
10
+ return currentPath;
11
+ }
12
+ const parentPath = node_path.dirname(currentPath);
13
+ if (parentPath === currentPath) {
14
+ throw new Error("Package root not found");
15
+ }
16
+ currentPath = parentPath;
17
+ }
18
+ };
19
+ exports.findPackageRoot = findPackageRoot;
20
+ //# sourceMappingURL=findPackageRoot.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findPackageRoot.cjs","sources":["../../../../../packages/cli-common/src/utils/findPackageRoot.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { dirname, join } from 'node:path'\n\nexport const findPackageRoot = (startPath: string) => {\n\tlet currentPath = startPath\n\n\twhile (true) {\n\t\tconst packageJsonPath = join(currentPath, 'package.json')\n\t\tif (existsSync(packageJsonPath)) {\n\t\t\treturn currentPath\n\t\t}\n\n\t\tconst parentPath = dirname(currentPath)\n\t\tif (parentPath === currentPath) {\n\t\t\tthrow new Error('Package root not found')\n\t\t}\n\n\t\tcurrentPath = parentPath\n\t}\n}\n"],"names":["join","existsSync","dirname"],"mappings":";;;;AAGa,MAAA,kBAAkB,CAAC,cAAsB;AACrD,MAAI,cAAc;AAElB,SAAO,MAAM;AACN,UAAA,kBAAkBA,UAAAA,KAAK,aAAa,cAAc;AACpD,QAAAC,QAAAA,WAAW,eAAe,GAAG;AACzB,aAAA;AAAA,IAAA;AAGF,UAAA,aAAaC,kBAAQ,WAAW;AACtC,QAAI,eAAe,aAAa;AACzB,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAAA;AAG3B,kBAAA;AAAA,EAAA;AAEhB;;"}
@@ -0,0 +1,20 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join, dirname } from "node:path";
3
+ const findPackageRoot = (startPath) => {
4
+ let currentPath = startPath;
5
+ while (true) {
6
+ const packageJsonPath = join(currentPath, "package.json");
7
+ if (existsSync(packageJsonPath)) {
8
+ return currentPath;
9
+ }
10
+ const parentPath = dirname(currentPath);
11
+ if (parentPath === currentPath) {
12
+ throw new Error("Package root not found");
13
+ }
14
+ currentPath = parentPath;
15
+ }
16
+ };
17
+ export {
18
+ findPackageRoot
19
+ };
20
+ //# sourceMappingURL=findPackageRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findPackageRoot.js","sources":["../../../../../packages/cli-common/src/utils/findPackageRoot.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { dirname, join } from 'node:path'\n\nexport const findPackageRoot = (startPath: string) => {\n\tlet currentPath = startPath\n\n\twhile (true) {\n\t\tconst packageJsonPath = join(currentPath, 'package.json')\n\t\tif (existsSync(packageJsonPath)) {\n\t\t\treturn currentPath\n\t\t}\n\n\t\tconst parentPath = dirname(currentPath)\n\t\tif (parentPath === currentPath) {\n\t\t\tthrow new Error('Package root not found')\n\t\t}\n\n\t\tcurrentPath = parentPath\n\t}\n}\n"],"names":[],"mappings":";;AAGa,MAAA,kBAAkB,CAAC,cAAsB;AACrD,MAAI,cAAc;AAElB,SAAO,MAAM;AACN,UAAA,kBAAkB,KAAK,aAAa,cAAc;AACpD,QAAA,WAAW,eAAe,GAAG;AACzB,aAAA;AAAA,IAAA;AAGF,UAAA,aAAa,QAAQ,WAAW;AACtC,QAAI,eAAe,aAAa;AACzB,YAAA,IAAI,MAAM,wBAAwB;AAAA,IAAA;AAG3B,kBAAA;AAAA,EAAA;AAEhB;"}
@@ -1,4 +1,5 @@
1
1
  export type { CommandFactoryList } from './application';
2
2
  export { Application, Input, Command, CommandManager, CommandConfiguration } from './application';
3
3
  export * from './npm';
4
+ export * from './utils';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjG,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjG,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA"}