@servicetitan/startup 36.3.0-far-1776.3 → 36.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/bin/_run.js +19 -8
  2. package/dist/cli/commands/mfe-check.d.ts.map +1 -1
  3. package/dist/cli/commands/mfe-check.js +10 -4
  4. package/dist/cli/commands/mfe-check.js.map +1 -1
  5. package/dist/cli/commands/mfe-generate-metadata.d.ts.map +1 -1
  6. package/dist/cli/commands/mfe-generate-metadata.js +3 -1
  7. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
  8. package/dist/utils/get-jest-config.js +1 -1
  9. package/dist/utils/get-jest-config.js.map +1 -1
  10. package/dist/utils/index.d.ts +0 -1
  11. package/dist/utils/index.d.ts.map +1 -1
  12. package/dist/utils/index.js +0 -1
  13. package/dist/utils/index.js.map +1 -1
  14. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  15. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +9 -7
  16. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  17. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +1 -1
  18. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
  19. package/dist/webpack/configs/utils/build-metadata.d.ts +2 -0
  20. package/dist/webpack/configs/utils/build-metadata.d.ts.map +1 -1
  21. package/dist/webpack/configs/utils/build-metadata.js +3 -3
  22. package/dist/webpack/configs/utils/build-metadata.js.map +1 -1
  23. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -1
  24. package/dist/webpack/configs/utils/generate-metadata.js +3 -2
  25. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  26. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts +2 -1
  27. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +1 -1
  28. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js +5 -3
  29. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -1
  30. package/dist/webpack/configs/utils/get-web-components-version.d.ts +2 -1
  31. package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +1 -1
  32. package/dist/webpack/configs/utils/get-web-components-version.js +7 -4
  33. package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
  34. package/package.json +18 -17
  35. package/src/cli/commands/__tests__/mfe-check.test.ts +6 -2
  36. package/src/cli/commands/mfe-check.ts +12 -9
  37. package/src/cli/commands/mfe-generate-metadata.ts +2 -0
  38. package/src/utils/__tests__/get-jest-config.test.ts +1 -1
  39. package/src/utils/get-jest-config.ts +1 -1
  40. package/src/utils/index.ts +0 -1
  41. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +9 -3
  42. package/src/webpack/__tests__/create-webpack-config.test.ts +0 -3
  43. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +4 -4
  44. package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +1 -1
  45. package/src/webpack/configs/utils/__tests__/get-launchdarkly-sdk-version.test.ts +30 -29
  46. package/src/webpack/configs/utils/__tests__/get-web-components-version.test.ts +30 -31
  47. package/src/webpack/configs/utils/build-metadata.ts +5 -3
  48. package/src/webpack/configs/utils/generate-metadata.ts +2 -1
  49. package/src/webpack/configs/utils/get-launchdarkly-sdk-version.ts +6 -3
  50. package/src/webpack/configs/utils/get-web-components-version.ts +11 -6
  51. package/dist/utils/package-lock/find-package-lock.d.ts +0 -2
  52. package/dist/utils/package-lock/find-package-lock.d.ts.map +0 -1
  53. package/dist/utils/package-lock/find-package-lock.js +0 -26
  54. package/dist/utils/package-lock/find-package-lock.js.map +0 -1
  55. package/dist/utils/package-lock/get-lock-file-entry.d.ts +0 -3
  56. package/dist/utils/package-lock/get-lock-file-entry.d.ts.map +0 -1
  57. package/dist/utils/package-lock/get-lock-file-entry.js +0 -22
  58. package/dist/utils/package-lock/get-lock-file-entry.js.map +0 -1
  59. package/dist/utils/package-lock/get-lock-file-version.d.ts +0 -3
  60. package/dist/utils/package-lock/get-lock-file-version.d.ts.map +0 -1
  61. package/dist/utils/package-lock/get-lock-file-version.js +0 -16
  62. package/dist/utils/package-lock/get-lock-file-version.js.map +0 -1
  63. package/dist/utils/package-lock/index.d.ts +0 -6
  64. package/dist/utils/package-lock/index.d.ts.map +0 -1
  65. package/dist/utils/package-lock/index.js +0 -23
  66. package/dist/utils/package-lock/index.js.map +0 -1
  67. package/dist/utils/package-lock/read-package-lock.d.ts +0 -3
  68. package/dist/utils/package-lock/read-package-lock.d.ts.map +0 -1
  69. package/dist/utils/package-lock/read-package-lock.js +0 -22
  70. package/dist/utils/package-lock/read-package-lock.js.map +0 -1
  71. package/dist/utils/package-lock/types.d.ts +0 -12
  72. package/dist/utils/package-lock/types.d.ts.map +0 -1
  73. package/dist/utils/package-lock/types.js +0 -6
  74. package/dist/utils/package-lock/types.js.map +0 -1
  75. package/src/utils/package-lock/__tests__/find-package-lock.test.ts +0 -35
  76. package/src/utils/package-lock/__tests__/get-lock-file-entry.test.ts +0 -97
  77. package/src/utils/package-lock/__tests__/get-lock-file-version.test.ts +0 -32
  78. package/src/utils/package-lock/__tests__/read-package-lock.test.ts +0 -47
  79. package/src/utils/package-lock/find-package-lock.ts +0 -10
  80. package/src/utils/package-lock/get-lock-file-entry.ts +0 -14
  81. package/src/utils/package-lock/get-lock-file-version.ts +0 -6
  82. package/src/utils/package-lock/index.ts +0 -5
  83. package/src/utils/package-lock/read-package-lock.ts +0 -13
  84. package/src/utils/package-lock/types.ts +0 -13
package/bin/_run.js CHANGED
@@ -44,25 +44,36 @@ function findInFileSystem(target) {
44
44
  }
45
45
 
46
46
  function resolve(pkg, binPath) {
47
- const target = `${pkg}/${binPath}`;
47
+ /*
48
+ * Strip any leading './' so the composed target stays `pkg/bin/foo`
49
+ * rather than `pkg/./bin/foo`. The latter is normalized into a `././bin/foo`
50
+ * subpath by Node's exports resolver, which rejects it against patterns like
51
+ * `./*` with ERR_INVALID_MODULE_SPECIFIER (e.g. prettier 3.x).
52
+ */
53
+ const target = `${pkg}/${binPath.replace(/^\.\//, '')}`;
48
54
 
49
55
  // Try require.resolve first — it follows pnpm's dependency graph correctly
50
56
  try {
51
57
  return require.resolve(target);
52
58
  } catch (e) {
53
59
  /*
54
- * Fall through on resolution errors; some packages use "exports" which
55
- * blocks subpath access (ERR_PACKAGE_PATH_NOT_EXPORTED).
60
+ * Fall through on known resolution failures so we can try a direct
61
+ * filesystem lookup:
62
+ * - MODULE_NOT_FOUND: nothing matched on the resolution paths.
63
+ * - ERR_PACKAGE_PATH_NOT_EXPORTED: package's "exports" blocks the subpath.
64
+ * - ERR_INVALID_MODULE_SPECIFIER: the subpath shape is rejected by an
65
+ * "exports" pattern (e.g. prettier's `./*`).
56
66
  */
57
- if (e.code !== 'MODULE_NOT_FOUND' && e.code !== 'ERR_PACKAGE_PATH_NOT_EXPORTED') {
67
+ const fallthrough = new Set([
68
+ 'MODULE_NOT_FOUND',
69
+ 'ERR_PACKAGE_PATH_NOT_EXPORTED',
70
+ 'ERR_INVALID_MODULE_SPECIFIER',
71
+ ]);
72
+ if (!fallthrough.has(e.code)) {
58
73
  throw e;
59
74
  }
60
75
  }
61
76
 
62
- /*
63
- * require.resolve fails when the package uses "exports" to block subpath
64
- * access. Fall back to a direct filesystem lookup.
65
- */
66
77
  return findInFileSystem(target);
67
78
  }
68
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-check.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAuBlC,qBAAa,QAAS,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEzC,OAAO;IAoBb,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;CA2B9B"}
1
+ {"version":3,"file":"mfe-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-check.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA2BlC,qBAAa,QAAS,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEzC,OAAO;IAoBb,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;CA2B9B"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "MfeCheck", {
8
8
  return MfeCheck;
9
9
  }
10
10
  });
11
+ const _install = require("@servicetitan/install");
11
12
  const _startuputils = require("@servicetitan/startup-utils");
12
13
  const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
14
  const _utils = require("../../utils");
@@ -51,17 +52,22 @@ class MfeCheck extends _types.Command {
51
52
  return {
52
53
  name: mainPackage.name,
53
54
  cli: mainPackage.cli,
54
- dependencies: mergedDependencies
55
+ dependencies: mergedDependencies,
56
+ location: _nodepath.default.dirname(_nodepath.default.resolve(packageJsonPaths[0]))
55
57
  };
56
58
  }
