@teambit/pkg 0.0.808 → 0.0.809

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.
@@ -6,13 +6,17 @@ export declare class PublishCmd implements Command {
6
6
  private publisher;
7
7
  name: string;
8
8
  description: string;
9
+ arguments: {
10
+ name: string;
11
+ description: string;
12
+ }[];
9
13
  options: CommandOptions;
10
14
  alias: string;
11
15
  private: boolean;
12
16
  group: string;
13
17
  constructor(publisher: Publisher);
14
18
  report(args: PublishArgs, options: PublisherOptions): Promise<string>;
15
- json([componentId]: PublishArgs, options: PublisherOptions): Promise<{
19
+ json([pattern]: PublishArgs, options: PublisherOptions): Promise<{
16
20
  data: ComponentResult[];
17
21
  code: number;
18
22
  }>;
@@ -31,11 +31,25 @@ function _chalk() {
31
31
  return data;
32
32
  }
33
33
 
34
+ function _constants() {
35
+ const data = require("@teambit/legacy/dist/constants");
36
+
37
+ _constants = function () {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
34
44
  class PublishCmd {
35
45
  constructor(publisher) {
36
46
  this.publisher = publisher;
37
- (0, _defineProperty2().default)(this, "name", 'publish <componentId>');
47
+ (0, _defineProperty2().default)(this, "name", 'publish <component-pattern>');
38
48
  (0, _defineProperty2().default)(this, "description", 'publish components to npm (npm publish)');
49
+ (0, _defineProperty2().default)(this, "arguments", [{
50
+ name: 'component-pattern',
51
+ description: _constants().COMPONENT_PATTERN_HELP
52
+ }]);
39
53
  (0, _defineProperty2().default)(this, "options", [['d', 'dry-run', 'npm publish --dry-run'], ['', 'allow-staged', 'allow publish components that were not exported yet (not recommended)'], ['j', 'json', 'return the output as JSON']]);
40
54
  (0, _defineProperty2().default)(this, "alias", '');
41
55
  (0, _defineProperty2().default)(this, "private", true);
@@ -68,9 +82,8 @@ class PublishCmd {
68
82
  return title + output;
69
83
  }
70
84
 
71
- async json([componentId], options) {
72
- const compId = typeof componentId === 'string' ? componentId : componentId[0];
73
- const packResult = await this.publisher.publish([compId], options);
85
+ async json([pattern], options) {
86
+ const packResult = await this.publisher.publish(pattern, options);
74
87
  return {
75
88
  data: packResult,
76
89
  code: 0
@@ -1 +1 @@
1
- {"version":3,"names":["PublishCmd","constructor","publisher","report","args","options","result","json","publishResults","data","length","publishOrDryRun","dryRun","title","chalk","white","bold","output","map","publishResult","compName","component","id","toString","getData","errors","red","join","green","metadata","publishedPackage","componentId","compId","packResult","publish","code"],"sources":["publish.cmd.tsx"],"sourcesContent":["import { ComponentResult } from '@teambit/builder';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\n\nimport { Publisher, PublisherOptions } from './publisher';\n\ntype PublishArgs = [string];\n\nexport class PublishCmd implements Command {\n name = 'publish <componentId>';\n description = 'publish components to npm (npm publish)';\n options = [\n ['d', 'dry-run', 'npm publish --dry-run'],\n ['', 'allow-staged', 'allow publish components that were not exported yet (not recommended)'],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n alias = '';\n private = true;\n group = 'collaborate';\n\n constructor(private publisher: Publisher) {}\n\n async report(args: PublishArgs, options: PublisherOptions) {\n const result = await this.json(args, options);\n const publishResults: ComponentResult[] = result.data;\n if (!publishResults.length) return 'no components were found candidate for publish';\n\n const publishOrDryRun = options.dryRun ? 'dry-run' : 'published';\n const title = chalk.white.bold(`successfully ${publishOrDryRun} the following components\\n`);\n const output = publishResults\n .map((publishResult) => {\n const compName = publishResult.component.id.toString();\n const getData = () => {\n if (publishResult.errors?.length) {\n return chalk.red(publishResult.errors.join('\\n'));\n }\n return chalk.green((publishResult.metadata?.publishedPackage as string) || '');\n };\n return `${chalk.bold(compName)}\\n${getData()}\\n`;\n })\n .join('\\n');\n return title + output;\n }\n\n async json(\n [componentId]: PublishArgs,\n options: PublisherOptions\n ): Promise<{ data: ComponentResult[]; code: number }> {\n const compId = typeof componentId === 'string' ? componentId : componentId[0];\n const packResult = await this.publisher.publish([compId], options);\n return {\n data: packResult,\n code: 0,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAMO,MAAMA,UAAN,CAAoC;EAYzCC,WAAW,CAASC,SAAT,EAA+B;IAAA,KAAtBA,SAAsB,GAAtBA,SAAsB;IAAA,8CAXnC,uBAWmC;IAAA,qDAV5B,yCAU4B;IAAA,iDAThC,CACR,CAAC,GAAD,EAAM,SAAN,EAAiB,uBAAjB,CADQ,EAER,CAAC,EAAD,EAAK,cAAL,EAAqB,uEAArB,CAFQ,EAGR,CAAC,GAAD,EAAM,MAAN,EAAc,2BAAd,CAHQ,CASgC;IAAA,+CAJlC,EAIkC;IAAA,iDAHhC,IAGgC;IAAA,+CAFlC,aAEkC;EAAE;;EAEhC,MAANC,MAAM,CAACC,IAAD,EAAoBC,OAApB,EAA+C;IACzD,MAAMC,MAAM,GAAG,MAAM,KAAKC,IAAL,CAAUH,IAAV,EAAgBC,OAAhB,CAArB;IACA,MAAMG,cAAiC,GAAGF,MAAM,CAACG,IAAjD;IACA,IAAI,CAACD,cAAc,CAACE,MAApB,EAA4B,OAAO,gDAAP;IAE5B,MAAMC,eAAe,GAAGN,OAAO,CAACO,MAAR,GAAiB,SAAjB,GAA6B,WAArD;;IACA,MAAMC,KAAK,GAAGC,gBAAA,CAAMC,KAAN,CAAYC,IAAZ,CAAkB,gBAAeL,eAAgB,6BAAjD,CAAd;;IACA,MAAMM,MAAM,GAAGT,cAAc,CAC1BU,GADY,CACPC,aAAD,IAAmB;MACtB,MAAMC,QAAQ,GAAGD,aAAa,CAACE,SAAd,CAAwBC,EAAxB,CAA2BC,QAA3B,EAAjB;;MACA,MAAMC,OAAO,GAAG,MAAM;QAAA;;QACpB,6BAAIL,aAAa,CAACM,MAAlB,kDAAI,sBAAsBf,MAA1B,EAAkC;UAChC,OAAOI,gBAAA,CAAMY,GAAN,CAAUP,aAAa,CAACM,MAAd,CAAqBE,IAArB,CAA0B,IAA1B,CAAV,CAAP;QACD;;QACD,OAAOb,gBAAA,CAAMc,KAAN,CAAY,0BAACT,aAAa,CAACU,QAAf,0DAAC,sBAAwBC,gBAAzB,KAAwD,EAApE,CAAP;MACD,CALD;;MAMA,OAAQ,GAAEhB,gBAAA,CAAME,IAAN,CAAWI,QAAX,CAAqB,KAAII,OAAO,EAAG,IAA7C;IACD,CAVY,EAWZG,IAXY,CAWP,IAXO,CAAf;IAYA,OAAOd,KAAK,GAAGI,MAAf;EACD;;EAES,MAAJV,IAAI,CACR,CAACwB,WAAD,CADQ,EAER1B,OAFQ,EAG4C;IACpD,MAAM2B,MAAM,GAAG,OAAOD,WAAP,KAAuB,QAAvB,GAAkCA,WAAlC,GAAgDA,WAAW,CAAC,CAAD,CAA1E;IACA,MAAME,UAAU,GAAG,MAAM,KAAK/B,SAAL,CAAegC,OAAf,CAAuB,CAACF,MAAD,CAAvB,EAAiC3B,OAAjC,CAAzB;IACA,OAAO;MACLI,IAAI,EAAEwB,UADD;MAELE,IAAI,EAAE;IAFD,CAAP;EAID;;AA9CwC"}
1
+ {"version":3,"names":["PublishCmd","constructor","publisher","name","description","COMPONENT_PATTERN_HELP","report","args","options","result","json","publishResults","data","length","publishOrDryRun","dryRun","title","chalk","white","bold","output","map","publishResult","compName","component","id","toString","getData","errors","red","join","green","metadata","publishedPackage","pattern","packResult","publish","code"],"sources":["publish.cmd.tsx"],"sourcesContent":["import { ComponentResult } from '@teambit/builder';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\n\nimport { Publisher, PublisherOptions } from './publisher';\n\ntype PublishArgs = [string];\n\nexport class PublishCmd implements Command {\n name = 'publish <component-pattern>';\n description = 'publish components to npm (npm publish)';\n arguments = [\n {\n name: 'component-pattern',\n description: COMPONENT_PATTERN_HELP,\n },\n ];\n options = [\n ['d', 'dry-run', 'npm publish --dry-run'],\n ['', 'allow-staged', 'allow publish components that were not exported yet (not recommended)'],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n alias = '';\n private = true;\n group = 'collaborate';\n\n constructor(private publisher: Publisher) {}\n\n async report(args: PublishArgs, options: PublisherOptions) {\n const result = await this.json(args, options);\n const publishResults: ComponentResult[] = result.data;\n if (!publishResults.length) return 'no components were found candidate for publish';\n\n const publishOrDryRun = options.dryRun ? 'dry-run' : 'published';\n const title = chalk.white.bold(`successfully ${publishOrDryRun} the following components\\n`);\n const output = publishResults\n .map((publishResult) => {\n const compName = publishResult.component.id.toString();\n const getData = () => {\n if (publishResult.errors?.length) {\n return chalk.red(publishResult.errors.join('\\n'));\n }\n return chalk.green((publishResult.metadata?.publishedPackage as string) || '');\n };\n return `${chalk.bold(compName)}\\n${getData()}\\n`;\n })\n .join('\\n');\n return title + output;\n }\n\n async json([pattern]: PublishArgs, options: PublisherOptions): Promise<{ data: ComponentResult[]; code: number }> {\n const packResult = await this.publisher.publish(pattern, options);\n return {\n data: packResult,\n code: 0,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAMO,MAAMA,UAAN,CAAoC;EAkBzCC,WAAW,CAASC,SAAT,EAA+B;IAAA,KAAtBA,SAAsB,GAAtBA,SAAsB;IAAA,8CAjBnC,6BAiBmC;IAAA,qDAhB5B,yCAgB4B;IAAA,mDAf9B,CACV;MACEC,IAAI,EAAE,mBADR;MAEEC,WAAW,EAAEC;IAFf,CADU,CAe8B;IAAA,iDAThC,CACR,CAAC,GAAD,EAAM,SAAN,EAAiB,uBAAjB,CADQ,EAER,CAAC,EAAD,EAAK,cAAL,EAAqB,uEAArB,CAFQ,EAGR,CAAC,GAAD,EAAM,MAAN,EAAc,2BAAd,CAHQ,CASgC;IAAA,+CAJlC,EAIkC;IAAA,iDAHhC,IAGgC;IAAA,+CAFlC,aAEkC;EAAE;;EAEhC,MAANC,MAAM,CAACC,IAAD,EAAoBC,OAApB,EAA+C;IACzD,MAAMC,MAAM,GAAG,MAAM,KAAKC,IAAL,CAAUH,IAAV,EAAgBC,OAAhB,CAArB;IACA,MAAMG,cAAiC,GAAGF,MAAM,CAACG,IAAjD;IACA,IAAI,CAACD,cAAc,CAACE,MAApB,EAA4B,OAAO,gDAAP;IAE5B,MAAMC,eAAe,GAAGN,OAAO,CAACO,MAAR,GAAiB,SAAjB,GAA6B,WAArD;;IACA,MAAMC,KAAK,GAAGC,gBAAA,CAAMC,KAAN,CAAYC,IAAZ,CAAkB,gBAAeL,eAAgB,6BAAjD,CAAd;;IACA,MAAMM,MAAM,GAAGT,cAAc,CAC1BU,GADY,CACPC,aAAD,IAAmB;MACtB,MAAMC,QAAQ,GAAGD,aAAa,CAACE,SAAd,CAAwBC,EAAxB,CAA2BC,QAA3B,EAAjB;;MACA,MAAMC,OAAO,GAAG,MAAM;QAAA;;QACpB,6BAAIL,aAAa,CAACM,MAAlB,kDAAI,sBAAsBf,MAA1B,EAAkC;UAChC,OAAOI,gBAAA,CAAMY,GAAN,CAAUP,aAAa,CAACM,MAAd,CAAqBE,IAArB,CAA0B,IAA1B,CAAV,CAAP;QACD;;QACD,OAAOb,gBAAA,CAAMc,KAAN,CAAY,0BAACT,aAAa,CAACU,QAAf,0DAAC,sBAAwBC,gBAAzB,KAAwD,EAApE,CAAP;MACD,CALD;;MAMA,OAAQ,GAAEhB,gBAAA,CAAME,IAAN,CAAWI,QAAX,CAAqB,KAAII,OAAO,EAAG,IAA7C;IACD,CAVY,EAWZG,IAXY,CAWP,IAXO,CAAf;IAYA,OAAOd,KAAK,GAAGI,MAAf;EACD;;EAES,MAAJV,IAAI,CAAC,CAACwB,OAAD,CAAD,EAAyB1B,OAAzB,EAAwG;IAChH,MAAM2B,UAAU,GAAG,MAAM,KAAKjC,SAAL,CAAekC,OAAf,CAAuBF,OAAvB,EAAgC1B,OAAhC,CAAzB;IACA,OAAO;MACLI,IAAI,EAAEuB,UADD;MAELE,IAAI,EAAE;IAFD,CAAP;EAID;;AAhDwC"}
@@ -16,7 +16,7 @@ export declare class Publisher {
16
16
  options: PublisherOptions;
17
17
  packageManager: string;
18
18
  constructor(isolator: IsolatorMain, logger: Logger, scope: Scope, workspace: Workspace, options?: PublisherOptions);
19
- publish(componentIds: string[], options: PublisherOptions): Promise<ComponentResult[]>;
19
+ publish(componentPattern: string, options: PublisherOptions): Promise<ComponentResult[]>;
20
20
  publishMultipleCapsules(capsules: Capsule[]): Promise<ComponentResult[]>;
21
21
  private publishOneCapsule;
22
22
  private getTagFlagForPreRelease;
package/dist/publisher.js CHANGED
@@ -90,13 +90,8 @@ class Publisher {
90
90
  (0, _defineProperty2().default)(this, "packageManager", 'npm');
91
91
  }
92
92
 
93
- async publish(componentIds, options) {
94
- // @todo: replace by `workspace.byPatter` once ready.
95
- if (componentIds.length === 1 && componentIds[0] === '*') {
96
- const all = this.workspace.consumer.bitMap.getAuthoredAndImportedBitIds();
97
- componentIds = all.map(id => id.toString());
98
- }
99
-
93
+ async publish(componentPattern, options) {
94
+ const componentIds = await this.workspace.idsByPattern(componentPattern);
100
95
  this.options = options;
101
96
  const capsules = await this.getComponentCapsules(componentIds); // const capsules = await this.getComponentCapsulesFromScope(componentIds);
102
97
 
@@ -190,10 +185,9 @@ class Publisher {
190
185
 
191
186
 
192
187
  async getIdsToPublish(componentIds) {
193
- const bitIds = await Promise.all(componentIds.map(id => this.scope.getParsedId(id)));
194
- await this.throwForNonStagedOrTaggedComponents(bitIds);
188
+ await this.throwForNonStagedOrTaggedComponents(componentIds);
195
189
 
196
- const ids = _bitId().BitIds.fromArray(bitIds);
190
+ const ids = _bitId().BitIds.fromArray(componentIds.map(compId => compId._legacy));
197
191
 
198
192
  const components = await this.scope.getComponentsAndVersions(ids, true);
199
193
  return components.filter(c => this.shouldPublish(c.version.extensions)).map(c => c.component.toBitId().changeVersion(c.versionStr).toString());
@@ -215,8 +209,8 @@ class Publisher {
215
209
  return pkgExt === null || pkgExt === void 0 ? void 0 : (_pkgExt$config3 = pkgExt.config) === null || _pkgExt$config3 === void 0 ? void 0 : _pkgExt$config3.packageManagerPublishArgs;
216
210
  }
217
211
 
218
- async throwForNonStagedOrTaggedComponents(bitIds) {
219
- const idsWithoutScope = bitIds.filter(id => !id.hasScope());
212
+ async throwForNonStagedOrTaggedComponents(componentIds) {
213
+ const idsWithoutScope = componentIds.filter(id => !id._legacy.hasScope());
220
214
  if (!idsWithoutScope.length) return;
221
215
 
222
216
  if (!this.options.allowStaged && !this.options.dryRun) {
@@ -225,7 +219,7 @@ class Publisher {
225
219
 
226
220
  const missingFromScope = [];
227
221
  await Promise.all(idsWithoutScope.map(async id => {
228
- const inScope = await this.scope.isComponentInScope(id);
222
+ const inScope = await this.scope.isComponentInScope(id._legacy);
229
223
 
230
224
  if (!inScope) {
231
225
  missingFromScope.push(id);
@@ -1 +1 @@
1
- {"version":3,"names":["Publisher","constructor","isolator","logger","scope","workspace","options","publish","componentIds","length","all","consumer","bitMap","getAuthoredAndImportedBitIds","map","id","toString","capsules","getComponentCapsules","publishMultipleCapsules","description","dryRun","longProcessLogger","createLongProcessLogger","results","mapSeries","capsule","logProgress","component","publishOneCapsule","end","startTime","Date","now","publishParams","push","getTagFlagForPreRelease","extraArgs","getExtraArgsFromConfig","Array","isArray","extraArgsSplit","arg","split","flat","publishParamsStr","join","cwd","path","componentIdStr","errors","metadata","stdout","stderr","execa","packageManager","debug","publishedPackage","replace","err","errorMsg","error","endTime","preReleaseData","getVersionPreReleaseData","maybeIdentifier","idsToPublish","getIdsToPublish","componentIdsToPublish","resolveMultipleComponentIds","network","isolateComponents","packageManagerConfigRootDir","seedersCapsules","bitIds","Promise","getParsedId","throwForNonStagedOrTaggedComponents","ids","BitIds","fromArray","components","getComponentsAndVersions","filter","c","shouldPublish","version","extensions","toBitId","changeVersion","versionStr","pkgExt","findExtension","PkgAspect","config","packageJson","name","publishConfig","packageManagerPublishArgs","idsWithoutScope","hasScope","allowStaged","BitError","missingFromScope","inScope","isComponentInScope"],"sources":["publisher.ts"],"sourcesContent":["import { ComponentResult, TaskMetadata } from '@teambit/builder';\nimport { Component, ComponentID } from '@teambit/component';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { BitId } from '@teambit/legacy-bit-id';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport mapSeries from 'p-map-series';\nimport execa from 'execa';\nimport { PkgAspect } from './pkg.aspect';\n\nexport type PublisherOptions = {\n dryRun?: boolean;\n allowStaged?: boolean;\n};\n\nexport class Publisher {\n packageManager = 'npm'; // @todo: decide if this is mandatory or using the workspace settings\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private scope: Scope,\n private workspace: Workspace,\n public options: PublisherOptions = {}\n ) {}\n\n async publish(componentIds: string[], options: PublisherOptions): Promise<ComponentResult[]> {\n // @todo: replace by `workspace.byPatter` once ready.\n if (componentIds.length === 1 && componentIds[0] === '*') {\n const all = this.workspace.consumer.bitMap.getAuthoredAndImportedBitIds();\n componentIds = all.map((id) => id.toString());\n }\n this.options = options;\n const capsules = await this.getComponentCapsules(componentIds);\n // const capsules = await this.getComponentCapsulesFromScope(componentIds);\n return this.publishMultipleCapsules(capsules);\n }\n\n public async publishMultipleCapsules(capsules: Capsule[]): Promise<ComponentResult[]> {\n const description = `publish components${this.options.dryRun ? ' (dry-run)' : ''}`;\n const longProcessLogger = this.logger.createLongProcessLogger(description, capsules.length);\n const results = mapSeries(capsules, (capsule) => {\n longProcessLogger.logProgress(capsule.component.id.toString());\n return this.publishOneCapsule(capsule);\n });\n longProcessLogger.end();\n return results;\n }\n\n private async publishOneCapsule(capsule: Capsule): Promise<ComponentResult> {\n const startTime = Date.now();\n const publishParams = ['publish'];\n if (this.options.dryRun) publishParams.push('--dry-run');\n publishParams.push(...this.getTagFlagForPreRelease(capsule.component.id));\n const extraArgs = this.getExtraArgsFromConfig(capsule.component);\n if (extraArgs && Array.isArray(extraArgs) && extraArgs?.length) {\n const extraArgsSplit = extraArgs.map((arg) => arg.split(' ')).flat();\n publishParams.push(...extraArgsSplit);\n }\n const publishParamsStr = publishParams.join(' ');\n const cwd = capsule.path;\n const componentIdStr = capsule.id.toString();\n const errors: string[] = [];\n let metadata: TaskMetadata = {};\n try {\n // @todo: once capsule.exec works properly, replace this\n const { stdout, stderr } = await execa(this.packageManager, publishParams, { cwd });\n this.logger.debug(`${componentIdStr}, successfully ran ${this.packageManager} ${publishParamsStr} at ${cwd}`);\n this.logger.debug(`${componentIdStr}, stdout: ${stdout}`);\n this.logger.debug(`${componentIdStr}, stderr: ${stderr}`);\n const publishedPackage = stdout.replace('+ ', ''); // npm adds \"+ \" prefix before the published package\n metadata = this.options.dryRun ? {} : { publishedPackage };\n } catch (err: any) {\n const errorMsg = `failed running ${this.packageManager} ${publishParamsStr} at ${cwd}`;\n this.logger.error(`${componentIdStr}, ${errorMsg}`);\n if (err.stderr) this.logger.error(`${componentIdStr}, ${err.stderr}`);\n errors.push(`${errorMsg}\\n${err.stderr}`);\n }\n const component = capsule.component;\n return { component, metadata, errors, startTime, endTime: Date.now() };\n }\n\n private getTagFlagForPreRelease(id: ComponentID): string[] {\n const preReleaseData = id.getVersionPreReleaseData();\n if (!preReleaseData) return [];\n const maybeIdentifier = preReleaseData[0]; // it can be numeric as in 1.0.0-0.\n if (typeof maybeIdentifier !== 'string') return [];\n return ['--tag', maybeIdentifier];\n }\n\n private async getComponentCapsules(componentIds: string[]): Promise<Capsule[]> {\n const idsToPublish = await this.getIdsToPublish(componentIds);\n this.logger.debug(`total ${idsToPublish.length} to publish out of ${componentIds.length}`);\n const componentIdsToPublish = await this.workspace.resolveMultipleComponentIds(idsToPublish);\n const network = await this.isolator.isolateComponents(componentIdsToPublish, {\n packageManagerConfigRootDir: this.workspace.path,\n });\n return network.seedersCapsules;\n }\n\n /**\n * only components that use pkg extension and configure \"publishConfig\" with their own registry\n * or custom \"name\", should be published. ignore the rest.\n */\n private async getIdsToPublish(componentIds: string[]): Promise<string[]> {\n const bitIds = await Promise.all(componentIds.map((id) => this.scope.getParsedId(id)));\n await this.throwForNonStagedOrTaggedComponents(bitIds);\n const ids = BitIds.fromArray(bitIds);\n const components = await this.scope.getComponentsAndVersions(ids, true);\n return components\n .filter((c) => this.shouldPublish(c.version.extensions))\n .map((c) => c.component.toBitId().changeVersion(c.versionStr).toString());\n }\n\n // TODO: consider using isPublishedToExternalRegistry from pkg.main.runtime (need to send it a component not extensions)\n public shouldPublish(extensions: ExtensionDataList): boolean {\n const pkgExt = extensions.findExtension(PkgAspect.id);\n if (!pkgExt) return false;\n return pkgExt.config?.packageJson?.name || pkgExt.config?.packageJson?.publishConfig;\n }\n\n private getExtraArgsFromConfig(component: Component): string | undefined {\n const pkgExt = component.config.extensions.findExtension(PkgAspect.id);\n return pkgExt?.config?.packageManagerPublishArgs;\n }\n\n private async throwForNonStagedOrTaggedComponents(bitIds: BitId[]) {\n const idsWithoutScope = bitIds.filter((id) => !id.hasScope());\n if (!idsWithoutScope.length) return;\n if (!this.options.allowStaged && !this.options.dryRun) {\n throw new BitError(\n `unable to publish the following component(s), please make sure they are exported: ${idsWithoutScope.join(\n ', '\n )}`\n );\n }\n const missingFromScope: BitId[] = [];\n await Promise.all(\n idsWithoutScope.map(async (id) => {\n const inScope = await this.scope.isComponentInScope(id);\n if (!inScope) {\n missingFromScope.push(id);\n }\n })\n );\n if (missingFromScope.length) {\n throw new BitError(\n `unable to publish the following component(s), please make sure they are tagged: ${missingFromScope.join(', ')}`\n );\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Publisher","constructor","isolator","logger","scope","workspace","options","publish","componentPattern","componentIds","idsByPattern","capsules","getComponentCapsules","publishMultipleCapsules","description","dryRun","longProcessLogger","createLongProcessLogger","length","results","mapSeries","capsule","logProgress","component","id","toString","publishOneCapsule","end","startTime","Date","now","publishParams","push","getTagFlagForPreRelease","extraArgs","getExtraArgsFromConfig","Array","isArray","extraArgsSplit","map","arg","split","flat","publishParamsStr","join","cwd","path","componentIdStr","errors","metadata","stdout","stderr","execa","packageManager","debug","publishedPackage","replace","err","errorMsg","error","endTime","preReleaseData","getVersionPreReleaseData","maybeIdentifier","idsToPublish","getIdsToPublish","componentIdsToPublish","resolveMultipleComponentIds","network","isolateComponents","packageManagerConfigRootDir","seedersCapsules","throwForNonStagedOrTaggedComponents","ids","BitIds","fromArray","compId","_legacy","components","getComponentsAndVersions","filter","c","shouldPublish","version","extensions","toBitId","changeVersion","versionStr","pkgExt","findExtension","PkgAspect","config","packageJson","name","publishConfig","packageManagerPublishArgs","idsWithoutScope","hasScope","allowStaged","BitError","missingFromScope","Promise","all","inScope","isComponentInScope"],"sources":["publisher.ts"],"sourcesContent":["import { ComponentResult, TaskMetadata } from '@teambit/builder';\nimport { Component, ComponentID } from '@teambit/component';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { Workspace } from '@teambit/workspace';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport { ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport mapSeries from 'p-map-series';\nimport execa from 'execa';\nimport { PkgAspect } from './pkg.aspect';\n\nexport type PublisherOptions = {\n dryRun?: boolean;\n allowStaged?: boolean;\n};\n\nexport class Publisher {\n packageManager = 'npm'; // @todo: decide if this is mandatory or using the workspace settings\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private scope: Scope,\n private workspace: Workspace,\n public options: PublisherOptions = {}\n ) {}\n\n async publish(componentPattern: string, options: PublisherOptions): Promise<ComponentResult[]> {\n const componentIds = await this.workspace.idsByPattern(componentPattern);\n this.options = options;\n const capsules = await this.getComponentCapsules(componentIds);\n // const capsules = await this.getComponentCapsulesFromScope(componentIds);\n return this.publishMultipleCapsules(capsules);\n }\n\n public async publishMultipleCapsules(capsules: Capsule[]): Promise<ComponentResult[]> {\n const description = `publish components${this.options.dryRun ? ' (dry-run)' : ''}`;\n const longProcessLogger = this.logger.createLongProcessLogger(description, capsules.length);\n const results = mapSeries(capsules, (capsule) => {\n longProcessLogger.logProgress(capsule.component.id.toString());\n return this.publishOneCapsule(capsule);\n });\n longProcessLogger.end();\n return results;\n }\n\n private async publishOneCapsule(capsule: Capsule): Promise<ComponentResult> {\n const startTime = Date.now();\n const publishParams = ['publish'];\n if (this.options.dryRun) publishParams.push('--dry-run');\n publishParams.push(...this.getTagFlagForPreRelease(capsule.component.id));\n const extraArgs = this.getExtraArgsFromConfig(capsule.component);\n if (extraArgs && Array.isArray(extraArgs) && extraArgs?.length) {\n const extraArgsSplit = extraArgs.map((arg) => arg.split(' ')).flat();\n publishParams.push(...extraArgsSplit);\n }\n const publishParamsStr = publishParams.join(' ');\n const cwd = capsule.path;\n const componentIdStr = capsule.id.toString();\n const errors: string[] = [];\n let metadata: TaskMetadata = {};\n try {\n // @todo: once capsule.exec works properly, replace this\n const { stdout, stderr } = await execa(this.packageManager, publishParams, { cwd });\n this.logger.debug(`${componentIdStr}, successfully ran ${this.packageManager} ${publishParamsStr} at ${cwd}`);\n this.logger.debug(`${componentIdStr}, stdout: ${stdout}`);\n this.logger.debug(`${componentIdStr}, stderr: ${stderr}`);\n const publishedPackage = stdout.replace('+ ', ''); // npm adds \"+ \" prefix before the published package\n metadata = this.options.dryRun ? {} : { publishedPackage };\n } catch (err: any) {\n const errorMsg = `failed running ${this.packageManager} ${publishParamsStr} at ${cwd}`;\n this.logger.error(`${componentIdStr}, ${errorMsg}`);\n if (err.stderr) this.logger.error(`${componentIdStr}, ${err.stderr}`);\n errors.push(`${errorMsg}\\n${err.stderr}`);\n }\n const component = capsule.component;\n return { component, metadata, errors, startTime, endTime: Date.now() };\n }\n\n private getTagFlagForPreRelease(id: ComponentID): string[] {\n const preReleaseData = id.getVersionPreReleaseData();\n if (!preReleaseData) return [];\n const maybeIdentifier = preReleaseData[0]; // it can be numeric as in 1.0.0-0.\n if (typeof maybeIdentifier !== 'string') return [];\n return ['--tag', maybeIdentifier];\n }\n\n private async getComponentCapsules(componentIds: ComponentID[]): Promise<Capsule[]> {\n const idsToPublish = await this.getIdsToPublish(componentIds);\n this.logger.debug(`total ${idsToPublish.length} to publish out of ${componentIds.length}`);\n const componentIdsToPublish = await this.workspace.resolveMultipleComponentIds(idsToPublish);\n const network = await this.isolator.isolateComponents(componentIdsToPublish, {\n packageManagerConfigRootDir: this.workspace.path,\n });\n return network.seedersCapsules;\n }\n\n /**\n * only components that use pkg extension and configure \"publishConfig\" with their own registry\n * or custom \"name\", should be published. ignore the rest.\n */\n private async getIdsToPublish(componentIds: ComponentID[]): Promise<string[]> {\n await this.throwForNonStagedOrTaggedComponents(componentIds);\n const ids = BitIds.fromArray(componentIds.map((compId) => compId._legacy));\n const components = await this.scope.getComponentsAndVersions(ids, true);\n return components\n .filter((c) => this.shouldPublish(c.version.extensions))\n .map((c) => c.component.toBitId().changeVersion(c.versionStr).toString());\n }\n\n // TODO: consider using isPublishedToExternalRegistry from pkg.main.runtime (need to send it a component not extensions)\n public shouldPublish(extensions: ExtensionDataList): boolean {\n const pkgExt = extensions.findExtension(PkgAspect.id);\n if (!pkgExt) return false;\n return pkgExt.config?.packageJson?.name || pkgExt.config?.packageJson?.publishConfig;\n }\n\n private getExtraArgsFromConfig(component: Component): string | undefined {\n const pkgExt = component.config.extensions.findExtension(PkgAspect.id);\n return pkgExt?.config?.packageManagerPublishArgs;\n }\n\n private async throwForNonStagedOrTaggedComponents(componentIds: ComponentID[]) {\n const idsWithoutScope = componentIds.filter((id) => !id._legacy.hasScope());\n if (!idsWithoutScope.length) return;\n if (!this.options.allowStaged && !this.options.dryRun) {\n throw new BitError(\n `unable to publish the following component(s), please make sure they are exported: ${idsWithoutScope.join(\n ', '\n )}`\n );\n }\n const missingFromScope: ComponentID[] = [];\n await Promise.all(\n idsWithoutScope.map(async (id) => {\n const inScope = await this.scope.isComponentInScope(id._legacy);\n if (!inScope) {\n missingFromScope.push(id);\n }\n })\n );\n if (missingFromScope.length) {\n throw new BitError(\n `unable to publish the following component(s), please make sure they are tagged: ${missingFromScope.join(', ')}`\n );\n }\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/pkg",
3
- "version": "0.0.808",
3
+ "version": "0.0.809",
4
4
  "homepage": "https://bit.dev/teambit/pkg/pkg",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pkg",
8
8
  "name": "pkg",
9
- "version": "0.0.808"
9
+ "version": "0.0.809"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -22,25 +22,24 @@
22
22
  "@babel/runtime": "7.12.18",
23
23
  "core-js": "^3.0.0",
24
24
  "@teambit/harmony": "0.3.3",
25
- "@teambit/cli": "0.0.539",
26
- "@teambit/builder": "0.0.808",
27
- "@teambit/logger": "0.0.632",
28
- "@teambit/component": "0.0.808",
29
- "@teambit/express": "0.0.637",
30
- "@teambit/isolator": "0.0.808",
31
- "@teambit/scope": "0.0.808",
32
- "@teambit/graphql": "0.0.808",
25
+ "@teambit/cli": "0.0.540",
26
+ "@teambit/builder": "0.0.809",
27
+ "@teambit/logger": "0.0.633",
28
+ "@teambit/component": "0.0.809",
29
+ "@teambit/express": "0.0.638",
30
+ "@teambit/isolator": "0.0.809",
31
+ "@teambit/scope": "0.0.809",
32
+ "@teambit/graphql": "0.0.809",
33
33
  "@teambit/bit-error": "0.0.394",
34
34
  "@teambit/component-issues": "0.0.60",
35
35
  "@teambit/component-package-version": "0.0.401",
36
- "@teambit/dependency-resolver": "0.0.808",
37
- "@teambit/envs": "0.0.808",
38
- "@teambit/new-component-helper": "0.0.212",
39
- "@teambit/workspace": "0.0.808",
36
+ "@teambit/dependency-resolver": "0.0.809",
37
+ "@teambit/envs": "0.0.809",
38
+ "@teambit/new-component-helper": "0.0.213",
39
+ "@teambit/workspace": "0.0.809",
40
40
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.116",
41
- "@teambit/ui": "0.0.808",
42
- "@teambit/compiler": "0.0.808",
43
- "@teambit/legacy-bit-id": "0.0.402"
41
+ "@teambit/ui": "0.0.809",
42
+ "@teambit/compiler": "0.0.809"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@types/mime": "2.0.3",
@@ -55,7 +54,7 @@
55
54
  "@teambit/pkg.content.packages-overview": "1.95.9"
56
55
  },
57
56
  "peerDependencies": {
58
- "@teambit/legacy": "1.0.322",
57
+ "@teambit/legacy": "1.0.323",
59
58
  "react-dom": "^16.8.0 || ^17.0.0",
60
59
  "react": "^16.8.0 || ^17.0.0"
61
60
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pkg_pkg@0.0.808/dist/pkg.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pkg_pkg@0.0.808/dist/pkg.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pkg_pkg@0.0.809/dist/pkg.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.pkg_pkg@0.0.809/dist/pkg.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/publish.cmd.tsx CHANGED
@@ -1,14 +1,21 @@
1
1
  import { ComponentResult } from '@teambit/builder';
2
2
  import { Command, CommandOptions } from '@teambit/cli';
3
3
  import chalk from 'chalk';
4
+ import { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';
4
5
 
5
6
  import { Publisher, PublisherOptions } from './publisher';
6
7
 
7
8
  type PublishArgs = [string];
8
9
 
9
10
  export class PublishCmd implements Command {
10
- name = 'publish <componentId>';
11
+ name = 'publish <component-pattern>';
11
12
  description = 'publish components to npm (npm publish)';
13
+ arguments = [
14
+ {
15
+ name: 'component-pattern',
16
+ description: COMPONENT_PATTERN_HELP,
17
+ },
18
+ ];
12
19
  options = [
13
20
  ['d', 'dry-run', 'npm publish --dry-run'],
14
21
  ['', 'allow-staged', 'allow publish components that were not exported yet (not recommended)'],
@@ -42,12 +49,8 @@ export class PublishCmd implements Command {
42
49
  return title + output;
43
50
  }
44
51
 
45
- async json(
46
- [componentId]: PublishArgs,
47
- options: PublisherOptions
48
- ): Promise<{ data: ComponentResult[]; code: number }> {
49
- const compId = typeof componentId === 'string' ? componentId : componentId[0];
50
- const packResult = await this.publisher.publish([compId], options);
52
+ async json([pattern]: PublishArgs, options: PublisherOptions): Promise<{ data: ComponentResult[]; code: number }> {
53
+ const packResult = await this.publisher.publish(pattern, options);
51
54
  return {
52
55
  data: packResult,
53
56
  code: 0,
Binary file