@teambit/pkg 1.0.107 → 1.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/exceptions/scope-not-found.d.ts +2 -2
  2. package/dist/pack.cmd.d.ts +2 -2
  3. package/dist/pack.cmd.js +3 -4
  4. package/dist/pack.cmd.js.map +1 -1
  5. package/dist/package-generator.d.ts +1 -1
  6. package/dist/packer.d.ts +6 -6
  7. package/dist/packer.js +1 -2
  8. package/dist/packer.js.map +1 -1
  9. package/dist/pkg.composition.d.ts +2 -2
  10. package/dist/pkg.main.runtime.d.ts +8 -8
  11. package/dist/pkg.main.runtime.js +18 -22
  12. package/dist/pkg.main.runtime.js.map +1 -1
  13. package/dist/pkg.service.d.ts +4 -4
  14. package/dist/pkg.service.js +3 -3
  15. package/dist/pkg.service.js.map +1 -1
  16. package/dist/pkg.ui.runtime.js +4 -4
  17. package/dist/pkg.ui.runtime.js.map +1 -1
  18. package/dist/{preview-1703590665075.js → preview-1703647408454.js} +2 -2
  19. package/dist/publish.cmd.d.ts +1 -1
  20. package/dist/publish.cmd.js +2 -3
  21. package/dist/publish.cmd.js.map +1 -1
  22. package/dist/publisher.d.ts +1 -1
  23. package/dist/publisher.js +4 -6
  24. package/dist/publisher.js.map +1 -1
  25. package/dist/write-npm-ignore.js +1 -2
  26. package/dist/write-npm-ignore.js.map +1 -1
  27. package/index.ts +12 -0
  28. package/pack.task.ts +27 -0
  29. package/package-env-type.ts +9 -0
  30. package/package-generator.ts +33 -0
  31. package/package.fragment.ts +24 -0
  32. package/package.json +29 -36
  33. package/package.route.ts +32 -0
  34. package/packer.ts +206 -0
  35. package/pkg-artifact.ts +5 -0
  36. package/pkg.aspect.ts +7 -0
  37. package/pkg.graphql.ts +59 -0
  38. package/pkg.main.runtime.ts +496 -0
  39. package/prepare-packages.task.ts +85 -0
  40. package/publish-dry-run.task.ts +44 -0
  41. package/publish.task.ts +33 -0
  42. package/publisher.ts +153 -0
  43. package/tsconfig.json +16 -21
  44. package/types/asset.d.ts +15 -3
  45. package/write-npm-ignore.ts +20 -0
@@ -1,5 +1,5 @@
1
1
  import { BitError } from '@teambit/bit-error';
