@teambit/pkg 0.0.543 → 0.0.551

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/packer.js CHANGED
@@ -55,10 +55,10 @@ function _pack() {
55
55
  return data;
56
56
  }
57
57
 
58
- function _pMapSeries() {
59
- const data = _interopRequireDefault(require("p-map-series"));
58
+ function _pMap() {
59
+ const data = _interopRequireDefault(require("p-map"));
60
60
 
61
- _pMapSeries = function () {
61
+ _pMap = function () {
62
62
  return data;
63
63
  };
64
64
 
@@ -77,6 +77,7 @@ function _scopeNotFound() {
77
77
 
78
78
  // @ts-ignore (for some reason the tsc -w not found this)
79
79
  const DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';
80
+ const PACK_CONCURRENCY = 10;
80
81
  const TAR_FILE_ARTIFACT_NAME = 'package tar file';
81
82
  exports.TAR_FILE_ARTIFACT_NAME = TAR_FILE_ARTIFACT_NAME;
82
83
 
@@ -122,13 +123,12 @@ class Packer {
122
123
  async packMultipleCapsules(capsules, writeOptions = {
123
124
  override: true
124
125
  }, dryRun = false, omitFullTarPath = false) {
125
- const description = `packing components${dryRun ? ' (dry-run)' : ''}`;
126
- const longProcessLogger = this.logger.createLongProcessLogger(description, capsules.length);
127
- const results = (0, _pMapSeries().default)(capsules, capsule => {
128
- longProcessLogger.logProgress(capsule.component.id.toString());
126
+ // const description = `packing components${dryRun ? ' (dry-run)' : ''}`;
127
+ const results = (0, _pMap().default)(capsules, capsule => {
129
128
  return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);
129
+ }, {
130
+ concurrency: PACK_CONCURRENCY
130
131
  });
131
- longProcessLogger.end();
132
132
  return results;
133
133
  }
134
134
 
@@ -1 +1 @@
1
- {"version":3,"sources":["packer.ts"],"names":["DEFAULT_TAR_DIR_IN_CAPSULE","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","legacyPacker","LegacyPacker","packComponent","componentId","scopePath","options","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","isLegacyScope","isLegacy","res","pack","Object","assign","id","capsule","getCapsule","packCapsule","writeOptions","dryRun","_","omit","packMultipleCapsules","capsules","override","omitFullTarPath","description","longProcessLogger","createLongProcessLogger","length","results","logProgress","component","toString","end","concreteWriteOpts","outDir","packResult","npmPack","path","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { Packer as LegacyPacker, PackWriteOptions, PackOptions } from '@teambit/legacy/dist/pack';\nimport { Logger } from '@teambit/logger';\nimport mapSeries from 'p-map-series';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport { PackOptions };\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nconst DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport class Packer {\n legacyPacker: LegacyPacker;\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\n ) {\n this.legacyPacker = new LegacyPacker(this.logger);\n }\n\n async packComponent(\n componentId: string,\n scopePath: string | undefined,\n options: PackOptions\n ): Promise<PackResultWithId> {\n // By default do not load scope from cache when packing\n const loadScopeFromCache =\n options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;\n const legacyScope = scopePath ? await LegacyScope.load(scopePath, loadScopeFromCache) : this.scope?.legacyScope;\n if (!legacyScope) {\n throw new ScopeNotFound(scopePath);\n }\n // Or the scope we are operate on is legacy, or the host (workspace) is legacy\n const isLegacyScope = (scopePath && legacyScope.isLegacy) || this.host.isLegacy;\n\n // Handle legacy\n if (isLegacyScope) {\n const res = await this.legacyPacker.pack(componentId, legacyScope, options);\n // @ts-ignore\n return Object.assign({}, res, { id: componentId });\n }\n\n const capsule = await this.getCapsule(componentId, legacyScope);\n const res = await this.packCapsule(capsule, options.writeOptions, options.dryRun);\n\n return Object.assign({}, _.omit(res, ['component']), { id: componentId });\n }\n\n async packMultipleCapsules(\n capsules: Capsule[],\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult[]> {\n const description = `packing components${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.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);\n });\n longProcessLogger.end();\n return results;\n }\n\n async packCapsule(\n capsule: Capsule,\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult> {\n const concreteWriteOpts = writeOptions;\n // Set the package-tar as out dir to easily read the tar later\n concreteWriteOpts.outDir = concreteWriteOpts.outDir ?? DEFAULT_TAR_DIR_IN_CAPSULE;\n const packResult = await this.legacyPacker.npmPack(\n capsule.path,\n concreteWriteOpts.outDir || capsule.path,\n concreteWriteOpts.override,\n dryRun\n );\n const component = capsule.component;\n const fieldsToRemove: string[] = [];\n if (omitFullTarPath) {\n fieldsToRemove.push('tarPath');\n }\n // TODO: @gilad please make sure to fix this type error now that I added lodash types\n const metadata = _(packResult.metadata).omitBy(_.isUndefined).omit(fieldsToRemove).value() as any;\n\n return {\n component,\n metadata,\n errors: packResult.errors,\n warnings: packResult.warnings,\n startTime: packResult.startTime,\n endTime: packResult.endTime,\n };\n }\n\n getArtifactDefInCapsule(outDir?: string): ArtifactDefinition {\n const rootDir = outDir || DEFAULT_TAR_DIR_IN_CAPSULE;\n const def: ArtifactDefinition = {\n name: TAR_FILE_ARTIFACT_NAME,\n globPatterns: [`${rootDir}/*.tgz`],\n };\n return def;\n }\n\n private async getCapsule(componentIdStr: string, legacyScope: LegacyScope): Promise<Capsule> {\n const componentId = await this.host.resolveComponentId(componentIdStr);\n const network = await this.isolator.isolateComponents([componentId], { baseDir: this.host.path }, legacyScope);\n const capsule = network.seedersCapsules.getCapsule(componentId);\n\n if (!capsule) throw new Error(`capsule not found for ${componentId}`);\n return capsule;\n }\n}\n"]}
1
+ {"version":3,"sources":["packer.ts"],"names":["DEFAULT_TAR_DIR_IN_CAPSULE","PACK_CONCURRENCY","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","legacyPacker","LegacyPacker","packComponent","componentId","scopePath","options","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","isLegacyScope","isLegacy","res","pack","Object","assign","id","capsule","getCapsule","packCapsule","writeOptions","dryRun","_","omit","packMultipleCapsules","capsules","override","omitFullTarPath","results","concurrency","concreteWriteOpts","outDir","packResult","npmPack","path","component","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { Packer as LegacyPacker, PackWriteOptions, PackOptions } from '@teambit/legacy/dist/pack';\nimport { Logger } from '@teambit/logger';\nimport pMap from 'p-map';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport { PackOptions };\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nconst DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nconst PACK_CONCURRENCY = 10;\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport class Packer {\n legacyPacker: LegacyPacker;\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\n ) {\n this.legacyPacker = new LegacyPacker(this.logger);\n }\n\n async packComponent(\n componentId: string,\n scopePath: string | undefined,\n options: PackOptions\n ): Promise<PackResultWithId> {\n // By default do not load scope from cache when packing\n const loadScopeFromCache =\n options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;\n const legacyScope = scopePath ? await LegacyScope.load(scopePath, loadScopeFromCache) : this.scope?.legacyScope;\n if (!legacyScope) {\n throw new ScopeNotFound(scopePath);\n }\n // Or the scope we are operate on is legacy, or the host (workspace) is legacy\n const isLegacyScope = (scopePath && legacyScope.isLegacy) || this.host.isLegacy;\n\n // Handle legacy\n if (isLegacyScope) {\n const res = await this.legacyPacker.pack(componentId, legacyScope, options);\n // @ts-ignore\n return Object.assign({}, res, { id: componentId });\n }\n\n const capsule = await this.getCapsule(componentId, legacyScope);\n const res = await this.packCapsule(capsule, options.writeOptions, options.dryRun);\n\n return Object.assign({}, _.omit(res, ['component']), { id: componentId });\n }\n\n async packMultipleCapsules(\n capsules: Capsule[],\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult[]> {\n // const description = `packing components${dryRun ? ' (dry-run)' : ''}`;\n const results = pMap(\n capsules,\n (capsule) => {\n return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);\n },\n { concurrency: PACK_CONCURRENCY }\n );\n return results;\n }\n\n async packCapsule(\n capsule: Capsule,\n writeOptions: PackWriteOptions = { override: true },\n dryRun = false,\n omitFullTarPath = false\n ): Promise<ComponentResult> {\n const concreteWriteOpts = writeOptions;\n // Set the package-tar as out dir to easily read the tar later\n concreteWriteOpts.outDir = concreteWriteOpts.outDir ?? DEFAULT_TAR_DIR_IN_CAPSULE;\n const packResult = await this.legacyPacker.npmPack(\n capsule.path,\n concreteWriteOpts.outDir || capsule.path,\n concreteWriteOpts.override,\n dryRun\n );\n const component = capsule.component;\n const fieldsToRemove: string[] = [];\n if (omitFullTarPath) {\n fieldsToRemove.push('tarPath');\n }\n // TODO: @gilad please make sure to fix this type error now that I added lodash types\n const metadata = _(packResult.metadata).omitBy(_.isUndefined).omit(fieldsToRemove).value() as any;\n\n return {\n component,\n metadata,\n errors: packResult.errors,\n warnings: packResult.warnings,\n startTime: packResult.startTime,\n endTime: packResult.endTime,\n };\n }\n\n getArtifactDefInCapsule(outDir?: string): ArtifactDefinition {\n const rootDir = outDir || DEFAULT_TAR_DIR_IN_CAPSULE;\n const def: ArtifactDefinition = {\n name: TAR_FILE_ARTIFACT_NAME,\n globPatterns: [`${rootDir}/*.tgz`],\n };\n return def;\n }\n\n private async getCapsule(componentIdStr: string, legacyScope: LegacyScope): Promise<Capsule> {\n const componentId = await this.host.resolveComponentId(componentIdStr);\n const network = await this.isolator.isolateComponents([componentId], { baseDir: this.host.path }, legacyScope);\n const capsule = network.seedersCapsules.getCapsule(componentId);\n\n if (!capsule) throw new Error(`capsule not found for ${componentId}`);\n return capsule;\n }\n}\n"]}
@@ -231,16 +231,6 @@ function _preparePackages() {
231
231
  return data;
232
232
  }
233
233
 
234
- function _publishDryRun() {
235
- const data = require("./publish-dry-run.task");
236
-
237
- _publishDryRun = function () {
238
- return data;
239
- };
240
-
241
- return data;
242
- }
243
-
244
234
  function _publish() {
245
235
  const data = require("./publish.cmd");
246
236
 
@@ -368,11 +358,14 @@ class PkgMain {
368
358
  dependencyResolver.registerDependencyFactories([new (_packageDependency().PackageDependencyFactory)()]);
369
359
  graphql.register((0, _pkg2().pkgSchema)(pkg));
370
360
  envs.registerService(new (_pkg3().PkgService)());
371
- componentAspect.registerRoute([new (_package().PackageRoute)(pkg)]);
372
- const dryRunTask = new (_publishDryRun().PublishDryRunTask)(_pkg().PkgAspect.id, publisher, packer, logPublisher);
373
- const preparePackagesTask = new (_preparePackages().PreparePackagesTask)(_pkg().PkgAspect.id, logPublisher);
374
- dryRunTask.dependencies = [_builder().BuildTaskHelper.serializeId(preparePackagesTask)];
375
- builder.registerBuildTasks([preparePackagesTask, dryRunTask]);
361
+ componentAspect.registerRoute([new (_package().PackageRoute)(pkg)]); // we ended up not using the publish-dry-run task. It used to run "npm publish --dry-run"
362
+ // and also "npm pack --dry-run", but it's not that useful and it takes long to complete.
363
+ // we might revise our decision later.
364
+ // const dryRunTask = new PublishDryRunTask(PkgAspect.id, publisher, packer, logPublisher);
365
+
366
+ const preparePackagesTask = new (_preparePackages().PreparePackagesTask)(_pkg().PkgAspect.id, logPublisher); // dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];
367
+
368
+ builder.registerBuildTasks([preparePackagesTask]);
376
369
  builder.registerTagTasks([packTask, publishTask]);
377
370
  builder.registerSnapTasks([packTask]);
378
371
 
@@ -1 +1 @@
1
- {"version":3,"sources":["pkg.main.runtime.ts"],"names":["PkgMain","provider","cli","scope","envs","isolator","logger","workspace","builder","dependencyResolver","componentAspect","graphql","config","packageJsonPropsRegistry","logPublisher","createLogger","PkgAspect","id","host","getHost","packer","Packer","publisher","Publisher","legacyScope","publishTask","PublishTask","packTask","PackTask","pkg","registerShowFragments","PackageFragment","registerDependencyFactories","PackageDependencyFactory","register","registerService","PkgService","registerRoute","PackageRoute","dryRunTask","PublishDryRunTask","preparePackagesTask","PreparePackagesTask","dependencies","BuildTaskHelper","serializeId","registerBuildTasks","registerTagTasks","registerSnapTasks","onComponentLoad","component","data","mergePackageJsonProps","packageJsonModification","PackageJsonTransformer","registerPackageJsonTransformer","transformPackageJson","bind","PackCmd","PublishCmd","getPackageName","state","_consumer","getModulePath","options","pkgName","relativePath","absPath","path","Error","constructor","registerPackageJsonNewProps","props","packComponent","componentId","scopePath","newProps","env","calculateEnv","getPackageJsonProps","propsFromEnv","Object","assign","configuredIds","aspects","ids","forEach","extId","get","currentExtension","currentConfig","packageJson","specialKeys","getPackageJsonModifications","currentData","getPkgArtifact","artifacts","getArtifactsVinylByExtension","length","PkgArtifactNotFound","PkgArtifact","getManifest","name","latestVersion","latest","BitError","preReleaseLatestTags","tags","getPreReleaseLatestTags","distTags","versions","getAllSnapsManifests","versionsWithoutEmpty","externalRegistry","isPublishedToExternalRegistry","iterable","snapsIterable","result","snap","manifest","getSnapManifest","push","pkgExt","publishConfig","getComponentBuildData","getDataByAspect","idWithCorrectVersion","changeVersion","hash","updatedComponent","toString","pkgJson","undefined","checksum","error","dist","shasum","tarball","getRoute","routePath","getPackageTarFile","getArtifactsVinylByExtensionAndName","TAR_FILE_ARTIFACT_NAME","PackageTarFiletNotFound","legacyComponent","packageJsonObject","resolveComponentId","newComponent","MainRuntime","CLIAspect","ScopeAspect","EnvsAspect","IsolatorAspect","LoggerAspect","WorkspaceAspect","BuilderAspect","DependencyResolverAspect","ComponentAspect","GraphqlAspect","Slot","withType","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;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","sourcesContent":["import { compact, omit } from 'lodash';\nimport { join } from 'path';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain, Snap } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { PackageJsonTransformer } from '@teambit/legacy/dist/consumer/component/package-json-transformer';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { BuilderMain, BuilderAspect, BuildTaskHelper } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { GraphqlMain, GraphqlAspect } from '@teambit/graphql';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\n\nimport { Packer, PackOptions, PackResult, TAR_FILE_ARTIFACT_NAME } from './packer';\n// import { BitCli as CLI, BitCliExt as CLIExtension } from '@teambit/cli';\nimport { PackCmd } from './pack.cmd';\nimport { PkgAspect } from './pkg.aspect';\nimport { PreparePackagesTask } from './prepare-packages.task';\nimport { PublishDryRunTask } from './publish-dry-run.task';\nimport { PublishCmd } from './publish.cmd';\nimport { Publisher } from './publisher';\nimport { PublishTask } from './publish.task';\nimport { PackageTarFiletNotFound, PkgArtifactNotFound } from './exceptions';\nimport { PkgArtifact } from './pkg-artifact';\nimport { PackageRoute, routePath } from './package.route';\nimport { PackageDependencyFactory } from './package-dependency';\nimport { pkgSchema } from './pkg.graphql';\nimport { PackageFragment } from './package.fragment';\nimport { PackTask } from './pack.task';\nimport { PkgService } from './pkg.service';\n\nexport interface PackageJsonProps {\n [key: string]: any;\n}\n\nexport type PackageJsonPropsRegistry = SlotRegistry<PackageJsonProps>;\n\nexport type PkgExtensionConfig = {};\n\n/**\n * Config for variants\n */\nexport type ComponentPkgExtensionConfig = {\n /**\n * properties to add to the package.json of the component.\n */\n packageJson: Record<string, any>;\n};\n\n/**\n * Data stored in the component\n */\nexport type ComponentPkgExtensionData = {\n /**\n * properties to add to the package.json of the component.\n */\n packageJsonModification: Record<string, any>;\n\n /**\n * Final package.json after creating tar file\n */\n pkgJson?: Record<string, any>;\n\n /**\n * Checksum of the tar file\n */\n checksum?: string;\n};\n\ntype ComponentPackageManifest = {\n name: string;\n distTags: Record<string, string>;\n externalRegistry: boolean;\n versions: VersionPackageManifest[];\n};\n\ntype VersionPackageManifest = {\n [key: string]: any;\n dist: {\n tarball: string;\n shasum: string;\n };\n};\n\nexport class PkgMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n EnvsAspect,\n IsolatorAspect,\n LoggerAspect,\n WorkspaceAspect,\n BuilderAspect,\n DependencyResolverAspect,\n ComponentAspect,\n GraphqlAspect,\n ];\n static slots = [Slot.withType<PackageJsonProps>()];\n static defaultConfig = {};\n\n static async provider(\n [cli, scope, envs, isolator, logger, workspace, builder, dependencyResolver, componentAspect, graphql]: [\n CLIMain,\n ScopeMain,\n EnvsMain,\n IsolatorMain,\n LoggerMain,\n Workspace,\n BuilderMain,\n DependencyResolverMain,\n ComponentMain,\n GraphqlMain\n ],\n config: PkgExtensionConfig,\n [packageJsonPropsRegistry]: [PackageJsonPropsRegistry]\n ) {\n const logPublisher = logger.createLogger(PkgAspect.id);\n const host = componentAspect.getHost();\n const packer = new Packer(isolator, logPublisher, host, scope);\n const publisher = new Publisher(isolator, logPublisher, scope?.legacyScope, workspace);\n const publishTask = new PublishTask(PkgAspect.id, publisher, logPublisher);\n const packTask = new PackTask(PkgAspect.id, packer, logPublisher);\n const pkg = new PkgMain(\n logPublisher,\n config,\n packageJsonPropsRegistry,\n workspace,\n scope,\n builder,\n packer,\n envs,\n componentAspect,\n publishTask\n );\n\n componentAspect.registerShowFragments([new PackageFragment(pkg)]);\n dependencyResolver.registerDependencyFactories([new PackageDependencyFactory()]);\n\n graphql.register(pkgSchema(pkg));\n envs.registerService(new PkgService());\n\n componentAspect.registerRoute([new PackageRoute(pkg)]);\n\n const dryRunTask = new PublishDryRunTask(PkgAspect.id, publisher, packer, logPublisher);\n const preparePackagesTask = new PreparePackagesTask(PkgAspect.id, logPublisher);\n dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];\n builder.registerBuildTasks([preparePackagesTask, dryRunTask]);\n builder.registerTagTasks([packTask, publishTask]);\n builder.registerSnapTasks([packTask]);\n if (workspace) {\n // workspace.onComponentLoad(pkg.mergePackageJsonProps.bind(pkg));\n workspace.onComponentLoad(async (component) => {\n const data = await pkg.mergePackageJsonProps(component);\n return {\n packageJsonModification: data,\n };\n });\n }\n\n PackageJsonTransformer.registerPackageJsonTransformer(pkg.transformPackageJson.bind(pkg));\n // TODO: consider passing the pkg instead of packer\n cli.register(new PackCmd(packer), new PublishCmd(publisher));\n return pkg;\n }\n\n /**\n * get the package name of a component.\n */\n getPackageName(component: Component) {\n return componentIdToPackageName(component.state._consumer);\n }\n\n /**\n * returns the package path in the /node_modules/ folder\n */\n getModulePath(component: Component, options: { absPath?: boolean } = {}) {\n const pkgName = this.getPackageName(component);\n const relativePath = join('node_modules', pkgName);\n if (options?.absPath) {\n if (this.workspace) {\n return join(this.workspace.path, relativePath);\n }\n throw new Error('getModulePath with abs path option is not implemented for scope');\n }\n return relativePath;\n }\n\n /**\n *Creates an instance of PkgExtension.\n * @param {PkgExtensionConfig} config\n * @param {PackageJsonPropsRegistry} packageJsonPropsRegistry\n * @param {Packer} packer\n * @memberof PkgExtension\n */\n constructor(\n /**\n * logger extension\n */\n readonly logger: Logger,\n /**\n * pkg extension configuration.\n */\n readonly config: PkgExtensionConfig,\n\n /**\n * Registry for changes by other extensions.\n */\n private packageJsonPropsRegistry: PackageJsonPropsRegistry,\n\n private workspace: Workspace,\n private scope: ScopeMain,\n\n private builder: BuilderMain,\n /**\n * A utils class to packing components into tarball\n */\n private packer: Packer,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n private componentAspect: ComponentMain,\n\n /**\n * keep it as public. external env might want to register it to the snap pipeline\n */\n public publishTask: PublishTask\n ) {}\n\n /**\n * register changes in the package.json\n */\n registerPackageJsonNewProps(props: PackageJsonProps): void {\n return this.packageJsonPropsRegistry.register(props);\n }\n\n /**\n * Pack a component and generate a tarball suitable for npm registry\n *\n * @param {string} componentId\n * @param {(string | undefined)} scopePath\n * @param {string} outDir\n * @param {boolean} [prefix=false]\n * @param {boolean} [override=false]\n * @param {boolean} [keep=false]\n * @returns {Promise<PackResult>}\n * @memberof PkgExtension\n */\n async packComponent(componentId: string, scopePath: string | undefined, options: PackOptions): Promise<PackResult> {\n return this.packer.packComponent(componentId, scopePath, options);\n }\n\n /**\n * Merge the configs provided by:\n * 1. envs configured in the component - via getPackageJsonProps method\n * 2. extensions that registered to the registerPackageJsonNewProps slot (and configured for the component)\n * 3. props defined by the user (they are the strongest one)\n */\n async mergePackageJsonProps(component: Component): Promise<PackageJsonProps> {\n let newProps: PackageJsonProps = {};\n const env = this.envs.calculateEnv(component)?.env;\n if (env?.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {\n const propsFromEnv = env.getPackageJsonProps();\n newProps = Object.assign(newProps, propsFromEnv);\n }\n\n const configuredIds = component.state.aspects.ids;\n configuredIds.forEach((extId) => {\n // Only get props from configured extensions on this specific component\n const props = this.packageJsonPropsRegistry.get(extId);\n if (props) {\n newProps = Object.assign(newProps, props);\n }\n });\n\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n const currentConfig = currentExtension?.config as unknown as ComponentPkgExtensionConfig;\n if (currentConfig && currentConfig.packageJson) {\n newProps = Object.assign(newProps, currentConfig.packageJson);\n }\n // Keys not allowed to override\n const specialKeys = ['extensions', 'dependencies', 'devDependencies', 'peerDependencies'];\n return omit(newProps, specialKeys);\n }\n\n getPackageJsonModifications(component: Component): Record<string, any> {\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n const currentData = currentExtension?.data as unknown as ComponentPkgExtensionData;\n return currentData?.packageJsonModification ?? {};\n }\n\n async getPkgArtifact(component: Component): Promise<PkgArtifact> {\n const artifacts = await this.builder.getArtifactsVinylByExtension(component, PkgAspect.id);\n if (!artifacts.length) throw new PkgArtifactNotFound(component.id);\n\n return new PkgArtifact(artifacts);\n }\n\n async getManifest(component: Component): Promise<ComponentPackageManifest> {\n const name = this.getPackageName(component);\n const latestVersion = component.latest;\n if (!latestVersion) {\n throw new BitError('can not get manifest for component without versions');\n }\n const preReleaseLatestTags = component.tags.getPreReleaseLatestTags();\n const distTags = {\n latest: latestVersion,\n ...preReleaseLatestTags,\n };\n\n const versions = await this.getAllSnapsManifests(component);\n const versionsWithoutEmpty: VersionPackageManifest[] = compact(versions);\n const externalRegistry = this.isPublishedToExternalRegistry(component);\n return {\n name,\n distTags,\n externalRegistry,\n versions: versionsWithoutEmpty,\n };\n }\n\n private async getAllSnapsManifests(component: Component): Promise<VersionPackageManifest[]> {\n const iterable = component.snapsIterable();\n const result: VersionPackageManifest[] = [];\n for await (const snap of iterable) {\n const manifest = await this.getSnapManifest(component, snap);\n if (manifest) {\n result.push(manifest);\n }\n }\n return result;\n }\n\n /**\n * Check if the component should be fetched from bit registry or from another registry\n * This will usually determined by the latest version of the component\n * @param component\n */\n isPublishedToExternalRegistry(component: Component): boolean {\n const pkgExt = component.state.aspects.get(PkgAspect.id);\n // By default publish to bit registry\n if (!pkgExt) return false;\n return !!(pkgExt.config?.packageJson?.name || pkgExt.config?.packageJson?.publishConfig);\n }\n\n private getComponentBuildData(component: Component): ComponentPkgExtensionData | undefined {\n const data = this.builder.getDataByAspect(component, PkgAspect.id);\n if (data) return data as ComponentPkgExtensionData;\n // backward compatibility. the data used to be saved on the pkg aspect rather than on the\n // builder aspect\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n return currentExtension?.data as ComponentPkgExtensionData | undefined;\n }\n\n async getSnapManifest(component: Component, snap: Snap): Promise<VersionPackageManifest | undefined> {\n const idWithCorrectVersion = component.id.changeVersion(snap.hash);\n // const state = await this.scope.getState(component.id, tag.hash);\n // const currentExtension = state.aspects.get(PkgAspect.id);\n const updatedComponent = await this.componentAspect.getHost().get(idWithCorrectVersion, true);\n if (!updatedComponent) {\n throw new BitError(`snap ${snap.hash} for component ${component.id.toString()} is missing`);\n }\n const currentData = this.getComponentBuildData(updatedComponent);\n // If for some reason the version has no package.json manifest, return undefined\n if (!currentData?.pkgJson) {\n return undefined;\n }\n const pkgJson = currentData?.pkgJson ?? {};\n const checksum = currentData?.checksum;\n if (!checksum) {\n this.logger.error(`checksum for ${component.id.toString()} is missing`);\n return undefined;\n }\n const dist = {\n shasum: checksum,\n tarball: this.componentAspect.getRoute(idWithCorrectVersion, routePath),\n };\n\n const manifest = {\n ...pkgJson,\n dist,\n };\n return manifest;\n }\n\n async getPackageTarFile(component: Component): Promise<AbstractVinyl> {\n const artifacts = await this.builder.getArtifactsVinylByExtensionAndName(\n component,\n PkgAspect.id,\n TAR_FILE_ARTIFACT_NAME\n );\n if (!artifacts.length) throw new PackageTarFiletNotFound(component.id);\n\n return artifacts[0];\n }\n\n async transformPackageJson(\n legacyComponent: LegacyComponent,\n packageJsonObject: Record<string, any>\n ): Promise<Record<string, any>> {\n // const newId = await this.workspace.resolveComponentId(component.id);\n // const newComponent = await this.workspace.get(newId);\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyComponent.id);\n const newComponent = await host.get(id);\n if (!newComponent) throw new Error(`cannot transform package.json of component: ${legacyComponent.id.toString()}`);\n const newProps = this.getPackageJsonModifications(newComponent);\n return Object.assign(packageJsonObject, newProps);\n }\n}\n\nPkgAspect.addRuntime(PkgMain);\n"]}
1
+ {"version":3,"sources":["pkg.main.runtime.ts"],"names":["PkgMain","provider","cli","scope","envs","isolator","logger","workspace","builder","dependencyResolver","componentAspect","graphql","config","packageJsonPropsRegistry","logPublisher","createLogger","PkgAspect","id","host","getHost","packer","Packer","publisher","Publisher","legacyScope","publishTask","PublishTask","packTask","PackTask","pkg","registerShowFragments","PackageFragment","registerDependencyFactories","PackageDependencyFactory","register","registerService","PkgService","registerRoute","PackageRoute","preparePackagesTask","PreparePackagesTask","registerBuildTasks","registerTagTasks","registerSnapTasks","onComponentLoad","component","data","mergePackageJsonProps","packageJsonModification","PackageJsonTransformer","registerPackageJsonTransformer","transformPackageJson","bind","PackCmd","PublishCmd","getPackageName","state","_consumer","getModulePath","options","pkgName","relativePath","absPath","path","Error","constructor","registerPackageJsonNewProps","props","packComponent","componentId","scopePath","newProps","env","calculateEnv","getPackageJsonProps","propsFromEnv","Object","assign","configuredIds","aspects","ids","forEach","extId","get","currentExtension","currentConfig","packageJson","specialKeys","getPackageJsonModifications","currentData","getPkgArtifact","artifacts","getArtifactsVinylByExtension","length","PkgArtifactNotFound","PkgArtifact","getManifest","name","latestVersion","latest","BitError","preReleaseLatestTags","tags","getPreReleaseLatestTags","distTags","versions","getAllSnapsManifests","versionsWithoutEmpty","externalRegistry","isPublishedToExternalRegistry","iterable","snapsIterable","result","snap","manifest","getSnapManifest","push","pkgExt","publishConfig","getComponentBuildData","getDataByAspect","idWithCorrectVersion","changeVersion","hash","updatedComponent","toString","pkgJson","undefined","checksum","error","dist","shasum","tarball","getRoute","routePath","getPackageTarFile","getArtifactsVinylByExtensionAndName","TAR_FILE_ARTIFACT_NAME","PackageTarFiletNotFound","legacyComponent","packageJsonObject","resolveComponentId","newComponent","MainRuntime","CLIAspect","ScopeAspect","EnvsAspect","IsolatorAspect","LoggerAspect","WorkspaceAspect","BuilderAspect","DependencyResolverAspect","ComponentAspect","GraphqlAspect","Slot","withType","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;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","sourcesContent":["import { compact, omit } from 'lodash';\nimport { join } from 'path';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain, Snap } from '@teambit/component';\nimport { EnvsAspect, EnvsMain } from '@teambit/envs';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { IsolatorAspect, IsolatorMain } from '@teambit/isolator';\nimport { LoggerAspect, LoggerMain, Logger } from '@teambit/logger';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { PackageJsonTransformer } from '@teambit/legacy/dist/consumer/component/package-json-transformer';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { BuilderMain, BuilderAspect } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { GraphqlMain, GraphqlAspect } from '@teambit/graphql';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\n\nimport { Packer, PackOptions, PackResult, TAR_FILE_ARTIFACT_NAME } from './packer';\n// import { BitCli as CLI, BitCliExt as CLIExtension } from '@teambit/cli';\nimport { PackCmd } from './pack.cmd';\nimport { PkgAspect } from './pkg.aspect';\nimport { PreparePackagesTask } from './prepare-packages.task';\nimport { PublishCmd } from './publish.cmd';\nimport { Publisher } from './publisher';\nimport { PublishTask } from './publish.task';\nimport { PackageTarFiletNotFound, PkgArtifactNotFound } from './exceptions';\nimport { PkgArtifact } from './pkg-artifact';\nimport { PackageRoute, routePath } from './package.route';\nimport { PackageDependencyFactory } from './package-dependency';\nimport { pkgSchema } from './pkg.graphql';\nimport { PackageFragment } from './package.fragment';\nimport { PackTask } from './pack.task';\nimport { PkgService } from './pkg.service';\n\nexport interface PackageJsonProps {\n [key: string]: any;\n}\n\nexport type PackageJsonPropsRegistry = SlotRegistry<PackageJsonProps>;\n\nexport type PkgExtensionConfig = {};\n\n/**\n * Config for variants\n */\nexport type ComponentPkgExtensionConfig = {\n /**\n * properties to add to the package.json of the component.\n */\n packageJson: Record<string, any>;\n};\n\n/**\n * Data stored in the component\n */\nexport type ComponentPkgExtensionData = {\n /**\n * properties to add to the package.json of the component.\n */\n packageJsonModification: Record<string, any>;\n\n /**\n * Final package.json after creating tar file\n */\n pkgJson?: Record<string, any>;\n\n /**\n * Checksum of the tar file\n */\n checksum?: string;\n};\n\ntype ComponentPackageManifest = {\n name: string;\n distTags: Record<string, string>;\n externalRegistry: boolean;\n versions: VersionPackageManifest[];\n};\n\ntype VersionPackageManifest = {\n [key: string]: any;\n dist: {\n tarball: string;\n shasum: string;\n };\n};\n\nexport class PkgMain {\n static runtime = MainRuntime;\n static dependencies = [\n CLIAspect,\n ScopeAspect,\n EnvsAspect,\n IsolatorAspect,\n LoggerAspect,\n WorkspaceAspect,\n BuilderAspect,\n DependencyResolverAspect,\n ComponentAspect,\n GraphqlAspect,\n ];\n static slots = [Slot.withType<PackageJsonProps>()];\n static defaultConfig = {};\n\n static async provider(\n [cli, scope, envs, isolator, logger, workspace, builder, dependencyResolver, componentAspect, graphql]: [\n CLIMain,\n ScopeMain,\n EnvsMain,\n IsolatorMain,\n LoggerMain,\n Workspace,\n BuilderMain,\n DependencyResolverMain,\n ComponentMain,\n GraphqlMain\n ],\n config: PkgExtensionConfig,\n [packageJsonPropsRegistry]: [PackageJsonPropsRegistry]\n ) {\n const logPublisher = logger.createLogger(PkgAspect.id);\n const host = componentAspect.getHost();\n const packer = new Packer(isolator, logPublisher, host, scope);\n const publisher = new Publisher(isolator, logPublisher, scope?.legacyScope, workspace);\n const publishTask = new PublishTask(PkgAspect.id, publisher, logPublisher);\n const packTask = new PackTask(PkgAspect.id, packer, logPublisher);\n const pkg = new PkgMain(\n logPublisher,\n config,\n packageJsonPropsRegistry,\n workspace,\n scope,\n builder,\n packer,\n envs,\n componentAspect,\n publishTask\n );\n\n componentAspect.registerShowFragments([new PackageFragment(pkg)]);\n dependencyResolver.registerDependencyFactories([new PackageDependencyFactory()]);\n\n graphql.register(pkgSchema(pkg));\n envs.registerService(new PkgService());\n\n componentAspect.registerRoute([new PackageRoute(pkg)]);\n\n // we ended up not using the publish-dry-run task. It used to run \"npm publish --dry-run\"\n // and also \"npm pack --dry-run\", but it's not that useful and it takes long to complete.\n // we might revise our decision later.\n // const dryRunTask = new PublishDryRunTask(PkgAspect.id, publisher, packer, logPublisher);\n const preparePackagesTask = new PreparePackagesTask(PkgAspect.id, logPublisher);\n // dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];\n builder.registerBuildTasks([preparePackagesTask]);\n builder.registerTagTasks([packTask, publishTask]);\n builder.registerSnapTasks([packTask]);\n if (workspace) {\n // workspace.onComponentLoad(pkg.mergePackageJsonProps.bind(pkg));\n workspace.onComponentLoad(async (component) => {\n const data = await pkg.mergePackageJsonProps(component);\n return {\n packageJsonModification: data,\n };\n });\n }\n\n PackageJsonTransformer.registerPackageJsonTransformer(pkg.transformPackageJson.bind(pkg));\n // TODO: consider passing the pkg instead of packer\n cli.register(new PackCmd(packer), new PublishCmd(publisher));\n return pkg;\n }\n\n /**\n * get the package name of a component.\n */\n getPackageName(component: Component) {\n return componentIdToPackageName(component.state._consumer);\n }\n\n /**\n * returns the package path in the /node_modules/ folder\n */\n getModulePath(component: Component, options: { absPath?: boolean } = {}) {\n const pkgName = this.getPackageName(component);\n const relativePath = join('node_modules', pkgName);\n if (options?.absPath) {\n if (this.workspace) {\n return join(this.workspace.path, relativePath);\n }\n throw new Error('getModulePath with abs path option is not implemented for scope');\n }\n return relativePath;\n }\n\n /**\n *Creates an instance of PkgExtension.\n * @param {PkgExtensionConfig} config\n * @param {PackageJsonPropsRegistry} packageJsonPropsRegistry\n * @param {Packer} packer\n * @memberof PkgExtension\n */\n constructor(\n /**\n * logger extension\n */\n readonly logger: Logger,\n /**\n * pkg extension configuration.\n */\n readonly config: PkgExtensionConfig,\n\n /**\n * Registry for changes by other extensions.\n */\n private packageJsonPropsRegistry: PackageJsonPropsRegistry,\n\n private workspace: Workspace,\n private scope: ScopeMain,\n\n private builder: BuilderMain,\n /**\n * A utils class to packing components into tarball\n */\n private packer: Packer,\n\n /**\n * envs extension.\n */\n private envs: EnvsMain,\n\n private componentAspect: ComponentMain,\n\n /**\n * keep it as public. external env might want to register it to the snap pipeline\n */\n public publishTask: PublishTask\n ) {}\n\n /**\n * register changes in the package.json\n */\n registerPackageJsonNewProps(props: PackageJsonProps): void {\n return this.packageJsonPropsRegistry.register(props);\n }\n\n /**\n * Pack a component and generate a tarball suitable for npm registry\n *\n * @param {string} componentId\n * @param {(string | undefined)} scopePath\n * @param {string} outDir\n * @param {boolean} [prefix=false]\n * @param {boolean} [override=false]\n * @param {boolean} [keep=false]\n * @returns {Promise<PackResult>}\n * @memberof PkgExtension\n */\n async packComponent(componentId: string, scopePath: string | undefined, options: PackOptions): Promise<PackResult> {\n return this.packer.packComponent(componentId, scopePath, options);\n }\n\n /**\n * Merge the configs provided by:\n * 1. envs configured in the component - via getPackageJsonProps method\n * 2. extensions that registered to the registerPackageJsonNewProps slot (and configured for the component)\n * 3. props defined by the user (they are the strongest one)\n */\n async mergePackageJsonProps(component: Component): Promise<PackageJsonProps> {\n let newProps: PackageJsonProps = {};\n const env = this.envs.calculateEnv(component)?.env;\n if (env?.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {\n const propsFromEnv = env.getPackageJsonProps();\n newProps = Object.assign(newProps, propsFromEnv);\n }\n\n const configuredIds = component.state.aspects.ids;\n configuredIds.forEach((extId) => {\n // Only get props from configured extensions on this specific component\n const props = this.packageJsonPropsRegistry.get(extId);\n if (props) {\n newProps = Object.assign(newProps, props);\n }\n });\n\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n const currentConfig = currentExtension?.config as unknown as ComponentPkgExtensionConfig;\n if (currentConfig && currentConfig.packageJson) {\n newProps = Object.assign(newProps, currentConfig.packageJson);\n }\n // Keys not allowed to override\n const specialKeys = ['extensions', 'dependencies', 'devDependencies', 'peerDependencies'];\n return omit(newProps, specialKeys);\n }\n\n getPackageJsonModifications(component: Component): Record<string, any> {\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n const currentData = currentExtension?.data as unknown as ComponentPkgExtensionData;\n return currentData?.packageJsonModification ?? {};\n }\n\n async getPkgArtifact(component: Component): Promise<PkgArtifact> {\n const artifacts = await this.builder.getArtifactsVinylByExtension(component, PkgAspect.id);\n if (!artifacts.length) throw new PkgArtifactNotFound(component.id);\n\n return new PkgArtifact(artifacts);\n }\n\n async getManifest(component: Component): Promise<ComponentPackageManifest> {\n const name = this.getPackageName(component);\n const latestVersion = component.latest;\n if (!latestVersion) {\n throw new BitError('can not get manifest for component without versions');\n }\n const preReleaseLatestTags = component.tags.getPreReleaseLatestTags();\n const distTags = {\n latest: latestVersion,\n ...preReleaseLatestTags,\n };\n\n const versions = await this.getAllSnapsManifests(component);\n const versionsWithoutEmpty: VersionPackageManifest[] = compact(versions);\n const externalRegistry = this.isPublishedToExternalRegistry(component);\n return {\n name,\n distTags,\n externalRegistry,\n versions: versionsWithoutEmpty,\n };\n }\n\n private async getAllSnapsManifests(component: Component): Promise<VersionPackageManifest[]> {\n const iterable = component.snapsIterable();\n const result: VersionPackageManifest[] = [];\n for await (const snap of iterable) {\n const manifest = await this.getSnapManifest(component, snap);\n if (manifest) {\n result.push(manifest);\n }\n }\n return result;\n }\n\n /**\n * Check if the component should be fetched from bit registry or from another registry\n * This will usually determined by the latest version of the component\n * @param component\n */\n isPublishedToExternalRegistry(component: Component): boolean {\n const pkgExt = component.state.aspects.get(PkgAspect.id);\n // By default publish to bit registry\n if (!pkgExt) return false;\n return !!(pkgExt.config?.packageJson?.name || pkgExt.config?.packageJson?.publishConfig);\n }\n\n private getComponentBuildData(component: Component): ComponentPkgExtensionData | undefined {\n const data = this.builder.getDataByAspect(component, PkgAspect.id);\n if (data) return data as ComponentPkgExtensionData;\n // backward compatibility. the data used to be saved on the pkg aspect rather than on the\n // builder aspect\n const currentExtension = component.state.aspects.get(PkgAspect.id);\n return currentExtension?.data as ComponentPkgExtensionData | undefined;\n }\n\n async getSnapManifest(component: Component, snap: Snap): Promise<VersionPackageManifest | undefined> {\n const idWithCorrectVersion = component.id.changeVersion(snap.hash);\n // const state = await this.scope.getState(component.id, tag.hash);\n // const currentExtension = state.aspects.get(PkgAspect.id);\n const updatedComponent = await this.componentAspect.getHost().get(idWithCorrectVersion, true);\n if (!updatedComponent) {\n throw new BitError(`snap ${snap.hash} for component ${component.id.toString()} is missing`);\n }\n const currentData = this.getComponentBuildData(updatedComponent);\n // If for some reason the version has no package.json manifest, return undefined\n if (!currentData?.pkgJson) {\n return undefined;\n }\n const pkgJson = currentData?.pkgJson ?? {};\n const checksum = currentData?.checksum;\n if (!checksum) {\n this.logger.error(`checksum for ${component.id.toString()} is missing`);\n return undefined;\n }\n const dist = {\n shasum: checksum,\n tarball: this.componentAspect.getRoute(idWithCorrectVersion, routePath),\n };\n\n const manifest = {\n ...pkgJson,\n dist,\n };\n return manifest;\n }\n\n async getPackageTarFile(component: Component): Promise<AbstractVinyl> {\n const artifacts = await this.builder.getArtifactsVinylByExtensionAndName(\n component,\n PkgAspect.id,\n TAR_FILE_ARTIFACT_NAME\n );\n if (!artifacts.length) throw new PackageTarFiletNotFound(component.id);\n\n return artifacts[0];\n }\n\n async transformPackageJson(\n legacyComponent: LegacyComponent,\n packageJsonObject: Record<string, any>\n ): Promise<Record<string, any>> {\n // const newId = await this.workspace.resolveComponentId(component.id);\n // const newComponent = await this.workspace.get(newId);\n const host = this.componentAspect.getHost();\n const id = await host.resolveComponentId(legacyComponent.id);\n const newComponent = await host.get(id);\n if (!newComponent) throw new Error(`cannot transform package.json of component: ${legacyComponent.id.toString()}`);\n const newProps = this.getPackageJsonModifications(newComponent);\n return Object.assign(packageJsonObject, newProps);\n }\n}\n\nPkgAspect.addRuntime(PkgMain);\n"]}
@@ -47,7 +47,7 @@ class PublishDryRunTask {
47
47
  });
48
48
  this.logger.info(`going to run publish dry-run on ${capsulesToPublish.length} out of ${capsules.length}`);
49
49
  const publishResults = await this.publisher.publishMultipleCapsules(capsulesToPublish);
50
- this.logger.info(`going to run pack dry-run on ${capsules.length} out of ${capsules.length}`);
50
+ this.logger.info(`going to run pack dry-run on ${capsules.length} capsules`);
51
51
  const packResults = await this.packer.packMultipleCapsules(capsules, {
52
52
  override: true
53
53
  }, true, true);
@@ -1 +1 @@
1
- {"version":3,"sources":["publish-dry-run.task.ts"],"names":["PublishDryRunTask","constructor","aspectId","publisher","packer","logger","execute","context","options","dryRun","capsules","capsuleNetwork","seedersCapsules","capsulesToPublish","forEach","c","shouldPublish","component","config","extensions","push","info","length","publishResults","publishMultipleCapsules","packResults","packMultipleCapsules","override","componentsResults","concat","artifacts"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACO,MAAMA,iBAAN,CAA6C;AAIlDC,EAAAA,WAAW,CACAC,QADA,EAEDC,SAFC,EAGDC,MAHC,EAIDC,MAJC,EAKT;AAAA,SAJSH,QAIT,GAJSA,QAIT;AAAA,SAHQC,SAGR,GAHQA,SAGR;AAAA,SAFQC,MAER,GAFQA,MAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,kDARc,eAQd;AAAA,sDAPkB,KAOlB;AAAA;AAAE;;AAES,QAAPC,OAAO,CAACC,OAAD,EAAkD;AAC7D,SAAKJ,SAAL,CAAeK,OAAf,CAAuBC,MAAvB,GAAgC,IAAhC;AACA,UAAMC,QAAQ,GAAGH,OAAO,CAACI,cAAR,CAAuBC,eAAxC,CAF6D,CAG7D;;AACA,UAAMC,iBAA4B,GAAG,EAArC;AACAH,IAAAA,QAAQ,CAACI,OAAT,CAAkBC,CAAD,IAAO;AACtB,YAAMC,aAAa,GAAG,KAAKb,SAAL,CAAea,aAAf,CAA6BD,CAAC,CAACE,SAAF,CAAYC,MAAZ,CAAmBC,UAAhD,CAAtB;;AACA,UAAIH,aAAJ,EAAmB;AACjBH,QAAAA,iBAAiB,CAACO,IAAlB,CAAuBL,CAAvB;AACD;AACF,KALD;AAMA,SAAKV,MAAL,CAAYgB,IAAZ,CAAkB,mCAAkCR,iBAAiB,CAACS,MAAO,WAAUZ,QAAQ,CAACY,MAAO,EAAvG;AAEA,UAAMC,cAAc,GAAG,MAAM,KAAKpB,SAAL,CAAeqB,uBAAf,CAAuCX,iBAAvC,CAA7B;AAEA,SAAKR,MAAL,CAAYgB,IAAZ,CAAkB,gCAA+BX,QAAQ,CAACY,MAAO,WAAUZ,QAAQ,CAACY,MAAO,EAA3F;AACA,UAAMG,WAAW,GAAG,MAAM,KAAKrB,MAAL,CAAYsB,oBAAZ,CAAiChB,QAAjC,EAA2C;AAAEiB,MAAAA,QAAQ,EAAE;AAAZ,KAA3C,EAA+D,IAA/D,EAAqE,IAArE,CAA1B;AAEA,WAAO;AACLC,MAAAA,iBAAiB,EAAEL,cAAc,CAACM,MAAf,CAAsBJ,WAAtB,CADd;AAELK,MAAAA,SAAS,EAAE;AAFN,KAAP;AAID;;AAjCiD","sourcesContent":["import { BuildContext, BuiltTaskResult, BuildTask } from '@teambit/builder';\nimport { Logger } from '@teambit/logger';\nimport { Capsule } from '@teambit/isolator';\nimport { Publisher } from './publisher';\nimport { Packer } from './packer';\n\n/**\n * publish build task is running \"publish --dry-run\" to avoid later npm errors during export\n */\nexport class PublishDryRunTask implements BuildTask {\n readonly name = 'PublishDryRun';\n readonly location = 'end';\n dependencies: string[];\n constructor(\n readonly aspectId: string,\n private publisher: Publisher,\n private packer: Packer,\n private logger: Logger\n ) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n this.publisher.options.dryRun = true;\n const capsules = context.capsuleNetwork.seedersCapsules;\n // const capsulesToPublish = capsules.filter((c) => this.publisher.shouldPublish(c.component.config.extensions));\n const capsulesToPublish: Capsule[] = [];\n capsules.forEach((c) => {\n const shouldPublish = this.publisher.shouldPublish(c.component.config.extensions);\n if (shouldPublish) {\n capsulesToPublish.push(c);\n }\n });\n this.logger.info(`going to run publish dry-run on ${capsulesToPublish.length} out of ${capsules.length}`);\n\n const publishResults = await this.publisher.publishMultipleCapsules(capsulesToPublish);\n\n this.logger.info(`going to run pack dry-run on ${capsules.length} out of ${capsules.length}`);\n const packResults = await this.packer.packMultipleCapsules(capsules, { override: true }, true, true);\n\n return {\n componentsResults: publishResults.concat(packResults),\n artifacts: [],\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["publish-dry-run.task.ts"],"names":["PublishDryRunTask","constructor","aspectId","publisher","packer","logger","execute","context","options","dryRun","capsules","capsuleNetwork","seedersCapsules","capsulesToPublish","forEach","c","shouldPublish","component","config","extensions","push","info","length","publishResults","publishMultipleCapsules","packResults","packMultipleCapsules","override","componentsResults","concat","artifacts"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACO,MAAMA,iBAAN,CAA6C;AAIlDC,EAAAA,WAAW,CACAC,QADA,EAEDC,SAFC,EAGDC,MAHC,EAIDC,MAJC,EAKT;AAAA,SAJSH,QAIT,GAJSA,QAIT;AAAA,SAHQC,SAGR,GAHQA,SAGR;AAAA,SAFQC,MAER,GAFQA,MAER;AAAA,SADQC,MACR,GADQA,MACR;AAAA,kDARc,eAQd;AAAA,sDAPkB,KAOlB;AAAA;AAAE;;AAES,QAAPC,OAAO,CAACC,OAAD,EAAkD;AAC7D,SAAKJ,SAAL,CAAeK,OAAf,CAAuBC,MAAvB,GAAgC,IAAhC;AACA,UAAMC,QAAQ,GAAGH,OAAO,CAACI,cAAR,CAAuBC,eAAxC,CAF6D,CAG7D;;AACA,UAAMC,iBAA4B,GAAG,EAArC;AACAH,IAAAA,QAAQ,CAACI,OAAT,CAAkBC,CAAD,IAAO;AACtB,YAAMC,aAAa,GAAG,KAAKb,SAAL,CAAea,aAAf,CAA6BD,CAAC,CAACE,SAAF,CAAYC,MAAZ,CAAmBC,UAAhD,CAAtB;;AACA,UAAIH,aAAJ,EAAmB;AACjBH,QAAAA,iBAAiB,CAACO,IAAlB,CAAuBL,CAAvB;AACD;AACF,KALD;AAMA,SAAKV,MAAL,CAAYgB,IAAZ,CAAkB,mCAAkCR,iBAAiB,CAACS,MAAO,WAAUZ,QAAQ,CAACY,MAAO,EAAvG;AAEA,UAAMC,cAAc,GAAG,MAAM,KAAKpB,SAAL,CAAeqB,uBAAf,CAAuCX,iBAAvC,CAA7B;AAEA,SAAKR,MAAL,CAAYgB,IAAZ,CAAkB,gCAA+BX,QAAQ,CAACY,MAAO,WAAjE;AACA,UAAMG,WAAW,GAAG,MAAM,KAAKrB,MAAL,CAAYsB,oBAAZ,CAAiChB,QAAjC,EAA2C;AAAEiB,MAAAA,QAAQ,EAAE;AAAZ,KAA3C,EAA+D,IAA/D,EAAqE,IAArE,CAA1B;AAEA,WAAO;AACLC,MAAAA,iBAAiB,EAAEL,cAAc,CAACM,MAAf,CAAsBJ,WAAtB,CADd;AAELK,MAAAA,SAAS,EAAE;AAFN,KAAP;AAID;;AAjCiD","sourcesContent":["import { BuildContext, BuiltTaskResult, BuildTask } from '@teambit/builder';\nimport { Logger } from '@teambit/logger';\nimport { Capsule } from '@teambit/isolator';\nimport { Publisher } from './publisher';\nimport { Packer } from './packer';\n\n/**\n * publish build task is running \"publish --dry-run\" to avoid later npm errors during export\n */\nexport class PublishDryRunTask implements BuildTask {\n readonly name = 'PublishDryRun';\n readonly location = 'end';\n dependencies: string[];\n constructor(\n readonly aspectId: string,\n private publisher: Publisher,\n private packer: Packer,\n private logger: Logger\n ) {}\n\n async execute(context: BuildContext): Promise<BuiltTaskResult> {\n this.publisher.options.dryRun = true;\n const capsules = context.capsuleNetwork.seedersCapsules;\n // const capsulesToPublish = capsules.filter((c) => this.publisher.shouldPublish(c.component.config.extensions));\n const capsulesToPublish: Capsule[] = [];\n capsules.forEach((c) => {\n const shouldPublish = this.publisher.shouldPublish(c.component.config.extensions);\n if (shouldPublish) {\n capsulesToPublish.push(c);\n }\n });\n this.logger.info(`going to run publish dry-run on ${capsulesToPublish.length} out of ${capsules.length}`);\n\n const publishResults = await this.publisher.publishMultipleCapsules(capsulesToPublish);\n\n this.logger.info(`going to run pack dry-run on ${capsules.length} capsules`);\n const packResults = await this.packer.packMultipleCapsules(capsules, { override: true }, true, true);\n\n return {\n componentsResults: publishResults.concat(packResults),\n artifacts: [],\n };\n }\n}\n"]}
package/package.json CHANGED
@@ -1,40 +1,41 @@
1
1
  {
2
2
  "name": "@teambit/pkg",
3
- "version": "0.0.543",
3
+ "version": "0.0.551",
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.543"
9
+ "version": "0.0.551"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
13
13
  "mime": "2.5.2",
14
14
  "lodash": "4.17.21",
15
- "p-map-series": "2.1.0",
15
+ "p-map": "4.0.0",
16
16
  "@teambit/harmony": "0.2.11",
17
17
  "graphql-tag": "2.12.1",
18
18
  "cli-highlight": "2.1.9",
19
19
  "ink": "3.0.8",
20
20
  "fs-extra": "10.0.0",
21
21
  "execa": "2.1.0",
22
+ "p-map-series": "2.1.0",
22
23
  "@babel/runtime": "7.12.18",
23
24
  "core-js": "^3.0.0",
24
- "@teambit/cli": "0.0.380",
25
- "@teambit/builder": "0.0.543",
26
- "@teambit/logger": "0.0.461",
27
- "@teambit/component": "0.0.543",
28
- "@teambit/express": "0.0.465",
29
- "@teambit/isolator": "0.0.543",
30
- "@teambit/scope": "0.0.543",
31
- "@teambit/graphql": "0.0.543",
32
- "@teambit/bit-error": "0.0.366",
33
- "@teambit/dependency-resolver": "0.0.543",
34
- "@teambit/envs": "0.0.543",
35
- "@teambit/workspace": "0.0.543",
36
- "@teambit/compiler": "0.0.543",
37
- "@teambit/legacy-bit-id": "0.0.369"
25
+ "@teambit/cli": "0.0.382",
26
+ "@teambit/builder": "0.0.551",
27
+ "@teambit/logger": "0.0.467",
28
+ "@teambit/component": "0.0.551",
29
+ "@teambit/express": "0.0.471",
30
+ "@teambit/isolator": "0.0.551",
31
+ "@teambit/scope": "0.0.551",
32
+ "@teambit/graphql": "0.0.551",
33
+ "@teambit/bit-error": "0.0.368",
34
+ "@teambit/dependency-resolver": "0.0.551",
35
+ "@teambit/envs": "0.0.551",
36
+ "@teambit/workspace": "0.0.551",
37
+ "@teambit/compiler": "0.0.551",
38
+ "@teambit/legacy-bit-id": "0.0.371"
38
39
  },
39
40
  "devDependencies": {
40
41
  "@types/mime": "2.0.3",
@@ -46,10 +47,10 @@
46
47
  "@types/jest": "^26.0.0",
47
48
  "@types/react-dom": "^17.0.5",
48
49
  "@types/node": "12.20.4",
49
- "@teambit/pkg.aspect-docs.pkg": "0.0.97"
50
+ "@teambit/pkg.aspect-docs.pkg": "0.0.101"
50
51
  },
51
52
  "peerDependencies": {
52
- "@teambit/legacy": "1.0.76",
53
+ "@teambit/legacy": "1.0.169",
53
54
  "react-dom": "^16.8.0 || ^17.0.0",
54
55
  "react": "^16.8.0 || ^17.0.0"
55
56
  },
@@ -77,7 +78,7 @@
77
78
  "react": "-"
78
79
  },
79
80
  "peerDependencies": {
80
- "@teambit/legacy": "1.0.76",
81
+ "@teambit/legacy": "1.0.169",
81
82
  "react-dom": "^16.8.0 || ^17.0.0",
82
83
  "react": "^16.8.0 || ^17.0.0"
83
84
  }
package/packer.ts CHANGED
@@ -6,7 +6,7 @@ import { ScopeMain } from '@teambit/scope';
6
6
  import LegacyScope from '@teambit/legacy/dist/scope/scope';
7
7
  import { Packer as LegacyPacker, PackWriteOptions, PackOptions } from '@teambit/legacy/dist/pack';
8
8
  import { Logger } from '@teambit/logger';
9
- import mapSeries from 'p-map-series';
9
+ import pMap from 'p-map';
10
10
 
11
11
  // @ts-ignore (for some reason the tsc -w not found this)
12
12
  import { ScopeNotFound } from './exceptions/scope-not-found';
@@ -19,6 +19,7 @@ export type PackResultWithId = PackResult & {
19
19
  };
20
20
 
21
21
  const DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';
22
+ const PACK_CONCURRENCY = 10;
22
23
  export const TAR_FILE_ARTIFACT_NAME = 'package tar file';
23
24
 
24
25
  export class Packer {
@@ -66,13 +67,14 @@ export class Packer {
66
67
  dryRun = false,
67
68
  omitFullTarPath = false
68
69
  ): Promise<ComponentResult[]> {
69
- const description = `packing components${dryRun ? ' (dry-run)' : ''}`;
70
- const longProcessLogger = this.logger.createLongProcessLogger(description, capsules.length);
71
- const results = mapSeries(capsules, (capsule) => {
72
- longProcessLogger.logProgress(capsule.component.id.toString());
73
- return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);
74
- });
75
- longProcessLogger.end();
70
+ // const description = `packing components${dryRun ? ' (dry-run)' : ''}`;
71
+ const results = pMap(
72
+ capsules,
73
+ (capsule) => {
74
+ return this.packCapsule(capsule, writeOptions, dryRun, omitFullTarPath);
75
+ },
76
+ { concurrency: PACK_CONCURRENCY }
77
+ );
76
78
  return results;
77
79
  }
78
80
 
@@ -11,7 +11,7 @@ import { Workspace, WorkspaceAspect } from '@teambit/workspace';
11
11
  import { PackageJsonTransformer } from '@teambit/legacy/dist/consumer/component/package-json-transformer';
12
12
  import LegacyComponent from '@teambit/legacy/dist/consumer/component';
13
13
  import componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';
14
- import { BuilderMain, BuilderAspect, BuildTaskHelper } from '@teambit/builder';
14
+ import { BuilderMain, BuilderAspect } from '@teambit/builder';
15
15
  import { BitError } from '@teambit/bit-error';
16
16
  import { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';
17
17
  import { GraphqlMain, GraphqlAspect } from '@teambit/graphql';
@@ -22,7 +22,6 @@ import { Packer, PackOptions, PackResult, TAR_FILE_ARTIFACT_NAME } from './packe
22
22
  import { PackCmd } from './pack.cmd';
23
23
  import { PkgAspect } from './pkg.aspect';
24
24
  import { PreparePackagesTask } from './prepare-packages.task';
25
- import { PublishDryRunTask } from './publish-dry-run.task';
26
25
  import { PublishCmd } from './publish.cmd';
27
26
  import { Publisher } from './publisher';
28
27
  import { PublishTask } from './publish.task';
@@ -148,10 +147,13 @@ export class PkgMain {
148
147
 
149
148
  componentAspect.registerRoute([new PackageRoute(pkg)]);
150
149
 
151
- const dryRunTask = new PublishDryRunTask(PkgAspect.id, publisher, packer, logPublisher);
150
+ // we ended up not using the publish-dry-run task. It used to run "npm publish --dry-run"
151
+ // and also "npm pack --dry-run", but it's not that useful and it takes long to complete.
152
+ // we might revise our decision later.
153
+ // const dryRunTask = new PublishDryRunTask(PkgAspect.id, publisher, packer, logPublisher);
152
154
  const preparePackagesTask = new PreparePackagesTask(PkgAspect.id, logPublisher);
153
- dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];
154
- builder.registerBuildTasks([preparePackagesTask, dryRunTask]);
155
+ // dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];
156
+ builder.registerBuildTasks([preparePackagesTask]);
155
157
  builder.registerTagTasks([packTask, publishTask]);
156
158
  builder.registerSnapTasks([packTask]);
157
159
  if (workspace) {
@@ -33,7 +33,7 @@ export class PublishDryRunTask implements BuildTask {
33
33
 
34
34
  const publishResults = await this.publisher.publishMultipleCapsules(capsulesToPublish);
35
35
 
36
- this.logger.info(`going to run pack dry-run on ${capsules.length} out of ${capsules.length}`);
36
+ this.logger.info(`going to run pack dry-run on ${capsules.length} capsules`);
37
37
  const packResults = await this.packer.packMultipleCapsules(capsules, { override: true }, true, true);
38
38
 
39
39
  return {
Binary file