57
59
  checkCompatibility(mfeMetadata, hostData) {
58
60
  var _hostData_cli_webpack, _hostData_cli, _hostData_cli_webpack1, _hostData_cli1;
59
61
  const mfeSharedDependencies = mfeMetadata.sharedDependencies;
60
62
  const hostSharedDependencies = (0, _utils.loadSharedDependencies)(hostData.dependencies, (_hostData_cli = hostData.cli) === null || _hostData_cli === void 0 ? void 0 : (_hostData_cli_webpack = _hostData_cli.webpack) === null || _hostData_cli_webpack === void 0 ? void 0 : _hostData_cli_webpack['shared-dependencies']);
61
- const lockFile = (0, _utils.readPackageLock)();
63
+ const packageManager = (0, _install.getPackageManager)();
64
+ const workspacePackage = packageManager.getWorkspacePackage(hostData.location);
62
65
  const exposedDependencies = (0, _utils1.getExposedDependencies)(hostSharedDependencies, (dependency)=>{
63
- var _getLockFileVersion;
64
- return (_getLockFileVersion = (0, _utils.getLockFileVersion)(lockFile, dependency)) !== null && _getLockFileVersion !== void 0 ? _getLockFileVersion : hostData.dependencies[dependency];
66
+ var _packageManager_getResolvedVersion;
67
+ return (_packageManager_getResolvedVersion = packageManager.getResolvedVersion({
68
+ workspacePackage,
69
+ dependency
70
+ })) !== null && _packageManager_getResolvedVersion !== void 0 ? _packageManager_getResolvedVersion : hostData.dependencies[dependency];
65
71
  });
66
72
  const mismatchResult = (0, _startuputils.getVersionMismatches)(exposedDependencies, mfeMetadata.dependencies, mfeSharedDependencies);
67
73
  const isHostMfe = (0, _utils.isWebComponent)(hostData);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport {\n getLockFileVersion,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n readJson,\n readPackageLock,\n toArray,\n} from '../../utils';\nimport { Metadata } from '../../webpack/configs/types';\nimport { getExposedDependencies } from '../../webpack/configs/utils';\nimport type { entry } from './registry/mfe-check';\nimport { Command } from './types';\n\ninterface HostPackageJSON {\n name: string;\n dependencies: Record<string, string>;\n cli?: {\n 'web-component'?: boolean | string | object;\n 'webpack'?: {\n 'expose-shared-dependencies'?: boolean;\n 'shared-dependencies'?: Record<string, string>;\n };\n };\n}\n\ninterface CompatibilityResult {\n name: string;\n compatible: boolean;\n bundleType: 'light' | 'full';\n mismatches?: Record<string, { host: string; package: string }>;\n isSharedDependenciesEnabled: boolean;\n isHostMfe: boolean;\n}\n\nexport class MfeCheck extends Command<typeof entry> {\n @logErrors\n async execute() {\n const { metadata: metadataPath, hostPackageJson, json } = this.args;\n const mfeMetadata = readJson<Metadata>(path.resolve(metadataPath));\n const hostPackageJsonPaths = toArray(hostPackageJson);\n const hostData = this.getHostPackageData(hostPackageJsonPaths);\n const result = this.checkCompatibility(mfeMetadata, hostData);\n\n if (json) {\n this.outputJson(result);\n } else {\n this.outputHumanReadable(result);\n }\n\n if (!result.compatible) {\n process.exitCode = 1;\n }\n\n return Promise.resolve();\n }\n\n private getHostPackageData(packageJsonPaths: string[]): HostPackageJSON {\n const packages = packageJsonPaths.map(packageJsonPath =>\n readJson<HostPackageJSON>(path.resolve(packageJsonPath))\n );\n const mergedDependencies = packages.reduceRight<HostPackageJSON['dependencies']>(\n (result, currentPackage) => Object.assign(result, currentPackage.dependencies),\n {}\n );\n const mainPackage = packages[0];\n\n return {\n name: mainPackage.name,\n cli: mainPackage.cli,\n dependencies: mergedDependencies,\n };\n }\n\n private checkCompatibility(\n mfeMetadata: Metadata,\n hostData: HostPackageJSON\n ): CompatibilityResult {\n const mfeSharedDependencies = mfeMetadata.sharedDependencies;\n const hostSharedDependencies = loadSharedDependencies(\n hostData.dependencies,\n hostData.cli?.webpack?.['shared-dependencies']\n );\n const lockFile = readPackageLock();\n const exposedDependencies = getExposedDependencies(\n hostSharedDependencies,\n dependency =>\n getLockFileVersion(lockFile, dependency) ?? hostData.dependencies[dependency]\n );\n const mismatchResult = getVersionMismatches(\n exposedDependencies,\n mfeMetadata.dependencies,\n mfeSharedDependencies\n );\n\n const isHostMfe = isWebComponent(hostData);\n const isSharedDependenciesEnabled =\n hostData.cli?.webpack?.['expose-shared-dependencies'] === true;\n const compatible = !isHostMfe && !mismatchResult && isSharedDependenciesEnabled;\n\n return {\n name: mfeMetadata.name,\n compatible,\n bundleType: compatible ? 'light' : 'full',\n isSharedDependenciesEnabled,\n isHostMfe,\n ...(mismatchResult ? { mismatches: mismatchResult } : {}),\n };\n }\n\n private outputJson(result: CompatibilityResult) {\n process.stdout.write(JSON.stringify(result, null, 2) + '\\n');\n }\n\n private outputHumanReadable(result: CompatibilityResult) {\n log.info(`Checking ${result.name}...`);\n\n if (result.isHostMfe) {\n log.error('Skipping compatibility check because host is an MFE');\n return;\n }\n\n if (result.compatible) {\n log.info('Compatible: light bundle can be used');\n return;\n }\n\n if (result.mismatches) {\n log.error('Dependency mismatch found:');\n\n for (const [dep, versions] of Object.entries(result.mismatches)) {\n log.error(` ${dep}: host=${versions.host}, package=${versions.package}`);\n }\n }\n\n if (!result.isSharedDependenciesEnabled) {\n log.error('expose-shared-dependencies is not enabled in host package.json');\n }\n\n log.error('Result: full bundle required');\n }\n}\n"],"names":["MfeCheck","Command","execute","metadata","metadataPath","hostPackageJson","json","args","mfeMetadata","readJson","path","resolve","hostPackageJsonPaths","toArray","hostData","getHostPackageData","result","checkCompatibility","outputJson","outputHumanReadable","compatible","process","exitCode","Promise","packageJsonPaths","packages","map","packageJsonPath","mergedDependencies","reduceRight","currentPackage","Object","assign","dependencies","mainPackage","name","cli","mfeSharedDependencies","sharedDependencies","hostSharedDependencies","loadSharedDependencies","webpack","lockFile","readPackageLock","exposedDependencies","getExposedDependencies","dependency","getLockFileVersion","mismatchResult","getVersionMismatches","isHostMfe","isWebComponent","isSharedDependenciesEnabled","bundleType","mismatches","stdout","write","JSON","stringify","log","info","error","dep","versions","entries","host","package"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport { getVersionMismatches } from '@servicetitan/startup-utils';\nimport path from 'node:path';\nimport {\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n readJson,\n toArray,\n} from '../../utils';\nimport { Metadata } from '../../webpack/configs/types';\nimport { getExposedDependencies } from '../../webpack/configs/utils';\nimport type { entry } from './registry/mfe-check';\nimport { Command } from './types';\n\ninterface HostPackageJSON {\n name: string;\n dependencies: Record<string, string>;\n cli?: {\n 'web-component'?: boolean | string | object;\n 'webpack'?: {\n 'expose-shared-dependencies'?: boolean;\n 'shared-dependencies'?: Record<string, string>;\n };\n };\n}\n\ninterface HostData extends HostPackageJSON {\n location: string;\n}\n\ninterface CompatibilityResult {\n name: string;\n compatible: boolean;\n bundleType: 'light' | 'full';\n mismatches?: Record<string, { host: string; package: string }>;\n isSharedDependenciesEnabled: boolean;\n isHostMfe: boolean;\n}\n\nexport class MfeCheck extends Command<typeof entry> {\n @logErrors\n async execute() {\n const { metadata: metadataPath, hostPackageJson, json } = this.args;\n const mfeMetadata = readJson<Metadata>(path.resolve(metadataPath));\n const hostPackageJsonPaths = toArray(hostPackageJson);\n const hostData = this.getHostPackageData(hostPackageJsonPaths);\n const result = this.checkCompatibility(mfeMetadata, hostData);\n\n if (json) {\n this.outputJson(result);\n } else {\n this.outputHumanReadable(result);\n }\n\n if (!result.compatible) {\n process.exitCode = 1;\n }\n\n return Promise.resolve();\n }\n\n private getHostPackageData(packageJsonPaths: string[]): HostData {\n const packages = packageJsonPaths.map(packageJsonPath =>\n readJson<HostPackageJSON>(path.resolve(packageJsonPath))\n );\n const mergedDependencies = packages.reduceRight<HostPackageJSON['dependencies']>(\n (result, currentPackage) => Object.assign(result, currentPackage.dependencies),\n {}\n );\n const mainPackage = packages[0];\n\n return {\n name: mainPackage.name,\n cli: mainPackage.cli,\n dependencies: mergedDependencies,\n location: path.dirname(path.resolve(packageJsonPaths[0])),\n };\n }\n\n private checkCompatibility(mfeMetadata: Metadata, hostData: HostData): CompatibilityResult {\n const mfeSharedDependencies = mfeMetadata.sharedDependencies;\n const hostSharedDependencies = loadSharedDependencies(\n hostData.dependencies,\n hostData.cli?.webpack?.['shared-dependencies']\n );\n const packageManager = getPackageManager();\n const workspacePackage = packageManager.getWorkspacePackage(hostData.location);\n const exposedDependencies = getExposedDependencies(\n hostSharedDependencies,\n dependency =>\n packageManager.getResolvedVersion({ workspacePackage, dependency }) ??\n hostData.dependencies[dependency]\n );\n const mismatchResult = getVersionMismatches(\n exposedDependencies,\n mfeMetadata.dependencies,\n mfeSharedDependencies\n );\n\n const isHostMfe = isWebComponent(hostData);\n const isSharedDependenciesEnabled =\n hostData.cli?.webpack?.['expose-shared-dependencies'] === true;\n const compatible = !isHostMfe && !mismatchResult && isSharedDependenciesEnabled;\n\n return {\n name: mfeMetadata.name,\n compatible,\n bundleType: compatible ? 'light' : 'full',\n isSharedDependenciesEnabled,\n isHostMfe,\n ...(mismatchResult ? { mismatches: mismatchResult } : {}),\n };\n }\n\n private outputJson(result: CompatibilityResult) {\n process.stdout.write(JSON.stringify(result, null, 2) + '\\n');\n }\n\n private outputHumanReadable(result: CompatibilityResult) {\n log.info(`Checking ${result.name}...`);\n\n if (result.isHostMfe) {\n log.error('Skipping compatibility check because host is an MFE');\n return;\n }\n\n if (result.compatible) {\n log.info('Compatible: light bundle can be used');\n return;\n }\n\n if (result.mismatches) {\n log.error('Dependency mismatch found:');\n\n for (const [dep, versions] of Object.entries(result.mismatches)) {\n log.error(` ${dep}: host=${versions.host}, package=${versions.package}`);\n }\n }\n\n if (!result.isSharedDependenciesEnabled) {\n log.error('expose-shared-dependencies is not enabled in host package.json');\n }\n\n log.error('Result: full bundle required');\n }\n}\n"],"names":["MfeCheck","Command","execute","metadata","metadataPath","hostPackageJson","json","args","mfeMetadata","readJson","path","resolve","hostPackageJsonPaths","toArray","hostData","getHostPackageData","result","checkCompatibility","outputJson","outputHumanReadable","compatible","process","exitCode","Promise","packageJsonPaths","packages","map","packageJsonPath","mergedDependencies","reduceRight","currentPackage","Object","assign","dependencies","mainPackage","name","cli","location","dirname","mfeSharedDependencies","sharedDependencies","hostSharedDependencies","loadSharedDependencies","webpack","packageManager","getPackageManager","workspacePackage","getWorkspacePackage","exposedDependencies","getExposedDependencies","dependency","getResolvedVersion","mismatchResult","getVersionMismatches","isHostMfe","isWebComponent","isSharedDependenciesEnabled","bundleType","mismatches","stdout","write","JSON","stringify","log","info","error","dep","versions","entries","host","package"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-generate-metadata.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEpD,OAAO;CAyChB"}
1
+ {"version":3,"file":"mfe-generate-metadata.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,OAAO,KAAK,CAAC;IAEpD,OAAO;CA0ChB"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "MfeGenerateMetadata", {
8
8
  return MfeGenerateMetadata;
9
9
  }
10
10
  });
