@teambit/pkg 1.0.1155 → 1.0.1157

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.
package/dist/index.d.ts CHANGED
@@ -2,5 +2,6 @@ export type { PkgMain, PackageJsonProps, ComponentPackageManifest, ComponentPkgE
2
2
  export type { PackageDependency, PackageDependencyFactory } from './package-dependency';
3
3
  export type { PackageEnv } from './package-env-type';
4
4
  export { PackageGenerator, ModifyPackageJsonFunc } from './package-generator';
5
+ export { shouldPublishToExternalRegistry, getPublishRegistry } from './publish-config';
5
6
  export { PkgAspect as default, PkgAspect } from './pkg.aspect';
6
7
  export { PkgUI } from './pkg.ui.runtime';
package/dist/index.js CHANGED
@@ -33,6 +33,18 @@ Object.defineProperty(exports, "default", {
33
33
  return _pkg().PkgAspect;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "getPublishRegistry", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _publishConfig().getPublishRegistry;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "shouldPublishToExternalRegistry", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _publishConfig().shouldPublishToExternalRegistry;
46
+ }
47
+ });
36
48
  function _packageGenerator() {
37
49
  const data = require("./package-generator");
38
50
  _packageGenerator = function () {
@@ -40,6 +52,13 @@ function _packageGenerator() {
40
52
  };
41
53
  return data;
42
54
  }
55
+ function _publishConfig() {
56
+ const data = require("./publish-config");
57
+ _publishConfig = function () {
58
+ return data;
59
+ };
60
+ return data;
61
+ }
43
62
  function _pkg() {
44
63
  const data = require("./pkg.aspect");
45
64
  _pkg = function () {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_packageGenerator","data","require","_pkg","_pkgUi"],"sources":["index.ts"],"sourcesContent":["export type {\n PkgMain,\n PackageJsonProps,\n ComponentPackageManifest,\n ComponentPkgExtensionData,\n VersionPackageManifest,\n} from './pkg.main.runtime';\nexport type { PackageDependency, PackageDependencyFactory } from './package-dependency';\nexport type { PackageEnv } from './package-env-type';\nexport { PackageGenerator, ModifyPackageJsonFunc } from './package-generator';\nexport { PkgAspect as default, PkgAspect } from './pkg.aspect';\nexport { PkgUI } from './pkg.ui.runtime';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAAA,kBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,iBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,KAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,OAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,MAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_packageGenerator","data","require","_publishConfig","_pkg","_pkgUi"],"sources":["index.ts"],"sourcesContent":["export type {\n PkgMain,\n PackageJsonProps,\n ComponentPackageManifest,\n ComponentPkgExtensionData,\n VersionPackageManifest,\n} from './pkg.main.runtime';\nexport type { PackageDependency, PackageDependencyFactory } from './package-dependency';\nexport type { PackageEnv } from './package-env-type';\nexport { PackageGenerator, ModifyPackageJsonFunc } from './package-generator';\nexport { shouldPublishToExternalRegistry, getPublishRegistry } from './publish-config';\nexport { PkgAspect as default, PkgAspect } from './pkg.aspect';\nexport { PkgUI } from './pkg.ui.runtime';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAAAA,kBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,iBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pkg_pkg@1.0.1155/dist/pkg.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pkg_pkg@1.0.1155/dist/pkg.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pkg_pkg@1.0.1157/dist/pkg.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pkg_pkg@1.0.1157/dist/pkg.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -0,0 +1,16 @@
1
+ import type { PkgExtensionConfig } from './pkg.main.runtime';
2
+ /**
3
+ * whether the component is published to an external registry (npm), rather than to bit's own one.
4
+ * this is the gate for the publish task: by default nothing is published externally.
5
+ */
6
+ export declare function shouldPublishToExternalRegistry(config?: PkgExtensionConfig): boolean;
7
+ /**
8
+ * the extra arguments to pass to `npm publish`. each configured entry may hold several flags.
9
+ */
10
+ export declare function getPublishArgs(config?: PkgExtensionConfig): string[];
11
+ /**
12
+ * the registry `npm publish` will use for this component, when it is not the default one for the
13
+ * package's scope. follows npm's own precedence: the `--registry` argument beats `publishConfig`,
14
+ * which beats the scope's registry from the npmrc. undefined means "whatever the scope resolves to".
15
+ */
16
+ export declare function getPublishRegistry(config?: PkgExtensionConfig): string | undefined;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPublishArgs = getPublishArgs;
7
+ exports.getPublishRegistry = getPublishRegistry;
8
+ exports.shouldPublishToExternalRegistry = shouldPublishToExternalRegistry;
9
+ /**
10
+ * whether the component is published to an external registry (npm), rather than to bit's own one.
11
+ * this is the gate for the publish task: by default nothing is published externally.
12
+ */
13
+ function shouldPublishToExternalRegistry(config) {
14
+ if (!config || config.avoidPublishToNPM) return false;
15
+ return Boolean(config.packageJson?.name || config.packageJson?.publishConfig);
16
+ }
17
+
18
+ /**
19
+ * the extra arguments to pass to `npm publish`. each configured entry may hold several flags.
20
+ */
21
+ function getPublishArgs(config) {
22
+ const args = config?.packageManagerPublishArgs;
23
+ if (!Array.isArray(args)) return [];
24
+ return args.flatMap(arg => arg.split(' '));
25
+ }
26
+
27
+ /**
28
+ * the registry `npm publish` will use for this component, when it is not the default one for the
29
+ * package's scope. follows npm's own precedence: the `--registry` argument beats `publishConfig`,
30
+ * which beats the scope's registry from the npmrc. undefined means "whatever the scope resolves to".
31
+ */
32
+ function getPublishRegistry(config) {
33
+ // matched on the joined args so that `--registry <url>` and `--registry=<url>` read the same
34
+ const registryArg = getPublishArgs(config).join(' ').match(/--registry[ =](\S+)/)?.[1];
35
+ return registryArg || config?.packageJson?.publishConfig?.registry;
36
+ }
37
+
38
+ //# sourceMappingURL=publish-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shouldPublishToExternalRegistry","config","avoidPublishToNPM","Boolean","packageJson","name","publishConfig","getPublishArgs","args","packageManagerPublishArgs","Array","isArray","flatMap","arg","split","getPublishRegistry","registryArg","join","match","registry"],"sources":["publish-config.ts"],"sourcesContent":["import type { PkgExtensionConfig } from './pkg.main.runtime';\n\n/**\n * whether the component is published to an external registry (npm), rather than to bit's own one.\n * this is the gate for the publish task: by default nothing is published externally.\n */\nexport function shouldPublishToExternalRegistry(config?: PkgExtensionConfig): boolean {\n if (!config || config.avoidPublishToNPM) return false;\n return Boolean(config.packageJson?.name || config.packageJson?.publishConfig);\n}\n\n/**\n * the extra arguments to pass to `npm publish`. each configured entry may hold several flags.\n */\nexport function getPublishArgs(config?: PkgExtensionConfig): string[] {\n const args = config?.packageManagerPublishArgs;\n if (!Array.isArray(args)) return [];\n return args.flatMap((arg) => arg.split(' '));\n}\n\n/**\n * the registry `npm publish` will use for this component, when it is not the default one for the\n * package's scope. follows npm's own precedence: the `--registry` argument beats `publishConfig`,\n * which beats the scope's registry from the npmrc. undefined means \"whatever the scope resolves to\".\n */\nexport function getPublishRegistry(config?: PkgExtensionConfig): string | undefined {\n // matched on the joined args so that `--registry <url>` and `--registry=<url>` read the same\n const registryArg = getPublishArgs(config)\n .join(' ')\n .match(/--registry[ =](\\S+)/)?.[1];\n return registryArg || config?.packageJson?.publishConfig?.registry;\n}\n"],"mappings":";;;;;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,+BAA+BA,CAACC,MAA2B,EAAW;EACpF,IAAI,CAACA,MAAM,IAAIA,MAAM,CAACC,iBAAiB,EAAE,OAAO,KAAK;EACrD,OAAOC,OAAO,CAACF,MAAM,CAACG,WAAW,EAAEC,IAAI,IAAIJ,MAAM,CAACG,WAAW,EAAEE,aAAa,CAAC;AAC/E;;AAEA;AACA;AACA;AACO,SAASC,cAAcA,CAACN,MAA2B,EAAY;EACpE,MAAMO,IAAI,GAAGP,MAAM,EAAEQ,yBAAyB;EAC9C,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE,OAAO,EAAE;EACnC,OAAOA,IAAI,CAACI,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9C;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACd,MAA2B,EAAsB;EAClF;EACA,MAAMe,WAAW,GAAGT,cAAc,CAACN,MAAM,CAAC,CACvCgB,IAAI,CAAC,GAAG,CAAC,CACTC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;EACpC,OAAOF,WAAW,IAAIf,MAAM,EAAEG,WAAW,EAAEE,aAAa,EAAEa,QAAQ;AACpE","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ function _chai() {
4
+ const data = require("chai");
5
+ _chai = function () {
6
+ return data;
7
+ };
8
+ return data;
9
+ }
10
+ function _publishConfig() {
11
+ const data = require("./publish-config");
12
+ _publishConfig = function () {
13
+ return data;
14
+ };
15
+ return data;
16
+ }
17
+ describe('publish-config', () => {
18
+ describe('shouldPublishToExternalRegistry', () => {
19
+ it('should not publish without a pkg config', () => {
20
+ (0, _chai().expect)((0, _publishConfig().shouldPublishToExternalRegistry)(undefined)).to.equal(false);
21
+ (0, _chai().expect)((0, _publishConfig().shouldPublishToExternalRegistry)({})).to.equal(false);
22
+ });
23
+ it('should publish when the package has a name or a publishConfig', () => {
24
+ (0, _chai().expect)((0, _publishConfig().shouldPublishToExternalRegistry)({
25
+ packageJson: {
26
+ name: '@org/pkg'
27
+ }
28
+ })).to.equal(true);
29
+ (0, _chai().expect)((0, _publishConfig().shouldPublishToExternalRegistry)({
30
+ packageJson: {
31
+ publishConfig: {}
32
+ }
33
+ })).to.equal(true);
34
+ });
35
+ it('should honor the avoidPublishToNPM opt-out', () => {
36
+ (0, _chai().expect)((0, _publishConfig().shouldPublishToExternalRegistry)({
37
+ packageJson: {
38
+ name: '@org/pkg'
39
+ },
40
+ avoidPublishToNPM: true
41
+ })).to.equal(false);
42
+ });
43
+ });
44
+ describe('getPublishRegistry', () => {
45
+ it('should return undefined when no registry is configured', () => {
46
+ (0, _chai().expect)((0, _publishConfig().getPublishRegistry)(undefined)).to.equal(undefined);
47
+ (0, _chai().expect)((0, _publishConfig().getPublishRegistry)({
48
+ packageManagerPublishArgs: ['--access public']
49
+ })).to.equal(undefined);
50
+ });
51
+ it('should read the registry from publishConfig', () => {
52
+ (0, _chai().expect)((0, _publishConfig().getPublishRegistry)({
53
+ packageJson: {
54
+ publishConfig: {
55
+ registry: 'https://a.example.com/'
56
+ }
57
+ }
58
+ })).to.equal('https://a.example.com/');
59
+ });
60
+ it('should read a --registry argument given with a space or with "="', () => {
61
+ (0, _chai().expect)((0, _publishConfig().getPublishRegistry)({
62
+ packageManagerPublishArgs: ['--registry https://a.example.com/']
63
+ })).to.equal('https://a.example.com/');
64
+ (0, _chai().expect)((0, _publishConfig().getPublishRegistry)({
65
+ packageManagerPublishArgs: ['--registry=https://a.example.com/']
66
+ })).to.equal('https://a.example.com/');
67
+ });
68
+ it('should prefer the --registry argument over publishConfig', () => {
69
+ const registry = (0, _publishConfig().getPublishRegistry)({
70
+ packageManagerPublishArgs: ['--access', 'public', '--registry', 'https://a.example.com/'],
71
+ packageJson: {
72
+ publishConfig: {
73
+ registry: 'https://b.example.com/'
74
+ }
75
+ }
76
+ });
77
+ (0, _chai().expect)(registry).to.equal('https://a.example.com/');
78
+ });
79
+ });
80
+ });
81
+
82
+ //# sourceMappingURL=publish-config.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_chai","data","require","_publishConfig","describe","it","expect","shouldPublishToExternalRegistry","undefined","to","equal","packageJson","name","publishConfig","avoidPublishToNPM","getPublishRegistry","packageManagerPublishArgs","registry"],"sources":["publish-config.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { getPublishRegistry, shouldPublishToExternalRegistry } from './publish-config';\n\ndescribe('publish-config', () => {\n describe('shouldPublishToExternalRegistry', () => {\n it('should not publish without a pkg config', () => {\n expect(shouldPublishToExternalRegistry(undefined)).to.equal(false);\n expect(shouldPublishToExternalRegistry({})).to.equal(false);\n });\n it('should publish when the package has a name or a publishConfig', () => {\n expect(shouldPublishToExternalRegistry({ packageJson: { name: '@org/pkg' } })).to.equal(true);\n expect(shouldPublishToExternalRegistry({ packageJson: { publishConfig: {} } })).to.equal(true);\n });\n it('should honor the avoidPublishToNPM opt-out', () => {\n expect(shouldPublishToExternalRegistry({ packageJson: { name: '@org/pkg' }, avoidPublishToNPM: true })).to.equal(\n false\n );\n });\n });\n\n describe('getPublishRegistry', () => {\n it('should return undefined when no registry is configured', () => {\n expect(getPublishRegistry(undefined)).to.equal(undefined);\n expect(getPublishRegistry({ packageManagerPublishArgs: ['--access public'] })).to.equal(undefined);\n });\n it('should read the registry from publishConfig', () => {\n expect(getPublishRegistry({ packageJson: { publishConfig: { registry: 'https://a.example.com/' } } })).to.equal(\n 'https://a.example.com/'\n );\n });\n it('should read a --registry argument given with a space or with \"=\"', () => {\n expect(getPublishRegistry({ packageManagerPublishArgs: ['--registry https://a.example.com/'] })).to.equal(\n 'https://a.example.com/'\n );\n expect(getPublishRegistry({ packageManagerPublishArgs: ['--registry=https://a.example.com/'] })).to.equal(\n 'https://a.example.com/'\n );\n });\n it('should prefer the --registry argument over publishConfig', () => {\n const registry = getPublishRegistry({\n packageManagerPublishArgs: ['--access', 'public', '--registry', 'https://a.example.com/'],\n packageJson: { publishConfig: { registry: 'https://b.example.com/' } },\n });\n expect(registry).to.equal('https://a.example.com/');\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,5 @@ export declare class Publisher {
31
31
  */
32
32
  private getIdsToPublish;
33
33
  shouldPublish(extensions: ExtensionDataList): boolean;
34
- private getExtraArgsFromConfig;
35
34
  private throwForNonStagedOrTaggedComponents;
36
35
  }
package/dist/publisher.js CHANGED
@@ -74,6 +74,13 @@ function _packer() {
74
74
  };
75
75
  return data;
76
76
  }
