@servicetitan/startup 35.1.0 → 35.2.0-far-1776.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 (59) hide show
  1. package/dist/cli/commands/mfe-generate-metadata.d.ts.map +1 -1
  2. package/dist/cli/commands/mfe-generate-metadata.js +6 -1
  3. package/dist/cli/commands/mfe-generate-metadata.js.map +1 -1
  4. package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.d.ts.map +1 -1
  5. package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js +6 -6
  6. package/dist/cli/commands/review/rules/require-compatible-launch-darkly-sdk.js.map +1 -1
  7. package/dist/cli/commands/review/types.d.ts +2 -5
  8. package/dist/cli/commands/review/types.d.ts.map +1 -1
  9. package/dist/cli/commands/review/types.js.map +1 -1
  10. package/dist/utils/find-package-lock.d.ts +2 -0
  11. package/dist/utils/find-package-lock.d.ts.map +1 -0
  12. package/dist/utils/find-package-lock.js +26 -0
  13. package/dist/utils/find-package-lock.js.map +1 -0
  14. package/dist/utils/find-up.js +4 -4
  15. package/dist/utils/find-up.js.map +1 -1
  16. package/dist/utils/get-package-data.d.ts.map +1 -1
  17. package/dist/utils/get-package-data.js +28 -1
  18. package/dist/utils/get-package-data.js.map +1 -1
  19. package/dist/utils/get-package-version.d.ts +2 -0
  20. package/dist/utils/get-package-version.d.ts.map +1 -0
  21. package/dist/utils/get-package-version.js +26 -0
  22. package/dist/utils/get-package-version.js.map +1 -0
  23. package/dist/utils/index.d.ts +3 -0
  24. package/dist/utils/index.d.ts.map +1 -1
  25. package/dist/utils/index.js +3 -0
  26. package/dist/utils/index.js.map +1 -1
  27. package/dist/utils/resolve-package-lock-entry.d.ts +11 -0
  28. package/dist/utils/resolve-package-lock-entry.d.ts.map +1 -0
  29. package/dist/utils/resolve-package-lock-entry.js +21 -0
  30. package/dist/utils/resolve-package-lock-entry.js.map +1 -0
  31. package/dist/webpack/configs/cache-config.d.ts.map +1 -1
  32. package/dist/webpack/configs/cache-config.js +1 -14
  33. package/dist/webpack/configs/cache-config.js.map +1 -1
  34. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +1 -1
  35. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js +1 -11
  36. package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -1
  37. package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +1 -1
  38. package/dist/webpack/configs/utils/get-web-components-version.js +5 -7
  39. package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
  40. package/package.json +2 -3
  41. package/src/cli/commands/__tests__/mfe-generate-metadata.test.ts +13 -0
  42. package/src/cli/commands/mfe-generate-metadata.ts +6 -1
  43. package/src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts +2 -7
  44. package/src/cli/commands/review/types.ts +3 -8
  45. package/src/utils/__tests__/find-package-lock.test.ts +35 -0
  46. package/src/utils/__tests__/get-package-data.test.ts +97 -26
  47. package/src/utils/__tests__/get-package-version.test.ts +129 -0
  48. package/src/utils/__tests__/resolve-package-lock-entry.test.ts +99 -0
  49. package/src/utils/find-package-lock.ts +10 -0
  50. package/src/utils/find-up.ts +1 -1
  51. package/src/utils/get-package-data.ts +27 -2
  52. package/src/utils/get-package-version.ts +21 -0
  53. package/src/utils/index.ts +3 -0
  54. package/src/utils/resolve-package-lock-entry.ts +25 -0
  55. package/src/webpack/configs/cache-config.ts +1 -10
  56. package/src/webpack/configs/utils/__tests__/get-launchdarkly-sdk-version.test.ts +20 -8
  57. package/src/webpack/configs/utils/__tests__/get-web-components-version.test.ts +30 -10
  58. package/src/webpack/configs/utils/get-launchdarkly-sdk-version.ts +2 -12
  59. package/src/webpack/configs/utils/get-web-components-version.ts +8 -5
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-generate-metadata.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;CAKa,CAAC;AAE3B,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,WAAW,sDAAsD;IACjF,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;MAAW;IAG5B,OAAO;CAyChB"}
1
+ {"version":3,"file":"mfe-generate-metadata.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-generate-metadata.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAkB,MAAM,SAAS,CAAC;AAElD,QAAA,MAAM,OAAO;;;;;CAKa,CAAC;AAE3B,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,OAAO,OAAO,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,WAAW,sDAAsD;IACjF,MAAM,CAAC,QAAQ,CAAC,OAAO;;;;;MAAW;IAG5B,OAAO;CA8ChB"}
@@ -52,7 +52,12 @@ class MfeGenerateMetadata extends _types.Command {
52
52
  throw new Error('this command must be run inside a web-component directory');
53
53
  }
54
54
  const { output } = this.args;
55
- const { destination } = (0, _utils.getFolders)();
55
+ let destination;
56
+ try {
57
+ ({ destination } = (0, _utils.getFolders)());
58
+ } catch (unused) {
59
+ destination = 'dist';
60
+ }
56
61
  const name = (0, _utils.getPackageName)();
57
62
  const packageData = (0, _utils.getPackageData)();
58
63
  const sharedDependencies = (0, _utils.loadSharedDependencies)(packageData.dependencies, packageData.sharedDependencies);