11
+ const _install = require("@servicetitan/install");
11
12
  const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
13
  const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
14
  const _utils = require("../../utils");
@@ -42,7 +43,8 @@ class MfeGenerateMetadata extends _types.Command {
42
43
  name,
43
44
  version: packageData.version,
44
45
  dependencies: packageData.dependencies,
45
- sharedDependencies
46
+ sharedDependencies,
47
+ packageManager: (0, _install.getPackageManager)()
46
48
  });
47
49
  const jsonOutput = JSON.stringify(metadata, null, 2);
48
50
  if (output) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport {\n getFolders,\n getPackageData,\n getPackageName,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n} from '../../utils';\nimport { buildMetadata } from '../../webpack/configs/utils/build-metadata';\nimport type { entry } from './registry/mfe-generate-metadata';\nimport { Command } from './types';\n\nexport class MfeGenerateMetadata extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('this command must be run inside a web-component directory');\n }\n\n const { output } = this.args;\n\n const { destination } = getFolders();\n const name = getPackageName();\n const packageData = getPackageData();\n const sharedDependencies = loadSharedDependencies(\n packageData.dependencies,\n packageData.sharedDependencies\n );\n\n const metadata = buildMetadata({\n destination,\n name,\n version: packageData.version,\n dependencies: packageData.dependencies,\n sharedDependencies,\n });\n\n const jsonOutput = JSON.stringify(metadata, null, 2);\n\n if (output) {\n const outputPath = path.resolve(output);\n const outputDir = path.dirname(outputPath);\n\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n\n fs.writeFileSync(outputPath, jsonOutput, 'utf8');\n log.info(`Metadata written to ${outputPath}`);\n } else {\n process.stdout.write(jsonOutput + '\\n');\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["MfeGenerateMetadata","Command","execute","isWebComponent","Error","output","args","destination","getFolders","name","getPackageName","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","metadata","buildMetadata","version","jsonOutput","JSON","stringify","outputPath","path","resolve","outputDir","dirname","fs","existsSync","mkdirSync","recursive","writeFileSync","log","info","process","stdout","write","Promise"],"mappings":";;;;+BAeaA;;;eAAAA;;;+DAfE;iEACE;uBASV;+BACuB;uBAEN;;;;;;;;;;;;;;;AAEjB,MAAMA,4BAA4BC,cAAO;IAC5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI,CAACC,IAAI;QAE5B,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAClC,MAAMC,OAAOC,IAAAA,qBAAc;QAC3B,MAAMC,cAAcC,IAAAA,qBAAc;QAClC,MAAMC,qBAAqBC,IAAAA,6BAAsB,EAC7CH,YAAYI,YAAY,EACxBJ,YAAYE,kBAAkB;QAGlC,MAAMG,WAAWC,IAAAA,4BAAa,EAAC;YAC3BV;YACAE;YACAS,SAASP,YAAYO,OAAO;YAC5BH,cAAcJ,YAAYI,YAAY;YACtCF;QACJ;QAEA,MAAMM,aAAaC,KAAKC,SAAS,CAACL,UAAU,MAAM;QAElD,IAAIX,QAAQ;YACR,MAAMiB,aAAaC,iBAAI,CAACC,OAAO,CAACnB;YAChC,MAAMoB,YAAYF,iBAAI,CAACG,OAAO,CAACJ;YAE/B,IAAI,CAACK,eAAE,CAACC,UAAU,CAACH,YAAY;gBAC3BE,eAAE,CAACE,SAAS,CAACJ,WAAW;oBAAEK,WAAW;gBAAK;YAC9C;YAEAH,eAAE,CAACI,aAAa,CAACT,YAAYH,YAAY;YACzCa,UAAG,CAACC,IAAI,CAAC,CAAC,oBAAoB,EAAEX,YAAY;QAChD,OAAO;YACHY,QAAQC,MAAM,CAACC,KAAK,CAACjB,aAAa;QACtC;QAEA,OAAOkB,QAAQb,OAAO;IAC1B;AACJ"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"sourcesContent":["import { getPackageManager } from '@servicetitan/install';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport {\n getFolders,\n getPackageData,\n getPackageName,\n isWebComponent,\n loadSharedDependencies,\n log,\n logErrors,\n} from '../../utils';\nimport { buildMetadata } from '../../webpack/configs/utils/build-metadata';\nimport type { entry } from './registry/mfe-generate-metadata';\nimport { Command } from './types';\n\nexport class MfeGenerateMetadata extends Command<typeof entry> {\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('this command must be run inside a web-component directory');\n }\n\n const { output } = this.args;\n\n const { destination } = getFolders();\n const name = getPackageName();\n const packageData = getPackageData();\n const sharedDependencies = loadSharedDependencies(\n packageData.dependencies,\n packageData.sharedDependencies\n );\n\n const metadata = buildMetadata({\n destination,\n name,\n version: packageData.version,\n dependencies: packageData.dependencies,\n sharedDependencies,\n packageManager: getPackageManager(),\n });\n\n const jsonOutput = JSON.stringify(metadata, null, 2);\n\n if (output) {\n const outputPath = path.resolve(output);\n const outputDir = path.dirname(outputPath);\n\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n\n fs.writeFileSync(outputPath, jsonOutput, 'utf8');\n log.info(`Metadata written to ${outputPath}`);\n } else {\n process.stdout.write(jsonOutput + '\\n');\n }\n\n return Promise.resolve();\n }\n}\n"],"names":["MfeGenerateMetadata","Command","execute","isWebComponent","Error","output","args","destination","getFolders","name","getPackageName","packageData","getPackageData","sharedDependencies","loadSharedDependencies","dependencies","metadata","buildMetadata","version","packageManager","getPackageManager","jsonOutput","JSON","stringify","outputPath","path","resolve","outputDir","dirname","fs","existsSync","mkdirSync","recursive","writeFileSync","log","info","process","stdout","write","Promise"],"mappings":";;;;+BAgBaA;;;eAAAA;;;yBAhBqB;+DACnB;iEACE;uBASV;+BACuB;uBAEN;;;;;;;;;;;;;;;AAEjB,MAAMA,4BAA4BC,cAAO;IAC5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEC,MAAM,EAAE,GAAG,IAAI,CAACC,IAAI;QAE5B,MAAM,EAAEC,WAAW,EAAE,GAAGC,IAAAA,iBAAU;QAClC,MAAMC,OAAOC,IAAAA,qBAAc;QAC3B,MAAMC,cAAcC,IAAAA,qBAAc;QAClC,MAAMC,qBAAqBC,IAAAA,6BAAsB,EAC7CH,YAAYI,YAAY,EACxBJ,YAAYE,kBAAkB;QAGlC,MAAMG,WAAWC,IAAAA,4BAAa,EAAC;YAC3BV;YACAE;YACAS,SAASP,YAAYO,OAAO;YAC5BH,cAAcJ,YAAYI,YAAY;YACtCF;YACAM,gBAAgBC,IAAAA,0BAAiB;QACrC;QAEA,MAAMC,aAAaC,KAAKC,SAAS,CAACP,UAAU,MAAM;QAElD,IAAIX,QAAQ;YACR,MAAMmB,aAAaC,iBAAI,CAACC,OAAO,CAACrB;YAChC,MAAMsB,YAAYF,iBAAI,CAACG,OAAO,CAACJ;YAE/B,IAAI,CAACK,eAAE,CAACC,UAAU,CAACH,YAAY;gBAC3BE,eAAE,CAACE,SAAS,CAACJ,WAAW;oBAAEK,WAAW;gBAAK;YAC9C;YAEAH,eAAE,CAACI,aAAa,CAACT,YAAYH,YAAY;YACzCa,UAAG,CAACC,IAAI,CAAC,CAAC,oBAAoB,EAAEX,YAAY;QAChD,OAAO;YACHY,QAAQC,MAAM,CAACC,KAAK,CAACjB,aAAa;QACtC;QAEA,OAAOkB,QAAQb,OAAO;IAC1B;AACJ"}