77
+ function _publishConfig() {
78
+ const data = require("./publish-config");
79
+ _publishConfig = function () {
80
+ return data;
81
+ };
82
+ return data;
83
+ }
77
84
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
78
85
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
79
86
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
@@ -172,11 +179,7 @@ class Publisher {
172
179
  if (this.options.dryRun) publishParams.push('--dry-run');
173
180
  publishParams.push(...this.getTagFlagForPreRelease(capsule.component.id));
174
181
  publishParams.push(...this.getTagFlagForSnap(capsule.component.id));
175
- const extraArgs = this.getExtraArgsFromConfig(capsule.component);
176
- if (extraArgs && Array.isArray(extraArgs) && extraArgs?.length) {
177
- const extraArgsSplit = extraArgs.map(arg => arg.split(' ')).flat();
178
- publishParams.push(...extraArgsSplit);
179
- }
182
+ publishParams.push(...(0, _publishConfig().getPublishArgs)(capsule.component.config.extensions.findExtension(_pkg().PkgAspect.id)?.config));
180
183
  const publishParamsStr = publishParams.join(' ');
181
184
  const getPkgJson = async () => _fsExtra().default.readJSON(`${capsule.path}/package.json`);
182
185
  const componentIdStr = capsule.id.toString();
@@ -272,18 +275,8 @@ class Publisher {
272
275
  const components = await this.scope.getComponentsAndVersions(ids, true);
273
276
  return components.filter(c => this.shouldPublish(c.version.extensions)).map(c => c.component.toComponentId().changeVersion(c.versionStr).toString());
274
277
  }
275
-
276
- // TODO: consider using isPublishedToExternalRegistry from pkg.main.runtime (need to send it a component not extensions)
277
278
  shouldPublish(extensions) {
278
- const pkgExt = extensions.findExtension(_pkg().PkgAspect.id);
279
- if (!pkgExt) return false;
280
- const config = pkgExt.config;
281
- if (config?.avoidPublishToNPM) return false;
282
- return config?.packageJson?.name || config?.packageJson?.publishConfig;
283
- }
284
- getExtraArgsFromConfig(component) {
285
- const pkgExt = component.config.extensions.findExtension(_pkg().PkgAspect.id);
286
- return pkgExt?.config?.packageManagerPublishArgs;
279
+ return (0, _publishConfig().shouldPublishToExternalRegistry)(extensions.findExtension(_pkg().PkgAspect.id)?.config);
287
280
  }
288
281
  async throwForNonStagedOrTaggedComponents(componentIds) {
289
282
  const idsWithoutScope = componentIds.filter(id => !this.scope.isExported(id));
@@ -1 +1 @@
1
- {"version":3,"names":["_componentVersion","data","require","_componentId","_bitError","_fsExtra","_interopRequireDefault","_lodash","_path","_ssri","_execa","_pkg","_packer","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PUBLISH_CONCURRENCY","PUBLISH_RETRY_ATTEMPTS","parseInt","process","env","BIT_PUBLISH_RETRY_ATTEMPTS","PUBLISH_RETRY_DELAY","BIT_PUBLISH_RETRY_DELAY","Publisher","constructor","isolator","logger","scope","workspace","options","publish","componentPattern","componentIds","idsByPattern","capsules","getComponentCapsules","publishMultipleCapsules","description","dryRun","longProcessLogger","createLongProcessLogger","length","chunks","chunk","results","aChunk","logProgress","map","c","component","id","toString","join","chunkResults","Promise","all","capsule","publishOneCapsuleWithRetry","push","end","lastError","attempt","result","publishOneCapsule","errors","info","errorMessage","isRetryableError","includes","delay","Math","pow","warn","sleep","error","metadata","startTime","Date","now","endTime","ms","resolve","setTimeout","publishParams","tarFolderPath","path","DEFAULT_TAR_DIR_IN_CAPSULE","files","fsx","readdirSync","tarPath","find","file","endsWith","cwd","getTagFlagForPreRelease","getTagFlagForSnap","extraArgs","getExtraArgsFromConfig","Array","isArray","extraArgsSplit","arg","split","flat","publishParamsStr","getPkgJson","readJSON","componentIdStr","pkgJson","console","name","version","off","execa","packageManager","stdio","on","debug","err","errorDetails","message","errorMsg","isPublished","NPM_WAKE_UP","integrityOnNpm","getIntegrityOnNpm","tarData","readFileSync","ssri","checkData","pkg","publishedPackage","pkgName","pkgVersion","args","stdout","undefined","preReleaseData","getVersionPreReleaseData","maybeIdentifier","isSnap","snapTag","idsToPublish","getIdsToPublish","componentIdsToPublish","resolveMultipleComponentIds","network","isolateComponents","packageManagerConfigRootDir","seedersCapsules","throwForNonStagedOrTaggedComponents","ids","ComponentIdList","fromArray","components","getComponentsAndVersions","filter","shouldPublish","extensions","toComponentId","changeVersion","versionStr","pkgExt","findExtension","PkgAspect","config","avoidPublishToNPM","packageJson","publishConfig","packageManagerPublishArgs","idsWithoutScope","isExported","allowStaged","BitError","missingFromScope","inScope","isComponentInScope","exports"],"sources":["publisher.ts"],"sourcesContent":["import type { ComponentResult, TaskMetadata } from '@teambit/builder';\nimport type { Component, ComponentID } from '@teambit/component';\nimport { isSnap } from '@teambit/component-version';\nimport type { Capsule, IsolatorMain } from '@teambit/isolator';\nimport type { Logger } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentIdList } from '@teambit/component-id';\nimport type { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport type { Scope } from '@teambit/legacy.scope';\nimport fsx from 'fs-extra';\nimport { chunk } from 'lodash';\nimport { join } from 'path';\nimport ssri from 'ssri';\nimport execa from 'execa';\nimport { PkgAspect } from './pkg.aspect';\nimport type { PkgExtensionConfig } from './pkg.main.runtime';\nimport { DEFAULT_TAR_DIR_IN_CAPSULE } from './packer';\n\nconst PUBLISH_CONCURRENCY = 7;\nconst PUBLISH_RETRY_ATTEMPTS = parseInt(process.env.BIT_PUBLISH_RETRY_ATTEMPTS || '3', 10); // Number of retry attempts for retryable errors\nconst PUBLISH_RETRY_DELAY = parseInt(process.env.BIT_PUBLISH_RETRY_DELAY || '5000', 10); // Initial delay between retries (5 seconds)\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 / PUBLISH_CONCURRENCY);\n const chunks = chunk(capsules, PUBLISH_CONCURRENCY);\n const results: ComponentResult[] = [];\n for (const aChunk of chunks) {\n longProcessLogger.logProgress(aChunk.map((c) => c.component.id.toString()).join(', '));\n const chunkResults = await Promise.all(aChunk.map((capsule) => this.publishOneCapsuleWithRetry(capsule)));\n results.push(...chunkResults);\n }\n longProcessLogger.end();\n return results;\n }\n\n private async publishOneCapsuleWithRetry(capsule: Capsule): Promise<ComponentResult> {\n let lastError: ComponentResult | null = null;\n\n for (let attempt = 1; attempt <= PUBLISH_RETRY_ATTEMPTS; attempt++) {\n const result = await this.publishOneCapsule(capsule);\n\n // If publish succeeded (no errors), return the result\n if (!result.errors || result.errors.length === 0) {\n if (attempt > 1) {\n this.logger.info(`Successfully published ${capsule.component.id.toString()} on attempt ${attempt}`);\n }\n return result;\n }\n\n // Check if error is retryable (npm registry conflicts, rate limiting, or EPERM which\n // is how npm 429 rate limit errors manifest through execa with stdio: 'inherit')\n const errorMessage = result.errors ? result.errors.join(', ') : 'Unknown error';\n const isRetryableError =\n errorMessage.includes('409') ||\n errorMessage.includes('429') ||\n errorMessage.includes('EPERM') ||\n errorMessage.includes('packument') ||\n errorMessage.includes('Failed to save packument');\n\n if (!isRetryableError) {\n // Not a retryable error, return immediately without retry\n return result;\n }\n\n // Store the error result for potential return\n lastError = result;\n\n if (attempt < PUBLISH_RETRY_ATTEMPTS) {\n const delay = PUBLISH_RETRY_DELAY * Math.pow(2, attempt - 1); // Exponential backoff\n this.logger.warn(\n `npm publish failed for ${capsule.component.id.toString()}, retrying in ${delay}ms (attempt ${attempt}/${PUBLISH_RETRY_ATTEMPTS}). Error: ${errorMessage}`\n );\n await this.sleep(delay);\n } else {\n this.logger.error(\n `Failed to publish ${capsule.component.id.toString()} after ${PUBLISH_RETRY_ATTEMPTS} attempts due to npm registry errors`\n );\n }\n }\n\n // Return the last error result if all attempts failed\n return (\n lastError || {\n component: capsule.component,\n metadata: {},\n errors: [`Failed to publish after ${PUBLISH_RETRY_ATTEMPTS} attempts due to npm registry errors`],\n startTime: Date.now(),\n endTime: Date.now(),\n }\n );\n }\n\n private async sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n private async publishOneCapsule(capsule: Capsule): Promise<ComponentResult> {\n const startTime = Date.now();\n const publishParams = ['publish'];\n const tarFolderPath = join(capsule.path, DEFAULT_TAR_DIR_IN_CAPSULE);\n const files = fsx.readdirSync(tarFolderPath);\n const tarPath = files.find((file) => file.endsWith('.tgz'));\n let cwd = capsule.path;\n if (tarPath) {\n cwd = tarFolderPath;\n publishParams.push(tarPath);\n }\n publishParams.push('--quiet');\n if (this.options.dryRun) publishParams.push('--dry-run');\n publishParams.push(...this.getTagFlagForPreRelease(capsule.component.id));\n publishParams.push(...this.getTagFlagForSnap(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 getPkgJson = async () => fsx.readJSON(`${capsule.path}/package.json`);\n const componentIdStr = capsule.id.toString();\n const pkgJson = await getPkgJson();\n this.logger.console(`publishing ${pkgJson.name}@${pkgJson.version}`);\n const errors: string[] = [];\n try {\n this.logger.off();\n // @todo: once capsule.exec works properly, replace this\n // It is important to use stdio: 'inherit' so when npm asks for the OTP, the user can enter it\n await execa(this.packageManager, publishParams, { cwd, stdio: 'inherit' });\n this.logger.on();\n this.logger.debug(`${componentIdStr}, successfully ran ${this.packageManager} ${publishParamsStr} at ${cwd}`);\n } catch (err: unknown) {\n const errorDetails = typeof err === 'object' && err && 'message' in err ? err.message : err;\n const errorMsg = `failed running ${this.packageManager} ${publishParamsStr} at ${cwd}: ${errorDetails}`;\n this.logger.error(`${componentIdStr}, ${errorMsg}`);\n let isPublished = false;\n if (typeof errorDetails === 'string' && errorDetails.includes('EPERM') && tarPath) {\n // sleep 5 seconds\n await new Promise((resolve) => setTimeout(resolve, Number(process.env.NPM_WAKE_UP || 5000)));\n const integrityOnNpm = await this.getIntegrityOnNpm(pkgJson.name, pkgJson.version);\n if (integrityOnNpm && tarPath) {\n const tarData = fsx.readFileSync(join(tarFolderPath, tarPath));\n // If the integrity of the tarball in the registry matches the local one,\n // we consider the package published\n isPublished = ssri.checkData(tarData, integrityOnNpm) !== false;\n this.logger.debug(\n `${componentIdStr}, package ${pkgJson.name} is already on npm with version ${pkgJson.version}`\n );\n }\n }\n if (!isPublished) errors.push(errorMsg);\n }\n let metadata: TaskMetadata = {};\n if (errors.length === 0 && !this.options.dryRun) {\n const pkg = await fsx.readJSON(`${capsule.path}/package.json`);\n metadata = { publishedPackage: `${pkg.name}@${pkg.version}` };\n }\n const component = capsule.component;\n return { component, metadata, errors, startTime, endTime: Date.now() };\n }\n\n private async getIntegrityOnNpm(pkgName: string, pkgVersion: string): Promise<string | undefined> {\n const args = ['view', `${pkgName}@${pkgVersion}`, 'dist.integrity'];\n try {\n const results = await execa(this.packageManager, args);\n return results.stdout;\n } catch (err: unknown) {\n this.logger.error(`failed running ${this.packageManager} ${args.join(' ')}: ${err}`, err);\n return undefined;\n }\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 getTagFlagForSnap(id: ComponentID): string[] {\n if (isSnap(id.version)) {\n const snapTag = 'snap';\n return ['--tag', snapTag];\n }\n return [];\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 = ComponentIdList.fromArray(componentIds);\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.toComponentId().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 const config = pkgExt.config as PkgExtensionConfig;\n if (config?.avoidPublishToNPM) return false;\n return config?.packageJson?.name || 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) => !this.scope.isExported(id));\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);\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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","ignoreList":[]}
1
+ {"version":3,"names":["_componentVersion","data","require","_componentId","_bitError","_fsExtra","_interopRequireDefault","_lodash","_path","_ssri","_execa","_pkg","_packer","_publishConfig","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","PUBLISH_CONCURRENCY","PUBLISH_RETRY_ATTEMPTS","parseInt","process","env","BIT_PUBLISH_RETRY_ATTEMPTS","PUBLISH_RETRY_DELAY","BIT_PUBLISH_RETRY_DELAY","Publisher","constructor","isolator","logger","scope","workspace","options","publish","componentPattern","componentIds","idsByPattern","capsules","getComponentCapsules","publishMultipleCapsules","description","dryRun","longProcessLogger","createLongProcessLogger","length","chunks","chunk","results","aChunk","logProgress","map","c","component","id","toString","join","chunkResults","Promise","all","capsule","publishOneCapsuleWithRetry","push","end","lastError","attempt","result","publishOneCapsule","errors","info","errorMessage","isRetryableError","includes","delay","Math","pow","warn","sleep","error","metadata","startTime","Date","now","endTime","ms","resolve","setTimeout","publishParams","tarFolderPath","path","DEFAULT_TAR_DIR_IN_CAPSULE","files","fsx","readdirSync","tarPath","find","file","endsWith","cwd","getTagFlagForPreRelease","getTagFlagForSnap","getPublishArgs","config","extensions","findExtension","PkgAspect","publishParamsStr","getPkgJson","readJSON","componentIdStr","pkgJson","console","name","version","off","execa","packageManager","stdio","on","debug","err","errorDetails","message","errorMsg","isPublished","NPM_WAKE_UP","integrityOnNpm","getIntegrityOnNpm","tarData","readFileSync","ssri","checkData","pkg","publishedPackage","pkgName","pkgVersion","args","stdout","undefined","preReleaseData","getVersionPreReleaseData","maybeIdentifier","isSnap","snapTag","idsToPublish","getIdsToPublish","componentIdsToPublish","resolveMultipleComponentIds","network","isolateComponents","packageManagerConfigRootDir","seedersCapsules","throwForNonStagedOrTaggedComponents","ids","ComponentIdList","fromArray","components","getComponentsAndVersions","filter","shouldPublish","toComponentId","changeVersion","versionStr","shouldPublishToExternalRegistry","idsWithoutScope","isExported","allowStaged","BitError","missingFromScope","inScope","isComponentInScope","exports"],"sources":["publisher.ts"],"sourcesContent":["import type { ComponentResult, TaskMetadata } from '@teambit/builder';\nimport type { ComponentID } from '@teambit/component';\nimport { isSnap } from '@teambit/component-version';\nimport type { Capsule, IsolatorMain } from '@teambit/isolator';\nimport type { Logger } from '@teambit/logger';\nimport type { Workspace } from '@teambit/workspace';\nimport { ComponentIdList } from '@teambit/component-id';\nimport type { ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { BitError } from '@teambit/bit-error';\nimport type { Scope } from '@teambit/legacy.scope';\nimport fsx from 'fs-extra';\nimport { chunk } from 'lodash';\nimport { join } from 'path';\nimport ssri from 'ssri';\nimport execa from 'execa';\nimport { PkgAspect } from './pkg.aspect';\nimport { DEFAULT_TAR_DIR_IN_CAPSULE } from './packer';\nimport { getPublishArgs, shouldPublishToExternalRegistry } from './publish-config';\n\nconst PUBLISH_CONCURRENCY = 7;\nconst PUBLISH_RETRY_ATTEMPTS = parseInt(process.env.BIT_PUBLISH_RETRY_ATTEMPTS || '3', 10); // Number of retry attempts for retryable errors\nconst PUBLISH_RETRY_DELAY = parseInt(process.env.BIT_PUBLISH_RETRY_DELAY || '5000', 10); // Initial delay between retries (5 seconds)\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 / PUBLISH_CONCURRENCY);\n const chunks = chunk(capsules, PUBLISH_CONCURRENCY);\n const results: ComponentResult[] = [];\n for (const aChunk of chunks) {\n longProcessLogger.logProgress(aChunk.map((c) => c.component.id.toString()).join(', '));\n const chunkResults = await Promise.all(aChunk.map((capsule) => this.publishOneCapsuleWithRetry(capsule)));\n results.push(...chunkResults);\n }\n longProcessLogger.end();\n return results;\n }\n\n private async publishOneCapsuleWithRetry(capsule: Capsule): Promise<ComponentResult> {\n let lastError: ComponentResult | null = null;\n\n for (let attempt = 1; attempt <= PUBLISH_RETRY_ATTEMPTS; attempt++) {\n const result = await this.publishOneCapsule(capsule);\n\n // If publish succeeded (no errors), return the result\n if (!result.errors || result.errors.length === 0) {\n if (attempt > 1) {\n this.logger.info(`Successfully published ${capsule.component.id.toString()} on attempt ${attempt}`);\n }\n return result;\n }\n\n // Check if error is retryable (npm registry conflicts, rate limiting, or EPERM which\n // is how npm 429 rate limit errors manifest through execa with stdio: 'inherit')\n const errorMessage = result.errors ? result.errors.join(', ') : 'Unknown error';\n const isRetryableError =\n errorMessage.includes('409') ||\n errorMessage.includes('429') ||\n errorMessage.includes('EPERM') ||\n errorMessage.includes('packument') ||\n errorMessage.includes('Failed to save packument');\n\n if (!isRetryableError) {\n // Not a retryable error, return immediately without retry\n return result;\n }\n\n // Store the error result for potential return\n lastError = result;\n\n if (attempt < PUBLISH_RETRY_ATTEMPTS) {\n const delay = PUBLISH_RETRY_DELAY * Math.pow(2, attempt - 1); // Exponential backoff\n this.logger.warn(\n `npm publish failed for ${capsule.component.id.toString()}, retrying in ${delay}ms (attempt ${attempt}/${PUBLISH_RETRY_ATTEMPTS}). Error: ${errorMessage}`\n );\n await this.sleep(delay);\n } else {\n this.logger.error(\n `Failed to publish ${capsule.component.id.toString()} after ${PUBLISH_RETRY_ATTEMPTS} attempts due to npm registry errors`\n );\n }\n }\n\n // Return the last error result if all attempts failed\n return (\n lastError || {\n component: capsule.component,\n metadata: {},\n errors: [`Failed to publish after ${PUBLISH_RETRY_ATTEMPTS} attempts due to npm registry errors`],\n startTime: Date.now(),\n endTime: Date.now(),\n }\n );\n }\n\n private async sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n private async publishOneCapsule(capsule: Capsule): Promise<ComponentResult> {\n const startTime = Date.now();\n const publishParams = ['publish'];\n const tarFolderPath = join(capsule.path, DEFAULT_TAR_DIR_IN_CAPSULE);\n const files = fsx.readdirSync(tarFolderPath);\n const tarPath = files.find((file) => file.endsWith('.tgz'));\n let cwd = capsule.path;\n if (tarPath) {\n cwd = tarFolderPath;\n publishParams.push(tarPath);\n }\n publishParams.push('--quiet');\n if (this.options.dryRun) publishParams.push('--dry-run');\n publishParams.push(...this.getTagFlagForPreRelease(capsule.component.id));\n publishParams.push(...this.getTagFlagForSnap(capsule.component.id));\n publishParams.push(...getPublishArgs(capsule.component.config.extensions.findExtension(PkgAspect.id)?.config));\n const publishParamsStr = publishParams.join(' ');\n const getPkgJson = async () => fsx.readJSON(`${capsule.path}/package.json`);\n const componentIdStr = capsule.id.toString();\n const pkgJson = await getPkgJson();\n this.logger.console(`publishing ${pkgJson.name}@${pkgJson.version}`);\n const errors: string[] = [];\n try {\n this.logger.off();\n // @todo: once capsule.exec works properly, replace this\n // It is important to use stdio: 'inherit' so when npm asks for the OTP, the user can enter it\n await execa(this.packageManager, publishParams, { cwd, stdio: 'inherit' });\n this.logger.on();\n this.logger.debug(`${componentIdStr}, successfully ran ${this.packageManager} ${publishParamsStr} at ${cwd}`);\n } catch (err: unknown) {\n const errorDetails = typeof err === 'object' && err && 'message' in err ? err.message : err;\n const errorMsg = `failed running ${this.packageManager} ${publishParamsStr} at ${cwd}: ${errorDetails}`;\n this.logger.error(`${componentIdStr}, ${errorMsg}`);\n let isPublished = false;\n if (typeof errorDetails === 'string' && errorDetails.includes('EPERM') && tarPath) {\n // sleep 5 seconds\n await new Promise((resolve) => setTimeout(resolve, Number(process.env.NPM_WAKE_UP || 5000)));\n const integrityOnNpm = await this.getIntegrityOnNpm(pkgJson.name, pkgJson.version);\n if (integrityOnNpm && tarPath) {\n const tarData = fsx.readFileSync(join(tarFolderPath, tarPath));\n // If the integrity of the tarball in the registry matches the local one,\n // we consider the package published\n isPublished = ssri.checkData(tarData, integrityOnNpm) !== false;\n this.logger.debug(\n `${componentIdStr}, package ${pkgJson.name} is already on npm with version ${pkgJson.version}`\n );\n }\n }\n if (!isPublished) errors.push(errorMsg);\n }\n let metadata: TaskMetadata = {};\n if (errors.length === 0 && !this.options.dryRun) {\n const pkg = await fsx.readJSON(`${capsule.path}/package.json`);\n metadata = { publishedPackage: `${pkg.name}@${pkg.version}` };\n }\n const component = capsule.component;\n return { component, metadata, errors, startTime, endTime: Date.now() };\n }\n\n private async getIntegrityOnNpm(pkgName: string, pkgVersion: string): Promise<string | undefined> {\n const args = ['view', `${pkgName}@${pkgVersion}`, 'dist.integrity'];\n try {\n const results = await execa(this.packageManager, args);\n return results.stdout;\n } catch (err: unknown) {\n this.logger.error(`failed running ${this.packageManager} ${args.join(' ')}: ${err}`, err);\n return undefined;\n }\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 getTagFlagForSnap(id: ComponentID): string[] {\n if (isSnap(id.version)) {\n const snapTag = 'snap';\n return ['--tag', snapTag];\n }\n return [];\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 = ComponentIdList.fromArray(componentIds);\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.toComponentId().changeVersion(c.versionStr).toString());\n }\n\n public shouldPublish(extensions: ExtensionDataList): boolean {\n return shouldPublishToExternalRegistry(extensions.findExtension(PkgAspect.id)?.config);\n }\n\n private async throwForNonStagedOrTaggedComponents(componentIds: ComponentID[]) {\n const idsWithoutScope = componentIds.filter((id) => !this.scope.isExported(id));\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);\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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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/pkg",
3
- "version": "1.0.1155",
3
+ "version": "1.0.1157",
4
4
  "homepage": "https://bit.cloud/teambit/pkg/pkg",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pkg",
8
8
  "name": "pkg",
9
- "version": "1.0.1155"
9
+ "version": "1.0.1157"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -20,34 +20,34 @@
20
20
  "graphql-tag": "2.12.1",
21
21
  "cli-highlight": "2.1.9",
22
22
  "execa": "2.1.0",
23
- "@teambit/component-version": "1.0.4",
24
- "@teambit/harmony": "0.4.12",
25
- "@teambit/bit-error": "0.0.404",
26
- "@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
27
- "@teambit/component-id": "1.2.4",
28
- "@teambit/cli": "0.0.1388",
29
- "@teambit/builder": "1.0.1155",
23
+ "@teambit/cli": "0.0.1389",
30
24
  "@teambit/legacy.constants": "0.0.43",
31
- "@teambit/logger": "0.0.1481",
32
- "@teambit/envs": "1.0.1155",
33
- "@teambit/component": "1.0.1155",
34
- "@teambit/express": "0.0.1487",
35
- "@teambit/isolator": "1.0.1155",
25
+ "@teambit/logger": "0.0.1482",
26
+ "@teambit/express": "0.0.1488",
27
+ "@teambit/component-version": "1.0.4",
36
28
  "@teambit/legacy.scope": "0.0.160",
37
29
  "@teambit/legacy.utils": "0.0.50",
38
- "@teambit/scope": "1.0.1155",
39
30
  "@teambit/component.sources": "0.0.212",
40
- "@teambit/graphql": "1.0.1155",
41
- "@teambit/component-issues": "0.0.185",
42
- "@teambit/component-package-version": "0.0.462",
43
- "@teambit/dependency-resolver": "1.0.1155",
31
+ "@teambit/harmony": "0.4.12",
32
+ "@teambit/bit-error": "0.0.404",
33
+ "@teambit/component-issues": "0.0.186",
34
+ "@teambit/component-package-version": "0.0.463",
44
35
  "@teambit/harmony.modules.in-memory-cache": "0.0.47",
45
- "@teambit/workspace.modules.node-modules-linker": "0.0.391",
46
- "@teambit/workspace": "1.0.1155",
47
- "@teambit/ui": "1.0.1155",
48
- "@teambit/compiler": "1.0.1155",
36
+ "@teambit/workspace.modules.node-modules-linker": "0.0.392",
37
+ "@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
38
+ "@teambit/component-id": "1.2.4",
49
39
  "@teambit/legacy.extension-data": "0.0.162",
50
- "@teambit/legacy.consumer-component": "0.0.161"
40
+ "@teambit/legacy.consumer-component": "0.0.161",
41
+ "@teambit/builder": "1.0.1157",
42
+ "@teambit/envs": "1.0.1157",
43
+ "@teambit/component": "1.0.1157",
44
+ "@teambit/isolator": "1.0.1157",
45
+ "@teambit/scope": "1.0.1157",
46
+ "@teambit/graphql": "1.0.1157",
47
+ "@teambit/dependency-resolver": "1.0.1157",
48
+ "@teambit/workspace": "1.0.1157",
49
+ "@teambit/ui": "1.0.1157",
50
+ "@teambit/compiler": "1.0.1157"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/mime": "2.0.3",
@@ -59,7 +59,8 @@
59
59
  "@teambit/harmony.envs.core-aspect-env": "2.1.0"
60
60
  },
61
61
  "peerDependencies": {
62
- "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
62
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
63
+ "chai": "5.2.1"
63
64
  },
64
65
  "license": "Apache-2.0",
65
66
  "optionalDependencies": {},