2
2
  export declare class ScopeNotFound extends BitError {
3
- readonly scopePath?: string | undefined;
4
- constructor(scopePath?: string | undefined);
3
+ readonly scopePath?: string;
4
+ constructor(scopePath?: string);
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { Command, CommandOptions } from '@teambit/cli';
2
2
  import { Packer } from './packer';
3
- declare type PackArgs = [string, string];
4
- declare type PackCmdOptions = {
3
+ type PackArgs = [string, string];
4
+ type PackCmdOptions = {
5
5
  outDir?: string;
6
6
  override?: boolean;
7
7
  prefix?: boolean;
package/dist/pack.cmd.js CHANGED
@@ -28,13 +28,12 @@ class PackCmd {
28
28
  _defineProperty(this, "private", true);
29
29
  }
30
30
  async report(args, options) {
31
- var _packResult$data, _packResult$data2, _packResult$data$meta, _packResult$data$meta2;
32
31
  const packResult = await this.json(args, options);
33
- const warnings = ((_packResult$data = packResult.data) === null || _packResult$data === void 0 ? void 0 : _packResult$data.warnings) || [];
32
+ const warnings = packResult.data?.warnings || [];
34
33
  const warningsOutput = warnings.map(warning => _chalk().default.yellow(warning)).join('\n');
35
- const errors = ((_packResult$data2 = packResult.data) === null || _packResult$data2 === void 0 ? void 0 : _packResult$data2.errors) || [];
34
+ const errors = packResult.data?.errors || [];
36
35
  const errorsOutput = errors.map(error => _chalk().default.yellow(error)).join('\n');
37
- const tarPathOutput = (_packResult$data$meta = packResult.data.metadata) !== null && _packResult$data$meta !== void 0 && _packResult$data$meta.tarPath ? _chalk().default.green(`tar path for component ${packResult.data.id}: ${(_packResult$data$meta2 = packResult.data.metadata) === null || _packResult$data$meta2 === void 0 ? void 0 : _packResult$data$meta2.tarPath}`) : '';
36
+ const tarPathOutput = packResult.data.metadata?.tarPath ? _chalk().default.green(`tar path for component ${packResult.data.id}: ${packResult.data.metadata?.tarPath}`) : '';
38
37
  return `${warningsOutput}\n${errorsOutput}\n${tarPathOutput}`;
39
38
  }
40
39
  async json([componentId, scopePath], options) {
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","PackCmd","constructor","packer","report","args","options","_packResult$data","_packResult$data2","_packResult$data$meta","_packResult$data$meta2","packResult","json","warnings","warningsOutput","map","warning","chalk","yellow","join","errors","errorsOutput","error","tarPathOutput","metadata","tarPath","green","id","componentId","scopePath","compId","scopePathStr","concreteOpts","writeOptions","outDir","override","prefix","keep","packComponent","code","exports"],"sources":["pack.cmd.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\n\nimport { Packer, PackOptions } from './packer';\n\ntype PackArgs = [string, string];\ntype PackCmdOptions = {\n outDir?: string;\n override?: boolean;\n prefix?: boolean;\n keep?: boolean;\n // useCapsule?: boolean;\n};\n\nexport class PackCmd implements Command {\n name = 'pack <componentId> [scopePath]';\n description = 'create tar for npm publish';\n options = [\n ['d', 'out-dir <out-dir>', 'directory to put the result tar file'],\n ['o', 'override', 'override existing pack file'],\n ['k', 'keep', 'should keep isolated environment [default = false]'],\n ['p', 'prefix', 'keep custom (binding) prefix'],\n // ['c', 'use-capsule', 'isolate using the capsule and pack on the capsule'],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n alias = '';\n group = 'collaborate';\n private = true;\n\n constructor(private packer: Packer) {}\n\n async report(args: PackArgs, options: PackCmdOptions) {\n const packResult = await this.json(args, options);\n const warnings: any = packResult.data?.warnings || [];\n const warningsOutput: any = warnings.map((warning) => chalk.yellow(warning)).join('\\n');\n const errors: any = packResult.data?.errors || [];\n const errorsOutput: any = errors.map((error) => chalk.yellow(error)).join('\\n');\n const tarPathOutput = packResult.data.metadata?.tarPath\n ? chalk.green(`tar path for component ${packResult.data.id}: ${packResult.data.metadata?.tarPath}`)\n : '';\n return `${warningsOutput}\\n${errorsOutput}\\n${tarPathOutput}`;\n }\n\n async json([componentId, scopePath]: PackArgs, options: PackCmdOptions) {\n const compId = typeof componentId === 'string' ? componentId : componentId[0];\n let scopePathStr: string | undefined;\n if (scopePath) {\n scopePathStr = typeof scopePath !== 'string' ? scopePath[0] : scopePath;\n }\n\n const concreteOpts: PackOptions = {\n writeOptions: {\n outDir: options.outDir,\n override: options.override,\n },\n prefix: options.prefix,\n keep: options.keep,\n // useCapsule: options.useCapsule,\n };\n\n const packResult = await this.packer.packComponent(compId, scopePathStr, concreteOpts);\n return {\n data: packResult,\n code: 0,\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","PackCmd","constructor","packer","report","args","options","packResult","json","warnings","warningsOutput","map","warning","chalk","yellow","join","errors","errorsOutput","error","tarPathOutput","metadata","tarPath","green","id","componentId","scopePath","compId","scopePathStr","concreteOpts","writeOptions","outDir","override","prefix","keep","packComponent","code","exports"],"sources":["pack.cmd.tsx"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\n\nimport { Packer, PackOptions } from './packer';\n\ntype PackArgs = [string, string];\ntype PackCmdOptions = {\n outDir?: string;\n override?: boolean;\n prefix?: boolean;\n keep?: boolean;\n // useCapsule?: boolean;\n};\n\nexport class PackCmd implements Command {\n name = 'pack <componentId> [scopePath]';\n description = 'create tar for npm publish';\n options = [\n ['d', 'out-dir <out-dir>', 'directory to put the result tar file'],\n ['o', 'override', 'override existing pack file'],\n ['k', 'keep', 'should keep isolated environment [default = false]'],\n ['p', 'prefix', 'keep custom (binding) prefix'],\n // ['c', 'use-capsule', 'isolate using the capsule and pack on the capsule'],\n ['j', 'json', 'return the output as JSON'],\n ] as CommandOptions;\n alias = '';\n group = 'collaborate';\n private = true;\n\n constructor(private packer: Packer) {}\n\n async report(args: PackArgs, options: PackCmdOptions) {\n const packResult = await this.json(args, options);\n const warnings: any = packResult.data?.warnings || [];\n const warningsOutput: any = warnings.map((warning) => chalk.yellow(warning)).join('\\n');\n const errors: any = packResult.data?.errors || [];\n const errorsOutput: any = errors.map((error) => chalk.yellow(error)).join('\\n');\n const tarPathOutput = packResult.data.metadata?.tarPath\n ? chalk.green(`tar path for component ${packResult.data.id}: ${packResult.data.metadata?.tarPath}`)\n : '';\n return `${warningsOutput}\\n${errorsOutput}\\n${tarPathOutput}`;\n }\n\n async json([componentId, scopePath]: PackArgs, options: PackCmdOptions) {\n const compId = typeof componentId === 'string' ? componentId : componentId[0];\n let scopePathStr: string | undefined;\n if (scopePath) {\n scopePathStr = typeof scopePath !== 'string' ? scopePath[0] : scopePath;\n }\n\n const concreteOpts: PackOptions = {\n writeOptions: {\n outDir: options.outDir,\n override: options.override,\n },\n prefix: options.prefix,\n keep: options.keep,\n // useCapsule: options.useCapsule,\n };\n\n const packResult = await this.packer.packComponent(compId, scopePathStr, concreteOpts);\n return {\n data: packResult,\n code: 0,\n };\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { EnvContext, EnvHandler } from '@teambit/envs';
2
2
  import { PackageJsonProps } from './pkg.main.runtime';
3
- export declare type PackageGeneratorOptions = {
3
+ export type PackageGeneratorOptions = {
4
4
  packageJson: PackageJsonProps;
5
5
  npmIgnore?: string[];
6
6
  };
package/dist/packer.d.ts CHANGED
@@ -3,24 +3,24 @@ import { ComponentResult, ArtifactDefinition } from '@teambit/builder';
3
3
  import { Capsule, IsolatorMain } from '@teambit/isolator';
4
4
  import { ScopeMain } from '@teambit/scope';
5
5
  import { Logger } from '@teambit/logger';
6
- export declare type PackResult = Omit<ComponentResult, 'component'>;
7
- export declare type PackResultWithId = PackResult & {
6
+ export type PackResult = Omit<ComponentResult, 'component'>;
7
+ export type PackResultWithId = PackResult & {
8
8
  id: string;
9
9
  };
10
10
  export declare const DEFAULT_TAR_DIR_IN_CAPSULE = "package-tar";
11
11
  export declare const TAR_FILE_ARTIFACT_NAME = "package tar file";
12
- export declare type PackResultMetadata = {
12
+ export type PackResultMetadata = {
13
13
  pkgJson: Record<any, string>;
14
14
  tarPath: string;
15
15
  tarName: string;
16
16
  checksum?: string;
17
17
  integrity?: string;
18
18
  };
19
- export declare type PackWriteOptions = {
19
+ export type PackWriteOptions = {
20
20
  outDir?: string;
21
21
  override?: boolean;
22
22
  };
23
- export declare type PackOptions = {
23
+ export type PackOptions = {
24
24
  writeOptions: PackWriteOptions;
25
25
  prefix?: boolean;
26
26
  keep?: boolean;
@@ -32,7 +32,7 @@ export declare class Packer {
32
32
  private logger;
33
33
  private host;
34
34
  private scope?;
35
- constructor(isolator: IsolatorMain, logger: Logger, host: ComponentFactory, scope?: ScopeMain | undefined);
35
+ constructor(isolator: IsolatorMain, logger: Logger, host: ComponentFactory, scope?: ScopeMain);
36
36
  packComponent(componentId: string, scopePath: string | undefined, options: PackOptions): Promise<PackResultWithId>;
37
37
  packMultipleCapsules(capsules: Capsule[], writeOptions?: PackWriteOptions, dryRun?: boolean, omitFullTarPath?: boolean): Promise<ComponentResult[]>;
38
38
  packCapsule(capsule: Capsule, writeOptions?: PackWriteOptions, dryRun?: boolean, omitFullTarPath?: boolean): Promise<ComponentResult>;
package/dist/packer.js CHANGED
@@ -95,10 +95,9 @@ class Packer {
95
95
  this.scope = scope;
96
96
  }
97
97
  async packComponent(componentId, scopePath, options) {
98
- var _this$scope;
99
98
  // By default do not load scope from cache when packing
100
99
  const loadScopeFromCache = options && options.loadScopeFromCache !== undefined ? !!options.loadScopeFromCache : false;
101
- const legacyScope = scopePath ? await _scope().default.load(scopePath, loadScopeFromCache) : (_this$scope = this.scope) === null || _this$scope === void 0 ? void 0 : _this$scope.legacyScope;
100
+ const legacyScope = scopePath ? await _scope().default.load(scopePath, loadScopeFromCache) : this.scope?.legacyScope;
102
101
  if (!legacyScope) {
103
102
  throw new (_scopeNotFound().ScopeNotFound)(scopePath);
104
103
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_ssri","_lodash","_pluginCommandsPublishing","_componentVersion","_scope","_utils","_pMap","_isRelativePath","_scopeNotFound","obj","__esModule","default","DEFAULT_TAR_DIR_IN_CAPSULE","exports","PACK_CONCURRENCY","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","packComponent","componentId","scopePath","options","_this$scope","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","capsule","getCapsule","res","packCapsule","writeOptions","dryRun","Object","assign","_","omit","id","packMultipleCapsules","capsules","override","omitFullTarPath","results","pMap","concurrency","concreteWriteOpts","outDir","packResult","pnpmPack","path","component","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","cwd","outputPath","Date","now","pkgJson","readPackageJson","isSnap","version","tgzName","pack","handler","argv","original","dir","rawConfig","debug","tgzOriginPath","join","tarPath","isRelative","tarName","fs","pathExistsSync","removeSync","move","checksum","checksumFile","integrity","calculateFileIntegrity","err","errorMsg","error","stderr","message","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error","readJsonSync","filePath","ssri","fromData","readFile","algorithms","toString"],"sources":["packer.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport ssri from 'ssri';\nimport _ from 'lodash';\nimport { pack } from '@pnpm/plugin-commands-publishing';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { isSnap } from '@teambit/component-version';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { checksumFile } from '@teambit/legacy/dist/utils';\nimport { Logger } from '@teambit/logger';\nimport pMap from 'p-map';\nimport isRelative from 'is-relative-path';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nexport const DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nconst PACK_CONCURRENCY = 10;\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport type PackResultMetadata = {\n pkgJson: Record<any, string>;\n tarPath: string;\n tarName: string;\n checksum?: string;\n integrity?: string;\n};\n\nexport type PackWriteOptions = {\n outDir?: string;\n override?: boolean;\n};\n\nexport type PackOptions = {\n writeOptions: PackWriteOptions;\n prefix?: boolean;\n keep?: boolean;\n loadScopeFromCache?: boolean;\n dryRun?: boolean;\n};\n\nexport class Packer {\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\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 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.pnpmPack(\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 async pnpmPack(cwd: string, outputPath: string, override = false, dryRun = false): Promise<PackResult> {\n const startTime = Date.now();\n const errors: string[] = [];\n const warnings: string[] = [];\n\n try {\n const pkgJson = readPackageJson(cwd);\n if (isSnap(pkgJson.version)) {\n warnings.push(`\"package.json at ${cwd}\" contain a snap version which is not a valid semver, can't pack it`);\n return { warnings, startTime, endTime: Date.now() };\n }\n const tgzName = await pack.handler({\n argv: { original: [] },\n dir: cwd,\n rawConfig: {},\n });\n this.logger.debug(`successfully packed tarball at ${cwd}`);\n const tgzOriginPath = path.join(cwd, tgzName);\n let tarPath = path.join(outputPath, tgzName);\n if (isRelative(tarPath)) {\n tarPath = path.join(cwd, tarPath);\n }\n const metadata: PackResultMetadata = {\n pkgJson,\n tarPath,\n tarName: tgzName,\n };\n if (tgzOriginPath !== tarPath && fs.pathExistsSync(tarPath)) {\n if (override) {\n warnings.push(`\"${tarPath}\" already exists, override it`);\n fs.removeSync(tarPath);\n } else {\n errors.push(`\"${tarPath}\" already exists, use --override flag to override`);\n return { metadata, errors, startTime, endTime: Date.now() };\n }\n }\n if (tgzOriginPath !== tarPath && !dryRun) {\n await fs.move(tgzOriginPath, tarPath);\n }\n if (!dryRun) {\n const checksum = await checksumFile(tarPath);\n metadata.checksum = checksum;\n metadata.integrity = await calculateFileIntegrity(tarPath);\n }\n return { metadata, warnings, errors, startTime, endTime: Date.now() };\n } catch (err: any) {\n const errorMsg = `failed packing at ${cwd}`;\n this.logger.error(`${errorMsg}`, err);\n if (err.stderr) this.logger.error(`${err.stderr}`);\n errors.push(`${errorMsg}\\n${err.stderr || err.message}`);\n return { errors, startTime, endTime: Date.now() };\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\nfunction readPackageJson(dir: string) {\n const pkgJson = fs.readJsonSync(path.join(dir, 'package.json'));\n return pkgJson;\n}\n\nasync function calculateFileIntegrity(filePath: string): Promise<string> {\n return ssri.fromData(await fs.readFile(filePath), { algorithms: ['sha512'] }).toString();\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","_ssri","_lodash","_pluginCommandsPublishing","_componentVersion","_scope","_utils","_pMap","_isRelativePath","_scopeNotFound","obj","__esModule","default","DEFAULT_TAR_DIR_IN_CAPSULE","exports","PACK_CONCURRENCY","TAR_FILE_ARTIFACT_NAME","Packer","constructor","isolator","logger","host","scope","packComponent","componentId","scopePath","options","loadScopeFromCache","undefined","legacyScope","LegacyScope","load","ScopeNotFound","capsule","getCapsule","res","packCapsule","writeOptions","dryRun","Object","assign","_","omit","id","packMultipleCapsules","capsules","override","omitFullTarPath","results","pMap","concurrency","concreteWriteOpts","outDir","packResult","pnpmPack","path","component","fieldsToRemove","push","metadata","omitBy","isUndefined","value","errors","warnings","startTime","endTime","cwd","outputPath","Date","now","pkgJson","readPackageJson","isSnap","version","tgzName","pack","handler","argv","original","dir","rawConfig","debug","tgzOriginPath","join","tarPath","isRelative","tarName","fs","pathExistsSync","removeSync","move","checksum","checksumFile","integrity","calculateFileIntegrity","err","errorMsg","error","stderr","message","getArtifactDefInCapsule","rootDir","def","name","globPatterns","componentIdStr","resolveComponentId","network","isolateComponents","baseDir","seedersCapsules","Error","readJsonSync","filePath","ssri","fromData","readFile","algorithms","toString"],"sources":["packer.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport ssri from 'ssri';\nimport _ from 'lodash';\nimport { pack } from '@pnpm/plugin-commands-publishing';\nimport { ComponentFactory } from '@teambit/component';\nimport { ComponentResult, ArtifactDefinition } from '@teambit/builder';\nimport { Capsule, IsolatorMain } from '@teambit/isolator';\nimport { isSnap } from '@teambit/component-version';\nimport { ScopeMain } from '@teambit/scope';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport { checksumFile } from '@teambit/legacy/dist/utils';\nimport { Logger } from '@teambit/logger';\nimport pMap from 'p-map';\nimport isRelative from 'is-relative-path';\n\n// @ts-ignore (for some reason the tsc -w not found this)\nimport { ScopeNotFound } from './exceptions/scope-not-found';\n\nexport type PackResult = Omit<ComponentResult, 'component'>;\nexport type PackResultWithId = PackResult & {\n id: string;\n};\n\nexport const DEFAULT_TAR_DIR_IN_CAPSULE = 'package-tar';\nconst PACK_CONCURRENCY = 10;\nexport const TAR_FILE_ARTIFACT_NAME = 'package tar file';\n\nexport type PackResultMetadata = {\n pkgJson: Record<any, string>;\n tarPath: string;\n tarName: string;\n checksum?: string;\n integrity?: string;\n};\n\nexport type PackWriteOptions = {\n outDir?: string;\n override?: boolean;\n};\n\nexport type PackOptions = {\n writeOptions: PackWriteOptions;\n prefix?: boolean;\n keep?: boolean;\n loadScopeFromCache?: boolean;\n dryRun?: boolean;\n};\n\nexport class Packer {\n constructor(\n private isolator: IsolatorMain,\n private logger: Logger,\n private host: ComponentFactory,\n private scope?: ScopeMain\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 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.pnpmPack(\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 async pnpmPack(cwd: string, outputPath: string, override = false, dryRun = false): Promise<PackResult> {\n const startTime = Date.now();\n const errors: string[] = [];\n const warnings: string[] = [];\n\n try {\n const pkgJson = readPackageJson(cwd);\n if (isSnap(pkgJson.version)) {\n warnings.push(`\"package.json at ${cwd}\" contain a snap version which is not a valid semver, can't pack it`);\n return { warnings, startTime, endTime: Date.now() };\n }\n const tgzName = await pack.handler({\n argv: { original: [] },\n dir: cwd,\n rawConfig: {},\n });\n this.logger.debug(`successfully packed tarball at ${cwd}`);\n const tgzOriginPath = path.join(cwd, tgzName);\n let tarPath = path.join(outputPath, tgzName);\n if (isRelative(tarPath)) {\n tarPath = path.join(cwd, tarPath);\n }\n const metadata: PackResultMetadata = {\n pkgJson,\n tarPath,\n tarName: tgzName,\n };\n if (tgzOriginPath !== tarPath && fs.pathExistsSync(tarPath)) {\n if (override) {\n warnings.push(`\"${tarPath}\" already exists, override it`);\n fs.removeSync(tarPath);\n } else {\n errors.push(`\"${tarPath}\" already exists, use --override flag to override`);\n return { metadata, errors, startTime, endTime: Date.now() };\n }\n }\n if (tgzOriginPath !== tarPath && !dryRun) {\n await fs.move(tgzOriginPath, tarPath);\n }\n if (!dryRun) {\n const checksum = await checksumFile(tarPath);\n metadata.checksum = checksum;\n metadata.integrity = await calculateFileIntegrity(tarPath);\n }\n return { metadata, warnings, errors, startTime, endTime: Date.now() };\n } catch (err: any) {\n const errorMsg = `failed packing at ${cwd}`;\n this.logger.error(`${errorMsg}`, err);\n if (err.stderr) this.logger.error(`${err.stderr}`);\n errors.push(`${errorMsg}\\n${err.stderr || err.message}`);\n return { errors, startTime, endTime: Date.now() };\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\nfunction readPackageJson(dir: string) {\n const pkgJson = fs.readJsonSync(path.join(dir, 'package.json'));\n return pkgJson;\n}\n\nasync function calculateFileIntegrity(filePath: string): Promise<string> {\n return ssri.fromData(await fs.readFile(filePath), { algorithms: ['sha512'] }).toString();\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare const Logo: () => React.JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const Logo: () => JSX.Element;
@@ -16,19 +16,19 @@ import { PkgArtifact } from './pkg-artifact';
16
16
  export interface PackageJsonProps {
17
17
  [key: string]: any;
18
18
  }
19
- export declare type PackageJsonPropsRegistry = SlotRegistry<PackageJsonProps>;
20
- export declare type PkgExtensionConfig = {
19
+ export type PackageJsonPropsRegistry = SlotRegistry<PackageJsonProps>;
20
+ export type PkgExtensionConfig = {
21
21
  packageManagerPublishArgs?: string[];
22
22
  packageJson?: Record<string, any>;
23
23
  avoidPublishToNPM?: boolean;
24
24
  };
25
- declare type GetModulePathOptions = {
25
+ type GetModulePathOptions = {
26
26
  absPath?: boolean;
27
27
  };
28
28
  /**
29
29
  * Config for variants
30
30
  */
31
- export declare type ComponentPkgExtensionConfig = {
31
+ export type ComponentPkgExtensionConfig = {
32
32
  /**
33
33
  * properties to add to the package.json of the component.
34
34
  */
@@ -37,7 +37,7 @@ export declare type ComponentPkgExtensionConfig = {
37
37
  /**
38
38
  * Data stored in the component
39
39
  */
40
- export declare type ComponentPkgExtensionData = {
40
+ export type ComponentPkgExtensionData = {
41
41
  /**
42
42
  * properties to add to the package.json of the component.
43
43
  */
@@ -55,13 +55,13 @@ export declare type ComponentPkgExtensionData = {
55
55
  */
56
56
  checksum?: string;
57
57
  };
58
- export declare type ComponentPackageManifest = {
58
+ export type ComponentPackageManifest = {
59
59
  name: string;
60
60
  distTags: Record<string, string>;
61
61
  externalRegistry: boolean;
62
62
  versions: VersionPackageManifest[];
63
63
  };
64
- export declare type VersionPackageManifest = {
64
+ export type VersionPackageManifest = {
65
65
  [key: string]: any;
66
66
  dist: {
67
67
  tarball: string;
@@ -125,7 +125,7 @@ export declare class PkgMain {
125
125
  */
126
126
  getModulePath(component: Component, options?: GetModulePathOptions): string;
127
127
  isModulePathExists(component: Component): boolean;
128
- addMissingLinksFromNodeModulesIssue(component: Component): Promise<undefined>;
128
+ addMissingLinksFromNodeModulesIssue(component: Component): Promise<any>;
129
129
  private manifestCache;
130
130
  constructor(
131
131
  /**
@@ -268,7 +268,7 @@ class PkgMain {
268
268
  const logPublisher = logger.createLogger(_pkg().PkgAspect.id);
269
269
  const host = componentAspect.getHost();
270
270
  const packer = new (_packer().Packer)(isolator, logPublisher, host, scope);
271
- const publisher = new (_publisher().Publisher)(isolator, logPublisher, scope === null || scope === void 0 ? void 0 : scope.legacyScope, workspace);
271
+ const publisher = new (_publisher().Publisher)(isolator, logPublisher, scope?.legacyScope, workspace);
272
272
  const publishTask = new (_publish2().PublishTask)(_pkg().PkgAspect.id, publisher, logPublisher);
273
273
  const packTask = new (_pack2().PackTask)(_pkg().PkgAspect.id, packer, logPublisher);
274
274
  const pkg = new PkgMain(logPublisher, config, packageJsonPropsRegistry, workspace, scope, builder, packer, envs, componentAspect, publishTask, dependencyResolver);
@@ -322,7 +322,7 @@ class PkgMain {
322
322
  */
323
323
  getRuntimeModulePath(component, options = {}) {
324
324
  const relativePath = this.dependencyResolver.getRuntimeModulePath(component);
325
- if (options !== null && options !== void 0 && options.absPath) {
325
+ if (options?.absPath) {
326
326
  if (this.workspace) {
327
327
  return (0, _path().join)(this.workspace.path, relativePath);
328
328
  }
@@ -337,7 +337,7 @@ class PkgMain {
337
337
  */
338
338
  getModulePath(component, options = {}) {
339
339
  const relativePath = this.dependencyResolver.getModulePath(component);
340
- if (options !== null && options !== void 0 && options.absPath) {
340
+ if (options?.absPath) {
341
341
  if (this.workspace) {
342
342
  return (0, _path().join)(this.workspace.path, relativePath);
343
343
  }
@@ -432,7 +432,6 @@ class PkgMain {
432
432
  * 3. props defined by the user (they are the strongest one)
433
433
  */
434
434
  async mergePackageJsonProps(component) {
435
- var _this$envs$calculateE, _this$workspace;
436
435
  let newProps = {};
437
436
  const mergeToNewProps = otherProps => {
438
437
  const files = [...(newProps.files || []), ...(otherProps.files || [])];
@@ -440,10 +439,10 @@ class PkgMain {
440
439
  if (files.length) merged.files = files;
441
440
  return merged;
442
441
  };
443
- const env = (_this$envs$calculateE = this.envs.calculateEnv(component, {
444
- skipWarnings: !!((_this$workspace = this.workspace) !== null && _this$workspace !== void 0 && _this$workspace.inInstallContext)
445
- })) === null || _this$envs$calculateE === void 0 ? void 0 : _this$envs$calculateE.env;
446
- if (env !== null && env !== void 0 && env.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {
442
+ const env = this.envs.calculateEnv(component, {
443
+ skipWarnings: !!this.workspace?.inInstallContext
444
+ })?.env;
445
+ if (env?.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {
447
446
  const propsFromEnv = env.getPackageJsonProps();
448
447
  newProps = mergeToNewProps(propsFromEnv);
449
448
  }
@@ -456,7 +455,7 @@ class PkgMain {
456
455
  }
457
456
  });
458
457
  const currentExtension = component.state.aspects.get(_pkg().PkgAspect.id);
459
- const currentConfig = currentExtension === null || currentExtension === void 0 ? void 0 : currentExtension.config;
458
+ const currentConfig = currentExtension?.config;
460
459
  if (currentConfig && currentConfig.packageJson) {
461
460
  newProps = mergeToNewProps(currentConfig.packageJson);
462
461
  }
@@ -466,8 +465,8 @@ class PkgMain {
466
465
  }
467
466
  getPackageJsonModifications(component) {
468
467
  const currentExtension = component.state.aspects.get(_pkg().PkgAspect.id);
469
- const currentData = currentExtension === null || currentExtension === void 0 ? void 0 : currentExtension.data;
470
- return (currentData === null || currentData === void 0 ? void 0 : currentData.packageJsonModification) ?? {};
468
+ const currentData = currentExtension?.data;
469
+ return currentData?.packageJsonModification ?? {};
471
470
  }
472
471
  async getPkgArtifact(component) {
473
472
  const artifacts = await this.builder.getArtifactsVinylByAspect(component, _pkg().PkgAspect.id);
@@ -487,8 +486,7 @@ class PkgMain {
487
486
  }, preReleaseLatestTags);
488
487
  const versionsFromCache = this.manifestCache.get(name);
489
488
  const getVersions = async () => {
490
- var _component$head;
491
- const headHash = (_component$head = component.head) === null || _component$head === void 0 ? void 0 : _component$head.hash;
489
+ const headHash = component.head?.hash;
492
490
  if (!headHash) throw new (_bitError().BitError)(`unable to get manifest for "${name}", the head is empty`);
493
491
  if (versionsFromCache) {
494
492
  if (versionsFromCache.head !== headHash) this.manifestCache.delete(name);else {
@@ -530,11 +528,10 @@ class PkgMain {
530
528
  * @param component
531
529
  */
532
530
  isPublishedToExternalRegistry(component) {
533
- var _pkgExt$config, _pkgExt$config2;
534
531
  const pkgExt = component.get(_pkg().PkgAspect.id);
535
532
  // By default publish to bit registry
536
533
  if (!pkgExt) return false;
537
- return !!((_pkgExt$config = pkgExt.config) !== null && _pkgExt$config !== void 0 && (_pkgExt$config = _pkgExt$config.packageJson) !== null && _pkgExt$config !== void 0 && _pkgExt$config.name || (_pkgExt$config2 = pkgExt.config) !== null && _pkgExt$config2 !== void 0 && (_pkgExt$config2 = _pkgExt$config2.packageJson) !== null && _pkgExt$config2 !== void 0 && _pkgExt$config2.publishConfig);
534
+ return !!(pkgExt.config?.packageJson?.name || pkgExt.config?.packageJson?.publishConfig);
538
535
  }
539
536
  getComponentBuildData(component) {
540
537
  const data = this.builder.getDataByAspect(component, _pkg().PkgAspect.id);
@@ -542,16 +539,15 @@ class PkgMain {
542
539
  // backward compatibility. the data used to be saved on the pkg aspect rather than on the
543
540
  // builder aspect
544
541
  const currentExtension = component.state.aspects.get(_pkg().PkgAspect.id);
545
- return currentExtension === null || currentExtension === void 0 ? void 0 : currentExtension.data;
542
+ return currentExtension?.data;
546
543
  }
547
544
  async getSnapManifest(component, snap) {
548
- var _version$extensions$f, _builderData$find;
549
545
  const idWithCorrectVersion = component.id.changeVersion(snap.hash);
550
546
 
551
547
  // @todo: this is a hack. see below the right way to do it.
552
548
  const version = await this.scope.legacyScope.getVersionInstance(idWithCorrectVersion);
553
- const builderData = (_version$extensions$f = version.extensions.findCoreExtension(_builder().BuilderAspect.id)) === null || _version$extensions$f === void 0 || (_version$extensions$f = _version$extensions$f.data) === null || _version$extensions$f === void 0 ? void 0 : _version$extensions$f.aspectsData;
554
- const currentData = builderData === null || builderData === void 0 || (_builderData$find = builderData.find(a => a.aspectId === _pkg().PkgAspect.id)) === null || _builderData$find === void 0 ? void 0 : _builderData$find.data;
549
+ const builderData = version.extensions.findCoreExtension(_builder().BuilderAspect.id)?.data?.aspectsData;
550
+ const currentData = builderData?.find(a => a.aspectId === _pkg().PkgAspect.id)?.data;
555
551
 
556
552
  // @todo: this is the proper way to communicate with the builder aspect. however, getting
557
553
  // the entire Component for each one of the snaps is terrible in terms of the performance.
@@ -563,11 +559,11 @@ class PkgMain {
563
559
  // const currentData = this.getComponentBuildData(updatedComponent);
564
560
 
565
561
  // If for some reason the version has no package.json manifest, return undefined
566
- if (!(currentData !== null && currentData !== void 0 && currentData.pkgJson)) {
562
+ if (!currentData?.pkgJson) {
567
563
  return undefined;
568
564
  }
569
- const pkgJson = (currentData === null || currentData === void 0 ? void 0 : currentData.pkgJson) ?? {};
570
- const checksum = currentData === null || currentData === void 0 ? void 0 : currentData.checksum;
565
+ const pkgJson = currentData?.pkgJson ?? {};
566
+ const checksum = currentData?.checksum;
571
567
  if (!checksum) {
572
568
  this.logger.error(`checksum for ${component.id.toString()} is missing`);
573
569
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_path","_fsExtra","_interopRequireDefault","_cli","_component","_envs","_harmony","_isolator","_logger","_scope","_workspace","_workspaceModules","_builder","_bitError","_componentPackageVersion","_componentIssues","_graphql","_dependencyResolver","_inMemoryCache","_cacheFactory","_packer","_pack","_pkg","_preparePackages","_publish","_publisher","_publish2","_exceptions","_pkgArtifact","_package","_packageDependency","_pkg2","_package2","_pack2","_pkg3","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","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","pkgSchema","registerService","PkgService","registerRoute","PackageRoute","preparePackagesTask","PreparePackagesTask","registerBuildTasks","registerTagTasks","registerSnapTasks","calcPkgOnLoad","component","mergePackageJsonProps","packageJsonModification","registerOnComponentLoad","addMissingLinksFromNodeModulesIssue","registerOnCompAspectReCalc","PackageJsonTransformer","registerPackageJsonTransformer","transformPackageJson","bind","PackCmd","PublishCmd","getPackageName","getRuntimeModulePath","options","relativePath","absPath","join","path","Error","getModulePath","isModulePathExists","packageDir","fs","existsSync","exist","state","issues","getOrCreate","IssuesClasses","MissingLinksFromNodeModulesToSrc","undefined","constructor","manifestCache","createInMemoryCache","maxSize","getMaxSizeForComponents","registerPackageJsonNewProps","props","packComponent","componentId","scopePath","_this$envs$calculateE","_this$workspace","newProps","mergeToNewProps","otherProps","files","merged","env","calculateEnv","skipWarnings","inInstallContext","getPackageJsonProps","propsFromEnv","configuredIds","aspects","ids","extId","get","currentExtension","currentConfig","packageJson","specialKeys","omit","getPackageJsonModifications","currentData","getPkgArtifact","artifacts","getArtifactsVinylByAspect","PkgArtifactNotFound","PkgArtifact","getManifest","name","latestVersion","latest","BitError","preReleaseLatestTags","tags","getPreReleaseLatestTags","snapToSemver","distTags","versionsFromCache","getVersions","_component$head","headHash","head","hash","delete","manifest","versions","getAllSnapsManifests","versionsWithoutEmpty","compact","set","externalRegistry","isPublishedToExternalRegistry","iterable","snapsIterable","result","snap","getSnapManifest","_pkgExt$config","_pkgExt$config2","pkgExt","publishConfig","getComponentBuildData","getDataByAspect","_version$extensions$f","_builderData$find","idWithCorrectVersion","changeVersion","version","getVersionInstance","builderData","extensions","findCoreExtension","BuilderAspect","aspectsData","find","a","aspectId","pkgJson","checksum","error","toString","dist","shasum","tarball","getRoute","routePath","getPackageTarFile","getArtifactsVinylByAspectAndName","TAR_FILE_ARTIFACT_NAME","PackageTarFiletNotFound","packageJsonObject","assign","exports","MainRuntime","CLIAspect","ScopeAspect","EnvsAspect","IsolatorAspect","LoggerAspect","WorkspaceAspect","DependencyResolverAspect","ComponentAspect","GraphqlAspect","Slot","withType","addRuntime"],"sources":["pkg.main.runtime.ts"],"sourcesContent":["import { compact, omit } from 'lodash';\nimport { join } from 'path';\nimport fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain, IComponent, 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/workspace.modules.node-modules-linker';\nimport { BuilderMain, BuilderAspect } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { GraphqlMain, GraphqlAspect } from '@teambit/graphql';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\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 packageManagerPublishArgs?: string[];\n packageJson?: Record<string, any>;\n avoidPublishToNPM?: boolean; // by default, if packageJson.name or packageJson.publishConfig are set, it publish to npm.\n};\n\ntype GetModulePathOptions = { absPath?: boolean };\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 * integrity of the tar file\n */\n integrity?: string;\n\n /**\n * Checksum of the tar file\n */\n checksum?: string;\n};\n\nexport type ComponentPackageManifest = {\n name: string;\n distTags: Record<string, string>;\n externalRegistry: boolean;\n versions: VersionPackageManifest[];\n};\n\nexport type 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 dependencyResolver\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, envs);\n // dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];\n builder.registerBuildTasks([preparePackagesTask]);\n builder.registerTagTasks([packTask, publishTask]);\n builder.registerSnapTasks([packTask]);\n\n const calcPkgOnLoad = async (component: Component) => {\n const data = await pkg.mergePackageJsonProps(component);\n return {\n packageJsonModification: data,\n };\n };\n\n if (workspace) {\n // workspace.onComponentLoad(pkg.mergePackageJsonProps.bind(pkg));\n workspace.registerOnComponentLoad(async (component) => {\n await pkg.addMissingLinksFromNodeModulesIssue(component);\n return calcPkgOnLoad(component);\n });\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(calcPkgOnLoad);\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 this.dependencyResolver.getPackageName(component);\n }\n\n /*\n * Returns the location where the component is installed with its peer dependencies\n * This is used in cases you want to actually run the components and make sure all the dependencies (especially peers) are resolved correctly\n */\n getRuntimeModulePath(component: Component, options: GetModulePathOptions = {}) {\n const relativePath = this.dependencyResolver.getRuntimeModulePath(component);\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 * returns the package path in the /node_modules/ folder\n * In case you call this in order to run the code from the path, please refer to the `getRuntimeModulePath` API\n */\n getModulePath(component: Component, options: GetModulePathOptions = {}) {\n const relativePath = this.dependencyResolver.getModulePath(component);\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 isModulePathExists(component: Component): boolean {\n const packageDir = this.getModulePath(component, { absPath: true });\n return fs.existsSync(packageDir);\n }\n\n async addMissingLinksFromNodeModulesIssue(component: Component) {\n const exist = this.isModulePathExists(component);\n if (!exist) {\n component.state.issues.getOrCreate(IssuesClasses.MissingLinksFromNodeModulesToSrc).data = true;\n }\n // we don't want to add any data to the compiler aspect, only to add issues on the component\n return undefined;\n }\n\n private manifestCache: InMemoryCache<{ head: string; manifest: VersionPackageManifest[] }>; // cache components manifests\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 private dependencyResolver: DependencyResolverMain\n ) {\n this.manifestCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\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 mergeToNewProps = (otherProps: PackageJsonProps) => {\n const files = [...(newProps.files || []), ...(otherProps.files || [])];\n const merged = { ...newProps, ...otherProps };\n if (files.length) merged.files = files;\n return merged;\n };\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext })?.env;\n if (env?.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {\n const propsFromEnv = env.getPackageJsonProps();\n newProps = mergeToNewProps(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 = mergeToNewProps(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 = mergeToNewProps(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.getArtifactsVinylByAspect(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 latest = snapToSemver(latestVersion);\n const distTags = {\n latest,\n ...preReleaseLatestTags,\n };\n const versionsFromCache = this.manifestCache.get(name);\n const getVersions = async (): Promise<VersionPackageManifest[]> => {\n const headHash = component.head?.hash;\n if (!headHash) throw new BitError(`unable to get manifest for \"${name}\", the head is empty`);\n if (versionsFromCache) {\n if (versionsFromCache.head !== headHash) this.manifestCache.delete(name);\n else {\n return versionsFromCache.manifest;\n }\n }\n const versions = await this.getAllSnapsManifests(component);\n const versionsWithoutEmpty = compact(versions);\n this.manifestCache.set(name, { head: headHash, manifest: versionsWithoutEmpty });\n return versionsWithoutEmpty;\n };\n\n const versions = await getVersions();\n const externalRegistry = this.isPublishedToExternalRegistry(component);\n return {\n name,\n distTags,\n externalRegistry,\n versions,\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: IComponent): boolean {\n const pkgExt = component.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\n // @todo: this is a hack. see below the right way to do it.\n const version = await this.scope.legacyScope.getVersionInstance(idWithCorrectVersion);\n const builderData = version.extensions.findCoreExtension(BuilderAspect.id)?.data?.aspectsData;\n const currentData = builderData?.find((a) => a.aspectId === PkgAspect.id)?.data;\n\n // @todo: this is the proper way to communicate with the builder aspect. however, getting\n // the entire Component for each one of the snaps is terrible in terms of the performance.\n\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\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.getArtifactsVinylByAspectAndName(\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 component: Component,\n packageJsonObject: Record<string, any>\n ): Promise<Record<string, any>> {\n const newProps = this.getPackageJsonModifications(component);\n return Object.assign(packageJsonObject, newProps);\n }\n}\n\nPkgAspect.addRuntime(PkgMain);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","data","require","_path","_fsExtra","_interopRequireDefault","_cli","_component","_envs","_harmony","_isolator","_logger","_scope","_workspace","_workspaceModules","_builder","_bitError","_componentPackageVersion","_componentIssues","_graphql","_dependencyResolver","_inMemoryCache","_cacheFactory","_packer","_pack","_pkg","_preparePackages","_publish","_publisher","_publish2","_exceptions","_pkgArtifact","_package","_packageDependency","_pkg2","_package2","_pack2","_pkg3","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","Number","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","pkgSchema","registerService","PkgService","registerRoute","PackageRoute","preparePackagesTask","PreparePackagesTask","registerBuildTasks","registerTagTasks","registerSnapTasks","calcPkgOnLoad","component","mergePackageJsonProps","packageJsonModification","registerOnComponentLoad","addMissingLinksFromNodeModulesIssue","registerOnCompAspectReCalc","PackageJsonTransformer","registerPackageJsonTransformer","transformPackageJson","bind","PackCmd","PublishCmd","getPackageName","getRuntimeModulePath","options","relativePath","absPath","join","path","Error","getModulePath","isModulePathExists","packageDir","fs","existsSync","exist","state","issues","getOrCreate","IssuesClasses","MissingLinksFromNodeModulesToSrc","undefined","constructor","manifestCache","createInMemoryCache","maxSize","getMaxSizeForComponents","registerPackageJsonNewProps","props","packComponent","componentId","scopePath","newProps","mergeToNewProps","otherProps","files","merged","env","calculateEnv","skipWarnings","inInstallContext","getPackageJsonProps","propsFromEnv","configuredIds","aspects","ids","extId","get","currentExtension","currentConfig","packageJson","specialKeys","omit","getPackageJsonModifications","currentData","getPkgArtifact","artifacts","getArtifactsVinylByAspect","PkgArtifactNotFound","PkgArtifact","getManifest","name","latestVersion","latest","BitError","preReleaseLatestTags","tags","getPreReleaseLatestTags","snapToSemver","distTags","versionsFromCache","getVersions","headHash","head","hash","delete","manifest","versions","getAllSnapsManifests","versionsWithoutEmpty","compact","set","externalRegistry","isPublishedToExternalRegistry","iterable","snapsIterable","result","snap","getSnapManifest","pkgExt","publishConfig","getComponentBuildData","getDataByAspect","idWithCorrectVersion","changeVersion","version","getVersionInstance","builderData","extensions","findCoreExtension","BuilderAspect","aspectsData","find","a","aspectId","pkgJson","checksum","error","toString","dist","shasum","tarball","getRoute","routePath","getPackageTarFile","getArtifactsVinylByAspectAndName","TAR_FILE_ARTIFACT_NAME","PackageTarFiletNotFound","packageJsonObject","assign","exports","MainRuntime","CLIAspect","ScopeAspect","EnvsAspect","IsolatorAspect","LoggerAspect","WorkspaceAspect","DependencyResolverAspect","ComponentAspect","GraphqlAspect","Slot","withType","addRuntime"],"sources":["pkg.main.runtime.ts"],"sourcesContent":["import { compact, omit } from 'lodash';\nimport { join } from 'path';\nimport fs from 'fs-extra';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport ComponentAspect, { Component, ComponentMain, IComponent, 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/workspace.modules.node-modules-linker';\nimport { BuilderMain, BuilderAspect } from '@teambit/builder';\nimport { BitError } from '@teambit/bit-error';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { AbstractVinyl } from '@teambit/legacy/dist/consumer/component/sources';\nimport { GraphqlMain, GraphqlAspect } from '@teambit/graphql';\nimport { DependencyResolverAspect, DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { getMaxSizeForComponents, InMemoryCache } from '@teambit/legacy/dist/cache/in-memory-cache';\nimport { createInMemoryCache } from '@teambit/legacy/dist/cache/cache-factory';\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 packageManagerPublishArgs?: string[];\n packageJson?: Record<string, any>;\n avoidPublishToNPM?: boolean; // by default, if packageJson.name or packageJson.publishConfig are set, it publish to npm.\n};\n\ntype GetModulePathOptions = { absPath?: boolean };\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 * integrity of the tar file\n */\n integrity?: string;\n\n /**\n * Checksum of the tar file\n */\n checksum?: string;\n};\n\nexport type ComponentPackageManifest = {\n name: string;\n distTags: Record<string, string>;\n externalRegistry: boolean;\n versions: VersionPackageManifest[];\n};\n\nexport type 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 dependencyResolver\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, envs);\n // dryRunTask.dependencies = [BuildTaskHelper.serializeId(preparePackagesTask)];\n builder.registerBuildTasks([preparePackagesTask]);\n builder.registerTagTasks([packTask, publishTask]);\n builder.registerSnapTasks([packTask]);\n\n const calcPkgOnLoad = async (component: Component) => {\n const data = await pkg.mergePackageJsonProps(component);\n return {\n packageJsonModification: data,\n };\n };\n\n if (workspace) {\n // workspace.onComponentLoad(pkg.mergePackageJsonProps.bind(pkg));\n workspace.registerOnComponentLoad(async (component) => {\n await pkg.addMissingLinksFromNodeModulesIssue(component);\n return calcPkgOnLoad(component);\n });\n }\n if (scope) {\n scope.registerOnCompAspectReCalc(calcPkgOnLoad);\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 this.dependencyResolver.getPackageName(component);\n }\n\n /*\n * Returns the location where the component is installed with its peer dependencies\n * This is used in cases you want to actually run the components and make sure all the dependencies (especially peers) are resolved correctly\n */\n getRuntimeModulePath(component: Component, options: GetModulePathOptions = {}) {\n const relativePath = this.dependencyResolver.getRuntimeModulePath(component);\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 * returns the package path in the /node_modules/ folder\n * In case you call this in order to run the code from the path, please refer to the `getRuntimeModulePath` API\n */\n getModulePath(component: Component, options: GetModulePathOptions = {}) {\n const relativePath = this.dependencyResolver.getModulePath(component);\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 isModulePathExists(component: Component): boolean {\n const packageDir = this.getModulePath(component, { absPath: true });\n return fs.existsSync(packageDir);\n }\n\n async addMissingLinksFromNodeModulesIssue(component: Component) {\n const exist = this.isModulePathExists(component);\n if (!exist) {\n component.state.issues.getOrCreate(IssuesClasses.MissingLinksFromNodeModulesToSrc).data = true;\n }\n // we don't want to add any data to the compiler aspect, only to add issues on the component\n return undefined;\n }\n\n private manifestCache: InMemoryCache<{ head: string; manifest: VersionPackageManifest[] }>; // cache components manifests\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 private dependencyResolver: DependencyResolverMain\n ) {\n this.manifestCache = createInMemoryCache({ maxSize: getMaxSizeForComponents() });\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 mergeToNewProps = (otherProps: PackageJsonProps) => {\n const files = [...(newProps.files || []), ...(otherProps.files || [])];\n const merged = { ...newProps, ...otherProps };\n if (files.length) merged.files = files;\n return merged;\n };\n const env = this.envs.calculateEnv(component, { skipWarnings: !!this.workspace?.inInstallContext })?.env;\n if (env?.getPackageJsonProps && typeof env.getPackageJsonProps === 'function') {\n const propsFromEnv = env.getPackageJsonProps();\n newProps = mergeToNewProps(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 = mergeToNewProps(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 = mergeToNewProps(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.getArtifactsVinylByAspect(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 latest = snapToSemver(latestVersion);\n const distTags = {\n latest,\n ...preReleaseLatestTags,\n };\n const versionsFromCache = this.manifestCache.get(name);\n const getVersions = async (): Promise<VersionPackageManifest[]> => {\n const headHash = component.head?.hash;\n if (!headHash) throw new BitError(`unable to get manifest for \"${name}\", the head is empty`);\n if (versionsFromCache) {\n if (versionsFromCache.head !== headHash) this.manifestCache.delete(name);\n else {\n return versionsFromCache.manifest;\n }\n }\n const versions = await this.getAllSnapsManifests(component);\n const versionsWithoutEmpty = compact(versions);\n this.manifestCache.set(name, { head: headHash, manifest: versionsWithoutEmpty });\n return versionsWithoutEmpty;\n };\n\n const versions = await getVersions();\n const externalRegistry = this.isPublishedToExternalRegistry(component);\n return {\n name,\n distTags,\n externalRegistry,\n versions,\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: IComponent): boolean {\n const pkgExt = component.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\n // @todo: this is a hack. see below the right way to do it.\n const version = await this.scope.legacyScope.getVersionInstance(idWithCorrectVersion);\n const builderData = version.extensions.findCoreExtension(BuilderAspect.id)?.data?.aspectsData;\n const currentData = builderData?.find((a) => a.aspectId === PkgAspect.id)?.data;\n\n // @todo: this is the proper way to communicate with the builder aspect. however, getting\n // the entire Component for each one of the snaps is terrible in terms of the performance.\n\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\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.getArtifactsVinylByAspectAndName(\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 component: Component,\n packageJsonObject: Record<string, any>\n ): Promise<Record<string, any>> {\n const newProps = this.getPackageJsonModifications(component);\n return Object.assign(packageJsonObject, newProps);\n }\n}\n\nPkgAspect.addRuntime(PkgMain);\n"],"mappings":"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"}