@@ -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 { Command, CommandOptions } from './types';\n\nconst options = {\n output: {\n description: 'Output file path (outputs to stdout if not specified)',\n string: true,\n },\n} satisfies CommandOptions;\n\nexport class MfeGenerateMetadata extends Command<typeof options> {\n static readonly allowRunFromGlobal = true;\n static readonly description = 'Generate MFE metadata for compatibility checking';\n static readonly options = options;\n\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","options","output","description","string","Command","execute","isWebComponent","Error","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","allowRunFromGlobal"],"mappings":";;;;+BAqBaA;;;eAAAA;;;+DArBE;iEACE;uBASV;+BACuB;uBACU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,QAAQ;QACJC,aAAa;QACbC,QAAQ;IACZ;AACJ;AAEO,MAAMJ,4BAA4BK,cAAO;IAK5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEN,MAAM,EAAE,GAAG,IAAI,CAACO,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,IAAIjB,QAAQ;YACR,MAAMuB,aAAaC,iBAAI,CAACC,OAAO,CAACzB;YAChC,MAAM0B,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;AA9CI,iBADS3B,qBACOyC,sBAAqB;AACrC,iBAFSzC,qBAEOG,eAAc;AAC9B,iBAHSH,qBAGOC,WAAUA"}
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 { Command, CommandOptions } from './types';\n\nconst options = {\n output: {\n description: 'Output file path (outputs to stdout if not specified)',\n string: true,\n },\n} satisfies CommandOptions;\n\nexport class MfeGenerateMetadata extends Command<typeof options> {\n static readonly allowRunFromGlobal = true;\n static readonly description = 'Generate MFE metadata for compatibility checking';\n static readonly options = options;\n\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 let destination: string;\n try {\n ({ destination } = getFolders());\n } catch {\n destination = 'dist';\n }\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","options","output","description","string","Command","execute","isWebComponent","Error","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","allowRunFromGlobal"],"mappings":";;;;+BAqBaA;;;eAAAA;;;+DArBE;iEACE;uBASV;+BACuB;uBACU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExC,MAAMC,UAAU;IACZC,QAAQ;QACJC,aAAa;QACbC,QAAQ;IACZ;AACJ;AAEO,MAAMJ,4BAA4BK,cAAO;IAK5C,MACMC,UAAU;QACZ,IAAI,CAACC,IAAAA,qBAAc,KAAI;YACnB,MAAM,IAAIC,MAAM;QACpB;QAEA,MAAM,EAAEN,MAAM,EAAE,GAAG,IAAI,CAACO,IAAI;QAE5B,IAAIC;QACJ,IAAI;YACC,CAAA,EAAEA,WAAW,EAAE,GAAGC,IAAAA,iBAAU,GAAC;QAClC,EAAE,eAAM;YACJD,cAAc;QAClB;QACA,MAAME,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,IAAIjB,QAAQ;YACR,MAAMuB,aAAaC,iBAAI,CAACC,OAAO,CAACzB;YAChC,MAAM0B,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;AAnDI,iBADS3B,qBACOyC,sBAAqB;AACrC,iBAFSzC,qBAEOG,eAAc;AAC9B,iBAHSH,qBAGOC,WAAUA"}
@@ -1 +1 @@
1
- {"version":3,"file":"require-compatible-launch-darkly-sdk.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts"],"names":[],"mappings":"AAGA,OAAO,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMpF,UAAU,SAAS;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEzC,qBAAa,gCAAiC,YAAW,WAAW;;IAGhE,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS;IAiB1D,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAsBzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAkB3B;IAEF,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,2BAA2B;CAQtC"}
1
+ {"version":3,"file":"require-compatible-launch-darkly-sdk.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMpF,UAAU,SAAS;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEzC,qBAAa,gCAAiC,YAAW,WAAW;;IAGhE,IAAI,EAAE,WAEL;IAED,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,SAAS;IAiB1D,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAsBzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAkB3B;IAEF,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,2BAA2B;CAQtC"}
@@ -11,8 +11,9 @@ Object.defineProperty(exports, "RequireCompatibleLaunchDarklySdk", {
11
11
  const _chalk = /*#__PURE__*/ _interop_require_default(require("chalk"));
12
12
  const _child_process = require("child_process");
13
13
  const _semver = require("semver");
14
+ const _utils = require("../../../../utils");
14
15
  const _types = require("../types");
15
- const _utils = require("../utils");
16
+ const _utils1 = require("../utils");
16
17
  function _check_private_redeclaration(obj, privateCollection) {
17
18
  if (privateCollection.has(obj)) {
18
19
  throw new TypeError("Cannot initialize the same private elements twice on an object");
@@ -85,11 +86,11 @@ class RequireCompatibleLaunchDarklySdk {
85
86
  * Pass an empty filter object to checkPackages to disable its filtering.
86
87
  * The project-level check is only useful when there are no package-level
87
88
  * errors so we need an accurate count.
88
- */ const errors = (0, _utils.checkPackages)({}, project, this.checkPackage);
89
+ */ const errors = (0, _utils1.checkPackages)({}, project, this.checkPackage);
89
90
  if (!errors.length) {
90
91
  return this.checkProject();
91
92
  }
92
- return (0, _utils.applyFilter)((_project_config_rules = project.config.rules) === null || _project_config_rules === void 0 ? void 0 : _project_config_rules[this.id], errors, ({ data })=>data.name);
93
+ return (0, _utils1.applyFilter)((_project_config_rules = project.config.rules) === null || _project_config_rules === void 0 ? void 0 : _project_config_rules[this.id], errors, ({ data })=>data.name);
93
94
  }
94
95
  fix({ data }, project) {
95
96
  const { name, targetVersion } = data !== null && data !== void 0 ? data : {};
@@ -97,7 +98,7 @@ class RequireCompatibleLaunchDarklySdk {
97
98
  return;
98
99
  }
99
100
  if (name) {
100
- (0, _utils.setVersion)({
101
+ (0, _utils1.setVersion)({
101
102
  project,
102
103
  packageName: name,
103
104
  dependency: JS_CLIENT_SDK,
@@ -148,9 +149,8 @@ class RequireCompatibleLaunchDarklySdk {
148
149
  }).version;
149
150
  }
150
151
  getResolvedDependency({ packageName, dependency }) {
151
- var _ref, _ref1;
152
152
  const { packages } = _class_private_field_get(this, _project).packageLock;
153
- return (_ref = (_ref1 = packageName ? packages[`node_modules/${packageName}/node_modules/${dependency}`] : undefined) !== null && _ref1 !== void 0 ? _ref1 : packages[`node_modules/${dependency}`]) !== null && _ref !== void 0 ? _ref : {};
153
+ return (0, _utils.resolvePackageLockEntry)(packages, dependency, packageName);
154
154
  }
155
155
  getTargetJsClientSdkVersion(packageName) {
156
156
  var _dependencies_JS_CLIENT_SDK;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport { satisfies } from 'semver';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter, checkPackages, setVersion } from '../utils';\n\nconst JS_CLIENT_SDK = 'launchdarkly-js-client-sdk';\nconst LD_SERVICE = '@servicetitan/launchdarkly-service';\n\ninterface ErrorData {\n name?: string;\n actualVersion: string;\n targetVersion: string;\n}\n\ntype RuleError = PackageError<ErrorData>;\n\nexport class RequireCompatibleLaunchDarklySdk implements PackageRule {\n #project!: Project;\n\n get id() {\n return 'require-compatible-launch-darkly-sdk';\n }\n\n run(project: Project): RuleError | RuleError[] | undefined {\n this.#project = project;\n\n /*\n * Pass an empty filter object to checkPackages to disable its filtering.\n * The project-level check is only useful when there are no package-level\n * errors so we need an accurate count.\n */\n const errors = checkPackages({}, project, this.checkPackage);\n\n if (!errors.length) {\n return this.checkProject();\n }\n\n return applyFilter(project.config.rules?.[this.id], errors, ({ data }) => data!.name!);\n }\n\n fix({ data }: RuleError, project: Project) {\n const { name, targetVersion } = data ?? {};\n if (!targetVersion) {\n return;\n }\n if (name) {\n setVersion({\n project,\n packageName: name,\n dependency: JS_CLIENT_SDK,\n version: targetVersion,\n });\n return;\n }\n\n [\n `npm pkg set dependencies[\"${JS_CLIENT_SDK}\"]=${targetVersion}`,\n 'npx @servicetitan/install --fix --quiet',\n `npm pkg delete dependencies[\"${JS_CLIENT_SDK}\"]`,\n ].forEach(command => execSync(command, { stdio: 'inherit' }));\n }\n\n private readonly checkPackage = ({\n dependencies = {},\n location,\n name,\n }: Package): RuleError | undefined => {\n if (!dependencies[JS_CLIENT_SDK]) {\n return;\n }\n\n const actualVersion = this.getActualJsClientSdkVersion(name);\n const targetVersion = this.getTargetJsClientSdkVersion(name);\n if (actualVersion && targetVersion && !satisfies(actualVersion, targetVersion)) {\n return this.createError({\n message: `package \"${name}\" depends on an incompatible version of ${JS_CLIENT_SDK}`,\n location,\n data: { name, actualVersion, targetVersion },\n });\n }\n };\n\n private checkProject() {\n const actualVersion = this.getActualJsClientSdkVersion();\n const targetVersion = this.getTargetJsClientSdkVersion();\n if (actualVersion && targetVersion && !satisfies(actualVersion, targetVersion)) {\n return this.createError({\n message: `project depends on an incompatible version of ${JS_CLIENT_SDK}`,\n location: this.#project.packageLock.location,\n data: { actualVersion, targetVersion },\n });\n }\n }\n\n private createError(params: { message: string; location: string; data: ErrorData }): RuleError {\n const { message, data, location } = params;\n return {\n id: this.id,\n message,\n details: this.formatDetails(data),\n location,\n fixable: data.name ? FixCategory.isolated : FixCategory.lockFile,\n data,\n };\n }\n\n private formatDetails({ actualVersion, targetVersion }: ErrorData) {\n return `${chalk.yellow(actualVersion)} does not match ${targetVersion}`;\n }\n\n private getActualJsClientSdkVersion(packageName?: string) {\n return this.getResolvedDependency({ packageName, dependency: JS_CLIENT_SDK }).version;\n }\n\n private getResolvedDependency({\n packageName,\n dependency,\n }: {\n packageName?: string;\n dependency: string;\n }) {\n const { packages } = this.#project.packageLock;\n return (\n (packageName\n ? packages[`node_modules/${packageName}/node_modules/${dependency}`]\n : undefined) ??\n packages[`node_modules/${dependency}`] ??\n {}\n );\n }\n\n private getTargetJsClientSdkVersion(packageName?: string) {\n const { dependencies = {}, peerDependencies = {} } = this.getResolvedDependency({\n packageName,\n dependency: LD_SERVICE,\n });\n\n return dependencies[JS_CLIENT_SDK] ?? peerDependencies[JS_CLIENT_SDK];\n }\n}\n"],"names":["RequireCompatibleLaunchDarklySdk","JS_CLIENT_SDK","LD_SERVICE","id","run","project","errors","checkPackages","checkPackage","length","checkProject","applyFilter","config","rules","data","name","fix","targetVersion","setVersion","packageName","dependency","version","forEach","command","execSync","stdio","actualVersion","getActualJsClientSdkVersion","getTargetJsClientSdkVersion","satisfies","createError","message","location","packageLock","params","details","formatDetails","fixable","FixCategory","isolated","lockFile","chalk","yellow","getResolvedDependency","packages","undefined","dependencies","peerDependencies"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/cli/commands/review/rules/require-compatible-launch-darkly-sdk.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { execSync } from 'child_process';\nimport { satisfies } from 'semver';\nimport { resolvePackageLockEntry } from '../../../../utils';\nimport { FixCategory, Package, PackageError, PackageRule, Project } from '../types';\nimport { applyFilter, checkPackages, setVersion } from '../utils';\n\nconst JS_CLIENT_SDK = 'launchdarkly-js-client-sdk';\nconst LD_SERVICE = '@servicetitan/launchdarkly-service';\n\ninterface ErrorData {\n name?: string;\n actualVersion: string;\n targetVersion: string;\n}\n\ntype RuleError = PackageError<ErrorData>;\n\nexport class RequireCompatibleLaunchDarklySdk implements PackageRule {\n #project!: Project;\n\n get id() {\n return 'require-compatible-launch-darkly-sdk';\n }\n\n run(project: Project): RuleError | RuleError[] | undefined {\n this.#project = project;\n\n /*\n * Pass an empty filter object to checkPackages to disable its filtering.\n * The project-level check is only useful when there are no package-level\n * errors so we need an accurate count.\n */\n const errors = checkPackages({}, project, this.checkPackage);\n\n if (!errors.length) {\n return this.checkProject();\n }\n\n return applyFilter(project.config.rules?.[this.id], errors, ({ data }) => data!.name!);\n }\n\n fix({ data }: RuleError, project: Project) {\n const { name, targetVersion } = data ?? {};\n if (!targetVersion) {\n return;\n }\n if (name) {\n setVersion({\n project,\n packageName: name,\n dependency: JS_CLIENT_SDK,\n version: targetVersion,\n });\n return;\n }\n\n [\n `npm pkg set dependencies[\"${JS_CLIENT_SDK}\"]=${targetVersion}`,\n 'npx @servicetitan/install --fix --quiet',\n `npm pkg delete dependencies[\"${JS_CLIENT_SDK}\"]`,\n ].forEach(command => execSync(command, { stdio: 'inherit' }));\n }\n\n private readonly checkPackage = ({\n dependencies = {},\n location,\n name,\n }: Package): RuleError | undefined => {\n if (!dependencies[JS_CLIENT_SDK]) {\n return;\n }\n\n const actualVersion = this.getActualJsClientSdkVersion(name);\n const targetVersion = this.getTargetJsClientSdkVersion(name);\n if (actualVersion && targetVersion && !satisfies(actualVersion, targetVersion)) {\n return this.createError({\n message: `package \"${name}\" depends on an incompatible version of ${JS_CLIENT_SDK}`,\n location,\n data: { name, actualVersion, targetVersion },\n });\n }\n };\n\n private checkProject() {\n const actualVersion = this.getActualJsClientSdkVersion();\n const targetVersion = this.getTargetJsClientSdkVersion();\n if (actualVersion && targetVersion && !satisfies(actualVersion, targetVersion)) {\n return this.createError({\n message: `project depends on an incompatible version of ${JS_CLIENT_SDK}`,\n location: this.#project.packageLock.location,\n data: { actualVersion, targetVersion },\n });\n }\n }\n\n private createError(params: { message: string; location: string; data: ErrorData }): RuleError {\n const { message, data, location } = params;\n return {\n id: this.id,\n message,\n details: this.formatDetails(data),\n location,\n fixable: data.name ? FixCategory.isolated : FixCategory.lockFile,\n data,\n };\n }\n\n private formatDetails({ actualVersion, targetVersion }: ErrorData) {\n return `${chalk.yellow(actualVersion)} does not match ${targetVersion}`;\n }\n\n private getActualJsClientSdkVersion(packageName?: string) {\n return this.getResolvedDependency({ packageName, dependency: JS_CLIENT_SDK }).version;\n }\n\n private getResolvedDependency({\n packageName,\n dependency,\n }: {\n packageName?: string;\n dependency: string;\n }) {\n const { packages } = this.#project.packageLock;\n return resolvePackageLockEntry(packages, dependency, packageName);\n }\n\n private getTargetJsClientSdkVersion(packageName?: string) {\n const { dependencies = {}, peerDependencies = {} } = this.getResolvedDependency({\n packageName,\n dependency: LD_SERVICE,\n });\n\n return dependencies[JS_CLIENT_SDK] ?? peerDependencies[JS_CLIENT_SDK];\n }\n}\n"],"names":["RequireCompatibleLaunchDarklySdk","JS_CLIENT_SDK","LD_SERVICE","id","run","project","errors","checkPackages","checkPackage","length","checkProject","applyFilter","config","rules","data","name","fix","targetVersion","setVersion","packageName","dependency","version","forEach","command","execSync","stdio","actualVersion","getActualJsClientSdkVersion","getTargetJsClientSdkVersion","satisfies","createError","message","location","packageLock","params","details","formatDetails","fixable","FixCategory","isolated","lockFile","chalk","yellow","getResolvedDependency","packages","resolvePackageLockEntry","dependencies","peerDependencies"],"mappings":";;;;+BAkBaA;;;eAAAA;;;8DAlBK;+BACO;wBACC;uBACc;uBACiC;wBAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,MAAMC,gBAAgB;AACtB,MAAMC,aAAa;IAWf;AADG,MAAMF;IAGT,IAAIG,KAAK;QACL,OAAO;IACX;IAEAC,IAAIC,OAAgB,EAAuC;YAcpCA;uCAbd,UAAWA;QAEhB;;;;SAIC,GACD,MAAMC,SAASC,IAAAA,qBAAa,EAAC,CAAC,GAAGF,SAAS,IAAI,CAACG,YAAY;QAE3D,IAAI,CAACF,OAAOG,MAAM,EAAE;YAChB,OAAO,IAAI,CAACC,YAAY;QAC5B;QAEA,OAAOC,IAAAA,mBAAW,GAACN,wBAAAA,QAAQO,MAAM,CAACC,KAAK,cAApBR,4CAAAA,qBAAsB,CAAC,IAAI,CAACF,EAAE,CAAC,EAAEG,QAAQ,CAAC,EAAEQ,IAAI,EAAE,GAAKA,KAAMC,IAAI;IACxF;IAEAC,IAAI,EAAEF,IAAI,EAAa,EAAET,OAAgB,EAAE;QACvC,MAAM,EAAEU,IAAI,EAAEE,aAAa,EAAE,GAAGH,iBAAAA,kBAAAA,OAAQ,CAAC;QACzC,IAAI,CAACG,eAAe;YAChB;QACJ;QACA,IAAIF,MAAM;YACNG,IAAAA,kBAAU,EAAC;gBACPb;gBACAc,aAAaJ;gBACbK,YAAYnB;gBACZoB,SAASJ;YACb;YACA;QACJ;QAEA;YACI,CAAC,0BAA0B,EAAEhB,cAAc,GAAG,EAAEgB,eAAe;YAC/D;YACA,CAAC,6BAA6B,EAAEhB,cAAc,EAAE,CAAC;SACpD,CAACqB,OAAO,CAACC,CAAAA,UAAWC,IAAAA,uBAAQ,EAACD,SAAS;gBAAEE,OAAO;YAAU;IAC9D;IAsBQf,eAAe;QACnB,MAAMgB,gBAAgB,IAAI,CAACC,2BAA2B;QACtD,MAAMV,gBAAgB,IAAI,CAACW,2BAA2B;QACtD,IAAIF,iBAAiBT,iBAAiB,CAACY,IAAAA,iBAAS,EAACH,eAAeT,gBAAgB;YAC5E,OAAO,IAAI,CAACa,WAAW,CAAC;gBACpBC,SAAS,CAAC,8CAA8C,EAAE9B,eAAe;gBACzE+B,UAAU,yBAAA,IAAI,EAAC,UAASC,WAAW,CAACD,QAAQ;gBAC5ClB,MAAM;oBAAEY;oBAAeT;gBAAc;YACzC;QACJ;IACJ;IAEQa,YAAYI,MAA8D,EAAa;QAC3F,MAAM,EAAEH,OAAO,EAAEjB,IAAI,EAAEkB,QAAQ,EAAE,GAAGE;QACpC,OAAO;YACH/B,IAAI,IAAI,CAACA,EAAE;YACX4B;YACAI,SAAS,IAAI,CAACC,aAAa,CAACtB;YAC5BkB;YACAK,SAASvB,KAAKC,IAAI,GAAGuB,kBAAW,CAACC,QAAQ,GAAGD,kBAAW,CAACE,QAAQ;YAChE1B;QACJ;IACJ;IAEQsB,cAAc,EAAEV,aAAa,EAAET,aAAa,EAAa,EAAE;QAC/D,OAAO,GAAGwB,cAAK,CAACC,MAAM,CAAChB,eAAe,gBAAgB,EAAET,eAAe;IAC3E;IAEQU,4BAA4BR,WAAoB,EAAE;QACtD,OAAO,IAAI,CAACwB,qBAAqB,CAAC;YAAExB;YAAaC,YAAYnB;QAAc,GAAGoB,OAAO;IACzF;IAEQsB,sBAAsB,EAC1BxB,WAAW,EACXC,UAAU,EAIb,EAAE;QACC,MAAM,EAAEwB,QAAQ,EAAE,GAAG,yBAAA,IAAI,EAAC,UAASX,WAAW;QAC9C,OAAOY,IAAAA,8BAAuB,EAACD,UAAUxB,YAAYD;IACzD;IAEQS,4BAA4BT,WAAoB,EAAE;YAM/C2B;QALP,MAAM,EAAEA,eAAe,CAAC,CAAC,EAAEC,mBAAmB,CAAC,CAAC,EAAE,GAAG,IAAI,CAACJ,qBAAqB,CAAC;YAC5ExB;YACAC,YAAYlB;QAChB;QAEA,QAAO4C,8BAAAA,YAAY,CAAC7C,cAAc,cAA3B6C,yCAAAA,8BAA+BC,gBAAgB,CAAC9C,cAAc;IACzE;;QAnHA,gCAAA;;mBAAA,KAAA;;QA6CA,uBAAiBO,gBAAe,CAAC,EAC7BsC,eAAe,CAAC,CAAC,EACjBd,QAAQ,EACRjB,IAAI,EACE;YACN,IAAI,CAAC+B,YAAY,CAAC7C,cAAc,EAAE;gBAC9B;YACJ;YAEA,MAAMyB,gBAAgB,IAAI,CAACC,2BAA2B,CAACZ;YACvD,MAAME,gBAAgB,IAAI,CAACW,2BAA2B,CAACb;YACvD,IAAIW,iBAAiBT,iBAAiB,CAACY,IAAAA,iBAAS,EAACH,eAAeT,gBAAgB;gBAC5E,OAAO,IAAI,CAACa,WAAW,CAAC;oBACpBC,SAAS,CAAC,SAAS,EAAEhB,KAAK,wCAAwC,EAAEd,eAAe;oBACnF+B;oBACAlB,MAAM;wBAAEC;wBAAMW;wBAAeT;oBAAc;gBAC/C;YACJ;QACJ;;AAqDJ"}
@@ -1,3 +1,4 @@
1
+ import { PackageLockPackages } from '../../../utils';
1
2
  export declare abstract class PackageRule {
2
3
  abstract get id(): string;
3
4
  abstract run(project: Project): PackageError | PackageError[] | undefined;
@@ -7,11 +8,7 @@ export interface Project {
7
8
  config: ReviewConfiguration;
8
9
  dependencies: Dependencies;
9
10
  packageLock: {
10
- packages: Record<string, {
11
- version: string;
12
- dependencies?: Record<string, string>;
13
- peerDependencies?: Record<string, string>;
14
- }>;
11
+ packages: PackageLockPackages;
15
12
  location: string;
16
13
  };
17
14
  packages: Package[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/review/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/commands/review/types.ts"],"sourcesContent":["export abstract class PackageRule {\n abstract get id(): string;\n abstract run(project: Project): PackageError | PackageError[] | undefined;\n abstract fix?(error: PackageError, project: Project): void;\n}\n\nexport interface Project {\n config: ReviewConfiguration;\n dependencies: Dependencies;\n // Only using this subset of package-lock.json\n packageLock: {\n packages: Record<\n string,\n {\n version: string;\n dependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n }\n >;\n location: string;\n };\n packages: Package[];\n}\n\n/**\n * Maps package name to versions and dependents of those versions.\n */\nexport interface Dependencies {\n [packageName: string]: {\n [version: string]: string[];\n };\n}\n\n/**\n * Subset of package.json used by rules\n */\nexport interface Package {\n cli?: CliOptions;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n exports?: string | Record<string, string | Record<string, string>> | null;\n location: string;\n main?: string;\n module?: string;\n name: string;\n peerDependencies?: Record<string, string>;\n private?: boolean;\n scripts?: Record<string, string>;\n sideEffects?: any;\n workspaces?: string[];\n}\n\ninterface CliOptions {\n webpack?: false | Record<string, any>;\n}\n\nexport interface PackageError<T = any> {\n data?: T;\n details?: string | string[];\n fixable?: FixCategory;\n id: string;\n location?: string;\n message: string;\n severity?: ErrorSeverity;\n}\n\nexport enum ErrorSeverity {\n error = 1,\n warning = 2,\n}\n\nexport enum FixCategory {\n isolated = 'isolated', // fix examines and changes at most one dependency or package.json, if any\n normal = 'normal', // fix potentially examines and changes multiple dependencies\n lockFile = 'lockFile', // fix examines and changes package-lock.json\n}\n\nexport interface ReviewConfiguration {\n rules?: { [id: string]: RuleConfiguration };\n}\n\nexport type RuleConfiguration =\n | Level\n | [Level]\n | [Level, { exclude?: string[] | Record<string, string[]> }];\n\nexport type Level = 'warn' | 'error' | 'off';\n"],"names":["ErrorSeverity","FixCategory","PackageRule"],"mappings":";;;;;;;;;;;QAkEYA;eAAAA;;QAKAC;eAAAA;;QAvEUC;eAAAA;;;AAAf,MAAeA;AAItB;AA8DO,IAAA,AAAKF,uCAAAA;;;WAAAA;;AAKL,IAAA,AAAKC,qCAAAA;;;;WAAAA"}
1
+ {"version":3,"sources":["../../../../src/cli/commands/review/types.ts"],"sourcesContent":["import { PackageLockPackages } from '../../../utils';\n\nexport abstract class PackageRule {\n abstract get id(): string;\n abstract run(project: Project): PackageError | PackageError[] | undefined;\n abstract fix?(error: PackageError, project: Project): void;\n}\n\nexport interface Project {\n config: ReviewConfiguration;\n dependencies: Dependencies;\n // Only using this subset of package-lock.json\n packageLock: {\n packages: PackageLockPackages;\n location: string;\n };\n packages: Package[];\n}\n\n/**\n * Maps package name to versions and dependents of those versions.\n */\nexport interface Dependencies {\n [packageName: string]: {\n [version: string]: string[];\n };\n}\n\n/**\n * Subset of package.json used by rules\n */\nexport interface Package {\n cli?: CliOptions;\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n exports?: string | Record<string, string | Record<string, string>> | null;\n location: string;\n main?: string;\n module?: string;\n name: string;\n peerDependencies?: Record<string, string>;\n private?: boolean;\n scripts?: Record<string, string>;\n sideEffects?: any;\n workspaces?: string[];\n}\n\ninterface CliOptions {\n webpack?: false | Record<string, any>;\n}\n\nexport interface PackageError<T = any> {\n data?: T;\n details?: string | string[];\n fixable?: FixCategory;\n id: string;\n location?: string;\n message: string;\n severity?: ErrorSeverity;\n}\n\nexport enum ErrorSeverity {\n error = 1,\n warning = 2,\n}\n\nexport enum FixCategory {\n isolated = 'isolated', // fix examines and changes at most one dependency or package.json, if any\n normal = 'normal', // fix potentially examines and changes multiple dependencies\n lockFile = 'lockFile', // fix examines and changes package-lock.json\n}\n\nexport interface ReviewConfiguration {\n rules?: { [id: string]: RuleConfiguration };\n}\n\nexport type RuleConfiguration =\n | Level\n | [Level]\n | [Level, { exclude?: string[] | Record<string, string[]> }];\n\nexport type Level = 'warn' | 'error' | 'off';\n"],"names":["ErrorSeverity","FixCategory","PackageRule"],"mappings":";;;;;;;;;;;QA6DYA;eAAAA;;QAKAC;eAAAA;;QAhEUC;eAAAA;;;AAAf,MAAeA;AAItB;AAuDO,IAAA,AAAKF,uCAAAA;;;WAAAA;;AAKL,IAAA,AAAKC,qCAAAA;;;;WAAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function findPackageLock(): string | undefined;
2
+ //# sourceMappingURL=find-package-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-package-lock.d.ts","sourceRoot":"","sources":["../../src/utils/find-package-lock.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,uBAK9B"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "findPackageLock", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return findPackageLock;
9
+ }
10
+ });
11
+ const _nodefs = /*#__PURE__*/ _interop_require_default(require("node:fs"));
12
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
13
+ const _findup = require("./find-up");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ function findPackageLock() {
20
+ return (0, _findup.findUp)((directory)=>{
21
+ const lockFile = _nodepath.default.resolve(directory, 'package-lock.json');
22
+ return _nodefs.default.existsSync(lockFile) ? lockFile : undefined;
23
+ });
24
+ }
25
+
26
+ //# sourceMappingURL=find-package-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/find-package-lock.ts"],"sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport { findUp } from './find-up';\n\nexport function findPackageLock() {\n return findUp(directory => {\n const lockFile = path.resolve(directory, 'package-lock.json');\n return fs.existsSync(lockFile) ? lockFile : undefined;\n });\n}\n"],"names":["findPackageLock","findUp","directory","lockFile","path","resolve","fs","existsSync","undefined"],"mappings":";;;;+BAIgBA;;;eAAAA;;;+DAJD;iEACE;wBACM;;;;;;AAEhB,SAASA;IACZ,OAAOC,IAAAA,cAAM,EAACC,CAAAA;QACV,MAAMC,WAAWC,iBAAI,CAACC,OAAO,CAACH,WAAW;QACzC,OAAOI,eAAE,CAACC,UAAU,CAACJ,YAAYA,WAAWK;IAChD;AACJ"}
@@ -8,21 +8,21 @@ Object.defineProperty(exports, "findUp", {
8
8
  return findUp;
9
9
  }
10
10
  });
11
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
11
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
12
12
  function _interop_require_default(obj) {
13
13
  return obj && obj.__esModule ? obj : {
14
14
  default: obj
15
15
  };
16
16
  }
17
17
  function findUp(callback) {
18
- let directory = _path.default.resolve('./');
18
+ let directory = _nodepath.default.resolve('./');
19
19
  do {
20
20
  const result = callback(directory);
21
21
  if (result) {
22
22
  return result;
23
23
  }
24
- directory = _path.default.resolve(_path.default.join(directory, '../'));
25
- }while (_path.default.parse(directory).name)
24
+ directory = _nodepath.default.resolve(_nodepath.default.join(directory, '../'));
25
+ }while (_nodepath.default.parse(directory).name)
26
26
  }
27
27
 
28
28
  //# sourceMappingURL=find-up.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/find-up.ts"],"sourcesContent":["import path from 'path';\n\nexport function findUp<T>(callback: (directory: string) => T | undefined) {\n let directory = path.resolve('./');\n do {\n const result = callback(directory);\n if (result) {\n return result;\n }\n directory = path.resolve(path.join(directory, '../'));\n } while (path.parse(directory).name);\n}\n"],"names":["findUp","callback","directory","path","resolve","result","join","parse","name"],"mappings":";;;;+BAEgBA;;;eAAAA;;;6DAFC;;;;;;AAEV,SAASA,OAAUC,QAA8C;IACpE,IAAIC,YAAYC,aAAI,CAACC,OAAO,CAAC;IAC7B,GAAG;QACC,MAAMC,SAASJ,SAASC;QACxB,IAAIG,QAAQ;YACR,OAAOA;QACX;QACAH,YAAYC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACG,IAAI,CAACJ,WAAW;IAClD,QAASC,aAAI,CAACI,KAAK,CAACL,WAAWM,IAAI,CAAE;AACzC"}
1
+ {"version":3,"sources":["../../src/utils/find-up.ts"],"sourcesContent":["import path from 'node:path';\n\nexport function findUp<T>(callback: (directory: string) => T | undefined) {\n let directory = path.resolve('./');\n do {\n const result = callback(directory);\n if (result) {\n return result;\n }\n directory = path.resolve(path.join(directory, '../'));\n } while (path.parse(directory).name);\n}\n"],"names":["findUp","callback","directory","path","resolve","result","join","parse","name"],"mappings":";;;;+BAEgBA;;;eAAAA;;;iEAFC;;;;;;AAEV,SAASA,OAAUC,QAA8C;IACpE,IAAIC,YAAYC,iBAAI,CAACC,OAAO,CAAC;IAC7B,GAAG;QACC,MAAMC,SAASJ,SAASC;QACxB,IAAIG,QAAQ;YACR,OAAOA;QACX;QACAH,YAAYC,iBAAI,CAACC,OAAO,CAACD,iBAAI,CAACG,IAAI,CAACJ,WAAW;IAClD,QAASC,iBAAI,CAACI,KAAK,CAACL,WAAWM,IAAI,CAAE;AACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-package-data.d.ts","sourceRoot":"","sources":["../../src/utils/get-package-data.ts"],"names":[],"mappings":"AAEA,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,wBAAgB,cAAc,IAAI,WAAW,CAY5C;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,OAYtF"}
1
+ {"version":3,"file":"get-package-data.d.ts","sourceRoot":"","sources":["../../src/utils/get-package-data.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,wBAAgB,cAAc,IAAI,WAAW,CAY5C;AAyBD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,OAYtF"}
@@ -16,7 +16,14 @@ _export(exports, {
16
16
  return getPackageDependencyVersion;
17
17
  }
18
18
  });
19
+ const _nodepath = /*#__PURE__*/ _interop_require_default(require("node:path"));
20
+ const _findup = require("./find-up");
19
21
  const _readjson = require("./read-json");
22
+ function _interop_require_default(obj) {
23
+ return obj && obj.__esModule ? obj : {
24
+ default: obj
25
+ };
26
+ }
20
27
  function getPackageData() {
21
28
  var _packageJson_cli_webpack, _packageJson_cli;
22
29
  const packageJson = (0, _readjson.readJson)('./package.json');
@@ -24,12 +31,32 @@ function getPackageData() {
24
31
  name: packageJson.name,
25
32
  version: packageJson.version,
26
33
  dependencies: {
27
- ...(0, _readjson.readJson)('../../package.json').dependencies,
34
+ ...findRootDependencies(),
28
35
  ...packageJson.dependencies
29
36
  },
30
37
  sharedDependencies: (_packageJson_cli = packageJson.cli) === null || _packageJson_cli === void 0 ? void 0 : (_packageJson_cli_webpack = _packageJson_cli.webpack) === null || _packageJson_cli_webpack === void 0 ? void 0 : _packageJson_cli_webpack['shared-dependencies']
31
38
  };
32
39
  }
40
+ function findRootDependencies() {
41
+ var _ref;
42
+ const cwd = _nodepath.default.resolve('./');
43
+ const root = (0, _findup.findUp)((directory)=>{
44
+ var _readJsonSafe;
45
+ if (directory === cwd) {
46
+ return undefined;
47
+ }
48
+ const pkgPath = _nodepath.default.join(directory, 'package.json');
49
+ const pkg = (0, _readjson.readJsonSafe)(pkgPath);
50
+ if (pkg === null || pkg === void 0 ? void 0 : pkg.workspaces) {
51
+ return pkg;
52
+ }
53
+ const lernaPath = _nodepath.default.join(directory, 'lerna.json');
54
+ if ((_readJsonSafe = (0, _readjson.readJsonSafe)(lernaPath)) === null || _readJsonSafe === void 0 ? void 0 : _readJsonSafe.packages) {
55
+ return pkg !== null && pkg !== void 0 ? pkg : {};
56
+ }
57
+ });
58
+ return (_ref = root === null || root === void 0 ? void 0 : root.dependencies) !== null && _ref !== void 0 ? _ref : {};
59
+ }
33
60
  function getPackageDependencyVersion(dependency, defaultVersion) {
34
61
  try {
35
62
  const { version } = require(`${dependency}/package.json`);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/get-package-data.ts"],"sourcesContent":["import { readJson } from './read-json';\n\ninterface PackageData {\n name: string;\n version: string;\n dependencies: Record<string, string>;\n sharedDependencies?: Record<string, string>;\n}\n\nexport function getPackageData(): PackageData {\n const packageJson = readJson('./package.json');\n\n return {\n name: packageJson.name,\n version: packageJson.version,\n dependencies: {\n ...readJson('../../package.json').dependencies,\n ...packageJson.dependencies,\n },\n sharedDependencies: packageJson.cli?.webpack?.['shared-dependencies'],\n };\n}\n\nexport function getPackageDependencyVersion(dependency: string, defaultVersion?: string) {\n try {\n const { version } = require(`${dependency}/package.json`);\n\n if (version) {\n return version;\n }\n } catch {\n // skip error\n }\n\n return defaultVersion;\n}\n"],"names":["getPackageData","getPackageDependencyVersion","packageJson","readJson","name","version","dependencies","sharedDependencies","cli","webpack","dependency","defaultVersion","require"],"mappings":";;;;;;;;;;;QASgBA;eAAAA;;QAcAC;eAAAA;;;0BAvBS;AASlB,SAASD;QAUYE,0BAAAA;IATxB,MAAMA,cAAcC,IAAAA,kBAAQ,EAAC;IAE7B,OAAO;QACHC,MAAMF,YAAYE,IAAI;QACtBC,SAASH,YAAYG,OAAO;QAC5BC,cAAc;YACV,GAAGH,IAAAA,kBAAQ,EAAC,sBAAsBG,YAAY;YAC9C,GAAGJ,YAAYI,YAAY;QAC/B;QACAC,kBAAkB,GAAEL,mBAAAA,YAAYM,GAAG,cAAfN,wCAAAA,2BAAAA,iBAAiBO,OAAO,cAAxBP,+CAAAA,wBAA0B,CAAC,sBAAsB;IACzE;AACJ;AAEO,SAASD,4BAA4BS,UAAkB,EAAEC,cAAuB;IACnF,IAAI;QACA,MAAM,EAAEN,OAAO,EAAE,GAAGO,QAAQ,GAAGF,WAAW,aAAa,CAAC;QAExD,IAAIL,SAAS;YACT,OAAOA;QACX;IACJ,EAAE,eAAM;IACJ,aAAa;IACjB;IAEA,OAAOM;AACX"}
1
+ {"version":3,"sources":["../../src/utils/get-package-data.ts"],"sourcesContent":["import path from 'node:path';\nimport { findUp } from './find-up';\nimport { readJson, readJsonSafe } from './read-json';\n\ninterface PackageData {\n name: string;\n version: string;\n dependencies: Record<string, string>;\n sharedDependencies?: Record<string, string>;\n}\n\nexport function getPackageData(): PackageData {\n const packageJson = readJson('./package.json');\n\n return {\n name: packageJson.name,\n version: packageJson.version,\n dependencies: {\n ...findRootDependencies(),\n ...packageJson.dependencies,\n },\n sharedDependencies: packageJson.cli?.webpack?.['shared-dependencies'],\n };\n}\n\nfunction findRootDependencies() {\n const cwd = path.resolve('./');\n const root = findUp(directory => {\n if (directory === cwd) {\n return undefined;\n }\n const pkgPath = path.join(directory, 'package.json');\n const pkg = readJsonSafe<{ workspaces?: string[]; dependencies?: Record<string, string> }>(\n pkgPath\n );\n if (pkg?.workspaces) {\n return pkg;\n }\n\n const lernaPath = path.join(directory, 'lerna.json');\n if (readJsonSafe<{ packages?: string[] }>(lernaPath)?.packages) {\n return pkg ?? {};\n }\n });\n\n return root?.dependencies ?? {};\n}\n\nexport function getPackageDependencyVersion(dependency: string, defaultVersion?: string) {\n try {\n const { version } = require(`${dependency}/package.json`);\n\n if (version) {\n return version;\n }\n } catch {\n // skip error\n }\n\n return defaultVersion;\n}\n"],"names":["getPackageData","getPackageDependencyVersion","packageJson","readJson","name","version","dependencies","findRootDependencies","sharedDependencies","cli","webpack","cwd","path","resolve","root","findUp","directory","readJsonSafe","undefined","pkgPath","join","pkg","workspaces","lernaPath","packages","dependency","defaultVersion","require"],"mappings":";;;;;;;;;;;QAWgBA;eAAAA;;QAqCAC;eAAAA;;;iEAhDC;wBACM;0BACgB;;;;;;AAShC,SAASD;QAUYE,0BAAAA;IATxB,MAAMA,cAAcC,IAAAA,kBAAQ,EAAC;IAE7B,OAAO;QACHC,MAAMF,YAAYE,IAAI;QACtBC,SAASH,YAAYG,OAAO;QAC5BC,cAAc;YACV,GAAGC,sBAAsB;YACzB,GAAGL,YAAYI,YAAY;QAC/B;QACAE,kBAAkB,GAAEN,mBAAAA,YAAYO,GAAG,cAAfP,wCAAAA,2BAAAA,iBAAiBQ,OAAO,cAAxBR,+CAAAA,wBAA0B,CAAC,sBAAsB;IACzE;AACJ;AAEA,SAASK;;IACL,MAAMI,MAAMC,iBAAI,CAACC,OAAO,CAAC;IACzB,MAAMC,OAAOC,IAAAA,cAAM,EAACC,CAAAA;YAaZC;QAZJ,IAAID,cAAcL,KAAK;YACnB,OAAOO;QACX;QACA,MAAMC,UAAUP,iBAAI,CAACQ,IAAI,CAACJ,WAAW;QACrC,MAAMK,MAAMJ,IAAAA,sBAAY,EACpBE;QAEJ,IAAIE,gBAAAA,0BAAAA,IAAKC,UAAU,EAAE;YACjB,OAAOD;QACX;QAEA,MAAME,YAAYX,iBAAI,CAACQ,IAAI,CAACJ,WAAW;QACvC,KAAIC,gBAAAA,IAAAA,sBAAY,EAA0BM,wBAAtCN,oCAAAA,cAAkDO,QAAQ,EAAE;YAC5D,OAAOH,gBAAAA,iBAAAA,MAAO,CAAC;QACnB;IACJ;IAEA,eAAOP,iBAAAA,2BAAAA,KAAMR,YAAY,uCAAI,CAAC;AAClC;AAEO,SAASL,4BAA4BwB,UAAkB,EAAEC,cAAuB;IACnF,IAAI;QACA,MAAM,EAAErB,OAAO,EAAE,GAAGsB,QAAQ,GAAGF,WAAW,aAAa,CAAC;QAExD,IAAIpB,SAAS;YACT,OAAOA;QACX;IACJ,EAAE,eAAM;IACJ,aAAa;IACjB;IAEA,OAAOqB;AACX"}
@@ -0,0 +1,2 @@
1
+ export declare function getPackageVersion(packageName: string): string | undefined;
2
+ //# sourceMappingURL=get-package-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-package-version.d.ts","sourceRoot":"","sources":["../../src/utils/get-package-version.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,sBAYpD"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getPackageVersion", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getPackageVersion;
9
+ }
10
+ });
11
+ const _findpackagelock = require("./find-package-lock");
12
+ const _readjson = require("./read-json");
13
+ const _resolvepackagelockentry = require("./resolve-package-lock-entry");
14
+ function getPackageVersion(packageName) {
15
+ const lockFilePath = (0, _findpackagelock.findPackageLock)();
16
+ if (!lockFilePath) {
17
+ return undefined;
18
+ }
19
+ const lockFile = (0, _readjson.readJsonSafe)(lockFilePath);
20
+ if (!lockFile) {
21
+ return undefined;
22
+ }
23
+ return (0, _resolvepackagelockentry.resolvePackageLockEntry)(lockFile.packages, packageName).version;
24
+ }
25
+
26
+ //# sourceMappingURL=get-package-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/get-package-version.ts"],"sourcesContent":["import { findPackageLock } from './find-package-lock';\nimport { readJsonSafe } from './read-json';\nimport { PackageLockPackages, resolvePackageLockEntry } from './resolve-package-lock-entry';\n\ninterface PackageLock {\n packages: PackageLockPackages;\n}\n\nexport function getPackageVersion(packageName: string) {\n const lockFilePath = findPackageLock();\n if (!lockFilePath) {\n return undefined;\n }\n\n const lockFile = readJsonSafe<PackageLock>(lockFilePath);\n if (!lockFile) {\n return undefined;\n }\n\n return resolvePackageLockEntry(lockFile.packages, packageName).version;\n}\n"],"names":["getPackageVersion","packageName","lockFilePath","findPackageLock","undefined","lockFile","readJsonSafe","resolvePackageLockEntry","packages","version"],"mappings":";;;;+BAQgBA;;;eAAAA;;;iCARgB;0BACH;yCACgC;AAMtD,SAASA,kBAAkBC,WAAmB;IACjD,MAAMC,eAAeC,IAAAA,gCAAe;IACpC,IAAI,CAACD,cAAc;QACf,OAAOE;IACX;IAEA,MAAMC,WAAWC,IAAAA,sBAAY,EAAcJ;IAC3C,IAAI,CAACG,UAAU;QACX,OAAOD;IACX;IAEA,OAAOG,IAAAA,gDAAuB,EAACF,SAASG,QAAQ,EAAEP,aAAaQ,OAAO;AAC1E"}
@@ -1,3 +1,4 @@
1
+ export * from './find-package-lock';
1
2
  export * from './find-packages';
2
3
  export * from './find-up';
3
4
  export * from './format-duration';
@@ -10,6 +11,7 @@ export * from './get-folders';
10
11
  export * from './get-jest-config';
11
12
  export * from './get-package-data';
12
13
  export * from './get-package-name';
14
+ export * from './get-package-version';
13
15
  export * from './get-packages';
14
16
  export * from './get-startup-version';
15
17
  export * from './get-tsconfig';
@@ -21,5 +23,6 @@ export * from './omit';
21
23
  export * from './pick';
22
24
  export * from './prettify';
23
25
  export * from './read-json';
26
+ export * from './resolve-package-lock-entry';
24
27
  export * from './to-array';
25
28
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,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,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,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,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
+ _export_star(require("./find-package-lock"), exports);
5
6
  _export_star(require("./find-packages"), exports);
6
7
  _export_star(require("./find-up"), exports);
7
8
  _export_star(require("./format-duration"), exports);
@@ -14,6 +15,7 @@ _export_star(require("./get-folders"), exports);
14
15
  _export_star(require("./get-jest-config"), exports);
15
16
  _export_star(require("./get-package-data"), exports);
16
17
  _export_star(require("./get-package-name"), exports);
18
+ _export_star(require("./get-package-version"), exports);
17
19
  _export_star(require("./get-packages"), exports);
18
20
  _export_star(require("./get-startup-version"), exports);
19
21
  _export_star(require("./get-tsconfig"), exports);
@@ -25,6 +27,7 @@ _export_star(require("./omit"), exports);
25
27
  _export_star(require("./pick"), exports);
26
28
  _export_star(require("./prettify"), exports);
27
29
  _export_star(require("./read-json"), exports);
30
+ _export_star(require("./resolve-package-lock-entry"), exports);
28
31
  _export_star(require("./to-array"), exports);
29
32
  function _export_star(from, to) {
30
33
  Object.keys(from).forEach(function(k) {
@@ -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-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"}
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './find-package-lock';\nexport * 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-destination-folders';\nexport * from './get-folders';\nexport * from './get-jest-config';\nexport * from './get-package-data';\nexport * from './get-package-name';\nexport * from './get-package-version';\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 './resolve-package-lock-entry';\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;qBACA"}
@@ -0,0 +1,11 @@
1
+ interface PackageLockEntry {
2
+ version?: string;
3
+ resolved?: string;
4
+ link?: boolean;
5
+ dependencies?: Record<string, string>;
6
+ peerDependencies?: Record<string, string>;
7
+ }
8
+ export type PackageLockPackages = Record<string, PackageLockEntry>;
9
+ export declare function resolvePackageLockEntry(packages: PackageLockPackages | undefined, packageName: string, scope?: string): PackageLockEntry;
10
+ export {};
11
+ //# sourceMappingURL=resolve-package-lock-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-package-lock-entry.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-package-lock-entry.ts"],"names":[],"mappings":"AAAA,UAAU,gBAAgB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEnE,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,oBAWjB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "resolvePackageLockEntry", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return resolvePackageLockEntry;
9
+ }
10
+ });
11
+ function resolvePackageLockEntry(packages, packageName, scope) {
12
+ var _ref;
13
+ const entry = (_ref = scope ? packages === null || packages === void 0 ? void 0 : packages[`node_modules/${scope}/node_modules/${packageName}`] : undefined) !== null && _ref !== void 0 ? _ref : packages === null || packages === void 0 ? void 0 : packages[`node_modules/${packageName}`];
14
+ if ((entry === null || entry === void 0 ? void 0 : entry.link) && entry.resolved) {
15
+ var _ref1;
16
+ return (_ref1 = packages === null || packages === void 0 ? void 0 : packages[entry.resolved]) !== null && _ref1 !== void 0 ? _ref1 : {};
17
+ }
18
+ return entry !== null && entry !== void 0 ? entry : {};
19
+ }
20
+
21
+ //# sourceMappingURL=resolve-package-lock-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/resolve-package-lock-entry.ts"],"sourcesContent":["interface PackageLockEntry {\n version?: string;\n resolved?: string;\n link?: boolean;\n dependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n}\n\nexport type PackageLockPackages = Record<string, PackageLockEntry>;\n\nexport function resolvePackageLockEntry(\n packages: PackageLockPackages | undefined,\n packageName: string,\n scope?: string\n) {\n const entry =\n (scope ? packages?.[`node_modules/${scope}/node_modules/${packageName}`] : undefined) ??\n packages?.[`node_modules/${packageName}`];\n\n if (entry?.link && entry.resolved) {\n return packages?.[entry.resolved] ?? {};\n }\n\n return entry ?? {};\n}\n"],"names":["resolvePackageLockEntry","packages","packageName","scope","entry","undefined","link","resolved"],"mappings":";;;;+BAUgBA;;;eAAAA;;;AAAT,SAASA,wBACZC,QAAyC,EACzCC,WAAmB,EACnBC,KAAc;QAGTA;IADL,MAAMC,SACDD,OAAAA,QAAQF,qBAAAA,+BAAAA,QAAU,CAAC,CAAC,aAAa,EAAEE,MAAM,cAAc,EAAED,aAAa,CAAC,GAAGG,uBAA1EF,kBAAAA,OACDF,qBAAAA,+BAAAA,QAAU,CAAC,CAAC,aAAa,EAAEC,aAAa,CAAC;IAE7C,IAAIE,CAAAA,kBAAAA,4BAAAA,MAAOE,IAAI,KAAIF,MAAMG,QAAQ,EAAE;;QAC/B,gBAAON,qBAAAA,+BAAAA,QAAU,CAACG,MAAMG,QAAQ,CAAC,yCAAI,CAAC;IAC1C;IAEA,OAAOH,kBAAAA,mBAAAA,QAAS,CAAC;AACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache-config.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/cache-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,uBAAuB,CAAC,GAAG,SAAS,CAAC;AAIjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,CAkB3E"}
1
+ {"version":3,"file":"cache-config.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/cache-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7C,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,uBAAuB,CAAC,GAAG,SAAS,CAAC;AAIjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,CAkB3E"}
@@ -8,21 +8,14 @@ Object.defineProperty(exports, "cacheConfig", {
8
8
  return cacheConfig;
9
9
  }
10
10
  });
11
- const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
11
  const _utils = require("../../utils");
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
12
  const CACHE_VERSION = '1';
20
13
  function cacheConfig(context, _overrides) {
21
14
  const { emitExposedDependencies } = context;
22
15
  if (!emitExposedDependencies) {
23
16
  return;
24
17
  }
25
- const packageLock = findPackageLock();
18
+ const packageLock = (0, _utils.findPackageLock)();
26
19
  const cache = {
27
20
  type: 'filesystem',
28
21
  version: CACHE_VERSION,
@@ -42,11 +35,5 @@ function cacheConfig(context, _overrides) {
42
35
  }
43
36
  };
44
37
  }
45
- function findPackageLock() {
46
- return (0, _utils.findUp)((directory)=>{
47
- const lockFile = _path.default.resolve(_path.default.join(directory), 'package-lock.json');
48
- return _fs.default.existsSync(lockFile) ? lockFile : undefined;
49
- });
50
- }
51
38
 
52
39
  //# sourceMappingURL=cache-config.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webpack/configs/cache-config.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { Configuration } from 'webpack';\nimport { findUp } from '../../utils';\nimport { Context, Overrides } from './types';\n\ntype Config = Configuration['cache'];\ntype Result = Pick<Configuration, 'cache' | 'infrastructureLogging'> | undefined;\n\nconst CACHE_VERSION = '1';\n\nexport function cacheConfig(context: Context, _overrides: Overrides): Result {\n const { emitExposedDependencies } = context;\n if (!emitExposedDependencies) {\n return;\n }\n\n const packageLock = findPackageLock();\n const cache: Config = {\n type: 'filesystem',\n version: CACHE_VERSION,\n ...(packageLock ? { buildDependencies: { packageLock: [packageLock] } } : {}),\n };\n\n return {\n cache,\n // Suppress \"Serializing big strings impacts deserialization performance\" warnings\n infrastructureLogging: { level: 'error' },\n };\n}\n\nfunction findPackageLock() {\n return findUp(directory => {\n const lockFile = path.resolve(path.join(directory), 'package-lock.json');\n return fs.existsSync(lockFile) ? lockFile : undefined;\n });\n}\n"],"names":["cacheConfig","CACHE_VERSION","context","_overrides","emitExposedDependencies","packageLock","findPackageLock","cache","type","version","buildDependencies","infrastructureLogging","level","findUp","directory","lockFile","path","resolve","join","fs","existsSync","undefined"],"mappings":";;;;+BAWgBA;;;eAAAA;;;2DAXD;6DACE;uBAEM;;;;;;AAMvB,MAAMC,gBAAgB;AAEf,SAASD,YAAYE,OAAgB,EAAEC,UAAqB;IAC/D,MAAM,EAAEC,uBAAuB,EAAE,GAAGF;IACpC,IAAI,CAACE,yBAAyB;QAC1B;IACJ;IAEA,MAAMC,cAAcC;IACpB,MAAMC,QAAgB;QAClBC,MAAM;QACNC,SAASR;QACT,GAAII,cAAc;YAAEK,mBAAmB;gBAAEL,aAAa;oBAACA;iBAAY;YAAC;QAAE,IAAI,CAAC,CAAC;IAChF;IAEA,OAAO;QACHE;QACA,kFAAkF;QAClFI,uBAAuB;YAAEC,OAAO;QAAQ;IAC5C;AACJ;AAEA,SAASN;IACL,OAAOO,IAAAA,aAAM,EAACC,CAAAA;QACV,MAAMC,WAAWC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACE,IAAI,CAACJ,YAAY;QACpD,OAAOK,WAAE,CAACC,UAAU,CAACL,YAAYA,WAAWM;IAChD;AACJ"}
1
+ {"version":3,"sources":["../../../src/webpack/configs/cache-config.ts"],"sourcesContent":["import { Configuration } from 'webpack';\nimport { findPackageLock } from '../../utils';\nimport { Context, Overrides } from './types';\n\ntype Config = Configuration['cache'];\ntype Result = Pick<Configuration, 'cache' | 'infrastructureLogging'> | undefined;\n\nconst CACHE_VERSION = '1';\n\nexport function cacheConfig(context: Context, _overrides: Overrides): Result {\n const { emitExposedDependencies } = context;\n if (!emitExposedDependencies) {\n return;\n }\n\n const packageLock = findPackageLock();\n const cache: Config = {\n type: 'filesystem',\n version: CACHE_VERSION,\n ...(packageLock ? { buildDependencies: { packageLock: [packageLock] } } : {}),\n };\n\n return {\n cache,\n // Suppress \"Serializing big strings impacts deserialization performance\" warnings\n infrastructureLogging: { level: 'error' },\n };\n}\n"],"names":["cacheConfig","CACHE_VERSION","context","_overrides","emitExposedDependencies","packageLock","findPackageLock","cache","type","version","buildDependencies","infrastructureLogging","level"],"mappings":";;;;+BASgBA;;;eAAAA;;;uBARgB;AAMhC,MAAMC,gBAAgB;AAEf,SAASD,YAAYE,OAAgB,EAAEC,UAAqB;IAC/D,MAAM,EAAEC,uBAAuB,EAAE,GAAGF;IACpC,IAAI,CAACE,yBAAyB;QAC1B;IACJ;IAEA,MAAMC,cAAcC,IAAAA,sBAAe;IACnC,MAAMC,QAAgB;QAClBC,MAAM;QACNC,SAASR;QACT,GAAII,cAAc;YAAEK,mBAAmB;gBAAEL,aAAa;oBAACA;iBAAY;YAAC;QAAE,IAAI,CAAC,CAAC;IAChF;IAEA,OAAO;QACHE;QACA,kFAAkF;QAClFI,uBAAuB;YAAEC,OAAO;QAAQ;IAC5C;AACJ"}
@@ -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":"AAGA,wBAAgB,yBAAyB,uBAWxC"}
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"}
@@ -8,19 +8,9 @@ Object.defineProperty(exports, "getLaunchDarklySdkVersion", {
8
8
  return getLaunchDarklySdkVersion;
9
9
  }
10
10
  });
11
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
11
  const _utils = require("../../../utils");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
12
  function getLaunchDarklySdkVersion() {
19
- try {
20
- return (0, _utils.readJson)(_path.default.join(_path.default.dirname(require.resolve('launchdarkly-js-client-sdk')), '../package.json')).version;
21
- } catch (unused) {
22
- // ignore
23
- }
13
+ return (0, _utils.getPackageVersion)('launchdarkly-js-client-sdk');
24
14
  }
25
15
 
26
16
  //# sourceMappingURL=get-launchdarkly-sdk-version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"sourcesContent":["import path from 'path';\nimport { readJson } from '../../../utils';\n\nexport function getLaunchDarklySdkVersion() {\n try {\n return readJson<{ version: string }>(\n path.join(\n path.dirname(require.resolve('launchdarkly-js-client-sdk')),\n '../package.json'\n )\n ).version;\n } catch {\n // ignore\n }\n}\n"],"names":["getLaunchDarklySdkVersion","readJson","path","join","dirname","require","resolve","version"],"mappings":";;;;+BAGgBA;;;eAAAA;;;6DAHC;uBACQ;;;;;;AAElB,SAASA;IACZ,IAAI;QACA,OAAOC,IAAAA,eAAQ,EACXC,aAAI,CAACC,IAAI,CACLD,aAAI,CAACE,OAAO,CAACC,QAAQC,OAAO,CAAC,gCAC7B,oBAENC,OAAO;IACb,EAAE,eAAM;IACJ,SAAS;IACb;AACJ"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"sourcesContent":["import { getPackageVersion } from '../../../utils';\n\nexport function getLaunchDarklySdkVersion() {\n return getPackageVersion('launchdarkly-js-client-sdk');\n}\n"],"names":["getLaunchDarklySdkVersion","getPackageVersion"],"mappings":";;;;+BAEgBA;;;eAAAA;;;uBAFkB;AAE3B,SAASA;IACZ,OAAOC,IAAAA,wBAAiB,EAAC;AAC7B"}
@@ -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":"AAGA,wBAAgB,uBAAuB,WAItC"}
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"}
@@ -8,15 +8,13 @@ Object.defineProperty(exports, "getWebComponentsVersion", {
8
8
  return getWebComponentsVersion;
9
9
  }
10
10
  });
11
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
11
  const _utils = require("../../../utils");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
12
  function getWebComponentsVersion() {
19
- return (0, _utils.readJson)(_path.default.join(_path.default.dirname(require.resolve('@servicetitan/web-components')), '../package.json')).version;
13
+ const version = (0, _utils.getPackageVersion)('@servicetitan/web-components');
14
+ if (!version) {
15
+ throw new Error('Unable to resolve @servicetitan/web-components version from package-lock.json');
16
+ }
17
+ return version;
20
18
  }
21
19
 
22
20
  //# sourceMappingURL=get-web-components-version.js.map