@@ -40,7 +40,7 @@ function getDefaultJestConfiguration() {
40
40
  modulePathIgnorePatterns: [
41
41
  '<rootDir>/.*/__mocks__'
42
42
  ],
43
- preset: _path.default.join(__dirname, '../../jest'),
43
+ preset: '@servicetitan/startup',
44
44
  resolver: '@servicetitan/startup/jest-resolver',
45
45
  setupFiles: [
46
46
  _path.default.join(__dirname, '../../jest/setup.js')
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/get-jest-config.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport path from 'path';\nimport { getJestConfiguration } from './get-configuration';\nimport { getDefaultTestExcludes } from './get-default-test-excludes';\nimport { omit } from './omit';\nimport { toArray } from './to-array';\n\nfunction getDefaultJestConfiguration() {\n const moduleNameMapper = {\n '\\\\.(css|scss|less|png|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$': 'identity-obj-proxy',\n };\n\n return {\n collectCoverageFrom: ['**/*.{ts,tsx}'],\n coveragePathIgnorePatterns: [...getDefaultTestExcludes()],\n coverageReporters: ['html-spa', 'text', 'json', 'cobertura', 'lcov'],\n moduleNameMapper,\n modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],\n preset: path.join(__dirname, '../../jest'),\n resolver: '@servicetitan/startup/jest-resolver',\n setupFiles: [path.join(__dirname, '../../jest/setup.js')],\n testEnvironment: 'jsdom',\n testPathIgnorePatterns: [...getDefaultTestExcludes()],\n testRunner: 'jest-circus/runner',\n // Under pnpm, dependencies are nested (e.g. node_modules/.pnpm/…/node_modules/pkg); the extra lookahead skips the inner node_modules.\n transformIgnorePatterns: [\n 'node_modules/(?!.*node_modules/)(?!(@servicetitan|@react-hook|nanoid|axios)/)',\n ],\n verbose: true,\n } as Omit<Config.Argv, 'collectCoverageFrom' | 'moduleNameMapper' | 'setupFiles'> & {\n collectCoverageFrom: string[];\n moduleNameMapper: Record<string, string>;\n setupFiles: string[];\n };\n}\n\n/**\n * Get Jest config for running it using jest CLI (see jest runCLI function)\n */\nexport function getJestConfigCLI(args: Config.Argv): Config.Argv {\n const {\n coveragePathIgnorePatterns,\n omitDefault = [],\n setupFiles,\n testPathIgnorePatterns,\n ...config\n } = {\n ...getJestConfiguration(),\n ...args,\n };\n\n const defaultConfig = omit(getDefaultJestConfiguration(), omitDefault);\n\n let moduleNameMapper: Record<string, string> | undefined =\n typeof config.moduleNameMapper === 'string'\n ? JSON.parse(config.moduleNameMapper)\n : config.moduleNameMapper;\n\n if (defaultConfig.moduleNameMapper) {\n moduleNameMapper = { ...moduleNameMapper, ...defaultConfig.moduleNameMapper };\n }\n\n const reporters: string[] | undefined =\n typeof config.reporters === 'string' ? [config.reporters] : config.reporters;\n\n return stringifyForCLI({\n ...mergeArrayValues(defaultConfig, {\n coveragePathIgnorePatterns,\n setupFiles,\n testPathIgnorePatterns,\n }),\n ...config,\n ...(moduleNameMapper ? { moduleNameMapper } : {}),\n ...(reporters ? { reporters } : {}),\n });\n}\n\nfunction mergeArrayValues(\n config: any,\n arrayValues: {\n coveragePathIgnorePatterns?: string | string[];\n setupFiles?: string | string[];\n testPathIgnorePatterns?: string | string[];\n }\n) {\n return Object.keys(arrayValues).reduce((result, key: keyof typeof arrayValues) => {\n const newValue = arrayValues[key];\n if (newValue) {\n result[key] = [...toArray(result[key]), ...toArray(newValue)];\n }\n return result;\n }, config);\n}\n\nfunction stringifyForCLI(config: any): Config.Argv {\n return ['collectCoverageFrom', 'globals', 'moduleNameMapper', 'transform'].reduce(\n (result, key) => {\n const value = result[key];\n if (value && typeof value !== 'string') {\n result[key] = JSON.stringify(result[key]);\n }\n return result;\n },\n config\n );\n}\n"],"names":["getJestConfigCLI","getDefaultJestConfiguration","moduleNameMapper","collectCoverageFrom","coveragePathIgnorePatterns","getDefaultTestExcludes","coverageReporters","modulePathIgnorePatterns","preset","path","join","__dirname","resolver","setupFiles","testEnvironment","testPathIgnorePatterns","testRunner","transformIgnorePatterns","verbose","args","omitDefault","config","getJestConfiguration","defaultConfig","omit","JSON","parse","reporters","stringifyForCLI","mergeArrayValues","arrayValues","Object","keys","reduce","result","key","newValue","toArray","value","stringify"],"mappings":";;;;+BAuCgBA;;;eAAAA;;;6DAtCC;kCACoB;wCACE;sBAClB;yBACG;;;;;;AAExB,SAASC;IACL,MAAMC,mBAAmB;QACrB,+DAA+D;IACnE;IAEA,OAAO;QACHC,qBAAqB;YAAC;SAAgB;QACtCC,4BAA4B;eAAIC,IAAAA,8CAAsB;SAAG;QACzDC,mBAAmB;YAAC;YAAY;YAAQ;YAAQ;YAAa;SAAO;QACpEJ;QACAK,0BAA0B;YAAC;SAAyB;QACpDC,QAAQC,aAAI,CAACC,IAAI,CAACC,WAAW;QAC7BC,UAAU;QACVC,YAAY;YAACJ,aAAI,CAACC,IAAI,CAACC,WAAW;SAAuB;QACzDG,iBAAiB;QACjBC,wBAAwB;eAAIV,IAAAA,8CAAsB;SAAG;QACrDW,YAAY;QACZ,sIAAsI;QACtIC,yBAAyB;YACrB;SACH;QACDC,SAAS;IACb;AAKJ;AAKO,SAASlB,iBAAiBmB,IAAiB;IAC9C,MAAM,EACFf,0BAA0B,EAC1BgB,cAAc,EAAE,EAChBP,UAAU,EACVE,sBAAsB,EACtB,GAAGM,QACN,GAAG;QACA,GAAGC,IAAAA,sCAAoB,GAAE;QACzB,GAAGH,IAAI;IACX;IAEA,MAAMI,gBAAgBC,IAAAA,UAAI,EAACvB,+BAA+BmB;IAE1D,IAAIlB,mBACA,OAAOmB,OAAOnB,gBAAgB,KAAK,WAC7BuB,KAAKC,KAAK,CAACL,OAAOnB,gBAAgB,IAClCmB,OAAOnB,gBAAgB;IAEjC,IAAIqB,cAAcrB,gBAAgB,EAAE;QAChCA,mBAAmB;YAAE,GAAGA,gBAAgB;YAAE,GAAGqB,cAAcrB,gBAAgB;QAAC;IAChF;IAEA,MAAMyB,YACF,OAAON,OAAOM,SAAS,KAAK,WAAW;QAACN,OAAOM,SAAS;KAAC,GAAGN,OAAOM,SAAS;IAEhF,OAAOC,gBAAgB;QACnB,GAAGC,iBAAiBN,eAAe;YAC/BnB;YACAS;YACAE;QACJ,EAAE;QACF,GAAGM,MAAM;QACT,GAAInB,mBAAmB;YAAEA;QAAiB,IAAI,CAAC,CAAC;QAChD,GAAIyB,YAAY;YAAEA;QAAU,IAAI,CAAC,CAAC;IACtC;AACJ;AAEA,SAASE,iBACLR,MAAW,EACXS,WAIC;IAED,OAAOC,OAAOC,IAAI,CAACF,aAAaG,MAAM,CAAC,CAACC,QAAQC;QAC5C,MAAMC,WAAWN,WAAW,CAACK,IAAI;QACjC,IAAIC,UAAU;YACVF,MAAM,CAACC,IAAI,GAAG;mBAAIE,IAAAA,gBAAO,EAACH,MAAM,CAACC,IAAI;mBAAME,IAAAA,gBAAO,EAACD;aAAU;QACjE;QACA,OAAOF;IACX,GAAGb;AACP;AAEA,SAASO,gBAAgBP,MAAW;IAChC,OAAO;QAAC;QAAuB;QAAW;QAAoB;KAAY,CAACY,MAAM,CAC7E,CAACC,QAAQC;QACL,MAAMG,QAAQJ,MAAM,CAACC,IAAI;QACzB,IAAIG,SAAS,OAAOA,UAAU,UAAU;YACpCJ,MAAM,CAACC,IAAI,GAAGV,KAAKc,SAAS,CAACL,MAAM,CAACC,IAAI;QAC5C;QACA,OAAOD;IACX,GACAb;AAER"}
1
+ {"version":3,"sources":["../../src/utils/get-jest-config.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport path from 'path';\nimport { getJestConfiguration } from './get-configuration';\nimport { getDefaultTestExcludes } from './get-default-test-excludes';\nimport { omit } from './omit';\nimport { toArray } from './to-array';\n\nfunction getDefaultJestConfiguration() {\n const moduleNameMapper = {\n '\\\\.(css|scss|less|png|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$': 'identity-obj-proxy',\n };\n\n return {\n collectCoverageFrom: ['**/*.{ts,tsx}'],\n coveragePathIgnorePatterns: [...getDefaultTestExcludes()],\n coverageReporters: ['html-spa', 'text', 'json', 'cobertura', 'lcov'],\n moduleNameMapper,\n modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],\n preset: '@servicetitan/startup',\n resolver: '@servicetitan/startup/jest-resolver',\n setupFiles: [path.join(__dirname, '../../jest/setup.js')],\n testEnvironment: 'jsdom',\n testPathIgnorePatterns: [...getDefaultTestExcludes()],\n testRunner: 'jest-circus/runner',\n // Under pnpm, dependencies are nested (e.g. node_modules/.pnpm/…/node_modules/pkg); the extra lookahead skips the inner node_modules.\n transformIgnorePatterns: [\n 'node_modules/(?!.*node_modules/)(?!(@servicetitan|@react-hook|nanoid|axios)/)',\n ],\n verbose: true,\n } as Omit<Config.Argv, 'collectCoverageFrom' | 'moduleNameMapper' | 'setupFiles'> & {\n collectCoverageFrom: string[];\n moduleNameMapper: Record<string, string>;\n setupFiles: string[];\n };\n}\n\n/**\n * Get Jest config for running it using jest CLI (see jest runCLI function)\n */\nexport function getJestConfigCLI(args: Config.Argv): Config.Argv {\n const {\n coveragePathIgnorePatterns,\n omitDefault = [],\n setupFiles,\n testPathIgnorePatterns,\n ...config\n } = {\n ...getJestConfiguration(),\n ...args,\n };\n\n const defaultConfig = omit(getDefaultJestConfiguration(), omitDefault);\n\n let moduleNameMapper: Record<string, string> | undefined =\n typeof config.moduleNameMapper === 'string'\n ? JSON.parse(config.moduleNameMapper)\n : config.moduleNameMapper;\n\n if (defaultConfig.moduleNameMapper) {\n moduleNameMapper = { ...moduleNameMapper, ...defaultConfig.moduleNameMapper };\n }\n\n const reporters: string[] | undefined =\n typeof config.reporters === 'string' ? [config.reporters] : config.reporters;\n\n return stringifyForCLI({\n ...mergeArrayValues(defaultConfig, {\n coveragePathIgnorePatterns,\n setupFiles,\n testPathIgnorePatterns,\n }),\n ...config,\n ...(moduleNameMapper ? { moduleNameMapper } : {}),\n ...(reporters ? { reporters } : {}),\n });\n}\n\nfunction mergeArrayValues(\n config: any,\n arrayValues: {\n coveragePathIgnorePatterns?: string | string[];\n setupFiles?: string | string[];\n testPathIgnorePatterns?: string | string[];\n }\n) {\n return Object.keys(arrayValues).reduce((result, key: keyof typeof arrayValues) => {\n const newValue = arrayValues[key];\n if (newValue) {\n result[key] = [...toArray(result[key]), ...toArray(newValue)];\n }\n return result;\n }, config);\n}\n\nfunction stringifyForCLI(config: any): Config.Argv {\n return ['collectCoverageFrom', 'globals', 'moduleNameMapper', 'transform'].reduce(\n (result, key) => {\n const value = result[key];\n if (value && typeof value !== 'string') {\n result[key] = JSON.stringify(result[key]);\n }\n return result;\n },\n config\n );\n}\n"],"names":["getJestConfigCLI","getDefaultJestConfiguration","moduleNameMapper","collectCoverageFrom","coveragePathIgnorePatterns","getDefaultTestExcludes","coverageReporters","modulePathIgnorePatterns","preset","resolver","setupFiles","path","join","__dirname","testEnvironment","testPathIgnorePatterns","testRunner","transformIgnorePatterns","verbose","args","omitDefault","config","getJestConfiguration","defaultConfig","omit","JSON","parse","reporters","stringifyForCLI","mergeArrayValues","arrayValues","Object","keys","reduce","result","key","newValue","toArray","value","stringify"],"mappings":";;;;+BAuCgBA;;;eAAAA;;;6DAtCC;kCACoB;wCACE;sBAClB;yBACG;;;;;;AAExB,SAASC;IACL,MAAMC,mBAAmB;QACrB,+DAA+D;IACnE;IAEA,OAAO;QACHC,qBAAqB;YAAC;SAAgB;QACtCC,4BAA4B;eAAIC,IAAAA,8CAAsB;SAAG;QACzDC,mBAAmB;YAAC;YAAY;YAAQ;YAAQ;YAAa;SAAO;QACpEJ;QACAK,0BAA0B;YAAC;SAAyB;QACpDC,QAAQ;QACRC,UAAU;QACVC,YAAY;YAACC,aAAI,CAACC,IAAI,CAACC,WAAW;SAAuB;QACzDC,iBAAiB;QACjBC,wBAAwB;eAAIV,IAAAA,8CAAsB;SAAG;QACrDW,YAAY;QACZ,sIAAsI;QACtIC,yBAAyB;YACrB;SACH;QACDC,SAAS;IACb;AAKJ;AAKO,SAASlB,iBAAiBmB,IAAiB;IAC9C,MAAM,EACFf,0BAA0B,EAC1BgB,cAAc,EAAE,EAChBV,UAAU,EACVK,sBAAsB,EACtB,GAAGM,QACN,GAAG;QACA,GAAGC,IAAAA,sCAAoB,GAAE;QACzB,GAAGH,IAAI;IACX;IAEA,MAAMI,gBAAgBC,IAAAA,UAAI,EAACvB,+BAA+BmB;IAE1D,IAAIlB,mBACA,OAAOmB,OAAOnB,gBAAgB,KAAK,WAC7BuB,KAAKC,KAAK,CAACL,OAAOnB,gBAAgB,IAClCmB,OAAOnB,gBAAgB;IAEjC,IAAIqB,cAAcrB,gBAAgB,EAAE;QAChCA,mBAAmB;YAAE,GAAGA,gBAAgB;YAAE,GAAGqB,cAAcrB,gBAAgB;QAAC;IAChF;IAEA,MAAMyB,YACF,OAAON,OAAOM,SAAS,KAAK,WAAW;QAACN,OAAOM,SAAS;KAAC,GAAGN,OAAOM,SAAS;IAEhF,OAAOC,gBAAgB;QACnB,GAAGC,iBAAiBN,eAAe;YAC/BnB;YACAM;YACAK;QACJ,EAAE;QACF,GAAGM,MAAM;QACT,GAAInB,mBAAmB;YAAEA;QAAiB,IAAI,CAAC,CAAC;QAChD,GAAIyB,YAAY;YAAEA;QAAU,IAAI,CAAC,CAAC;IACtC;AACJ;AAEA,SAASE,iBACLR,MAAW,EACXS,WAIC;IAED,OAAOC,OAAOC,IAAI,CAACF,aAAaG,MAAM,CAAC,CAACC,QAAQC;QAC5C,MAAMC,WAAWN,WAAW,CAACK,IAAI;QACjC,IAAIC,UAAU;YACVF,MAAM,CAACC,IAAI,GAAG;mBAAIE,IAAAA,gBAAO,EAACH,MAAM,CAACC,IAAI;mBAAME,IAAAA,gBAAO,EAACD;aAAU;QACjE;QACA,OAAOF;IACX,GAAGb;AACP;AAEA,SAASO,gBAAgBP,MAAW;IAChC,OAAO;QAAC;QAAuB;QAAW;QAAoB;KAAY,CAACY,MAAM,CAC7E,CAACC,QAAQC;QACL,MAAMG,QAAQJ,MAAM,CAACC,IAAI;QACzB,IAAIG,SAAS,OAAOA,UAAU,UAAU;YACpCJ,MAAM,CAACC,IAAI,GAAGV,KAAKc,SAAS,CAACL,MAAM,CAACC,IAAI;QAC5C;QACA,OAAOD;IACX,GACAb;AAER"}
@@ -19,7 +19,6 @@ export * from './load-shared-dependencies';
19
19
  export * from './log';
20
20
  export * from './log-errors';
21
21
  export * from './omit';
22
- export * from './package-lock';
23
22
  export * from './pick';
24
23
  export * from './prettify';
25
24
  export * from './read-json';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -23,7 +23,6 @@ _export_star(require("./load-shared-dependencies"), exports);
23
23
  _export_star(require("./log"), exports);
24
24
  _export_star(require("./log-errors"), exports);
25
25
  _export_star(require("./omit"), exports);
26
- _export_star(require("./package-lock"), exports);
27
26
  _export_star(require("./pick"), exports);
28
27
  _export_star(require("./prettify"), exports);
29
28
  _export_star(require("./read-json"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './find-packages';\nexport * from './find-up';\nexport * from './format-duration';\nexport * from './format-relative-date';\nexport * from './get-base-tsconfig';\nexport * from './get-branch-configs';\nexport * from './get-configuration';\nexport * from './get-default-test-excludes';\nexport * from './get-destination-folders';\nexport * from './get-folders';\nexport * from './get-jest-config';\nexport * from './get-package-data';\nexport * from './get-package-name';\nexport * from './get-packages';\nexport * from './get-startup-version';\nexport * from './get-tsconfig';\nexport * from './get-tsconfig-with-fallback';\nexport * from './load-shared-dependencies';\nexport * from './log';\nexport * from './log-errors';\nexport * from './omit';\nexport * from './package-lock';\nexport * from './pick';\nexport * from './prettify';\nexport * from './read-json';\nexport * from './to-array';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './find-packages';\nexport * from './find-up';\nexport * from './format-duration';\nexport * from './format-relative-date';\nexport * from './get-base-tsconfig';\nexport * from './get-branch-configs';\nexport * from './get-configuration';\nexport * from './get-default-test-excludes';\nexport * from './get-destination-folders';\nexport * from './get-folders';\nexport * from './get-jest-config';\nexport * from './get-package-data';\nexport * from './get-package-name';\nexport * from './get-packages';\nexport * from './get-startup-version';\nexport * from './get-tsconfig';\nexport * from './get-tsconfig-with-fallback';\nexport * from './load-shared-dependencies';\nexport * from './log';\nexport * from './log-errors';\nexport * from './omit';\nexport * from './pick';\nexport * from './prettify';\nexport * from './read-json';\nexport * from './to-array';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-exposed-dependencies-plugin.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,4BAkB7E"}
1
+ {"version":3,"file":"define-exposed-dependencies-plugin.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,4BAmB7E"}
@@ -9,19 +9,21 @@ Object.defineProperty(exports, "defineExposedDependenciesPlugin", {
9
9
  }
10
10
  });
11
11
  const _webpack = require("webpack");
12
- const _utils = require("../../../utils");
13
- const _utils1 = require("../utils");
12
+ const _utils = require("../utils");
14
13
  function defineExposedDependenciesPlugin(context, _) {
15
14
  const { emitExposedDependencies, isExposeSharedDependencies } = context;
16
15
  if (!isExposeSharedDependencies || emitExposedDependencies) {
17
16
  return;
18
17
  }
19
- const { packageData, sharedDependencies } = context;
20
- const lockFile = (0, _utils.readPackageLock)();
21
- const exposedDependencies = (0, _utils1.getExposedDependencies)(sharedDependencies, (dependency)=>{
22
- var _getLockFileVersion;
18
+ const { packageData, packageManager, sharedDependencies } = context;
19
+ const workspacePackage = packageManager.getWorkspacePackage();
20
+ const exposedDependencies = (0, _utils.getExposedDependencies)(sharedDependencies, (dependency)=>{
21
+ var _packageManager_getResolvedVersion;
23
22
  var _packageData_dependencies;
24
- return (_getLockFileVersion = (0, _utils.getLockFileVersion)(lockFile, dependency)) !== null && _getLockFileVersion !== void 0 ? _getLockFileVersion : (_packageData_dependencies = packageData.dependencies) === null || _packageData_dependencies === void 0 ? void 0 : _packageData_dependencies[dependency];
23
+ return (_packageManager_getResolvedVersion = packageManager.getResolvedVersion({
24
+ workspacePackage,
25
+ dependency
26
+ })) !== null && _packageManager_getResolvedVersion !== void 0 ? _packageManager_getResolvedVersion : (_packageData_dependencies = packageData.dependencies) === null || _packageData_dependencies === void 0 ? void 0 : _packageData_dependencies[dependency];
25
27
  });
26
28
  return new _webpack.DefinePlugin({
27
29
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts"],"sourcesContent":["import { DefinePlugin } from 'webpack';\nimport { getLockFileVersion, readPackageLock } from '../../../utils';\nimport { Context, Overrides } from '../types';\nimport { getExposedDependencies } from '../utils';\n\nexport function defineExposedDependenciesPlugin(context: Context, _: Overrides) {\n const { emitExposedDependencies, isExposeSharedDependencies } = context;\n if (!isExposeSharedDependencies || emitExposedDependencies) {\n return;\n }\n\n const { packageData, sharedDependencies } = context;\n const lockFile = readPackageLock();\n const exposedDependencies = getExposedDependencies(\n sharedDependencies,\n dependency =>\n getLockFileVersion(lockFile, dependency) ?? packageData.dependencies?.[dependency]\n );\n\n return new DefinePlugin({\n // eslint-disable-next-line @typescript-eslint/naming-convention\n EXPOSED_DEPENDENCIES: JSON.stringify(exposedDependencies),\n });\n}\n"],"names":["defineExposedDependenciesPlugin","context","_","emitExposedDependencies","isExposeSharedDependencies","packageData","sharedDependencies","lockFile","readPackageLock","exposedDependencies","getExposedDependencies","dependency","getLockFileVersion","dependencies","DefinePlugin","EXPOSED_DEPENDENCIES","JSON","stringify"],"mappings":";;;;+BAKgBA;;;eAAAA;;;yBALa;uBACuB;wBAEb;AAEhC,SAASA,gCAAgCC,OAAgB,EAAEC,CAAY;IAC1E,MAAM,EAAEC,uBAAuB,EAAEC,0BAA0B,EAAE,GAAGH;IAChE,IAAI,CAACG,8BAA8BD,yBAAyB;QACxD;IACJ;IAEA,MAAM,EAAEE,WAAW,EAAEC,kBAAkB,EAAE,GAAGL;IAC5C,MAAMM,WAAWC,IAAAA,sBAAe;IAChC,MAAMC,sBAAsBC,IAAAA,8BAAsB,EAC9CJ,oBACAK,CAAAA;YACIC;YAA4CP;gBAA5CO,sBAAAA,IAAAA,yBAAkB,EAACL,UAAUI,yBAA7BC,iCAAAA,uBAA4CP,4BAAAA,YAAYQ,YAAY,cAAxBR,gDAAAA,yBAA0B,CAACM,WAAW;;IAG1F,OAAO,IAAIG,qBAAY,CAAC;QACpB,gEAAgE;QAChEC,sBAAsBC,KAAKC,SAAS,CAACR;IACzC;AACJ"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts"],"sourcesContent":["import { DefinePlugin } from 'webpack';\nimport { Context, Overrides } from '../types';\nimport { getExposedDependencies } from '../utils';\n\nexport function defineExposedDependenciesPlugin(context: Context, _: Overrides) {\n const { emitExposedDependencies, isExposeSharedDependencies } = context;\n if (!isExposeSharedDependencies || emitExposedDependencies) {\n return;\n }\n\n const { packageData, packageManager, sharedDependencies } = context;\n const workspacePackage = packageManager.getWorkspacePackage();\n const exposedDependencies = getExposedDependencies(\n sharedDependencies,\n dependency =>\n packageManager.getResolvedVersion({ workspacePackage, dependency }) ??\n packageData.dependencies?.[dependency]\n );\n\n return new DefinePlugin({\n // eslint-disable-next-line @typescript-eslint/naming-convention\n EXPOSED_DEPENDENCIES: JSON.stringify(exposedDependencies),\n });\n}\n"],"names":["defineExposedDependenciesPlugin","context","_","emitExposedDependencies","isExposeSharedDependencies","packageData","packageManager","sharedDependencies","workspacePackage","getWorkspacePackage","exposedDependencies","getExposedDependencies","dependency","getResolvedVersion","dependencies","DefinePlugin","EXPOSED_DEPENDENCIES","JSON","stringify"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAJa;uBAEU;AAEhC,SAASA,gCAAgCC,OAAgB,EAAEC,CAAY;IAC1E,MAAM,EAAEC,uBAAuB,EAAEC,0BAA0B,EAAE,GAAGH;IAChE,IAAI,CAACG,8BAA8BD,yBAAyB;QACxD;IACJ;IAEA,MAAM,EAAEE,WAAW,EAAEC,cAAc,EAAEC,kBAAkB,EAAE,GAAGN;IAC5D,MAAMO,mBAAmBF,eAAeG,mBAAmB;IAC3D,MAAMC,sBAAsBC,IAAAA,6BAAsB,EAC9CJ,oBACAK,CAAAA;YACIN;YACAD;gBADAC,qCAAAA,eAAeO,kBAAkB,CAAC;YAAEL;YAAkBI;QAAW,gBAAjEN,gDAAAA,sCACAD,4BAAAA,YAAYS,YAAY,cAAxBT,gDAAAA,yBAA0B,CAACO,WAAW;;IAG9C,OAAO,IAAIG,qBAAY,CAAC;QACpB,gEAAgE;QAChEC,sBAAsBC,KAAKC,SAAS,CAACR;IACzC;AACJ"}
@@ -17,7 +17,7 @@ function defineExposedInstanceDependenciesPlugin(context, _) {
17
17
  }
18
18
  const instanceDependencies = {
19
19
  launchDarkly: {
20
- version: (0, _getlaunchdarklysdkversion.getLaunchDarklySdkVersion)()
20
+ version: (0, _getlaunchdarklysdkversion.getLaunchDarklySdkVersion)(context.packageManager)
21
21
  }
22
22
  };
23
23
  return new _webpack.DefinePlugin({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts"],"sourcesContent":["import { DefinePlugin } from 'webpack';\nimport { Context, Overrides } from '../types';\nimport { getLaunchDarklySdkVersion } from '../utils/get-launchdarkly-sdk-version';\n\nexport function defineExposedInstanceDependenciesPlugin(context: Context, _: Overrides) {\n const { emitExposedDependencies, isExposeSharedDependencies } = context;\n if (!isExposeSharedDependencies || emitExposedDependencies) {\n return;\n }\n\n const instanceDependencies = {\n launchDarkly: { version: getLaunchDarklySdkVersion() },\n };\n\n return new DefinePlugin({\n // eslint-disable-next-line @typescript-eslint/naming-convention\n EXPOSED_INSTANCE_DEPENDENCIES: JSON.stringify(instanceDependencies),\n });\n}\n"],"names":["defineExposedInstanceDependenciesPlugin","context","_","emitExposedDependencies","isExposeSharedDependencies","instanceDependencies","launchDarkly","version","getLaunchDarklySdkVersion","DefinePlugin","EXPOSED_INSTANCE_DEPENDENCIES","JSON","stringify"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAJa;2CAEa;AAEnC,SAASA,wCAAwCC,OAAgB,EAAEC,CAAY;IAClF,MAAM,EAAEC,uBAAuB,EAAEC,0BAA0B,EAAE,GAAGH;IAChE,IAAI,CAACG,8BAA8BD,yBAAyB;QACxD;IACJ;IAEA,MAAME,uBAAuB;QACzBC,cAAc;YAAEC,SAASC,IAAAA,oDAAyB;QAAG;IACzD;IAEA,OAAO,IAAIC,qBAAY,CAAC;QACpB,gEAAgE;QAChEC,+BAA+BC,KAAKC,SAAS,CAACP;IAClD;AACJ"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts"],"sourcesContent":["import { DefinePlugin } from 'webpack';\nimport { Context, Overrides } from '../types';\nimport { getLaunchDarklySdkVersion } from '../utils/get-launchdarkly-sdk-version';\n\nexport function defineExposedInstanceDependenciesPlugin(context: Context, _: Overrides) {\n const { emitExposedDependencies, isExposeSharedDependencies } = context;\n if (!isExposeSharedDependencies || emitExposedDependencies) {\n return;\n }\n\n const instanceDependencies = {\n launchDarkly: { version: getLaunchDarklySdkVersion(context.packageManager) },\n };\n\n return new DefinePlugin({\n // eslint-disable-next-line @typescript-eslint/naming-convention\n EXPOSED_INSTANCE_DEPENDENCIES: JSON.stringify(instanceDependencies),\n });\n}\n"],"names":["defineExposedInstanceDependenciesPlugin","context","_","emitExposedDependencies","isExposeSharedDependencies","instanceDependencies","launchDarkly","version","getLaunchDarklySdkVersion","packageManager","DefinePlugin","EXPOSED_INSTANCE_DEPENDENCIES","JSON","stringify"],"mappings":";;;;+BAIgBA;;;eAAAA;;;yBAJa;2CAEa;AAEnC,SAASA,wCAAwCC,OAAgB,EAAEC,CAAY;IAClF,MAAM,EAAEC,uBAAuB,EAAEC,0BAA0B,EAAE,GAAGH;IAChE,IAAI,CAACG,8BAA8BD,yBAAyB;QACxD;IACJ;IAEA,MAAME,uBAAuB;QACzBC,cAAc;YAAEC,SAASC,IAAAA,oDAAyB,EAACP,QAAQQ,cAAc;QAAE;IAC/E;IAEA,OAAO,IAAIC,qBAAY,CAAC;QACpB,gEAAgE;QAChEC,+BAA+BC,KAAKC,SAAS,CAACR;IAClD;AACJ"}
@@ -1,3 +1,4 @@
1
+ import type { PackageManager } from '@servicetitan/install';
1
2
  import { Metadata } from '../types';
2
3
  export interface BuildMetadataParams {
3
4
  destination: string;
@@ -5,6 +6,7 @@ export interface BuildMetadataParams {
5
6
  version: string;
6
7
  dependencies: Record<string, string>;
7
8
  sharedDependencies: Record<string, string>;
9
+ packageManager: PackageManager;
8
10
  }
9
11
  export declare function buildMetadata(params: BuildMetadataParams): Metadata;
10
12
  //# sourceMappingURL=build-metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-metadata.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/build-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAyBnE"}
1
+ {"version":3,"file":"build-metadata.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/build-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIjD,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAyBnE"}
@@ -18,7 +18,7 @@ function _interop_require_default(obj) {
18
18
  };
19
19
  }
20
20
  function buildMetadata(params) {
21
- const { destination, name, version, dependencies, sharedDependencies } = params;
21
+ const { destination, name, version, dependencies, sharedDependencies, packageManager } = params;
22
22
  const full = (0, _utils.readJsonSafe)(_path.default.join(destination, 'bundle', 'full', 'entrypoints.json'));
23
23
  const light = (0, _utils.readJsonSafe)(_path.default.join(destination, 'bundle', 'light', 'entrypoints.json'));
24
24
  const headless = (0, _utils.readJsonSafe)(_path.default.join(destination, 'bundle', 'headless', 'entrypoints.json'));
@@ -38,8 +38,8 @@ function buildMetadata(params) {
38
38
  version,
39
39
  bundledWith: {
40
40
  '@servicetitan/startup': (0, _utils.getStartupVersion)(),
41
- '@servicetitan/web-components': (0, _getwebcomponentsversion.getWebComponentsVersion)(),
42
- 'launchdarkly-js-client-sdk': (0, _getlaunchdarklysdkversion.getLaunchDarklySdkVersion)()
41
+ '@servicetitan/web-components': (0, _getwebcomponentsversion.getWebComponentsVersion)(packageManager),
42
+ 'launchdarkly-js-client-sdk': (0, _getlaunchdarklysdkversion.getLaunchDarklySdkVersion)(packageManager)
43
43
  },
44
44
  sharedDependencies,
45
45
  dependencies,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/utils/build-metadata.ts"],"sourcesContent":["import path from 'path';\nimport { getStartupVersion, readJsonSafe } from '../../../utils';\nimport { EntryPoints, Metadata } from '../types';\nimport { getLaunchDarklySdkVersion } from './get-launchdarkly-sdk-version';\nimport { getWebComponentsVersion } from './get-web-components-version';\n\nexport interface BuildMetadataParams {\n destination: string;\n name: string;\n version: string;\n dependencies: Record<string, string>;\n sharedDependencies: Record<string, string>;\n}\n\nexport function buildMetadata(params: BuildMetadataParams): Metadata {\n const { destination, name, version, dependencies, sharedDependencies } = params;\n\n const full = readJsonSafe(path.join(destination, 'bundle', 'full', 'entrypoints.json'));\n const light = readJsonSafe(path.join(destination, 'bundle', 'light', 'entrypoints.json'));\n const headless = readJsonSafe(path.join(destination, 'bundle', 'headless', 'entrypoints.json'));\n\n const entrypoints: EntryPoints = {\n ...(full ? { full } : {}),\n ...(light ? { light } : {}),\n ...(headless ? { headless } : {}),\n };\n\n return {\n name,\n version,\n bundledWith: {\n '@servicetitan/startup': getStartupVersion(),\n '@servicetitan/web-components': getWebComponentsVersion(),\n 'launchdarkly-js-client-sdk': getLaunchDarklySdkVersion(),\n },\n sharedDependencies,\n dependencies,\n entrypoints,\n };\n}\n"],"names":["buildMetadata","params","destination","name","version","dependencies","sharedDependencies","full","readJsonSafe","path","join","light","headless","entrypoints","bundledWith","getStartupVersion","getWebComponentsVersion","getLaunchDarklySdkVersion"],"mappings":";;;;+BAcgBA;;;eAAAA;;;6DAdC;uBAC+B;2CAEN;yCACF;;;;;;AAUjC,SAASA,cAAcC,MAA2B;IACrD,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,OAAO,EAAEC,YAAY,EAAEC,kBAAkB,EAAE,GAAGL;IAEzE,MAAMM,OAAOC,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACR,aAAa,UAAU,QAAQ;IACnE,MAAMS,QAAQH,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACR,aAAa,UAAU,SAAS;IACrE,MAAMU,WAAWJ,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACR,aAAa,UAAU,YAAY;IAE3E,MAAMW,cAA2B;QAC7B,GAAIN,OAAO;YAAEA;QAAK,IAAI,CAAC,CAAC;QACxB,GAAII,QAAQ;YAAEA;QAAM,IAAI,CAAC,CAAC;QAC1B,GAAIC,WAAW;YAAEA;QAAS,IAAI,CAAC,CAAC;IACpC;IAEA,OAAO;QACHT;QACAC;QACAU,aAAa;YACT,yBAAyBC,IAAAA,wBAAiB;YAC1C,gCAAgCC,IAAAA,gDAAuB;YACvD,8BAA8BC,IAAAA,oDAAyB;QAC3D;QACAX;QACAD;QACAQ;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/utils/build-metadata.ts"],"sourcesContent":["import type { PackageManager } from '@servicetitan/install';\nimport path from 'path';\nimport { getStartupVersion, readJsonSafe } from '../../../utils';\nimport { EntryPoints, Metadata } from '../types';\nimport { getLaunchDarklySdkVersion } from './get-launchdarkly-sdk-version';\nimport { getWebComponentsVersion } from './get-web-components-version';\n\nexport interface BuildMetadataParams {\n destination: string;\n name: string;\n version: string;\n dependencies: Record<string, string>;\n sharedDependencies: Record<string, string>;\n packageManager: PackageManager;\n}\n\nexport function buildMetadata(params: BuildMetadataParams): Metadata {\n const { destination, name, version, dependencies, sharedDependencies, packageManager } = params;\n\n const full = readJsonSafe(path.join(destination, 'bundle', 'full', 'entrypoints.json'));\n const light = readJsonSafe(path.join(destination, 'bundle', 'light', 'entrypoints.json'));\n const headless = readJsonSafe(path.join(destination, 'bundle', 'headless', 'entrypoints.json'));\n\n const entrypoints: EntryPoints = {\n ...(full ? { full } : {}),\n ...(light ? { light } : {}),\n ...(headless ? { headless } : {}),\n };\n\n return {\n name,\n version,\n bundledWith: {\n '@servicetitan/startup': getStartupVersion(),\n '@servicetitan/web-components': getWebComponentsVersion(packageManager),\n 'launchdarkly-js-client-sdk': getLaunchDarklySdkVersion(packageManager),\n },\n sharedDependencies,\n dependencies,\n entrypoints,\n };\n}\n"],"names":["buildMetadata","params","destination","name","version","dependencies","sharedDependencies","packageManager","full","readJsonSafe","path","join","light","headless","entrypoints","bundledWith","getStartupVersion","getWebComponentsVersion","getLaunchDarklySdkVersion"],"mappings":";;;;+BAgBgBA;;;eAAAA;;;6DAfC;uBAC+B;2CAEN;yCACF;;;;;;AAWjC,SAASA,cAAcC,MAA2B;IACrD,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,OAAO,EAAEC,YAAY,EAAEC,kBAAkB,EAAEC,cAAc,EAAE,GAAGN;IAEzF,MAAMO,OAAOC,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACT,aAAa,UAAU,QAAQ;IACnE,MAAMU,QAAQH,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACT,aAAa,UAAU,SAAS;IACrE,MAAMW,WAAWJ,IAAAA,mBAAY,EAACC,aAAI,CAACC,IAAI,CAACT,aAAa,UAAU,YAAY;IAE3E,MAAMY,cAA2B;QAC7B,GAAIN,OAAO;YAAEA;QAAK,IAAI,CAAC,CAAC;QACxB,GAAII,QAAQ;YAAEA;QAAM,IAAI,CAAC,CAAC;QAC1B,GAAIC,WAAW;YAAEA;QAAS,IAAI,CAAC,CAAC;IACpC;IAEA,OAAO;QACHV;QACAC;QACAW,aAAa;YACT,yBAAyBC,IAAAA,wBAAiB;YAC1C,gCAAgCC,IAAAA,gDAAuB,EAACV;YACxD,8BAA8BW,IAAAA,oDAAyB,EAACX;QAC5D;QACAD;QACAD;QACAS;IACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/generate-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAoBhD"}
1
+ {"version":3,"file":"generate-metadata.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/generate-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QAqBhD"}
@@ -18,7 +18,7 @@ function _interop_require_default(obj) {
18
18
  };
19
19
  }
20
20
  function generateMetadata(context) {
21
- const { destination, name, packageData, sharedDependencies } = context;
21
+ const { destination, name, packageData, packageManager, sharedDependencies } = context;
22
22
  if (!_fs.default.existsSync(destination)) {
23
23
  _fs.default.mkdirSync(destination, {
24
24
  recursive: true
@@ -29,7 +29,8 @@ function generateMetadata(context) {
29
29
  name,
30
30
  version: packageData.version,
31
31
  dependencies: packageData.dependencies,
32
- sharedDependencies
32
+ sharedDependencies,
33
+ packageManager
33
34
  });
34
35
  const outputFile = _path.default.join(destination, 'metadata.json');
35
36
  _fs.default.writeFileSync(outputFile, JSON.stringify(metadata, null, 2), 'utf8');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/utils/generate-metadata.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { log } from '../../../utils';\nimport { Context } from '../types';\nimport { buildMetadata } from './build-metadata';\n\nexport function generateMetadata(context: Context) {\n const { destination, name, packageData, sharedDependencies } = context;\n\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n }\n\n const metadata = buildMetadata({\n destination,\n name,\n version: packageData.version,\n dependencies: packageData.dependencies,\n sharedDependencies,\n });\n\n const outputFile = path.join(destination, 'metadata.json');\n fs.writeFileSync(outputFile, JSON.stringify(metadata, null, 2), 'utf8');\n\n /* istanbul ignore next: debug only */\n log.debug('generate-metadata', `${outputFile}:`, () => JSON.stringify(metadata));\n}\n"],"names":["generateMetadata","context","destination","name","packageData","sharedDependencies","fs","existsSync","mkdirSync","recursive","metadata","buildMetadata","version","dependencies","outputFile","path","join","writeFileSync","JSON","stringify","log","debug"],"mappings":";;;;+BAMgBA;;;eAAAA;;;2DAND;6DACE;uBACG;+BAEU;;;;;;AAEvB,SAASA,iBAAiBC,OAAgB;IAC7C,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,WAAW,EAAEC,kBAAkB,EAAE,GAAGJ;IAE/D,IAAI,CAACK,WAAE,CAACC,UAAU,CAACL,cAAc;QAC7BI,WAAE,CAACE,SAAS,CAACN,aAAa;YAAEO,WAAW;QAAK;IAChD;IAEA,MAAMC,WAAWC,IAAAA,4BAAa,EAAC;QAC3BT;QACAC;QACAS,SAASR,YAAYQ,OAAO;QAC5BC,cAAcT,YAAYS,YAAY;QACtCR;IACJ;IAEA,MAAMS,aAAaC,aAAI,CAACC,IAAI,CAACd,aAAa;IAC1CI,WAAE,CAACW,aAAa,CAACH,YAAYI,KAAKC,SAAS,CAACT,UAAU,MAAM,IAAI;IAEhE,oCAAoC,GACpCU,UAAG,CAACC,KAAK,CAAC,qBAAqB,GAAGP,WAAW,CAAC,CAAC,EAAE,IAAMI,KAAKC,SAAS,CAACT;AAC1E"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/utils/generate-metadata.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { log } from '../../../utils';\nimport { Context } from '../types';\nimport { buildMetadata } from './build-metadata';\n\nexport function generateMetadata(context: Context) {\n const { destination, name, packageData, packageManager, sharedDependencies } = context;\n\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n }\n\n const metadata = buildMetadata({\n destination,\n name,\n version: packageData.version,\n dependencies: packageData.dependencies,\n sharedDependencies,\n packageManager,\n });\n\n const outputFile = path.join(destination, 'metadata.json');\n fs.writeFileSync(outputFile, JSON.stringify(metadata, null, 2), 'utf8');\n\n /* istanbul ignore next: debug only */\n log.debug('generate-metadata', `${outputFile}:`, () => JSON.stringify(metadata));\n}\n"],"names":["generateMetadata","context","destination","name","packageData","packageManager","sharedDependencies","fs","existsSync","mkdirSync","recursive","metadata","buildMetadata","version","dependencies","outputFile","path","join","writeFileSync","JSON","stringify","log","debug"],"mappings":";;;;+BAMgBA;;;eAAAA;;;2DAND;6DACE;uBACG;+BAEU;;;;;;AAEvB,SAASA,iBAAiBC,OAAgB;IAC7C,MAAM,EAAEC,WAAW,EAAEC,IAAI,EAAEC,WAAW,EAAEC,cAAc,EAAEC,kBAAkB,EAAE,GAAGL;IAE/E,IAAI,CAACM,WAAE,CAACC,UAAU,CAACN,cAAc;QAC7BK,WAAE,CAACE,SAAS,CAACP,aAAa;YAAEQ,WAAW;QAAK;IAChD;IAEA,MAAMC,WAAWC,IAAAA,4BAAa,EAAC;QAC3BV;QACAC;QACAU,SAAST,YAAYS,OAAO;QAC5BC,cAAcV,YAAYU,YAAY;QACtCR;QACAD;IACJ;IAEA,MAAMU,aAAaC,aAAI,CAACC,IAAI,CAACf,aAAa;IAC1CK,WAAE,CAACW,aAAa,CAACH,YAAYI,KAAKC,SAAS,CAACT,UAAU,MAAM,IAAI;IAEhE,oCAAoC,GACpCU,UAAG,CAACC,KAAK,CAAC,qBAAqB,GAAGP,WAAW,CAAC,CAAC,EAAE,IAAMI,KAAKC,SAAS,CAACT;AAC1E"}
@@ -1,2 +1,3 @@
1
- export declare function getLaunchDarklySdkVersion(): string | undefined;
1
+ import type { PackageManager } from '@servicetitan/install';
2
+ export declare function getLaunchDarklySdkVersion(packageManager: PackageManager): string | undefined;
2
3
  //# sourceMappingURL=get-launchdarkly-sdk-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-launchdarkly-sdk-version.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"names":[],"mappings":"AAEA,wBAAgB,yBAAyB,uBAExC"}
1
+ {"version":3,"file":"get-launchdarkly-sdk-version.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,cAAc,sBAKvE"}
@@ -8,9 +8,11 @@ Object.defineProperty(exports, "getLaunchDarklySdkVersion", {
8
8
  return getLaunchDarklySdkVersion;
9
9
  }
10
10
  });
11
- const _utils = require("../../../utils");
12
- function getLaunchDarklySdkVersion() {
13
- return (0, _utils.getLockFileVersion)((0, _utils.readPackageLock)(), 'launchdarkly-js-client-sdk');
11
+ function getLaunchDarklySdkVersion(packageManager) {
12
+ return packageManager.getResolvedVersion({
13
+ workspacePackage: packageManager.getWorkspacePackage(),
14
+ dependency: 'launchdarkly-js-client-sdk'
15
+ });
14
16
  }
15
17
 
16
18
  //# sourceMappingURL=get-launchdarkly-sdk-version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"sourcesContent":["import { getLockFileVersion, readPackageLock } from '../../../utils';\n\nexport function getLaunchDarklySdkVersion() {\n return getLockFileVersion(readPackageLock(), 'launchdarkly-js-client-sdk');\n}\n"],"names":["getLaunchDarklySdkVersion","getLockFileVersion","readPackageLock"],"mappings":";;;;+BAEgBA;;;eAAAA;;;uBAFoC;AAE7C,SAASA;IACZ,OAAOC,IAAAA,yBAAkB,EAACC,IAAAA,sBAAe,KAAI;AACjD"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"sourcesContent":["import type { PackageManager } from '@servicetitan/install';\n\nexport function getLaunchDarklySdkVersion(packageManager: PackageManager) {\n return packageManager.getResolvedVersion({\n workspacePackage: packageManager.getWorkspacePackage(),\n dependency: 'launchdarkly-js-client-sdk',\n });\n}\n"],"names":["getLaunchDarklySdkVersion","packageManager","getResolvedVersion","workspacePackage","getWorkspacePackage","dependency"],"mappings":";;;;+BAEgBA;;;eAAAA;;;AAAT,SAASA,0BAA0BC,cAA8B;IACpE,OAAOA,eAAeC,kBAAkB,CAAC;QACrCC,kBAAkBF,eAAeG,mBAAmB;QACpDC,YAAY;IAChB;AACJ"}
@@ -1,2 +1,3 @@
1
- export declare function getWebComponentsVersion(): string;
1
+ import type { PackageManager } from '@servicetitan/install';
2
+ export declare function getWebComponentsVersion(packageManager: PackageManager): string;
2
3
  //# sourceMappingURL=get-web-components-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-web-components-version.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,WAQtC"}
1
+ {"version":3,"file":"get-web-components-version.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,UAWrE"}
@@ -8,11 +8,14 @@ Object.defineProperty(exports, "getWebComponentsVersion", {
8
8
  return getWebComponentsVersion;
9
9
  }
10
10
  });
11
- const _utils = require("../../../utils");
12
- function getWebComponentsVersion() {
13
- const version = (0, _utils.getLockFileVersion)((0, _utils.readPackageLock)(), '@servicetitan/web-components');
11
+ const PACKAGE_NAME = '@servicetitan/web-components';
12
+ function getWebComponentsVersion(packageManager) {
13
+ const version = packageManager.getResolvedVersion({
14
+ workspacePackage: packageManager.getWorkspacePackage(),
15
+ dependency: PACKAGE_NAME
16
+ });
14
17
  if (!version) {
15
- throw new Error('Unable to resolve @servicetitan/web-components version from package-lock.json');
18
+ throw new Error(`Unable to resolve ${PACKAGE_NAME} version`);
16
19
  }
17
20
  return version;
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"sourcesContent":["import { getLockFileVersion, readPackageLock } from '../../../utils';\n\nexport function getWebComponentsVersion() {\n const version = getLockFileVersion(readPackageLock(), '@servicetitan/web-components');\n if (!version) {\n throw new Error(\n 'Unable to resolve @servicetitan/web-components version from package-lock.json'\n );\n }\n return version;\n}\n"],"names":["getWebComponentsVersion","version","getLockFileVersion","readPackageLock","Error"],"mappings":";;;;+BAEgBA;;;eAAAA;;;uBAFoC;AAE7C,SAASA;IACZ,MAAMC,UAAUC,IAAAA,yBAAkB,EAACC,IAAAA,sBAAe,KAAI;IACtD,IAAI,CAACF,SAAS;QACV,MAAM,IAAIG,MACN;IAER;IACA,OAAOH;AACX"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"sourcesContent":["import type { PackageManager } from '@servicetitan/install';\n\nconst PACKAGE_NAME = '@servicetitan/web-components';\n\nexport function getWebComponentsVersion(packageManager: PackageManager) {\n const version = packageManager.getResolvedVersion({\n workspacePackage: packageManager.getWorkspacePackage(),\n dependency: PACKAGE_NAME,\n });\n\n if (!version) {\n throw new Error(`Unable to resolve ${PACKAGE_NAME} version`);\n }\n\n return version;\n}\n"],"names":["getWebComponentsVersion","PACKAGE_NAME","packageManager","version","getResolvedVersion","workspacePackage","getWorkspacePackage","dependency","Error"],"mappings":";;;;+BAIgBA;;;eAAAA;;;AAFhB,MAAMC,eAAe;AAEd,SAASD,wBAAwBE,cAA8B;IAClE,MAAMC,UAAUD,eAAeE,kBAAkB,CAAC;QAC9CC,kBAAkBH,eAAeI,mBAAmB;QACpDC,YAAYN;IAChB;IAEA,IAAI,CAACE,SAAS;QACV,MAAM,IAAIK,MAAM,CAAC,kBAAkB,EAAEP,aAAa,QAAQ,CAAC;IAC/D;IAEA,OAAOE;AACX"}